@charset "UTF-8";
/*==================================================================================================
    サイト基礎
==================================================================================================*/
/*==================================================================================================
    main
==================================================================================================*/
.top-main {
  background: url(../img/top/main_bg.png) no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}
.top-main__ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
  width: 78.125%;
  max-width: 1500px;
}
@media screen and (max-width: 768px) {
  .top-main__ttl {
    width: 90%;
  }
}
.top-main .swiper-container {
  width: 100%;
  overflow: hidden;
  height: 90vh;
}
@media screen and (min-width: 1081px) {
  .top-main .swiper-container {
    max-height: 900px;
  }
}
@media screen and (max-width: 768px) {
  .top-main .swiper-container {
    max-height: 600px;
    height: 80vh;
  }
}
.top-main .swiper-container .swiper-wrapper .swiper-slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.sec-about {
  padding: 3.125em 20px;
  text-align: center;
  background: #FFFFFF;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(255, 255, 255)), to(rgb(240, 240, 240)));
  background: -webkit-linear-gradient(top, rgb(255, 255, 255) 0%, rgb(240, 240, 240) 100%);
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(240, 240, 240) 100%);
}
.sec-about__ttl {
  font-family: "Crimson Text", serif;
  font-weight: 600;
  font-size: 2.25em;
  margin-bottom: 1em;
}
.sec-about__logo {
  max-width: 350px;
  margin: 0 auto 3em;
  width: 50%;
}
.sec-about__txt {
  line-height: 2.25;
  font-weight: 500;
  margin-top: 2em;
}
.sec-about__img {
  max-width: 1070px;
  margin: 3em auto 0;
  width: 55.7291666667%;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sec-about__img {
    width: 100%;
  }
}
.sec-about__link {
  font-size: 1.125em;
  display: inline-block;
  margin-top: 3em;
  font-weight: bold;
}
.sec-about__link:after {
  content: "";
  display: inline-block;
  width: 0.8611111111em;
  height: 0.5em;
  background: url(../img/common/arrow_d.svg) no-repeat;
  background-size: 100% auto;
  margin-left: 0.75em;
  vertical-align: middle;
}

.sec-shop {
  background: url(../img/top/shop_bg.png) no-repeat;
  background-size: cover;
  background-position: center;
  padding: 6.25em 20px;
  text-align: center;
}
.sec-shop__ttl {
  max-width: 1330px;
  margin: 0 auto 4em;
  width: 69.2708333333%;
}
@media screen and (max-width: 768px) {
  .sec-shop__ttl {
    width: 90%;
  }
}
.sec-shop__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 49.125em;
  margin: 0 auto;
}
.sec-shop__ul li {
  width: 7.3548387097em;
  height: 7.3548387097em;
  border: 1px solid #000;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.9375em;
  line-height: 1.1935483871;
  border-radius: 50em;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .sec-shop__ul li {
    font-size: 1.4375em;
  }
}
.sec-shop__txt {
  margin-top: 3em;
  font-size: 0.875em;
}

.sec-trial {
  background: url(../img/top/trial_bg.png) no-repeat;
  background-size: cover;
  background-position: left bottom;
  padding: 6.25em 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sec-trial {
    padding: 3.125em 0;
  }
}
.sec-trial__ttl {
  max-width: 1228px;
  margin: 0 auto;
  width: 63.9583333333%;
}
@media screen and (max-width: 768px) {
  .sec-trial__ttl {
    width: 90%;
  }
}

.sec-camp {
  padding: 3.125em 20px;
}
.sec-camp figure {
  max-width: 1100px;
  margin: 0 auto 3em;
  width: 57.2916666667%;
}
@media screen and (max-width: 768px) {
  .sec-camp figure {
    width: 100%;
  }
}
.sec-camp__note {
  font-size: 0.875em;
  text-align: center;
  margin-bottom: 3em;
  line-height: 2;
}

