@charset "UTF-8";

/* =======================================
    共通パーツ
======================================= */
/* ------ Reset -------*/
* {
  padding: 0;
  margin: 0;
}
ul {
  list-style: none;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
html,body {
  -webkit-text-size-adjust: 100%;
}


/* ------ Responsive -------*/
.pc {
  display: block;
}
.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}


/* ------ box -------*/
body {
  overflow-y: scroll;
  background-image: url(../img/bg_base_pc.jpg);
  background-repeat: repeat-y;
  background-size: 100% auto;
}
@media screen and (max-width: 767px) {
  body {
    background-image: url(../img/bg_base_sp.jpg);
  }
}

#pageWrapper{
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  max-width: 750px;
  width: 100%;

  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
section {
  position: relative;
  width: 100%;
}
.container {
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
  padding: 50px 0;
  width: 86.4%;
}
@media screen and (max-width: 767px) {
  .container {
    padding: 9.333vw 0;
    /* padding: 35px 0; */
  }
}


/* ------ background -------*/
.bg{
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top center;
}
.bg_green{
  background-image: url(../img/bg_green.jpg);
  background-size: cover;
}


/* ------ flex-box -------*/
.col2{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
@media screen and (max-width: 767px) {
  .col2{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}


/* ------ text -------*/
html {
  font-size: 62.5%;
}
body{
  color: #000;
  font-family: "Noto Serif JP","Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.6;
}
.gothic{
  font-family: "Zen Kaku Gothic Antique","Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
main p{
  margin-bottom: 1em;
}
main p:last-child{
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  body{
    font-size: 3.733vw;
    /* font-size: 1.4rem; */
  }
}


/* ------ fadeInUp -------*/
.fadeInUp{
  -webkit-transform: translateZ(0);
  /* display: none; */
  opacity: 0;
}
.fadeInUp.animated {
  /* アニメーションのプロパティを指定 */
  -webkit-transform: translateZ(0);
  animation-name: animated;
  animation-duration: 1s;
  animation-timing-function: ease;
  position: relative;
  opacity: 1;
}
@keyframes animated {
  from {
    opacity: 0;
    bottom: -20px;
  }
  to {
    opacity: 1;
    bottom: 0;
  }
}


/* ------ link -------*/
a{
  color: #000;
  text-decoration: none;
}
a:hover,a:focus,a:active{
  color: #000;
}
a.txt_link{
  text-decoration: underline;
}
a.none{
  pointer-events: none;
}
@media screen and (min-width: 768px) {
   a:hover{
    text-decoration: none;
    opacity: 0.7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  a.txt_link:hover{
    text-decoration: none;
    opacity: 1;
  }
}


/* =======================================
    共通パーツ
======================================= */
/* ------ header -------*/
header{
  padding: 20px;
  text-align: center;
}
h1{
  line-height: 0;
}
@media (max-width: 767px) {
  header{
    padding: 2.667vw;
  }
  .logo{
    width: 74.533vw;;
  }
}


/* ------ footer -------*/
footer{
  background-color: #008A68;
  margin-top: auto; /* ページ下に表示 */
  text-align: center;
}
footer .container{
  padding: 30px 0;
  width: 77.43%;
}
footer p{
  color: #fff;
  line-height: 1.2;
}
footer p.ttl_footer{
  font-size: 3.2rem;
  position: relative;
}
footer p.ttl_footer::before{
  content: '';
  background-color: #fff;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  height: 1px;
  width: 100%;
  z-index: 0;
}
footer p.ttl_footer span{
  background-color: #008A68;
  padding: 0 0.25em;
  position: relative;
  z-index: 1;
}
footer a.txt_tel{
  color: #fff;
  display: block;
  font-size: 6.4rem;
}
footer img{
  display: inline-block;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  footer .container{
    padding: 4vw 0;
  }
  footer p.ttl_footer{
    font-size: 4.267vw;
  }
  footer a.txt_tel{
    font-size: 8.533vw;
  }
  footer img{
    margin-bottom: 2.667vw;
    width: 66.667vw;
  }
}


/* =======================================
    以下、トップページ（#pageTop）
======================================= */
/* ------ #mainvisual_area -------*/
#mainvisual_area .maintxt{
  color: #E2DFC7;
  font-size: 3.4rem;
  position: absolute;
  bottom: 35px;
  text-align: center;
  width: 100%;
  z-index: 1;
}
@media (max-width: 767px) {
  #mainvisual_area .maintxt{
    font-size: 4.533vw;
    bottom: 4.667vw;
  }
}


/* ------ #cta_top_area -------*/
#cta_top_area .warranty-freeinspection_box {
  border-top: 2px solid;
  border-bottom: 2px solid;
  border-image: linear-gradient(to right, #eaebba, #91a776) 1;
  padding: 10px 0;
}
@media (max-width: 767px) {
  #cta_top_area .warranty-freeinspection_box{
    padding: 1.333vw 0;
  }
  #cta_top_area .warranty-freeinspection_box img{
    display: inline;
    opacity: 1;
  }
  #cta_top_area .warranty-freeinspection_box img{
    animation-name: animated-none;
  }
}
#cta_top_area .bottom_box{
  background-image: url(../img/bg_cta_01.jpg);
}
#cta_top_area .bottom_box .container{
  padding: 40px 0;
  width: 88.933%;
}
#cta_top_area .our-features_box{
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  #cta_top_area .bottom_box .container{
    padding: 5.333vw 0;
  }
  #cta_top_area .our-features_box{
    margin-bottom: 5.333vw;
  }
}

