/*# sourceMappingURL=add.css.map */

@charset "UTF-8";

.bg_light_gray{
  background: #F4F3ED;
}

.faq-accordion-btn:not(.collapsed)::after {
    content: "−";
    color: #E9B800;
}

.faq-accordion-btn::after {
    content: "+";
    font-size: 1.8rem;
    font-weight: bold;
    color: #E9B800;
    margin-left: auto;
    background-image: none !important;
    transform: none !important;
    transition: color 0.3s ease;
    position: relative;
    top: -7px;
}

.section07-heading {
  margin-bottom: 10px;
}

.section01-btn-text {
    font-size: 19px;
    line-height: 1.2;
}

/* =========================
下固定CTA
========================= */
#section01{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

/* CTAに隠れないよう余白 */
main{
  padding-bottom: 90px;
}

/* PC */
@media (min-width: 992px){
  main{
    padding-bottom: 120px;
  }
}

@media screen and (max-width: 991px) {
    .section01-wrapper {
        flex-direction: column;
        gap: 10px;
    }
}
@media screen and (max-width: 991px) {
    .section01-btn {
        padding: 10px 16px;
    }
    .section01-btn-text {
    font-size: 16px;
    line-height: 1.2;
    }
}
@media screen and (max-width: 991px) {
    .section01-logo img {
        max-width: 100px;
        margin: 0 auto;
    }
}

.section08-head-title {
    line-height: 1.5;
}

.section09-title {
    font-size: 60px;
    font-weight: 900;
    line-height: 1.3;
    color: #000;
}
@media screen and (max-width: 991px) {
    .section09-title {
      font-size: 35px;
      font-weight: 900;
      line-height: 1.3;
      color: #000;
    }
}
@media screen and (min-width: 991px) {
    .section012-title {
        font-size: 44px;
    }
}