.sec-entry {
  background: #181510 url(../img/top/entry_bg.png) no-repeat;
  background-position: center;
  background-size: cover;
  text-align: center;
  padding: 1.875em 0;
}
.sec-entry__txt {
  color: #FFF;
  font-weight: bold;
  font-size: 1.625em;
}
.sec-entry__txt span {
  color: #a28f4e;
}
.sec-entry__btn {
  display: block;
  width: 36.25em;
  margin: 0.5em auto;
}
@media screen and (max-width: 768px) {
  .sec-entry__btn {
    width: 300px;
  }
}

.sec-cs {
  background: #eee7e4;
  padding: 3.125em 20px;
}
.sec-cs figure {
  max-width: 1228px;
  margin: 0 auto;
  width: 63.9583333333%;
}
@media screen and (max-width: 768px) {
  .sec-cs figure {
    width: 100%;
  }
}

.sec {
  padding: 6.25em 0 0 0;
}
.sec__ttl {
  margin-bottom: 3em;
  margin-left: 8.75em;
}
@media screen and (max-width: 768px) {
  .sec__ttl {
    margin-left: 10px;
  }
}
.sec__ttl img {
  height: 22.5em;
  width: auto;
}
@media screen and (max-width: 768px) {
  .sec__ttl img {
    height: 15em;
  }
}
.sec__txt {
  font-size: 1.75em;
  margin-left: 6.7857142857em;
  line-height: 1.8214285714;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .sec__txt {
    margin-left: 20px;
    margin-right: 20px;
    font-size: 1.5em;
  }
}
.sec__txt span {
  position: relative;
  z-index: 1;
}
.sec__txt span:after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0.1em;
  width: 100%;
  height: 0.4em;
  background: #cec5b6;
}
.sec__read {
  font-size: 1.0625em;
  margin-left: 11.1764705882em;
  margin-top: 2em;
}
@media screen and (max-width: 768px) {
  .sec__read {
    margin-left: 20px;
    margin-right: 20px;
  }
}
.sec.--01 {
  background: url(../img/top/sec01_bg.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
}
.sec.--02 {
  background: url(../img/top/sec02_bg.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
}

.sec-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-bottom: 5em;
  padding-top: 5em;
  border-top: 1px solid #000;
}
@media screen and (max-width: 768px) {
  .sec-cont {
    padding-bottom: 6em;
    padding-top: 3em;
  }
}
.sec-cont#golf {
  background: url(../img/top/golf_bg.png) no-repeat;
  background-size: 64.8958333333% auto;
  background-position: top 20% left;
}
@media screen and (max-width: 768px) {
  .sec-cont#golf {
    background-position: top 8% left;
  }
}
.sec-cont#race {
  background: url(../img/top/race_bg.png) no-repeat;
  background-size: 64.8958333333% auto;
  background-position: top 80% left;
}
@media screen and (max-width: 768px) {
  .sec-cont#race {
    background-position: top 30% left;
  }
}
.sec-cont#sauna {
  background: url(../img/top/sauna_bg.png) no-repeat;
  background-size: 64.8958333333% auto;
  background-position: bottom left;
}
@media screen and (max-width: 768px) {
  .sec-cont#sauna {
    background-position: top 5% left;
  }
}
.sec-cont#hydrogen {
  background-image: url(../img/top/hydrogen_bg.png);
  background-repeat: no-repeat;
  background-size: 64.8958333333% auto;
  background-position: bottom left;
}
.sec-cont.--wide {
  display: block;
  padding-left: 20px;
  padding-right: 20px;
}
.sec-cont.--wide .sec-cont__ttl {
  text-align: center;
}
.sec-cont.--wide .sec-cont__ttl .en {
  font-size: 4.6875em;
}
.sec-cont.--wide .sec-cont__ttl .jp {
  font-size: 4em;
}
.sec-cont__info {
  margin-top: 2%;
  width: 41.7708333333%;
  padding: 0 3.7406483791% 0 6.2344139651%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec-cont__info {
    width: 100%;
    margin-bottom: 2em;
  }
}
.sec-cont__reserve {
  position: absolute;
  right: 10%;
  width: 15.710723192%;
  -webkit-transform: translate(0, -10%);
          transform: translate(0, -10%);
}
@media screen and (max-width: 768px) {
  .sec-cont__reserve {
    right: 6%;
  }
}
.sec-cont > figure, .sec-cont__main {
  width: 58.2291666667%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .sec-cont > figure, .sec-cont__main {
    width: 100%;
  }
}
.sec-cont > figure__txt, .sec-cont__main__txt {
  text-align: center;
  margin-top: 1.5em;
  font-size: 1.75em;
  margin-bottom: 0.5em;
  font-weight: bold;
  padding-right: 3em;
}
@media screen and (max-width: 768px) {
  .sec-cont > figure__txt, .sec-cont__main__txt {
    padding: 0 2em;
  }
}
.sec-cont > figure__list, .sec-cont__main__list {
  padding-right: 3em;
}
@media screen and (max-width: 768px) {
  .sec-cont > figure__list, .sec-cont__main__list {
    padding: 0 2em;
  }
}
.sec-cont > figure .sub, .sec-cont__main .sub {
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transform: translate(-50%, 20%);
          transform: translate(-50%, 20%);
  width: 24.4404655327%;
}
@media screen and (max-width: 768px) {
  .sec-cont > figure .sub, .sec-cont__main .sub {
    -webkit-transform: translate(10%, 20%);
            transform: translate(10%, 20%);
  }
}
.sec-cont__imgs {
  width: 58.2291666667%;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .sec-cont__imgs {
    width: 100%;
  }
}
.sec-cont__imgs__fas {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .sec-cont__imgs__fas {
    width: 100%;
  }
}
.sec-cont__imgs__fas__ttl {
  font-size: 1.5em;
  padding: 0 0.8333333333em;
  font-weight: 600;
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin-top: 1.25em;
}
.sec-cont__imgs__fas__txt {
  font-size: 1.0625em;
  padding: 0 1.1764705882em;
  margin-top: 1.7647058824em;
}
@media screen and (max-width: 768px) {
  .sec-cont__imgs__fas__txt {
    margin-bottom: 1.7647058824em;
  }
}
.sec-cont__ttl {
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .sec-cont__ttl {
    font-size: 0.75em;
  }
}
.sec-cont__ttl .fa {
  font-size: 1.25em;
  color: #FFF;
  background: #9e005d;
  display: inline-block;
  padding: 0.1em 1.5em;
  border-radius: 50em;
  margin-bottom: 0.5em;
}
.sec-cont__ttl .en {
  font-size: 5.25em;
  font-family: "Crimson Text", serif;
  font-weight: 400;
  color: #ae9f86;
  display: block;
  line-height: 1;
  letter-spacing: -0.05em;
}
.sec-cont__ttl .jp {
  font-size: 2.5em;
  font-family: "Zen Old Mincho", serif;
  display: block;
  line-height: 1.4;
  letter-spacing: -0.1em;
}
.sec-cont__area {
  padding: 2em 3em;
  font-family: "Zen Old Mincho", serif;
  border: 1px solid #ae9f86;
}
.sec-cont__area__ttl {
  text-align: center;
  font-size: 1.5em;
  font-weight: 600;
  margin-bottom: 1em;
}
.sec-cont__area__subttl {
  font-weight: bold;
  font-size: 1.25em;
  color: #ae9f86;
  border-bottom: 1px solid #ae9f86;
  padding-bottom: 0.25em;
  margin-bottom: 0.25em;
  margin-top: 1em;
}
.sec-cont__area__ul {
  list-style-type: disc;
  margin-left: 1.5em;
  font-size: 1.125em;
}
.sec-cont__area__txt {
  font-size: 1.125em;
}
.sec-cont__area2 {
  padding: 1.5em;
  font-family: "Zen Old Mincho", serif;
  border: 1px solid #ae9f86;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.sec-cont__area2 figure {
  width: 8.0625em;
  margin-right: 1.5em;
}
.sec-cont__area2__cont {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.sec-cont__area2__ttl {
  font-size: 1.5em;
  font-weight: 600;
  margin-bottom: 0.5em;
}
.sec-cont .sec__txt {
  margin-left: 0;
  margin-bottom: 1em;
}
.sec-cont .sec__read {
  margin-left: 0;
  max-width: 500px;
  margin-bottom: 2em;
}
.sec-cont .sec__read.short {
  padding-right: 12%;
}

.sec-cont-gym {
  padding: 3.125em 20px;
}
@media screen and (max-width: 768px) {
  .sec-cont-gym {
    padding-top: 0;
  }
}
.sec-cont-gym__logo {
  max-width: 1275px;
  margin: 0 auto;
  width: 67.8191489362%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 480px) {
  .sec-cont-gym__logo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sec-cont-gym__logo li {
  width: 25%;
  padding: 2%;
}
@media screen and (max-width: 768px) {
  .sec-cont-gym__logo li {
    width: auto;
    padding: 5%;
  }
}
.sec-cont-gym__logo li img {
  max-height: 10em;
}
@media screen and (max-width: 768px) {
  .sec-cont-gym__logo li img {
    max-width: 20.625em;
  }
}
@media screen and (max-width: 768px) {
  .sec-cont-gym__logo {
    width: 100%;
  }
}
.sec-cont-gym__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1420px;
  margin: 0 auto;
  width: 75.5319148936%;
}
@media screen and (max-width: 768px) {
  .sec-cont-gym__ul {
    width: 100%;
  }
}
.sec-cont-gym__ul li {
  width: 46.4788732394%;
  position: relative;
  margin-top: 6.25em;
}
@media screen and (max-width: 768px) {
  .sec-cont-gym__ul li {
    width: 100%;
  }
}
.sec-cont-gym__ul li:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  width: 1px;
  height: 3.875em;
  background: #000;
}
.sec-cont-gym__name {
  text-align: center;
  margin-bottom: 2em;
}
.sec-cont-gym__name .en {
  display: block;
  font-size: 2.625em;
  font-family: "Crimson Text", serif;
  line-height: 1.4;
  font-weight: 600;
}
.sec-cont-gym__name .jp {
  display: block;
  font-size: 1.5em;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.4;
}
.sec-cont-gym__txt {
  margin-top: 1.5em;
  font-size: 1.0625em;
}

