@charset "utf-8";

main{ margin-top: 100px;}
.owners{ margin-bottom: 150px;}

.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:not(.font-optima , .decrease){ display: block; font-size: clamp(16px,1.5vw,1.8rem); }
h3{ font-size: 3.6rem; line-height: 1.4;}
h3 span:not(.font-optima){ display: block; font-size: 1.6rem; }
h3.normal{ font-weight: normal;}

.mv{ position: relative;}
.mv .container{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
.mv_txtBox{  left: 0; text-shadow: #fff 0px 0px 3px;}
.mv_tit{ font-size: 3rem; font-weight: bold; margin-bottom: 1em; line-height: 1.5;}
.mv_txt{ line-height: 1.8;}

.contents_list{ background: #f5f5f5; padding: 0 0 220px; margin-bottom: 100px; overflow: hidden;}
.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;}
.box_01{ position: relative;  padding: 50px 0 60px; border-bottom: 0;}
.box_01::before{ position: absolute; background:#f0eded; content: ""; width: 200vw; height: 100%; transform:  translateX(-50%); z-index: -1; top: 0;}
.box_01 .box_bd{border: 1px solid #000; width: 100%; padding: 50px 20px;}
.box_01 .btn__more:first-of-type{ margin-top: 10px;}

#topics {margin-bottom: 100px;}
#topics .inner{ max-width: 725px; margin: 0 auto;}
#topics h3{ font-size: 2rem; margin-bottom: 2rem;}
#topics .items{ border-top: 1px dotted #000; padding: 1rem 0;}
#topics .items:last-of-type{ border-bottom: 1px dotted #000;}
#topics dt{ width: 20%; padding-left: 1rem;}
#topics dd{ width: 80%; padding-right: 1rem;}
#topics dd a:hover{ text-decoration: none; opacity: 0.7;}

.contact_list{ padding: 94px 0 124px; background: #f5f5f5;}
.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;}


@media (max-width: 1400px){
   h2{ font-size: 4.5rem; margin-bottom: 30px;}
    .contents_lists{ padding: 80px 0 150px;}
    .mv_tit{ font-size: 2.14vw;}
    .mv_txt{ font-size: 1.14vw;}
}


@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);}

    .mv{ position: relative;}
    .mv .container{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
    .mv_tit{ font-size: 5vw;}
    .mv_txt{ font-size: 4vw;}

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

    #topics{ margin-bottom: 50px;}
    #topics dt{ width: 100%;}
    #topics dd{ width: 100%; padding-left: 1rem;}

    .contact_list{ padding: 0 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; }
}