@charset "UTF-8";
/*
Theme Name: salonlecoco
Theme URI: 
Description: 
Author: salonlecoco
Author URI: 
Version: 202111
*/
@font-face {
  font-family: "Open Sans";
  font-weight: 400;
  font-style: normal;
  font-stretch: 100%;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/opensans/v26/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu0SC55K5gw.woff2) format("woff2");
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

* {
  width: 100%;
  height: auto;
  font-family: "Open Sans", "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro";
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0;
  font-weight: normal;
  word-break: break-all;
  color: #594f3d;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

*::before, *::after {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  color: inherit;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

* > span, * > b, * > a, * > strong, * > u, * > em, * > sup, * > sub, * > mark {
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  color: inherit;
}

html, body {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

body {
  overflow-x: hidden;
}

body.active {
  overflow: hidden !important;
}

img {
  border: none;
  display: block;
}

a {
  text-decoration: none;
  display: block;
  outline: none;
}

li {
  list-style-type: none;
}

input[type="button"], input[type="text"], input[type="submit"], input[type="image"], textarea {
  outline: none;
}

.cfix:after {
  content: "";
  display: block;
  clear: both;
}

.hidden {
  overflow: hidden !important;
}

#is-loading {
  width: 100%;
  height: 100%;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
}

#is-loading > #loading {
  width: 100%;
  max-width: 88px;
  height: auto;
  text-align: center;
  color: #fff;
  margin-top: -44px;
  margin-left: -44px;
  position: fixed;
  top: 50%;
  left: 50%;
}

@media only screen and (max-width: 767px) {
  #is-loading > #loading {
    width: 50%;
    max-width: 120px;
    height: auto;
    margin-top: -60px;
    margin-left: -60px;
  }
}

#is-loading > #loading > img {
  width: 100%;
  height: auto;
  display: block;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

header.active {
  height: 100%;
}

header > .wrapper {
  z-index: 0;
}

header > .wrapper.active {
  height: 100%;
}

header > .wrapper > nav {
  height: 100%;
  display: none;
  overflow-y: auto;
}

header > .wrapper > nav > .gnav {
  background: #594f3d;
}

header > .wrapper > nav > .gnav + .gnav {
  border-top: 1px solid #fff;
}

header > .wrapper > nav > .gnav > li {
  font-size: 12px;
  letter-spacing: .2em;
  text-align: center;
  color: #fff;
  padding: 1em 1em;
}

header > .wrapper > nav > .gnav > li + li {
  border-top: 1px solid #fff;
}

header > .wrapper > nav > .gnav > li > a {
  max-width: 300px;
  margin: 0 auto;
  padding: .5em;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

header > .wrapper > nav > .gnav > li > a span {
  display: block;
}

header > .wrapper > nav > .gnav > li > a span.ja {
  letter-spacing: .2em;
  margin: .5em auto 0;
}

header > .wrapper > nav > .gnav > li > a span.en > img {
  max-width: 250px;
  height: auto;
  margin: 0 auto;
}

header > .wrapper > nav > .gnav > li > a:hover {
  background: rgba(0, 0, 0, 0.2);
}

header > .wrapper > nav > .gnav > li.info {
  font-size: 14px;
  letter-spacing: .1em;
}

header > .wrapper > nav > .gnav > li.info > a {
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  color: #4c4948;
  background: rgba(255, 255, 255, 0.8);
  display: block;
  margin: .5em auto 0;
  padding: .5em;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

header > .wrapper > nav > .gnav > li.info > a:hover {
  color: #fff;
  background: rgba(0, 0, 0, 0.2);
}

#nav-toggle, #nav-toggle span {
  z-index: 1;
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  -moz-transition: all .4s;
  transition: all .4s;
}

#nav-toggle {
  content: "";
  width: 26px;
  height: 22px;
  position: absolute;
  top: 1em;
  right: 13.5%;
  cursor: pointer;
}

@media only screen and (max-width: 767px) {
  #nav-toggle {
    right: 1em;
  }
}

#nav-toggle > span {
  width: 100%;
  height: 4px;
  background: #fff;
  -webkit-box-shadow: 0 0 5px 2px #e4eff6;
     -moz-box-shadow: 0 0 5px 2px #e4eff6;
          box-shadow: 0 0 5px 2px #e4eff6;
  position: absolute;
  left: 50%;
  left: 0;
}

#nav-toggle > span:nth-of-type(1) {
  top: 0;
}

#nav-toggle > span:nth-of-type(2) {
  top: 9px;
}

#nav-toggle > span:nth-of-type(3) {
  bottom: 0;
}

#nav-toggle.top > span {
  -webkit-box-shadow: 0 0 5px 2px #f6d5e3;
     -moz-box-shadow: 0 0 5px 2px #f6d5e3;
          box-shadow: 0 0 5px 2px #f6d5e3;
}

#nav-toggle.active > span {
  -webkit-box-shadow: 0 0 5px 2px #594f3d;
     -moz-box-shadow: 0 0 5px 2px #594f3d;
          box-shadow: 0 0 5px 2px #594f3d;
}

#nav-toggle.active > span:nth-of-type(1) {
  -webkit-transform: translateX(0) translateY(9px) rotate(-45deg);
     -moz-transform: translateX(0) translateY(9px) rotate(-45deg);
      -ms-transform: translateX(0) translateY(9px) rotate(-45deg);
       -o-transform: translateX(0) translateY(9px) rotate(-45deg);
          transform: translateX(0) translateY(9px) rotate(-45deg);
}

#nav-toggle.active > span:nth-of-type(2) {
  opacity: 0;
}

#nav-toggle.active > span:nth-of-type(3) {
  -webkit-transform: translateX(0) translateY(-9px) rotate(45deg);
     -moz-transform: translateX(0) translateY(-9px) rotate(45deg);
      -ms-transform: translateX(0) translateY(-9px) rotate(45deg);
       -o-transform: translateX(0) translateY(-9px) rotate(45deg);
          transform: translateX(0) translateY(-9px) rotate(45deg);
}

#overlay {
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.mv {
  overflow: hidden;
}

.mv.top {
  background: #f6d5e3;
}

.mv.top > .mv-img-wrap::before {
  padding-top: 43%;
}

.mv.under {
  background: #fff;
}

.mv.under > .mv-img-wrap::before {
  padding-top: 32%;
}

@media only screen and (max-width: 767px) {
  .mv.under > .mv-img-wrap::before {
    padding-top: 40%;
  }
}

.mv.under > .mv-img-wrap > span {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
}

@media only screen and (max-width: 767px) {
  .mv.under > .mv-img-wrap > span {
    padding: 1em;
  }
}

.mv.under > .mv-img-wrap > span img {
  max-width: 476px;
  display: block;
}

.mv > .mv-img-wrap {
  padding: 1em;
  position: relative;
}

.mv > .mv-img-wrap::before {
  content: "";
  width: 100%;
  display: block;
  padding-top: 45.0666%;
}

.mv > .mv-img-wrap > img {
  display: block;
  margin-top: auto;
  margin-right: auto;
  margin-bottom: auto;
  margin-left: auto;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}

@media only screen and (max-width: 1023px) {
  main > section:first-child {
    margin-top: -11vw !important;
  }
}

main > section.concept {
  background: #f6d5e3;
  margin-top: -8vw;
  padding: 8vw 1em;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.concept {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em 100px;
  }
}

main > section.concept > .flex {
  max-width: 1100px;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 4vw 0 0;
}