.sec-cont-mv {
  text-align: center;
  margin-top: 5em;
  margin-bottom: 5em;
  padding: 0 20px;
  width: 100%;
}
.sec-cont-mv video,
.sec-cont-mv img {
  max-width: 1000px;
  width: 52.0833333333%;
  margin: 0 auto;
  border: 1px solid #ae9f86;
}
@media screen and (max-width: 768px) {
  .sec-cont-mv video,
  .sec-cont-mv img {
    width: 100%;
  }
}
.sec-cont-mv__txt {
  font-size: 2.5em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .sec-cont-mv__txt {
    font-size: 1.875em;
  }
}
.sec-cont-mv__note {
  max-width: 1000px;
  width: 52.0833333333%;
  margin: 2em auto 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .sec-cont-mv__note {
    width: 100%;
  }
}

.sec-cont-golf {
  padding: 0 20px;
  margin-bottom: 5em;
  width: 100%;
}
.sec-cont-golf__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1420px;
  margin: 0 auto;
  width: 75.5319148936%;
}
@media screen and (max-width: 768px) {
  .sec-cont-golf__ul {
    width: 100%;
  }
}
.sec-cont-golf__ul li {
  width: 46.4788732394%;
  position: relative;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .sec-cont-golf__ul li {
    width: 100%;
  }
}
.sec-cont-golf__name {
  text-align: center;
  margin-bottom: 2em;
}
.sec-cont-golf__name .en {
  display: block;
  font-size: 2.625em;
  font-family: "Crimson Text", serif;
  line-height: 1.4;
  font-weight: 600;
}
.sec-cont-golf__name .jp {
  display: block;
  font-size: 1.5em;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.4;
}
.sec-cont-golf__txt {
  margin-top: 1.5em;
  font-size: 1.0625em;
}
.sec-cont-golf__img {
  max-width: 1133px;
  margin: 0 auto;
  width: 60.2659574468%;
}
@media screen and (max-width: 768px) {
  .sec-cont-golf__img {
    width: 100%;
  }
}
.sec-cont-golf__note {
  text-align: center;
  margin-top: 3em;
}

