@charset "UTF-8";

main {
  background-color: #fffaf0;
}

/* dwHead
-------------------------------------------------- */
.wbHead {
  position: relative;
  margin: 0 auto 8vw;
}

.wbHead::before {
  position: absolute;
  top: 91.466667vw;
  left: 76.8vw;
  right: 0;
  height: 24.8vw;
  background: transparent url('../images/wb/dwHead_bg.png') 0 0 no-repeat;
  background-size: auto 100%;
  content: "";
}

.wbHead__title {
  height: 118vw;
  margin-bottom: 5.333333vw;
  background: transparent url('../images/wb/h2title_sp.png') 50% 0 no-repeat;
  background-size: auto 100%;
  white-space: nowrap;
  text-indent: 101%;
  overflow: hidden;
}

.wbHead__caption {
  height: 220px;
  background: transparent url('../images/wb/dwHead_caption.png') 50% 50% no-repeat;
  background-size: 80%;
  white-space: nowrap;
  text-indent: 101%;
  overflow: hidden;
}

@media screen and (min-width: 1280px) {
  main {
    background: #fffaf0 url('../images/wb/mainBg.png') 0 0 repeat-x;
    background-size: auto 415px;
  }
}

@media screen and (min-width: 768px) {
  .wbHead {
    max-width: 1280px;
    margin-bottom: 1.5625vw;
  }

  .wbHead::before {
    top: 100%;
    left: auto;
    right: 14.0625%;
    width: 9.453125%;
    height: 0;
    padding-top: 9.0625%;
    transform: translateY(-50%);
  }

  .wbHead__title {
    height: 32.421875vw;
    max-height: 415px;
    margin-bottom: 0;
    background-image: url('../images/wb/h2title_pc.png');
  }

  .wbHead__caption {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    max-width: 350px !important;
    height: 170px;
    max-height: none;
    margin: 16.5% 0 0 52%;
  }
}

.wbRecommend {
  height: 84vw;
  margin-bottom: 2.666667vw;
  background: transparent url('../images/wb/recommend_sp.png') 50% 50% no-repeat;
  background-size: auto 100%;
  white-space: nowrap;
  text-indent: 101%;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .wbRecommend {
    height: 21.445313vw;
    max-height: 275px;
    margin-bottom: 1.5625vw;
    background-image: url('../images/wb/recommend_pc.png');
  }
}

/* planList
-------------------------------------------------- */
.planList {
  max-width: 600px;
  margin: 0 auto 2.666667vw;
  padding: 0 20px;
}

.planList__item {
  position: relative;
  padding: 5.333333vw 0;
}

.planList__item + .planList__item {
  border-top: 1px dashed rgba(0, 0, 0, .5);
}

.planPrice {
  height: 0;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  white-space: nowrap;
  text-indent: 101%;
  overflow: hidden;
}

.planPrice--sbscrpt1 { padding-top: 43%; background-image: url('../images/wb/planPrice01.png'); }
.planPrice--sbscrpt2 { padding-top: 25.3%; background-image: url('../images/wb/planPrice02.png'); }
.planPrice--sbscrpt3 { padding-top: 25.3%; background-image: url('../images/wb/planPrice03.png'); }
.planPrice--standard { padding-top: 26%; background-image: url('../images/wb/planPrice04.png'); }

.planAdd {
  position: absolute;
  top: 5.333333vw;
  right: 0;
  width: 46.268657%;
}

@media screen and (min-width: 768px) {
  .planList { width: 46.875vw; }

  .planList__item { padding: 6.666667% 0; }

  .planAdd {
    top: 0;
    margin-top: 6.666667%;
  }
}

/* spec
-------------------------------------------------- */
.spec {
  margin: 0 auto;
}

.selectTab {
  display: flex;
}

.selectTab__item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(33.3333333% - 2.133333%);
  padding: 2.666667% 0;
  background-color: #5f4c45;
  color: #fff;
  font-weight: 700;
  font-size: 4vw;
  line-height: 1.2;
  transition: all .2s;
  cursor: pointer;
}

.selectTab__item + .selectTab__item {
  margin-left: 3.2%;
}

.selectTab__item.is-active {
  background-color: #ffedc7;
  color: #5f4c45;
  cursor: default;
}

.specContents {
  padding: 4%;
  background-color: #ffedc7;
}

.specContents__item {
  display: none;
}

.specContents__item.is-active {
  display: block;
}

.faqBtn {
  padding: 2.857143% 7.142857% 8.571429%;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .spec {
    width: 59.375vw;
    max-width: 760px;
  }

  .selectTab__item { padding: 3.947368% 0; }

  .selectTab__item br { display: none; }

  .specContents { padding: 3.947368%; }
}

@media screen and (min-width: 768px) and (max-width: 1279px) { .selectTab__item { font-size: 1.875vw; } }
@media screen and (min-width: 1280px) { .selectTab__item { font-size: 24px; } }

/* userVoice
-------------------------------------------------- */
.userVoice {
  padding: 6.4% 5.333333%;
  background: #fefaef url('../images/wb/userVoice_bg.png') 50% 0 no-repeat;
  background-size: 100% auto;
}

.userVoice__title {
  height: 16vw;
  margin-bottom: 6.557377%;
  background: transparent url('../images/wb/userVoice_title.png') 50% 0 no-repeat;
  background-size: auto 100%;
  white-space: nowrap;
  text-indent: 101%;
  overflow: hidden;
}

.voiceList {
  max-height: 400px;
  padding: 0 6.557377%;
  background-color: #fff;
  overflow-y: scroll;
}

.voiceList__item {
  padding: 7.54717% 0;
}

.voiceList__item + .voiceList__item {
  border-top: 1px dashed #707070;
}

.reviewTitle {
  margin-bottom: 5.283019%;
  font-size: 1.5rem;
}

.reviewer {
  font-size: 1.3rem;
}

.reviewer__title {
  float: left;
}

.reviewer__contents {
  padding-left: 9em;
}

.reviewer__contents--score {
  color: #f80;
}

.reviewer__title ~ .reviewer__title,
.reviewer__contents ~ .reviewer__contents {
  margin-top: 5.283019%;
}

.reviewText {
  margin-top: 5.283019%;
  font-size: 1.3rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .userVoice {
    padding: 5.921053% 5.263158%;
  }

  .userVoice__title {
    height: 0;
    padding-top: 16.935484%;
  }

  .reviewTitle { margin-bottom: 3.717472%; font-size: 1.8rem; }

  .reviewer {
    font-size: 1.6rem;
  }

  .reviewer__title ~ .reviewer__title,
  .reviewer__contents ~ .reviewer__contents {
    margin-top: 3.717472%;
  }

  .reviewText  { margin-top: 3.717472%; font-size: 1.6rem; }
}

/*----U-KOMI----*/
.review_btn {
    display: block;
    margin: 0 auto;
    width: 100%;
    text-align: center;
    max-width: 520px;
}

.review_btn a {
    padding: 15px;
    background: #fff;
    display: block;
    border-radius: 10px;
    font-size: 2.4rem;
    color: #5E4C44;
    border: 2px solid #5E4C44;
    margin: -20px 0 50px 0;
}

@media screen and (max-width: 768px) {
.review_btn a {
    margin: 20px 20px 50px 20px;
}
}

/*----歯磨き講座----*/
.relative {
    position: relative;
}

p.hamigaki_btn {
    position: absolute;
    bottom: 10%;
}

/* テキストリンク追加 */
p.fuku_link {
  padding: 30px 10px;
  font-size: 1.2rem;
  color: #5e4c44;
}