@charset "UTF-8";

body {
  margin: 0;
  padding: 0;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  scroll-padding-top: 100px;
}

img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

a {
  display: inline-block;
}

button:hover {
  cursor: pointer;
}

.pc_hide {
  display: none;
}

#wrap_contents {
  margin: 0 auto;
  max-width: 960px;
  padding: 0;
}

.mainvisual img {
  display: block;
}

.plr30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.plr48 {
  padding-left: 48px !important;
  padding-right: 48px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt80 {
  margin-top: 80px !important;
}

@media screen and (max-width: 960px) {
  .plr30 {
    padding-left: 3.125vw !important;
    padding-right: 3.125vw !important;
  }

  .plr48 {
    padding-left: 5vw !important;
    padding-right: 5vw !important;
  }

  .mt20 {
    margin-top: 2.08vw !important;
  }

  .mt30 {
    margin-top: 3.13vw !important;
  }

  .mt40 {
    margin-top: 4.167vw !important;
  }

  .mt50 {
    margin-top: 5.21vw !important;
  }

  .mt80 {
    margin-top: 8.33vw !important;
  }
}
@media screen and (max-width: 520px) {
  .pc_hide {
    display: block;
  }
}

/*=====nav/btn=====*/
.nav_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 38px 4%;
  width: 87.5%;
  margin: auto;
}
.btn01 {
  width: 40%;
}
.btn01:hover {
  opacity: 0.7;
}
.btn01.-pos {
  margin: 48px auto 0;
}
.btn01_link {
  display: flex;
  justify-content: center;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #000;
}
.tab_buttons {
  display: flex;
  justify-content: center;
  width: 86.45%;
  margin: auto;
  border-radius: 50px;
  background-color: #f6eded;
  border: 4px solid #fff;
}
.tab {
  display: flex;
  justify-content: center;
  width: 50%;
  padding: 18px 0;
  font-size: 24px;
  font-weight: bold;
  color: #b47380;
}
.tab:first-child {
  border-radius: 30px 0 0 30px;
  border-right: 2px solid #fff;
}
.tab:last-child {
  border-radius: 0 30px 30px 0;
  border-left: 2px solid #fff;
}
.tab.active {
  background-color: #d00f31;
  color: #fff;
}
.swiper_block01_prev,
.swiper_block02_prev,
.swiper_block03_prev {
  display: block;
  width: 51px;
  height: 51px;
  background-image: url(./../img/button_left.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.swiper_block01_next,
.swiper_block02_next,
.swiper_block03_next {
  display: block;
  width: 51px;
  height: 51px;
  background-image: url(./../img/button_right.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  display: none;
}
@media screen and (max-width: 960px) {
  .nav_list {
    gap: 8px 4%;
  }
  .btn01 {
    width: 48%;
  }
  .tab {
    font-size: 18px;
  }
}
/*=====block=====*/
.nav_group {
  margin-top: 30px;
}
.sec_block02 {
  margin-top: 75px;
  background-color: #ffffd1;
}
.sec_block03 {
  background-color: #d00f31;
  padding: 1vw;
}
.sec_block03_inner {
  padding: 4.5vw 2.8vw;
  border-radius: 30px;
}
.swiper_container01,
.sec_block06,
.qa_section01-block {
  background-color: #f6f4ed;
}
.swiper_container01 {
  margin-top: 40px;
  padding: 42px 0 50px;
  padding-top: 42px;
}
.swiper_container02 {
  padding: 0 0 50px;
}
.swiper_container02 {
  background-color: #fbe8eb;
}
.swiper_block01,
.swiper_block02,
.swiper_block03 {
  width: 86.45%;
  margin: 40px auto 50px;
  padding: 30px 40px 50px;
  border-radius: 30px;
}
.swiper-block02 {
  background-color: #fbe8eb;
}
.qa_section02 {
  padding: 0 5vw 80px;
}
.sec_block03_inner,
.qa_section02-block,
.sec_block07-container,
.swiper_block01,
.swiper_block02,
.swiper_block03 {
  background-color: #fff;
}
.sec_block05 {
  margin-top: 80px;
}
.sec_block05_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 40px;
}
.sec_block06 {
  margin-top: 80px;
}
.sec_block07 {
  padding: 32px 2.1vw 2.1vw;
  background-image: url(./../img/bg_yellow.png);
  background-repeat: repeat;
  background-size: cover;
}
.sec_block07-container {
  padding: 40px 0;
  text-align: center;
  border-radius: 30px;
}
.sec_block07-container:not(:last-child) {
  margin-bottom: 40px;
}
.qa_section01-block,
.qa_section02-block {
  margin-top: 39px;
  padding: 25px 34px 25px 18px;
  border-radius: 10px;
}
@media screen and (max-width: 960px) {
  .nav_group {
    margin-top: 20px;
  }
  .swiper_block01,
  .swiper_block02,
  .swiper_block03 {
    width: 96%;
    margin: 40px auto 50px;
    padding: 30px 0 50px;
    border-radius: 30px;
  }
  .sec_block02 {
    margin-top: 30px;
    padding: 0 1em;
  }
  .sec_block03,
  .sec_block05 {
    padding: 1em;
  }
  .sec_block03_inner {
    border-radius: 10px;
  }
  .sec_block07-container {
    padding: 40px 0.5em;
  }
}

/*=====title=====*/
.sec_block01_nav_ttl {
  margin-top: 70px;
}
.sec_block02_ttl {
  padding: 80px 0 44px;
}
.qa_section01-ttlbox,
.qa_section02-ttlbox {
  position: relative;
}
.qa_section01-ttl {
  padding: 0 0 14px 4rem;
  font-size: 22px;
  font-weight: bold;
  border-bottom: 2px solid #b6b3a4;
}
.qa_section02-ttl {
  padding: 0 0 0 4rem;
  font-size: 22px;
  font-weight: bold;
  width: 100%;
  text-align: left;
}
.qa_section01-ttl::before,
.qa_section02-ttl::before {
  content: '';
  display: block;
  position: absolute;
  top: 14%;
  left: 3px;
  width: 27px;
  height: 25px;
  background-image: url(./../img/qa_q.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.qa_section02-ttl::after {
  content: '';
  display: block;
  position: absolute;
  top: -5px;
  right: -20px;
  width: 48px;
  height: 48px;
  background-image: url(./../img/close.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.is-open .qa_section02-ttl::after {
  content: '';
  display: block;
  position: absolute;
  top: -5px;
  right: -20px;
  width: 48px;
  height: 48px;
  background-image: url(./../img/open.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.sec_block04_ttl {
  margin-top: 79px;
}
.swiper_container02_ttl {
  padding-top: 85px;
  font-size: 52px;
  font-weight: bold;
  text-align: center;
  color: #d00f31;
}
.sec_block06_ttl {
  padding-top: 80px;
  text-align: center;
}
.sec_block06_ttl-txt {
  font-size: 52px;
  font-weight: bold;
}
@media screen and (max-width: 960px) {
  .sec_block01_nav_ttl {
    padding: 0 1em;
    margin-top: 40px;
  }
  .qa_section01-ttl {
    font-size: 18px;
  }
  .sec_block04_ttlbox {
    padding: 0 1em;
  }
  .swiper_container02_ttl,
  .sec_block06_ttl-txt {
    font-size: 32px;
  }
  .qa_section02-ttl {
    padding: 0 8rem 0 4rem;
    font-size: 12px;
  }
  .qa_section02-ttl::before {
    top: 16%;
    left: 10px;
    width: 18px;
    height: 18px;
  }
  .qa_section02-ttl::after {
    right: 11px;
  }
  .is-open .qa_section02-ttl::after {
    right: 11px;
  }
}

/*=====layout=====*/
.sec_block02_point {
  margin-top: 40px;
  padding-bottom: 80px;
}
.sec_block03_img-container {
  margin: 83px 0 0;
}
.sec_block03_img:not(:last-child) {
  position: relative;
  margin-bottom: 114px;
}
.sec_block03_img:not(:last-child)::after {
  content: '';
  display: block;
  bottom: -80px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  width: 61px;
  height: 36px;
  background-image: url(./../img/img_flow.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.qa_section01_content,
.qa_section02_content {
  position: relative;
}
.qa_section02_content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.qa_section02-block.is-open .qa_section02_content {
    max-height: 500px;
}
.sec_block07_img {
  margin-top: 30px;
}
@media screen and (max-width: 960px) {
  .sec_block03_img-container {
    margin: 40px 0 0;
  }
  .sec_block03_img:not(:last-child) {
    margin-bottom: 50px;
  }
  .sec_block03_img:not(:last-child)::after {
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 18px;
  }
  .qa_section02-block {
    padding: 25px 0 25px;
  }
}

/*=====txt=====*/
.sec_block02_txt {
  margin: auto;
  max-width: 720px;
  width: 100%;
  font-size: 24px;
}
.sec_block03_txt {
  margin-top: 46px;
  line-height: 2;
  text-align: center;
  font-size: 24px;
}
.sec_block03_txt.-mt {
  margin-top: 25px;
}
.sec_block03_txt_sub {
  margin-top: 20px;
  text-align: center;
  font-size: 20px;
}
.sec_block05_txt {
  margin-top: 30px;
  text-align: center;
  font-size: 24px;
}
.caution_txt {
  margin-top: 40px;
}
.qa_section01_content-txt,
.qa_section02_content-txt {
  font-size: 18px;
  padding: 27px 0 0 4rem;
}
.qa_section02_content-txt {
  margin-top: 23px;
  border-top:  2px solid #c8c6bc;;
}
.qa_section02_content-caution {
  padding-left: 3rem;
}
.qa_section01_content-txt::before,
.qa_section02_content-txt::before {
  content: '';
  display: block;
  position: absolute;
  top: 32px;
  left: 3px;
  width: 24px;
  height: 24px;
  background-image: url(./../img/qa_a.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.qa_section02_content-txt::before {
  top: 58px;
}
.sec_block04_txt {
  margin-top: 38px;
  text-align: center;
  line-height: 2;
  font-size: 24px;
}
.txt_point_color {
  font-weight: bold;
  color: #d00f31;
}
.icon_point_color {
  color: #eacc00;
}
.swiper_block01_txt,
.swiper_block02_txt,
.swiper_block03_txt {
  font-family: "Montserrat", sans-serif;
  font-size: 27px;
  font-weight: bold;
  text-align: center;
  color: #4b4331;
  letter-spacing: 0.45em;
}
.swiper_block01_txt-fz01,
.swiper_block02_txt-fz01,
.swiper_block03_txt-fz01 {
  font-size: 37px;
}
.swiper_block01_txt-fz02
.swiper_block02_txt-fz02
.swiper_block03_txt-fz02 {
  font-size: 22px;
}
.swiper_block01_explanation,
.swiper_block02_explanation,
.swiper_block03_explanation {
  margin-top: 50px;
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  color: #4b4331;
}
.swiper_block03_explanation.-modify {
  margin-top: 20px;
}
.swiper_block01_caution,
.swiper_block02_caution,
.swiper_block03_caution {
  margin-top: 10px;
  font-size: 18px;
  text-align: center;
  color: #4b4331;
}
.qa_section02_content-part {
  padding-left: 1em;
}
.sec_block07_time {
  width: 68.125%;
  margin: 43px auto 0;
  padding: 6px 0;
  border-radius: 50px;
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  background-color: #d00f31;
}
.sec_block07_txt {
  margin-top: 24px;
  font-size: 22px;
  line-height: 1.6;
  text-align: center;
}
.sec_block07_txt.-small {
  font-size: 16px;
}
.sec_block07_txt.-bold {
  font-weight: bold;
}
.floating_anchor_txt01 {
  position: relative;
  font-size: 22px;
  font-weight: bold;
  color: #000;
  white-space: nowrap;
}
.floating_anchor_txt01::before {
  content: '';
  display: block;
  position: absolute;
  top: 25%;
  left: -19%;
  width: 44px;
  height: 40px;
  background-image: url(./../img/floating_caution.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.floating_anchor_txt01::after {
  content: '';
  display: block;
  position: absolute;
  top: 32%;
  right: -15%;
  width: 16px;
  height: 31px;
  background-image: url(./../img/floating_link_icon.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.floating_anchor_txt02 {
  font-size: 28px;
}
@media screen and (max-width: 960px) {
  .sec_block02_txt {
    font-size: 16px;
  }
  .sec_block03_txt {
    margin-top: 28px;
    font-size: 12px;
  }
  .sec_block03_txt_sub {
    font-size: 10px;
  }
  .caution_txt {
    margin-top: 20px;
    font-size: 12px;
  }
  .caution_txt_content {
    font-size: 12px;
  }
  .qa_section01_content-txt {
    font-size: 16px;
  }
  .qa_section02_content-txt {
    font-size: 12px;
    padding: 27px 1rem 0 4rem;
  }
  .qa_section02_content-caution {
    font-size: 12px;
    padding:0 1rem 0 4rem;
  }
  .sec_block04_txt,
  .sec_block05_txt {
    margin-top: 16px;
    font-size: 18px;
  }
  .swiper_block01_explanation,
  .swiper_block02_explanation,
  .swiper_block03_explanation,
  .swiper_block01_caution,
  .swiper_block02_caution,
  .swiper_block03_caution {
    padding: 0 1em;
  }
  .swiper_block01_explanation,
  .swiper_block02_explanation,
  .swiper_block03_explanation {
    margin-top: 20px;
    font-size: 16px;
  }
  .swiper_block01_caution,
  .swiper_block02_caution,
  .swiper_block03_caution {
    font-size: 14px;
  }
  .swiper_block03_explanation.-modify {
    font-size: 18px;
  }
  .swiper_block01_txt,
  .swiper_block02_txt,
  .swiper_block03_txt {
    font-size: 18px;
  }
  .swiper_block01_txt-fz01,
  .swiper_block02_txt-fz01,
  .swiper_block03_txt-fz01 {
    font-size: 24px;
  }
  .swiper_block01_txt-fz02
  .swiper_block02_txt-fz02
  .swiper_block03_txt-fz02 {
    font-size: 20px;
  }
  .sec_block07_time {
    width: 95%;
    font-size: 12px;
  }
  .sec_block07_txt {
    font-size: 14px;
  }
  .floating_anchor_txt01 {
    font-size: 3vw;
  }
  .floating_anchor_txt02 {
    font-size: 4vw;
  }
  .floating_anchor_txt01::before {
    top: 32%;
    left: 1%;
    width: 5vw;
    height: 6vw;
  }
  .floating_anchor_txt01::after {
    top: 35%;
    right: 1%;
    width: 2vw;
    height: 4vw;
  }
  .qa_section01_content-txt::before {
  left: 4px;
  }
  .qa_section02_content-txt::before {
    top: 56px;
    left: 12px;
    width: 18px;
    height: 18px;
  }
}
/*=====link=====*/
a.link_point_color {
  text-decoration: underline;
  text-underline-offset: 6px;
  color: #036eb8;
}

/*=====carousel=====*/
.carousel {
  display: none;
}
.carousel.active {
  display: block;
}
.carousel_ttl {
  font-size: 32px;
  font-weight: bold;
}
.swiper_block01_img,
.swiper_block02_img,
.swiper_block03_img {
  margin-top: 30px;
}
@media screen and (max-width: 960px) {
  .carousel_ttl {
    padding-left: 1em;
    font-size: 18px;
  }
  .swiper_block01_img,
  .swiper_block02_img,
  .swiper_block03_img {
    margin-top: 6px;
    padding: 0 1em;
  }
}

/*=====floating-anchor=====*/
.floating_anchor {
  position: fixed;
  bottom: 10px;
  left: 50%;
  min-width: 372px;
  transform: translateX(-50%);
  padding: 15px 7em;
  text-align: center;
  background-color: #fff;
  border: solid 4px #d00f31;
  border-radius: 20px;
  box-shadow : 0 8px rgba(0,0,0, 0.1);
  z-index: 2;
}
.floating_anchor_link {
  color: #000;
}
@media screen and (max-width: 960px) {
  .floating_anchor {
    width: 70%;
    min-width: auto;
    padding: 0.5em 2em;
  }
}