.sec-cont-sauna {
  padding: 0 20px;
  width: 100%;
  margin-top: 5em;
}
.sec-cont-sauna__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1420px;
  margin: 0 auto;
  width: 75.5319148936%;
}
@media screen and (max-width: 768px) {
  .sec-cont-sauna__ul {
    width: 100%;
  }
}
.sec-cont-sauna__ul.--3 li {
  width: 30.985915493%;
}
@media screen and (max-width: 768px) {
  .sec-cont-sauna__ul.--3 li {
    width: 100%;
  }
}
.sec-cont-sauna__ul li {
  width: 46.4788732394%;
  position: relative;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .sec-cont-sauna__ul li {
    width: 100%;
  }
}
.sec-cont-sauna__ul li h5 {
  font-size: 1.625em;
  font-weight: 600;
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin: 0.5em 0;
}
.sec-cont-sauna__ul li .txt {
  font-size: 1.0625em;
}
.sec-cont-sauna__ul li .note {
  font-size: 0.875em;
  margin-top: 1em;
}
.sec-cont-sauna__name {
  text-align: center;
  margin-bottom: 3em;
}
.sec-cont-sauna__name .jp {
  display: block;
  font-size: 2.5em;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .sec-cont-sauna__name .jp {
    font-size: 1.875em;
  }
}
.sec-cont-sauna__txt {
  margin-top: 1.5em;
  font-size: 1.0625em;
}
.sec-cont-sauna__img {
  max-width: 1133px;
  margin: 0 auto;
  width: 60.2659574468%;
}
@media screen and (max-width: 768px) {
  .sec-cont-sauna__img {
    width: 100%;
  }
}
.sec-cont-sauna__note {
  text-align: center;
  margin-top: 3em;
}

