@charset "UTF-8";
/*-------------------------------------------------- common --------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap");
html, body {
  font-family: Arial, sans-serif;
  font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium",YuGothicM,"YuGothic M","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
  color: #262626;
}

@media all and (-ms-high-contrast: none) {
  /* IE向けのCSS～START */
  body {
    font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue",メイリオ,Meiryo,sans-serif;
  }

  /* IE向けのCSS～END */
}
img, video {
  display: block;
  max-width: 100%;
  height: auto;
}

sup {
  font-size: 50%;
  vertical-align: super;
}

.relative {
  position: relative;
}

.note li {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 2.4vw;
  line-height: 1.4;
}
@media screen and (min-width: 751px) {
  .note li {
    font-size: 18px;
  }
}

/*-------------------------------------------------- bnr_fixed --------------------------------------------------*/
.bnr_fixed {
  position: fixed;
  z-index: 9999;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  margin: 0 auto 2.6666666667%;
  visibility: visible;
  opacity: 1;
  transition: all .3s;
}
@media screen and (min-width: 751px) {
  .bnr_fixed {
    width: 750px;
  }
}
.bnr_fixed.invisible {
  visibility: hidden;
  opacity: 0;
  bottom: -10vh;
}

/*-------------------------------------------------- header --------------------------------------------------*/
/*-------------------------------------------------- main --------------------------------------------------*/
.cv {
  background-color: #FFF;
  padding: 0 0 10.6666666667%;
}
.cv .teiki-cont {
  background-color: #f5f3eb;
  margin: 0 5.3333333333%;
  padding: 5.3333333333% 2.6666666667%;
}
.cv .teiki-cont .cv_btn_teiki {
  margin: 0 auto 4%;
}
.cv .teiki-cont .about_teiki {
  margin-top: 4%;
}
.cv .once-cont {
  margin: 7.3333333333% 0 0;
}
.cv .once-cont .cv_btn_once {
  width: 84%;
  margin: 3.0666666667% auto 4%;
}
.cv .set-contain {
  margin: 6.6666666667% 8% 0;
}
.cv .set-contain p {
  font-family: 'Open Sans', -apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium",YuGothicM,"YuGothic M","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
  font-weight: bold;
  font-size: 3.2vw;
  line-height: 1.5;
}
@media screen and (min-width: 751px) {
  .cv .set-contain p {
    font-size: 24px;
  }
}
.cv .note_pharma {
  margin: 4% 8% 0;
}

.cv_set, .cv_single, .cv_other {
  padding: 0;
}
.cv_set .inner > div, .cv_single .inner > div, .cv_other .inner > div {
  padding: 10.6666666667% 0;
}
.cv_set .inner > div:nth-of-type(even), .cv_single .inner > div:nth-of-type(even), .cv_other .inner > div:nth-of-type(even) {
  background-color: #f2f2f2;
}
.cv_set .inner > div:nth-of-type(even) .teiki-cont, .cv_single .inner > div:nth-of-type(even) .teiki-cont, .cv_other .inner > div:nth-of-type(even) .teiki-cont {
  background-color: #FFF;
}
.cv_set .teiki, .cv_single .teiki, .cv_other .teiki {
  margin: 0 calc(-60/630*100%) 4%;
}
.cv_set .itemname, .cv_single .itemname, .cv_other .itemname {
  margin: 4% 5.3333333333%;
  display: flex;
}
.cv_set .itemname li, .cv_single .itemname li, .cv_other .itemname li {
  flex-basis: 22.6865671642%;
  padding-right: 3.1343283582%;
}
.cv_set .itemname li:last-child, .cv_single .itemname li:last-child, .cv_other .itemname li:last-child {
  padding-right: 0;
}

.cv_set .teiki-cont {
  padding-top: 2.6666666667%;
}

.cv_single .teiki-cont {
  padding-top: 0;
}

