@charset "utf-8";

main{ margin-top: 100px;}

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

h2{ font-size: 5rem; font-weight: bold; max-width: 1200px; width: calc(100% - 50px); line-height: 1.5; margin:0 auto 30px;}
h2 span{ display: block; font-size: clamp(16px,1.5vw,1.8rem); }
h3{ font-size: 3.3rem; line-height: 1.4;}
h3.normal{ font-weight: normal;}

h2.tit{ font-size: 3.3rem; line-height: 1.4; margin:0 0 30px;} 
h2.tit.normal{ font-weight: normal;}
h2.tit span.font-optima{ display: inline-block; font-size: 3.3rem; }

.contents{ background: #f5f5f5;}
.contents_list{ background: #f5f5f5; padding: 105px 0 220px; margin-bottom: 150px;}
.box{ padding-bottom: 50px; border-bottom: #000 solid 1px;}
.box:not(:first-of-type){ padding-top: 50px;}
.box .txtBox{ width: 100%; max-width: 824px; margin: 0 auto;}
.box .txtBox p{ margin-top: 35px;}

.contact_list{ padding: 30px 0 124px; }
.contact_list ul:not(:last-of-type){ margin-bottom: 85px;}
.contact_list h3{ margin-bottom: 60px;}
.contact_list li:not(:last-of-type){ border-right: 1px solid #000;}
.contact_list figure{ text-align: center; }
.contact_list figure figcaption{ font-size: 1.4rem;text-align: center; margin-top: 20px;}
.contact_list .titBox{ width: 43.92%; padding-right: 2.5%;}
.contact_list .titBox .commission{ margin-top: 20px; font-size: 1.8rem; font-weight: bold; border: 1px solid #000; display: inline-block; padding:5px 10px;}
.contact_list .titBox .commission span{ font-size: 3.6rem; vertical-align:sub; line-height: 1;}
.contact_list .tel{ width: 28%; padding: 20px 4.6%;}
.contact_list .tel p:first-of-type{ margin-top: 40px; font-size: 3rem; text-align: center;}
.contact_list .intermediary .tel p:first-of-type{ margin-top: 25px;}
.contact_list .intermediary .tel .date{ width: 100%;}
.contact_list .tel .date{ font-size: 1.2rem; width: 160px; margin: 0 auto;}
.contact_list .mail{ width: 28%; padding: 20px  5%;}
.contact_list .mail .btn__more{ margin-top: 65px; background: #000; color: #fff; max-width: 224px; width: 100%;}
.contact_list .mail .btn__more::after { border-left: 14px solid #fff; }
.contact_list .mail .btn__more:hover{ background: #fff; color: #000;}
.contact_list .mail .btn__more:hover::after{ border-left-color: #000;}
.contact_list .staff{ font-size: 1.8rem;}

.branch{ margin-top: 130px;}

@media (max-width: 1400px){
   h2{ font-size: 4.5rem; margin-bottom: 30px;}
}

@media (max-width: 768px){
    main { margin-top: 70px;}

    h2{ font-size: clamp( 2rem , 6.5vw, 5rem); margin-bottom: 20px;}
    h3{ font-size: min(6vw, 4.8rem); margin-top: 20px; width: 100%;}
    h3 span:not(.font-optima){ font-size: min(3vw, 2.4rem);}

    h2.tit{ font-size: min(6vw, 4.8rem); margin-top: 20px; width: 100%;}
    h2.tit span.font-optima{ font-size: min(6vw, 4.8rem);}

    .contents_list{ padding: 45px 0  60px; margin-bottom: 0;}
    .box .txtBox{  width: 100%; order: 2;}
    .box .txtBox p { margin-top: 20px;}    
    .box figure{ width: 100%; order: 1;}

    .contact_list{ padding: 30px 0 80px; margin-bottom: 50px; }
    .contact_list li:not(:last-of-type){ border-right: 0; border-bottom: 1px solid #000;}
    .contact_list h3{ margin-bottom: 20px;}
    .contact_list .titBox{ width: 100%; padding-bottom: 15px;}
    .contact_list .titBox .commission{ font-size: 1.5rem; margin-top: 10px;}
    .contact_list .titBox .commission span{ font-size: 2.5rem;}
    .contact_list .tel{ width: 100%; padding: 20px 0;}
    .contact_list .tel p:first-of-type{ font-size: 2.5rem; margin-top: 10px;}
    .contact_list .tel .date{ font-size: 1.2rem; width: 160px; margin: 0 auto;}
    .contact_list .mail{ width: 100%; padding: 20px  5%;}
    .contact_list .mail .btn__more{ margin: 10px auto 0; background: #000; color: #fff; }

    .branch{ margin-top: 50px;}
}