/* ----- mv ----- */
#mv {
  background-color: #f8f6ec;
  padding: 0;
}
#mv .p-container {
  position: relative;
  width: 100%;
  background-image: url('../img/mv-bg__pc.png');
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: auto 626px;
}
#mv .p-container::before {
  display: block;
  padding-top: 672px;
  content: '';
}
#mv .p-title {
  position: absolute;
  left: 96px;
  top: 64px;
}
#mv .p-title-joint img {width: 480px;}
#mv .p-title h1 > *:nth-child(1) {
  display: block;
  font-family: var(--font-family-3rd);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--color-2nd);
  letter-spacing: 0.15em;
  line-height: 1.6;
  text-shadow: 0px 0px 8px #f8f6ec;
  margin-top: 32px;
}
#mv .p-title h1 > *:nth-child(2) {
  display: block;
  font-family: var(--font-family-3rd);
  font-size: 4.8rem;
  font-weight: 900;
  color: var(--color-2nd);
  letter-spacing: 0.15em;
  text-shadow: 0px 0px 8px #f8f6ec;
  line-height: 1.6;
}
#mv .p-title h1 > *:nth-child(3) {
  display: block;
  font-family: var(--font-family-1st);
  font-size: 6.4rem;
  font-weight: 800;
  color: var(--color-1st);
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 24px;
}
#mv .p-contents {
  position: absolute;
  left: 96px;
  bottom: 64px;
}
#mv .p-contents-award > .c-flex > * {margin-right: 8px;}
#mv .p-contents-award img {width: 120px;}
#mv .p-contents-award p {
  font-family: var(--font-family-3rd);
  font-size: 1rem;
  color: #333;
  margin-top: 8px;
}
#mv .p-contents-btn {margin-top: 32px;}
#mv .p-contents-btn .c-btn span {color: #FFF8DA;}
#mv .p-contents-btn .c-btn:hover span {color: var(--color-2nd);}
#mv .p-catchphrase {
  position: absolute;
  right: 72px;
  top: 96px;
  writing-mode: vertical-rl;
}
#mv .p-catchphrase p {
  font-family: var(--font-family-3rd);
  font-size: 3.6rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-shadow: 0 2px 5px rgb(0 0 0 / 20%);
}
@media screen and (max-width: 1200px) {
  #mv .p-container {background-position: bottom right -64px;}
  #mv .p-title {left: 32px;}
  #mv .p-title-joint img {width: 432px;}
  #mv .p-title h1 > *:nth-child(2) {font-size: 4.4rem;}
  #mv .p-contents {left: 32px;}
  #mv .p-catchphrase {right: 24px;}
}
@media screen and (max-width: 980px) {
  #mv .p-container {
    background-size: contain;
    background-position: bottom right -4vw;
  }
  #mv .p-container::before {padding-top: 55%;}
  #mv .p-title {
    left: 3%;
    top: 8%;
  }
  #mv .p-title-joint img {width: 50vw;}
  #mv .p-title h1 > *:nth-child(1) {
    font-size: 2.4vw;
    margin-top: 2.4vw;
  }
  #mv .p-title h1 > *:nth-child(2) {font-size: 4.43vw;}
  #mv .p-title h1 > *:nth-child(3) {
    font-size: 6.8vw;
    margin-top: 2vw;
  }
  #mv .p-contents {
    left: 3%;
    bottom: 3%;
  }
  #mv .p-contents-award > .c-flex > * {margin-right: 1vw;}
  #mv .p-contents-award img {width: 11vw;}
  #mv .p-contents-award p {
    font-size: 1vw;
    margin-top: 1vw;
  }
  #mv .p-contents-btn {margin-top: 2vw;}
  #mv .p-catchphrase {
    right: 2%;
    top: 16%;
  }
  #mv .p-catchphrase p {font-size: 3.2vw;}
}
@media screen and (max-width: 640px) {
  #mv .p-container::before {padding-top: 64%;}
  #mv .p-title {
    left: 3%;
    top: 6%;
  }
  #mv .p-title-joint img {width: 70vw;}
  #mv .p-title h1 > *:nth-child(1) {
    font-size: 2.8vw;
    margin-top: 3.2vw;
  }
  #mv .p-title h1 > *:nth-child(2) {
    font-size: 5.64vw;
    letter-spacing: 0.1em;
    line-height: 1.4;
  }
  #mv .p-title h1 > *:nth-child(3) {
    font-size: 7.4vw;
    margin-top: 2.8vw;
  }
  #mv .p-contents {bottom: 1.5%;}
  #mv .p-contents-award img {width: 14vw;}
  #mv .p-contents-award p {font-size: 1.4vw;}
  #mv .p-catchphrase {top: 40%;}
}

/* ----- ouchien ----- */
#ouchien {background-color: #f8f6ec;}
#ouchien .c-inner {padding-bottom: 64px;}
#ouchien .p-contents > .c-flex > *:nth-child(1) {
  width: 55%;
  padding: 64px 0 0 64px;
}
#ouchien .p-contents > .c-flex > *:nth-child(2) {width: 45%;}
#ouchien .p-contents-heading {
  display: inline-block;
  font-family: var(--font-family-1st);
  font-size: 2.8rem;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.05em;
  background-color: var(--color-1st);
  padding: 0.5em 0.8em;
}
#ouchien .p-contents-explain {
  margin-top: -24px;
  margin-left: 24px;
  padding: 40px 40px 24px;
  background: #f8f6ec;
  border-radius: 24px;
}
#ouchien .p-contents-explain p {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.5;
}
#ouchien .p-contents-movie {
  position: relative;
  width: 100%;
  padding-top: 520px;
  background-image: url('../img/about-img-phone.png');
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
}
#ouchien .p-contents-movie iframe {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 71%;
  transform: translate(-50%,-50%);
}
#ouchien .p-bgIllust > * {position: absolute;}
#ouchien .p-bgIllust > *:nth-child(1) {
  left: 0;
  bottom: 24px;
}
@media screen and (max-width: 1200px) {
  #ouchien .p-contents > .c-flex > *:nth-child(1) {
    width: 60%;
    padding: 64px 0 0 32px;
  }
  #ouchien .p-contents > .c-flex > *:nth-child(2) {width: 40%;}
}
@media screen and (max-width: 980px) {
  #ouchien {padding-bottom: 0;}
  #ouchien .c-inner {padding-bottom: 18vw;}
  #ouchien .p-contents > .c-flex > *:nth-child(1) {
    width: 100%;
    padding: 0 12%;
  }
  #ouchien .p-contents > .c-flex > *:nth-child(2) {
    width: 100%;
    margin-top: 2.4vw;
  }
  #ouchien .p-contents-heading {font-size: 3.6vw;}
  #ouchien .p-contents-explain {
    margin-top: -2.4vw;
    margin-left: 2.4vw;
    padding: 5vw 4vw 4vw;
    border-radius: 4.8vw;
  }
  #ouchien .p-contents-explain p {font-size: 2.4vw;}
  #ouchien .p-contents-movie {padding-top: 60%;}
  #ouchien .p-bgIllust > *:nth-child(1) {bottom: 6vw;}
}
@media screen and (max-width: 640px) {
  #ouchien .c-inner {padding-bottom: 22vw;}
  #ouchien .p-contents > .c-flex > *:nth-child(1) {padding: 0 6%;}
  #ouchien .p-contents > .c-flex > *:nth-child(2) {
    width: 100%;
    margin-top: 2.4vw;
  }
  #ouchien .p-contents-heading {font-size: 4vw;}
  #ouchien .p-contents-explain {
    margin-top: -2.8vw;
    margin-left: 2.8vw;
    border-radius: 5.6vw;
  }
  #ouchien .p-contents-explain p {font-size: 3vw;}
  #ouchien .p-contents-movie {padding-top: 100%;}
}

