@charset "utf-8";

/* -------------------------------------------------- */
/* PC*/
/* -------------------------------------------------- */
.contsWrap {
    margin: 50px 40px 0;
}

.contsWrapMid {
    margin: 0 40px;
    background: #FFFFFF !important;
}

.homeBtn {
    position: absolute;
    top: 10px;
    left: 45px;
}

.homeLink {
    font-size: 1.6rem;
    transition: all .3s ease-in-out;
}

.homeLink:before {
    width: 10px;
    height: 10px;
    margin: 0 2px 0 0;
    content: "";
    display: inline-block;
    border-top: 1px solid #333333;
    border-left: 1px solid #333333;
    transform: rotate(-45deg);
    transition: all .3s ease-in-out;
}

.homeLink:hover:before {
    border-color: #AB0106;
}

.mvSection {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0 0 60px;
}

.mvArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    max-height: calc(100vh - 90px);
    gap: 10px 20px;
}

.mvAreaCol {
    width: 50%;
    overflow: hidden;
    position: relative;
    border-radius: 10px;
}

.mvAreaCol:only-child {
    width: 100%;
}

.mvAreaCol img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

.mvSlider {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.mvSliderSlide {
    opacity: 0;
    transition: opacity 1.2s ease-in-out;
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.mvSliderSlideActive {
    opacity: 1;
}

.mvSliderSlideImage {
    object-fit: cover;
    will-change: transform;
    width: 100%;
    height: 100%;
    display: block;
    transform: scale(1.15);
}

.mvSliderSlideActive .mvSliderSlideImage {
    animation: mvSliderKenBurns 5s linear forwards;
}

@keyframes mvSliderKenBurns {
    0% {
        transform: scale(1.1);
    }

    to {
        transform: scale(1.15);
    }
}

.mvOverlay {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
    max-width: 90%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    pointer-events: none;
    background-color: rgba(255, 255, 255, 0.8);
}

.linkArea {
    margin: 0;
    padding: 24px 20px;
    height: 100%;
}

.linkAreaVertical ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 10px;
}

.linkItem:last-child {
    margin-bottom: 0;
}

.header {
    width: 100%;
    padding: 30px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.headSub {
    margin: 0 0 25px;
    padding: 12px 16px;
    display: inline-block;
    font-size: 1.7rem;
    font-weight: 400;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #999;
    background: #fff;
}

.headMain {
    margin: 0 0 0.5em;
    display: block;
    font-size: 4.5rem;
    font-weight: 400;
    color: #ab0106;
    line-height: 1;
}

.especially {
    font-weight: 700;
}

.headPlaceEn {
    display: block;
    font-size: 2.0rem;
    font-weight: 400;
    letter-spacing: 0.46em;
    color: #6b1012;
}

.headPlace {
    font-size: 3.0rem;
    color: #6b1012;
}

.conts {
    margin: 0 0 890px;
    padding: 45px 0 80px;
    background: #fff;
}

.linkArea {
    width: 100%;
    margin: 0 0 80px;
    padding: 40px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: #fbf8f4;
}

.linkArea ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.linkItem a {
    display: block;
    width: 100%;
    padding: 15px 0 19px;
    position: relative;
    background: #fff;
    text-align: center;
    border: 1px solid #000;
    transition: all .3s ease-in-out;
}

.linkJp, .linkEn {
    display: block;
    font-weight: 700;
}

.linkJp {
    margin: 0 0 0.3em;
    font-size: 2.0rem;
}

.linkEn {
    font-size: 1.3rem;
}

.linkItem a:hover {
    background: #000;
}

.linkItem a:hover .linkJp, .linkItem a:hover .linkEn {
    color: #fff;
}

.linkItem a:before, .linkItem a:after {
    content: "";
    position: absolute;
    transition: all .3s ease-in-out;
}

.linkItem a:before {
    width: 1px;
    height: 30px;
    right: 23px;
    bottom: 28px;
    background: #000;
}

.linkItem a:after {
    width: 7px;
    height: 7px;
    right: 20px;
    bottom: 17px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(45deg);
}

.linkItem a:hover:before {
    background: #fff;
}

.linkItem a:hover:after {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.linkItem05 a {
    background: #ab0106;
    border-color: #ab0106;
}

.linkItem05 a:hover {
    background: #fff;
    border-color: #ab0106;
}

.linkItem05 .linkJp, .linkItem05 .linkEn {
    color: #fff;
}

.linkItem05 a:hover .linkJp, .linkItem05 a:hover .linkEn {
    color: #ab0106;
}

.linkItem05 a:before {
    background: #fff;
}

.linkItem05 a:after {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.linkItem05 a:hover:before {
    background: #ab0106;
}

.linkItem05 a:hover:after {
    border-right: 1px solid #ab0106;
    border-bottom: 1px solid #ab0106;
}

.txtEn {
    font-size: clamp(1.2rem, 1.3vw, 1.4rem);
    line-height: 1.4;
    color: #baac8f;
}

.txtEnSmall {
    font-size: 1.4rem;
}

.txtEnLarge {
    font-size: clamp(1.3rem, 1.4vw, 1.5rem);
}

.covidArea {
    width: 100%;
    padding: 56px 40px 45px;
    border: 1px solid #000;
}

.covidHead {
    margin: 0 0 0.2em;
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
}

.covidHeadEn {
    margin: 0 0 1.8em;
    text-align: center;
}

.covidTxt {
    margin: 0 0 3.5em;
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: 0.07em;
}

.covidList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.cdvListItem {
    width: 18.4%;
    max-width: 220px;
}

.cdvList02, .cdvList03, .cdvList05 {
    padding: 0 0 42px;
}

.cdvListItem span {
    font-size: 1.6rem;
    line-height: 1.5;
    font-feature-settings: "palt";
}

.cdvListItem .br_:before {
    content: "\A";
    white-space: pre;
}

.cdvListItem:before {
    content: "";
    display: block;
}

.cdvListItem span.txtEn {
    margin: 7px 0 0;
    display: block;
    font-size: 1.4rem;
}

.cdvList01:before {
    width: 83px;
    height: 92px;
    margin: 0 auto 20px;
    background: url(../../img/common/icon_wash.png) no-repeat 0 0 / 100%;
}

.cdvList02:before {
    width: 111px;
    height: 46px;
    margin: 0 auto 44px;
    background: url(../../img/common/icon_mask.png) no-repeat 0 0 / 100%;
}

.cdvList03:before {
    width: 83px;
    height: 89px;
    margin: 0 auto 21px;
    background: url(../../img/common/icon_disinfection.png) no-repeat 0 0 / 100%;
}

.cdvList04:before {
    width: 102px;
    height: 66px;
    margin: 0 auto 33px;
    background: url(../../img/common/icon_clean.png) no-repeat 0 0 / 100%;
}

.cdvList05:before {
    width: 65px;
    height: 90px;
    margin: 0 auto 22px;
    background: url(../../img/common/icon_checkin.png) no-repeat 0 0 / 100%;
}

#contsMain {
    background: #fff;
}

#mainHead {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 0;
    padding: 5em 0 0;
    background: #fff;
}

.headTop {
    width: fit-content;
    margin: 0 0 0.5em;
    padding: 0.4em 1.2em;
    display: inline-block;
    background: #000;
    font-size: clamp(1.4rem, 1.5vw, 2.2rem);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0 1em;
}

.headTopEn {
    display: inline-block;
    font-size: clamp(1.2rem, 1.3vw, 1.5rem);
    color: #baac8f;
    vertical-align: 2px;
}

.mainHeadTxt {
    display: block;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.4;
}

#mainConts {
    /* padding: 15px 0 0; */
    background: #fff;
}

.intro {
    margin: 0 auto 5em;
    width: 100%;
    max-width: 1400px;
}

.mainTxtEn {
    margin: 0 0 1em;
}

.feature {
    padding: 50px 42px 112px 42px;
    background: #fbf8f4 url(../../img/kitatenjin/box_bg.png) no-repeat right bottom;
}

.featureTxt {
    margin: 0 0 1em;
    font-size: 1.8rem;
    line-height: 1.4;
}

.featureEn {
    font-size: 1.6rem;
    line-height: 1.4;
    color: #857452;
}

#poiontWrap {
    margin: 0 0 120px;
}

