body{
    max-width: 900px;
    margin: 0 auto;
    background-color: #fff;
    font-weight: 600;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 
              0 10px 10px -5px rgba(0, 0, 0, 0.04);
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
    font-size: clamp(15px, 3.67vw, 33px);
    line-height: 1.636;
    color: #2B2B2B;
    padding-bottom: 10%;
}

img{
    display: block;
    width: 100%;
    max-width: 900px;
}

.sp-only{
    display: inline;
}
@media (max-width: 600px){
    .sp-only{
        display: block;
    }
}





.fv-text{
    padding-top: 9.67%;
    line-height: 1.03;
    font-weight: 600;
}
.fv-text h1{
    width: 86.67%;
    margin: 0 auto;
    margin-bottom: 4.94%;
    color: #2B2B2B;
    font-size: clamp(17px, 3.67vw, 33px);
    padding-bottom: 2.76%;
    border-bottom: 4px solid #E95D15;
    white-space: nowrap;
}
.fv-text p{
    width: 86.67%;
    margin: 0 auto;
    font-size: clamp(16px, 2.78vw, 25px);
}
.fv-text p span{
    border: 3px solid #2B2B2B;
    border-radius: 50px;
    padding: 1.11% 2.44%;
    margin-right: 1.41%;
}
.fv-image{
     margin-top: 3.33%;
}

.cta-btn-are{
    margin-top: 7.89%;
    font-size: clamp(16px, 4.11vw, 37px);
    font-weight: 600;
    line-height: 1.189;
    text-align: center;
}
.cta-btn-are.second{
    margin-top: 16.67% !important;
}
.cta-btn-are.third{
    margin-top: 16.67% !important;
    margin-bottom: 8.89% !important;
}
.cta-btn-are.third + p{
    width: 86.67%;
    margin: 0 auto;
    font-weight: 600;
}

.image_01{
    width: 91.11%;
    margin: 5% auto 5.78%;
}
.cta-btn_wrapper{
    margin-top: 6.89%;
    color: #00A37E;
}
.cta-btn-image{
    width: 86.67%;
    margin: 0 auto;
    margin-top: 2.44%;
}

.main-text-wrapper{
    width: 86.67%;
    margin: 0 auto;
    margin-top: 16.67%;
}
.main-text-wrapper h2{
    position: relative;
    width: 100%;
    color: #fff;
    font-size: clamp(16px, 3.67vw, 33px);
    font-weight: 600;
    line-height: 1.189;
    text-align: center;
    background-color: #E95D15;
    padding: 2.5% 0;
    margin-top: 11.11%;
    margin-bottom: 8.11%;
    white-space: nowrap;
}
.main-text-wrapper h2::after{
    content: "";
  position: absolute;
  bottom: -23px; 
  left: 7%;   
  width: clamp(21px, 4vw, 36px); 
  height: clamp(12px, 2.5vw, 23px);
  bottom: 0;
  left: 5%;    
  transform: translateY(100%); 
  background-color: #E95D15; /* 枠と同じ色 */
  clip-path: polygon(0 0, 100% 0, 50% 100%); /* 逆三角形に切り抜く */
}
.main-text-wrapper h2:first-child{
    margin-top: 0;
}
.main-text-wrapper h2.black{
    position: relative;
    width: 100%;
    color: #fff;
    font-size: clamp(16px, 3.67vw, 33px);
    font-weight: 600;
    line-height: 1.189;
    text-align: center;
    background-color: #2B2B2B;
    padding: 2.5% 0;
    margin-top: 11.11%;
    margin-bottom: 8.11%;
    white-space: nowrap;
}
.main-text-wrapper h2.black::after{
    content: "";
  position: absolute;
  bottom: -23px; 
  left: 7%;   
  width: clamp(21px, 4vw, 36px); 
  height: clamp(12px, 2.5vw, 23px);
  bottom: 0;
  left: 5%;    
  transform: translateY(100%); 
  background-color: #2B2B2B; /* 枠と同じ色 */
  clip-path: polygon(0 0, 100% 0, 50% 100%); /* 逆三角形に切り抜く */
}
.main-text-wrapper h2.third{
    position: relative;
    width: 100%;
    color: #fff;
    font-size: clamp(16px, 3.67vw, 33px);
    font-weight: 600;
    line-height: 1.189;
    text-align: center;
    background-color: #E95D15;
    padding: 2.5% 0;
    margin-top: 11.11%;
    margin-bottom: 5%;
    white-space: nowrap;
}
.main-text-wrapper h2.third::after{
  content: "";
  position: absolute;
  bottom: -23px; 
  left: 7%;   
  width: clamp(21px, 4vw, 36px); 
  height: clamp(12px, 2.5vw, 23px);
  bottom: 0;
  left: 50%;    
  transform: translate(-50%,100%); 
  background-color: #E95D15; /* 枠と同じ色 */
  clip-path: polygon(0 0, 100% 0, 50% 55%); /* 逆三角形に切り抜く */
}
.main-text-wrapper h3{
    color: #fff;
    font-size: clamp(15px, 3.67vw, 33px);
    line-height: 1.333;
    font-weight: 600;
    text-align: left;
    background-color: #E95D15;
    padding: 2.5% 1.87%;
    margin-top: 8.89%;
}
.main-text-wrapper h3 span{
    margin-left: 5.9%;
}
.main-text-wrapper h3:nth-of-type(1){
    margin-top: 16.67%;
}
.main-text-wrapper h3.second:nth-of-type(1){
    margin-top: 8.89%;
}
.main-text-wrapper h3.second + img{
    margin-top: 7.78%;
}

.text-box.first{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    display: block;
   margin: 1em auto;
   width: 108%; 
   max-width: 838px;
   border: 2px solid #2B2B2B;
   padding: clamp(15px, 4vw, 29px);
}
.text-box.second{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    display: block;
   margin: 1em auto 1.5em;
   width: 108%; 
   max-width: 838px;
   border: 2px solid #2B2B2B;
   padding: clamp(15px, 4vw, 29px);
}

.main-text-wrapper h4{
    font-size: clamp(15px, 3.67vw, 33px);
    line-height: 1.636;
    color: #2B2B2B;
    font-weight: 600;
    text-align: left;
    border-top: 2px solid #2B2B2B;
    border-bottom: 2px solid #2B2B2B;
    padding: 1.44% 1.6%;
    margin-bottom: 5.56%;
}
.main-text-wrapper h4:nth-of-type(3){
    margin-top: 6.67%;
    margin-bottom: 6.67%;
}

.main-text-wrapper p{
    display: block;
    font-size: clamp(15px, 3.67vw, 33px);
    line-height: 1.636;
    color: #2B2B2B;
    font-weight: 600;
}
.red{
    color: #FF0000;
}
.red_under-yellow{
    color: #FF0000;
    background-color: #FFFF00;
    padding: .15em .16em;
}
.blue{
    color: #0022FF;
}
.main-text-wrapper img{
    margin-top: 6.67%;
    margin-bottom: 6.67%;
    margin-left: auto;
    margin-right: auto;
}
.main-text-wrapper h3 + img{
    margin-top: 5.56%;
}
.image_05{
    margin-bottom: 12.56% !important;
}
.image_06{
    margin-bottom: 7.78% !important;
}
.image_15{
    margin-top: 12.67% !important;
}
.image_25{
    margin-bottom: 8.89% !important;
}
.image_26{
    margin-top: 8.89% !important;

}