@charset "utf-8";

.flex{ display: flex; justify-content: space-between; flex-wrap: wrap;}


.contents{  padding: 100px 0 300px ; background: #f5f5f5;}

.original_plan .titBox{ padding-bottom: 30px;}

h2{ font-size: 5rem; font-weight: bold; max-width: 1200px; width: calc(100% - 50px); line-height: 1.5; margin:0 auto;}
h2 span{ display: block; font-size: clamp(16px,1.5vw,1.8rem); }
h3{ font-size: 3.6rem; line-height: 1; }
h3 span:nth-of-type(2){ font-size: 2.4rem;}
h4{ font-size: 3.6rem; line-height: 1.4;}
h4 span{ display: block; font-size: 1.6rem; }

.intro{ background: #f5f5f5; text-align: center; padding-top: 65px ;}
.intro .txt{ margin: 30px auto 0;}
.plan_list{ background: #f5f5f5; padding: 105px 0 0; }
.box{ padding: 50px 0; border-bottom: #000 solid 1px;}
.box:not(:first-of-type){ padding-top: 50px;}
.box:first-of-type{ border-top: #000 solid 1px;}
.box .txtBox{ width: 54.17%; }
.box .txtBox p{ margin-top: 35px;}
.box figure{ width: 41.08%;}

@media (max-width: 1400px){
    .contents{ padding: 100px 0 150px;}
    .original_plan .titBox{  padding-bottom: 30px;}
    h2{ font-size: 4.5rem;}
}

@media (max-width: 768px){

    .contents{ padding: 70px 0 150px;}
    .original_plan .titBox{ padding-bottom: 20px;}

    h2{ font-size: clamp( 2rem , 6.5vw, 5rem);}
    h3{ font-size: min(5vw, 3.6rem);}
    h3 span:nth-of-type(2){ font-size:min(3vw, 2.4rem) ;}
    h4{ font-size: min(6vw, 4.8rem); margin-top: 20px;}
    h4 span{ font-size: min(3vw, 2.4rem);}
    

    .intro{ padding-top: 30px;}
    .intro .txt{ margin: 15px auto 0;}
    .plan_list{ padding: 45px 0 0;}
    .box:first-of-type{ border-top: none; padding-top: 0;}
    .box .txtBox{  width: 100%; order: 2;}
    .box .txtBox p { margin-top: 20px;}
    .box figure{ width: 100%; order: 1;}
}