/* .ttl_cta */
#cta_top_area .ttl_cta{
  color: #fff;
}
#cta_top_area .ttl_cta > span:before,
#cta_top_area .ttl_cta > span:after {
  background-color: #fff;
}


/* ------ #about_area -------*/
#about_area .container{
  width: 91.066%;
}
#about_area .inner{
  aspect-ratio: 683 / 797;
  background-image: url(../img/bg_about.png);
  box-sizing: border-box;
  padding-top: 100px;
  text-align: center;
}
#about_area .ttl_main{
  font-size: 2.8rem;
  margin-bottom: 0.5em;
}
#about_area .ttl_main span{
  padding: 10px;
}
#about_area p{
  color: #005920;
  font-size: 4.2rem;
  line-height: 1.8;
}
#about_area .txt_marker_y{
  background-color: #FDFFC0;
  padding-left: 0.5em;
}
#about_area img{
  display: inline-block;
  padding-left: 0.5em;
}
@media (max-width: 767px) {
  #about_area .inner{
    padding-top: 13.333vw;
  }
  #about_area .ttl_main{
    font-size: 3.733vw;
  }
  #about_area .ttl_main span{
    padding: 1.333vw;
  }
  #about_area p{
    font-size: 5.6vw;
  }
  #about_area img{
    width: 78vw;
  }
}


/* ------ #target_area -------*/
#target_area .container{
  aspect-ratio: 375 / 355;
  background-image: url(../img/bg_target.png);
  background-position: bottom center;
  padding-top: 15px;
  width: 92.267%;
}
@media screen and (max-width: 767px) {
  #target_area .container{
    padding-top: 2vw;
  }
}

/* .ttl_target */
.ttl_target{
  aspect-ratio: 375 / 50.3695;
  background-image: url(../img/bg_ttl_target.png);
  color: #fff;
  font-size: 3.6rem;
  letter-spacing: 0.1em;

  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .ttl_target{
    font-size: 4.8vw;
  }
}

#target_area p{
  font-size: 6.2rem;
  margin-bottom: 0;
  text-align: center;
}
#target_area p .txt_marker_y{
  background: linear-gradient(transparent 60%, #FDFFC0 60%);
  letter-spacing: -0.05em;
  padding: 0 0.25em;
}
#target_area p.txt_small{
  font-size: 2.4rem;
  text-align: right;
}
#target_area img{
  position: absolute;
  bottom: 20px;
}
@media screen and (max-width: 767px) {
  #target_area p{
    font-size: 8.267vw;
  }
  #target_area p.txt_small{
    font-size: 3.2vw;
  }
  #target_area img{
    bottom: 2.667vw;
  }
}