.cv_other .cv_other_ttl {
  width: 38.9333333333%;
  margin: 0 auto;
  padding-top: 10.6666666667%;
}
.cv_other .teiki-cont {
  padding-top: 0;
}
.cv_other .cleansingset .teiki-cont {
  background: linear-gradient(rgba(245, 243, 235, 0) 0% calc(43/630*100vw), #f5f3eb calc(43/630*100vw) 100%);
}

.campaign_note {
  margin: 6.6666666667% 8% 0;
  padding: 4% 0;
  border-top: #dcdcdc solid 1px;
  border-bottom: #dcdcdc solid 1px;
}
.campaign_note p, .campaign_note li {
  font-size: 2.7333333333vw;
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (min-width: 751px) {
  .campaign_note p, .campaign_note li {
    font-size: 20.5px;
  }
}
.campaign_note p span, .campaign_note li span {
  color: #ce1343;
  font-weight: bold;
}
.campaign_note .ttl {
  font-weight: bold;
}

.campaign {
  margin: -13.3333333333% 0 10.6666666667%;
}

.teiki_course .teiki_course__faq {
  padding-top: 10.6666666667%;
  background: #f5f5f5;
}
.teiki_course .teiki_course__contact {
  background: #f5f5f5;
  margin-bottom: 10.6666666667%;
  padding: 0 5.3333333333% 10.6666666667%;
}
.teiki_course .teiki_course__contact .inner {
  background: #fff;
  padding: 5.9701492537%;
}

.notice {
  margin-bottom: 8%;
}
.notice .link_campaign {
  margin: 0 8%;
  padding: 0 2.6666666667% 6%;
  border-bottom: solid 2px #262626;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .notice .link_campaign {
    border-bottom: solid 1px #262626;
  }
}

.compare {
  background: url("../img/compare_bg.png") repeat-y center top;
  padding-bottom: 10.6666666667%;
}
.compare .note {
  margin: 5.3333333333% 8% 0;
}

.voice {
  padding: 0 0 8% 0;
}
.voice .note {
  margin: 5.3333333333% 5.3333333333% 0;
}

.faq {
  background-color: #f7f6f0;
}
.faq .anchor {
  margin-top: 8%;
  padding: 0 5.3333333333%;
}
.faq .anchor ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .faq .anchor ul {
    margin: 0 -20px;
  }
}
.faq .anchor ul li {
  box-sizing: border-box;
  flex-basis: 50%;
  padding: 0 2.6666666667vw;
  margin-bottom: 4%;
}
@media screen and (min-width: 751px) {
  .faq .anchor ul li {
    padding: 0 20px;
  }
}
.faq .anchor a {
  display: block;
  position: relative;
  text-align: center;
  padding: .4em;
  border: #262626 solid 2px;
  border-radius: 3em;
  text-decoration: none;
  font-weight: bold;
  font-size: 3.2vw;
  font-feature-settings: "palt";
}
@media screen and (min-width: 751px) {
  .faq .anchor a {
    font-size: 22px;
  }
}
.faq .anchor a::after {
  content: "";
  position: absolute;
  right: .8em;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: .5em .3em 0 .3em;
  border-color: #262626 transparent transparent transparent;
}
.faq .faq_content {
  padding: 0 4% 7.6666666667%;
}
.faq .faq_content section {
  margin: 13.3333333333% 0 0;
}
.faq .faq_content section:first-child {
  margin: 8% 0 0;
}
.faq .faq_content section h3 {
  margin: 0 1.4492753623%;
}
.faq .faq_content section .qa {
  margin-top: 7.2463768116%;
}
.faq .faq_content section .q {
  position: relative;
  background: url("../img/faq_icon_q.png") no-repeat left top / 5.2% auto;
  margin: 0 0 0 4.347826087%;
  padding: 0.15em 1.5em 0.75em 8%;
  font-feature-settings: "palt";
  line-height: 1.4;
  font-weight: bold;
  font-size: 4.2666666667vw;
  letter-spacing: .1em;
}
@media screen and (min-width: 751px) {
  .faq .faq_content section .q {
    font-size: 32px;
  }
}
.faq .faq_content section .q::after {
  position: absolute;
  content: "";
  background: url("../img/faq_icon_arrow.png") no-repeat left top/100% auto;
  right: 0;
  top: .2em;
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  transition: all .3s;
}
@media screen and (min-width: 751px) {
  .faq .faq_content section .q::after {
    width: 40px;
    height: 40px;
  }
}
.faq .faq_content section .q.active::after {
  transform: rotate(180deg);
}
.faq .faq_content section .a {
  display: none;
  padding: 2.8985507246% 4.347826087% 2.8985507246%;
  border-radius: 4vw;
  background-color: white;
  box-shadow: 7.071px 7.071px 0px 0px rgba(225, 221, 200, 0.39);
}
@media screen and (min-width: 751px) {
  .faq .faq_content section .a {
    border-radius: 30px;
  }
}
.faq .faq_content section .a .a_lead {
  position: relative;
  background: url("../img/faq_icon_a.png") no-repeat left top / 5.4666666667% auto;
  margin: 0 0 0 0;
  padding: 0.1em 8% 0 8%;
  font-feature-settings: "palt";
  line-height: 1.4;
  font-size: 4.2666666667vw;
  letter-spacing: .07em;
}
@media screen and (min-width: 751px) {
  .faq .faq_content section .a .a_lead {
    font-size: 32px;
  }
}
.faq .faq_content section .a .a_lead::after {
  content: none;
}
.faq .faq_content section .a .a_lead span {
  font-weight: bold;
  color: #ce1343;
}
.faq .faq_content section .a .a_lead .note {
  margin-top: 2.6666666667%;
}
.faq .faq_content section .a .a_ext {
  border-top: #ce1343 solid 2px;
  margin: 4.347826087% 0 0.7246376812%;
  padding: 4.347826087% 0 0;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 2dppx) {
  .faq .faq_content section .a .a_ext {
    border-top: #ce1343 solid 1px;
  }
}
.faq .faq_content section .a .a_ext p {
  margin-bottom: 1em;
  font-feature-settings: "palt";
  line-height: 1.6;
  font-size: 3.8vw;
  letter-spacing: .08em;
}
@media screen and (min-width: 751px) {
  .faq .faq_content section .a .a_ext p {
    font-size: 27px;
  }
}
.faq .faq_content section .a .a_ext p img {
  margin: .3em 0;
}
.faq .faq_content section .a .a_ext span {
  font-weight: bold;
}
.faq .faq_content section .a .a_ext > *:last-child {
  margin-bottom: 0;
}

