@charset "utf-8";

.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;}

.list{ background: #f5f5f5; padding: 100px 0 110px;}
.list h2{ margin-bottom: 120px;} 
.list ul { max-width: 767px; margin: 0 auto;}

.property_box{ border-top: 1px solid #000;  display: block; }
.property_box:last-of-type{ border-bottom: 1px solid #000;}
.property_box .inner{position: relative;  margin: 30px 4.16%;}
.property_box p{ font-weight: bold; font-size: clamp( 1.6rem,2vw,2.4rem); line-height: 1; margin-bottom: 0;}
.property_box.open p{ margin-bottom: 1em;}
.property_box p:not(:first-of-type){ height: 0; opacity: 0; text-align: center; line-height: 1.5;}
.property_box.open p:not(:first-of-type){ height: auto; opacity: 1; transition: .5s;}

.property_box .btn:hover{ cursor: pointer;}
.property_box .btn span{ position: absolute; top: 0.5em; right: 0; background: #000; width: clamp( 1.6rem,2vw,2.4rem); height: 3px;  transition: .5s;}
.property_box .btn span:nth-child(2){-webkit-transform: rotate(90deg) ; -moz-transform: rotate(90deg); transform: rotate(90deg); }
.property_box.open .btn span:nth-child(2){-webkit-transform: rotate(180deg) ; -moz-transform: rotate(180deg); transform: rotate(180deg); transition: .5s;}


.branch{ margin-top: 130px;}

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

@media (max-width: 768px){
    h2{ font-size: clamp( 2rem , 6.5vw, 5rem); margin-bottom: 0px;}
    h3{ font-size: min(6.25vw, 4.8rem); }
    h4{ font-size: min(5vw, 3.6rem); padding: 30px 0 25px;}

    .contents{  padding: 70px 0 50px;}

    .list h2 { margin-bottom: 50px; }

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