/* ------ #price_area -------*/
#price_area{
  background-image:url(../img/bg_price.jpg);
  background-size: cover;
}
#price_area .container{
  width: 100%;
  text-align: center;
}
#price_area .ttl_main span{
  background-color: #fff;
  color: #005920;
}
#price_area img{
  display: inline-block;
  margin-bottom: 30px;
}
#price_area p{
  color: #fff;
  font-size: 3.6rem;
}
#price_area p span{
  border-bottom: 2px solid;
  display: inline-block;
  padding: 0 0.25em;
}
@media screen and (max-width: 767px) {
  #price_area .container{
    padding-bottom: 5.333vw;
  }
  #price_area img{
    margin-bottom: 4vw;
  }
  #price_area p{
    font-size: 4.8vw;
  }
  .txt_price_01{
    width: 88.667vw;
  }
  .txt_price_02{
    width: 100vw;
  }
}


/* ------ #promise_area -------*/
#promise_area .container{
  padding-top: 80px;
  width: 90.8%;
}
#promise_area .inner{
  aspect-ratio: 124 / 135;
  background-image: url(../img/bg_price.png);
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #promise_area .container{
    padding-top: 10.667vw;
  }
  #promise_area .inner{
    margin-bottom: 6.667vw;
  }
}

/* .ttl_promise */
.ttl_promise{
  aspect-ratio: 882 / 143;
  background-image: url(../img/bg_ttl_price.png);
  color: #fff;
  margin: 0 auto 1em;

  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: -30px;
  width: 440px;
}
@media screen and (max-width: 767px) {
  .ttl_promise{
    top: -4vw;
    width: 80%;
  }
}

#promise_area p{
  font-weight: 800;
  font-size: 2.5rem;
  line-height: 2.5;
}
#promise_area p .txt_red{
  font-size: 3.3rem;
}
#promise_area p .txt_marker_y{
  background-color: #FFFF00;
  padding: 0 0.25em;
  font-size: 4rem;
}
#promise_area .txt_ceo{
  display: inline-block;
  margin-top: 55px;
}
@media screen and (max-width: 767px) {
  #promise_area p{
    font-size: 3.333vw;
  }
  #promise_area p .txt_red{
    font-size: 4.4vw;
  }
  #promise_area p .txt_marker_y{
    font-size: 5.333vw;
  }
  #promise_area .txt_ceo{
    margin-top: 7.333vw;
    width: 68.267vw;
  }
}


/* ------ #concerns_area -------*/
#concerns_area{
  aspect-ratio: 375 / 440;
  background-image: url(../img/bg_concerns.png);
}
@media screen and (max-width: 767px) {
  #concerns_area .container{
    padding-top: 6.933vw;
  }
}

/* .ttl_concerns */
.ttl_concerns{
  color: #fff;
  font-size: 3.4rem;
  margin-bottom: 130px;
  padding-top: 14px;
  text-align: center;
}
.ttl_concerns_sub{
  font-size: 3.4rem;
}
@media screen and (max-width: 767px) {
  .ttl_concerns{
    font-size: 4.533vw;
    margin-bottom: 17.333vw;
    padding-top: 1.867vw;
  }
  .ttl_concerns_sub{
    font-size: 4.533vw;
  }
}

/* .concerns_box */
.concerns_box{
  padding-left: 260px;
}
.concerns_box li:nth-child(1){
  margin-bottom: 90px;
}
.concerns_box p{
  font-size: 2.6rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .concerns_box{
    padding-left: 34.667vw;
  }
  .concerns_box li:nth-child(1){
    margin-bottom: 12vw;
  }
  .concerns_box p{
    font-size: 3.467vw;
  }
}