/* ----- docm01 ----- */
#docm01 {padding-top: 32px;}
#docm01 .p-separation {
  position: absolute;
  top: -90px;
  width: 100%;
  height: 100px;
  background-position: bottom center;
  background-size: auto 100px;
  background-image: url('../img/separation-white.png');
}
#docm01 .p-container {
  position: relative;
  width: 100%;
  background-image: url('../img/docm-bg.png');
  background-position: left 0 top;
  background-repeat: no-repeat;
  background-size: auto 100%;
}
#docm01 .p-container::before {
  display: block;
  padding-top: 644px;
  content: '';
}
#docm01 .p-contents {
  position: absolute;
  left: 960px;
  top: 50%;
  width: 552px;
  transform: translate(0,-50%);
}
#docm01 .p-contents-heading {
  display: inline-block;
  position: relative;
  font-family: var(--font-family-1st);
  font-size: 2.8rem;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.05em;
  background-color: var(--color-2nd);
  padding: 0.5em 0.8em;
  z-index: 2;
}
#docm01 .p-contents-explain {
  position: relative;
  margin-top: -24px;
  margin-left: 24px;
  padding: 40px 40px 24px;
  background: #f8f6ec;
  border-radius: 24px;
  z-index: 1;
}
#docm01 .p-contents-explain::before {
  position: absolute;
  left: -64px;
  bottom: 0;
  width: 100px;
  height: 100px;
  background-size: cover;
  background-image: url('../img/docm-shape-fukidashi.png');
  content: '';
}
#docm01 .p-contents-explain p {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.5;
}
@media screen and (max-width: 1600px) {
  #docm01 .p-container {background-position: left -88px top;}
  #docm01 .p-container::before {padding-top: 560px;}
  #docm01 .p-contents {left: 744px;}
}
@media screen and (max-width: 1400px) {
  #docm01 .p-container::before {padding-top: 480px;}
  #docm01 .p-contents {left: 624px;}
}
@media screen and (max-width: 1200px) {
  #docm01 .p-container::before {padding-top: 400px;}
  #docm01 .p-contents {left: 42%;}
}
@media screen and (max-width: 980px) {
  #docm01 {padding-top: 8vw;}
  #docm01 .p-separation {
    top: -3.5vw;
    height: 4vw;
    background-size: 50vw auto;
  }
  #docm01 .p-container {
    background-size: 85%;
    background-position: left -0 bottom;
  }
  #docm01 .p-container::before {padding-top: 112%;}
  #docm01 .p-contents {
    left: 50%;
    top: 0;
    width: 100%;
    padding: 0 14%;
    transform: translate(-50%,0);
  }
  #docm01 .p-contents-heading {font-size: 3.6vw;}
  #docm01 .p-contents-explain {
    margin-top: -2.4vw;
    margin-left: 2.4vw;
    padding: 5vw 4vw 4vw;
    border-radius: 4.8vw;
  }
  #docm01 .p-contents-explain::before {
    left: 0;
    bottom: -6vw;
    width: 10vw;
    height: 10vw;
    transform: rotate(90deg) scale(-1, 1);
  }
  #docm01 .p-contents-explain p {font-size: 2.4vw;}
}
@media screen and (max-width: 640px) {
  #docm01 .p-container::before {padding-top: 123%;}
  #docm01 .p-contents {padding: 0 8%;}
  #docm01 .p-contents-heading {font-size: 4vw;}
  #docm01 .p-contents-explain {
    margin-top: -2.8vw;
    margin-left: 2.8vw;
    border-radius: 5.6vw;
  }
  #docm01 .p-contents-explain p {font-size: 3vw;}
}

/* ----- docm02 ----- */
#docm02 .p-bgIllust > * {position: absolute;}
#docm02 .p-bgIllust > *:nth-child(1) {
  right: 96px;
  top: -48px;
}
#docm02 .p-bgIllust > *:nth-child(2) {
  right: 48px;
  top: 0;
}
#docm02 .p-bgIllust > *:nth-child(3) {
  left: 120px;
  top: -32px;
}
#docm02 .p-bgIllust > *:nth-child(4) {
  left: 0;
  top: 72px;
}
#docm02 .p-bgIllust > *:nth-child(5) {
  right: 0;
  top: 0;
}
#docm02 .p-bgIllust > *:nth-child(6) {
  left: 72px;
  top: 0;
}
#docm02 .p-bgIllust > *:nth-child(7) {
  left: -24px;
  bottom: 32px;
}
#docm02 .p-bgIllust > *:nth-child(8) {
  right: 0;
  bottom: 32px;
}
#docm02 .c-inner {padding-bottom: 120px;}
#docm02 .p-contents-heading {
  font-family: var(--font-family-1st);
  font-size: 2.4rem;
  color: var(--color-1st);
  text-align: center;
  letter-spacing: 0.1em;
}
#docm02 .p-contents-figure {
  text-align: center;
  margin-top: 64px;
}
#docm02 .p-contents-figure img {
  width: 100%;
  max-width: 840px;
}
#docm02 .p-contents-subheading {
  font-family: var(--font-family-1st);
  font-size: 1.8rem;
  color: var(--color-2nd);
  text-align: center;
  letter-spacing: 0.1em;
  margin-top: 80px;
}
#docm02 .p-contents-movie {
  width: 100%;
  max-width: 720px;
  margin: auto;
  background-color: #f8f6ec;
  margin-top: 32px;
  padding: 24px;
  border-radius: 24px;
}
@media screen and (max-width: 980px) {
  #docm02 {padding-bottom: 0;}
  #docm02 .p-bgIllust > *:nth-child(1) {
    right: 8vw;
    top: -8vw;
  }
  #docm02 .p-bgIllust > *:nth-child(2) {
    right: 3vw;
    top: -2vw;
  }
  #docm02 .p-bgIllust > *:nth-child(3) {
    left: 8vw;
    top: -8vw;    
  }
  #docm02 .p-bgIllust > *:nth-child(4) {
    left: 0;
    top: 4vw;    
  }
  #docm02 .p-bgIllust > *:nth-child(5) {
    right: 0;
    top: 2vw;
  }
  #docm02 .p-bgIllust > *:nth-child(6) {
    left: 0vw;
    top: -4vw;
  }
  #docm02 .p-bgIllust > *:nth-child(7) {
    left: 0;
    bottom: 6vw;
  }
  #docm02 .p-bgIllust > *:nth-child(8) {
    right: 0;
    bottom: 6vw;
  }
  #docm02 .c-inner {padding-bottom: 36vw;}
  #docm02 .p-contents-heading {font-size: 3.6vw;}
  #docm02 .p-contents-figure {margin-top: 9.6vw;}
  #docm02 .p-contents-subheading {
    font-size: 2.8vw;
    margin-top: 9.6vw;
  }
  #docm02 .p-contents-movie {
    margin-top: 3.2vw;
    padding: 3.2vw;
    border-radius: 3.2vw;
  }
}
@media screen and (max-width: 640px) {
  #docm02 .c-inner {padding-bottom: 42vw;}
  #docm02 .p-contents-heading {font-size: 4vw;}
  #docm02 .p-contents-subheading {font-size: 3.2vw;}
}