.sec-cont-whitening {
  padding: 0 20px;
  width: 100%;
  margin-top: 5em;
}
.sec-cont-whitening__img {
  max-width: 1420px;
  margin: 0 auto;
  width: 75.5319148936%;
  display: block;
}
@media screen and (max-width: 768px) {
  .sec-cont-whitening__img {
    width: 100%;
  }
}
.sec-cont-whitening__name {
  text-align: center;
  margin-bottom: 3em;
}
.sec-cont-whitening__name .jp {
  display: block;
  font-size: 2.5em;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .sec-cont-whitening__name .jp {
    font-size: 1.875em;
  }
}

.sec-cont-esthe {
  padding: 0 20px;
  width: 100%;
  margin-top: 5em;
}
.sec-cont-esthe .sec-cont-mv {
  margin: 0;
  padding: 0;
}
.sec-cont-esthe__img {
  display: block;
  margin: 0 -20px 0;
}
.sec-cont-esthe__name {
  text-align: center;
  margin-bottom: 3em;
}
.sec-cont-esthe__name .jp {
  display: block;
  font-size: 2.5em;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .sec-cont-esthe__name .jp {
    font-size: 1.875em;
  }
}
.sec-cont-esthe__name .sub {
  font-size: 1.375em;
  font-family: "Zen Old Mincho", serif;
  margin-top: 0.5em;
  display: block;
}
@media screen and (max-width: 768px) {
  .sec-cont-esthe__name .sub {
    font-size: 1.125em;
  }
}
.sec-cont-esthe__img2 {
  max-width: 1420px;
  margin: 0 auto;
  width: 75.5319148936%;
  display: block;
}
@media screen and (max-width: 768px) {
  .sec-cont-esthe__img2 {
    width: 100%;
  }
}

