h2,h3,p{
    font-family:fot-tsukubrdgothic-std,sans-serif;
    font-weight:700;
    font-style:normal;
}
li{
    font-family: 游ゴシック;
}

/*面会交流支援・メンタルケア共通コンテナ*/
.body-fixed-header{
    background-color: #f5f5f5;
}
.container{
    position: relative;
    margin: 0 auto;
    width:76%;
}
@media screen and (max-width:959px){
    .container{
        width: 83%;
    }
}
@media screen and (max-width:559px){
    .container{
        width: 90%;
    }
}
@media screen and (max-width:319px){
    .container{
        width: 95%;
    }
}


/*面会交流支援キービジュアル*/
.kv-menkai{
    position: relative;
}
.kv-menkai img{
    width:100%;
    height:580px;
    overflow:hidden;
    object-fit:cover;
    opacity: 0.8;
}

.kv-menkai h2{
    position: absolute;
    top:130px;
    left:12%;
    font-size:35px;
    border-radius: 2px;
    line-height:2.5;
}
.kv-menkai p{
    position: absolute;
    top:240px;
    left:12%;
    font-size:20px;
}
@media screen and (max-width:959px){
    .kv-menkai h2{
        left:9%;
    }
    .kv-menkai p{
        left:9%;
    }
}
@media screen and (max-width:559px){
    .kv-menkai img{
        height:500px;
        overflow:hidden;
    }
    .kv-menkai h2{
        top:95px;
        left:5%;
    }
    .kv-menkai p{
        top:200px;
        left:5%;
        font-size: 16px;
        line-height: 1.5;
    }
}
@media screen and (max-width:319px){
    .kv-menkai img{
        height:470px;
        overflow:hidden;
    }
    .kv-menkai h2{
        top:75px;
        left:3%;
    }
    .kv-menkai p{
        top:175px;
        left:3%;
    }
}


/*面会交流支援概要*/
.concept1{
    background-color: #ffffff;
    padding-top: 2.5em;
    padding-bottom: 2.5em;
    height: auto;
    margin-top: -110px;
}
.concept1 h3{
    position: relative;
    margin:0 2em;
    font-size: 25px;
    line-height: 3;
}
.concept1 h3::before{
    content:'';
    position: absolute;
    top:80px;
    left:0;
    display: inline-block;
    width:40px;
    height: 2px;
    background-color: #66ad34;
    border-radius: 2px;
}
.concept1 ul{
    margin-top: 40px;
    margin-left: 2em;
    margin-right: 2em;
    word-wrap: break-word;
    line-height: 2;
}
.concept2{
    margin-top: 3em;
    background-color: #ffffff;
    padding-top: 2.5em;
    padding-bottom: 2.5em;
}
.concept2 h3{
    position: relative;
    margin:0 2em;
    font-size: 25px;
    line-height: 3;
}
.concept2 h3::before{
    content:'';
    position: absolute;
    top:80px;
    left:0;
    display: inline-block;
    width:40px;
    height: 2px;
    background-color: #66ad34;
    border-radius: 2px;
}
.concept2 ul{
    margin-top: 40px;
    margin-left: 2em;
    margin-right: 2em;
    line-height: 2;
    list-style: none;
}
.concept3{
    margin-top: 3em;
    background-color: #ffffff;
    padding-top: 2.5em;
    padding-bottom: 2.5em;
    margin-bottom: 3em;
}
.concept3 h3{
    position: relative;
    margin:0 2em;
    font-size: 25px;
    line-height: 3;
}
.concept3 h3::before{
    content:'';
    position: absolute;
    top:80px;
    left:0;
    display: inline-block;
    width:40px;
    height: 2px;
    background-color: #66ad34;
    border-radius: 2px;
}
.concept3 ul{
    margin-top: 40px;
    margin-left: 2em;
    margin-right: 2em;
    line-height: 2;
    list-style: none;
}
@media screen and (max-width:1046px){
    .concept3 h3:last-of-type{
        line-height:1.5;
        padding-top:15px;
        padding-bottom:15px;
    }
    .concept3 h3:last-of-type::before{
        top:115px;
    }
}
@media screen and (max-width:959px){
    .concept2 ul,.concept3 ul{
        margin-left: 1em;
    }
}
@media screen and (max-width:559px){
    .concept1 h3,.concept2 h3,.concept3 h3{
        font-size: 22px;
        margin-left: 1em;
        margin-right: 1em;
    }
    .concept1 ul,.concept2 ul,.concept3 ul{
        margin-left: 0;
        margin-right: 1em;
    }
    .concept3 h3:last-of-type::before{
        top:110px;
    }
}
@media screen and (max-width:388px){
    .concept3 h3:last-of-type::before{
        top:140px;
    }
}
@media screen and (max-width:319px){
    .concept2 ul,.concept3 ul{
        padding-left: 1.5em;
    }
}
@media screen and (max-width:297px){
    .concept3 h3:first-of-type{
        line-height: 1.5;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .concept3 h3:first-of-type::before{
        top:105px;
    }
}
@media screen and (max-width:276px){
    .concept3 h3:last-of-type::before{
        top:170px;
    }
}