.point {
    margin: 0 0 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.point02 {
    margin: 0;
}

.pointFigure {
    width: 60.6%;
}

.pointFigure img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.point02 .pointFigure {
    order: 2;
}

.pointConts {
    width: 39.4%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.point02 .pointConts {
    order: 1;
}

.pointContsInner {
    width: 72.8%;
    max-width: 528px;
}

.pointTxt {
    margin: 0 0 1.6em;
    font-size: 1.8rem;
}

.pointTxt:after {
    width: 60px;
    height: 1px;
    margin: 25px 0 0;
    display: block;
    content: "";
    background: #ab0106;
}

#detail {
    margin: 0 0 120px;
    padding: 100px 0 80px;
    background: #fbf8f4;
}

.detailConts {
    padding: 0 70px 0 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
    gap: 4.33%;
}

.detailBox {
    width: 21.7%;
    padding: 0 0 40px;
    position: relative;
    z-index: 1;
    background: #fff;
}

.detailBox:before {
    width: 100%;
    height: calc(100% - 36px);
    content: "";
    position: absolute;
    bottom: 0;
    left: 30px;
    z-index: -1;
    background: #fff;
}

.detailFigure {
    margin: 0 0 30px;
    aspect-ratio: 2 / 3;
}

.detailFigure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.detailTxtArea {
    padding: 0 0 0 30px;
}

.detailTxt {
    margin: 0 0 1.25em;
    font-size: 1.8rem;
    line-height: 1.4;
}

#location {
    margin: 0 0 50px;
}