/* ----- case ----- */
#case {
  padding-top: 32px;
  background-color: #f8f6ec;
}
#case .p-separation {
  position: absolute;
  top: -90px;
  width: 100%;
  height: 100px;
  background-position: bottom center;
  background-size: auto 100px;
  background-image: url('../img/separation-beige.png');
}
#case .c-inner {padding-bottom: 120px;}
#case .p-bgIllust > * {position: absolute;}
#case .p-bgIllust > *:nth-child(1) {
  left: -32px;
  bottom: 0;
}
#case .p-bgIllust > *:nth-child(2) {
  right: -32px;
  bottom: 0;
}
#case .p-slideshow {
  position: relative;
  width: 100%;
  max-width: 896px;
  margin-top: 48px;
  margin-left: auto;
  margin-right: auto;
}
#case .p-slideshow a {
  display: block;
  padding: 16px 8px;
}
#case .p-slideshow a:hover {transform: translateY(-16px);}
#case .p-slideshow-contents {
  padding: 40px 16px;
  background-color: #fff;
  border-radius: 24px;
}
#case .p-slideshow-contents > .c-table > *:nth-child(1) {width: 128px;}
#case .p-slideshow-contents > .c-table > *:nth-child(2) {padding-left: 24px;}
#case .p-case-name {border-bottom: 1px solid #eee;}
#case .p-case-name > p {color: var(--color-2nd);}
#case .p-case-name > p:nth-of-type(1) {
  font-family: var(--font-family-1st);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#case .p-case-name > p:nth-of-type(2) {
  font-family: var(--font-family-1st);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
#case .p-case-teacher {
  margin-top: 16px;
  border-bottom: 1px solid #eee;
}
#case .p-case-teacher > .c-flex > * {width: 49%;}
#case .p-case-teacher > .c-flex > *:not(:nth-child(2n)) {margin-right: 2%;}
#case .p-case-teacher > .c-flex > * > p {color: var(--color-2nd);}
#case .p-case-teacher > .c-flex > * > p:nth-of-type(1) {
  font-family: var(--font-family-1st);
  font-size: 14px;
}
#case .p-case-teacher > .c-flex > * > p:nth-of-type(2) {
  font-family: var(--font-family-1st);
  font-size: 16px;
  font-weight: 700;
}
#case .p-case-message {margin-top: 16px;}
#case .p-case-message p {
  font-size: 14px;
  font-weight: 700;
}
#case .p-btn {margin-top: 32px;}
@media screen and (max-width: 980px) {
  #case {
    padding-top: 8vw;
    padding-bottom: 2vw;
  }
  #case .p-separation {
    top: -3.5vw;
    height: 4vw;
    background-size: 50vw auto;
  }
  #case .c-inner {padding-bottom: 24vw;}
  #case .p-bgIllust > *:nth-child(1) {
    left: 0;
    bottom: 0;
  }
  #case .p-bgIllust > *:nth-child(2) {
    right: 0;
    bottom: 0;
  }
  #case .p-slideshow {
    width: 65vw;
    margin-top: 8vw;
  }
  #case .p-slideshow-contents {padding: 6vw 4vw;}
  #case .p-slideshow-contents > .c-table > *:nth-child(1) {width: 20vw;}
  #case .p-slideshow-contents > .c-table > *:nth-child(2) {padding-left: 3vw;}
  #case .p-case-name > p:nth-of-type(1) {font-size: 1.4vw;}
  #case .p-case-name > p:nth-of-type(2) {font-size: 2.8vw;}
  #case .p-case-teacher {margin-top: 2.4vw;}
  #case .p-case-teacher > .c-flex > * > p:nth-of-type(1) {font-size: 1.4vw;}
  #case .p-case-teacher > .c-flex > * > p:nth-of-type(2) {font-size: 2.0vw;}
  #case .p-case-message {margin-top: 2.0vw;}
  #case .p-case-message p {font-size: 1.4vw;}
}
@media screen and (max-width: 640px) {
  #case .p-slideshow {
    width: 80vw;
    margin-top: 4vw;
  }
  #case .p-slideshow-contents > .c-table > *:nth-child(1) {width: 20vw;}
  #case .p-case-name > p:nth-of-type(1) {font-size: 2.4vw;}
  #case .p-case-name > p:nth-of-type(2) {font-size: 4vw;}
  #case .p-case-teacher > .c-flex > * > p:nth-of-type(1) {font-size: 2.4vw;}
  #case .p-case-teacher > .c-flex > * > p:nth-of-type(2) {font-size: 2.8vw;}
  #case .p-case-message p {font-size: 2.4vw;}
}