.sec-cont-esthe2 {
  padding: 0 20px;
  width: 100%;
  max-width: 1420px;
  margin: 5em auto 0;
  width: 75.5319148936%;
  position: relative;
  display: block;
}
@media screen and (max-width: 768px) {
  .sec-cont-esthe2 {
    width: 100%;
  }
}
.sec-cont-esthe2__ttl {
  font-size: 2.5em;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.4;
  margin-bottom: 1em;
  padding-right: 28.1690140845%;
}
@media screen and (max-width: 768px) {
  .sec-cont-esthe2__ttl {
    font-size: 1.875em;
  }
}
.sec-cont-esthe2__ul {
  padding-right: 28.1690140845%;
}
.sec-cont-esthe2__ul li {
  font-size: 1.0625em;
  text-indent: -1.7647058824em;
  margin-left: 1.7647058824em;
}
.sec-cont-esthe2__ul li + li {
  margin-top: 0.75em;
}
.sec-cont-esthe2__ul li:before {
  content: "";
  background: url(../img/common/ico_check.svg) no-repeat;
  width: 0.8823529412em;
  height: 0.6em;
  display: inline-block;
  margin-right: 0.5em;
}
.sec-cont-esthe2__img {
  position: absolute;
  top: 0;
  right: 0;
  width: 30.985915493%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sec-cont-esthe2__img {
    right: 20px;
    width: 21.1267605634%;
  }
}
.sec-cont-esthe2__img img {
  width: 35.4545454545%;
}
@media screen and (max-width: 768px) {
  .sec-cont-esthe2__img img {
    width: 100%;
  }
}

.sec-cont-area {
  padding: 1em 2em;
  font-size: 1.0625em;
  line-height: 2;
  border: 1px dotted #000;
  max-width: 1420px;
  width: 75.5319148936%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec-cont-area {
    width: 100%;
  }
}

.sec-cont-hydrogen {
  padding: 3.125em 20px 0;
  max-width: 1420px;
  width: 75.5319148936%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec-cont-hydrogen {
    width: 100%;
  }
}

.sec-cont-protein {
  padding: 3.125em 20px 0;
  max-width: 1420px;
  width: 75.5319148936%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec-cont-protein {
    width: 100%;
  }
}

.sec-cont-security__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1420px;
  margin: 0 auto;
  width: 75.5319148936%;
}
@media screen and (max-width: 768px) {
  .sec-cont-security__ul {
    width: 100%;
  }
}
.sec-cont-security__ul li {
  width: 46.4788732394%;
  position: relative;
  margin-bottom: 3.75em;
}
@media screen and (max-width: 768px) {
  .sec-cont-security__ul li {
    width: 100%;
  }
}
.sec-cont-security__name {
  text-align: center;
  margin-bottom: 2em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}
.sec-cont-security__name .en {
  display: block;
  font-size: 1.25em;
  line-height: 1.4;
  margin-bottom: 0.5em;
}
.sec-cont-security__name .jp {
  display: block;
  font-size: 1.625em;
  line-height: 1.4;
}
.sec-cont-security__txt {
  margin-top: 1.5em;
  font-size: 1.0625em;
  line-height: 1.8823529412;
}