/* ------ #symptoms_area -------*/
/* .ttl_symptoms */
.ttl_symptoms{
  aspect-ratio: 75 / 22;
  background-image: url(../img/bg_ttl_symptoms.png);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
  text-align: center;
}

/* .top_box */
#symptoms_area .top_box{
  aspect-ratio: 1500 / 2041;
  background-image: url(../img/bg_symptoms.png);
}
@media screen and (max-width: 767px) {
  #symptoms_area .top_box .container{
    padding-top: 8vw;
  }
}

/* .list_symptoms */
.list_symptoms{
  margin-left: 1em;
  margin-bottom: 70px;
}
.list_symptoms li{
  color: #FFFFD7;
  font-size: 3.6rem;
  line-height: 1.3;
  margin-bottom: 40px;
  padding-left: 1.8em;
  position: relative;
}
.list_symptoms li::before{
  content: '';
  background-image: url(../img/icon_check.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  display: inline-block;
  position: absolute;
  top: 8px;
  left: 0;
  height: 40px;
  width: 40px;
}
@media screen and (max-width: 767px) {
  .list_symptoms{
    margin-bottom: 9.333vw;
  }
  .list_symptoms li{
    font-size: 4.8vw;
    margin-bottom: 5.333vw;
  }
  .list_symptoms li::before{
    top: 1.067vw;
    height: 5.333vw;
    width: 5.333vw;
  }
}


#symptoms_area p{
  color: #fff;
  font-size: 3.6rem;
  line-height: 1.4;
  text-align: center;
}
.img_symptoms{
  display: block;
  margin: 0 auto 70px;
}
.icon_arrow_next{
  display: block;
  margin: 0 auto;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  #symptoms_area p{
    font-size: 4.8vw;
  }
  .img_symptoms{
    margin-bottom: 9.333vw;
    width: 71.067vw;
  }
  .icon_arrow_next{
    margin-top: 1.333vw;
    width: 3.067vw;
  }
}

/* .bottom_box */
#symptoms_area .bottom_box .container{
  padding-top: 10px;
}
#symptoms_area .ttl_cta{
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  #symptoms_area .bottom_box .container{
    padding-top: 0;
  }
  #symptoms_area .ttl_cta{
    margin-bottom: 2.667vw;
  }
}


/* ------ #damage_area -------*/
/* .ttl_damage */
.ttl_damage{
  aspect-ratio: 1500 / 800;
  background-image: url(../img/bg_ttl_damage.png);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 2;
  text-align: center;
}

/* .top_box */
#damage_area .top_box{
  aspect-ratio: 20 / 23;
  background-image: url(../img/bg_damage.png);
}
#damage_area .top_box .container{
  padding-top: 20px;
}

/* .damage_box */
.damage_box{
  display: flex;
  flex-wrap: wrap;
  position: relative;
  left: -20px;
}
.damage_box li{
  margin-bottom: 20px;
  width: 50%;
}
.damage_box li img{
  margin-bottom: 10px;
}
.damage_box li p{
  color: #fff;
  line-height: 1.4;
  margin-left: 44px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #damage_area .top_box .container{
    padding-top: 2.667vw;
  }
  .damage_box{
    left: -2.667vw;
  }
  .damage_box li{
    margin-bottom: 2.667vw;
  }
  .damage_box li img{
    margin-bottom: 1.333vw;
  }
  .damage_box li p{
    margin-left: 5.867vw;
  }
}

/* .center_box */
#damage_area .center_box .container{
  padding: 40px 0;
}
.ttl_damage_sub{
  margin-bottom: 30px;
}
#damage_area .center_box img{
  display: block;
  margin: 0 auto;
  margin-bottom: 40px;
}
#damage_area .center_box img:last-child{
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #damage_area .center_box .container{
    padding: 5.333vw 0;
  }
  .ttl_damage_sub{
    margin-bottom: 4vw;
  }
  #damage_area .center_box img{
    margin-bottom: 5.333vw;
  }
}