/* ----- feature ----- */
#feature {
  padding-top: 32px;
  padding-bottom: 192px;
}
#feature .p-separation {
  position: absolute;
  top: -90px;
  width: 100%;
  height: 100px;
  background-position: bottom center;
  background-size: auto 100px;
  background-image: url('../img/separation-white.png');
}
#feature .p-contents > .c-flex:nth-of-type(even) {flex-direction: row-reverse;}
#feature .p-contents > .c-flex > *:nth-child(1) {width: 40%;}
#feature .p-contents > .c-flex > *:nth-child(2) {
  width: 60%;
  padding: 0 32px;
}
#feature .p-contents h3 {
  position: relative;
  font-size: 28px;
  font-weight: 700;
  color: var(--color-2nd);
  padding-left: 80px;
}
#feature .p-contents h3::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 70px;
  height: 70px;
  background-size: cover;
  background-image: url('../img/feature-point-01.png');
  transform: translateY(-50%);
  content: '';
}
#feature .p-contents > .c-flex:nth-of-type(1) h3::before {background-image: url('../img/feature-point-01.png');}
#feature .p-contents > .c-flex:nth-of-type(2) h3::before {background-image: url('../img/feature-point-02.png');}
#feature .p-contents > .c-flex:nth-of-type(3) h3::before {background-image: url('../img/feature-point-03.png');}
#feature .p-contents > .c-flex:nth-of-type(4) h3::before {background-image: url('../img/feature-point-04.png');}
#feature .p-contents > .c-flex:nth-of-type(5) h3::before {background-image: url('../img/feature-point-05.png');}
#feature .p-contents p {
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
  margin-top: 24px;
  padding: 0 24px;
}
#feature .p-btn {margin-top: 96px;}
#feature .p-btn p {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-1st);
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}
#feature .p-btn .c-btn span {color: #fff8da;}
#feature .p-btn .c-btn:hover span {color: var(--color-2nd);}
#feature .p-attention {
  margin-top: 48px;
  padding: 48px 48px;
  background-color: #f8f6ec;
  border-radius: 24px;
}
#feature .p-attention > div {
  width: 660px;
  margin-left: auto;
  margin-right: auto;
}
#feature .p-attention > div:nth-of-type(2) {width: 100%;}
#feature .p-attention h3 {
  position: relative;
  font-size: 32px;
  font-weight: 700;
  color: var(--color-2nd);
  padding-left: 96px;
}
#feature .p-attention h3::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 80px;
  height: 80px;
  background-size: cover;
  background-image: url('../img/feature-point-attention.png');
  transform: translateY(-50%);
  content: '';
}
#feature .p-attention-lead {
  color: var(--color-1st);
  font-family: var(--font-family-1st);
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  margin-top: 16px;
}
#feature .p-attention-diagram {
  position: relative;
  margin-top: 32px;
}
#feature .p-attention-diagram > .c-flex > * {width: 50%;}
#feature .p-attention-diagram .p-bgIllust > * {position: absolute;}
#feature .p-attention-diagram .p-bgIllust > *:nth-child(1) {
  left: -72px;
  bottom: -56px;
}
#feature .p-attention-diagram-item {
  position: relative;
  width: 256px;
  margin: 40px auto 0;
  padding: 12px;
  background-color: var(--color-1st);
  border-radius: 64px;
  z-index: 2;
}
#feature .p-attention-diagram-item > div {
  position: relative;
  height: 48px;
}
#feature .p-attention-diagram-item h4 {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  color: #fff;
  font-family: var(--font-family-1st);
  text-align: center;
  transform: translateY(-50%);
}
#feature .p-attention-diagram-item h4 > strong {
  display: block;
  font-size: 20px;
  line-height: 1.6;
}
#feature .p-attention-diagram-item h4 > small {
  display: block;
  font-size: 14px;
  line-height: 1.2;
}
#feature .p-attention-diagram-item p {
  color: #fff;
  font-family: var(--font-family-1st);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  margin-top: 12px;
  padding: 8px 0 0;
  border-top: 2px solid #fff;
}
#feature .p-attention-diagram .p-lower > * {
  position: absolute;
  z-index: 1;
}
#feature .p-attention-diagram .p-lower > *:nth-child(1) {
  left: 248px;
  top: 104px;
  width: 160px;
}
#feature .p-attention-diagram .p-lower > *:nth-child(2) {
  left: 224px;
  top: 216px;
  width: 180px;
}
#feature .p-attention-diagram .p-lower > *:nth-child(3) {
  left: 256px;
  top: 400px;
  width: 208px;
}
#feature .p-attention-pickup {
  position: relative;
  width: 100%;
  margin-top: 48px;
  padding: 32px 24px;
  background-color: #fff;
  border-radius: 16px;
}
#feature .p-attention-pickup > div {
  width: 100%;
  padding-left: 42%;
}
#feature .p-attention-pickup h4 {
  display: inline-block;
  font-family: var(--font-family-1st);
  font-size: 20px;
  color: #fff;
  letter-spacing: 0.1em;
  padding: 8px 16px;
  background-color: #ffa6b9;
}
#feature .p-attention-pickup h4 > * {display: block;}
#feature .p-attention-pickup p {
  font-family: var(--font-family-1st);
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
  margin-top: 16px;
  padding-left: 1em;
}
#feature .p-attention-pickup p span {
  display: block;
  color: var(--color-1st);
  font-size: 14px;
  font-weight: 700;
  margin-top: 16px;
}
#feature .p-attention-pickup p span::before {
  content: '←';
}
#feature .p-attention-pickup figure {
  position: absolute;
  left: 128px;
  top: 50%;
  transform: translateY(-50%);
}
#feature .p-attention-pickup figure img {width: 224px;}
#feature .p-attention-pickup-btn {
  margin-top: 16px;
  padding-left: 1em;
}
#feature .p-attention-pickup-btn .c-btn.is-arrrow {font-size: inherit;}
@media screen and (max-width: 980px) {
  #feature {
    padding-top: 8vw;
    padding-bottom: 16vw;
  }
  #feature .p-separation {
    top: -3.5vw;
    height: 4vw;
    background-size: 50vw auto;
  }
  #feature .p-contents > .c-flex {margin-top: 6vw;}
  #feature .p-contents > .c-flex > *:nth-child(1) {width: 35%;}
  #feature .p-contents > .c-flex > *:nth-child(2) {
    width: 65%;
    padding: 0 2vw;
  }
  #feature .p-contents h3 {
    font-size: 3.6vw;
    padding-left: 10vw;
  }
  #feature .p-contents h3::before {
    width: 8vw;
    height: 8vw;
  }
  #feature .p-contents p {
    font-size: 2.4vw;
    margin-top: 4vw;
    padding: 0 3vw;
  }
  #feature .p-btn {margin-top: 10vw;}
  #feature .p-btn p {font-size: 2.4vw;}
  #feature .p-attention {
    margin-top: 9.6vw;
    padding: 4.8vw;
  }
  #feature .p-attention > div {width: 75vw;}
  #feature .p-attention h3 {
    font-size: 3.6vw;
    padding-left: 10vw;
  }
  #feature .p-attention h3::before {
    width: 8vw;
    height: 8vw;
  }
  #feature .p-attention-lead {
    font-size: 2.0vw;
    margin-top: 1.2em;
  }
  #feature .p-attention-diagram {margin-top: 1.6vw;}
  #feature .p-attention-diagram .p-bgIllust > *:nth-child(1) {display: none;}
  #feature .p-attention-diagram > .c-flex > *:nth-child(1) {width: 46%;}
  #feature .p-attention-diagram > .c-flex > *:nth-child(2) {width: 54%;}
  #feature .p-attention-diagram-item {
    width: 100%;
    margin: 3.2vw auto 0;
    padding: 2vw;
    border-radius: 16vw;
  }
  #feature .p-attention-diagram-item > div {height: 6.4vw;}
  #feature .p-attention-diagram-item h4 > strong {font-size: 2.8vw;}
  #feature .p-attention-diagram-item h4 > small {font-size: 2vw;}
  #feature .p-attention-diagram-item p {
    font-size: 1.8vw;
    margin-top: 1vw;
    padding: 1vw 0 0;
  }
  #feature .p-attention-diagram .p-lower > *:nth-child(1) {
    left: 23vw;
    top: 13vw;
    width: 21vw;
  }
  #feature .p-attention-diagram .p-lower > *:nth-child(2) {
    left: 20vw;
    top: 26vw;
    width: 24vw;
  }
  #feature .p-attention-diagram .p-lower > *:nth-child(3) {
    left: 22vw;
    top: 46vw;
    width: 30vw;
  }
  #feature .p-attention-pickup {
    margin-top: 3.6vw;
    padding: 3.2vw;
    border-radius: 3.2vw;
  }
  #feature .p-attention-pickup h4 {font-size: 2.8vw;}
  #feature .p-attention-pickup p {
    font-size: 2.4vw;
    margin-top: 1.6vw;
  }
  #feature .p-attention-pickup p span {
    font-size: 1.8vw;
    margin-top: 2vw;
  }
  #feature .p-attention-pickup figure {left: 6%}
  #feature .p-attention-pickup figure img {width: 28vw;}
  #feature .p-attention-pickup-btn {margin-top: 1.6vw;}
}
@media screen and (max-width: 640px) {
  #feature .p-contents > .c-flex {margin-top: 12vw;}
  #feature .p-contents > .c-flex > *:nth-child(1) {width: 30%;}
  #feature .p-contents > .c-flex > *:nth-child(2) {
    width: 70%;
    padding: 0 2vw;
  }
  #feature .p-contents h3 {
    font-size: 4.0vw;
    padding-left: 11vw;
  }
  #feature .p-contents h3::before {
    width: 9vw;
    height: 9vw;
  }
  #feature .p-contents p {
    font-size: 3vw;
    padding: 0 1vw;
  }
  #feature .p-btn p {font-size: 3vw;}
  #feature .p-attention {padding: 6.4vw 3.2vw;}
  #feature .p-attention > div {width: 100%;}
  #feature .p-attention h3 {
    font-size: 4vw;
    padding-left: 11vw;
  }
  #feature .p-attention h3::before {
    width: 9vw;
    height: 9vw;
  }
  #feature .p-attention-lead {font-size: 2.4vw;}
  #feature .p-attention-diagram-item > div {height: 7.2vw;}
  #feature .p-attention-diagram-item h4 > strong {font-size: 3.2vw;}
  #feature .p-attention-diagram-item h4 > small {font-size: 2.4vw;}
  #feature .p-attention-diagram-item p {
    font-size: 2vw;
    padding: 1.6vw 0 0.8vw;
  }
  #feature .p-attention-diagram .p-lower > *:nth-child(1) {
    left: 24vw;
    top: 15vw;
    width: 28.4vw;
  }
  #feature .p-attention-diagram .p-lower > *:nth-child(2) {
    left: 19vw;
    top: 30vw;
    width: 32vw;
  }
  #feature .p-attention-diagram .p-lower > *:nth-child(3) {
    left: 20vw;
    top: 49vw;
    width: 40vw;
  }
  #feature .p-attention-pickup > div {
    padding-left: 0;
    padding-bottom: 42vw;
  }
  #feature .p-attention-pickup h4 {font-size: 3.6vw;}
  #feature .p-attention-pickup p {
    font-size: 3.0vw;
    padding-left: 0;
  }
  #feature .p-attention-pickup p span {
    font-size: 2.8vw;
    text-align: center;
  }
  #feature .p-attention-pickup p span::before {content: '↓';}
  #feature .p-attention-pickup figure {
    left: 50%;
    top: auto;
    bottom: -2vw;
    transform: translateX(-50%);
  }
  #feature .p-attention-pickup figure img {width: 34vw;}
  #feature .p-attention-pickup-btn {
    text-align: center;
    padding-left: 0;
  }
}

