@charset 'utf-8';
body {
  min-width: 1000px;
}
#title {
  position: relative;
}
#title .key-visual {
  line-height: 0;
}
#title .key-visual img {
  width: 100%;
}
#title .text-wrap {
  position: absolute;
  left: 57.5%;
  top: calc(50% - 206px);
}
#title p.sub-title {
  background-color: #4d4d4d;
  text-align: center;
  color: #fff;
  font-size: 24px;
  font-size: 1.825vw;
  padding: 0.5em;
}
#title p.title {
  background-color: #ef6f04;
  text-align: center;
  color: #fff;
  font-size: 40px;
  font-size: 3.05vw;
  padding: 0 0.5em;
}
#title p.desc {
  font-size: 18px;
  font-size: 1.375vw;
  color: #000;
  text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff;
  line-height: 1.4;
  padding-top: 5%;
}
section#purpose {
  background: -webkit-linear-gradient(top left, #ff9326, #ff6400);
  background: -moz-linear-gradient(top left, #ff9326, #ff6400);
  background: -o-linear-gradient(top left, #ff9326, #ff6400);
  background: -ms-linear-gradient(top left, #ff9326, #ff6400);
  background: linear-gradient(to bottom right, #ff9326, #ff6400);
  padding-bottom: 20px;
}
section#purpose p.title {
  color: #fff;
  text-align: center;
  font-size: 30px;
  padding: 50px 0;
}
section#purpose ul.purposes {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 980px;
  margin: 0 auto;
}
section#purpose ul.purposes li {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  width: 48.5%;
  margin-bottom: 30px;
  background-color: #fff;
}
section#purpose ul.purposes p.label {
  line-height: 0;
  padding: 1.5em;
}
section#purpose ul.purposes p.text {
  width: 70%;
  font-size: 18px;
  text-align: center;
}
section#topics {
  width: 100%;
  margin: 0 auto;
  padding: 50px 0 100px;
}
section#topics p.title {
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  margin-bottom: 10px;
}
section#topics ul.topics {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -o-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
section#topics ul.topics li {
  width: 32.5%;
}
section#topics ul.topics img {
  width: 100%;
}
section#app {
  background-color: #f4f4f4;
}
section#app .content-wrap {
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 980px;
  margin: 0 auto;
  padding: 50px 0 150px;
}
section#app p,
section#app li,
section#app a {
  font-size: 18px;
}
section#app p.title {
  width: 100%;
  font-size: 36px;
  font-weight: bold;
  color: #ef6f04;
}
section#app p.desc {
  width: 100%;
  padding-bottom: 2.5em;
}
section#app p.label-feature {
  width: 11%;
}
section#app ul.features li {
  line-height: 2;
}
section#app a.button {
  position: absolute;
  bottom: 70px;
  left: 100px;
  line-height: 3;
  display: block;
  width: 330px;
  background-color: #ef6f04;
  text-decoration: none;
  color: #fff;
  text-align: center;
}
section#app p.image {
  position: absolute;
  right: 0;
  bottom: 70px;
}
