@font-face {
    font-family: 'didot';
    src: url(../font/didot_bold.otf);
}
body section img,body aside img{
    margin: 0;
}
.pc{
    display: block;
}
.sp{
    display: none;
}
.l-header{
    position: relative;
}

main{
    font-size: 10px;
}
main *{
    font-weight: 500;
    letter-spacing: .15em;
    line-height: 1em;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-feature-settings: "palt";
    font-weight: 500;
}

.fv + a{
    height: 3.3333em;
    font-size: 1.8em;
    align-items: center;
    background: #000;
    display: flex;
    justify-content: center;
    color: #fff;
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 1000;
    font-weight: 400;
}
.about{
    padding: 10em;
    text-align: center;
}
.about h3{
    font-size: 3em;
    line-height: 1.6666em;
}
.about p{
    margin: 1em 0 0;
    font-size: 1.6em;
    line-height: 1.6666em;
}

.people h3{
    font-size: 3em;
    line-height: 1.6666em;
    text-align: center;
}
.people ol{
    width: 80em;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
    border-top: 1px solid #707070;
}
.people li{
    width: 49%;
    padding: 3.5em 0;
    border-bottom: 1px solid #707070;
    display: flex;
    align-items: center;
}
.people li img{
    margin: 0 2em 0 0;
}
.people li div{
    display: flex;
    flex-direction: column;
    gap: 1em 0;
}
.people li h4{
    display: flex;
    align-items: center;
}
.people li h4 strong{
    font-size: 2.7em;
    font-weight: bold;
    font-family: 'didot', serif;
    display: block;
}
.people li h4 span{
    font-size: 1.8em;
    display: block;
}
.people li p{
    font-size: 1.6em;
}
.people li div a{
    width: 11em;
    aspect-ratio: 165/33;
    font-size: 1.4em;
    font-family: 'Noto Sans JP', sans-serif;
    color: #fff;
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.contents{
    margin: 0 0 15em;
}
.contents > li{
    padding: 10em 0;
    position: relative;
}
.contents > li + li::before{
    content: '';
    width: 120em;
    height: 1px;
    background: #707070;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.contents li > h4{
    display: flex;
    align-items: center;
    justify-content: center;
}
.contents li > h4 strong{
    margin: 0 .3em 0 0;
    font-size: 5.2em;
    font-weight: bold;
    font-family: 'Didot','didot', serif;
}
.contents li > h4 span{
    font-size: 3em;
}
.contents > li > img{
    width: 60em;
    margin: 4em auto 1em;
    display: block;
}
.contents > li > small{
    width: 42.8571em;
    font-size: 1.4em;
    display: block;
    margin: auto;
}
.contents > li > strong{
    width: 33.3333em;
    font-size: 1.8em;
    font-weight: bold;
    display: block;
    margin: .5555em auto;
}
.contents > li > em{
    width: 42.8571em;
    font-size: 1.4em;
    display: block;
    font-style: normal;
    margin: auto;
}
.grid{
    width: 120em;
    margin: 5em auto 0;
    display: grid;
    grid-template-areas: 
        "areaA areaB"
        "areaD areaC"
    ;
    gap: 5em 5em;
}
.grid > img{
    grid-area: areaA;
}
.grid .info{
    grid-area: areaB;
}
.grid > div{
    grid-area: areaC;
}
.grid .message{
    grid-area: areaD;
}

.grid .info h5{
    margin: 0 0 1em;
    font-size: 1.8em;
    line-height: 1.5em;
    font-weight: bold;
}
.grid .info p{
    font-size: 1.6em;
    line-height: 1.5em;
}
.grid .message p{
    font-size: 1.6em;
    line-height: 1.5em;
}
.grid .message h5{
    margin: 2.8571em 0 .7142em;
    font-size: 1.4em;
    font-weight: bold;
    font-family: 'Noto Sans JP', sans-serif;
}
.grid > div img{
    margin: 0 0 2em;
}
.grid > div li{
    font-size: 1.6em;
    line-height: 1.5em;
}

.other{
    width: 120em;
    margin: 0 auto 6em;
    display: flex;
    flex-wrap: wrap;
    gap: 4em 1.25%;
}
.other li{
    width: 32.5%;
    aspect-ratio: 39/8;
}
.other li a{
    width: 100%;
    height: 100%;
    background: #000;
    color: #fff;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
    gap: .5em 0;
}
.other li a em{
    font-size: 2em;
    display: block;
    width: 100%;
    font-family: 'didot', serif;
}
.other li a span{
    font-size: 1.6em;
    display: block;
}



@media screen and (max-width:1200px) {
    main{
        font-size: .78vw;
    }
    
}

@media screen and (max-width:767px) {
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    main{
        font-size: 2.66666vw;
    }
    .fv + a{
        font-size: 1.6em;
        height: 3.75em;
    }
    .about{
        width: 92%;
        margin: auto;
        padding: 6em 0;
    }
    .about h3{
        font-size: 2.8em;
        text-align: left;
    }
    .about p{
        font-size: 1.4em;
        text-align: left;
    }
    .about p br{
        display: none;
    }
    .people{
        width: 92%;
        margin: auto;
    }
    .people h3{
        font-size: 2.8em;
        text-align: left;
    }
    .people ol{
        width: 100%;
    }
    .people li{
        width: 100%;
    }
    .people li h4 strong{
        font-size: 2.4em;
        margin: 0;
    }
    .people li h4 span{
        font-size: 1.6em;
    }
    .contents{
        margin: 0;
    }
    .contents > li + li::before{
        width: 92%;
    }
    .contents > li > img{
        margin: 4em 0 2em;
    }
    .contents li > h4{
        width: 92%;
        margin: auto;
        justify-content: flex-start;
    }
    .contents li > h4 strong{
        margin: 0 .2em 0 0;
        font-size: 4em;
    }
    .contents li > h4 span{
        font-size: 2.8em;
    }
    .contents > li > small{
        width: 92%;
    }
    .contents > li > strong{
        width: 92%;
    }
    .contents > li > em{
        width: 92%;
    }
    .grid{
        width: 92%;
        display: block;
        position: relative;
    }
    .grid > img{
        margin: 6em 0 3em;
    }
    .grid .info h5{
        position: absolute;
        top: 0;
    }
    .grid .info p{
        font-size: 1.4em;
    }
    .grid > div{
        margin: 10em 0 0;
    }
    .grid > div li{
        font-size: 1.4em;
    }
    .grid .message{
        margin: 3em 0 0;
    }
    .grid .message p{
        font-size: 1.4em;
    }
    .grid .message h5{
        margin: 7.1428em 0 .7142em;
    }
    .other{
        width: 100%;
        gap: 1em;
    }
    .other li{
        width: 100%;
    }
    
}