/* ----- report ----- */
#report {
  padding-top: 32px;
  padding-bottom: 160px;
  background-color: #f8f6ec;
}
#report .p-separation {
  position: absolute;
  top: -90px;
  width: 100%;
  height: 100px;
  background-position: bottom center;
  background-size: auto 100px;
  background-image: url('../img/separation-beige.png');
}
#report .p-heading {text-align: center;}
#report .p-heading img {
  width: 100%;
  max-width: 720px;
}
#report .p-report p {
  position: relative;
  font-family: var(--font-family-1st);
  font-size: 24px;
  font-weight: 700;
  color: var(--color-2nd);
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 32px;
  padding-left: 144px;
}
#report .p-report p::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 128px;
  height: 70px;
  background-size: cover;
  background-image: url('../img/result-report.png');
  transform: translate(0, -50%);
  content: '';
}
#report .p-imgtxt {margin-top: 48px;}
#report .p-imgtxt > .c-flex > *:nth-child(1) {
  width: calc(100% - 280px);
  padding-right: 32px;
}
#report .p-imgtxt > .c-flex > *:nth-child(2) {width: 280px;}
#report .p-imgtxt-explain p {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2.8;
}
#report .p-imgtxt-photo {text-align: center;}
#report .p-imgtxt-photo img {width: 85%;}
#report .p-imgtxt-name {margin-top: 24px;}
#report .p-imgtxt-name > P {
  font-weight: 700;
  color: var(--color-2nd);
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 2;
}
#report .p-imgtxt-name > P:nth-of-type(1) {
  font-family: var(--font-family-1st);
  font-size: 14px;
}
#report .p-imgtxt-name > P:nth-of-type(2) {
  font-family: var(--font-family-1st);
  font-size: 20px;
}
@media screen and (max-width: 980px) {
  #report {
    padding-top: 8vw;
    padding-bottom: 12vw;
  }
  #report .p-separation {
    top: -3.5vw;
    height: 4vw;
    background-size: 50vw auto;
  }
  #report .p-report p {
    font-size: 2.8vw;
    margin-top: 3.2vw;
    padding-left: 12vw;
  }
  #report .p-report p::before {
    width: 10.97vw;
    height: 6vw;
  }
  #report .p-imgtxt {margin-top: 4.8vw;}
  #report .p-imgtxt > .c-flex {flex-direction: column-reverse;}
  #report .p-imgtxt > .c-flex > *:nth-child(1) {
    width: 100%;
    margin-top: 3.2vw;
    padding-right: 0;
  }
  #report .p-imgtxt > .c-flex > *:nth-child(2) {width: 100%;}
  #report .p-imgtxt-photo img {width: 40vw;}
  #report .p-imgtxt-explain p {font-size: 2.4vw;}
  #report .p-imgtxt-name {margin-top: 2.4vw;}
  #report .p-imgtxt-name > P:nth-of-type(1) {font-size: 2.2vw;}
  #report .p-imgtxt-name > P:nth-of-type(2) {font-size: 3vw;}
}
@media screen and (max-width: 640px) {
  #report .p-report p {
    font-size: 3.2vw;
    padding-left: 0;
    padding-top: 8vw;
  }
  #report .p-report p::before {
    left: 50%;
    top: 0;
    width: 14.63vw;
    height: 8vw;
    transform: translate(-50%, 0);
  }
  #report .p-imgtxt-explain p {font-size: 3.0vw;}
  #report .p-imgtxt-name > P:nth-of-type(1) {font-size: 2.8vw;}
  #report .p-imgtxt-name > P:nth-of-type(2) {font-size: 3.6vw;}
}