.choice {
  background-color: #fff;
  padding: 0% 0 5% 0;
}
.choice .ttl {
  width: 72.8%;
  margin: 0 auto;
}
.choice .link {
  width: 89.3333333333%;
  margin: 5.3333333333% auto 0;
}

.set_link {
  background-color: #f5f3eb;
  padding: 0 0 10.6666666667% 0;
}
.set_link .link {
  display: flex;
  flex-wrap: wrap;
}
.set_link .link p {
  width: 50%;
}
.set_link .note {
  margin: 0 5.3333333333%;
}

.single_link {
  background-color: #f5f3eb;
  padding: 10.6666666667% 0 4%;
}
.single_link .link {
  display: flex;
}

.merit {
  padding: 10.6666666667% 0;
}
.merit ul {
  display: flex;
  justify-content: center;
}
.choice ul {
	display: flex;
	width: 90%;
	margin: 30px auto 0;
}
.choice ul li {
	padding: 0 10px;
}


/*-------------------------------------------------- footer --------------------------------------------------*/
#footer {
  padding-bottom: 5.3333333333%;
  text-align: left;
}
@media screen and (min-width: 751px) {
  #footer {
    padding-bottom: 40px;
  }
}
#footer ul {
  margin-bottom: 15px;
  border-bottom: 1px solid #ddd;
}
#footer ul li {
  line-height: 1em;
  border-top: 1px solid #ddd;
}
#footer ul li a {
  font-size: 12px;
  font-weight: bold;
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  color: #e64a64;
  background: url(../img/common/icon_01.gif) 95% center no-repeat;
  background-size: 6px;
}
#footer address {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  margin-bottom: 12px;
  text-align: center;
}
#footer .logo {
  display: block;
  width: 120px;
  height: auto;
  margin: 0 auto;
}
#footer a.btn-pagetop img {
  display: block;
  width: 76px;
  height: 76px;
  margin: 0 auto;
}

@media screen and (min-width: 751px) {
  .wrapper {
    width: 750px;
    margin: 0 auto;
  }
}