@media all and (-ms-high-contrast: none) {
  main > section.concept > .flex {
    /*For MS*/
    padding: 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.concept > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}

main > section.concept > .flex > .section-title {
  max-width: 30%;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.concept > .flex > .section-title {
    max-width: 300px;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  main > section.concept > .flex > .section-title {
    max-width: 150px;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.concept > .flex > .content {
    margin-top: 70px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.concept > .flex > .content {
    margin-top: 1.5em;
  }
}

main > section.concept > .flex > .content > .catch-wrap > .catch {
  max-width: 425px;
  font-family: "Noto Serif JP", serif;
  font-size: 29px;
  letter-spacing: .1em;
}

@media only screen and (max-width: 767px) {
  main > section.concept > .flex > .content > .catch-wrap > .catch {
    font-size: 20px;
  }
}

main > section.concept > .flex > .content > .catch-wrap > .catch > span {
  display: block;
}

main > section.concept > .flex > .content > .catch-wrap > .catch > span.right {
  font-size: 24px;
  text-align: right;
}

@media only screen and (max-width: 767px) {
  main > section.concept > .flex > .content > .catch-wrap > .catch > span.right {
    font-size: 20px;
  }
}

main > section.concept > .flex > .content > .detail > p {
  font-family: "Noto Serif JP", serif;
  letter-spacing: .1em;
}

main > section.concept > .flex > .content > .detail > p.title {
  font-size: 24px;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.concept > .flex > .content > .detail > p.title {
    font-size: 20px;
  }
}

main > section.concept > .flex > .content > .detail > p.text {
  font-size: 20px;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.concept > .flex > .content > .detail > p.text {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.concept > .flex > .content > .detail > p.text > br {
    display: none;
  }
}

main > section.concept > .flex > .content > .detail > p.text + .text {
  margin-top: 2em;
}

main > section.concept > .flex > .content > .detail > p.name {
  font-size: 26px;
  margin-top: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.concept > .flex > .content > .detail > p.name {
    font-size: 20px;
  }
}

main > section.profile {
  background: url(./assets/img/top_profile_bg_img_1x.jpg) no-repeat center;
  -moz-background-size: cover;
    -o-background-size: cover;
       background-size: cover;
  margin-top: -8vw;
  padding: 8vw 1em 0;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.profile {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em 0;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2 / 1), (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 2dppx) {
  main > section.profile {
    /*For Retina*/
    background: url(./assets/img/top_profile_bg_img_2x.jpg) no-repeat center;
    -moz-background-size: cover;
      -o-background-size: cover;
         background-size: cover;
  }
}

main > section.profile > .flex {
  max-width: 1100px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 8vw 0 0;
  position: relative;
}

@media all and (-ms-high-contrast: none) {
  main > section.profile > .flex {
    /*For MS*/
    padding: 70px 0 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.profile > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}

main > section.profile > .flex > .title-img-area {
  max-width: 525px;
}

@media only screen and (max-width: 1023px) {
  main > section.profile > .flex > .title-img-area {
    max-width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: row-reverse;
       -moz-box-orient: horizontal;
       -moz-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
  }
}

main > section.profile > .flex > .title-img-area > .section-title {
  max-width: 330px;
}

@media only screen and (max-width: 1023px) {
  main > section.profile > .flex > .title-img-area > .section-title {
    margin-top: 10vw;
  }
}

@media only screen and (max-width: 767px) {
  main > section.profile > .flex > .title-img-area > .section-title {
    margin-top: 1em;
  }
}

main > section.profile > .flex > .title-img-area > .absl-img-area {
  max-width: 420px;
  margin-top: 70px;
}

@media only screen and (max-width: 1023px) {
  main > section.profile > .flex > .title-img-area > .absl-img-area {
    margin-top: auto;
  }
}

main > section.profile > .flex > .content {
  max-width: 580px;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.profile > .flex > .content {
    max-width: 100%;
    background: white;
    margin: -35vw auto 0;
    padding: 10vw 10vw 15vw;
    position: relative;
  }
}

main > section.profile > .flex > .content > .profile-wrap p {
  font-size: 16px;
}

@media only screen and (max-width: 767px) {
  main > section.profile > .flex > .content > .profile-wrap p {
    font-size: 13px;
  }
}

main > section.profile > .flex > .content > .detail {
  margin-top: 3em;
}

main > section.profile > .flex > .content > .detail > .catch {
  font-size: 19px;
}

@media only screen and (max-width: 767px) {
  main > section.profile > .flex > .content > .detail > .catch {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.profile > .flex > .content > .detail > .catch > br {
    display: none;
  }
}

main > section.profile > .flex > .content > .detail > .text {
  font-size: 16px;
  margin-top: 2em;
}

@media only screen and (max-width: 767px) {
  main > section.profile > .flex > .content > .detail > .text {
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.profile > .flex > .content > .detail > .text > br {
    display: none;
  }
}

main > section.profile > .flex > .content > .detail > .point {
  font-size: 18px;
  margin-top: 2em;
}

@media only screen and (max-width: 767px) {
  main > section.profile > .flex > .content > .detail > .point {
    font-size: 16px;
  }
}

main > section.profile > .flex > .content > .detail > .end {
  font-size: 16px;
  margin-top: 2em;
}

@media only screen and (max-width: 767px) {
  main > section.profile > .flex > .content > .detail > .end {
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.profile > .flex > .content > .detail > .end > br {
    display: none;
  }
}

main > section.charmme-beau {
  background: #e4eff6;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em 0 0;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.charmme-beau {
    /*For MS*/
    margin-top: 0;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2 / 1), (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 2dppx) {
  main > section.charmme-beau {
    /*For Retina*/
    background: #e4eff6;
    -moz-background-size: 100%;
      -o-background-size: 100%;
         background-size: 100%;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau {
    padding: 0 1em;
  }
}

main > section.charmme-beau > .flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto;
  position: relative;
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: column-reverse;
       -moz-box-orient: vertical;
       -moz-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
    padding: 15vw 0;
  }
}

main > section.charmme-beau > .flex > .img-area {
  max-width: 530px;
  margin-top: 4vw;
}

@media all and (-ms-high-contrast: none) {
  main > section.charmme-beau > .flex > .img-area {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.charmme-beau > .flex > .content {
  max-width: 705px;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau > .flex > .content {
    margin: 0 auto;
  }
}

main > section.charmme-beau > .flex > .content > .course {
  max-width: 210px;
}

main > section.charmme-beau > .flex > .content > .name {
  font-family: "Noto Serif JP", serif;
  font-size: 23px;
  letter-spacing: .3em;
  font-weight: 300;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau > .flex > .content > .name {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau > .flex > .content > .name {
    font-size: 20px;
  }
}

main > section.charmme-beau > .flex > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 25px;
  margin-top: .5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau > .flex > .content > .title {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau > .flex > .content > .title {
    font-size: 20px;
  }
}

main > section.charmme-beau > .flex > .content > .title > span {
  font-size: 37px;
  display: inline-block;
  margin-top: .3em;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau > .flex > .content > .title > span {
    font-size: 20px;
  }
}

main > section.charmme-beau > .flex > .content > .text {
  font-family: "Noto Serif JP", serif;
  font-size: 19px;
  line-height: 1.8em;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau > .flex > .content > .text {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau > .flex > .content > .text {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau > .flex > .content > .text > br {
    display: none;
  }
}

main > section.charmme-beau > .flex > .content > .btn-area {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
     -moz-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 50px;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau > .flex > .content > .btn-area {
    padding-left: 0;
  }
}

main > section.charmme-beau > .flex > .content > .btn-area > .btn {
  max-width: 320px;
  font-size: 17px;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau > .flex > .content > .btn-area > .btn {
    max-width: 100%;
    font-size: 16px;
  }
}

main > section.blog-insta {
  background: #f6d5e3;
  margin-top: -8vw;
  padding: 8vw 1em;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.blog-insta {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em 100px;
  }
}

main > section.blog-insta > .inner {
  padding: 4vw 0;
}

@media all and (-ms-high-contrast: none) {
  main > section.blog-insta > .inner {
    /*For MS*/
    padding: 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.blog-insta > .inner {
    padding: 10vw 0;
  }
}

main > section.blog-insta > .inner > .title {
  font-size: 17px;
  letter-spacing: .1em;
  text-align: center;
}

main > section.blog-insta > .inner > .btn-area {
  max-width: 640px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 40px auto 0;
}

@media only screen and (max-width: 767px) {
  main > section.blog-insta > .inner > .btn-area {
    display: block;
  }
}

main > section.blog-insta > .inner > .btn-area > .btn {
  max-width: 280px;
  font-family: "Jost", sans-serif;
  font-size: 19px;
  text-align: center;
  padding: .5em 1em;
}

@media only screen and (max-width: 767px) {
  main > section.blog-insta > .inner > .btn-area > .btn {
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  main > section.blog-insta > .inner > .btn-area > .btn + .btn {
    margin-top: 1em;
  }
}

main > section.blog-insta > .inner > .btn-area > .btn > img {
  max-width: 144px;
  margin: 0 auto;
}

main > section.link-area {
  background: #f6d5e3;
  margin-top: -8vw;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.link-area {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.link-area > .flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto;
  position: relative;
}

@media only screen and (max-width: 1023px) {
  main > section.link-area > .flex {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.link-area > .flex > a {
    width: 50%;
    margin-top: 0 !important;
  }
}

@media only screen and (max-width: 767px) {
  main > section.link-area > .flex > a {
    width: 100%;
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
}

@media only screen and (max-width: 767px) {
  main > section.link-area > .flex > a::before {
    content: "";
    display: block;
    padding-top: 60%;
  }
}

main > section.link-area > .flex > a > img {
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

@media only screen and (max-width: 767px) {
  main > section.link-area > .flex > a > img {
    margin-top: -75vw;
    margin-right: auto;
    margin-bottom: auto;
    margin-left: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}

main > section.link-area > .flex > a:nth-child(1) {
  margin-top: 0;
}

@media all and (-ms-high-contrast: none) {
  main > section.link-area > .flex > a:nth-child(1) {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.link-area > .flex > a:nth-child(2) {
  margin-top: -4vw;
}

@media all and (-ms-high-contrast: none) {
  main > section.link-area > .flex > a:nth-child(2) {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.link-area > .flex > a:nth-child(3) {
  margin-top: -8vw;
}

@media all and (-ms-high-contrast: none) {
  main > section.link-area > .flex > a:nth-child(3) {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.link-area > .flex > a:nth-child(4) {
  margin-top: -12vw;
}

@media all and (-ms-high-contrast: none) {
  main > section.link-area > .flex > a:nth-child(4) {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.link-area > .flex > a:hover {
  z-index: 1;
}

main > section.link-area > .flex > a:hover > img {
  -webkit-transform: scale(1.1);
     -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
       -o-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}

main > section.about-us {
  background: #fff;
  margin-top: -8vw;
  padding: 6vw 1em 3vw;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.about-us {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em 100px;
  }
}

main > section.about-us > .flex {
  max-width: 770px;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 4vw 0 0;
}

@media all and (-ms-high-contrast: none) {
  main > section.about-us > .flex {
    /*For MS*/
    padding: 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.about-us > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    padding: 10vw 0 0;
  }
}

main > section.about-us > .flex > .section-title {
  max-width: 226px;
}

main > section.about-us > .flex > .content {
  max-width: 385px;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.about-us > .flex > .content {
    margin: 10vw auto;
  }
}

@media only screen and (max-width: 767px) {
  main > section.about-us > .flex > .content > .about-us-logo {
    max-width: 250px;
    margin: 0 auto;
  }
}

main > section.about-us > .flex > .content > .icon-tel {
  width: auto;
  display: inline-block;
  margin-top: 1.5em;
  padding: .2em .5em .3em 1.5em;
  position: relative;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  main > section.about-us > .flex > .content > .icon-tel {
    width: 200px;
    display: block;
    margin: 1.5em auto;
  }
}

main > section.about-us > .flex > .content > .icon-tel > span {
  font-family: "Noto Serif JP", serif;
  font-size: 29px;
  line-height: 1;
  letter-spacing: .1em;
  font-weight: 500;
  color: #4c4948;
  margin-left: .2em;
  position: relative;
  z-index: 1;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

@media only screen and (max-width: 767px) {
  main > section.about-us > .flex > .content > .icon-tel > span {
    font-size: 20px;
  }
}

main > section.about-us > .flex > .content > .icon-tel::after {
  content: "";
  width: 15px;
  height: 20px;
  background: url(./assets/img/icon_tel_brown.svg) no-repeat center;
  -moz-background-size: contain;
    -o-background-size: contain;
       background-size: contain;
  display: block;
  margin-top: -10px;
  position: absolute;
  top: 50%;
  left: .5em;
  z-index: 1;
}

main > section.about-us > .flex > .content > .icon-tel::before {
  content: "";
  width: 0;
  height: 100%;
  background: #4c4948;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

main > section.about-us > .flex > .content > .icon-tel:hover > span {
  color: #fff;
}

main > section.about-us > .flex > .content > .icon-tel:hover::after {
  background: url(./assets/img/icon_tel_white.svg) no-repeat center;
  -moz-background-size: contain;
    -o-background-size: contain;
       background-size: contain;
}

main > section.about-us > .flex > .content > .icon-tel:hover::before {
  width: 100%;
}

main > section.about-us > .flex > .content > table {
  margin-top: 1em;
}

main > section.about-us > .flex > .content > table tr > th, main > section.about-us > .flex > .content > table tr td {
  width: auto;
  font-size: 15px;
  text-align: left;
}

@media only screen and (max-width: 767px) {
  main > section.about-us > .flex > .content > table tr > th, main > section.about-us > .flex > .content > table tr td {
    font-size: 14px;
  }
}

main > section.about-us > .flex > .content > table tr > td {
  padding-left: .5em;
}

main > section.about-us > .flex > .content > table tr > td.link {
  padding-top: 0;
  padding-left: 0;
}

main > section.about-us > .flex > .content > table tr > td.link > a {
  width: auto;
  display: inline-block;
  padding: .3em .5em;
  position: relative;
}

main > section.about-us > .flex > .content > table tr > td.link > a > span {
  position: relative;
  z-index: 1;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

main > section.about-us > .flex > .content > table tr > td.link > a::before {
  content: "";
  width: 0;
  height: 100%;
  background: #594f3d;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

main > section.about-us > .flex > .content > table tr > td.link > a:hover > span {
  color: #fff;
}

main > section.about-us > .flex > .content > table tr > td.link > a:hover::before {
  width: 100%;
}

main > section.about-us > .flex > .content > table tr + tr th, main > section.about-us > .flex > .content > table tr + tr td {
  padding-top: .3em;
}

main > section.contact {
  background: #f6d5e3;
  padding: 0 1em 1vw;
}

@media all and (-ms-high-contrast: none) {
  main > section.contact {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em 100px;
  }
}

main > section.contact > .inner {
  padding: 4vw 0;
}

@media all and (-ms-high-contrast: none) {
  main > section.contact > .inner {
    /*For MS*/
    padding: 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.contact > .inner {
    padding: 15vw 0 4vw;
  }
}

main > section.contact > .inner > .title {
  max-width: 215px;
  margin: 0 auto;
}

main > section.contact > .inner > .description {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  text-align: center;
  color: #594f3d;
  margin-top: 1.5em;
}

@media only screen and (max-width: 767px) {
  main > section.contact > .inner > .description {
    font-size: 16px;
  }
}

main > section.contact > .inner > .btn-area {
  max-width: 1050px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 2em auto 0;
}

@media only screen and (max-width: 1023px) {
  main > section.contact > .inner > .btn-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
  }
}

main > section.contact > .inner > .btn-area > .text-btn {
  max-width: 322px;
}

@media only screen and (max-width: 1023px) {
  main > section.contact > .inner > .btn-area > .text-btn {
    margin: 0 auto;
  }
}

main > section.contact > .inner > .btn-area > .text-btn + .text-btn {
  margin-left: .5em;
}

@media only screen and (max-width: 1023px) {
  main > section.contact > .inner > .btn-area > .text-btn + .text-btn {
    margin: 1em auto 0;
  }
}

main > section.contact > .inner > .btn-area > .text-btn.num > a {
  font-size: 22px;
  letter-spacing: .1em;
}

@media only screen and (max-width: 767px) {
  main > section.contact > .inner > .btn-area > .text-btn.num > a {
    font-size: 16px;
  }
}

main > section.contact > .inner > .btn-area > .text-btn.en > span {
  letter-spacing: .5em;
}

main > section.contact > .inner > .btn-area > .text-btn.en > a {
  font-size: 19px;
}

@media only screen and (max-width: 767px) {
  main > section.contact > .inner > .btn-area > .text-btn.en > a {
    font-size: 16px;
  }
}

main > section.contact > .inner > .btn-area > .text-btn > span {
  text-align: center;
  display: block;
}

main > section.contact > .inner > .btn-area > .text-btn > .btn {
  font-family: "Noto Serif JP", serif;
  font-size: 23px;
  text-align: center;
  color: #4c4948;
  margin-top: 16px;
  padding: .5em;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

@media only screen and (max-width: 767px) {
  main > section.contact > .inner > .btn-area > .text-btn > .btn {
    font-size: 16px;
  }
}

main > section.contact > .inner > .btn-area > .text-btn > .btn.white {
  background: #fff;
}

main > section.contact > .inner > .btn-area > .text-btn > .btn.white:hover {
  color: #fff;
  background: #594f3d;
}

main > section.beginner {
  background: #fff;
  margin-top: -8vw;
  padding: 8vw 1em 12vw;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.beginner {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em;
  }
}

main > section.beginner > .flex {
  max-width: 1100px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 8vw 0 0;
  position: relative;
}

@media all and (-ms-high-contrast: none) {
  main > section.beginner > .flex {
    /*For MS*/
    padding: 70px 0 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.beginner > .flex {
    display: block;
  }
}

main > section.beginner > .flex > .title-img-area {
  max-width: 525px;
}

@media only screen and (max-width: 1023px) {
  main > section.beginner > .flex > .title-img-area {
    margin: 0 auto;
  }
}

main > section.beginner > .flex > .title-img-area > .section-title {
  max-width: 330px;
}

@media only screen and (max-width: 1023px) {
  main > section.beginner > .flex > .title-img-area > .section-title {
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  main > section.beginner > .flex > .title-img-area > .section-title {
    max-width: 200px;
  }
}

main > section.beginner > .flex > .title-img-area > .absl-img-area {
  max-width: 420px;
  margin-top: 70px;
}

@media only screen and (max-width: 1023px) {
  main > section.beginner > .flex > .title-img-area > .absl-img-area {
    margin: 70px auto 0;
  }
}

main > section.beginner > .flex > .content {
  max-width: 580px;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.beginner > .flex > .content {
    margin: 70px auto;
  }
}

main > section.beginner > .flex > .content > .title-wrap .title {
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
}

@media only screen and (max-width: 767px) {
  main > section.beginner > .flex > .content > .title-wrap .title {
    font-size: 20px;
  }
}

main > section.beginner > .flex > .content > .detail {
  margin-top: 3em;
}

main > section.beginner > .flex > .content > .detail > .title {
  max-width: 200px;
  text-align: center;
  display: inline-block;
  padding: .5em 1em;
}

main > section.beginner > .flex > .content > .detail > .title.fill-brown {
  font-size: 18px;
  color: #fff;
  background: #594f3d;
}

@media only screen and (max-width: 767px) {
  main > section.beginner > .flex > .content > .detail > .title.fill-brown {
    font-size: 16px;
  }
}

main > section.beginner > .flex > .content > .detail > .title.bdr-brown {
  font-size: 15px;
  border: 1px solid #594f3d;
  margin-top: 4em;
}

@media only screen and (max-width: 767px) {
  main > section.beginner > .flex > .content > .detail > .title.bdr-brown {
    font-size: 13px;
  }
}

main > section.beginner > .flex > .content > .detail > .link {
  max-width: 325px;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  display: inline-block;
  margin-top: 1em;
  padding: .5em 1em;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

main > section.beginner > .flex > .content > .detail > .link.fill-blue {
  background: #e4eff6;
}

main > section.beginner > .flex > .content > .detail > .link.fill-blue:hover {
  color: #fff;
  background: #7fcdff;
}

main > section.beginner > .flex > .content > .detail > .link.en {
  font-size: 21px;
}

@media only screen and (max-width: 767px) {
  main > section.beginner > .flex > .content > .detail > .link.en {
    font-size: 16px;
  }
}

main > section.beginner > .flex > .content > .detail > .link.num {
  font-size: 23px;
  letter-spacing: .1em;
}

@media only screen and (max-width: 767px) {
  main > section.beginner > .flex > .content > .detail > .link.num {
    font-size: 16px;
  }
}

main > section.beginner > .flex > .content > .detail > .link + .text {
  margin-top: 2em;
}

main > section.beginner > .flex > .content > .detail > .text {
  font-size: 15px;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.beginner > .flex > .content > .detail > .text {
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.beginner > .flex > .content > .detail > .text > br {
    display: none;
  }
}

main > section.beginner > .flex > .content > .detail > .text + .text {
  margin-top: 2em;
}

main > section.payment {
  background: #e4eff6;
  margin-top: -8vw;
  padding: 8vw 1em;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.payment {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.payment > .wrap {
  padding: 4vw 0;
}

@media only screen and (max-width: 767px) {
  main > section.payment > .wrap {
    padding: 10vw 0;
  }
}

main > section.payment > .wrap > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 27px;
  letter-spacing: .1em;
  font-weight: 600;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  main > section.payment > .wrap > .title {
    font-size: 20px;
  }
}

main > section.payment > .wrap > .text {
  font-size: 15px;
  text-align: center;
  margin-top: 2em;
}

@media only screen and (max-width: 767px) {
  main > section.payment > .wrap > .text {
    font-size: 13px;
    text-align: left;
  }
}

main > section.payment > .wrap > .catch {
  font-family: "Noto Serif JP", serif;
  font-size: 21px;
  letter-spacing: .1em;
  font-weight: 600;
  text-align: center;
  margin-top: 4vw;
}

@media only screen and (max-width: 767px) {
  main > section.payment > .wrap > .catch {
    font-size: 16px;
    text-align: left;
  }
}

main > section.menu {
  background: #f6d5e3;
  margin-top: -8vw;
  padding: 8vw 1em;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.menu {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.menu > .wrap {
  padding: 4vw 0;
}

main > section.menu > .wrap > .title-img-area {
  max-width: 1100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
     -moz-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 0 auto;
}

main > section.menu > .wrap > .title-img-area > .section-title {
  max-width: 330px;
}

@media only screen and (max-width: 767px) {
  main > section.menu > .wrap > .title-img-area > .section-title {
    max-width: 200px;
  }
}

main > section.menu > .wrap > .content {
  max-width: 1100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
}

@media only screen and (max-width: 1023px) {
  main > section.menu > .wrap > .content {
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
  }
}

main > section.menu > .wrap > .content > .menu-list {
  width: 33%;
  max-width: 350px;
  margin-top: 2%;
  position: relative;
}

@media only screen and (max-width: 1023px) {
  main > section.menu > .wrap > .content > .menu-list {
    width: 50%;
    margin-top: 5%;
  }
}

@media only screen and (max-width: 767px) {
  main > section.menu > .wrap > .content > .menu-list {
    width: 100%;
    margin: 5% auto;
  }
}

main > section.menu > .wrap > .content > .menu-list::before {
  content: "";
  display: block;
  padding-top: 100%;
}

@media only screen and (max-width: 767px) {
  main > section.menu > .wrap > .content > .menu-list::before {
    padding-top: 70%;
  }
}

main > section.menu > .wrap > .content > .menu-list > a {
  height: 100%;
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

main > section.menu > .wrap > .content > .menu-list > a > span {
  line-height: 1;
  text-align: center;
  display: block;
  position: relative;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

main > section.menu > .wrap > .content > .menu-list > a > span.num {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 77px;
  font-weight: 600;
  color: #e99bbb;
}

@media only screen and (max-width: 767px) {
  main > section.menu > .wrap > .content > .menu-list > a > span.num {
    font-size: 50px;
  }
}

main > section.menu > .wrap > .content > .menu-list > a > span.title {
  font-family: "Noto Serif JP", serif;
  font-size: 33px;
  font-weight: 700;
  margin-top: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.menu > .wrap > .content > .menu-list > a > span.title {
    font-size: 25px;
  }
}

main > section.menu > .wrap > .content > .menu-list > a > span.description {
  font-size: 18px;
  line-height: 1.5;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.menu > .wrap > .content > .menu-list > a > span.description {
    font-size: 16px;
  }
}

main > section.menu > .wrap > .content > .menu-list > a::before {
  content: "";
  width: 100%;
  height: 0;
  background: #594f3d;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

main > section.menu > .wrap > .content > .menu-list > a:hover > span.title {
  color: #fff;
}

main > section.menu > .wrap > .content > .menu-list > a:hover > span.description {
  color: #fff;
}

main > section.menu > .wrap > .content > .menu-list > a:hover::before {
  height: 100%;
}

main > section.major {
  background: #fff;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em 0 0;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.major {
    /*For MS*/
    margin-top: 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.major {
    padding: 0 1em;
  }
}

main > section.major > .flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto;
  position: relative;
}

@media only screen and (max-width: 1023px) {
  main > section.major > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: column-reverse;
       -moz-box-orient: vertical;
       -moz-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
    padding: 15vw 0;
  }
}

main > section.major > .flex > .img-area {
  max-width: 530px;
  margin-top: 5vw;
}

@media all and (-ms-high-contrast: none) {
  main > section.major > .flex > .img-area {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.major > .flex > .content {
  max-width: 705px;
  margin-top: -6vw;
  margin-left: 5%;
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content {
    margin-left: auto;
  }
}

main > section.major > .flex > .content > .course {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 82px;
  line-height: 1;
  font-weight: 600;
  color: #e99bbb;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .course {
    font-size: 50px;
  }
}

main > section.major > .flex > .content > .course > img {
  max-width: 152px;
}

main > section.major > .flex > .content > .name {
  font-family: "Noto Serif JP", serif;
  font-size: 49px;
  line-height: 1;
  letter-spacing: .2em;
  font-weight: 600;
  margin-top: .5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.major > .flex > .content > .name {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .name {
    font-size: 20px;
    line-height: 1.5;
  }
}

main > section.major > .flex > .content > .name > span {
  width: auto;
  font-size: 24px;
  letter-spacing: .2em;
  display: inline-block;
  margin-left: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .name > span {
    font-size: 20px;
  }
}

main > section.major > .flex > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-weight: 600;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.major > .flex > .content > .title {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .title {
    font-size: 20px;
  }
}

main > section.major > .flex > .content > .title > span {
  font-size: 27px;
  line-height: 1.5;
  display: inline-block;
  margin-top: .3em;
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .title > span {
    font-size: 20px;
  }
}

main > section.major > .flex > .content > .price {
  margin-top: 1.5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.major > .flex > .content > .price {
    padding-left: 0;
  }
}

main > section.major > .flex > .content > .price > span {
  width: auto;
  display: inline-block;
}

main > section.major > .flex > .content > .price > span.time {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .price > span.time {
    font-size: 18px;
  }
}

main > section.major > .flex > .content > .price > span.num {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 46px;
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .price > span.num {
    font-size: 25px;
  }
}

main > section.major > .flex > .content > .price > span.yen {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 39px;
  margin-left: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .price > span.yen {
    font-size: 25px;
  }
}

main > section.major > .flex > .content > .text {
  font-size: 16px;
  line-height: 1.8em;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.major > .flex > .content > .text {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .text {
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .text > br {
    display: none;
  }
}

main > section.major > .flex > .content > .text > span {
  width: auto;
  letter-spacing: .1em;
  display: inline-block;
  margin-right: 1em;
}

main > section.major > .flex > .content > .text > span.ex {
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  main > section.major > .flex > .content > .text > span.ex {
    font-size: 13px;
  }
}

main > section.major-next {
  background: #e4eff6;
  margin-top: -8vw;
  padding: 8vw 1em 12vw;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.major-next {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em;
  }
}

main > section.major-next > .flex {
  max-width: 1100px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 4vw 0 0;
  position: relative;
}

@media all and (-ms-high-contrast: none) {
  main > section.major-next > .flex {
    /*For MS*/
    padding: 70px 0 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.major-next > .flex {
    display: block;
  }
}

main > section.major-next > .flex > .title-img-area {
  max-width: 525px;
}

@media only screen and (max-width: 1023px) {
  main > section.major-next > .flex > .title-img-area {
    margin: 0 auto;
  }
}

main > section.major-next > .flex > .title-img-area > .section-title {
  max-width: 330px;
}

@media only screen and (max-width: 1023px) {
  main > section.major-next > .flex > .title-img-area > .section-title {
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .flex > .title-img-area > .section-title {
    max-width: 200px;
  }
}

main > section.major-next > .flex > .title-img-area > .absl-img-area {
  max-width: 420px;
  margin-top: 70px;
}

@media only screen and (max-width: 1023px) {
  main > section.major-next > .flex > .title-img-area > .absl-img-area {
    margin: 70px auto 0;
  }
}

main > section.major-next > .flex > .content {
  max-width: 580px;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.major-next > .flex > .content {
    margin: 70px auto 0;
  }
}

main > section.major-next > .flex > .content > .catch {
  font-family: "Noto Serif JP", serif;
  font-size: 21px;
  font-weight: 600;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .flex > .content > .catch {
    font-size: 16px;
  }
}

main > section.major-next > .flex > .content > .catch + .text {
  margin-top: 2em;
}

main > section.major-next > .flex > .content > .text {
  font-size: 15px;
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .flex > .content > .text {
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .flex > .content > .text > br {
    display: none;
  }
}

main > section.major-next > .flex > .content > .text.bold {
  font-weight: 500;
}

main > section.major-next > .flex > .content > .text + .text {
  margin-top: 2em;
}

main > section.major-next > .home-care {
  margin-top: 4.75em;
}

main > section.major-next > .home-care > .title-description {
  text-align: center;
}

main > section.major-next > .home-care > .title-description > .title {
  max-width: 260px;
  margin: 0 auto;
}

main > section.major-next > .home-care > .title-description > .description {
  font-size: 15px;
  line-height: 1.5;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .home-care > .title-description > .description {
    font-size: 13px;
    text-align: left;
  }
}

main > section.major-next > .home-care > .title-description > .description > span {
  font-weight: 500;
  display: inline-block;
}

main > section.major-next > .home-care > .flex {
  max-width: 1100px;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 2em auto 0;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .home-care > .flex {
    display: block;
  }
}

main > section.major-next > .home-care > .flex > .item {
  width: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
     -moz-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: column-reverse;
     -moz-box-orient: vertical;
     -moz-box-direction: reverse;
      -ms-flex-flow: column-reverse;
          flex-flow: column-reverse;
  margin: 0 1em;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .home-care > .flex > .item + .item {
    margin-top: 1em;
  }
}

main > section.major-next > .home-care > .flex > .item > .title-price-area {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .home-care > .flex > .item > .title-price-area {
    text-align: left;
  }
}

main > section.major-next > .home-care > .flex > .item > .title-price-area > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  margin-top: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .home-care > .flex > .item > .title-price-area > .title {
    font-size: 16px;
  }
}

main > section.major-next > .home-care > .flex > .item > .title-price-area > .price {
  font-family: YuMincho, "Yu Mincho", serif;
  letter-spacing: .1em;
  margin-top: .5em;
}

main > section.major-next > .home-care > .flex > .item > .title-price-area > .price > span {
  width: auto;
  display: inline-block;
}

main > section.major-next > .home-care > .flex > .item > .title-price-area > .price > span.num {
  font-size: 35px;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .home-care > .flex > .item > .title-price-area > .price > span.num {
    font-size: 25px;
  }
}

main > section.major-next > .home-care > .flex > .item > .title-price-area > .price > span.yen {
  font-size: 33px;
  margin-left: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .home-care > .flex > .item > .title-price-area > .price > span.yen {
    font-size: 16px;
  }
}

main > section.major-next > .home-care > .flex > .item > .img-detail-area > img {
  max-width: 410px;
  margin: 0 auto;
}

main > section.major-next > .home-care > .flex > .item > .img-detail-area > .detail {
  font-size: 15px;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.major-next > .home-care > .flex > .item > .img-detail-area > .detail {
    font-size: 13px;
    text-align: left;
  }
}

main > section.poisoning-care {
  background: #fff;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em 0 0;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.poisoning-care {
    /*For MS*/
    margin-top: 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care {
    padding: 0 1em;
  }
}

main > section.poisoning-care > .flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto;
  position: relative;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: column-reverse;
       -moz-box-orient: vertical;
       -moz-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
    padding: 15vw 0;
  }
}

main > section.poisoning-care > .flex > .img-area {
  max-width: 530px;
  margin-top: 5vw;
}

@media all and (-ms-high-contrast: none) {
  main > section.poisoning-care > .flex > .img-area {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.poisoning-care > .flex > .content {
  max-width: 705px;
  margin-top: -6vw;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care > .flex > .content {
    margin: -6vw auto 0;
  }
}

main > section.poisoning-care > .flex > .content > .course {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 82px;
  line-height: 1;
  font-weight: 600;
  color: #e99bbb;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .course {
    font-size: 50px;
  }
}

main > section.poisoning-care > .flex > .content > .course > img {
  max-width: 152px;
}

main > section.poisoning-care > .flex > .content > .name {
  font-family: "Noto Serif JP", serif;
  font-size: 49px;
  line-height: 1;
  letter-spacing: .2em;
  font-weight: 600;
  margin-top: .5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care > .flex > .content > .name {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .name {
    font-size: 20px;
  }
}

main > section.poisoning-care > .flex > .content > .name > span {
  width: auto;
  font-size: 24px;
  letter-spacing: .2em;
  display: inline-block;
  margin-left: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .name > span {
    font-size: 20px;
  }
}

main > section.poisoning-care > .flex > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-weight: 600;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care > .flex > .content > .title {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .title {
    font-size: 20px;
  }
}

main > section.poisoning-care > .flex > .content > .title > span {
  font-size: 27px;
  line-height: 1.5;
  display: inline-block;
  margin-top: .3em;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .title > span {
    font-size: 20px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .title > span > br {
    display: none;
  }
}

main > section.poisoning-care > .flex > .content > .price {
  margin-top: 1.5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care > .flex > .content > .price {
    padding-left: 0;
  }
}

main > section.poisoning-care > .flex > .content > .price > span {
  width: auto;
  display: inline-block;
}

main > section.poisoning-care > .flex > .content > .price > span.time {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .price > span.time {
    font-size: 16px;
  }
}

main > section.poisoning-care > .flex > .content > .price > span.num {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 46px;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .price > span.num {
    font-size: 25px;
  }
}

main > section.poisoning-care > .flex > .content > .price > span.yen {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 39px;
  margin-left: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .price > span.yen {
    font-size: 25px;
  }
}

main > section.poisoning-care > .flex > .content > .text {
  font-size: 16px;
  line-height: 1.8em;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care > .flex > .content > .text {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .text {
    font-size: 13px;
  }
}

main > section.poisoning-care > .flex > .content > .text > span {
  width: auto;
  letter-spacing: .1em;
  display: inline-block;
  margin-right: 1em;
}

main > section.poisoning-care > .flex > .content > .text > span.ex {
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care > .flex > .content > .text > span.ex {
    font-size: 13px;
  }
}

main > section.poisoning-care-next {
  background: #e4eff6;
  margin-top: -8vw;
  padding: 8vw 1em 12vw;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.poisoning-care-next {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em;
  }
}

main > section.poisoning-care-next > .flex {
  max-width: 1100px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 4vw 0 0;
  position: relative;
}

@media all and (-ms-high-contrast: none) {
  main > section.poisoning-care-next > .flex {
    /*For MS*/
    padding: 70px 0 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care-next > .flex {
    display: block;
  }
}

main > section.poisoning-care-next > .flex > .title-img-area {
  max-width: 525px;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care-next > .flex > .title-img-area {
    margin: 0 auto;
  }
}

main > section.poisoning-care-next > .flex > .title-img-area > .section-title {
  max-width: 330px;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care-next > .flex > .title-img-area > .section-title {
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care-next > .flex > .title-img-area > .section-title {
    max-width: 200px;
  }
}

main > section.poisoning-care-next > .flex > .title-img-area > .absl-img-area {
  max-width: 420px;
  margin-top: 70px;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care-next > .flex > .title-img-area > .absl-img-area {
    margin: 70px auto 0;
  }
}

main > section.poisoning-care-next > .flex > .content {
  max-width: 580px;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.poisoning-care-next > .flex > .content {
    margin: 70px auto 0;
  }
}

main > section.poisoning-care-next > .flex > .content > .catch {
  font-family: "Noto Serif JP", serif;
  font-size: 21px;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care-next > .flex > .content > .catch {
    font-size: 20px;
  }
}

main > section.poisoning-care-next > .flex > .content > .catch + .text {
  margin-top: 2em;
}

main > section.poisoning-care-next > .flex > .content > .text {
  font-size: 15px;
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care-next > .flex > .content > .text {
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care-next > .flex > .content > .text > br {
    display: none;
  }
}

main > section.poisoning-care-next > .flex > .content > .text.bold {
  font-weight: 500;
}

main > section.poisoning-care-next > .flex > .content > .text + .text {
  margin-top: 2em;
}

main > section.poisoning-care-next > .flex > .content .steps {
  margin-top: 50px;
}

main > section.poisoning-care-next > .flex > .content .steps > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

main > section.poisoning-care-next > .flex > .content .steps > li + li {
  margin-top: .5em;
}

main > section.poisoning-care-next > .flex > .content .steps > li > span {
  font-size: 20px;
  text-align: center;
  padding: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.poisoning-care-next > .flex > .content .steps > li > span {
    font-size: 16px;
  }
}

main > section.poisoning-care-next > .flex > .content .steps > li::before {
  content: "";
  width: 100%;
  max-width: 128px;
  display: inline-block;
}

main > section.poisoning-care-next > .flex > .content .steps > li:nth-child(1) {
  background: #fff url(./assets/img/step_01.svg) no-repeat center left/contain;
}

main > section.poisoning-care-next > .flex > .content .steps > li:nth-child(2) {
  background: #fff url(./assets/img/step_02.svg) no-repeat center left/contain;
}

main > section.poisoning-care-next > .flex > .content .steps > li:nth-child(3) {
  background: #fff url(./assets/img/step_03.svg) no-repeat center left/contain;
}

main > section.poisoning-care-next > .flex > .content .steps > li:nth-child(4) {
  background: #fff url(./assets/img/step_04.svg) no-repeat center left/contain;
}

main > section.poisoning-care-next > .flex > .content .steps > li:nth-child(5) {
  background: #fff url(./assets/img/step_05.svg) no-repeat center left/contain;
}

main > section.poisoning-care-next > .flex > .content .steps > li:nth-child(6) {
  background: #fff url(./assets/img/step_06.svg) no-repeat center left/contain;
}

main > section.poisoning-care-next > .flex > .content .steps > li:nth-child(7) {
  background: #fff url(./assets/img/step_07.svg) no-repeat center left/contain;
}

main > section.basic-course {
  background: #fff;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.basic-course {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.basic-course > .content {
  max-width: 790px;
  margin: 0 auto;
  padding: 8vw 0 10vw;
}

main > section.basic-course > .content > .course {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 82px;
  line-height: 1;
  font-weight: 600;
  color: #e99bbb;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .course {
    font-size: 50px;
  }
}

main > section.basic-course > .content > .course > img {
  max-width: 152px;
}

main > section.basic-course > .content > .name {
  font-family: "Noto Serif JP", serif;
  font-size: 49px;
  line-height: 1;
  letter-spacing: .2em;
  font-weight: 600;
  margin-top: .5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.basic-course > .content > .name {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .name {
    font-size: 20px;
  }
}

main > section.basic-course > .content > .name > span {
  width: auto;
  font-size: 24px;
  letter-spacing: .2em;
  display: inline-block;
  margin-left: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .name > span {
    font-size: 20px;
  }
}

main > section.basic-course > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-weight: 600;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.basic-course > .content > .title {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .title {
    font-size: 20px;
  }
}

main > section.basic-course > .content > .title > span {
  font-size: 27px;
  line-height: 1.5;
  display: inline-block;
  margin-top: .3em;
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .title > span {
    font-size: 20px;
  }
}

main > section.basic-course > .content > .price {
  margin-top: 1.5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.basic-course > .content > .price {
    padding-left: 0;
  }
}

main > section.basic-course > .content > .price > span {
  width: auto;
  display: inline-block;
}

main > section.basic-course > .content > .price > span.time {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .price > span.time {
    font-size: 16px;
  }
}

main > section.basic-course > .content > .price > span.num {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 46px;
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .price > span.num {
    font-size: 25px;
  }
}

main > section.basic-course > .content > .price > span.yen {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 39px;
  margin-left: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .price > span.yen {
    font-size: 25px;
  }
}

main > section.basic-course > .content > .text {
  font-size: 16px;
  line-height: 1.8em;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .text {
    font-size: 13px;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.basic-course > .content > .text {
    padding-left: 0;
  }
}

main > section.basic-course > .content > .text > span {
  width: auto;
  letter-spacing: .1em;
  display: inline-block;
  margin-right: 1em;
}

main > section.basic-course > .content > .text > span.ex {
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .text > span.ex {
    font-size: 13px;
  }
}

main > section.basic-course > .content > .flow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 2em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.basic-course > .content > .flow {
    padding-left: 0;
  }
}

main > section.basic-course > .content > .flow > li {
  max-width: 200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: .5em;
}

main > section.basic-course > .content > .flow > li > span {
  font-size: 15px;
  text-align: center;
  background: #e4eff6;
  padding: .5em 1em;
}

@media only screen and (max-width: 767px) {
  main > section.basic-course > .content > .flow > li > span {
    font-size: 13px;
  }
}

main > section.basic-course > .content > .flow > li + li {
  margin-left: .5em;
}

main > section.basic-course > .content > .flow > li + li > span {
  margin-left: .5em;
}

main > section.basic-course > .content > .flow > li + li::before {
  content: "";
  width: 24px;
  height: 100%;
  background: url(./assets/img/arrow_flow.svg) no-repeat center/contain;
  display: inline-block;
}

main > section.clean-and-acne {
  background: #e4eff6;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.clean-and-acne {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.clean-and-acne > .content {
  max-width: 790px;
  margin: 0 auto;
  padding: 8vw 0 10vw;
}

main > section.clean-and-acne > .content > .course {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 82px;
  line-height: 1;
  font-weight: 600;
  color: #e99bbb;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .course {
    font-size: 50px;
  }
}

main > section.clean-and-acne > .content > .course > img {
  max-width: 152px;
}

main > section.clean-and-acne > .content > .name {
  font-family: "Noto Serif JP", serif;
  font-size: 49px;
  line-height: 1;
  letter-spacing: .2em;
  font-weight: 600;
  margin-top: .5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.clean-and-acne > .content > .name {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .name {
    font-size: 20px;
  }
}

main > section.clean-and-acne > .content > .name > span {
  width: auto;
  font-size: 24px;
  letter-spacing: .2em;
  display: inline-block;
  margin-left: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .name > span {
    font-size: 20px;
  }
}

main > section.clean-and-acne > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-weight: 600;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.clean-and-acne > .content > .title {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .title {
    font-size: 20px;
  }
}

main > section.clean-and-acne > .content > .title > span {
  font-size: 27px;
  line-height: 1.5;
  display: inline-block;
  margin-top: .3em;
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .title > span {
    font-size: 20px;
  }
}

main > section.clean-and-acne > .content > .price {
  margin-top: 1.5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.clean-and-acne > .content > .price {
    padding-left: 0;
  }
}

main > section.clean-and-acne > .content > .price > span {
  width: auto;
  display: inline-block;
}

main > section.clean-and-acne > .content > .price > span.time {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .price > span.time {
    font-size: 16px;
  }
}

main > section.clean-and-acne > .content > .price > span.num {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 46px;
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .price > span.num {
    font-size: 25px;
  }
}

main > section.clean-and-acne > .content > .price > span.yen {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 39px;
  margin-left: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .price > span.yen {
    font-size: 25px;
  }
}

main > section.clean-and-acne > .content > .text {
  font-size: 16px;
  line-height: 1.8em;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.clean-and-acne > .content > .text {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .text {
    font-size: 13px;
  }
}

main > section.clean-and-acne > .content > .text > span {
  width: auto;
  letter-spacing: .1em;
  display: inline-block;
  margin-right: 1em;
}

main > section.clean-and-acne > .content > .text > span.ex {
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .text > span.ex {
    font-size: 13px;
  }
}

main > section.clean-and-acne > .content > .flow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 2em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.clean-and-acne > .content > .flow {
    padding-left: 0;
  }
}

main > section.clean-and-acne > .content > .flow > li {
  max-width: 200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: .5em;
}

main > section.clean-and-acne > .content > .flow > li > span {
  font-size: 15px;
  text-align: center;
  background: #fff;
  padding: .5em 1em;
}

@media only screen and (max-width: 767px) {
  main > section.clean-and-acne > .content > .flow > li > span {
    font-size: 13px;
  }
}

main > section.clean-and-acne > .content > .flow > li + li {
  margin-left: .5em;
}

main > section.clean-and-acne > .content > .flow > li + li > span {
  margin-left: .5em;
}

main > section.clean-and-acne > .content > .flow > li + li::before {
  content: "";
  width: 24px;
  height: 100%;
  background: url(./assets/img/arrow_flow.svg) no-repeat center/contain;
  display: inline-block;
}

main > section.whitening {
  background: #fff;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.whitening {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.whitening > .content {
  max-width: 790px;
  margin: 0 auto;
  padding: 8vw 0 10vw;
}

main > section.whitening > .content > .course {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 82px;
  line-height: 1;
  font-weight: 600;
  color: #e99bbb;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .course {
    font-size: 50px;
  }
}

main > section.whitening > .content > .course > img {
  max-width: 152px;
}

main > section.whitening > .content > .name {
  font-family: "Noto Serif JP", serif;
  font-size: 49px;
  line-height: 1;
  letter-spacing: .2em;
  font-weight: 600;
  margin-top: .5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.whitening > .content > .name {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .name {
    font-size: 20px;
  }
}

main > section.whitening > .content > .name > span {
  width: auto;
  font-size: 24px;
  letter-spacing: .2em;
  display: inline-block;
  margin-left: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .name > span {
    font-size: 20px;
  }
}

main > section.whitening > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-weight: 600;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.whitening > .content > .title {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .title {
    font-size: 20px;
  }
}

main > section.whitening > .content > .title > span {
  font-size: 27px;
  line-height: 1.5;
  display: inline-block;
  margin-top: .3em;
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .title > span {
    font-size: 20px;
  }
}

main > section.whitening > .content > .price {
  margin-top: 1.5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.whitening > .content > .price {
    padding-left: 0;
  }
}

main > section.whitening > .content > .price > span {
  width: auto;
  display: inline-block;
}

main > section.whitening > .content > .price > span.time {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .price > span.time {
    font-size: 16px;
  }
}

main > section.whitening > .content > .price > span.num {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 46px;
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .price > span.num {
    font-size: 25px;
  }
}

main > section.whitening > .content > .price > span.yen {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 39px;
  margin-left: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .price > span.yen {
    font-size: 25px;
  }
}

main > section.whitening > .content > .text {
  font-size: 16px;
  line-height: 1.8em;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.whitening > .content > .text {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .text {
    font-size: 13px;
  }
}

main > section.whitening > .content > .text > span {
  width: auto;
  letter-spacing: .1em;
  display: inline-block;
  margin-right: 1em;
}

main > section.whitening > .content > .text > span.ex {
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .text > span.ex {
    font-size: 13px;
  }
}

main > section.whitening > .content > .flow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 2em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.whitening > .content > .flow {
    padding-left: 0;
  }
}

main > section.whitening > .content > .flow > li {
  max-width: 200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: .5em;
}

main > section.whitening > .content > .flow > li > span {
  font-size: 15px;
  text-align: center;
  background: #e4eff6;
  padding: .5em 1em;
}

@media only screen and (max-width: 767px) {
  main > section.whitening > .content > .flow > li > span {
    font-size: 13px;
  }
}

main > section.whitening > .content > .flow > li + li {
  margin-left: .5em;
}

main > section.whitening > .content > .flow > li + li > span {
  margin-left: .5em;
}

main > section.whitening > .content > .flow > li + li::before {
  content: "";
  width: 24px;
  height: 100%;
  background: url(./assets/img/arrow_flow.svg) no-repeat center/contain;
  display: inline-block;
}

main > section.whitening > .content > .flow > li.w-auto {
  width: auto;
  max-width: none;
}

main > section.option {
  background: #e4eff6;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.option {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.option > .content {
  max-width: 895px;
  margin: 0 auto;
  padding: 8vw 0 14vw;
}

main > section.option > .content > .title > .course {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 82px;
  line-height: 1;
  font-weight: 600;
  color: #e99bbb;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
     -moz-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: row-reverse;
     -moz-box-orient: horizontal;
     -moz-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  main > section.option > .content > .title > .course {
    font-size: 50px;
  }
}

main > section.option > .content > .title > .course > img {
  max-width: 152px;
}

main > section.option > .content > .title > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  letter-spacing: .1em;
  font-weight: 600;
  text-align: center;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.option > .content > .title > .title {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.option > .content > .title > .title {
    font-size: 20px;
  }
}

main > section.option > .content > .title > .title > span {
  font-size: 27px;
  line-height: 1.5;
  display: inline-block;
  margin-top: .3em;
}

@media only screen and (max-width: 767px) {
  main > section.option > .content > .title > .title > span {
    font-size: 20px;
  }
}

main > section.option > .content > table {
  width: 100%;
  border-bottom: 1px solid #594f3d;
  margin-top: 70px;
  border-spacing: 0;
}

main > section.option > .content > table tr + tr.group > th, main > section.option > .content > table tr + tr.group td {
  border-top: 1px solid #594f3d;
}

@media only screen and (max-width: 1023px) {
  main > section.option > .content > table tr + tr.group > td {
    border-top: none;
  }
}

main > section.option > .content > table tr.under > th {
  text-indent: 2em;
}

@media only screen and (max-width: 1023px) {
  main > section.option > .content > table tr.under > th {
    text-indent: 1em;
  }
}

main > section.option > .content > table tr > th, main > section.option > .content > table tr td {
  width: auto;
  font-size: 36px;
  line-height: 1.5;
}

@media only screen and (max-width: 1023px) {
  main > section.option > .content > table tr > th, main > section.option > .content > table tr td {
    width: 100%;
    text-align: right;
    display: block;
  }
}

@media only screen and (max-width: 767px) {
  main > section.option > .content > table tr > th, main > section.option > .content > table tr td {
    font-size: 16px;
  }
}

main > section.option > .content > table tr > th {
  width: 77%;
  font-family: YuMincho, "Yu Mincho", serif;
  font-weight: 600;
  text-align: left;
}

@media all and (-ms-high-contrast: none) {
  main > section.option > .content > table tr > th {
    /*For MS*/
    width: auto;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.option > .content > table tr > th {
    width: 100%;
  }
}

main > section.option > .content > table tr > td > .price > span {
  width: auto;
  line-height: 1.5;
  display: inline-block;
}

main > section.option > .content > table tr > td > .price > span.time {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.option > .content > table tr > td > .price > span.time {
    font-size: 16px;
  }
}

main > section.option > .content > table tr > td > .price > span.num {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 46px;
}

@media only screen and (max-width: 767px) {
  main > section.option > .content > table tr > td > .price > span.num {
    font-size: 25px;
  }
}

main > section.option > .content > table tr > td > .price > span.yen {
  font-family: "Noto Serif JP", serif;
  font-size: 39px;
  margin-left: .3em;
}

@media only screen and (max-width: 767px) {
  main > section.option > .content > table tr > td > .price > span.yen {
    font-size: 25px;
  }
}

main > section.option > .content > .text {
  font-size: 16px;
  line-height: 1.8em;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.option > .content > .text {
    padding-left: 0;
  }
}

main > section.option > .content > .text > span {
  width: auto;
  letter-spacing: .1em;
  display: inline-block;
  margin-right: 1em;
}

main > section.option > .content > .text > span.ex {
  font-size: 14px;
}

main > section.option > .content > .flow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 2em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.option > .content > .flow {
    padding-left: 0;
  }
}

main > section.option > .content > .flow > li {
  max-width: 200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: .5em;
}

main > section.option > .content > .flow > li > span {
  font-size: 15px;
  text-align: center;
  background: #e4eff6;
  padding: .5em 1em;
}

main > section.option > .content > .flow > li + li {
  margin-left: .5em;
}

main > section.option > .content > .flow > li + li > span {
  margin-left: .5em;
}

main > section.option > .content > .flow > li + li::before {
  content: "";
  width: 24px;
  height: 100%;
  background: url(./assets/img/arrow_flow.svg) no-repeat center/contain;
  display: inline-block;
}

main > section.option > .content > .flow > li.w-auto {
  width: auto;
  max-width: none;
}

main > section.under-charmme-beau {
  background: #fff url(./assets/img/bg_under-charmme-beau_1x.jpg) no-repeat left bottom/contain;
  margin-top: -8vw;
  padding: 8vw 1em 12vw;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.under-charmme-beau {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.under-charmme-beau {
    padding: 0 1em;
  }
}

main > section.under-charmme-beau > .flex {
  max-width: 1100px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 8vw 0 0;
  position: relative;
}

@media all and (-ms-high-contrast: none) {
  main > section.under-charmme-beau > .flex {
    /*For MS*/
    padding: 70px 0 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.under-charmme-beau > .flex {
    display: block;
    padding: 15vw 0;
  }
}

main > section.under-charmme-beau > .flex > .title-img-area {
  max-width: 525px;
}

@media only screen and (max-width: 1023px) {
  main > section.under-charmme-beau > .flex > .title-img-area {
    margin: 0 auto;
  }
}

main > section.under-charmme-beau > .flex > .title-img-area > .section-title {
  max-width: 330px;
}

@media only screen and (max-width: 1023px) {
  main > section.under-charmme-beau > .flex > .title-img-area > .section-title {
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .title-img-area > .section-title {
    max-width: 200px;
  }
}

main > section.under-charmme-beau > .flex > .title-img-area > .text-area {
  max-width: 330px;
  margin-top: 70px;
}

@media only screen and (max-width: 1023px) {
  main > section.under-charmme-beau > .flex > .title-img-area > .text-area {
    margin: 70px auto 0;
  }
}

main > section.under-charmme-beau > .flex > .title-img-area > .text-area > .and {
  font-size: 20px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .title-img-area > .text-area > .and {
    font-size: 16px;
  }
}

main > section.under-charmme-beau > .flex > .title-img-area > .text-area > .and > span {
  line-height: 1;
  display: block;
}

main > section.under-charmme-beau > .flex > .title-img-area > .text-area > .and > .bdr {
  border: 1px solid #594f3d;
  padding: 1em 1.5em;
}

main > section.under-charmme-beau > .flex > .title-img-area > .text-area > .and > .plus {
  font-size: 40px;
  font-weight: 100;
  padding: .5em 1em;
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .title-img-area > .text-area > .and > .plus {
    font-size: 20px;
  }
}

main > section.under-charmme-beau > .flex > .title-img-area > .text-area > .eq {
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .title-img-area > .text-area > .eq {
    font-size: 20px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .title-img-area > .text-area > .eq > br {
    display: none;
  }
}

main > section.under-charmme-beau > .flex > .content {
  max-width: 580px;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.under-charmme-beau > .flex > .content {
    margin: 70px auto 0;
  }
}

main > section.under-charmme-beau > .flex > .content > .title-wrap .title {
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .content > .title-wrap .title {
    font-size: 20px;
  }
}

main > section.under-charmme-beau > .flex > .content > .detail {
  margin-top: 3em;
}

main > section.under-charmme-beau > .flex > .content > .detail > .catch {
  font-family: "Noto Serif JP", serif;
  font-size: 21px;
  line-height: 1.5;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .content > .detail > .catch {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .content > .detail > .catch > br {
    display: none;
  }
}

main > section.under-charmme-beau > .flex > .content > .detail > .text {
  font-size: 15px;
  line-height: 2em;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .content > .detail > .text {
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .content > .detail > .text > br {
    display: none;
  }
}

main > section.under-charmme-beau > .flex > .content > .detail > .text.bold {
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  main > section.under-charmme-beau > .flex > .content > .detail > .text.bold > br {
    display: block;
  }
}

main > section.under-charmme-beau > .flex > .content > .detail > * + * {
  margin-top: 1.5em;
}

main > section.under-charmme-beau > .flex > .content > .detail > * + .text {
  margin-top: 2em;
}

main > section.charmme-beau-course {
  background: #e4eff6;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em 0 0;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.charmme-beau-course {
    /*For MS*/
    margin-top: 0;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2 / 1), (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 2dppx) {
  main > section.charmme-beau-course {
    /*For Retina*/
    background: #e4eff6;
    -moz-background-size: 100%;
      -o-background-size: 100%;
         background-size: 100%;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau-course {
    padding: 0 1em;
  }
}

main > section.charmme-beau-course > .flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto;
  position: relative;
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau-course > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: column-reverse;
       -moz-box-orient: vertical;
       -moz-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
    padding: 15vw 0;
  }
}

main > section.charmme-beau-course > .flex > .img-area {
  max-width: 530px;
  margin-top: 4vw;
}

@media all and (-ms-high-contrast: none) {
  main > section.charmme-beau-course > .flex > .img-area {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.charmme-beau-course > .flex > .content {
  max-width: 705px;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.charmme-beau-course > .flex > .content {
    margin: 0 auto;
  }
}

main > section.charmme-beau-course > .flex > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  letter-spacing: .1em;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .title {
    font-size: 20px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .flex {
    display: block;
  }
}

main > section.charmme-beau-course > .flex > .content > .flex.bdr-top {
  border-top: 1px solid #594f3d;
  margin-top: .5em;
  padding-top: .5em;
}

main > section.charmme-beau-course > .flex > .content > .flex > .left {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .flex > .left {
    font-size: 16px;
  }
}

main > section.charmme-beau-course > .flex > .content > .flex > .left.title {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  letter-spacing: .08em;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .flex > .left.title {
    font-size: 20px;
  }
}

main > section.charmme-beau-course > .flex > .content > .flex > .left.ex {
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .flex > .left.ex {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .flex > .left.ex > br {
    display: none;
  }
}

main > section.charmme-beau-course > .flex > .content > .flex > .left > span.mincho {
  font-family: "Noto Serif JP", serif;
}

main > section.charmme-beau-course > .flex > .content > .flex > .right {
  text-align: right;
}

main > section.charmme-beau-course > .flex > .content > .flex > .right > span {
  font-family: YuMincho, "Yu Mincho", serif;
  line-height: 1;
}

main > section.charmme-beau-course > .flex > .content > .flex > .right > span.count {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .flex > .right > span.count {
    font-size: 16px;
  }
}

main > section.charmme-beau-course > .flex > .content > .flex > .right > span.num {
  font-size: 40px;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .flex > .right > span.num {
    font-size: 25px;
  }
}

main > section.charmme-beau-course > .flex > .content > .flex > .right > span.yen {
  font-size: 35px;
  margin-left: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .flex > .right > span.yen {
    font-size: 25px;
  }
}

main > section.charmme-beau-course > .flex > .content > .flex > .right > span.ex {
  font-size: 22px;
  line-height: 1.5;
  font-weight: 600;
  display: block;
}

@media only screen and (max-width: 767px) {
  main > section.charmme-beau-course > .flex > .content > .flex > .right > span.ex {
    font-size: 16px;
  }
}

main > section.before-after {
  background: #e4eff6;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 4vw 1em 8vw;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.before-after {
    /*For MS*/
    margin-top: 0;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2 / 1), (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 2dppx) {
  main > section.before-after {
    /*For Retina*/
    background: #e4eff6;
    -moz-background-size: 100%;
      -o-background-size: 100%;
         background-size: 100%;
  }
}

main > section.before-after > .wrap {
  max-width: 1100px;
  margin: 4vw auto;
  padding: 4vw 0;
}

main > section.before-after > .wrap > .title-description {
  text-align: center;
}

main > section.before-after > .wrap > .title-description > .title {
  max-width: 345px;
  margin: 0 auto;
}

main > section.before-after > .wrap > .title-description > .description {
  font-size: 15px;
  line-height: 2;
  letter-spacing: .1em;
  margin-top: 2em;
}

@media only screen and (max-width: 767px) {
  main > section.before-after > .wrap > .title-description > .description {
    font-size: 13px;
    text-align: left;
  }
}

@media only screen and (max-width: 767px) {
  main > section.before-after > .wrap > .title-description > .description > br {
    display: none;
  }
}

main > section.before-after > .wrap > .title-description > .description > span {
  font-weight: 500;
  display: inline-block;
}

main > section.before-after > .wrap > .flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
}

main > section.before-after > .wrap > .flex > img {
  width: 49%;
  max-width: 524px;
  margin-top: 5%;
}

@media only screen and (max-width: 767px) {
  main > section.before-after > .wrap > .flex > img {
    width: 100%;
    max-width: 100%;
  }
}

main > section.bridal {
  background: #fff;
  margin-top: -8vw;
  padding: 8vw 1em 12vw;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.bridal {
    /*For MS*/
    margin-top: 0;
    padding: 100px 1em;
  }
}

main > section.bridal > .flex {
  max-width: 1100px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
     -moz-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 4vw 0 0;
  position: relative;
}

@media all and (-ms-high-contrast: none) {
  main > section.bridal > .flex {
    /*For MS*/
    padding: 70px 0 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.bridal > .flex {
    display: block;
  }
}

main > section.bridal > .flex > .title-img-area {
  max-width: 525px;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal > .flex > .title-img-area {
    margin: 0 auto;
  }
}

main > section.bridal > .flex > .title-img-area > .section-title {
  max-width: 330px;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal > .flex > .title-img-area > .section-title {
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767px) {
  main > section.bridal > .flex > .title-img-area > .section-title {
    max-width: 200px;
  }
}

main > section.bridal > .flex > .title-img-area > .absl-img-area {
  max-width: 420px;
  margin-top: 70px;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal > .flex > .title-img-area > .absl-img-area {
    margin: 70px auto 0;
  }
}

main > section.bridal > .flex > .content {
  max-width: 580px;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal > .flex > .content {
    margin: 70px auto 0;
  }
}

main > section.bridal > .flex > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  line-height: 1.5;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  main > section.bridal > .flex > .content > .title {
    font-size: 20px;
  }
}

main > section.bridal > .flex > .content > .catch {
  font-family: "Noto Serif JP", serif;
  font-size: 21px;
  font-weight: 600;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.bridal > .flex > .content > .catch {
    font-size: 20px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.bridal > .flex > .content > .catch > br {
    display: none;
  }
}

main > section.bridal > .flex > .content > .catch + .text {
  margin-top: 2em;
}

main > section.bridal > .flex > .content > .text {
  font-size: 15px;
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  main > section.bridal > .flex > .content > .text {
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.bridal > .flex > .content > .text > br {
    display: none;
  }
}

main > section.bridal > .flex > .content > .text.bold {
  font-weight: 500;
}

main > section.bridal > .flex > .content > .text + .text {
  margin-top: 2em;
}

main > section.bridal-next {
  background: #e4eff6;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em 0 0;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.bridal-next {
    /*For MS*/
    margin-top: 0;
  }
}

@media only screen and (max-width: 1023px) {
  main > section.bridal-next {
    padding: 0 1em;
  }
}

main > section.bridal-next > .flex {
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto;
  position: relative;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal-next > .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-flow: column-reverse;
       -moz-box-orient: vertical;
       -moz-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
    padding: 15vw 0;
  }
}

main > section.bridal-next > .flex > .img-area {
  max-width: 530px;
  margin-top: 5vw;
}

@media all and (-ms-high-contrast: none) {
  main > section.bridal-next > .flex > .img-area {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.bridal-next > .flex > .content {
  max-width: 705px;
  margin-top: -6vw;
  margin-left: 5%;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal-next > .flex > .content {
    margin: -6vw auto 0;
  }
}

main > section.bridal-next > .flex > .content > .course > img {
  max-width: 152px;
}

main > section.bridal-next > .flex > .content > .catch {
  font-family: "Noto Serif JP", serif;
  font-size: 27px;
  line-height: 1.5;
  font-weight: 600;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal-next > .flex > .content > .catch {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .catch {
    font-size: 20px;
  }
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .catch > span > br {
    display: none;
  }
}

main > section.bridal-next > .flex > .content > .list {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: .2em;
  font-weight: 400;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal-next > .flex > .content > .list {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .list {
    font-size: 16px;
  }
}

main > section.bridal-next > .flex > .content > .list > .dot {
  font-size: 10px;
  vertical-align: middle;
}

main > section.bridal-next > .flex > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-weight: 600;
  margin-top: .3em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal-next > .flex > .content > .title {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .title {
    font-size: 20px;
  }
}

main > section.bridal-next > .flex > .content > .title > span {
  font-size: 27px;
  line-height: 1.5;
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .title > span {
    font-size: 20px;
  }
}

main > section.bridal-next > .flex > .content > .price {
  margin-top: 1.5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal-next > .flex > .content > .price {
    padding-left: 0;
  }
}

main > section.bridal-next > .flex > .content > .price > span {
  width: auto;
  display: inline-block;
}

main > section.bridal-next > .flex > .content > .price > span.time {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .price > span.time {
    font-size: 16px;
  }
}

main > section.bridal-next > .flex > .content > .price > span.num {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 46px;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .price > span.num {
    font-size: 25px;
  }
}

main > section.bridal-next > .flex > .content > .price > span.yen {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 39px;
  margin-left: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .price > span.yen {
    font-size: 25px;
  }
}

main > section.bridal-next > .flex > .content > .text {
  font-size: 16px;
  line-height: 1.8em;
  margin-top: 1em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal-next > .flex > .content > .text {
    padding-left: 0;
  }
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .text {
    font-size: 13px;
  }
}

main > section.bridal-next > .flex > .content > .text > span {
  width: auto;
  letter-spacing: .1em;
  display: inline-block;
  margin-right: 1em;
}

main > section.bridal-next > .flex > .content > .text > span.ex {
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-next > .flex > .content > .text > span.ex {
    font-size: 13px;
  }
}

main > section.bridal-facial {
  background: #e4eff6;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.bridal-facial {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.bridal-facial > .content {
  max-width: 900px;
  margin: 0 auto;
  padding: 8vw 0 10vw;
}

main > section.bridal-facial > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 27px;
  font-weight: 600;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-facial > .content > .title {
    font-size: 20px;
  }
}

main > section.bridal-facial > .content > .catch {
  font-family: "Noto Serif JP", serif;
  font-size: 27px;
  line-height: 1.8em;
  font-weight: 600;
  text-align: center;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-facial > .content > .catch {
    font-size: 20px;
    line-height: 1.5;
    text-align: left;
  }
}

main > section.bridal-facial > .content > .description {
  font-size: 15px;
  line-height: 1.8em;
  text-align: center;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-facial > .content > .description {
    font-size: 13px;
  }
}

main > section.bridal-facial > .content > .description > span {
  width: auto;
  background: #fff;
  display: inline-block;
  padding: .3em 1.5em;
}

main > section.bridal-facial > .content > .flow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 2em;
}

main > section.bridal-facial > .content > .flow > li {
  max-width: 200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
     -moz-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: .5em;
}

main > section.bridal-facial > .content > .flow > li > span {
  font-size: 15px;
  text-align: center;
  background: #fff;
  padding: .5em 1em;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-facial > .content > .flow > li > span {
    font-size: 13px;
  }
}

main > section.bridal-facial > .content > .flow > li + li {
  margin-left: .5em;
}

main > section.bridal-facial > .content > .flow > li + li > span {
  margin-left: .5em;
}

main > section.bridal-facial > .content > .flow > li + li::before {
  content: "";
  width: 24px;
  height: 100%;
  background: url(./assets/img/arrow_flow.svg) no-repeat center/contain;
  display: inline-block;
}

main > section.bridal-option {
  background: #fff;
  -moz-background-size: 100%;
    -o-background-size: 100%;
       background-size: 100%;
  margin-top: -8vw;
  padding: 0 1em;
  position: relative;
  -webkit-clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(0 8vw, 100% 0, 100% 100%, 0% 100%);
}

@media all and (-ms-high-contrast: none) {
  main > section.bridal-option {
    /*For MS*/
    margin-top: 0;
  }
}

main > section.bridal-option > .content {
  max-width: 900px;
  margin: 0 auto;
  padding: 8vw 0 10vw;
}

main > section.bridal-option > .content > .title {
  font-family: "Noto Serif JP", serif;
  font-size: 42px;
  font-weight: 600;
  text-align: center;
  margin-top: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-option > .content > .title {
    font-size: 20px;
  }
}

main > section.bridal-option > .content > .catch {
  font-family: "Noto Serif JP", serif;
  font-size: 27px;
  line-height: 1.8em;
  font-weight: 600;
  text-align: center;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-option > .content > .catch {
    font-size: 20px;
    line-height: 1.5;
    text-align: left;
  }
}

@media only screen and (max-width: 767px) {
  main > section.bridal-option > .content > .catch > span > br {
    display: none;
  }
}

main > section.bridal-option > .content > .description {
  font-size: 15px;
  line-height: 1.8em;
  text-align: center;
  margin-top: 1em;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-option > .content > .description {
    font-size: 13px;
  }
}

main > section.bridal-option > .content > .description > span {
  width: auto;
  background: #e4eff6;
  display: inline-block;
  padding: .3em 1.5em;
}

main > section.bridal-option > .content > .price {
  text-align: center;
  margin-top: 1.5em;
  padding-left: 30px;
}

@media only screen and (max-width: 1023px) {
  main > section.bridal-option > .content > .price {
    padding-left: 0;
  }
}

main > section.bridal-option > .content > .price > span {
  width: auto;
  display: inline-block;
}

main > section.bridal-option > .content > .price > span.time {
  font-size: 22px;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-option > .content > .price > span.time {
    font-size: 16px;
  }
}

main > section.bridal-option > .content > .price > span.num {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 46px;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-option > .content > .price > span.num {
    font-size: 25px;
  }
}

main > section.bridal-option > .content > .price > span.yen {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 39px;
  margin-left: .5em;
}

@media only screen and (max-width: 767px) {
  main > section.bridal-option > .content > .price > span.yen {
    font-size: 25px;
  }
}

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}

.btn-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}

.btn-area > .btn {
  padding: 1em 2em;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

.btn-area > .btn.white {
  color: #594f3d;
  background: #fff;
}

.btn-area > .btn.white:hover {
  color: #fff;
  background: #594f3d;
}

.btn-area > .btn.plus {
  padding-right: 2.5em;
  position: relative;
}

.btn-area > .btn.plus::after {
  content: "";
  width: 18.6px;
  height: 18.6px;
  background: url(./assets/img/btn_plus_brown.svg) no-repeat center;
  -moz-background-size: contain;
    -o-background-size: contain;
       background-size: contain;
  display: block;
  margin-top: -9.3px;
  position: absolute;
  top: 50%;
  right: 1em;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

.btn-area > .btn.plus:hover::after {
  background: url(./assets/img/btn_plus_white.svg) no-repeat center;
  -moz-background-size: contain;
    -o-background-size: contain;
       background-size: contain;
  -webkit-transform: rotate(360deg);
     -moz-transform: rotate(360deg);
      -ms-transform: rotate(360deg);
       -o-transform: rotate(360deg);
          transform: rotate(360deg);
}

.btn-area > .btn.move {
  position: relative;
}

.btn-area > .btn.move > span {
  position: relative;
  z-index: 1;
}

.btn-area > .btn.move::before {
  content: "";
  width: 0;
  height: 100%;
  background: #594f3d;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  transition: all .5s;
}

.btn-area > .btn.move:hover {
  color: #fff;
}

.btn-area > .btn.move:hover::before {
  width: 100%;
}

footer {
  background: #f6d5e3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-flow: column-reverse;
     -moz-box-orient: vertical;
     -moz-box-direction: reverse;
      -ms-flex-flow: column-reverse;
          flex-flow: column-reverse;
}

footer .map {
  width: 100%;
  margin-top: 40px;
  padding-top: 34.1333%;
  position: relative;
}

footer .map .iframe-container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}

footer > address {
  font-size: 11px;
  letter-spacing: .2em;
  font-style: normal;
  text-align: center;
  color: #594f3d;
  padding: 0 1em;
}

.mv, section, footer {
  overflow: hidden;
}

*.show-fade {
  -webkit-animation: show-fade 1s ease-in-out 0s forwards;
     -moz-animation: show-fade 1s ease-in-out 0s forwards;
       -o-animation: show-fade 1s ease-in-out 0s forwards;
          animation: show-fade 1s ease-in-out 0s forwards;
}

*.show-up {
  -webkit-animation: show-up 1s ease-in-out 0s forwards;
     -moz-animation: show-up 1s ease-in-out 0s forwards;
       -o-animation: show-up 1s ease-in-out 0s forwards;
          animation: show-up 1s ease-in-out 0s forwards;
}

*.show-down {
  -webkit-animation: show-down 1s ease-in-out 0s forwards;
     -moz-animation: show-down 1s ease-in-out 0s forwards;
       -o-animation: show-down 1s ease-in-out 0s forwards;
          animation: show-down 1s ease-in-out 0s forwards;
}

*.show-left {
  -webkit-animation: show-left 1s ease-in-out 0s forwards;
     -moz-animation: show-left 1s ease-in-out 0s forwards;
       -o-animation: show-left 1s ease-in-out 0s forwards;
          animation: show-left 1s ease-in-out 0s forwards;
}

*.show-right {
  -webkit-animation: show-right 1s ease-in-out 0s forwards;
     -moz-animation: show-right 1s ease-in-out 0s forwards;
       -o-animation: show-right 1s ease-in-out 0s forwards;
          animation: show-right 1s ease-in-out 0s forwards;
}

*.show-zoomIn {
  -webkit-animation: show-zoomIn 1s ease-in-out 0s forwards;
     -moz-animation: show-zoomIn 1s ease-in-out 0s forwards;
       -o-animation: show-zoomIn 1s ease-in-out 0s forwards;
          animation: show-zoomIn 1s ease-in-out 0s forwards;
}

*.show-zoomOut {
  -webkit-animation: show-zoomOut 1s ease-in-out 0s forwards;
     -moz-animation: show-zoomOut 1s ease-in-out 0s forwards;
       -o-animation: show-zoomOut 1s ease-in-out 0s forwards;
          animation: show-zoomOut 1s ease-in-out 0s forwards;
}

*.show-zoomBound {
  -webkit-animation: show-zoomBound 1s ease-in-out 0s forwards;
     -moz-animation: show-zoomBound 1s ease-in-out 0s forwards;
       -o-animation: show-zoomBound 1s ease-in-out 0s forwards;
          animation: show-zoomBound 1s ease-in-out 0s forwards;
}

*.show-turn {
  -webkit-animation: show-turn 1s ease-in-out 0s forwards;
     -moz-animation: show-turn 1s ease-in-out 0s forwards;
       -o-animation: show-turn 1s ease-in-out 0s forwards;
          animation: show-turn 1s ease-in-out 0s forwards;
}

*.show-zoomTurn {
  -webkit-animation: show-zoomTurn 1s ease-in-out 0s forwards;
     -moz-animation: show-zoomTurn 1s ease-in-out 0s forwards;
       -o-animation: show-zoomTurn 1s ease-in-out 0s forwards;
          animation: show-zoomTurn 1s ease-in-out 0s forwards;
}

*.move-elasticity {
  -webkit-transform-origin: 50% 50%;
     -moz-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
       -o-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-animation: move-elasticity .5s linear 0s forwards;
     -moz-animation: move-elasticity .5s linear 0s forwards;
       -o-animation: move-elasticity .5s linear 0s forwards;
          animation: move-elasticity .5s linear 0s forwards;
  opacity: 1 !important;
}

*.move-elasticity-delay {
  -webkit-transform-origin: 50% 50%;
     -moz-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
       -o-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-animation: move-elasticity .5s linear 1s forwards;
     -moz-animation: move-elasticity .5s linear 1s forwards;
       -o-animation: move-elasticity .5s linear 1s forwards;
          animation: move-elasticity .5s linear 1s forwards;
  opacity: 1 !important;
}

*.move-zoomBound {
  -webkit-animation: move-zoomBound .5s ease-in-out 0s forwards;
     -moz-animation: move-zoomBound .5s ease-in-out 0s forwards;
       -o-animation: move-zoomBound .5s ease-in-out 0s forwards;
          animation: move-zoomBound .5s ease-in-out 0s forwards;
  opacity: 1 !important;
}

*.move-zoomBound-delay {
  -webkit-animation: move-zoomBound .5s ease-in-out 1s forwards;
     -moz-animation: move-zoomBound .5s ease-in-out 1s forwards;
       -o-animation: move-zoomBound .5s ease-in-out 1s forwards;
          animation: move-zoomBound .5s ease-in-out 1s forwards;
  opacity: 1 !important;
}

@-webkit-keyframes show-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes show-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-o-keyframes show-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes show-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes show-up {
  0% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    opacity: 1;
  }
}

@-moz-keyframes show-up {
  0% {
    -moz-transform: translateY(100px);
         transform: translateY(100px);
    opacity: 0;
  }
  100% {
    -moz-transform: translateY(0px);
         transform: translateY(0px);
    opacity: 1;
  }
}

@-o-keyframes show-up {
  0% {
    -o-transform: translateY(100px);
       transform: translateY(100px);
    opacity: 0;
  }
  100% {
    -o-transform: translateY(0px);
       transform: translateY(0px);
    opacity: 1;
  }
}

@keyframes show-up {
  0% {
    -webkit-transform: translateY(100px);
       -moz-transform: translateY(100px);
         -o-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0px);
       -moz-transform: translateY(0px);
         -o-transform: translateY(0px);
            transform: translateY(0px);
    opacity: 1;
  }
}

@-webkit-keyframes show-down {
  0% {
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    opacity: 1;
  }
}

@-moz-keyframes show-down {
  0% {
    -moz-transform: translateY(-100px);
         transform: translateY(-100px);
    opacity: 0;
  }
  100% {
    -moz-transform: translateY(0px);
         transform: translateY(0px);
    opacity: 1;
  }
}

@-o-keyframes show-down {
  0% {
    -o-transform: translateY(-100px);
       transform: translateY(-100px);
    opacity: 0;
  }
  100% {
    -o-transform: translateY(0px);
       transform: translateY(0px);
    opacity: 1;
  }
}

@keyframes show-down {
  0% {
    -webkit-transform: translateY(-100px);
       -moz-transform: translateY(-100px);
         -o-transform: translateY(-100px);
            transform: translateY(-100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0px);
       -moz-transform: translateY(0px);
         -o-transform: translateY(0px);
            transform: translateY(0px);
    opacity: 1;
  }
}

@-webkit-keyframes show-left {
  0% {
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1;
  }
}

@-moz-keyframes show-left {
  0% {
    -moz-transform: translateX(100px);
         transform: translateX(100px);
    opacity: 0;
  }
  100% {
    -moz-transform: translateX(0px);
         transform: translateX(0px);
    opacity: 1;
  }
}

@-o-keyframes show-left {
  0% {
    -o-transform: translateX(100px);
       transform: translateX(100px);
    opacity: 0;
  }
  100% {
    -o-transform: translateX(0px);
       transform: translateX(0px);
    opacity: 1;
  }
}

@keyframes show-left {
  0% {
    -webkit-transform: translateX(100px);
       -moz-transform: translateX(100px);
         -o-transform: translateX(100px);
            transform: translateX(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0px);
       -moz-transform: translateX(0px);
         -o-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1;
  }
}

@-webkit-keyframes show-right {
  0% {
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1;
  }
}

@-moz-keyframes show-right {
  0% {
    -moz-transform: translateX(-100px);
         transform: translateX(-100px);
    opacity: 0;
  }
  100% {
    -moz-transform: translateX(0px);
         transform: translateX(0px);
    opacity: 1;
  }
}

@-o-keyframes show-right {
  0% {
    -o-transform: translateX(-100px);
       transform: translateX(-100px);
    opacity: 0;
  }
  100% {
    -o-transform: translateX(0px);
       transform: translateX(0px);
    opacity: 1;
  }
}

@keyframes show-right {
  0% {
    -webkit-transform: translateX(-100px);
       -moz-transform: translateX(-100px);
         -o-transform: translateX(-100px);
            transform: translateX(-100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0px);
       -moz-transform: translateX(0px);
         -o-transform: translateX(0px);
            transform: translateX(0px);
    opacity: 1;
  }
}

@-webkit-keyframes show-zoomIn {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@-moz-keyframes show-zoomIn {
  0% {
    -moz-transform: scale(0.5);
         transform: scale(0.5);
    opacity: 0;
  }
  100% {
    -moz-transform: scale(1);
         transform: scale(1);
    opacity: 1;
  }
}

@-o-keyframes show-zoomIn {
  0% {
    -o-transform: scale(0.5);
       transform: scale(0.5);
    opacity: 0;
  }
  100% {
    -o-transform: scale(1);
       transform: scale(1);
    opacity: 1;
  }
}

@keyframes show-zoomIn {
  0% {
    -webkit-transform: scale(0.5);
       -moz-transform: scale(0.5);
         -o-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
         -o-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes show-zoomOut {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@-moz-keyframes show-zoomOut {
  0% {
    -moz-transform: scale(1.2);
         transform: scale(1.2);
    opacity: 0;
  }
  100% {
    -moz-transform: scale(1);
         transform: scale(1);
    opacity: 1;
  }
}

@-o-keyframes show-zoomOut {
  0% {
    -o-transform: scale(1.2);
       transform: scale(1.2);
    opacity: 0;
  }
  100% {
    -o-transform: scale(1);
       transform: scale(1);
    opacity: 1;
  }
}

@keyframes show-zoomOut {
  0% {
    -webkit-transform: scale(1.2);
       -moz-transform: scale(1.2);
         -o-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
         -o-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes show-zoomBound {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
  }
  20% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
    opacity: 1;
  }
  40% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 1;
  }
  60% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }
  80% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@-moz-keyframes show-zoomBound {
  0% {
    -moz-transform: scale(0);
         transform: scale(0);
    opacity: 1;
  }
  20% {
    -moz-transform: scale(1.3);
         transform: scale(1.3);
    opacity: 1;
  }
  40% {
    -moz-transform: scale(0.8);
         transform: scale(0.8);
    opacity: 1;
  }
  60% {
    -moz-transform: scale(1.1);
         transform: scale(1.1);
    opacity: 1;
  }
  80% {
    -moz-transform: scale(0.9);
         transform: scale(0.9);
    opacity: 1;
  }
  100% {
    -moz-transform: scale(1);
         transform: scale(1);
    opacity: 1;
  }
}

@-o-keyframes show-zoomBound {
  0% {
    -o-transform: scale(0);
       transform: scale(0);
    opacity: 1;
  }
  20% {
    -o-transform: scale(1.3);
       transform: scale(1.3);
    opacity: 1;
  }
  40% {
    -o-transform: scale(0.8);
       transform: scale(0.8);
    opacity: 1;
  }
  60% {
    -o-transform: scale(1.1);
       transform: scale(1.1);
    opacity: 1;
  }
  80% {
    -o-transform: scale(0.9);
       transform: scale(0.9);
    opacity: 1;
  }
  100% {
    -o-transform: scale(1);
       transform: scale(1);
    opacity: 1;
  }
}

@keyframes show-zoomBound {
  0% {
    -webkit-transform: scale(0);
       -moz-transform: scale(0);
         -o-transform: scale(0);
            transform: scale(0);
    opacity: 1;
  }
  20% {
    -webkit-transform: scale(1.3);
       -moz-transform: scale(1.3);
         -o-transform: scale(1.3);
            transform: scale(1.3);
    opacity: 1;
  }
  40% {
    -webkit-transform: scale(0.8);
       -moz-transform: scale(0.8);
         -o-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 1;
  }
  60% {
    -webkit-transform: scale(1.1);
       -moz-transform: scale(1.1);
         -o-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }
  80% {
    -webkit-transform: scale(0.9);
       -moz-transform: scale(0.9);
         -o-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
         -o-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes show-turn {
  0% {
    -webkit-transform: rotateY(-360deg);
            transform: rotateY(-360deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
    opacity: 1;
  }
}

@-moz-keyframes show-turn {
  0% {
    -moz-transform: rotateY(-360deg);
         transform: rotateY(-360deg);
    opacity: 0;
  }
  100% {
    -moz-transform: rotateY(0);
         transform: rotateY(0);
    opacity: 1;
  }
}

@-o-keyframes show-turn {
  0% {
    transform: rotateY(-360deg);
    opacity: 0;
  }
  100% {
    transform: rotateY(0);
    opacity: 1;
  }
}

@keyframes show-turn {
  0% {
    -webkit-transform: rotateY(-360deg);
       -moz-transform: rotateY(-360deg);
            transform: rotateY(-360deg);
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0);
       -moz-transform: rotateY(0);
            transform: rotateY(0);
    opacity: 1;
  }
}

@-webkit-keyframes move-elasticity {
  0% {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
  }
  20% {
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
  }
  40% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  60% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
  80% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
  }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

@-moz-keyframes move-elasticity {
  0% {
    -moz-transform: rotate(30deg);
         transform: rotate(30deg);
  }
  20% {
    -moz-transform: rotate(-15deg);
         transform: rotate(-15deg);
  }
  40% {
    -moz-transform: rotate(5deg);
         transform: rotate(5deg);
  }
  60% {
    -moz-transform: rotate(-2deg);
         transform: rotate(-2deg);
  }
  80% {
    -moz-transform: rotate(1deg);
         transform: rotate(1deg);
  }
  100% {
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
}

@-o-keyframes move-elasticity {
  0% {
    -o-transform: rotate(30deg);
       transform: rotate(30deg);
  }
  20% {
    -o-transform: rotate(-15deg);
       transform: rotate(-15deg);
  }
  40% {
    -o-transform: rotate(5deg);
       transform: rotate(5deg);
  }
  60% {
    -o-transform: rotate(-2deg);
       transform: rotate(-2deg);
  }
  80% {
    -o-transform: rotate(1deg);
       transform: rotate(1deg);
  }
  100% {
    -o-transform: rotate(0);
       transform: rotate(0);
  }
}

@keyframes move-elasticity {
  0% {
    -webkit-transform: rotate(30deg);
       -moz-transform: rotate(30deg);
         -o-transform: rotate(30deg);
            transform: rotate(30deg);
  }
  20% {
    -webkit-transform: rotate(-15deg);
       -moz-transform: rotate(-15deg);
         -o-transform: rotate(-15deg);
            transform: rotate(-15deg);
  }
  40% {
    -webkit-transform: rotate(5deg);
       -moz-transform: rotate(5deg);
         -o-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  60% {
    -webkit-transform: rotate(-2deg);
       -moz-transform: rotate(-2deg);
         -o-transform: rotate(-2deg);
            transform: rotate(-2deg);
  }
  80% {
    -webkit-transform: rotate(1deg);
       -moz-transform: rotate(1deg);
         -o-transform: rotate(1deg);
            transform: rotate(1deg);
  }
  100% {
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
         -o-transform: rotate(0);
            transform: rotate(0);
  }
}

@-webkit-keyframes move-zoomBound {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  20% {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
  40% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  60% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  80% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@-moz-keyframes move-zoomBound {
  0% {
    -moz-transform: scale(1);
         transform: scale(1);
  }
  20% {
    -moz-transform: scale(1.3);
         transform: scale(1.3);
  }
  40% {
    -moz-transform: scale(0.8);
         transform: scale(0.8);
  }
  60% {
    -moz-transform: scale(1.1);
         transform: scale(1.1);
  }
  80% {
    -moz-transform: scale(0.9);
         transform: scale(0.9);
  }
  100% {
    -moz-transform: scale(1);
         transform: scale(1);
  }
}

@-o-keyframes move-zoomBound {
  0% {
    -o-transform: scale(1);
       transform: scale(1);
  }
  20% {
    -o-transform: scale(1.3);
       transform: scale(1.3);
  }
  40% {
    -o-transform: scale(0.8);
       transform: scale(0.8);
  }
  60% {
    -o-transform: scale(1.1);
       transform: scale(1.1);
  }
  80% {
    -o-transform: scale(0.9);
       transform: scale(0.9);
  }
  100% {
    -o-transform: scale(1);
       transform: scale(1);
  }
}

@keyframes move-zoomBound {
  0% {
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
         -o-transform: scale(1);
            transform: scale(1);
  }
  20% {
    -webkit-transform: scale(1.3);
       -moz-transform: scale(1.3);
         -o-transform: scale(1.3);
            transform: scale(1.3);
  }
  40% {
    -webkit-transform: scale(0.8);
       -moz-transform: scale(0.8);
         -o-transform: scale(0.8);
            transform: scale(0.8);
  }
  60% {
    -webkit-transform: scale(1.1);
       -moz-transform: scale(1.1);
         -o-transform: scale(1.1);
            transform: scale(1.1);
  }
  80% {
    -webkit-transform: scale(0.9);
       -moz-transform: scale(0.9);
         -o-transform: scale(0.9);
            transform: scale(0.9);
  }
  100% {
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
         -o-transform: scale(1);
            transform: scale(1);
  }
}
/*# sourceMappingURL=style.css.map */