/* ----- howto ----- */
#howto {padding-top: 32px;}
#howto .p-separation {
  position: absolute;
  top: -90px;
  width: 100%;
  height: 100px;
  background-position: bottom center;
  background-size: auto 100px;
  background-image: url('../img/separation-white.png');
}
#howto .p-bgIllust > * {position: absolute;}
#howto .p-bgIllust > *:nth-child(1) {
  left: -24px;
  top: -48px;
}
#howto .p-bgIllust > *:nth-child(2) {
  left: 24px;
  top: -16px;
}
#howto .p-bgIllust > *:nth-child(3) {
  right: 32px;
  top: -32px;
}
#howto .p-bgIllust > *:nth-child(4) {
  right: -24px;
  top: 32px;
}
#howto .p-bgIllust > *:nth-child(5) {
  left: -32px;
  bottom: 0;
}
#howto .p-bgIllust > *:nth-child(6) {
  right: -32px;
  bottom: 0;
}
#howto .c-inner {
  /*
  padding-bottom: 400px;
  */
  padding-bottom: 320px;
}
#howto .p-title {
  font-family: var(--font-family-1st);
  font-size: 28px;
  font-weight: 700;
  color: var(--color-1st);
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-top: 48px;
}
#howto .p-title span {
  display: inline-block;
  font-size: 48px;
  font-weight: 800;
  color: var(--color-2nd);
  margin: 0 16px;
}
#howto .p-contents {margin-top: 48px;}
#howto .p-contents > .c-flex > * {
  width: 32%;
  margin-right: 2%;
}
#howto .p-contents > .c-flex > *:nth-child(1), #howto .p-contents > .c-flex > *:nth-child(3) {background-color: #fff;}
#howto .p-contents > .c-flex > *:not(:last-child)::after {
  position: absolute;
  right: -28%;
  top: 50%;
  width: 50%;
  border-top: 8px dotted var(--color-1st);
  transform: translateY(-50%);
  z-index: -1;
  content: '';
}
#howto .p-contents > .c-flex > * figure {text-align: center;}
#howto .p-contents > .c-flex > * img {width: 100%;}
#howto .p-contents > .c-flex > *:nth-child(1) img {width: 75%;}
#howto .p-contents > .c-flex > *:nth-child(2) img {width: 70%;}
#howto .p-contents > .c-flex > *:nth-child(3) img {width: 35%;}
#howto .p-contents-detail {
  position: absolute;
  top: 90%;
  width: 100%;
  background-image: url(../img/howto-bg-contents.png);
  background-size: cover;
}
#howto .p-contents-detail::before {
  display: block;
  padding-top: 77.91%;
  content: '';
}
#howto .p-contents-detail > * {
  position: absolute;
  top: 15%;
  padding: 8%;
}
#howto .p-contents-detail h4 {
  font-family: var(--font-family-1st);
  font-size: 28px;
  font-weight: 700;
  color: var(--color-2nd);
  letter-spacing: 0.1em;
  line-height: 1.4;
}
#howto .p-contents-detail h4 > span:nth-of-type(1) {
  display: inline-block;
  font-size: 36px;
  font-weight: 800;
  color: var(--color-1st);
}
#howto .p-contents-detail p {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 2;
  margin-top: 4%;
}
@media screen and (max-width: 1200px) {
  #howto .p-contents-detail h4 {font-size: 2.6vw;}
  #howto .p-contents-detail h4 > span:nth-of-type(1) {font-size: 3.4vw;}
  #howto .p-contents-detail p {font-size: 1.2vw;}
}
@media screen and (max-width: 980px) {
  #howto {
    padding-top: 8vw;
    padding-bottom: 2vw;
  }
  #howto .p-separation {
    top: -3.5vw;
    height: 4vw;
    background-size: 50vw auto;
  }
  #howto .p-bgIllust > *:nth-child(1) {
    left: 0;
    top: -6vw;
  }
  #howto .p-bgIllust > *:nth-child(2) {
    left: 4vw;
    top: -2vw;
  }
  #howto .p-bgIllust > *:nth-child(3) {
    right: 6vw;
    top: -6vw; 
  }
  #howto .p-bgIllust > *:nth-child(4) {
    right: 0;
    top: 2vw; 
  }
  #howto .p-bgIllust > *:nth-child(5) {
    left: 0;
    bottom: 0;
  }
  #howto .p-bgIllust > *:nth-child(6) {
    right: 0;
    bottom: 0;
  }
  #howto .c-inner {
    /*
    padding-bottom: 24vw;
    */
    padding-bottom: 10vw;
  }
  #howto .p-title {
    font-size: 3.6vw;
    margin-top: 4.8vw;
  }
  #howto .p-title span {
    font-size: 6.4vw;
    margin: 0 1.6vw
  }
  #howto .p-contents {margin-top: 8vw;}
  #howto .p-contents > .c-flex {justify-content: center;}
  #howto .p-contents > .c-flex > * {
    width: 75%;
    margin-right: 0;
  }
  #howto .p-contents > .c-flex > *:not(:first-child) {
    margin-top: 3.2vw;
    padding-top: 4.8vw;
  }
  #howto .p-contents > .c-flex > *:not(:last-child)::after {
    right: 25%;
    top: 100%;
    transform: translateY(0) rotate(270deg);
  }
  #howto .p-contents-detail {
    position: relative;
    transform: translateY(-10%);
  }
  #howto .p-contents-detail h4 {font-size: 4vw;}
  #howto .p-contents-detail h4 > span:nth-of-type(1) {font-size: 6.4vw;}
  #howto .p-contents-detail p {font-size: 2.8vw;}

}
@media screen and (max-width: 640px) {
  #howto .c-inner {
    /*
    padding-bottom: 30vw;
    */
  }
}

