@charset "utf-8";

.secCmnNextLoad {
    margin: 0rem auto 15rem;
}
.secCmnNoResult{
    margin: 10rem auto;
    margin-top: 12rem;
    margin-bottom: 15rem;
}
@media only screen and (max-width:1215px) {
    .secCmnMaintit .titRoman img {
        height: 3.3rem;
    }

    .secCmnNextLoad {
        margin: 0rem auto 0;
    }
    .secCmnNoResult{
        margin: 5rem auto 10rem;
    }
}

/*-----------------------------------------------
    カラー指定
-----------------------------------------------*/
/* 開催中 */
.secModel .taginner.status01,
.secContents .taginner.status01{
    background-color: #b85a7b;
}

/* 受付中 */
.secModel .taginner.status02,
.secContents .taginner.status02{
    background-color: #55483c;
}

/* 終了 */
.secModel .taginner.status03,
.secContents .taginner.status03{
    background-color: #97816c;
}

/*-----------------------------------------------
    index　secModel
-----------------------------------------------*/
.secModel{
    margin-top: 12rem;
}
.secModel .modelWrapper{
    position: relative;
}
.secModel .item {
    padding-bottom: 10rem;
    position: relative;
}
.secModel .inner {
    display: flex;
}
.secModel .leftImgBox,
.secModel .rightImgBox{
    width: 50%;
    position: relative;
}
.secModel .leftImg,
.secModel .rightImg {
    aspect-ratio: 780 / 500;
}
.secModel .contentBox {
    margin-top: 5rem;
    display: flex;
}
.secModel .leftTxtBox {
    width: calc(100% - 41rem);
}
.secModel .titBox{
    margin-bottom: 4.5rem;
}
.secModel .titBox .tit{
    font-size: var(--pcFontSize30);
    line-height: var(--pcLineHeight30_42);
    letter-spacing: var(--pcLetterSpacing30_50);
    margin-bottom: 2rem;
}
.secModel .titBox .txt{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_30);
    letter-spacing: var(--pcLetterSpacing15_50);
}
.secModel .boxPrice{
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_30);
    letter-spacing: var(--pcLetterSpacing13_50);
    background: #d4c9bf;
    padding: 1.5rem 2rem;
    display: flex;
    align-items: center;
}
.secModel .tagList{
    display: flex;
    align-items: center;
    gap: 0.1rem;
    position: absolute;
    top: 0;
    left: 0;
    flex-wrap: wrap;
}
.secModel .tagList .taginner{
    display: inline-block;
    padding: 1rem 1.2rem;
}
.secModel .tagList .txtTag{
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_50);
    color: var(--whiteColor);
}
.secModel .btnList {
    width: 35rem;
    margin-left: 6rem;
    flex-shrink: 0;
}
.secModel .btnInner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 7rem;
    text-decoration: none;
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_250);
    font-weight: 500;
    color: var(--lineupTagColor);
    border: solid 0.1rem var(--lineupTagColor);
    overflow: hidden;
}
.colorBtn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--anyColor);
    z-index: 0;
    transition: width 0.5s ease;
}
.secModel .btnTxt {
    position: relative;
    padding-right: 4rem;
}
.secModel .btnTxt::after, 
.secModel .btnTxt::before {
    position: absolute;
    content: "";
}
.secModel .btnTxt::before {
    width: 1.2rem;
    height: 1.2rem;
    border: 0.1rem solid;
    transform: rotate(45deg);
    top: calc(50% - 0.6rem);
    border-color: var(--lineupTagColor) var(--lineupTagColor) transparent transparent;
    right: 0;
}
.secModel .btnTxt::after {
    width: 3rem;
    height: 0.1rem;
    background: var(--lineupTagColor);
    top: calc(50% - 0.05rem);
    right: 0;
}
.secModel .btnItem:nth-child(2) {
    margin-top: 1.5rem;
}
.secModel .reservation .btnInner {
    background: var(--pinkColor);
    border: solid 0.1rem var(--btnIconpinkColorColor);
    color: #fff;
}
.colorBtn.black::before {
    background-color: var(--whiteColor);
}
.secModel .reservation .btnTxt::before {
    border-color: #fff #fff transparent transparent;
}
.secModel .reservation .btnTxt::after {
    background: #fff;
}
@media only screen and (max-width:1215px) {
    .secModel {
        margin-top: 4rem;
    }
    .secModel .contentBox {
        margin-top: 3rem;
        display: contents;
    }
    .secModel .leftTxtBox {
        width: 100%;
        order: 2;
    }
    .secModel .titBox .tit {
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_34);
        letter-spacing: var(--spLetterSpacing18_50);
        margin-bottom: 0.5rem;
    }
    .secModel .titBox .txt {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_28);
        letter-spacing: 0;
    }
    .secModel .tagList .txtTag {
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_50);
    }
    .secModel .tagList .taginner {
        padding: 0.8rem 0.8rem;
    }
    .secModel .rightImgBox{
        display: none;
    }
    .secModel .leftImgBox{
        width: 100%;
    }
    .secModel .btnList {
        width: 100%;
        display: flex;
        align-items: center;
        margin-left: 0;
        gap: 1.5rem;
        order: 4;
        margin-top: 2.5rem;
    }
    .secModel .btnList .btnItem{
        width: calc((100% - 1.5rem) / 2);
    }
    .secModel .btnInner {
        height: 5rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_150);
    }
    .secModel .btnTxt::before {
        width: 1rem;
        height: 1rem;
        top: calc(50% - 0.5rem);
    }
    .secModel .btnItem:nth-child(2) {
        margin-top: 0;
    }
    .secModel .item {
        padding-bottom: 4rem;
        display: flex;
        flex-direction: column;
    }
    .secModel .inner {
        order: 1;
    }
    .secModel .boxPrice{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_22);
        letter-spacing: var(--spLetterSpacing11_50);
        padding: 1rem 1.5rem;
        order: 3;
    }
    .secModel .titBox {
        margin-top: 2rem;
        margin-bottom: 4.5rem;
    }
    .secModel .titBox {
        margin-bottom: 1.5rem;
    }
}

