#mainContents p{
    font-family: 'Noto Sans JP', sans-serif;
}
.contents_heading, .rrg_navi_list {
    max-width: 1281px;
    width: 100vw;
}
.mv-container-img{
    display: block;
    margin: 0 auto;
}
.pc{
    display: block;
}
.sp{
    display: none;
}
.hachikan-section{
    background: url(/luxurytravel/premience/traditionalculture/kyotoohara_hachikan/images/hachikan-lead-bg.webp) no-repeat center center;
    background-size: cover;
    color: #fff;
    padding: 160px 0;
}
.hachikan-section-title{
    font-size: 42px;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    text-shadow: 0 0px 10px #000 , 0 0px 10px #000 , 0 0px 10px #000;
    margin-bottom: 70px;
}
.hachikan-section-lead{
    max-width: 1120px;
    width: 100vw;
    margin: 0 auto;
}
.hachikan-section-lead-p{
    font-size: 16px;
    line-height: 32px;
    text-align: center;
    width:500px;
    margin-right: auto;
    margin-left:0;
    margin-bottom: 2em;
    text-shadow: 0 0px 10px #000 , 0 0px 10px #000 , 0 0px 10px #000;
}
#maps{
    max-width: 800px;
    width: 90vw;
    max-height:600px;
    height:61.33vw;
    display: block;
    margin:80px auto;
}
.maps-section{
    background-color:#fff1dd;
    padding: 160px 0;
}
.maps-section-title{
    font-size: 42px;
    line-height: 1;
    text-align: center;
    margin-bottom: 70px;
    font-family: 'Noto Serif JP', serif;
}
.maps-section-title-span ,
.facility-omoya-section-title-span ,
.facility-omoya-section-content-title-span ,
.hanare-section-title-span ,
.arrangement-section-title-span ,
.arrangement-section-contents-section-title-span{
    position: relative;
    z-index: 1;
}
.maps-section-title-span::before ,
.facility-omoya-section-title-span::before ,
.hanare-section-title-span::before {
    content: "";
    display: block;
    width: 160px;
    height: 60px;
    background: url(/luxurytravel/premience/traditionalculture/kyotoohara_hachikan/images/facilities-title-bg.webp) no-repeat;
    position: absolute;
    left: -120px;
    z-index: -1;
    top: -10px;
}
.facility-omoya-section-content-title-span::before {
    content: "";
    display: block;
    background: url(/luxurytravel/premience/traditionalculture/kyotoohara_hachikan/images/omoya-title-bg.webp) no-repeat;
    width:65px;
    height: 35px;
    left: -80px;
    top:-5px;
    position: absolute;
}
.maps-section-desc{
    font-size: 16px;
    line-height: 32px;
    text-align: center;
}
.maps-section-images{
    max-width: 1120px;
    width: 90vw;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 12px;
}
.maps-section-item{
    width: 365px;
}
.maps-section-item-title{
    font-family: 'Noto Serif JP', serif;
}
.facility-section-title{
    font-size: 42px;
    line-height: 1;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 70px;
}
.facility-section-title-span{
    position: relative;
    z-index: 1;
}
.facility-section-title-span::before ,
.arrangement-section-title-span::before{
    content: "";
    display: block;
    width: 160px;
    height: 60px;
    background: url(/luxurytravel/premience/traditionalculture/kyotoohara_hachikan/images/facilities-map-title-bg.webp) no-repeat;
    position: absolute;
    left: -120px;
    z-index: -1;
    top: -10px;
}
.facility-section{
    padding: 160px 0 120px;
}
.facility-section-map{
    display: block;
    margin: 0 auto 70px;
}
.facility-section-desc{
    display: flex;
    flex-direction: column;
    row-gap: 40px;
}
.facility-section-desc-p{
    font-size: 16px;
    line-height: 32px;
    text-align: center;
}
.facility-omoya-section{
    background-color:#fff1dd;
    padding: 120px 0 160px;
}
.facility-omoya-section-title{
    font-size: 42px;
    line-height: 1;
    text-align: center;
    margin-bottom: 80px;
    font-family: 'Noto Serif JP', serif;
}
.facility-omoya-section-contents{
    display: flex;
    flex-direction: column;
    row-gap: 160px;
}
.facility-omoya-section-content{
    display: grid;
    grid-template-areas: "omoya-image omoya-title"
                         "omoya-image omoya-desc";
    grid-template-rows: 110px auto;
    grid-template-columns: 1fr 1fr;
    max-width: 1120px;
    width: 90vw;
    margin: 0 auto;
}
.facility-omoya-section-content:nth-child(even){
    grid-template-areas: "omoya-title omoya-image"
                         "omoya-desc omoya-image";
}
.facility-omoya-section-content.-notitle{
    grid-template-areas: "omoya-image omoya-desc"
                         "omoya-image omoya-desc";
}
.facility-omoya-section-content-title{
    grid-area: omoya-title;
    font-size: 35px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.facility-omoya-section-content-desc{
    grid-area: omoya-desc;
    text-align: center;
    font-size: 16px;
    line-height: 32px;
}
.facility-omoya-section-content-image{
    grid-area: omoya-image;
}
.hanare-section{
    padding-bottom: 160px;
    background-color:#fff1dd;
}
.hanare-section-title{
    font-size: 42px;
    line-height: 1;
    text-align: center;
    margin-bottom: 80px;
    font-family: 'Noto Serif JP', serif;
}
.hanare-section-rooms{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 12px;
    max-width: 1120px;
    width: 90vw;
    margin: 0 auto;
}
.hanare-section-room{
    width: 365px;
}
.hanare-section-room-title{
    font-size: 24px;
    text-align: center;
    margin-bottom: 30px;
    font-family: 'Noto Serif JP', serif;
}
.hanare-section-room-desc{
    font-size: 16px;
    line-height: 24px;
    margin-top: 1em;
}
.arrangement-section{
    max-width: 1120px;
    width: 90vw;
    margin: 160px auto;
}
.arrangement-section-title{
    font-size: 42px;
    line-height: 1;
    text-align: center;
    margin-bottom: 80px;
    font-family: 'Noto Serif JP', serif;
}
.arrangement-section-desc{
    font-size: 16px;
    line-height: 32px;
    text-align: center;
    margin-bottom: 160px;
}
.arrangement-section-contents{
    display: flex;
    flex-direction: column;
    row-gap: 160px;
}
.arrangement-section-contents-section-title{
    font-size: 35px;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 80px;
    line-height: 1;
}
.arrangement-section-contents-section-images{
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 40px;
}
.arrangement-section-contents-section-desc{
    font-size: 16px;
    line-height: 32px;
    text-align: center;
}
.arrangement-section-note{
    font-size: 20px;
    line-height: 32px;
    text-align: center;
    color: #ff0000;
    margin-top: 80px;
}
.arrangement-section-contents-section-desc-in-images{
    font-size: 16px;
    line-height: 32px;
    text-align: center;
    margin-top: 35px;
}
.arrangement-section-contents-section-images.-with-desc{
    display: flex;
    flex-wrap: nowrap;
    gap: 80px;
    justify-content: center;
}
.arrangement-section-contents-section-image{
    width: 280px;
    object-fit: contain;
}
.arrangement-section-contents-section-title-span{
    line-height: 35px;
    display: inline-block;
}
.arrangement-section-contents-section-title-span::before{
    content: "";
    display: block;
    width:70px;
    height:35px;
    background: url(/luxurytravel/premience/traditionalculture/kyotoohara_hachikan/images/arrangement-title-bg.webp) no-repeat;
    position: absolute;
    left: -75px;
    z-index: -1;
    top: 5px;
}
.schedule-section {
    background: url(/luxurytravel/premience/traditionalculture/kyotoohara_hachikan/images/schedule-bg.webp) no-repeat center center;
    background-size: cover;
    padding: 160px 0;
}
.schedule-section-title{
    font-size: 42px;
    text-align: center;
    line-height: 1;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 30px;
    color: #fff;
}
.schedule-section-desc{
    font-size: 16px;
    line-height: 32px;
    text-align: center;
    margin-bottom: 60px;
    color: #fff;
}
.schedules{
    max-width: 800px;
    width: 90vw;
    margin: 60px auto 0;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}
.conditions{
    background: url(/luxurytravel/premience/traditionalculture/kyotoohara_hachikan/images/conditions.webp) no-repeat center center;
    background-size: cover;
    padding: 160px 0;
    color: #fff;
    margin-bottom: 80px;
}
.condition-section{
    max-width: 1120px;
    width: 90vw;
    margin: 0 auto;
}
.condition-section-title{
    font-size: 32px;
    margin-bottom: 40px;
}
.condition-sub-section-title{
    font-size: 24px;
    margin-bottom: 10px;
}
.condition-sub-section-desc{
    font-size: 16px;
    line-height: 32px;
}
.condition-sub-sections{
    display: flex;
    flex-direction: column;
    row-gap: 40px;
}
.condition-sub-section-ol{
    font-size: 16px;
    line-height: 32px;
}
.premience-contact{
    padding-top: 0;
}
a.condition-section-link{
    color: #54A8DB;
    text-decoration: underline;
}
.premience-top-return{
    top:auto;
}
.condition-section-desc{
    text-align: left;
    font-size: 16px;
    line-height: 32px;
    margin-bottom: 50px;
}
@media (max-width:768px) {
    .premience-contact {
        padding-top: 220px;
    }
    .premience-top-return {
        top: 60px;
        right: 16px;
    }
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    #maps{
        height: 105vw;
    }
    .schedule-section {
        padding: 80px 0;
        background-color: #082904;
        background-image: none;
    }
    .schedule-section-desc {
        width: 90vw;
        text-align: left;
        margin: 0 auto;
    }
    .hachikan-section{
        background: none;
        padding: 0;
    }
    .hachikan-section-title{
        background: url(/luxurytravel/premience/traditionalculture/kyotoohara_hachikan/images/hachikan-lead-bg-sp.webp) no-repeat center center;
        background-size: cover;
        height: 200vw;
        width: 100vw;
        padding-top: 130vw;
        line-height: 1.5;
        font-size: clamp(25px, 8vw, 30px);
        margin-bottom: 0;
    }
    .hachikan-section-lead{
        background-color: #000;
        display: flex;
        flex-direction: column;
        row-gap: 2em;
        padding: 75px 0 120px;
    }
    .hachikan-section-lead-p{
        width:90vw;
        margin: 0 auto;
        font-size: clamp(12px, 4.2vw, 16px);
    }
    .maps-section{
        padding: 160px 0 120px;
    }
    .maps-section-title{
        font-size: 30px;
        margin-bottom: 40px;
    }
    .maps-section-desc{
        width: 90vw;
        margin: 0 auto;
    }
    .maps-section-images{
        display: flex;
        gap:80px 10px;
    }
    .maps-section-item{
        width: calc(50% - 5px);
    }
    .maps-section-item-title{
        margin-top: 5px;
        font-size: 19px;
    }
    .facility-section-map{
        width: 90vw;
        display: block;
        margin: 0 auto;
    }
    .facility-section-title{
        font-size: 30px;
        margin-bottom: 40px;
    }
    .maps-section-title-span::before, .facility-omoya-section-title-span::before, .hanare-section-title-span::before{
        left: -80px;
    }
    .facility-section-title-span::before, .arrangement-section-title-span::before{
        left: -80px;
        top: -20px;
    }
    .facility-section-desc{
        width: 90vw;
        margin: 80px auto 0;
    }
    .facility-section-desc-p{
        font-size: clamp(12px, 4.2vw, 16px);
    }
    .facility-omoya-section-title{
        font-size: 30px;
    }
    .facility-omoya-section{
        padding-bottom: 0;
    }
    .facility-omoya-section-contents{
        row-gap: 80px;
    }
    .facility-omoya-section-content{
        display: block;
    }
    .facility-omoya-section-content-title{
        font-size: 24px;
    }
    .facility-omoya-section-content-desc{
        text-align: left;
        margin: 10px 0 40px;
    }
    .hanare-section{
        padding-top: 160px;
        padding-bottom: 0;
    }
    .hanare-section-title{
        font-size: 30px;
        line-height: 1.5;
    }
    .hanare-section-room-title{
        font-size: 19px;
        margin-bottom: 25px;
    }
    .hanare-section-room-desc{
        font-size: clamp(12px, 4.2vw, 16px);
    }
    .hanare-section-rooms{
        row-gap:80px;
    }
    .facility-omoya-section-content-title{
        font-size: 19px;
    }
    .facility-omoya-section-content-title-span::before{
        display: none;
    }
    .facility-spa-section{
        padding-bottom: 0;
    }
    .facility-spa-section .facility-omoya-section-content-title{
        margin-bottom: 20px;
    }
    .facility-spa-section .facility-omoya-section-content-desc{
        margin-bottom: 0;
    }
    .arrangement-section-title{
        font-size: 30px;
        line-height: 1.5;
    }
    .arrangement-section-desc{
        text-align: left;
        margin-bottom: 60px;
    }
    .arrangement-section-desc-note{
        font-size: 14px;
    }
    .arrangement-section-contents-section-title{
        font-size: 24px;
        margin-bottom: 20px;
    }
    .arrangement-section-contents-section-images{
        gap: 20px;
    }
    .arrangement-section-contents-section-title-span::before{
        display: none;
    }
    .arrangement-section-contents-section-desc{
        text-align: left;
    }
    .arrangement-section-contents{
        row-gap: 80px;
    }
    .arrangement-section-contents-section-desc-in-images{
        text-align: left;
        margin-top: 0;
    }
    .arrangement-section-contents-section-desc-in-images-note{
        font-size: 14px;
    }
    .arrangement-section-note{
        text-align: left;
        font-size: 16px;
    }
    .schedule-section-title{
        font-size: 30px;
        line-height: 1.5;
    }
    .conditions{
        background: none;
        background-color: #000;
        padding: 80px 0 120px;
    }
    .condition-section-title{
        font-size: 24px;
        line-height: 36px;
        margin-right: -5vw;
        text-align: center;
    }
    .condition-sub-section-title{
        font-size: 21px;
        line-height: 31.5px;
    }
    .condition-sub-section-desc{
        line-height: 24px;
    }
    .arrangement-section-contents-section-images.-with-desc{
        flex-wrap: wrap;
    }
}