.sec-price {
  background: #d3d0ca;
  padding: 5em 20px;
}
.sec-price__ttl {
  text-align: center;
  font-size: 4.6875em;
  font-weight: 400;
  font-family: "Crimson Text", serif;
  margin-bottom: 0.25em;
}
.sec-price__bdy {
  max-width: 1280px;
  width: 68.085106383%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec-price__bdy {
    width: 100%;
  }
}
.sec-price__cont {
  background: #FFF;
  padding: 1em 3em;
  margin-top: 2em;
}
.sec-price__cont > *:first-child {
  margin-top: 0;
}
.sec-price__cont.--gre {
  background: #9dc938;
  color: #FFF;
  margin-top: 0;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.sec-price__cont.--gre dd {
  font-size: 3em;
}
.sec-price__cont__ttl {
  text-align: center;
  font-family: "Crimson Text", serif;
  color: #ae9f86;
  font-weight: 400;
  font-size: 3em;
}
.sec-price__dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  margin-top: 1.5em;
}
@media screen and (max-width: 768px) {
  .sec-price__dl {
    display: block;
  }
}
.sec-price__dl dt {
  font-size: 1.75em;
}
.sec-price__dl dt span {
  display: block;
  font-size: 0.6428571429em;
  margin-top: 0.25em;
}
.sec-price__dl dd {
  font-size: 2.25em;
}
.sec-price__dl dd span {
  font-size: 0.6666666667em;
}
.sec-price__aco {
  margin-top: 3em;
  background: #FFF;
}
.sec-price__aco__head {
  background: #000;
  padding: 0 1em;
  line-height: 2.9411764706em;
  font-weight: 600;
  color: #FFF;
  font-family: "Zen Old Mincho", serif;
  position: relative;
  font-size: 2.125em;
  cursor: pointer;
}
.sec-price__aco__head:after {
  content: "";
  background: url(../img/top/aco_plus.svg) no-repeat;
  background-size: 100% auto;
  width: 2.9411764706em;
  height: 2.9411764706em;
  position: absolute;
  top: 0;
  right: 0;
}
.sec-price__aco__head.active:after {
  background-image: url(../img/top/aco_minus.svg);
}
.sec-price__aco__body {
  display: none;
  padding: 3em 5em;
}
.sec-price__aco__body.active {
  display: block;
}
@media screen and (max-width: 768px) {
  .sec-price__aco__body {
    padding: 2em;
  }
}
.sec-price__aco__body .flow-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 0;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  .sec-price__aco__body .flow-area {
    display: block;
  }
}
.sec-price__aco__body .flow-area figure {
  width: 14.75em;
  margin-right: 2em;
}
@media screen and (max-width: 768px) {
  .sec-price__aco__body .flow-area figure {
    margin: 0 auto 2em;
  }
}
.sec-price__aco__body .flow-area__ttl {
  width: 27.1875em;
  margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
  .sec-price__aco__body .flow-area__ttl {
    margin: 0 auto 2em;
  }
}
.sec-price__aco__body .flow-area__txt {
  font-size: 1.5em;
  line-height: 2;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: -0.05em;
}
.sec-price__aco__body .flow-area__note {
  margin-top: 1em;
  font-family: "Zen Old Mincho", serif;
}
.sec-price__aco__body .flow-dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5em;
  position: relative;
}
.sec-price__aco__body .flow-dl:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 3.0625em;
  height: 1.625em;
  background: url(../img/top/flow_arrow.svg) no-repeat;
  background-size: 100% auto;
  margin-top: 1.5em;
}
.sec-price__aco__body .flow-dl dt {
  font-family: "Montserrat", serif;
  font-size: 1.5em;
  color: #ae9f86;
  font-weight: 600;
  width: 8em;
}
@media screen and (max-width: 768px) {
  .sec-price__aco__body .flow-dl dt {
    width: 6em;
  }
}
.sec-price__aco__body .flow-dl dd {
  font-size: 1.5em;
  font-weight: bold;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.sec-price__aco__body .flow-comp {
  text-align: center;
}
.sec-price__aco__body .flow-comp__en {
  font-size: 3.4375em;
  font-weight: bold;
  font-family: "Montserrat", serif;
  color: #ae9f86;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .sec-price__aco__body .flow-comp__en {
    font-size: 2.5em;
  }
}
.sec-price__aco__body .flow-comp__jp {
  font-size: 4.5em;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .sec-price__aco__body .flow-comp__jp {
    font-size: 3.75em;
  }
}
.sec-price__aco__body .faq-dl:not(:first-child) {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px dotted #000;
}
.sec-price__aco__body .faq-dl dt {
  font-size: 1.25em;
  padding: 0 0 0.5em 2.5em;
  width: auto;
  position: relative;
  font-weight: bold;
  cursor: pointer;
}
.sec-price__aco__body .faq-dl dt:before {
  content: "Q";
  font-family: "Montserrat", serif;
  color: #ae9f86;
  font-weight: 700;
  font-size: 1.5em;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}