/*-----------------------------------------------
    details secContents
-----------------------------------------------*/
.secContents {
    margin: 20rem auto 8rem;
}

.secContents .contentsWrapper {
    display: flex;
    gap: 5.128%;
    margin-bottom: 7rem;
}

.secContents .contentsTit {
    font-size: var(--pcFontSize40);
    line-height: var(--pcLineHeight40_60);
    letter-spacing: var(--pcLetterSpacing40_50);
    font-weight: bold;
    margin-bottom: 1.5rem;
}

.secContents .contentsTxt {
    font-size: var(--pcFontSize24);
    line-height: var(--pcLineHeight24_40);
    letter-spacing: var(--pcLetterSpacing24_50);
}

.secContents .boxTop {
    padding-bottom: 4rem;
}
.secContents .boxBottom {
    border-top: 0.1rem solid var(--lineupBorder);
}
.secContents .boxBottom .listAdd{
    border-bottom: 0.1rem solid var(--lineupBorder);
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_30);
    letter-spacing: var(--pcLetterSpacing15_50);
    display: flex;
    padding: 2rem 0;
}
.secContents .boxBottom .tit{
    width: 13rem;
    flex-shrink: 0;
}

.secContents .boxImg {
    width: 52.564%;
    max-width: 82rem;
    position: relative;
}

.secContents .boxTxt {
    width: 42.31%;
    max-width: 66rem;
    margin-top: 7rem;
}

.secContents .boxImg .imgBox {
    aspect-ratio: 820 / 546;
}
.secContents .tagList {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.1rem;
    margin-bottom: 2.5rem;
}
.secContents .tagList .taginner{
    display: inline-block;
    padding: 1rem 1.2rem;
}
.secContents .tagList .txtTag{
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_50);
    color: var(--whiteColor);
}

.secContents .txtUnder{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_36);
    letter-spacing: var(--pcLetterSpacing18_50);

}