/* ------ #flow_area -------*/
#flow_area{
  background-image: url(../img/bg_flow.jpg);
  background-size: cover;
}
.ttl_flow{
  aspect-ratio: 1188 / 173;
  background-image: url(../img/bg_ttl_flow.png);
  color: #fff;
  margin: 0 auto 1em;

  display: flex;
  align-items: center;
  justify-content: center;
  width: 593px;
}
@media screen and (max-width: 767px) {
  .ttl_flow{
    width: 80%;
  }
}

/* .flow_box */
.flow_box li{
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 10px;
  display: flex;
  margin-bottom: 40px;
  position: relative;
}
.flow_box li:last-child{
  margin-bottom: 0;
}
.flow_box li::after{
  content: '';
  background-image: url(../img/arrow_flow.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  display: inline-block;
  position: absolute;
  bottom: -30px;
  left: calc(50% - 22px);
  height: 22px;
  width: 44px;
}
.flow_box li:last-child::after{
  display: none;
}
.flow_box li.free::before{
  content: '';
  background-image: url(../img/icon_free.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  display: inline-block;
  position: absolute;
  top: -5px;
  right: 15px;
  height: 84px;
  width: 102px;
}
.flow_box li .number{
  background-color: #1A5D00;
  border-radius: 10px 0 0 10px;
  color: #fff;
  font-size: 4.8rem;
  padding: 15px;
  display: flex;
  align-items: center;
}
.flow_box li .txt_box{
  flex: 1;
  padding: 20px;
}
.flow_box li  .ttl_flow_sub{
  color: #1A4700;
  font-size: 4rem;
  margin-bottom: 0.25em;
}
.flow_box li  .ttl_flow_sub span{
  background-color: #EFF2C1;
  padding: 0 1.333vw;
}
.flow_box li .txt_box p{
  font-size: 3.5rem;
  line-height: 1.2;
  padding-left: 1.333vw;
}
@media screen and (max-width: 767px) {
  .flow_box li{
    border-radius: 1.333vw;
    margin-bottom: 5.333vw;
  }
  .flow_box li::after{
    bottom: -4vw;
    left: calc(50% - 2.933vw);
    height: 2.933vw;
    width: 5.867vw;
  }
  .flow_box li::before{
    top: -0.667vw;
    right: 2vw;
    height: 11.2vw;
    width: 13.6vw;
  }
  .flow_box li .number{
    border-radius: 1.333vw 0 0 1.333vw;
    font-size: 6.4vw;
    padding: 2vw;
  }
  .flow_box li .txt_box{
    padding: 2.667vw;
  }
  .flow_box li  .ttl_flow_sub{
    font-size: 5.333vw;
  }
  .flow_box li .txt_box p{
    font-size: 4.667vw;
  }
}

/* .link_box */
#flow_area .link_box{
  text-align: center;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  #flow_area .link_box{
    padding-bottom: 6vw;
  }
  #flow_area .link_box img{
    width: 93.333vw;
  }
}


/* ------ #construction_method_area -------*/
#construction_method_area .container{
  width: 85.333%;
}
#construction_method_area .case:nth-child(1){
  position: relative;
}
#construction_method_area .case:nth-child(1) .container{
  padding: 60px 0;
}
@media screen and (max-width: 767px) {
  #construction_method_area .case:nth-child(1) .container{
    padding: 8vw 0;
  }
}

/* .ttl_construction_method */
.ttl_construction_method{
  color: #fff;
  font-size: 4.6rem;
  letter-spacing: 0.1em;
  position: relative;
  text-align: center;
  z-index: 10;
}
.ttl_construction_method .txt_small{
  font-size: 3.6rem;
}
#construction_method_area .deco{
  position: absolute;
  top: 25px;
  right: -30px;
}
@media screen and (max-width: 767px) {
  .ttl_construction_method{
    font-size: 6.133vw;
  }
  .ttl_construction_method .txt_small{
    font-size: 4.8vw;
  }
  #construction_method_area .deco{
    top: 3.333vw;
    right: -4vw;
    width: 29.067vw;
  }
}