.locationConts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 3em 0;
}

.locationBox {
    width: 48.4%;
}

.locaFigure {
    aspect-ratio: 4/3;
}

.locaFigure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.locaDes {
    width: 85.3%;
    margin: -25px 0 0;
    padding: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    background: #fff;
    border: 1px solid #baac8f;
    border-left-width: 30px;
}

.locaDes:before {
    width: 15px;
    height: 21px;
    margin: -10px 0 0;
    content: "";
    position: absolute;
    top: 50%;
    left: -22px;
    background: url(../../img/kitatenjin/icon_pin.png) no-repeat 0 0 / 100%;
}

.locaTxt {
    margin: 0 0 0.8em;
    font-size: clamp(1.2rem, 1.4vw, 1.5rem);
    line-height: 1.4;
}

.locaDes .txtEn {
    letter-spacing: 0.05em;
}

#access {
    margin: 0 0 150px;
}

#accessConts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#accessDes, #accessMap {
    width: 48.4%;
}

.entrance {
    margin: 0 0 3em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.entranceBox {
    width: 48%;
}

.entranceFigure {
    margin: 0 0 1em;
    aspect-ratio: 2 / 3;
}

.entranceFigure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.entranceTtl {
    /* margin: 0 0 0.25em; */
    font-size: 1.8rem;
}

#address {
    margin: 0 0 20px;
    padding: 0 0 0 15px;
    border-left: 2px solid #ab0106;
}

.addressHead {
    margin: 0 0 0.8em;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 0.8;
    color: #1a1a1a;
}

.addressTxt {
    font-size: 1.6rem;
    line-height: 1.4;
}

#traffic {
    width: 100%;
    padding: 40px;
    border: 1px solid #ccc;
}

.transportation {
    margin: 0 0 28px;
}

.transportation:nth-last-of-type(1) {
    margin: 0;
}

.transportation dl {
    width: 100%;
    margin: 0 0 7px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.transportation dl.txtEn {
    margin: 0;
}

.transportation dt, .transportation dd {
    font-size: 1.6rem;
    line-height: 1.4;
}

.transportation dt {
    width: 3em;
    margin: 0 40px 0 0;
    /* text-align: right; */
}

.transportation dd {
    width: 85.5%;
}

#accessMap iframe {
    width: 100%;
    height: 100%;
}

#about {
    padding: 0 0 150px;
}

#aboutConts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#aboutFigArea {
    width: 45%;
    margin: 0 0 20px;
}

#aboutFigure {
    margin: 0 0 20px;
}

#aboutFigure img {
    width: 100%;
}

.aboutFigTxt {
    font-size: 1.6rem;
    font-weight: 700;
}