@media only screen and (max-width:1215px) {
    .secContents {
        margin: 6rem auto 4.5rem;
    }

    .secContents .tagList .txtTag {
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_50);
    }
    .secContents .tagList .taginner {
        padding: 0.8rem 1rem;
    }

    .secContents .contentsWrapper {
        gap: 3rem;
        flex-direction: column;
        margin-bottom: 2rem;
    }

    .secContents .boxTxt {
        width: 100%;
        max-width: unset;
    }

    .secContents .boxImg {
        width: 89.336%;
        max-width: unset;
    }

    .secContents .contentsTit {
        font-size: var(--spFontSize20);
        line-height: var(--spLineHeight20_30);
        letter-spacing: var(--spLetterSpacing20_50);
        margin-bottom: 0.6rem;
    }

    .secContents .contentsTxt {
        font-size: var(--spFontSize15);
        line-height: var(--spLineHeight15_30);
        letter-spacing: var(--spLetterSpacing15_50);
    }

    .secContents .boxTop {
        padding-bottom: 2rem;
    }
    .secContents .boxBottom .tit {
        width: 8rem;
    }
    .secContents .boxBottom .listAdd {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_30);
        letter-spacing: 0;
        padding: 1rem 0;
    }
    .secContents .txtUnder {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_28);
        letter-spacing: 0;
    }
}

/*-----------------------------------------------
    secMessage
-----------------------------------------------*/
.secMessage{
    background: #d4c9bf;
    display: flex;
    align-items: center;
    padding: 5rem;
    gap: 5rem;
}
.secMessage .boxImg{
    flex-shrink: 0;
    width: 22rem;
    border-radius: 50%;
    overflow: hidden;
}
.secMessage .boxImg .imgBox{
    aspect-ratio: 440 / 440;
}
.secMessage .titEn{
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing30_10);
    margin-bottom: 2.5rem;
    position: relative;
}
.secMessage .titEn::before{
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: calc(100% - 13.4rem);
    background: var(--lineupBorder);
    height: 0.1rem;
}
.secMessage .txtMessage{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_30);
    letter-spacing: var(--pcLetterSpacing15_50);
}
@media only screen and (max-width:1215px) {
    .secMessage {
        padding: 2rem;
        gap: 1.5rem;
        flex-direction: column;
    }
    .secMessage .boxImg {
        width: 12rem;
    }
    .secMessage .titEn {
        font-size: var(--spFontSize24);
        letter-spacing: var(--spLetterSpacing24_10);
        margin-bottom: 1.8rem;
        position: relative;
    }
    .secMessage .titEn::before {
        width: calc(100% - 11rem);
    }
    .secMessage .txtMessage {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_28);
        letter-spacing: 0;
    }
}

/*-----------------------------------------------
    secReserveBnr
-----------------------------------------------*/
.secReserveBnr{
    margin: 12rem auto;
}
.secReserveBnr .linkBnr{
    box-shadow: 0px 0px 12px 0px rgba(49, 43, 36, 0.12);
    display: block;
}
@media only screen and (max-width:1215px) {
    .secReserveBnr{
        margin: 4rem auto;
    } 

}
/*-----------------------------------------------
    secSlider
-----------------------------------------------*/
.secSlider {
    background: #d4c9bf;
    padding: 12rem 0 15rem;
}

.secSlider .sliderInner {
    display: flex;
    max-width: calc(100% - 5rem);
    width: 160rem;
    margin: 0 0 0 auto;
    justify-content: flex-end;
    position: relative;
}

.secSlider .sliderTitle {
    writing-mode: vertical-rl;
    margin-right: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
}

.secSlider .sliderTitleEn {
    font-size: var(--pcFontSize60);
    letter-spacing: var(--pcLetterSpacing60_10);
}

.secSlider .sliderTitleJp {
    font-size: var(--pcFontSize16);
}

.secSlider .swiper-wrapper {
    position: relative;
    width: 100%;
    max-width: 140rem;
}

.secSlider .swiper {
    margin: 5rem 0 0 auto;
    width: 87.5%;
    padding-left: 0;
    padding-right: 30rem;
    overflow: hidden;
}

.secSlider .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
}

/* navigation */
.swiper-button-next:after,
.swiper-button-prev:after {
    display: none;
}

.secSlider .sliderNav {
    position: absolute;
    width: 4.5rem;
    height: 4.5rem;
    border: 0.1rem solid var(--sliderBtnColor);
    /* 画像に近い薄グレー */
    border-radius: 50%;
    cursor: pointer;
    top: calc(50% - -3rem);
}

.secSlider .sliderNav::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.8rem;
    height: 0.8rem;
    border-top: 0.1rem solid var(--sliderBtnColor);
    border-right: 0.1rem solid var(--sliderBtnColor);
    transform: translate(-50%, -50%) rotate(45deg);
}

.secSlider .swiper-button-prev {
    left: 1.5rem;
}

