@charset "utf-8";
/* CSS Document */

@media screen and (max-width: 950px) {

a[href^="tel:"] {
    pointer-events: auto;
}
    
.reserveTxt{
    font-size: min(3.6vw,16px);
}
.reserveTxt a{}
.reserveTxt a:before{*/
    left: 25px;
*/
    left: 25px;
    /* left: min(36px,10vw); */
}


    
/* 共通コンテンツ */

section.contentSec{}

.contentSec.bandSec .contentInner .infoBox{}
.contentSec .contentInner .infoBox{}
.contentSec .contentInner .infoBox .allTitle{}
.contentSec .contentInner .infoBox .allTitle .contentTitle{
    font-size: min(1.5em,24px);
}
.contentSec .contentInner .infoBox .allTitle .contentTxt{}
.contentSec .contentInner .infoBox .infoFlex{
    flex-wrap: wrap;
    max-width: max-content;
    width: 95%;
    gap: 1em 2%;
    margin: auto;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard{
    width: 49%;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .contentNumTxt{}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo{}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .contentTitle{}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo{
    padding: 1em 5%;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .text-primary{
    padding-top: 0.6em;
    padding-bottom: 0em;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .text-primary:has(.limited){
    padding-top: 1.8em;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .text-primary p{
    top: 0.8em;
    font-size: 16px;
}




.contentSec .mainInner{}
.contentSec .mainInner .planBox{}
.contentSec .mainInner .planBox .planInfo{}


/* ----------------------------------------------
    FV
---------------------------------------------- */
#mainContents{}
#mainContents .faFirstInner{}
#mainContents .faFirstInner .resText{}
#mainContents #faFirst nav{}


#mainContents .faFirstInner .resAbout .bgImg {}
#mainContents .faFirstInner .src1{}
#mainContents .faFirstInner .resText{}
#mainContents .faFirstInner .resText:before{
    left:-3vw;
}
#mainContents .faFirstInner .resText .ankerPlanBtn{}
#mainContents .faFirstInner .resText .ankerPlanBtn a{}
#mainContents .faFirstInner .resText .ankerPlanBtn a:after{}

/* ----------------------------------------------
    宴会セクション
---------------------------------------------- */
#banquetSec{}
#banquetSec .banquetTitle{}
#banquetSec .banquetTxt{
    font-size: min(4vw,18px);
}


    
/* ----------------------------------------------
    プランセクション 
---------------------------------------------- */
#planSec{}
#planSec .aboutInner{
    border-bottom: 1px solid #a5a111;
}
#planSec .text-primary{
    line-height: 2.6rem;
}
#planSec .text-4xl{
    line-height: 1;
    margin: 0 auto -0.4em;
}
#planSec .text-4xl-dtp {
    font-size: 2rem;
    line-height: 0.8em;
    margin-top: 0.2em;
    display: block;
    /* margin-bottom: 0.5rem; */
}
#planSec .text-sm{}
#planSec .contentTitle{}
#planSec .contentTitle span{}
#planSec .miniTxt{}

#planSec .additionalNote{}
#planSec .normalNote{
    font-size: min(3.5vw, 14px);
}

#planSec .contentTitle,
#planSec .additionalNote,
#planSec .normalNote{
    min-height: auto;
}

#planSec .mainInner{}
#planSec .mainInner .planBox{}
#planSec .mainInner .planBox .courceTitle {}
#planSec .mainInner .planBox .courceTitle{}
#planSec .mainInner .planBox .courceTitle .planHedding{}
#planSec .mainInner .planBox .courceTitle .planHedding span{
    padding-left: 0.3em;
}
#planSec .mainInner .planBox .courceTitle .planPrice{}
#planSec .mainInner .planBox .courceTitle .planPrice span{}
#planSec .mainInner .planBox .courceTitle .planPrice.weekdayplan{
    padding-left: 12rem;
}
#planSec .mainInner .planBox .courceTitle .planPrice.weekdayplan:before{
    left: 0.1rem;
}
#planSec .mainInner .planBox .planInfo{
    font-size: clamp(14px,3vw, 16px);
}
#planSec .mainInner .planBox .courceAbout{
    gap: 1em;
    margin: 0em auto 1em;
}
#planSec .mainInner .planBox .courceImgBox{}
#planSec .mainInner .planBox .courceImgBox img{width:100%; height:auto;}
    
#planSec .mainInner .planBox .oshinagakiBox{
    font-size: clamp(14px,3.6vw, 16px);
}
#planSec .mainInner .planBox .oshinagakiBox .oshinagakiTtl{}
#planSec .mainInner .planBox .oshinagakiBox .oshinagakiTxt{
    padding-left: 1em;
}