.border-yellow-3 {
    background: linear-gradient(transparent 90%, #FFC900 0%);
}

.section012-arrow {
    position: absolute;
    top: 60%;
    right: -26px;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    align-items: center;
    justify-content: center;
    z-index: 2;
}
.section13-box {
    max-width: 590px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 10px;
    padding: 20px 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.section14-tel-number {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: #000;
    font-size: 59px;
    font-weight: 900;
    line-height: 1.2;
}
@media screen and (max-width: 991px) {
    .section14-tel-number {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: #000 !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important; 
   }
   .section13-box {
      max-width: 590px;
      background: rgba(255, 255, 255, 0.7);
      border-radius: 10px;
      padding: 20px 20px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
   }
}
@media screen and (max-width: 991px) {
    .section012-title {
        font-size: 34px;
    }
}

.footer-area {
    margin-bottom: 70px;
}

.top-65 {
    top: 65%;
}
@media screen and (max-width: 991px) {
    .section08-body {
        padding: 18px 13px 22px;
    }
}

.section03-prev,
.section03-next{
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}

.section03-prev img,
.section03-next img{
  width: 26px;
  height: auto;
}

.section03-prev,
.section03-next{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
@media screen and (min-width: 1280px) {
  .section03-prev{
    left: -40px;
  }
  .section03-next{
    right: -40px;
  }
}



.section14-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.section14-check{
  flex-shrink:0;
  line-height:1;
}

.section14-check img{
  width:24px;
  height:auto;
  display:block;
}

@media screen and (max-width: 991px) {
    .section01-tel-number {
        font-size: 27px;
    }
}


/* 矢印用の余白 */
.section03-container{
  padding-left: 40px;
  padding-right: 40px;
}

/* スライダーはみ出し防止 */
#section03Slider{
  overflow: hidden;
}

/* 矢印 */
.section03-prev,
.section03-next{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;

  background: transparent;
  border: none;
  padding: 0;
}

.section03-prev{
  left: 0;
}

.section03-next{
  right: 0;
}

.bg-fv {
    height: 428px;
}

@media screen and (min-width: 768px) {
    .bg-fv {
        height: 600px;
    }
}

@media(max-width:991.98px){

  .section03-item{
    flex:0 0 100%;
    padding:0 6px;
  }

}




.contact-section{
  background:#f5ecc4;
}

.contact-title{
  font-size:48px;
}

.contact-type{
  background:#f7f7f7;
  border-radius:8px;
  padding:24px;
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  font-weight:700;
}

.contact-type input{
  width:20px;
  height:20px;
}

.contact-heading{
  font-size:36px;
  font-weight:700;
  border-bottom:1px solid #333;
  padding-bottom:10px;
}

.contact-table{
  border-top:2px solid #f0c400;
}

.contact-row{
  display:flex;
  border-bottom:2px solid #f0c400;
}

.contact-label{
  width:240px;
  background:#efefef;
  padding:30px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.contact-input{
  flex:1;
  background:#f7f7f7;
  padding:24px;
}

.required{
  border:1px solid #f08c00;
  color:#f08c00;
  padding:4px 10px;
  font-size:12px;
  border-radius:4px;
  background:#fff;
  font-weight:700;
}

.address-row .contact-input{
  min-height:260px;
}

.form-control,
.form-select{
  max-width:420px;
  height:52px;
}

@media (max-width:991.98px){

  .contact-title{
    font-size:36px;
  }

  .contact-row{
    flex-direction:column;
  }

  .contact-label{
    width:100%;
    padding:16px 20px;
  }

  .contact-input{
    padding:20px;
  }

  .form-control,
  .form-select{
    max-width:100%;
  }
}

.form-check-label{
  font-weight: 700;
}

.contact-input .form-control{
  max-width: 420px;
}

@media (max-width:991.98px){

  .contact-label br{
    display:none;
  }

}


.contact-textarea{
  resize:none;
  min-height:220px;
}

.privacy-box{
  background:#fff;
  padding:40px;
  border:1px solid #ddd;
  max-height:500px;
  overflow-y:auto;
}

.privacy-title{
  font-size:24px;
  font-weight:700;
  margin-bottom:20px;
}

.privacy-detail{
  line-height:2;
  font-size:15px;
}

.privacy-table th{
  width:180px;
  background:#f7f7f7;
}

.privacy-check{
  margin-top:40px;
}

.contact-submit-btn{
  border:none;
  background:#f6c500;
  color:#000;
  font-size:20px;
  font-weight:700;
  padding:20px 80px;
  border-radius:999px;
  transition:.3s;
}

.contact-submit-btn:hover{
  opacity:.8;
}

@media (max-width:991.98px){

  .privacy-box{
    padding:20px;
    max-height:400px;
  }

  .privacy-title{
    font-size:20px;
  }

  .contact-submit-btn{
    width:100%;
    padding:18px;
    font-size:18px;
  }

}

.contact-type{
  opacity:.4;
  transition:.3s;
}

.contact-type.active{
  opacity:1;
}


.optional{
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 700;
  color: #919191;
  background: #fff;
  border: 1px solid #919191;
  border-radius: 3px;
}

/* .contact-textarea{
  width: 100%;
  max-width: 100%;
  min-height: 250px;
} */

.contact-textarea::placeholder{
  color: #919191;
}

.contact-label{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.contact-textarea{
  width: 100%;
  max-width: none !important;
  height: 229px;
}



.visit-row{
  display:flex;
  align-items:center;
  gap:30px;
  margin-bottom:14px;
}

.visit-row:last-child{
  margin-bottom:0;
}

.visit-title{
  width:90px;
  font-weight:700;
  flex-shrink:0;
}

.visit-row .form-control{
  width:236px;
  max-width:none;
}

.visit-row .form-select{
  width:236px;
  max-width:none;
}

@media (max-width:991.98px){

  .visit-row{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

    .visit-title{
      width:auto;
    }

    .visit-row .form-control,
    .visit-row .form-select{
      width:100%;
    }
}