.secSlider .swiper-button-prev::before {
    transform: translate(-50%, -50%) rotate(-135deg);
    left: 53%;
}

.secSlider .swiper-button-next {
    left: 7rem;
}

.secSlider .swiper-button-next::before {
    transform: translate(-50%, -50%) rotate(45deg);
    left: 47%;
}

.secSlider .sliderNav:hover {
    background: rgba(0, 0, 0, 0.05);
}

@media only screen and (max-width:1500px) {
    .secSlider .sliderNav {
        top: calc(50% - -6rem);
    }
}

@media only screen and (max-width:1215px) {
    .secSlider {
        padding: 4rem 0 5rem;
    }

    .secSlider .sliderInner {
        display: block;
        max-width: unset;
        width: 100%;
        margin: 0 auto;
    }

    .secSlider .sliderTitle {
        writing-mode: unset;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    .secSlider .sliderTitleEn {
        font-size: var(--spFontSize40);
        letter-spacing: var(--spLetterSpacing40_10);
    }

    .secSlider .sliderTitleJp {
        font-size: var(--spFontSize13);
    }

    .secSlider .swiper {
        margin: 0 auto;
        width: 78.667%;
        padding-left: 0;
        padding-right: 0;
        overflow: visible;
    }

    .secSlider .sliderNav {
        width: 3.5rem;
        height: 3.5rem;
        top: 68%;
        background: rgba(217, 207, 198, 0.749);
    }

    .secSlider .swiper-button-prev {
        left: 5%;
    }

    .secSlider .swiper-button-next {
        left: unset;
        right: 5%;
    }

    .secSlider .sliderNav::before {
        width: 0.6rem;
        height: 0.6rem;
    }
}

/*-----------------------------------------------
    secFeature
-----------------------------------------------*/
.secFeature {
    padding: 14rem 0 10rem;
}

.secFeature .secTitle {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 4rem;
    margin-bottom: 6rem;
}

.secFeature .secTitleEn {
    font-size: var(--pcFontSize60);
    letter-spacing: var(--pcLetterSpacing60_10);
}

.secFeature .secTitleJp {
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_200);
}

/* パターン選択 */
.secFeature .boxFeature{
    margin-bottom: 9rem;
}
.secFeature .boxFeature .boxImg{
    width: 100%;
    position: relative;
}
.secFeature .boxFeature .imgBox{
    aspect-ratio: 1280 / 853;
}
.secFeature .boxFeature .boxTxt{
    margin-top: 4rem;
}
.secFeature .boxFeature .tit{
    font-size: var(--pcFontSize24);
    line-height: var(--pcLineHeight24_40);
    letter-spacing: var(--pcLetterSpacing24_50);
    margin-bottom: 3rem;
}
.secFeature .boxFeature .txt{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_30);
    letter-spacing: var(--pcLetterSpacing15_50);
}
/* パターン2 */
.secFeature .boxFeature.feature02{
    display: flex;
    gap: 6rem;
}
.secFeature .boxFeature.feature02 .imgBox{
    aspect-ratio: 610 / 700;
}
.secFeature .boxFeature.feature02 .featureWrapper{
    width: calc((100% - 6rem) / 2);
}
@media only screen and (max-width:1215px) {
    .secFeature {
        padding: 4rem 0 0rem;
    }

    .secFeature .secTitleEn {
        font-size: var(--spFontSize40);
        letter-spacing: var(--spLetterSpacing40_10);
    }

    .secFeature .secTitleJp {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_24);
        letter-spacing: var(--spLetterSpacing13_150);
    }

    .secFeature .secTitle {
        gap: 1.6rem;
        margin-bottom: 3rem;
    }
    .secFeature .boxFeature .tit {
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_30);
        letter-spacing: var(--spLetterSpacing16_50);
        margin-bottom: 1rem;
    }
    .secFeature .boxFeature .txt {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_28);
        letter-spacing: 0;
    }
    .secFeature .boxFeature.feature02 {
        display: block;
    }
    .secFeature .boxFeature.feature02 .featureWrapper {
        width: 100%;
    }
    .secFeature .boxFeature.feature02 .featureWrapper +  .featureWrapper{
        margin-top: 4rem;
    }
    .secFeature .boxFeature {
        margin-bottom: 4rem;
    }
    .secFeature .boxFeature .boxTxt {
        margin-top: 2rem;
    }
}

