@charset "utf-8";

/*-----------------------------------------------
    index
-----------------------------------------------*/
/* secMain */
.secMain{
    margin-top: 6rem;
}
.secMain .topTit{
    font-size: var(--pcFontSize16);
}
.secMain .list{
    width: 180rem;
    max-width: calc(100% - 6rem);
    margin: 6rem auto 0;
}
.secMain .item{
    position: relative;
    display: flex;
    padding-bottom: 8rem;
}
.secMain .item::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 21rem;
    width: calc(100% - 42rem);
    height: 0.1rem;
    background-image: linear-gradient(to right, var( --borderColorGray2) 1px, transparent 1px);
    background-size: 2px 1px;
    background-repeat: repeat-x;
    background-position: left top;
    z-index: 1;
}
.secMain .imgBox{
    width: 50%;
}
.secMain .img{
    width: 100%;
    padding-top: 66.667%;
}
.secMain .box{
    width: calc(50% - 27rem);
    padding: 7rem 0 0 0;
    margin-left: 6rem;
}
.secMain .categoryList{
    display: flex;
}
.secMain .categoryItem{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    padding: 0.3rem 1.75rem;
    min-width: 7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cmnTitBg);
    border-radius: 0.2rem;
    font-weight: bold;
}
.secMain .categoryItem:nth-child(n+2){
    margin-left: 0.5rem;
}
.secMain .tit{
    font-size: var(--pcFontSize38);
    line-height: var(--pcLineHeight38_50);
    font-weight: bold;
    margin-top: 1.6rem;
    display: block;
}
.secMain .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    margin-top: 1.7rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; 
    overflow: hidden;
    max-height: calc(var(--pcFontSize16) * var(--pcLineHeight16_32) * 2);
}
.secMain .infoBox{
    margin-top: 1.3rem;
}
.secMain .txtPlace,
.secMain .txtTime,
.secMain .txtTel{
    color: var(--textColor02);
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secMain .btnBox{
    display: flex;
    margin-top: 4.1rem;
}
.secMain .btnLink{
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(50% - 1.5rem);
    height: 7.5rem;
    border-radius: 3.75rem;
    font-size: var(--pcFontSize16);
    font-weight: bold;
}
.secMain .btnLink:nth-child(2){
    margin-left: 3rem;
}
.secMain .btnReserve{
    color: var(--ColorWhite);
}
.secMain .btnReserve.lazyloaded{
    background: url(../img/modelhouse/iconArrow01.png) center right 3rem / 1.5rem auto no-repeat var(--cmnFormBtnBg);
}
.secMain .btnMore{
    color: var(--textColor);
    border: 0.1rem solid var(--textColor);
}
.secMain .btnMore.lazyloaded{
    background: url(../img/modelhouse/iconArrow02.png) center right 3rem / 1.5rem auto no-repeat var(--ColorWhite);
}

/* 2n */
.secMain .item:nth-child(n+2){
    margin-top: 8rem;
}
.secMain .item:nth-child(2n){
    flex-direction: row-reverse;
}
.secMain .item:nth-child(2n) .box{
    padding: 7rem 0 0 0;
    margin: 0 6rem 0 0;
}
@media only screen and (max-width:1215px){
    .secMain{
        margin-top: 2.2rem;
    }
    .secMain .topTit{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
    }
    .secMain .list{
        width: 100%;
        max-width: 100%;
        margin: 2.5rem auto 0;
    }
    .secMain .item{
        display: block;
        padding-bottom: 0;
    }
    .secMain .item::after{
        display: none;
    }
    .secMain .imgBox{
        width: 100%;
    }
    .secMain .box,.secMain .item:nth-child(2n) .box{
        width: 89.334%;
        padding: 0;
        margin: 2rem auto 0;
    }
    .secMain .categoryList{
        display: flex;
    }
    .secMain .categoryItem{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
        padding: 0.3rem 0.6rem;
        min-width: 4.2rem;
    }
    .secMain .categoryItem:nth-child(n+2){
        margin-left: 0.3rem;
    }
    .secMain .tit{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_28);
        margin-top: 0.5rem;
    }
    .secMain .txt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
        margin-top: 0.6rem;
        max-height: calc(var(--spFontSize14) * var(--spLineHeight14_24) * 2);
    }
    .secMain .infoBox{
        margin-top: 0.8rem;
    }
    .secMain .txtPlace,
    .secMain .txtTime,
    .secMain .txtTel{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
    }
    .secMain .btnBox{
        display: block;
        margin-top: 1.5rem;
    }
    .secMain .btnLink{
        height: 5.5rem;
        border-radius: 2.75rem;
        font-size: var(--spFontSize14);
        width: 88.06%;
        margin: 0 auto;
    }
    .secMain .btnLink:nth-child(2){
        margin: 1rem auto 0;
    }
    .secMain .btnReserve{
        color: var(--ColorWhite);
    }
    .secMain .btnReserve.lazyloaded,.secMain .btnMore.lazyloaded{
        background-position: center right 2rem;
        background-size: 1.3rem auto;
    }
    /* 2n */
    .secMain .item:nth-child(n+2){
        margin-top: 5rem;
    }
}