#construction_method_area .case:nth-child(2){
  background-image: url(../img/bg_construction_method.jpg);
}

/* .construction_method_box */
.construction_method_box li{
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 10px;
  color: #333333;
  font-size: 2.8rem;
  margin-bottom: 30px;
}
.construction_method_box li:last-child{
  margin-bottom: 0;
}
.construction_method_box li .inner{
  padding: 20px;
}
.construction_method_box li .inner img{
  margin-bottom: 20px;
}
.construction_method_box li ul{
  margin: 0 auto;
  padding-left: 1.2em;
  position: relative;
  width: 80%;
}
.construction_method_box li ul li{
  line-height: 1.4;
  margin-bottom: 10px;
}
.construction_method_box li ul li::before{
  content: '●';
  display: inline-block;
  position: absolute;
  left: 0;
}
@media screen and (max-width: 767px) {
  .construction_method_box li{
    border-radius: 1.333vw;
    font-size: 3.733vw;
    margin-bottom: 4vw;
  }
  .construction_method_box li .inner{
    padding: 2.667vw;
  }
  .construction_method_box li .inner img{
    margin-bottom: 2.667vw;
  }
  .construction_method_box li ul li{
    margin-bottom: 1.333vw;
  }
}


/* ------ #faq_area -------*/
.faq_box li{
  border-radius: 10px;
  background-image: linear-gradient(0deg, rgba(235, 248, 221, 1), rgba(255, 255, 255, 1) 40%, rgba(252, 254, 250, 1));
  box-shadow: 5px 7px #9fb5a2;
  padding: 30px;
  margin-bottom: 30px;
}
.faq_box li:last-child{
  margin-bottom: 0;
}
.faq_box li .question{
  border-bottom: 2px solid;
  border-image: linear-gradient(to right, #245827, #939c83) 1;
  color: #005920;
  font-size: 3.2rem;
  font-weight: bold;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
.faq_box li .answer{
  font-size: 2.8rem;
}
.faq_box li .question,
.faq_box li .answer{
  line-height: 1.2;
  padding-left: 80px;
  position: relative;
}
.faq_box li .question::before,
.faq_box li .answer::before{
  content: '';
  background-size: 100% auto;
  background-repeat: no-repeat;
  display: inline-block;
  position: absolute;
  left: 0;
}
.faq_box li .question::before{
  background-image: url(../img/icon_q.png);
  top: -10px;
  height: 60px;
  width: 60px;
}
.faq_box li .answer::before{
  background-image: url(../img/icon_a.png);
  left: 15px;
  height: 30px;
  width: 36px;
}
@media screen and (max-width: 767px) {
  .faq_box li{
    border-radius: 1.333vw;
    box-shadow: 0.667vw 0.933vw #9fb5a2;
    padding: 4vw;
    margin-bottom: 4vw;
  }
  .faq_box li .question{
    font-size: 4.267vw;
    margin-bottom: 2.667vw;
    padding-bottom: 2.667vw;
  }
  .faq_box li .answer{
    font-size: 3.733vw;
  }
  .faq_box li .question,
  .faq_box li .answer{
    padding-left: 10.667vw;
  }
  .faq_box li .question::before{
    top: -1.333vw;
    height: 8vw;
    width: 8vw;
  }
  .faq_box li .answer::before{
    left: 2vw;
    height: 4vw;
    width: 4.8vw;
  }
}


/* ------ #cta_photo_area -------*/
#cta_photo_area{
  background-color: #d7e3ba;
}
#cta_photo_area .container{
  padding: 30px 0;
  width: 100%;
}
.ttl_cta_photo{
  aspect-ratio: 1500 / 400;
  background-image: url(../img/bg_ttl_contact_photo.png);
  color: #fff;
  font-size: 3.6rem;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.ttl_cta_photo .txt_marker_o{
  padding: 0 0.25em;
}
#cta_photo_area img{
  margin-bottom: 10px;
}
#cta_photo_area p{
  margin: 0 auto;
  width: 83%;
}
@media screen and (max-width: 767px) {
  #cta_photo_area .container{
    padding: 4vw 0;
  }
  .ttl_cta_photo{
    font-size: 4.8vw;
  }
  #cta_photo_area img{
    margin-bottom: 1.333vw;
  }
}