/*-----------------------------------------------
    secFloor
-----------------------------------------------*/
.secFloor {
    padding: 12rem 0 15rem;
    background: #d4c9bf;
}

.secFloor .secTitle {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 4rem;
    margin-bottom: 6rem;
}

.secFloor .secTitleEn {
    font-size: var(--pcFontSize60);
    letter-spacing: var(--pcLetterSpacing60_10);
}

.secFloor .secTitleJp {
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_200);
}


.secFloor .planContentsList {
    margin-top: 5rem;
}

.secFloor .planItem {
    padding: 6rem;
    background: var(--PresentatioColor01);
}

.secFloor .planItem .imgWrapper {
    display: flex;
    gap: 1.5rem;
}
.secFloor .txtFloor {
    position: absolute;
    top: 0.5rem;
    left: 2rem;
    font-size: var(--pcFontSize30);
    padding-bottom: 0.5rem;
    border-bottom: 0.1rem solid var(--textColor);
}
.secFloor .txtFloor .num {
    font-size: var(--pcFontSize40);
}

.secFloor .planItem .imgInner {
    position: relative;
    width: calc((100% - 1.5rem) / 2);
}
.secFloor .planItem .imgInner a{
    position: relative;
}

.secFloor .planItem .imgInner a::before {
    content: '';
    width: 4rem;
    height: 4rem;
    bottom: 0;
    right: 0;
    z-index: 2;
    position: absolute;
    cursor: pointer;
}

.secFloor.lazyloaded .planItem .imgInner a::before {
    background: url(../img/lineup/iconZoom.png) center center / cover no-repeat;
}

.secFloor .imgInner .imgBox {
    aspect-ratio: 570 / 400;
}

.secFloor .boxData {
    margin-top: 3rem;
    display: flex;
    padding: 3em 8rem;
    background: #d4c9bf;
    align-items: stretch;
}
.secFloor .boxData .titEn{
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing30_10);
    padding-right: 6rem;
    margin-right: 5rem;
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.secFloor .boxData .titEn::before{
    content: '';
    position: absolute;
    right: 0;
    width: 0.1rem;
    height: 100%;
    top: 50%;
    transform: translateY(-50%);
    background: var(--lineupTag2Color);
}
.secFloor .itemArea{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_30);
    letter-spacing: var(--pcLetterSpacing15_50);
    display: flex;
}
.secFloor .itemArea .tit{
    width: 9rem;
    flex-shrink: 0;
}



@media only screen and (max-width:1215px) {
    .secFloor {
        padding: 4rem 0 5rem;
    }

    .secFloor .secTitleEn {
        font-size: var(--spFontSize40);
        letter-spacing: var(--spLetterSpacing40_10);
    }

    .secFloor .secTitleJp {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_24);
        letter-spacing: var(--spLetterSpacing13_150);
    }

    .secFloor .secTitle {
        gap: 1.6rem;
        margin-bottom: 2.5rem;
    }

    .secFloor .planItem .imgWrapper {
        gap: 1rem;
        flex-direction: column;
    }

    .secFloor .planItem .imgInner {
        width: 100%;
    }

    .secFloor .planItem {
        padding: 2rem;
    }

    .secFloor .planContentsList {
        margin-top: 2rem;
    }

    .secFloor .planItem .imgInner a::before {
        width: 3rem;
        height: 3rem;
    }
    .secFloor .txtFloor {
        position: absolute;
        top: 0.5rem;
        left: 1.8rem;
        font-size: var(--spFontSize21);
        padding-bottom: 0.2rem;
        border-bottom: 0.1rem solid var(--textColor);
    }
    .secFloor .txtFloor .num {
        font-size: var(--spFontSize28);
    }
    .secFloor .boxData {
        margin-top: 2.5rem;
        display: block;
        padding: 1.5em 2rem;
    }
    .secFloor .boxData .titEn {
        font-size: var(--spFontSize24);
        letter-spacing: var(--spLetterSpacing24_10);
        padding-right: 0;
        margin-right: 0;
        position: relative;
        display: flex;
        align-items: center;
        flex-shrink: 0;
        margin-bottom: 1rem;
    }
    .secFloor .boxData .titEn::before {
        content: '';
        position: absolute;
        right: 0;
        top: 50%;
        width: calc(100% - 7rem);
        background: var(--lineupBorder);
        height: 0.1rem;
    }
    .secFloor .itemArea .tit {
        width: 7.5rem;
    }
    .secFloor .itemArea {
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_26);
        letter-spacing: var(--spLetterSpacing12_50);
    }
}

