.wrap * {
    font-weight: 500;
    line-height: 1em;
    letter-spacing: .15em;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-feature-settings: "palt";
}
.fv{
    margin: 0 0 10em;
}
.saiyou{
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 200;
}
.saiyou li{
    width: 100%;
    height: 6em;
    letter-spacing: 0;
    font-family: 'didot' ,serif;
    font-weight: bold;
}
.saiyou li a{
    width: 100%;
    height: 100%;
    font-size: 1.8em;
    background: #000;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.about{
    font-size: 1.6em;
    line-height: 1.7em;
    width: 75em;
    margin: 0 auto 6.25em;
}

.navi{
    width: 120em;
    margin: 0 auto;
}
.navi h2{
    padding: 0 0 .3333em;
    font-size: 3em;
    text-align: center;
    width: 100%;
    border-bottom: 1px solid #707070;
}
.navi ol{
    display: flex;
    flex-wrap: wrap;
}
.navi li{
    width: 50%;
    padding: 5em 0;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #707070;
}
.navi li:nth-last-of-type(-n+2){
    border: none;
}
.navi li img{
    width: 20em;
    margin: 0 3em 0 0;
}
.navi li p{
    margin: 0 0 1em;
    display: flex;
    align-items: center;
}
.navi li strong{
    font-size: 2.6em;
    font-family: 'didot' ,serif;
    display: inline-block;
}
.navi li span{
    font-size: 1.8em;
}
.navi li em{
    margin: .625em 0 1.25em;
    font-size: 1.6em;
    display: block;
}
.navi li 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{
    width: 120em;
    margin: auto;
    padding: 10em 0;
}
.contents:last-of-type{
    padding: 10em 0 0;
}
.contents + .contents{
    border-top: 1px solid #707070;
}
.contents h4{
    margin: 0 0 2em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.contents h4 strong{
    font-size: 4em;
    font-family: 'didot' ,serif;
    display: block;
}
.contents h4 strong img{
    width: 100%;
}
.contents h4 span{
    margin: 0 0 0 .5em;
    font-size: 2.6em;
    line-height: 1.3em;
}
.info{
    margin: 0 0 10em;
    text-align: center;
}
.info img{
    width: 100%;
    margin: 0 0 2em;
}
.info small{
    font-size: 1.4em;
    margin: 0 0 .6666em;
    display: block;
}
.info strong{
    font-size: 1.8em;
    margin: 0 0 .6666em;
    font-weight: bold;
    display: block;
}
.info span{
    font-size: 1.4em;
    margin: 0 0 .6666em;
    display: block;
}
.info em{
    font-size: 1.6em;
    display: block;
}

.contents > strong{
    margin: 0 0 2.7777em;
    font-size: 1.8em;
    line-height: 1.7em;
    text-align: center;
    display: block;
}

.other{
    margin: 0 0 10em;
    display: flex;
    justify-content: space-between;
}
.other li{
    width: 48%;
}
.other img{
    margin: 0 0 2em;
}
.other p{
    font-size: 1.6em;
    line-height: 1.7em;
}
.other em{
    font-size: 1.6em;
    line-height: 1.7em;
    display: block;
    margin: 0 0 1.6em;
}

.future h5{
    font-size: 1.4em;
    margin: 0 0 2.2222em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    text-align: center;
}
.future p{
    font-size: 1.6em;
    line-height: 1.7em;
}

.contents > img{
    width: 100%;
    margin: 0 0 2em;
}
img + .info{
    display: flex;
}
img + .info > li{
    width: 50%;
}
.contents_wrap{
    display: flex;
}
.contents_wrap .other{
    width: 50%;
    display: block;
}
.contents_wrap .other li{
    width: 92%;
}
.contents_wrap .other li + li{
    margin: 5em 0 0;
}
.contents_wrap .other li strong{
    font-size: 1.4em;
    margin: 0 0 1em;
    display: block;
    text-align: center;
}

@media screen and (max-width:768px) {
    .saiyou li a{
        font-size: 1.6em;
    }
    .fv{
        margin: 0 0 5em;
    }
    .about{
        width: 92%;
        font-size: 1.4em;
        margin: 0 auto 5em;
    }
    .navi{
        width: 92%;
    }
    .navi h2{
        font-size: 2.8em;
        text-align: left;
        letter-spacing: 0;
    }
    .navi li{
        width: 100%;
        padding: 3em 0;
    }
    .navi li img{
        width: 10em;
        margin: 0 2em 0 0;
    }
    .navi li strong{
        font-size: 2.4em;
    }
    .navi li span{
        font-size: 1.4em;
    }
    .navi li em{
        font-size: 1.4em;
    }
    
    .navi li:nth-last-of-type(-n+2){
        border-bottom: 1px solid #707070;
    }
    .contents{
        width: 100%;
    }
    .contents h4{
        justify-content: flex-start;
        margin: 0 4% 2em;
    }
    .contents h4 span{
        margin: 0 0 0 0.5em;
        font-size: 2.4em;
    }
    .info{
        margin: 0 0 5em;
        text-align: left;
    }
    .info small{
        font-size: 1.2em;
        margin: 0 4% .6666em;
    }
    .info strong{
        font-size: 1.6em;
        margin: 0 4% .6666em;
    }
    .info span{
        font-size: 1.2em;
        margin: 0 4% 1.6666em;
    }
    .info em{
        font-size: 1.4em;
        margin: 0 4%;
    }
    .contents > strong{
        width: 92%;
        font-size: 1.6em;
        margin: 0 auto 1.875em;
        text-align: left;
    }
    .other{
        width: 92%;
        margin: 0 auto 5em;
        flex-wrap: wrap;
    }
    .other li{
        width: 100%;
    }
    .other p{
        font-size: 1.4em;
    }
    .other li + li{
        margin: 5em 0 0;
    }
    .future{
        width: 92%;
        margin: auto;
    }
    .future h5{
        text-align: left;
        margin: 0 0 1em;
    }
    .future p{
        font-size: 1.4em;
    }
    .contents{
        position: relative;
    }
    .contents + .contents{
        border: none;
    }
    .contents + .contents::before{
        content: '';
        width: 92%;
        height: 1px;
        background: #707070;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    img + .info{
        width: 92%;
        margin: 0 auto 5em;
    }
    img + .info small{
        margin: 0 0 .6666em;
        letter-spacing: 0;
    }
    img + .info strong{
        margin: 0 0 .6666em;
    }
    img + .info span{
        margin: 0 0 1.6666em;
    }
    img + .info em{
        margin: 0;
        letter-spacing: 0;
    }
    .contents_wrap{
        width: 92%;
        margin: auto;
        flex-wrap: wrap;
    }
    .contents_wrap .other{
        width: 100%;
    }
    .contents_wrap .other li{
        width: 100%;
    }
}