#planSec .mainInner .planBox .oshinagakiTable table{
    width: 100%;
    /* border-collapse: collapse; */
    table-layout: fixed;
}
#planSec .mainInner .planBox .oshinagakiTable table tr{
}
#planSec .mainInner .planBox .oshinagakiTable table tr:first-child td{}
#planSec .mainInner .planBox .oshinagakiTable table td{
    width: calc(100% / 3);
    font-size: min(4vw, 16px);
}
#planSec .mainInner .planBox .oshinagakiTable table tr td:first-child{}

#planSec .mainInner .planBox .oshinagakiTable table td span{}

/* ----------------------------------------------
    宴会オプション
---------------------------------------------- */
#optionSec{}
#optionSec .infoFlex{
    gap: 1em 4%;
    width: 95%;
}
#optionSec .infoFlex .contentCard{
    width: 48%;
}
#optionSec .infoFlex .contentCard:first-child{width:100%;}
#optionSec .infoFlex .contentCard .contentNum{}
#optionSec .infoFlex .contentCard .contentNum .contentNumHedd{
    font-size: min(4.8vw, 27px);
}
#optionSec .infoFlex .contentCard .contentNum .contentNumTxt{}
#optionSec .infoFlex .contentCard .aboutInfo{
    padding: 1em 4%;
}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox{}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox .normalNote{
    font-size: 14px;
}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox ul{
    font-size: min(2.9vw,16px);
}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox li{}
#optionSec .infoFlex .contentCard .aboutInfo .text-primary{
    padding-top: 0;
}
#optionSec .infoFlex .contentCard .aboutInfo .text-primary .text-4xl{
    font-size: min(2.4rem,36px);
    margin-bottom: 0rem;
}
#optionSec .infoFlex .contentCard .aboutInfo .text-primary .text-sm{}



/* ----------------------------------------------
    客室のご案内
---------------------------------------------- */
#guestSec{}

#guestSec .reservationTxt{
    font-size: clamp(14px,3.6vw, 16px);
}
#guestSec .guestInfo{
}
#guestSec .guestInfo .contentCard {
    padding: 1.5em 2.5%;
}
#guestSec .guestInfo .contentCard .guestCont{}
#guestSec .guestInfo .contentCard h3.guestCont{}
#guestSec .guestInfo .contentCard img.guestCont{
    width: 100%;
    height: auto;
}
#guestSec .guestInfo .contentCard p.guestCont{
    font-size: clamp(12px,2.2vw, 14px);
}
#guestSec .reserveTxt a.reserveBtn.guest{}

}




@media screen and (max-width: 650px) {
    /* ----------------------------------------------
    プランセクション 
---------------------------------------------- */
#planSec{}
#planSec .aboutInner{}
#planSec .text-primary{
    position: relative;
    padding-top: 3.3em;
    padding-bottom: 0em;
    line-height: 1.3rem;
}
#planSec .text-primary:not(:has(.limited)){
    padding-top: 1.5em;
}
#planSec .text-4xl{
    margin: 0 auto 0em;
}
#planSec .text-sm{}
#planSec .contentTitle{
}
#planSec .contentTitle span{}
#planSec .miniTxt{}

#planSec .additionalNote{}
#planSec .normalNote{
    font-size: min(3.5vw, 16px);
}

#planSec .contentTitle,
#planSec .additionalNote,
#planSec .normalNote{
}

#planSec .mainInner{}
#planSec .mainInner .planBox{}
#planSec .mainInner .planBox .courceTitle {}
#planSec .mainInner .planBox .courceTitle{
    border-bottom: none;
    padding: 2% 0% 1%;
}
#planSec .mainInner .planBox .courceTitle .planHedding{
    font-size: min(5vw, 24px);
    width: 100%;
    border-bottom: 1px solid #a5a111;
    padding: 0.25em 2.5%;
    margin-bottom: 0.25em;
    text-align: center;
}
#planSec .mainInner .planBox .courceTitle .planHedding span{}
#planSec .mainInner .planBox .courceTitle .planPrice{
    padding-top: 0.25em;
    padding-left: 2.3%;
    padding: 0.25em 2.2% 0;
    font-size: clamp(24px,9.6vw,40px);
    width: 100%;
    text-align: center;
}
#planSec .mainInner .planBox .courceTitle .planPrice span{
}
#planSec .mainInner .planBox .courceTitle .planPrice span.dispBlock{/* display:block; */}
#planSec .mainInner .planBox .courceTitle .planPrice.weekdayplan{0.25em 2.2%CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;padding: 1.25em 2.2% 0;position: relative;}
#planSec .mainInner .planBox .courceTitle .planPrice.weekdayplan:before{
    width: max-content;
    margin: 0;
    top: 0.8em;
    /* right: 0; */
    /* left: 0; */
    padding: 0.2rem 0.8rem;
    line-height: 1.2em;
    letter-spacing: 2px;
    left: 50%;
    transform: translateX(-50%); /* 要素の幅の半分だけ左に移動 */
}