/*-----------------------------------------------
    secReserve
-----------------------------------------------*/
.secReserve{
    padding: 12rem 0 14rem;
}
.secReserve .titReserve{
    font-size: var(--pcFontSize26);
    line-height: var(--pcLineHeight26_50);
    letter-spacing: var(--pcLetterSpacing26_100);
    text-align: center;
}
.secReserve .listFlow{
    margin-top: 4rem;
    display: flex;
    gap: 6rem;
    font-weight: 500;
}
.secReserve .item{
    width: calc((100% - 18rem) / 4);
    text-align: center;
}
.secReserve .item .boxImg{
    margin-bottom: 3rem;
}
.secReserve .item .txt{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_36);
    letter-spacing: var(--pcLetterSpacing18_50);
}
.secReserve .secReserveBnr{
    margin: 14rem auto 8rem;
}
.secReserve .boxAdd{
    width: 60rem;
    margin: 0 auto 2rem;
    border: 0.1rem solid var(--lineupTagColor);
    color: var(--lineupTagColor);
    text-align: center;
    padding: 4.5rem 1rem;
    font-weight: 500;
}
.secReserve .boxAdd .txtTel{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
    letter-spacing: var(--pcLetterSpacing18_100);
    display: inline-block;
    border-bottom: 0.1rem solid var(--lineupTagColor);
    padding-bottom: 0.5rem;
    margin-bottom: 2rem;
}
.secReserve .boxAdd .telNum{
    font-size: var(--pcFontSize45);
    letter-spacing: var(--pcLetterSpacing45_50);
    color: var(--lineupTagColor);
    text-decoration: none;
    margin-bottom: 1rem;
    display: block;
    font-weight: 300;
}
.secReserve .boxAdd .txtOpen{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_24);
    letter-spacing: var(--pcLetterSpacing12_50);
}
.secReserve .txtUnderAdd{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_24);
    letter-spacing: var(--pcLetterSpacing12_50);
    text-align: center;
    font-weight: 500;
}
@media only screen and (max-width:1215px) {
    .secReserve {
        padding: 3.5rem 0 4rem;
    }
    .secReserve .titReserve {
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight18_30);
        letter-spacing: var(--spLetterSpacing16_100);
    }
    .secReserve .listFlow {
        margin-top: 2.5rem;
        flex-wrap: wrap;
        gap: 2.1rem;
    }
    .secReserve .item {
        width: calc((100% - 2.1rem) / 2);
    }
    .secReserve .item .txt {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_24);
        letter-spacing: var(--spLetterSpacing13_50);
    }
    .secReserve .item .boxImg {
        margin-bottom: 1rem;
    }
    .secReserve .secReserveBnr {
        margin: 4rem auto 3.3rem;
    }
    .secReserve .boxAdd {
        width: 89.336%;
        margin: 0 auto 1rem;
        padding: 2.2rem 1rem;
    }
    .secReserve .boxAdd .txtTel {
        font-size: var(--spFontSize15);
        line-height: var(--spLineHeight15_24);
        letter-spacing: var(--spLetterSpacing15_50);
        padding-bottom: 0;
        margin-bottom: 2rem;
    }
    .secReserve .boxAdd .telNum {
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30_50);
        margin-bottom: 0.6rem;
    }
    .secReserve .boxAdd .txtOpen {
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_24);
        letter-spacing: var(--spLetterSpacing10_50);
    }
    .secReserve .txtUnderAdd {
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_24);
        letter-spacing: var(--spLetterSpacing10_50);
    }
}

/* secDetailsAccess */
.secDetailsAccess {
    padding: 10rem 0 15rem;
    background: #d4c9bf;
}

.secDetailsAccess .secTitle {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 4rem;
    margin-bottom: 6rem;
}

.secDetailsAccess .secTitleEn {
    font-size: var(--pcFontSize60);
    letter-spacing: var(--pcLetterSpacing60_10);
}

