@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;
}

.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;
}

.headArea {
    margin: 0 0 28px;
}

.headMain {
    margin: 0 0 15px;
    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 35px;
    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 5px;
    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: 1.6rem;
    line-height: 1.4;
    color: #baac8f;
}

.txtEnSmall {
    font-size: 1.4rem;
}

.txtEnLarge {
    font-size: 1.8rem;
}

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

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

.covidHeadEn {
    margin: 0 0 30px;
    text-align: center;
}

.covidTxt {
    margin: 0 0 56px;
    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: 1300px;
    margin: 0 auto 0;
    padding: 50px 50px 0 50px;
    background: #fff;
}

.headTop {
    margin: 0 0 33px;
    padding: 7px 20px;
    display: inline-block;
    background: #000;
    font-size: 2.4rem;
    color: #fff;
}

.headTopEn {
    margin: 0 0 0 30px;
    display: inline-block;
    font-size: 1.9rem;
    color: #baac8f;
    vertical-align: 2px;
}

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

#mainConts {
    padding: 30px 0 0;
    background: #fff;
}

.intro {
    margin: 0 auto 150px;
}

.mainTxtEn {
    margin: 0 0 50px;
}

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

.featureTxt {
    margin: 0 0 15px;
    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 25px;
    font-size: 1.8rem;
}

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

#detail {
    margin: 0 0 175px;
    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 20px;
    font-size: 1.8rem;
    line-height: 1.4;
}

#location {
    margin: 0 0 150px;
}

.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;
}

.locationBox {
    width: 48.4%;
    margin: 0 0 60px;
}

.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 12px;
    font-size: 1.8rem;
    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 90px;
    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: 47.2%;
}

.entranceFigure {
    margin: 0 0 26px;
    aspect-ratio: 2 / 3;
}

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

.entranceTtl {
    margin: 0 0 4px;
    font-size: 1.8rem;
}

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

.addressHead {
    margin: 0 0 30px;
    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: 63px;
    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 12px;
    font-size: 3.0rem;
    font-weight: 700;
    font-feature-settings: "palt";
}

.aboutEn {
    margin: 0 0 32px;
}

.promiseBox {
    margin: 0 0 14px;
    padding: 20px 20px 20px 138px;
    border: 1px solid #ab0106;
    border-radius: 20px;
}

.cleanBox {
    background: url(../../img/kitatenjin/about_icon01.png) no-repeat left 48px center;
}

.securityBox {
    background: url(../../img/kitatenjin/about_icon02.png) no-repeat left 48px center;
}

.japaneseBox {
    background: url(../../img/kitatenjin/about_icon03.png) no-repeat left 48px center;
}

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

.promiseTxt {
    margin: 0 0 10px;
    font-size: 1.6rem;
}

.promiceTxtEn {
    font-size: 1.4rem;
    color: #ab0106;
}

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

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

.reservationTxt {
    margin: 0 0 11px;
    font-size: 2.0rem;
    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: 17px 0;
    background: #ab0106;
}

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

.btnTxt {
    margin: 0 0 8px;
    font-size: 2.0rem;
    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 {
        height: 500px;
    }

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

    .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 {
        height: 350px;
    }

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

    .headSub {
        margin: 0 0 25px;
        padding: 12px 16px;
        font-size: 1.4rem;
    }

    .headMain {
        margin: 0 0 15px;
        font-size: 3.5rem;
    }

    .headPlaceEn {
        margin: 0 0 15px;
        font-size: 1.6rem;
    }

    .headPlace {
        font-size: 2.0rem;
    }

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

    .linkArea {
        margin: 0 0 40px;
    }

    .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: "";
        width: 44%;
    }

    .cdvList05 {
        padding: 0;
    }

    #mainHead {
        width: 92%;
        padding: 20px 4% 0 4%;
    }

    .headTop {
        font-size: 2.0rem;
    }

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

    .mainHeadTxt {
        font-size: 2.5rem;
    }

    .txtEnLarge {
        font-size: 1.6rem;
    }

    .mainTxtEn {
        margin: 0 4% 50px;
    }

    .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%;
    }

    .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 40px;
    }

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

    .transportation dd {
        width: 100%;
    }

    #accessMap {
        height: 30vh;
    }

    #access {
        margin: 0 0 80px;
    }

    #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%;
        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 {
        width: 44%;
        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.3%;
        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) {
    .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: 40px 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: 40px 15px 5px;
    }

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

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

    .cdvListItem span {
        font-size: 1.4rem;
        letter-spacing: 0;
    }

    .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 60px;
        margin: 0;
    }

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

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

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

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

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

    #location {
        margin: 0 0 30px;
        padding: 60px 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 14px;
        padding: 120px 20px 20px 20px;
    }

    .cleanBox {
        padding: 130px 20px 20px 20px;
        background: url(../../img/kiyokawa/sp_about_icon01.png) no-repeat top 30px center / 72px;
    }

    .securityBox {
        background: url(../../img/kiyokawa/sp_about_icon02.png) no-repeat top 30px center / 72px;
    }

    .japaneseBox {
        background: url(../../img/kiyokawa/sp_about_icon03.png) no-repeat top 30px center / 66px;
    }

    #reservation {
        padding: 60px 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;
    }
}