/* ----- message ----- */
#message {
  padding-top: 32px;
  padding-bottom: 240px;
  background-color: #f8f6ec;
}
#message .p-separation {
  position: absolute;
  top: -90px;
  width: 100%;
  height: 100px;
  background-position: bottom center;
  background-size: auto 100px;
  background-image: url('../img/separation-beige.png');
}
#message .p-bgIllust > * {position: absolute;}
#message .p-bgIllust > *:nth-child(1) {
  left: 96px;
  bottom: 120px;
}
#message .p-bgIllust > *:nth-child(2) {
  left: 48px;
  bottom: 160px;
}
#message .p-bgIllust > *:nth-child(3) {
  right: 48px;
  top: 160px;
}
#message .p-bgIllust > *:nth-child(4) {
  right: 120px;
  bottom: 120px;
}
#message .p-contents {
  position: relative;
  width: 100%;
  margin-top: 48px;
  background-image: url('../img/message-img.png');
  background-position: right 0 top;
  background-repeat: no-repeat;
  background-size: auto 100%;
}
#message .p-contents::before {
  display: block;
  padding-top: 400px;
  content: '';
}
#message .p-contents > * {
  position: absolute;
  right: 50%;
  top: 50%;
  width: 560px;
  transform: translate(50%,-50%);
}
#message .p-contents-explain p {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 2.5;
  padding: 0 16px;
}
#message .p-explain {
  width: 90%;
  max-width: 776px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 48px;
}
#message .p-explain p {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 3;
}


@media screen and (max-width: 1800px) {
  #message .p-contents > * {
    right: 640px;
    transform: translate(0,-50%);
  }
}
@media screen and (max-width: 1200px) {
  #message .p-contents {background-size: 400px auto;}
  #message .p-contents > * {
    right: 400px;
    transform: translate(0,-50%);
  }
}
@media screen and (max-width: 980px) {
  #message {
    padding-top: 8vw;
    padding-bottom: 32vw;
  }
  #message .p-separation {
    top: -3.5vw;
    height: 4vw;
    background-size: 50vw auto;
  }
  #message .p-bgIllust > *:nth-child(1) {
    left: 8vw;
    bottom: 6vw;
  }
  #message .p-bgIllust > *:nth-child(2) {
    left: 4vw;
    bottom: 12vw;
  }
  #message .p-bgIllust > *:nth-child(3) {
    right: 2vw;
    top: 18vw;
  }
  #message .p-bgIllust > *:nth-child(4) {
    right: 2vw;
    bottom: 4vw;
  }
  #message .p-contents {
    margin-top: 4vw;
    background-size: 85%;
    background-position: right 0 bottom;
  }
  #message .p-contents::before {padding-top: 123%;}
  #message .p-contents > * {
    left: 50%;
    top: 0;
    width: 100%;
    padding: 0 14%;
    transform: translate(-50%,0);
  }
  #message .p-contents-explain p {
    font-size: 2.4vw;
    padding: 0;
  }
  #message .p-explain {margin-top: 4.8vw;}
  #message .p-explain p {
    font-size: 2.4vw;
    line-height: 2.5;
  }
}
@media screen and (max-width: 640px) {
  #message .p-contents::before {padding-top: 148%;}
  #message .p-contents > * {padding: 0 8%;}
  #message .p-contents-explain p {font-size: 3vw;}
  #message .p-explain p {font-size: 3vw;}
}

/* ----- function ----- */
#function {padding-top: 32px;}
#function .p-separation {
  position: absolute;
  top: -90px;
  width: 100%;
  height: 100px;
  background-position: bottom center;
  background-size: auto 100px;
  background-image: url('../img/separation-white.png');
}
#function .c-inner {padding-bottom: 240px;}
#function .p-bgIllust > * {position: absolute;}
#function .p-bgIllust > *:nth-child(1) {
  left: -32px;
  bottom: 48px;
}
#function .p-bgIllust > *:nth-child(2) {
  right: -32px;
  bottom: 32px;
}
#function .p-figure {
  text-align: center;
  margin-top: 48px;
}
#function .p-figure img {
  width: 85%;
  max-width: 740px;
}
#function .p-docdl {margin-top: 96px;}
#function .p-table {
  width: 100%;
  max-width: 800px;
  margin-top: 48px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 16px;
  overflow: hidden;
}
#function .p-table > *:nth-child(n + 2) {margin-top: 4px;}
#function .p-table .c-table > *:nth-child(1) {
  width: 40%;
  padding: 16px 8px;
  background-color: var(--color-1st);
}
#function .p-table .c-table > *:nth-child(1) p {
  color: #fff;
  font-family: var(--font-family-1st);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}
#function .p-table .c-table > *:nth-child(2) {
  padding: 16px;
  background-color: #F8F6EC;
}
#function .p-table .c-table > *:nth-child(2) p {
  color: var(--color-2nd);
  font-family: var(--font-family-1st);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#function .p-table .c-table > *:nth-child(2) p span.is-number {
  display: inline-block;
  color: #EA6363;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: 0;
  margin-right: 0.2em;
}
#function .p-table .c-table > *:nth-child(2) p strong {
  display: inline-block;
  color: #EA6363;
  font-size: 32px;
  letter-spacing: .1em;
}
#function .p-table .c-table > *:nth-child(2) p small {
  display: inline-block;
  color: #EA6363;
  font-size: 14px;
}
#function .p-btn {margin-top: 96px;}
#function .p-btn p {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-1st);
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}
#function .p-btn .c-btn span {color: #fff8da;}
#function .p-btn .c-btn:hover span {color: var(--color-2nd);}
@media screen and (max-width: 980px) {
  #function {
    padding-top: 8vw;
    padding-bottom: 0;
  }
  #function .p-separation {
    top: -3.5vw;
    height: 4vw;
    background-size: 50vw auto;
  }
  #function .c-inner {padding-bottom: 28vw;}
  #function .p-bgIllust > *:nth-child(1) {
    left: 0;
    bottom: 6vw;
  }
  #function .p-bgIllust > *:nth-child(2) {
    right: 0;
    bottom: 4vw;
  }
  #function .p-figure {margin-top: 4vw;}
  #function .p-docdl {margin-top: 8vw;}
  #function .p-table {margin-top: 4.8vw;}
  #function .p-table .c-table > *:nth-child(1) {
    width: 40%;
    padding: 2.4vw 1.6vw;
  }
  #function .p-table .c-table > *:nth-child(1) p {font-size: 2.4vw;}
  #function .p-table .c-table > *:nth-child(2) {
    padding: 2.4vw 1.6vw;
  }
  #function .p-table .c-table > *:nth-child(2) p {font-size: 1.6vw;}
  #function .p-table .c-table > *:nth-child(2) p span.is-number {font-size: 3.6vw;}
  #function .p-table .c-table > *:nth-child(2) p strong {font-size: 3.6vw;}
  #function .p-table .c-table > *:nth-child(2) p small {font-size: 2vw;}
  #function .p-btn {margin-top: 10vw;}
  #function .p-btn p {font-size: 2.4vw;}
}
@media screen and (max-width: 640px) {
  #function .p-figure img {width: 100%;}
  #function .p-table .c-table > *:nth-child(1) p {font-size: 3.2vw;}
  #function .p-table .c-table > *:nth-child(2) {padding: 2.4vw;}
  #function .p-table .c-table > *:nth-child(2) p {font-size: 2.4vw;}
  #function .p-table .c-table > *:nth-child(2) p span.is-number {font-size: 4.8vw;}
  #function .p-table .c-table > *:nth-child(2) p strong {font-size: 4.1vw;}
  #function .p-table .c-table > *:nth-child(2) p small {font-size: 2.4vw;}
  #function .p-btn p {font-size: 3vw;}
}