.secDetailsAccess .secTitleJp {
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_200);
}
.secDetailsAccess .boxMap iframe{
    width: 100%;
    height: 45rem;
}
@media only screen and (max-width:1215px){
    .secDetailsAccess {
        padding: 3.3rem 0 5rem;
    }

    .secDetailsAccess .secTitle {
        gap: 1.6rem;
        margin-bottom: 2rem;
    }

    .secDetailsAccess .secTitleEn {
        font-size: var(--spFontSize40);
        letter-spacing: var(--spLetterSpacing40_10);
    }

    .secDetailsAccess .secTitleJp {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_24);
        letter-spacing: var(--spLetterSpacing13_150);
    }
    .secDetailsAccess .boxMap iframe{
        height: 26rem;
    }
}


/*-----------------------------------------------
    boxBack
-----------------------------------------------*/
.boxBack {
    margin-top: 12rem;
    border-top: 0.1rem solid var(--lineupBorder);
}

@media only screen and (max-width:1215px) {
    .boxBack {
        margin-top: 4rem;
        margin-bottom: 12rem;
    }
}

/*-----------------------------------------------
    secBnr
-----------------------------------------------*/
.secBnr {
    margin: 0.1rem auto;
    display: flex;
    gap: 0.1rem;
    overflow: hidden;
}

.secBnr .bnrLink {
    width: 50%;
    overflow: hidden;
}

.secBnr .bnrLink:nth-child(2n) {
    width: calc(50% - 0.1rem);
}

@media only screen and (max-width:1215px) {
    .secBnr .bnrLink:nth-child(2n) {
        width: 50%;
    }

    .secBnr {
        margin: 0 auto;
        background: #fff;
        position: relative;
        z-index: 1;
    }
}


/*-----------------------------------------------
    secConsultation
-----------------------------------------------*/
.secConsultation {
    height: 96rem;
    background: #d4c9bf;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.secConsultation .innerLineup {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    overflow: clip;
    clip-path: inset(0);
    height: 66rem;
    background: #c3c3c3;
}

.secConsultation .innerLineup::before {
    content: '';
    position: absolute;
    background: rgba(85, 72, 60, 0.85);
    width: 100%;
    height: 100%;
    z-index: 2;
    mix-blend-mode: multiply;
}

.boxAbout {
    position: sticky;
    top: 0;
    left: 0;
    height: 127.6rem;
    width: 217.6rem;
}

.bgAbout {
    width: 100%;
    position: relative;
    top: calc(50% - 61.8rem);
    left: calc(50% - 118.8rem);
    z-index: 1;
    -webkit-transform: translate(-10%, -25%) rotate(-12deg);
    transform: translate(-10%, -25%) rotate(-12deg);
}

.bgAbout .boxBg {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: #fff;
}

.bgAbout .list {
    position: relative;
    transition: all 0.3s ease-out;
    transform: translate3d(0px, 0, 0px);
    gap: 0.2rem;
    display: flex;
}

.bgAbout .list:nth-child(1) {
    transform: translate3d(125px, 0, 0);
    justify-content: flex-start;
}

.bgAbout .list:nth-child(2) {
    transform: translate3d(55px, 0, 0);
    justify-content: flex-start;
}

.bgAbout .list:nth-child(3) {
    transform: translate3d(0, 0, 0);
    justify-content: flex-start;
}

.bgAbout .list:nth-child(4) {
    transform: translate3d(300px, 0, 0);
    justify-content: flex-start;
}

.bgAbout .list:nth-child(5) {
    transform: translate3d(1325px, 0, 0);
    justify-content: flex-start;
}

.bgAbout .item {
    width: 36.3rem;
    height: 24.2rem;
}

.secConsultation .txtAbout {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: "YakuHanJP_Narrow", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    z-index: 3;
}

.secConsultation .boxAboutTxt .tit {
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing30_250);
    color: var(--whiteColor);
    font-weight: bold;
}

.secConsultation .boxAboutTxt .tit+.tit {
    margin-top: 5.2rem;
}

.secConsultation .boxAboutTxt .txtSmall {
    font-size: var(--pcFontSize24);
}

.secConsultation .boxAboutTxt .txtInner {
    margin-top: 6rem;
}

.secConsultation .boxAboutTxt .titBig {
    margin-top: 5rem;
    font-size: var(--pcFontSize48);
    letter-spacing: var(--pcLetterSpacing48_250);
    color: var(--whiteColor);
    font-weight: bold;
}

