@charset "utf-8";

/*共通*/
html,
body{height: 100%;font-family:"メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, sans-serif;}
img {
  width: 100%;
  height: auto;
}
html {
  scroll-behavior: smooth;
}
body{
  scroll-padding-top: -56px;
}
span.invisibleTxt {
  display: none;
}
a {
  display: block;
  text-decoration: none;
}
section {
  padding: 0;
}

/* .section__count__wrapper */
.section__count__wrapper {
  width: 100%;
  height: auto;
  background: url(../img/count_bg.png) top center / 100% auto;
  color: #ffffff;
  padding: 3vw 0;
}

.count__txt {
  text-align: center;
  font-size: 3vw;
  line-height: 1.4;
}

.count__txt__big {
  font-size: 6vw;
  font-weight: bold;
}

.count__txt__yellow {
  color: #fff100;
}

.count__wrapper{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: 1vw;
}

.count__month div,.count__day div,.count__time div,.count__minute div,.count__second div {
  width: 15vw;
  height: 15vw;
  background-color: #ffffff;
  margin: 0 4px;
  border-radius: 3px;
  color: #d00f31;
  font-size: 9vw;
  display: inline-grid;
  align-items: center;
}

.count__day div {
  width: 21vw;
}

.count__month p,.count__day p,.count__time p,.count__minute p,.count__second p {
  padding-top: 1.8vw;
  font-size: 3vw;
}

.count__btn {
  width: 65vw;
  margin: 6vw auto 0;
}

@media screen and (min-width: 640px) {
  .section__count__wrapper {
    padding: 19px 0;
  }

  .count__txt {
    font-size: 19px;
  }

  .count__txt__big {
    font-size: 38px;
  }
  .count__wrapper{
    margin-top: 5px;
  }
  .count__month div,.count__day div,.count__time div,.count__minute div,.count__second div {
    width: 96px;
    height: 96px;
    font-size: 57px;
  }

  .count__day div{
    width: 134px;
  }

  .count__month p,.count__day p,.count__time p,.count__minute p,.count__second p {
    padding-top: 11px;
    font-size: 19px;
  }

  .count__btn {
    width: 416px;
    margin: 38px auto 0;
  }
}

/* .section__extension__wrapper */
.section__extension__wrapper {
  background-color: #ffffd3;
  text-align: center;
  padding: 5vw 0;
}

.extension__ttl01 {
  width: 75vw;
}

.extension__note {
  width: 85vw;
  margin: 3vw auto 0;
  color: #d00f31;
  font-weight: bold;
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 4vw;
  font-size: 2.9vw;
}

.section__extension__contents {
  width: 90vw;
  margin: 3.3vw auto 0;
  background-color: #ffffff;
  border: #d00f31 solid 3px;
  border-radius: 1.5vw;
  padding: 5vw 0;
}

.section__extension__contents img {
  display: block;
}

.extension__ttl02 {
  width: 69vw;
  margin: 0 auto;
}

.extension__subttl01 {
  width: 25vw;
  margin: 4.7vw auto 0;
}

.extension__txt01 {
  margin: 1.8vw auto 0;
  line-height: 4vw;
  font-weight: bold;
  width: 89vw;
  font-size: 2.8vw;
}

.extension__img01 {
  margin: 1vw auto 0;
  width: 48vw;
}

.extension__note02 {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 2.8vw;
  width: 66vw;
  margin: 1.8vw auto 0;
  text-align: left;
  line-height: 3.6vw;
}

.extension__btn01 {
  width: 58vw;
  margin: 5vw auto 0;
}

.extension__btn01_2 {
  width: 58vw;
  margin: 3vw auto 0;
}

.extension__img02 {
  margin: 1.8vw auto 0;
  width: 67vw;
}

.extension__ttl03 {
  width: 61vw;
  margin: 5vw auto 0;
}

.extension__img03 {
  margin: 1vw auto 0;
  width: 51vw;
}

.extension__btn02 {
  width: 72vw;
  margin: 5vw auto 0;
}

.extension__border {
  background-color: #c8c9ca;
  width: 90%;
  height: 1px;
  margin: 5vw 5% 0;
}

@media screen and (min-width: 640px) {
  .section__extension__wrapper {
    padding: 32px 0;
  }

  .extension__ttl01 {
    width: 480px;
  }

  .extension__note {
    width: 544px;
    margin: 19px auto 0;
    line-height: 25.6px;
    font-size: 18.5px;
  }

  .section__extension__contents {
    width: 576px;
    margin: 21px auto 0;
    border-radius: 9px;
    padding: 32px 0;
  }

  .extension__ttl02 {
    width: 440px;
  }

  .extension__subttl01 {
    width: 160px;
    margin: 30px auto 0;
  }

  .extension__txt01 {
    margin: 12px auto 0;
    line-height: 25px;
    width: 569px;
    font-size: 18px;
  }

  .extension__img01 {
    margin: 6px auto 0;
    width: 307px;
  }

  .extension__note02 {
    font-size: 18px;
    width: 422px;
    margin: 11px auto 0;
    line-height: 23px;
  }

  .extension__btn01 {
    width: 370px;
    margin: 32px auto 0;
  }

  .extension__btn01_2 {
    width: 370px;
    margin: 19px auto 0;
  }

  .extension__img02 {
    margin: 7px auto 0;
    width: 429px;
  }

  .extension__ttl03 {
    width: 390px;
    margin: 32px auto 0;
  }

  .extension__img03 {
    margin: 6px auto 0;
    width: 326px;
  }

  .extension__btn02 {
    width: 460px;
    margin: 32px auto 0;
  }

  .extension__border {
    margin: 32px 5% 0;
  }
}

/* .section__check__wrapper */
.section__check__wrapper {
  background-color: #fbe8eb;
  text-align: center;
  padding: 5vw 0;
  scroll-margin-top: 56px; 
}

.check__ttl01 {
  width: 70vw;
}

.check__txt01{
  font-weight: bold;
  margin-top: 5vw;
  font-size: 3vw;
}

.check__txt02 {
  margin: 1.5vw 3vw 0;
  font-size: 2.8vw;
  line-height: 3.5vw;
}

.check__img01 {
  width: 43vw;
  margin-top: 3vw;
}

.check__btn01 {
  margin: 4vw auto 0;
  width: 57vw;
}

@media screen and (min-width: 640px) {
  .section__check__wrapper {
    padding: 32px 0;
  }

  .check__ttl01 {
    width: 448px;
  }

  .check__txt01{
    margin-top: 32px;
    font-size: 19px;
  }

  .check__txt02 {
    margin: 9.6px 19px 0;
    font-size: 15px;
    line-height: 22px;
  }

  .check__img01 {
    width: 275px;
    margin-top: 19px;
  }

  .check__btn01 {
    margin: 25px auto 0;
    width: 364px;
  }
}

/* .section__caution__wrapper */
.section__caution__wrapper {
  width: 100%;
  height: auto;
  background: url(../img/count_bg.png) top center / 100% auto;
  color: #000000;
  padding: 5vw 0;
}

.section__caution__contents {
  border: #f1e217 3px solid;
  background-color: #ffffff;
  margin: 0 4vw;
  padding: 4vw 0;
}

.caution__ttl01 {
  width: 83vw;
  margin: 0 auto;
  display: block;
}

.caution__block01 {
  margin: 3vw auto 0;
  width: 84vw;
  display: flex;
  justify-content: center;
}

.caution__img01 {
  width: 50%;
  display: flex;
}

.caution__img01 img {
  width: 34vw;
  margin-left: auto;
  margin-right: 1vw;
}

.caution__txt01 {
  width: 50%;
  font-size: 3.5vw;
  line-height: 5.5vw;
  padding-left: 1vw;
  padding-top: 1vw;
}

.caution__txt01 span {
  font-weight: bold;
  color: #d00f31;
}

.caution__txt02 {
  text-align: center;
  line-height: 6.3vw;
  padding-top: 3vw;
  font-weight: bold;
  font-size: 3.7vw;
}

.caution__txt02 span {
  color: #d00f31;
  border-bottom: 1px solid #d00f31;
}

.caution__block02 {
  border: 3px solid #d00f31;
  border-radius: 3vw;
  padding: 7vw 5vw 5vw 5vw;
  position: relative;
  margin: 7vw auto 0;
  width: 72vw;
}

.caution__txt03 {
  position: absolute;
  width: 40vw;
  top: -4vw;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.caution__txt04 {
  text-align: center;
  line-height: 7vw;
  font-weight: bold;
  font-size: 3.5vw;
}

.caution__txt04 span:nth-of-type(1) {
  border-bottom: 1px solid #000000;
}

.caution__txt04 span:nth-of-type(2) {
  border-bottom: 1px solid #d00f31;
  color: #d00f31;
}

.caution__img02 {
  width: 100%;
  margin-top: 5vw;
}

.caution__txt05 {
  margin: 5vw auto 0;
  background-color: #f6cfd6;
  color: #d00f31;
  font-weight: bold;
  text-align: center;
  padding: 3vw;
  border-radius: 1vw;
  font-size: 4.3vw;
  width: 77vw;
}

.caution__block03 {
  display: flex;
  margin: 3vw auto 0;
  width: 83vw;
}

.caution__block03_1 {
  width: 49%;
  padding: 0 3vw 0 0;
}

.caution__block03_2 {
  width: 2%;
  background: url('../img/caution_dot.png');
  background-size: 4px 12px;
  background-repeat: repeat-y;
  background-position: center top;
}

.caution__block03_3 {
  width: 49%;
  padding: 0 0 0 3vw;
}

.caution__img03 {
  height: 16vw;
}

.caution__img03 img {
  width: 14vw;
  display: block;
  margin: 3vw auto 0;
}

.caution__txt06 {
  line-height: 5vw;
  font-size: 3vw;
  margin-top: 3vw;
}

.caution__img04 {
  height: 16vw;
}

.caution__img04 img {
  width: 21vw;
  display: block;
  margin: 3vw auto 0;
}

.caution__txt07 {
  text-align: right;
  font-size: 3vw;
}

@media screen and (min-width: 640px) {
  .section__caution__wrapper {
    padding: 32px 0;
  }

  .section__caution__contents {
    margin: 0 25px;
    padding: 25px 0;
  }

  .caution__ttl01 {
    width: 530px;
  }

  .caution__block01 {
    margin: 19px auto 0;
    width: 537px;
  }

  .caution__img01 img {
    width: 217px;
    margin-right: 6px;
  }

  .caution__txt01 {
    font-size: 22px;
    line-height: 35px;
    padding-left: 6px;
    padding-top: 6px;
  }

  .caution__txt02 {
    line-height: 40px;
    padding-top: 19px;
    font-size: 23px;
  }

  .caution__block02 {
    border-radius: 19px;
    padding: 45px 32px 32px 32px;
    margin: 45px auto 0;
    width: 460px;
  }

  .caution__txt03 {
    width: 256px;
    top: -25px;
  }

  .caution__txt04 {
    line-height: 45px;
    font-size: 22px;
  }

  .caution__img02 {
    margin-top: 32px;
  }

  .caution__txt05 {
    margin: 32px auto 0;
    padding: 19.2px;
    border-radius: 6px;
    font-size: 27px;
    width: 492px;
  }

  .caution__block03 {
    margin: 19px auto 0;
    width: 530px;
  }

  .caution__block03_1 {
    padding: 0 19px 0 0;
  }

  .caution__block03_3 {
    padding: 0 0 0 19px;
  }

  .caution__img03 {
    height: 102px;
  }

  .caution__img03 img {
    width: 90px;
    margin: 19px auto 0;
  }

  .caution__txt06 {
    line-height: 32px;
    font-size: 19px;
    margin-top: 19px;
  }

  .caution__img04 {
    height: 102px;
  }

  .caution__img04 img {
    width: 134px;
    margin: 19px auto 0;
  }

  .caution__txt07 {
    text-align: right;
    font-size: 19px;
  }
}

/* .section__question__wrapper */
.section__question__wrapper {
  background-color: #f6f4ed;
  padding: 8vw 0;
}

.question__ttl {
  width: 30vw;
  display: block;
  margin: 0 auto;
}

.question__wrap {
  border-radius: 10px;
  overflow: hidden;
  background-color: #ffffff;
}
.question__wrap:not(:first-child) {
  margin-top: 3vw;
}
.question__title {
  position: relative;
  border-radius: 10px;
  padding: 2.959vw 7vw 2.755vw 3.163vw;
}
.question__button {
  width: 92%;
  display: flex;
  align-items: baseline;
  font-weight: bold;
  text-align: left;
  letter-spacing: -0.08em;
  color: #000;
  font-size: 3vw;
}
.question__deco__question {
  padding-right: 0.5em;
  color: #f57900;
  width: 6%;
  display: block;
}
.question__question {
  width: 94%;
  line-height: 4vw;
}
.question__deco__answer {
  padding-right: 0.5em;
  color: #f57900;
  width: 5%;
  display: block;
}
.question__answer {
  width: 95%;
  line-height: 4vw;
}
.question__img {
  position: absolute;
  transform: translateY(-50%);
  width: 5.469vw;
  height: 5.571vw;
  top: 50%;
  right: 3.163vw;
}
.question__item {
  line-height: 1.32;
  padding: 0 3.061vw 3.061vw 3.061vw;
  font-size: 2.551vw;
  border-radius: 0 0 1.02vw 1.02vw;
  display: none;
}
.question__indent {
  border-top: #f6f4ed 1px solid;
  padding-top: 2vw;
  display: flex;
}
a.question__link {
  display: inline;
  color: #5a87c8;
  text-decoration: underline;
}
a.question__link:hover {
  text-decoration: none;
}
.question__area {
  width: 76vw;
  margin: 4vw auto 0;
}

@media screen and (min-width: 640px) {
  .section__question__wrapper {
    padding: 51px 0;
  }

  .question__ttl {
    width: 192px;
  }

  .question__title {
    padding: 19px 45px 18px 20px;
  }
  .question__button {
    font-size: 19px;
  }
  .question__question {
    line-height: 25px;
  }
  .question__answer {
    line-height: 25px;
  }
  .question__img {
    width: 35px;
    height: 35px;
    right: 20px;
  }
  .question__item {
    padding: 0 20px 20px 20px;
    font-size: 16px;
    border-radius: 0 0 6px 6px;
  }
  .question__indent {
    padding-top: 13px;
  }
  .question__area {
    width: 486px;
    margin: 25px auto 0;
  }
}

/* .section__renewal__wrapper */
.section__renewal__wrapper {
  width: 100%;
  height: auto;
  background: url(../img/renewal_bg.png) top center / 100% auto;
  color: #000000;
  padding: 7vw 0;
}

.renewal__ttl01 {
  width: 78vw;
  display: block;
  margin: 0 auto;
}

.section__renewal__contents {
  background-color: #ffffff;
  margin: 5vw 4vw 0;
  padding: 4vw 4vw;
  border-radius: 2vw;
}

.renewal__ttl02 {
  width: 65vw;
  display: block;
  margin: 0 auto;
}

.renewal__txt01 {
  width: 69vw;
  display: block;
  margin: 3vw auto 0;
}

.renewal__txt02 {
  margin: 1.8vw auto 0;
  line-height: 5vw;
  width: 82vw;
  font-size: 2.8vw;
  text-align: center;
}

.renewal__reference {
  font-size: 2vw;
  vertical-align: top;
}

.renewal__img {
  width: 82vw;
  display: block;
  margin: 1.8vw auto 0;
}

.renewal__reference__list {
  margin: 1.8vw 0 0 0;
  font-size: 2.8vw;
  line-height: 3.5vw;
}

.renewal__reference__list li {
  padding-left: 2em;
  text-indent: -2em;
}

.renewal__txt03 {
  margin: 1.8vw 0 0 0;
  font-size: 2.8vw;
  line-height: 3.5vw;
}

@media screen and (min-width: 640px) {
  .section__renewal__wrapper {
    padding: 45px 0;
  }

  .renewal__ttl01 {
    width: 500px;
  }

  .section__renewal__contents {
    margin: 32px 25px 0;
    padding: 25px 25px;
    border-radius: 13px;
  }

  .renewal__ttl02 {
    width: 416px;
  }

  .renewal__txt01 {
    width: 442px;
    margin: 19px auto 0;
  }

  .renewal__txt02 {
    margin: 12px auto 0;
    line-height: 32px;
    width: 525px;
    font-size: 18px;
  }

  .renewal__reference {
    font-size: 12px;
  }

  .renewal__img {
    width: 525px;
    margin: 12px auto 0;
  }

  .renewal__reference__list {
    margin: 12px 0 0 0;
    font-size: 15px;
    line-height: 22px;
  }

  .renewal__txt03 {
    margin: 12px 0 0 0;
    font-size: 15px;
    line-height: 22px;
  }
}

/* .section__detail__wrapper */
.section__detail__wrapper {
  background-color: #ffffff;
  padding: 7vw 0;
}

.detail__btn01 {
  width: 87vw;
  margin: 0 auto;
  display: block;
}

@media screen and (min-width: 640px) {
  .section__detail__wrapper {
    padding: 45px 0;
  }

  .detail__btn01 {
    width: 557px;
  }
}