#planSec .mainInner .planBox .planInfo{
}
#planSec .mainInner .planBox .courceAbout{}
#planSec .mainInner .planBox .oshinagakiBox{}
#planSec .mainInner .planBox .oshinagakiBox .oshinagakiTtl{}
#planSec .mainInner .planBox .oshinagakiBox .oshinagakiTxt{}

}


























@media screen and (max-width: 450px) {

.reserveTxt{
    margin: 2em auto 2em;
}
.reserveTxt a{
    font-size: clamp(16px, 8vw, 20px);
    padding: 0.7em calc(15vw - 13px) 0.7em calc(15vw + 13px);
}
.reserveTxt a:before{
    left: 11vw;
}

    
/* 共通コンテンツ */

section.contentSec{
    padding: 0rem 0;
}

.contentSec.bandSec .contentInner .infoBox{
    padding: 1.5rem 0 3.75rem;
}
.contentSec .contentInner .infoBox{}
.contentSec .contentInner .infoBox .allTitle{
    margin-bottom: 0.2rem;
}
.contentSec .contentInner .infoBox .allTitle .contentTitle{}
.contentSec .contentInner .infoBox .allTitle .contentTxt{}
.contentSec .contentInner .infoBox .infoFlex{
    gap: 2em;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard{
    width: 90%;
    margin: auto;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .contentNumTxt{
    font-size: min(6vw, 23px);
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo{}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .contentTitle{}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo{
    padding: 1em 5% 3em;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .text-primary{
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .text-primary:not(:has(.limited)){
    padding-top: 1.5em;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .text-primary p{
    font-size: min(4vw, 18px);
    width: max-content;
    margin: auto;
    left: 50%;
    transform: translateX(-50%);
    /* right: 0; */
}




.contentSec .mainInner{}
.contentSec .mainInner .planBox{}
.contentSec .mainInner .planBox .planInfo{}


/* ----------------------------------------------
    FV
---------------------------------------------- */
#mainContents{}
#mainContents .faFirstInner{
    height: auto;
    aspect-ratio: 3/3.1;
}
#mainContents .faFirstInner .resText{
    background: url(../img/img_fv02_sp.jpg);
    width: 100%;
    height: 100%;
    /* max-width: 100%; */
    margin: auto;
    max-height: 57vw;
    bottom: -30%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#mainContents #faFirst  nav{}


#mainContents .faFirstInner .resAbout .bgImg {
    background-size: cover;
    background-repeat: no-repeat;
}
#mainContents .faFirstInner .src1{}
#mainContents .faFirstInner .resText{}
#mainContents .faFirstInner .resText:before{
    /* top: -25px;left:-3vw; */
}
#mainContents .faFirstInner .resText .ankerPlanBtn{}
#mainContents .faFirstInner .resText .ankerPlanBtn a{
    font-size: min(4vw, 18px);
    color: #000;
}
#mainContents .faFirstInner .resText .ankerPlanBtn a:after{}

/* ----------------------------------------------
    宴会セクション
---------------------------------------------- */
#banquetSec{}
#banquetSec .banquetTitle{
    font-size: min(5vw, 22px);
}
#banquetSec .banquetTxt{}


    
/* ----------------------------------------------
    プランセクション 
---------------------------------------------- */
#planSec{}
#planSec .aboutInner{}
#planSec .text-primary{
    position: relative;
    padding-top: 3.3em;
    padding-bottom:0em;
    line-height: 1.3rem;
}
#planSec .text-primary-dtp{
    position: relative;
    padding-top: 4em;
    padding-bottom: 1.9em;
    line-height: 1.3rem;
}
#planSec .text-primary:not(:has(.limited)){
    padding-top: 1.5em;
}
#planSec .text-4xl{
    margin: 0 auto 0em;
}
#planSec .text-sm{
    font-size: 1.2rem;
}
#planSec .contentTitle{margin: 0.25rem 0 0.2rem;}
#planSec .contentTitle span{}
#planSec .miniTxt{}

#planSec .additionalNote{
    line-height: 1;
    font-size: 1.1rem;
    margin-top: 0.5em;
}
#planSec .normalNote{
    font-size: min(3.3vw, 18px);
}