.secConsultation .txtMore {
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_250);
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 4rem auto 0;
    width: 25rem;
    height: 6rem;
    color: #55483c;
    background: rgba(255, 255, 255, 0.6);
    justify-content: center;
    position: relative;
    padding-right: 4rem;
}

.secConsultation .txtMore::before {
    content: '';
    position: absolute;
    background: url(../img/index/iconArrowBrown.png) center right / cover no-repeat;
    width: 3rem;
    height: 1.4rem;
    bottom: calc(50% - 0.7rem);
    right: 5.8rem;
}

@media only screen and (max-width:1215px) {
    .secConsultation {
        height: auto;
        padding: 5rem 0 5rem;
    }

    .secConsultation .innerLineup {
        height: 33.5rem;
    }

    .boxAbout {
        position: sticky;
        top: 0;
        left: 0;
        height: 108.2rem;
        width: 154.7rem;
    }

    .secConsultation .boxAboutTxt .tit {
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_250);
        line-height: var(--spLineHeight16_30);
    }

    .secConsultation .boxAboutTxt .txtSmall {
        font-size: var(--spFontSize13);
    }

    .secConsultation .boxAboutTxt .txtInner {
        width: 15.4rem;
        margin: 2.5rem auto 0;
    }

    .secConsultation .boxAboutTxt .titBig {
        margin-top: 2.6rem;
        font-size: var(--spFontSize26);
    }

    .secConsultation .boxAboutTxt .tit+.tit {
        margin-top: 1rem;
    }

    .secConsultation .txtMore {
        font-size: var(--spFontSize11);
        gap: 0;
        margin: 2rem auto 0;
        width: 20.5rem;
        height: 4rem;
        padding-right: 2rem;
    }

    .bgAbout .item {
        width: 15.5rem;
        height: 10.3rem;
    }

    .bgAbout {
        width: 100%;
        position: relative;
        top: calc(50% - 47rem);
        left: calc(50% - 58.7rem);
        z-index: 1;
        -webkit-transform: translate(-10%, -25%) rotate(-12deg);
        transform: translate(-10%, -25%) rotate(-12deg);
    }

    .secConsultation .txtMore::before {
        right: 3rem;
    }

    .secConsultation .innerLineup::before {
        mix-blend-mode: multiply;
    }

    .bgAbout .list:nth-child(1) {
        transform: translate3d(50px, 0, 0);
    }

    .bgAbout .list:nth-child(2) {
        transform: translate3d(25px, 0, 0);
    }

    .bgAbout .list:nth-child(4) {
        transform: translate3d(130px, 0, 0);
    }

    .heroBgLayer {
        position: absolute;
        top: 0;
        right: 50%;
        transform: translateX(50%);
        max-width: 400px;
        margin: 0 auto;
        background: no-repeat center bottom / cover;
    }
}

/*-----------------------------------------------
    secLife
-----------------------------------------------*/
.secLife {
    position: relative;
    overflow: hidden;
}

.secLife .txtLife {
    position: absolute;
    top: 22.5rem;
    left: 9.375%;
}

.secLife .lifeInner {
    position: absolute;
    top: 0;
    left: 0;
}

/* secTicker */
.secLife .secTicker {
    overflow: hidden;
}

.secLife .secTicker .boxTicker {
    display: flex;
}

.secLife .secTicker .itemTicker:nth-child(odd) {
    animation: loop 400s -200s linear infinite;
    backface-visibility: hidden;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

.secLife .secTicker .itemTicker:nth-child(even) {
    animation: loop2 400s linear infinite;
}


@keyframes loop {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes loop2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

@media only screen and (max-width:1215px) {
    .secLife {
        position: relative;
        margin-top: 0;
    }

    .secLife .secTicker .itemTicker {
        animation: none !important;
    }

    .secLife .txtLife {
        position: absolute;
        top: -4.5rem;
        left: -5.2rem;
        width: 25.9rem;
    }

    .secLife .boxTicker {
        display: flex;
        width: 100%;
        /* 3枚分の幅 */
        animation: slideLoop 30s linear infinite;
    }

    .secLife .itemTicker {
        flex: 0 0 100%;
        /* 1枚 = 画面幅 */
    }

    .secLife .itemTicker img {
        width: 100%;
        height: auto;
        aspect-ratio: 375 / 650;
        object-fit: cover;
    }

    @keyframes slideLoop {
        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(-200%);
        }

        /* 3枚ぶん動かす */
    }
}