.urlLink {
    color: #AB0106 !important;
}

.urlLink:hover {
    text-decoration: underline;
}

#aboutDes {
    width: 50.4%;
}

.aboutCatch {
    margin: 0 0 0.5em;
    font-size: clamp(1.8rem, 2.0vw, 3.0rem);
    font-weight: 700;
    font-feature-settings: "palt";
}

.aboutEn {
    margin: 0 0 1em;
}

.promiseBox {
    min-height: 120px;
    margin: 0 0 0.9em;
    padding: 1.25em 1.0em 1.25em 22%;
    border: 1px solid #ab0106;
    border-radius: 10px;
}

.cleanBox {
    background: url(../../img/stay/about_icon01.svg) no-repeat left 48px center;
    background-size: auto 60%;
}

.securityBox {
    background: url(../../img/stay/about_icon02.svg) no-repeat left 48px center;
    background-size: auto 60%;
}

.japaneseBox {
    background: url(../../img/stay/about_icon03.svg) no-repeat left 48px center;
    background-size: auto 60%;
}

.promiseTxt, .promiceTxtEn {
    line-height: 1.4;
}

.promiseTxt {
    margin: 0 0 0.5em;
    font-size: clamp(1.2rem, 1.4vw, 1.5rem);
}

.promiceTxtEn {
    font-size: clamp(1.1rem, 1.2vw, 1.3rem);
    color: #ab0106;
}

#reservation {
    padding: 80px 0 100px;
    background: #fbf8f4;
}

.reserveInner {
    padding: 50px 0 70px;
    background: #fff;
    text-align: center;
}

.reservationTxt {
    margin: 0 0 0.5em;
    font-size: clamp(1.5rem, 1.6vw, 1.8rem);
    line-height: 0.8;
}

.btnArea {
    margin: 40px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.btnReserve {
    width: 360px;
    margin: 0 66px 0 0;
}

.btnReserve:nth-last-of-type(1) {
    margin: 0;
}

.btnReserve:after {
    border-color: #ab0106;
}

.linkReserve {
    padding: 1.5em 0;
    background: #ab0106;
}

.btnTxt, .btnTxtEn {
    display: block;
    line-height: 1.0;
    color: #fff;
}

.btnTxt {
    /* margin: 0 0 0.5em; */
    font-size: clamp(1.5rem, 1.6vw, 1.8rem);
    font-weight: 700;
}

.btnTxtEn {
    font-size: 1.8rem;
    font-weight: normal;
}

.pageTop {
    position: inherit;
    width: 100%;
    height: 70px;
    margin: 0 0 50px;
    background: #1a1a1a;
    text-align: center;
}

.pageTop .pageTopTxt {
    position: relative;
    top: inherit;
    z-index: 0;
    display: block;
    width: 100%;
    padding: 40px 0 0;
    background: #ab0106 !important;
    color: #fff;
    transform: none;
}

.pageTop a:before {
    z-index: -1;
    background: #000 !important;
}

.pageTop a:after {
    width: 7px;
    height: 7px;
    content: "";
    position: absolute;
    top: 20px;
    left: 50%;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    transform: translateX(-50%) rotate(45deg);
}

.copy {
    margin: 0;
    text-align: center;
}

/* -------------------------------------------------- */
/* PC (min-width: 1025px) */
/* -------------------------------------------------- */
@media screen and (min-width: 1025px) {
    .mvSection {
        -webkit-box-orient: horizontal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        column-gap: 20px;
    }

    .mvArea {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        min-height: 550px;
    }

    .mvOverlay {
        width: 500px;
    }

    .mvSidebar {
        width: 280px;
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }

    .linkAreaVertical ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 0;
    }

    .linkAreaVertical .linkItem {
        width: 100%;
        margin: 0 0 12px;
    }

    .linkAreaVertical .linkItem:last-child {
        margin-bottom: 0;
    }
}