#planSec .contentTitle,
#planSec .additionalNote,
#planSec .normalNote{}
#planSec .aboutInner .contentTitle{
    line-height: 1;
}
#planSec .mainInner{}
#planSec .mainInner .planBox{}
#planSec .mainInner .planBox .courceTitle {}
#planSec .mainInner .planBox .courceTitle{
    border-bottom: none;
    padding: 2% 0% 1%;
}
#planSec .mainInner .planBox .courceTitle .planHedding{
    font-size: min(5vw, 24px);
    width: 100%;
    border-bottom: 1px solid #a5a111;
    padding: 0.25em 2.5%;
    margin-bottom: 0.25em;
}
#planSec .mainInner .planBox .courceTitle .planHedding span{}
#planSec .mainInner .planBox .courceTitle .planPrice{
    display: flex
;justify-content: center;
    padding-top: 0.25em;
    padding-left: 2.3%;
    padding: 0.25em 2.2% 0;
    font-size: 9.1vw;
}
#planSec .mainInner .planBox .courceTitle .planPrice span{
}
#planSec .mainInner .planBox .courceTitle .planPrice span.dispBlock{/* display:block; */}
#planSec .mainInner .planBox .courceTitle .planPrice.weekdayplan{0.25em 2.2%CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;padding: 1.45em 0.2% 0;position: relative;}
#planSec .mainInner .planBox .courceTitle .planPrice-sm.weekdayplan{0.25em 2.2%CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;padding: 1.5em 0.2% 0px;position: relative;text-align: center;}
#planSec .mainInner .planBox .courceTitle .planPrice.weekdayplan:before{
    width: max-content;
    margin: 0;
    top: 0.8em;
    /* right: 0; */
    /* left: 0; */
    padding: 0.2rem 2.5rem;
    line-height: 1.2em;
    letter-spacing: 2px;
    left: 50%;
    transform: translateX(-50%); /* 要素の幅の半分だけ左に移動 */
}
#planSec .mainInner .planBox .courceTitle .planPrice-sm.weekdayplan:before{
    width: max-content;
    margin: 0;
    top: 0.8em;
    /* right: 0; */
    /* left: 0; */
    padding: 0.2rem 1.8rem;
    line-height: 1.2em;
    letter-spacing: 2px;
    left: 50%;
    transform: translateX(-50%); /* 要素の幅の半分だけ左に移動 */
}

#planSec .mainInner .planBox .planInfo{text-align: center;}
#planSec .mainInner .planBox .courceAbout{}
#planSec .mainInner .planBox .oshinagakiBox{}
#planSec .mainInner .planBox .oshinagakiBox .oshinagakiTtl{}
#planSec .mainInner .planBox .oshinagakiBox .oshinagakiTxt{}



/* ----------------------------------------------
    宴会オプション
---------------------------------------------- */
#optionSec{}
#optionSec .contentInner{
    max-width: max-content;
    width: 100%;
}
#optionSec .infoFlex{
    max-width: max-content;
    width: 90%;
    margin-top: 1rem;
}
#optionSec .infoFlex .contentCard:first-child{width:90%;}
#optionSec .infoFlex .contentCard{
    width: 90%;
}
#optionSec .infoFlex .contentCard .contentNum{
    padding: 0.5em 0 0.5em;
}
#optionSec .infoFlex .contentCard .contentNum .contentNumHedd{
    font-size: min(6vw, 20px);
}
#optionSec .infoFlex .contentCard .contentNum .contentNumTxt{}
#optionSec .infoFlex .contentCard .aboutInfo{}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox{}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox .normalNote{
    line-height: 1.4rem;
    font-size: clamp(14px,3vw, 18px);
}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox p:has(img){
    text-align: center;
    margin: 0.2rem 0 0.8rem;
}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox ul{}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox li{}
#optionSec .infoFlex .contentCard .aboutInfo .text-primary{}
#optionSec .infoFlex .contentCard .aboutInfo .text-primary .text-4xl{
    margin-bottom: 0.2rem;
}
#optionSec .infoFlex .contentCard .aboutInfo .text-primary .text-sm{
    font-size: min(2.4rem, 18.4px);
}



/* ----------------------------------------------
    客室のご案内
---------------------------------------------- */
#guestSec{
    padding-bottom: 2rem;
}

#guestSec .reservationTxt{
    font-size: min(4vw, 18px);
    margin-top: 1rem;
}
#guestSec .guestInfo{
    gap: 2em 2%;
}
#guestSec .guestInfo .contentCard {
    width: 100%;
}
#guestSec .guestInfo .contentCard .guestCont{}
#guestSec .guestInfo .contentCard h3.guestCont{}
#guestSec .guestInfo .contentCard img.guestCont{
    width: 90%;
}
#guestSec .guestInfo .contentCard p.guestCont{}
#guestSec .reserveTxt a.reserveBtn.guest{}

}