/* ----- qa ----- */
#qa {
  padding-top: 32px;
  background-color: #f8f6ec;
}
#qa .p-separation {
  position: absolute;
  top: -90px;
  width: 100%;
  height: 100px;
  background-position: bottom center;
  background-size: auto 100px;
  background-image: url('../img/separation-beige.png');
}
#qa .c-inner {padding-bottom: 240px;}
#qa .p-bgIllust > * {position: absolute;}
#qa .p-bgIllust > *:nth-child(1) {
  left: -32px;
  bottom: 0;
}
#qa .p-bgIllust > *:nth-child(2) {
  right: -32px;
  bottom: -24px;
}
#qa .p-qa {
  width: 100%;
  max-width: 768px;
  margin: 48px auto 0;
}
#qa .p-qa-question {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.2;
  padding: 1em 4em 1em 4em!important;
  background-color: #f4f1e4;
  border-bottom: 2px solid #f8f6ec;
}
#qa .p-qa-question::before {
  position: absolute;
  left: 1em;
  right: auto;
  top: 50%;
  width: 23.59px;
  height: 28px;
  background-color: transparent;
  background-size: cover;
  background-image: url('../img/icon-q.png');
  transform: translateY(-50%);
  content: '';
}
#qa .c-accordion-cont.is-open {background-color: #fff;}
#qa .p-qa-answer {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2.2;
  padding: 1em 3em 1em 4em!important;
}
#qa .p-qa-answer::before {
  position: absolute;
  left: 1em;
  right: auto;
  top: 50%;
  width: 24.68px;
  height: 28px;
  background-color: transparent;
  background-size: cover;
  background-image: url('../img/icon-a.png');
  transform: translateY(-50%);
  content: '';
}
@media screen and (max-width: 980px) {
  #qa {
    padding-top: 8vw;
    padding-bottom: 0;
  }
  #qa .p-separation {
    top: -3.5vw;
    height: 4vw;
    background-size: 50vw auto;
  }
  #qa .c-inner {padding-bottom: 32vw;}
  #qa .p-bgIllust > *:nth-child(1) {
    left: 0;
    bottom: 2vw;
  }
  #qa .p-bgIllust > *:nth-child(2) {
    right: 0;
    bottom: 0;
  }
  #qa .p-qa {margin: 6vw auto 0;}
  #qa .p-qa-question {font-size: 2.4vw;}
  #qa .p-qa-answer {font-size: 2.4vw;}
  #qa .p-qa-question::before {
    width: 2.7vw;
    height: 3.6vw;
  }
  #qa .p-qa-answer::before {
    width: 3.17vw;
    height: 3.6vw;
  }
}
@media screen and (max-width: 640px) {
  #qa .p-qa-question {font-size: 2.8vw;}
  #qa .p-qa-answer {font-size: 2.8vw;}
  #qa .p-qa-question::before {
    width: 3.37vw;
    height: 4vw;
  }
  #qa .p-qa-answer::before {
    width: 3.52vw;
    height: 4vw;
  }
}

/* ----- menu ----- */
#menu {
  padding-top: 32px;
  padding-bottom: 0;
}
#menu .p-separation {
  position: absolute;
  top: -90px;
  width: 100%;
  height: 100px;
  background-position: bottom center;
  background-size: auto 100px;
  background-image: url('../img/separation-white.png');
}
#menu .c-inner {padding-bottom: 160px;}
#menu .p-bgIllust > * {position: absolute;}
#menu .p-bgIllust > *:nth-child(1) {
  left: -32px;
  bottom: 0;
}
#menu .p-banner > .c-flex > a {
  width: calc(100% / 3);
  text-align: center;
  margin-bottom: 2%;
  padding: 0 2%;
}
#menu .p-banner > .c-flex > a:hover {transform: translateY(-16px);}
#menu .p-link {
  margin-top: 48px;
  padding-left: 96px;
}
#menu .p-link > .c-flex > * {width: 25%;}
#menu .p-link > .c-flex > * > p:not(:last-child) {margin-bottom: 48px;}
#menu .p-link a {
  font-family: var(--font-family-1st);
  font-size: 16px;
  font-weight: 700;
}
#menu .p-link a:hover {color: var(--color-1st);}
@media screen and (max-width: 980px) {
  #menu {
    padding-top: 8vw;
    padding-bottom: 0;
  }
  #menu .p-separation {
    top: -3.5vw;
    height: 4vw;
    background-size: 50vw auto;
  }
  #menu .c-inner {padding-bottom: 16vw;}
  #menu .p-bgIllust > *:nth-child(1) {
    left: 0;
    bottom: 0;
  }
  #menu .p-banner > .c-flex > a {width: calc(100% / 2);}
  #menu .p-link {
    margin-top: 8vw;
    padding-left: 12vw;
  }
  #menu .p-link > .c-flex > * {
    width: 50%;
    margin-bottom: 4vw;
  }
  #menu .p-link > .c-flex > * > p:not(:last-child) {margin-bottom: 4vw;}
  #menu .p-link a {font-size: 2.4vw;}
}
@media screen and (max-width: 640px) {
  #menu .p-link > .c-flex > * {margin-bottom: 8vw;}
  #menu .p-link > .c-flex > * > p:not(:last-child) {margin-bottom: 8vw;}
  #menu .p-link a {font-size: 2.8vw;}
}

.bnr-seminar {
    border-radius: 6px;
    bottom: 40px;
    overflow: hidden;
    position: fixed;
    right: 204px;
    width: 140px;
    z-index: 98;
}

.bnr-seminar:hover {
  transform: translateY(-10px);
}

@media screen and (max-width: 980px) {
  .bnr-seminar {
    bottom: 4vw;
    right: 23vw;
    width: 17vw;
  }
}

@media screen and (max-width: 767px) {
  .bnr-seminar {
    bottom: 4vw;
    box-shadow: 2px 2px 3px 1px rgba(0,0,0,.3);
    min-width: 70px;
  }
}

@media screen and (max-width: 640px) {
  .bnr-seminar {
    right: 25vw;
  }
}