/*-----------------------------------------------
    details
-----------------------------------------------*/
/* secDetails */
.secDetails{
    padding-top: 6rem;
}
.secDetails .boxFlexTop{
    display: flex;
    align-items: center;
    gap: 1.5rem;
}
.secDetails .boxTag{
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.secDetails .itemTag{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    padding: 0.3rem 1.75rem;
    min-width: 7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--cmnTitBg);
    border-radius: 0.2rem;
    font-weight: bold;
}
.secDetails .tit{
    font-size: var(--pcFontSize40);
    line-height: var(--pcLineHeight40_60);
    font-weight: bold;
    margin-top: 1.7rem;
}
.secDetails .txtPlace{
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_30);
    letter-spacing: var(--pcLetterSpacing20_50);
    font-weight: bold;
    margin-top: 1.8rem;
}
.secDetails .boxImg{
    width: 100%;
    text-align: center;
    margin-top: 4.5rem;
}
.secDetails .boxImg img{
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}
.secDetails .itemTit{
    font-size: var(--pcFontSize26);
    line-height: var(--pcLineHeight26_42);
    font-weight: bold;
    margin-top: 4rem;
}
.secDetails .itemTxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
    margin-top: 2rem;
}
.secDetails .boxTableInfo{
    width: 100%;
    border-collapse: collapse;
    border: 0.1rem solid var(--borderColor);
    margin-top: 4.3rem;
}
.secDetails .boxTableInfo .boxTr{
    border-top: 0.1rem solid var(--borderColor);
}
.secDetails .boxTableInfo .boxTr:first-child{
    border-top: none;
}
.secDetails .boxTableInfo .boxTh{
    width: 20rem;
    padding: 2.4rem 2rem;
    background: var(--cmnTitBg);
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    letter-spacing: var(--pcLetterSpacing16_50);
    font-weight: bold;
    text-align: left;
    vertical-align: top;
}
.secDetails .boxTableInfo .boxTd{
    padding: 2.4rem 2rem;
    background: var(--ColorWhite);
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    letter-spacing: var(--pcLetterSpacing16_50);
    vertical-align: top;
    border-left: 0.1rem solid var(--borderColor);
}
.secDetails .boxTableInfo .boxTd .linkMap{
    color: var(--keyColor);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}