/* -------------------------------------------------- */
/* TAB & SP (max-width: 1024px) */
/* -------------------------------------------------- */
@media screen and (max-width: 1024px) {
    .mvArea {
        height: 400px;
    }

    .mvOverlay {
        width: 350px;
    }

    /* .header {
        padding: 8vw 0 21px;
    } */

    .headSub {
        margin: 0 0 1em;
        padding: 0.9em 1.2em;
        font-size: 1.2rem;
        line-height: 1;
    }

    .headMain {
        font-size: 3rem;
    }

    .headPlaceEn {
        font-size: 1.6rem;
    }

    .headPlace {
        font-size: 2.0rem;
    }

    .conts {
        margin: 0 0 300px;
        padding: 30px 0 60px;
    }

    .linkArea {
        margin: 0;
    }

    .linkArea ul {
        justify-content: center;
        gap: 12px 2%;
    }

    .linkAreaVertical .linkItem {
        width: 48%;
    }

    .linkEn {
        font-size: 1.0rem;
        letter-spacing: 0.05em;
    }

    .linkItem a:hover {
        background: #fff;
    }

    .linkItem a:hover .linkJp, .linkItem a:hover .linkEn {
        color: #1a1a1a;
    }

    .linkItem05 a:hover {
        background: #ab0106;
    }

    .linkItem05 a:hover .linkJp, .linkItem05 a:hover .linkEn {
        color: #fff;
    }

    .linkItem05 a:hover:before {
        background: #fff;
    }

    .linkItem05 a:hover:after {
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff;
    }

    .covidList {
        flex-wrap: wrap;
        justify-content: space-around;
    }

    .covidList:after {
        content: "";
        flex: 0 0 33%;
        width: 33%;
        max-width: 220px;
    }

    .cdvList05 {
        padding: 0;
    }

    #mainHead {
        padding: 50px 0 0;
    }

    /* .headTop {
        font-size: 2.0rem;
    } */

    /* .headTopEn {
        margin: 0;
        font-size: 1.5rem;
    } */

    .mainHeadTxt {
        font-size: 2.5rem;
    }

    .txtEnLarge {
        font-size: 1.6rem;
    }

    .intro {
        margin: 0 auto 60px;
        width: 100%;
    }

    .feature {
        padding: 20px 4.5% 70px;
    }

    .featureTxt {
        font-size: 1.6rem;
    }

    .featureEn br {
        display: none;
    }

    .point {
        margin: 0 0 50px;
    }

    .pointFigure {
        width: 100%;
        margin: 0 0 20px;
    }

    .pointConts {
        width: 100%;
    }

    .pointTxt {
        margin: 0 0 25px;
        font-size: 1.6rem;
    }

    .point02 .pointFigure {
        order: 1;
    }

    .point02 .pointConts {
        order: 2;
    }

    .detailConts {
        padding: 0 4%;
        gap: 4%;
    }

    .detailBox:before {
        display: none;
    }

    .locationBox {
        width: 100%;
        margin: 0 0 50px;
    }

    .locaTxt {
        margin: 0 0 12px;
        /* font-size: 1.6rem; */
        line-height: 1.4;
    }

    .locaTxt br {
        display: none;
    }

    #accessDes, #accessMap {
        width: 100%;
    }

    .entrance {
        margin: 0 0 50px;
    }

    #traffic {
        padding: 20px;
        margin: 0 0 1em;
    }

    .transportation dt {
        text-align: left;
        font-weight: 700;
        margin: 0 0 6px;
    }

    .transportation dd {
        width: 100%;
    }

    #accessMap {
        height: 30vh;
    }

    #access {
        margin: 0 0 80px;
        padding: 40px 0 0;
    }

    #about {
        padding: 0 0 60px;
    }

    #aboutFigArea {
        width: 100%;
        margin: 0 0 30px;
    }

    #aboutDes {
        width: 100%;
    }

    .aboutCatch {
        font-size: 2.5rem;
    }

    .reservationTxt {
        line-height: 1.4;
    }

    .reservationTxt .br_:before {
        content: "\A";
        white-space: pre;
    }

    .reserveInner {
        padding: 50px 4.5% 70px;
        background: #fff;
        text-align: center;
    }

    .btnArea {
        flex-wrap: wrap;
    }

    .btnReserve {
        width: 100%;
        max-width: 340px;
        margin: 0 0 20px;
    }
}