/* ------ #contact_area -------*/
#contact_area{
  background-color: #f7f9f1;
}
.ttl_contact_mail{
  margin-bottom: 0.5em;
  text-align: center;
}
#contact_area p.txt_bottom{
  line-height: 1.2;
}


/* ------ #company_info_area -------*/
.ttl_company{
  font-size: 3.8rem;
  margin-bottom: 0.25em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ttl_company{
    font-size: 5.067vw;
  }
}


/* =======================================
    以下、お問い合わせ　ページ（.page_contact）
======================================= */
.page_contact #contact_area{
  background-color: #fff;
  margin-bottom: 50px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .page_contact #contact_area{
    margin: 2.667vw auto 10.667vw;
    width: 92%;
  }
  .page_contact #contact_area .container{
    padding: 6.667vw 0;
  }
}

/* ------ #page_confirm -------*/
#page_confirm  .form_table th{
  display: inline-block;
  font-size: 2.2rem;
  text-align: right;
  width: 36%;
}
#page_confirm  .form_table td{
  display: inline-block;
  font-size: 2rem;
  padding: 15px;
  width: 62%;
}
#page_confirm .form_table th:after{
  content: '：';
  display: inline-block;
  padding-left: 0.5em;
}
@media screen and (max-width: 767px) {
  #page_confirm  .form_table th{
    display: block;
    font-size: 3.733vw;
    text-align: left;
    width: 100%;
  }
  #page_confirm  .form_table td{
    display: block;
    font-size: 3.467vw;
    padding: 2.667vw;
    padding-bottom: 5.333vw;
    width: 100%;
  }
}

/* ------ #page_thanks -------*/
#page_thanks p{
  font-size: 2.2rem;
  text-align: center;
}
#page_thanks .tel_box{
  background-color: #f7f9f1;
  box-sizing: border-box;
  margin-top: 40px;
  padding: 20px;
  text-align: center;
  width: 100%;
}
#page_thanks .tel_box a{
  font-size: 3.6rem;
}
#page_thanks .txt_info{
  display: inline-block;
  font-size: 2rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #page_thanks p{
    font-size: 3.2vw;
  }
  #page_thanks .tel_box{
    margin-top: 5.333vw;
    padding: 2.667vw;
  }
  #page_thanks .tel_box a{
    font-size: 5.867vw;
  }
  #page_thanks .txt_info{
    font-size: 3.2vw;
  }
}


/* =======================================
    以下、個人情報保護方針ページ（#page_privacy）
======================================= */
#privacy_area{
  background-color: #fff;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  #privacy_area{
    margin: 0 auto 10.667vw;
    width: 92%;
  }
  #privacy_area .container{
    padding: 6.667vw 0;
  }
}

/* .ttl_privacy */
.ttl_privacy{
  font-size: 2.6rem;
  font-weight: 600;
  margin-bottom: 0.5em;
  margin-top: 2.5em;
}
.ttl_privacy:nth-child(1){
  margin-top: 0;
}

/* .privacy_box */
.privacy_box p, .privacy_box li{
  font-size: 2rem;
  font-weight: 400;
}
.privacy_box .error{
  text-align: center;
}
.privacy_box ul li{
  padding-left: 1.2em;
  list-style: none;
  position: relative;
}
.privacy_box ul li::before{
  content: '・';
  position: absolute;
  left: 0;
}
@media screen and (max-width: 767px) {
  .ttl_privacy{
    font-size: 4.267vw;
  }
  .privacy_box p, .privacy_box li{
    font-size: 3.733vw;
  }
}