.secDetails .boxImgBnr{
    margin-top: 5rem;
}
@media only screen and (max-width:1215px){
    .secDetails{
        padding-top: 2rem;
    }
    .secDetails .boxFlexTop{
        gap: 0.9rem;
    }
    .secDetails .boxTag{
        gap: 0.3rem;
    }
    .secDetails .itemTag{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
        padding: 0.3rem 0.6rem;
        min-width: 4.2rem;
    }
    .secDetails .tit{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_28);
        letter-spacing: var(--spLetterSpacing0);
        margin-top: 0.6rem;
    }
    .secDetails .txtPlace{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
        letter-spacing: var(--spLetterSpacing0);
        margin-top: 0.6rem;
    }
    .secDetails .boxNoEvent{
        padding: 2rem 1.5rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing0);
        margin-top: 2.5rem;
    }
    .secDetails .boxImg{
        margin-top: 2rem;
    }
    .secDetails .itemTit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_26);
        margin-top: 1.5rem;
    }
    .secDetails .itemTxt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
        margin-top: 0.7rem;
    }
    .secDetails .boxTableInfo{
        margin-top: 2rem;
    }
    .secDetails .boxTableInfo .boxTh{
        width: 7.5rem;
        padding: 1.45rem 1rem 1.45rem 2rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing0);
    }
    .secDetails .boxTableInfo .boxTd{
        padding: 1rem 1rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing0);
        vertical-align: middle;
    }
    .secDetails .boxImgBnr{
        margin-top: 3rem;
    }
}

/* secGallery */
.secGallery{
    margin-top: 8rem;
    overflow: hidden;
    padding: 8rem 0;
    background: var(--bgSliderGallery);
}
.secGallery .topBox{
    display: flex;
}
.secGallery .titEng{
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_30);
    color: var(--keyColor);
    font-weight: bold;
}
.secGallery .icon{
    position: relative;
    padding-left: 3.7rem;
}
.secGallery .icon::before{
    content: '';
    width: 2.6rem;
    height: 2.2rem;
    position: absolute;
    top: -0.1rem;
    left: 0;
}
.secGallery .icon.lazyloaded::before{
    background: url(../img/modelhouse/iconGallery.png) center center / cover;
}
.secGallery .icon.lazyloaded::after{
    content: '';
    width: 10rem;
    height: 0.1rem;
    position: absolute;
    top: 1rem;
    left: 13.7rem;
    background: var(--keyColor);
}
.secGallery .tit{
    font-size: var(--pcFontSize46);
    font-weight: bold;
    margin-top: 2.5rem;
}
.secGallery .boxSlider{
    position: relative;
    margin-top: 4rem;
}
.secGallery .swiper{
    width: 108rem;
    overflow: visible;
}
.secGallery .swiper-button-prev,
.secGallery .swiper-button-next{
    width: 6rem;
    height: 6rem;
    margin-top: 0;
    top: calc(50% - 3rem);
    border-radius: 50%;
    cursor: pointer;
}
.secGallery .swiper-button-prev{
    left: calc(50% - 57.5rem);
    transform: rotate(180deg);
}
.secGallery .swiper-button-next{
    right: calc(50% - 57.5rem);
}
.secGallery .swiper-button-prev::after,
.secGallery .swiper-button-next::after{
    display: none;
}
.secGallery .swiper-button-prev.lazyloaded{
    background: url(../img/common/iconArrow.png) center center / 17px auto no-repeat var(--ColorWhite);
}
.secGallery .swiper-button-next.lazyloaded{
    background: url(../img/common/iconArrow.png) center center / 17px auto no-repeat var(--ColorWhite);
}
.secGallery .imgSlider{
    display: block;
    height: 0;
    padding-top: 59.26%;
}
.secGallery .swiper-pagination{
    position: static;
	padding-top: 3.5rem;
    width: auto;
    margin: 3.7rem 0 0 auto;
}
.secGallery .swiper-pagination-bullet{
    background: var(--ColorWhite);
    margin: 0.5rem !important;
    opacity: 1;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
}
.secGallery .swiper-pagination-bullet-active{
    background: var(--textColor);
}
@media only screen and (max-width:1215px){
    .secGallery{
        margin-top: 5rem;
        position: relative;
        padding: 5rem 0 8rem;
    }
    .secGallery .topBox{
        display: block;
    }
    .secGallery .titEng{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_30);
    }
    .secGallery .icon{
        padding-left: 3rem;
    }
    .secGallery .icon::before{
        width: 1.9rem;
        height: 1.55rem;
        top: 0;
    }
    .secGallery .icon.lazyloaded::before{
        background-size: 100% auto;
    }
    .secGallery .icon.lazyloaded::after{
        width: 2rem;
        top: 0.7rem;
        left: 10.5rem;
    }
    .secGallery .tit{
        font-size: var(--spFontSize20);
        margin-top: 1.5rem;
    }
    .secGallery .boxSlider{
        margin-top: 3rem;
    }
    .secGallery .swiper{
        width: 100%;
    }
    .secGallery .swiper-button-prev,
    .secGallery .swiper-button-next{
        width: 3rem;
        height: 1.6rem;
        top: unset;
        bottom: -3.5rem;
    }
    .secGallery .swiper-button-prev{
        left: 1.5rem;
    }
    .secGallery .swiper-button-next{
        right: 1.5rem;
    }
    .secGallery .swiper-button-prev.lazyloaded{
        background: url(../img/common/iconArrowWhite.png) center center / 17px auto no-repeat var(--bgSlider);
    }
    .secGallery .swiper-button-next.lazyloaded{
        background: url(../img/common/iconArrowWhite.png) center center / 17px auto no-repeat var(--bgSlider);
    }
    .secGallery .swiper-pagination{
        margin: 0;
        padding: 0;
        position: absolute;
        bottom: 4.4rem;
        width: 80%;
        left: 10%;
    }
    .secGallery .swiper-pagination-bullet{
        width: 0.9rem;
        height: 0.9rem;
    }
}