/* -------------------------------------------------- */
/* TAB */
/* -------------------------------------------------- */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .linkJp {
        font-size: 1.6rem;
    }

    .linkItem a:before {
        right: 8px;
    }

    .linkItem a:after {
        width: 7px;
        height: 7px;
        right: 5px;
    }

    .covidArea {
        padding: 40px 4% 5px;
    }

    .cdvListItem {
        flex: 0 0 33%;
        width: 33%;
        min-width: 0;
        margin: 0 0 30px;
    }

    .cdvList01:before {
        background: url(../../img/common/sp_icon_wash.png) no-repeat 0 0 / 100%;
    }

    .cdvList02:before {
        background: url(../../img/common/sp_icon_mask.png) no-repeat 0 0 / 100%;
    }

    .cdvList03:before {
        background: url(../../img/common/sp_icon_disinfection.png) no-repeat 0 0 / 100%;
    }

    .cdvList04:before {
        background: url(../../img/common/sp_icon_clean.png) no-repeat 0 0 / 100%;
    }

    .cdvList05:before {
        width: 63px;
        height: 90px;
        background: url(../../img/common/sp_icon_checkin.png) no-repeat 0 0 / 100%;
    }

    #poiontWrap {
        margin: 0 0 60px;
    }

    .pointContsInner {
        width: 92%;
        max-width: inherit;
    }

    #detail {
        margin: 0 0 60px;
        padding: 80px 0 60px;
    }

    .detailBox {
        width: 48%;
        margin: 0 0 30px;
        padding: 0 0 20px;
    }

    .locaDes {
        width: 90%;
        padding: 20px;
    }

    .locaDes:before {
        background: url(../../img/kitatenjin/sp_icon_pin.png) no-repeat 0 0 / 100%;
    }

    #location {
        margin: 0 0 30px;
    }

    .feature {
        background: #fbf8f4 url(../../img/kiyokawa/box_bg.png) no-repeat right bottom / 100%;
    }

    .detailTxtArea {
        padding: 0 5%;
    }

    .btnReserve {
        /* max-width: 425px; */
    }

    #reservation {
        padding: 60px 0;
        margin: 0 0 20px;
    }
}