.sec03-slider {
  margin: 0 -20px;
}
.sec03-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.sec03-ul {
  margin-top: 3em;
}
.sec03-ul__ico {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.sec03-ul__ico > img {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50em;
  width: 13.4375vw;
  height: 13.4375vw;
}
@media screen and (max-width: 768px) {
  .sec03-ul__ico > img {
    width: 25.8vw;
    height: 25.8vw;
  }
}
.sec03-ul__ico__link {
  opacity: 0;
  position: absolute;
  border-radius: 50em;
  overflow: hidden;
  top: 5%;
  left: 5%;
  bottom: 5%;
  right: 5%;
  width: 90%;
  height: 90%;
}
.sec03-ul__ico__link img {
  height: 100%;
}
.sec03-ul__ico__link:hover {
  opacity: 1;
}
.sec03-ul__ico__link:hover img {
  opacity: 1;
}
.sec03-ul__ttl {
  margin-top: 1em;
  font-size: 1.125em;
}

.sec01-ul {
  margin-top: 3em;
  margin-bottom: 5em;
  text-align: center;
}
.sec01-ul__ttl {
  margin: 0.5em 0 0.5em;
  padding-bottom: 0.25em;
  font-size: 1.875em;
  position: relative;
  font-family: "Zen Old Mincho", serif;
}
.sec01-ul__ttl:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1.4em;
  height: 1px;
  background: #000;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.sec01-ul__txt {
  font-size: 1.0625em;
}

.sec02-slider {
  margin-top: 3em;
  margin-bottom: 5em;
}
.sec02-slider .swiper-slide {
  height: auto;
}

.sec02-ul {
  text-align: center;
  border: 1px solid #ae9f86;
  padding: 2em;
  background: rgba(255, 255, 255, 0.3);
  height: 100%;
}
.sec02-ul__ico {
  text-align: center;
}
.sec02-ul__ico > img {
  width: 3.75em;
  height: 3.75em;
}
.sec02-ul__ttl {
  margin: 1em 0;
  font-size: 1.5em;
  line-height: 1.4;
  position: relative;
  font-family: "Zen Old Mincho", serif;
}
.sec02-ul__txt {
  font-size: 0.875em;
}

.sec-cont-aero {
  padding: 0 20px;
  width: 100%;
  margin-top: 5em;
}
.sec-cont-aero__ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  max-width: 1420px;
  margin: 0 auto;
  width: 75.5319148936%;
}
@media screen and (max-width: 768px) {
  .sec-cont-aero__ul {
    width: 100%;
  }
}
.sec-cont-aero__ul > li {
  width: 49.2957746479%;
  position: relative;
  margin-bottom: 3em;
  border: 1px solid #ae9f86;
  padding: 1.5em;
}
@media screen and (max-width: 768px) {
  .sec-cont-aero__ul > li {
    width: 100%;
  }
}
.sec-cont-aero__ul > li ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.sec-cont-aero__ul > li ul li {
  width: 33.333%;
  margin-top: 0.5em;
}
.sec-cont-aero__ul > li h5 {
  font-size: 1.5em;
  color: #ae9f86;
  font-weight: 600;
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin: 0 0 0.5em;
}
.sec-cont-aero__ul > li .sec__txt {
  text-align: center;
  margin-top: 1em;
}
.sec-cont-aero__name {
  text-align: center;
  margin-bottom: 3em;
}
.sec-cont-aero__name .jp {
  display: block;
  font-size: 2.5em;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .sec-cont-aero__name .jp {
    font-size: 1.875em;
  }
}
.sec-cont-aero__txt {
  margin-top: 1.5em;
  font-size: 1.0625em;
}
.sec-cont-aero__img {
  max-width: 1133px;
  margin: 0 auto;
  width: 60.2659574468%;
}
@media screen and (max-width: 768px) {
  .sec-cont-aero__img {
    width: 100%;
  }
}
.sec-cont-aero__note {
  text-align: center;
  margin-top: 3em;
}