/* secPoint */
.secPoint{
    margin-top: 8rem;
}
.secPoint .boxList{
    margin-top: 5.1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 7rem 6rem;
}
.secPoint .titEng{
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_30);
    color: var(--keyColor);
    font-weight: bold;
}
.secPoint .icon{
    position: relative;
    padding-left: 3rem;
}
.secPoint .icon::before{
    content: '';
    width: 2rem;
    height: 2.3rem;
    position: absolute;
    top: -0.1rem;
    left: 0;
}
.secPoint .icon.lazyloaded::before{
    background: url(../img/modelhouse/iconPoint.png) center center / cover;
}
.secPoint .icon.lazyloaded::after{
    content: '';
    width: 10rem;
    height: 0.1rem;
    position: absolute;
    top: 1rem;
    left: 10rem;
    background: var(--keyColor);
}
.secPoint .titMain{
    font-size: var(--pcFontSize46);
    font-weight: bold;
    margin-top: 2.5rem;
}
.secPoint .boxList .item{
    width: calc((100% - 6rem) / 2);
}
.secPoint .boxList .boxImg{
    width: 100%;
    padding-top: 68.184%;
}
.secPoint .boxList .boxTxt{
    padding-top: 3.2rem;
}
.secPoint .boxList .tit{
    font-size: var(--pcFontSize26);
    line-height: var(--pcLineHeight26_42);
    letter-spacing: var(--pcLetterSpacing26_50);
    font-weight: bold;
}
.secPoint .boxList .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
    letter-spacing: var(--pcLetterSpacing16_50);
    margin-top: 2rem;
}
@media only screen and (max-width:1215px){
    .secPoint{
        margin-top: 5rem;
    }
    .secPoint .titEng{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_30);
    }
    .secPoint .icon{
        padding-left: 2.5rem;
    }
    .secPoint .icon::before{
        width: 1.4rem;
        height: 1.6rem;
        top: 0;
    }
    .secPoint .icon.lazyloaded::before{
        background-size: 100% auto;
    }
    .secPoint .icon.lazyloaded::after{
        width: 2rem;
        top: 0.7rem;
        left: 7.8rem;
    }
    .secPoint .titMain{
        font-size: var(--spFontSize20);
        margin-top: 1.5rem;
    }
    .secPoint .boxList{
        margin-top: 3rem;
        flex-direction: column;
        gap: 4.4rem;
    }
    .secPoint .boxList .item{
        width: 100%;
    }
    .secPoint .boxList .boxImg{
        width: 100%;
        padding-top: 68.184%;
    }
    .secPoint .boxList .boxTxt{
        padding-top: 1.5rem;
    }
    .secPoint .boxList .tit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_26);
        letter-spacing: var(--spLetterSpacing0);
    }
    .secPoint .boxList .txt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
        letter-spacing: var(--spLetterSpacing0);
        margin-top: 0.9rem;
    }
}