/* -------------------------------------------------- */
/* SP */
/* -------------------------------------------------- */
@media screen and (max-width: 767px) {
    /* .txtEn {
        font-size: 1.3rem;
    } */

    .txtEnSmall {
        font-size: 1.2rem;
    }

    /* .txtEnLarge {
        font-size: 1.4rem;
    } */

    .covidHead {
        font-size: 1.8rem;
    }

    .covidHeadEn {
        font-size: 1.3rem;
    }

    .covidTxt {
        font-size: 1.4rem;
    }

    .cdvListItem span {
        font-size: 1.3rem;
    }

    .cdvListItem span.txtEn {
        font-size: 1.2rem;
    }

    .headSub {
        font-size: 1.1rem;
    }

    /* .headTop {
        font-size: 1.6rem;
    } */

    /* .headTopEn {
        font-size: 1.3rem;
    } */

    .mainHeadTxt {
        font-size: 2.0rem;
    }

    .headMain {
        font-size: 3.0rem;
    }

    .headPlaceEn {
        font-size: 1.4rem;
    }

    .headPlace {
        font-size: 1.8rem;
    }

    .featureTxt {
        font-size: 1.4rem;
    }

    .featureEn {
        font-size: 1.3rem;
    }

    .pointTxt {
        font-size: 1.4rem;
    }

    .detailFigure {
        margin-bottom: 15px;
        aspect-ratio: 3 / 2;
    }

    .detailTxt {
        font-size: 1.5rem;
        margin: 0;
    }

    .locaTxt {
        /* font-size: 1.4rem; */
    }

    .entranceTtl {
        font-size: 1.5rem;
    }

    .addressHead {
        font-size: 1.8rem;
    }

    .addressTxt {
        font-size: 1.3rem;
    }

    .transportation dt,
    .transportation dd {
        font-size: 1.3rem;
    }

    .aboutCatch {
        font-size: 1.6rem;
    }

    .aboutEn {
        font-size: 1.3rem;
    }

    .aboutFigTxt {
        font-size: 1.3rem;
    }

    .promiseTxt {
        font-size: 1.3rem;
    }

    .promiceTxtEn {
        font-size: 1.1rem;
    }

    /* .reservationTxt {
        font-size: 1.6rem;
    }

    .btnTxt {
        font-size: 1.6rem;
    }

    .btnTxtEn {
        font-size: 1.4rem;
    } */

    .mvArea {
        flex-direction: column;
        height: 400px;
    }

    .mvAreaCol {
        width: 100%;
        height: 50%;
    }

    .homeBtn {
        position: absolute;
        top: 8px;
        left: 4%;
    }

    .homeLink {
        font-size: 1.2rem;
    }

    .homeLink:before {
        width: 6px;
        height: 6px;
    }

    .contsWrap {
        margin: 0 4%;
        padding: 2.5em 0 0;
        background: none;
    }

    .linkArea {
        padding: 20px 0;
    }

    .linkItem05 {
        width: 100%;
        margin: 0 3.5%;
    }

    .linkJp {
        font-size: 1.5rem;
    }

    .linkItem a {
        padding: 10px 0 24px;
    }

    .linkItem a:before {
        display: none;
    }

    .linkItem a:after {
        width: 7px;
        height: 7px;
        right: 50%;
        bottom: 10px;
        margin: 0 -5px 0 0;
    }

    .linkItem a:hover:before {
        background: #1a1a1a;
    }

    .linkItem a:hover:after {
        border-right: 1px solid #1a1a1a;
        border-bottom: 1px solid #1a1a1a;
    }

    .covidArea {
        padding: 2em 4% 0.5em;
    }

    .covidHead .br_:after {
        content: "\A";
        white-space: pre;
    }

    .cdvListItem {
        flex: 0 0 39%;
        width: 39%;
        min-width: 0;
        max-width: inherit;
        margin: 0 0 30px;
    }

    .cdvListItem .br_:before {
        content: "";
    }

    .cdvList01:before {
        width: 83px;
        height: 92px;
        margin: 0 auto 20px;
        background: url(../../img/common/sp_icon_wash.png) no-repeat 0 0 / 100%;
    }

    .cdvList02:before {
        width: 111px;
        height: 46px;
        margin: 0 auto 44px;
        background: url(../../img/common/sp_icon_mask.png) no-repeat 0 0 / 100%;
    }

    .cdvList03:before {
        width: 83px;
        height: 89px;
        margin: 0 auto 21px;
        background: url(../../img/common/sp_icon_disinfection.png) no-repeat 0 0 / 100%;
    }

    .cdvList04:before {
        width: 102px;
        height: 66px;
        margin: 0 auto 33px;
        background: url(../../img/common/sp_icon_clean.png) no-repeat 0 0 / 100%;
    }

    .cdvList05:before {
        width: 65px;
        height: 90px;
        margin: 0 auto 22px;
        background: url(../../img/common/sp_icon_checkin.png) no-repeat 0 0 / 100%;
    }

    #poiontWrap {
        padding: 0 0 3.5em;
        margin: 0;
    }

    .pointContsInner {
        width: 100%;
        max-width: none;
    }

    #detail {
        margin: 0;
        padding: 3.5em 0;
    }

    .detailBox {
        width: 100%;
        margin: 0 0 2em;
        padding: 0 0 1.25em;
    }

    .locaDes {
        width: 90%;
        margin: -25px auto 0;
        padding: 1.25em;
    }

    .locaDes:before {
        width: 14px;
        background: url(../../img/kitatenjin/sp_icon_pin.png) no-repeat 0 0 / 100%;
    }

    #location {
        margin: 0 0 2em;
        padding: 3.5em 0 0;
    }

    .feature {
        background: #fbf8f4 url(../../img/kiyokawa/sp_box_bg.png) no-repeat right bottom / 100%;
    }

    .detailTxtArea {
        padding: 0 4.5%;
    }

    .promiseBox {
        margin: 0 0 0.9em;
        padding: 7.5em 1.25em 1.25em 1.25em;
    }

    .cleanBox {
        padding: 7em 1.25em 1.25em 1.25em;
    }

    .securityBox {}

    .japaneseBox {}

    #reservation {
        padding: 3.5em 0;
        margin: 0;
    }

    .pageTop {
        display: block;
    }

    .room footer {
        background: #FFFFFF;
    }
}

