@charset "UTF-8";
/*タイトル背景画像*/
.container_basic .title_wrap{
    background-image: url(../images/foundation_bg.png);
}

@media (max-width: 767px) {
    .container_basic .title_wrap{
        background-image: url(../images/foundation_bg.png);
        background-position: bottom; 
    }
    .container_basic .title_wrap .title{
        height: auto;
    }
    .container_basic .title_wrap .sub2{
        font-size: 1.2rem;
        margin: 0.5em 0;
    }
    .container_basic .title_wrap .title.is-fixed{
        height: 110px;
        color: #000;
    }
    .container_basic .title_wrap .overline{
        display: inline-block;
        position: relative;
        font-size: 1.2rem;
        padding: 10px 0;
        margin-top: 10px;
    }
    .container_basic .title_wrap .title.is-fixed .overline{
        padding: 8px 0;
        margin-top: 0;
    }
    .container_basic .title_wrap .overline::before{
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        width: 100%;
        height: 1px;
        background: #BFBFBF;
    }
}
@media (min-width: 768px) {
    .container_basic .title_wrap .sub1{
        font-size: 1rem;
        margin: 2em 0 0;
    }
    .container_basic .title_wrap .sub2{
        font-size: 1.5rem;
        margin: 0.5em 0;
    }
    .container_basic .title_wrap .overline{
        position: relative;
        font-size: 1.2rem;
        padding: 15px 0;
        margin-top: 30px;
    }
    .container_basic .title_wrap .overline::before{
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        width: 18px;
        height: 1px;
        background: #B2B2B2;
    }
}

/*contents*/
.text-right{
    text-align: right;
}
.contents_wrap .inner{
    padding: 5% 10%;
}
.contents_wrap .inner h3{
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 3em;
}
.contents_wrap .inner h3 .small{
    font-size: 1.2rem;
}
.contents_wrap .inner section{
    margin-bottom: 130px;
}

.purpose p{
    margin: 2em 0;
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.3px;
}
.summary dl{
    line-height: 1.7;
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 767px) {
    .purpose p{
        font-size: 1.4rem;
    }
    .summary dl{
        flex-direction: column;
        letter-spacing: 0.02em;
    }
    .summary dl dd{
        margin-bottom: 1.5em;
    }
}
@media (min-width: 768px) {
    
    .summary dl dt,
    .summary dl dd{
        padding: 10px;
        box-sizing: border-box;
        border-bottom: 1px solid #BFBFBF;
    }
    .summary dl dt{
        position: relative;
        width: 30%;
        max-width: 315px;
    }
    .summary dl dt span{
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 5em;
    }
    .summary dl dd{
        width: 70%;
    }
}

.name-list .flex_box{
    justify-content: center;
}
.name-list .flex_box > div{
    margin: 0 3.3%;
    line-height: 1.5;
}
.name-list .flex_box > div h4{
    font-size: 1.2rem;
    padding: 1em 5px;
    margin-bottom: 1em;
    border-bottom: 1px solid #BFBFBF;
}
.name-list dl{
    display: flex;
    flex-wrap: wrap;
}
.name-list dt,
.name-list dd{
    padding: 5px;
    box-sizing: border-box;
}

@media (max-width: 974px) {
    
    .contents_wrap .inner .name-list h3 .small{
        display: block;
        margin: 1em 0;
        font-size: 1.5rem;
    }
    .name-list .flex_box{
        flex-direction: column;
    }
    .name-list .flex_box > div{
        width: 100%;
        max-width: 350px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2em;
    }
    .name-list .flex_box > div h4{
        text-align: center;
    }
    .name-list .flex_box > div dl{
        width: 90%;
        margin: 0 auto;
    }
    .name-list .flex_box > div dt{
        width: 70%;
    }
    .name-list .flex_box > div dd{
        width: 30%;
    }    
}
@media (min-width: 974px) {
    
    .name-list .director{
        width: 268px;
    }
    .name-list .director dt{
        max-width: 202px;
        width: 70%;
    }
    .name-list .director dd{
        width: 30%;
    }
    .name-list .auditor{
        width: 171px;
    }
    .name-list .auditor dt{
        max-width: 100px;
        width: 55%;
    }
    .name-list .auditor dd{
        width: 45%;
    }
    .name-list .councillor{
        width: 184px;
    }
    .name-list .councillor dt{
        max-width: 112px;
        width: 60%;
    }
    .name-list .councillor dd{
        width: 40%;
    }
}
@media (min-width: 975px) and (max-width:1280px){
    .name-list .flex_box > div dl{
        font-size: 1.3rem;
    }
    .name-list .flex_box > div dl dt{
        width: calc(100% - 6em);
        max-width: none;
    }
    .name-list .flex_box > div dl dd{
        width: 6em;
    }
}
.public-notice .flex_box{
    justify-content: center;
}
.public-notice .flex_box > div{
    margin: 0 3%;
    width: 50%;
    max-width: 320px;
    box-sizing: border-box;
}
.public-notice .flex_box > div h4{
    font-size: 1.2rem;
    padding: 1em 5px;
    margin-bottom: 1em;
    border-bottom: 1px solid #BFBFBF;
}
.public-notice ul li{
    line-height: 1.5;
    padding: 5px;
    box-sizing: border-box;
}
@media (max-width: 767px) {
    
    .public-notice .flex_box{
        flex-direction: column;
    }
    .public-notice .flex_box > div{
        width: 100%;
        margin-bottom: 2em;
    }
    .public-notice .flex_box > div h4,
    .public-notice ul li{
        text-align: center;
    }
    
}