/* secMovie */
.secMovie .boxMovie{
    margin: 7.1rem auto 0;
    position: relative;
    width: 100%;
    max-width: 120rem;
    padding-bottom: 48.914%;
}
.secMovie .boxMovie iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media only screen and (max-width:1215px){
    .secMovie .boxMovie{
        margin: 4.4rem auto 0;
        max-width: unset;
        padding-bottom: 56.12%;
    }
}

/* secAccess */
.secAccess{
    margin-top: 8rem;
    padding-bottom: 8rem;
    border-bottom: 0.1rem dotted var(--borderColorGray2);
}
.secAccess .boxMap{
    margin-top: 4rem;
    position: relative;
    width: 100%;
    padding-top: 32.609%;
    overflow: hidden;
}
.secAccess .boxMap iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.secAccess .txtPlace{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    letter-spacing: var(--pcLetterSpacing16_50);
    text-align: center;
    margin-top: 3.2rem;
}
.secAccess .txtAccess{
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing20_50);
    font-weight: bold;
    text-align: center;
    position: relative;
    display: table;
    margin: 7.2rem auto 0;
}
.secAccess .txtAccess::after,
.secAccess .txtAccess::before{
    content: '';
    width: 1.1rem;
    height: 2.9rem;
    position: absolute;
    top: 0.5rem;
    left: -3rem;
}
.secAccess .txtAccess::before{
    left: unset;
    right: -3rem;
}
.secAccess .txtAccess.lazyloaded::after{
    background: url(../img/common/imgTxtDecorationLeft.png) center top / cover;
}
.secAccess .txtAccess.lazyloaded::before{
    background: url(../img/common/imgTxtDecorationRight.png) center top / cover;
}
.secAccess .txtAccess .inner{
    position: relative;
}
.secAccess .txtAccess .inner::after{
    content: '';
    width: 100%;
    height: 0.8rem;
    background: var(--ColorYellow);
    position: absolute;
    bottom: -0.1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.secAccess .secCmnBtnForm{
    margin-top: 3.7rem;
}
@media only screen and (max-width:1215px){
    .secAccess{
        margin-top: 2.9rem;
        padding-bottom: 5rem;
    }
    .secAccess .boxMap{
        margin-top: 2.4rem;
        padding-top: 77.615%;
    }
    .secAccess .txtPlace{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_32);
        letter-spacing: var(--spLetterSpacing0);
        margin-top: 1rem;
    }
    .secAccess .txtAccess{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing0);
        margin: 1.9rem auto 0;
    }
    .secAccess .txtAccess::after,
    .secAccess .txtAccess::before{
        width: 0.8rem;
        height: 1.9rem;
        top: 0.5rem;
        left: -3rem;
    }
    .secAccess .txtAccess::before{
        left: unset;
        right: -3rem;
    }
    .secAccess .txtAccess .inner::after{
        height: 0.6rem;
        bottom: -0.1rem;
    }
    .secAccess .secCmnBtnForm{
        margin-top: 2rem;
    }
}

.cmnBtnBack .cmnBtnBack{
    margin-top: 8rem;
}
.secCmnBtnForm .btnForm::after {
    transform: translateY(-50%) rotate(0deg);
}
.secCmnBtnForm2 .btnForm::after{
    transform: translateY(-50%) rotate(0deg);
}
.secCmnBtnFormTop .cmnBtnFormTop .inner::before {
    transform: none;
    left: calc(50% - 0.75rem);
    bottom: -2rem;
}
@media only screen and (max-width:1215px){
    .cmnBtnBack .cmnBtnBack{
        margin-top: 3rem;
    }
    .secCmnBtnFormTop .cmnBtnFormTop .inner::before {
        transform: translateY(-50%);
        left: unset;
        bottom: unset;
        right: -8.5rem;
    }
    .fNaviNone #footer .boxFooterBottom{
        margin-bottom: 6rem;
    }
}
@media only screen and (max-width:350px){
    .secCmnBtnFormTop .cmnBtnFormTop .inner::before {
        right: -7.5rem;
    }
}