@media screen and (max-width:720px) {
    .cdvList02 {
        padding: 0 0 22px;
    }
}

@media screen and (max-width:644px) {
    .cdvList02 {
        padding: 0 0 42px;
    }
}

@media screen and (max-width:620px) {
    .cdvList02 {
        padding: 0 0 22px;
    }
}

@media screen and (max-width:557px) {
    .cdvList02 {
        padding: 0 0 43px;
    }
}

@media screen and (max-width:460px) {
    .cdvList02 {
        padding: 0 0 22px;
    }
}

@media screen and (max-width:410px) {
    .cdvList03 {
        padding: 0 0 63px;
    }
}

@media screen and (max-width:409px) {
    .cdvList02 {
        padding: 0 0 43px;
    }
}

@media screen and (max-width:388px) {
    .cdvList03 {
        padding: 0 0 83px;
    }
}

@media screen and (max-width:387px) {
    .cdvList02 {
        padding: 0 0 63px;
    }
}

/* -------------------------------------------------- */
/* ADD: Instagram link / covid list alignment */
/* -------------------------------------------------- */
.headInsta {
    margin: 14px 0 0;
    text-align: center;
    line-height: 1;
}

.headInstaLink {
    width: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    transition: all .3s ease-in-out;
}

.headInstaLink:hover {
    opacity: .7;
}

.headInsta img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

.covidList {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.covidList .cdvListItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
}

.covidList .cdvList02,
.covidList .cdvList03,
.covidList .cdvList05 {
    padding-bottom: 0;
}

.covidList .cdvListItem>span:first-of-type {
    width: 100%;
}

.covidList .cdvListItem>span.txtEn {
    width: 100%;
}

.covidList .cdvListItem:before {
    width: 100%;
    height: 112px;
    margin: 0 0 20px;
    background-repeat: no-repeat;
    background-position: center center;
}

.covidList .cdvList01:before {
    background-size: 83px 92px;
}

.covidList .cdvList02:before {
    background-size: 111px 46px;
}

.covidList .cdvList03:before {
    background-size: 83px 89px;
}

.covidList .cdvList04:before {
    background-size: 102px 66px;
}

.covidList .cdvList05:before {
    background-size: 65px 90px;
}

.promiseBox {
    position: relative;
}

.cleanBox,
.securityBox,
.japaneseBox {
    background-image: none;
}

.promiseBox::before {
    content: "";
    width: 18%;
    height: auto;
    max-height: 100%;
    aspect-ratio: 1 / 1;
    display: block;
    position: absolute;
    top: 50%;
    left: 1em;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 60% 60%;
}

.cleanBox::before {
    background-image: url(../../img/stay/about_icon01.svg);
}

.securityBox::before {
    background-image: url(../../img/stay/about_icon02.svg);
}

.japaneseBox::before {
    background-image: url(../../img/stay/about_icon03.svg);
}

@media screen and (max-width: 1024px) {
    .headInsta {
        margin: 10px 0 0;
    }

    .headInstaLink {
        width: 24px;
    }

    .covidList .cdvListItem:before {
        height: 112px;
        margin: 0 0 16px;
    }

    .covidList .cdvList05:before {
        background-size: 63px 90px;
    }
}

@media screen and (max-width: 767px) {
    .promiseBox {
        padding-top: 40%;
    }

    .promiseBox::before {
        width: auto;
        height: 40%;
        top: 1.0em;
        left: 50%;
        transform: translateX(-50%);
        background-size: 80% 80%;
    }

    .covidList {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 30px 24px;
    }

    .covidList:after {
        content: none;
        display: none;
    }

    .covidList .cdvListItem {
        width: calc((100% - 24px) / 2);
        -webkit-box-flex: 0;
        -ms-flex: 0 1 calc((100% - 24px) / 2);
        flex: 0 1 calc((100% - 24px) / 2);
        min-width: 0;
        max-width: inherit;
        margin: 0;
        padding: 0;
    }

    .covidList .cdvListItem:before {
        height: 100px;
        margin: 0 0 16px;
    }

    .covidList .cdvList02,
    .covidList .cdvList03 {
        padding-bottom: 0;
    }
}