@charset "utf-8";
/* CSS Document */
a {transition:0.2s ease-in-out;}
a:hover{opacity:0.6}

/* 共通パーツ */
.order1{order: 1;}
.order2{order: 2;}
.order3{order: 3;}

.flexBox{display: flex;}
.j-cont-sb{justify-content: space-around;}
.j-cont-sa{justify-content: space-around;}

a[href^="tel:"] {
    pointer-events: none;
}


.reserveTxt{text-align:center;margin: 0em auto 3em;}
.reserveTxt a{
     position:relative;
     display: inline-block;
     line-height: 1;
     background:#a5a111;
     color:#fff;
     padding: 0.7em 4em;
     padding: 0.7em calc(4em - 20px) 0.7em calc(4em + 6px);
     border-radius: 2em;
     font-size: 20px;
     box-sizing: border-box;
 }
.reserveTxt a:before{content:"";position:absolute;background-image: url(../img/icon_tel.png);background-size: cover;background-repeat: no-repeat;display: block;margin: auto;width: 26px;height: 26px;/* border-top: 2px solid #fff; *//* border-right: 2px solid #fff; *//* transform: rotate(45deg); */left: 40px;left: calc(40px + 13px);top: 0;bottom: 0;}

.txt-60{font-size:60%;}
.txt-75{font-size:75%;}

/* 共通コンテンツ */

section.contentSec{
    padding: 2rem 0;
}

.contentSec.bandSec .contentInner .infoBox{
    background: #ebe6dc;
    padding: 3rem 0 3.75rem;
}
.contentSec .contentInner .infoBox{}
.contentSec .contentInner .infoBox .allTitle{display: grid;}
.contentSec .contentInner .infoBox .allTitle .contentTitle{
    font-size: 1.715em;
}
.contentSec .contentInner .infoBox .allTitle .contentTxt{
}
.contentSec .contentInner .infoBox .infoFlex{
    width: 950px;
    max-width: 95%;
    margin: auto;
    display: flex;
    gap: 2%;
    justify-content: space-between;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard{
    width: 29.5%;
    display: inline-block;
    color: black;
    filter: drop-shadow(4px 4px 6px #aaa);
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .contentNumTxt{
    text-align: center;
    background: #a5a111;
    color: #fff;
    padding: 0.5em 0;
    font-size: 27px;
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo{
    position: relative;
    background: #fff;
    padding: 1.5em 5% 3em;
}

.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo:after{
    content:"";
    position:absolute;
    display: block;
    margin: auto;
    width: 12px;
    height: 12px;
    border-top: 2px solid #444;
    border-right: 2px solid #444;
    transform: rotate(135deg);
    right: 0;
    left: 0;
    bottom: 17px;
    /* top: 32px; */
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .contentTitle{}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo{
}
.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .text-primary{
    /* border-top: 1px solid #a5a111; */
    text-align: center;
    position: relative;
    padding-top: 4em;
    padding-bottom: 0em;
}


.contentSec .contentInner .infoBox .infoFlex .contentCard .aboutInfo .text-primary p{
    position: absolute;
    background:#000;
    color:#fff;
    margin:auto;
    left: 0;
    right: 0;
    top: 1.2em;
    text-align: center;
    display: inline-table;
    padding: 0 3em;
    letter-spacing: 2px;
}


.contentSec .mainInner{
    margin: 2em auto;
}

.contentSec .mainInner .planBox{
    border: 1px solid #cccccc;
    padding: 2em 1.5em;
}
.contentSec .mainInner .planBox .planInfo{}


/* ----------------------------------------------
    FV
---------------------------------------------- */
#mainContents{padding-top:0!important}
#mainContents .faFirstInner{
    position: relative;
    height: 630px;
    overflow: hidden;
}
#mainContents .faFirstInner .resText{
    background: url(../img/img_fv02_test251009.jpg);width: 850px;height: 420px;max-width: 90%;max-height: 40vw;background-size: contain;background-repeat: no-repeat;background-position: center;position: absolute;margin: auto;top: 0;bottom: -19%;right: 0;left: 0;
}

#mainContents .faFirstInner .resText:before{
    /* content:"";
    position:absolute;
    background-image:url(../img/icon_fv.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 190px;
    height: 180px;
    max-width: 20vw;
    left: -4.5vw;
    top: -46px; */
}

#mainContents #faFirst  nav{
    width: 950px;
    max-width: 95%;
    margin: auto;
}


#mainContents .faFirstInner .resAbout .bgImg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-position: center;
}
#mainContents .faFirstInner .src1{background-image: url(../img/img_fv01.jpg);z-index: -1;}

#mainContents .faFirstInner .resText .ankerPlanBtn{text-align:center;position: absolute;right: 0;left: 0;bottom: 5%;}
#mainContents .faFirstInner .resText .ankerPlanBtn a{background:#fff;color: #000;padding:0.2em 2em;border-radius:2em;font-size: min(2.4vw,19px);}
#mainContents .faFirstInner .resText .ankerPlanBtn a:after{content:"▼"}

/* ----------------------------------------------
    宴会セクション
---------------------------------------------- */
#banquetSec{}
#banquetSec .banquetTitle{
    font-size: 1.6rem;
    font-weight: bold;
    border-bottom: 1px solid #8b6411;
    color: #42210b;
    max-width: 752px;
    margin: 0 auto .5em;
    padding-bottom: 0.2em;
}
#banquetSec .banquetTxt{color:#000;font-size: 20px;line-height: 1.6em}


    
/* ----------------------------------------------
    プランセクション 
---------------------------------------------- */
#planSec{
    padding-top: 0;
}
#planSec .aboutInner{
    display: grid;
}
#planSec .aboutInner .contentTitle {
    font-size: 2.5rem;
}
#planSec .text-primary{}
#planSec .text-4xl{
    font-size: 2.2rem;
    display: block;
    margin-bottom: 0.5rem;
}
#planSec .text-4xl-dtp{
    font-size: 2rem;
    line-height: 0.9em;
    margin-top: 0px;
    display: block;
    /* margin-bottom: 0.5rem; */
}
#planSec .text-sm{
    font-size: 1.5rem;
}
#planSec .text-sm-dtp{
    font-size: 1.3rem;
}
#planSec .contentTitle{/* font-size: 2.5rem; */line-height: 1.8rem;margin: 0.25rem 0 1rem;letter-spacing: 2px;}
#planSec .contentTitle span{font-size: 65%;padding-left: 0.3em;}
#planSec .miniTxt{font-size:75%;}

#planSec .additionalNote{font-size: 1.2rem;padding: 0;}
#planSec .normalNote{font-size: 12.6px;min-height: 7.2em;}

#planSec .contentTitle,
#planSec .additionalNote,
#planSec .normalNote{text-align: center;}

#planSec .mainInner{}
#planSec .mainInner .planBox{
    margin-bottom: 2em;
}
#planSec .mainInner .planBox .courceTitle {
    padding: 2% 2% 1%;
    border-bottom: 1px solid #a5a111;
    align-items: center;
    flex-wrap: wrap;
}
#planSec .mainInner .planBox .courceTitle{}


.price_value{font-size: 2.3rem;width: 101px;text-align: right;padding-right: 0px;}

.planPrice > span:nth-child(2),
.planPrice-sm > span:nth-child(2) {
    /* 税込価格との間にスペースが空くのを防ぐため、margin-leftなどをリセット */
    /* 必要に応じて line-height や font-size を調整してください */
}

.planPrice > .dispBlock,
.planPrice-sm > .dispBlock {
    /* 通常の flex item として配置されます */
    /* 必要に応じて margin-left などを調整してください */
}

#planSec .mainInner .planBox .courceTitle .planHedding{
    font-size: 1.5rem;
    font-weight: normal;
    letter-spacing: 2px;
}
#planSec .mainInner .planBox .courceTitle .planHedding span{
    font-size: 166.75%;
    font-weight: bold;
    padding-left: 0.5em;
}
#planSec .mainInner .planBox .courceTitle .planPrice{
    display: flex;
    font-size: 2.3rem;
    /* font-weight: bold; */
    line-height: 1.6rem;
}
/*#planSec .mainInner .planBox .courceTitle .planPrice span{
    /* font-size: 50%; */
   /* font-weight: normal;
}*/


#planSec .mainInner .planBox .courceTitle .planPrice .plan50{
     font-size: 42%;
     font-weight: normal;
     position: relative;
     top: 6px;
}
#planSec .mainInner .planBox .courceTitle .planPrice span.dispBlock{
    /* margin-left: -0.4em; */
    /* width: 156px; */
}
#planSec .mainInner .planBox .courceTitle .planPrice-sm span.daytrip_opt{
    font-size: 32%;
    background: #ebe6dc;
    padding: 0.5em;
    border-radius: 6px;
    line-height: 1.3em;
    text-align: center;
}
#planSec .mainInner .planBox .courceTitle .planPrice.weekdayplan{
    position: relative;
    padding-left: 8.6rem;
}
#planSec .mainInner .planBox .courceTitle .planPrice.weekdayplan:before{
   content: "宿泊プラン";
    position: absolute;
    background:#000;
    color:#fff;
    left: 0.5rem;
    font-size:1rem;
    padding: 0.2rem 1rem;
    top: 0;
    /* bottom: 0; */
    letter-spacing: 2px;
}
#planSec .mainInner .planBox .courceTitle .planPrice-sm{
    font-size: 2.3rem;
    /* font-weight: bold; */
    line-height: 1.6rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

#planSec .mainInner .planBox .courceTitle .planPrice-sm .plan40{font-size: 40%;}
.plan60{font-size: 140%;}
.plan70{font-size: 50% !important}
.flex-break{display: none;}

/* SP版でのみ表示・改行させる */
@media screen and (max-width: 768px) { /* 768px以下をSPとする場合の例 */
    .flex-break {
        display: block !important; 
        /* 強制的に次の行へ送るために幅100%を設定 */
        width: 100%; 
        height: 0; /* 高さは不要なので0に */
        margin: 0; /* マージンもリセット */
    }
    .planPrice-sm {
        /* 折り返されたアイテムを中央に寄せる */
        justify-content: center; 
        /* flex-wrap: wrap; は既に設定されていることを前提とします */
    }
    
    /* 2. 日帰り昼食〜の要素 (.daytrip_opt) の調整 */
    .daytrip_opt {
        /* ★余白の追加★: 上部にマージンを設定して行間の詰まりを解消 */
        margin-top: 10px; /* 例: 10px。適切なサイズに調整してください */
        
        /* ★中央揃え 1/3★: 要素をブロック化し、幅を内容に合わせる */
        display: block; 
        width: fit-content; 
        
        /* ★中央揃え 2/3★: margin: auto で親要素の中で中央配置 */
        margin-left: auto;
        margin-right: auto;
        
        /* ★中央揃え 3/3★: 要素内のテキストも中央に寄せる（念のため） */
        text-align: center; 
    }
}

#planSec .mainInner .planBox .courceTitle .planPrice-sm.weekdayplan{
    position: relative;
    padding-left: 8.6rem;
}

#planSec .mainInner .planBox .courceTitle .planPrice-sm.weekdayplan:before{
    content: "日帰りプラン";
    position: absolute;
    position: absolute;
    background:#000;
    color:#fff;
    left: 0.5rem;
    font-size:1rem;
    padding:0.2rem 0.4rem;
    top: 7px;
    /* bottom: 0; */
    letter-spacing: 2px;
}

#planSec .mainInner .planBox .courceTitle .planPrice-sm  .plan50{
    font-size: 42%;
    font-weight: normal;
    position: relative;
    top: 6px;
}




#planSec .mainInner .planBox .planInfo{
    margin: 1em auto;
}
#planSec .mainInner .planBox .courceAbout{
    margin: 0em auto 3em;
    gap: 4em;
    flex-wrap: wrap;
}
#planSec .mainInner .planBox .oshinagakiBox{}
#planSec .mainInner .planBox .oshinagakiBox .oshinagakiTtl{
    font-size: 110%;
    font-weight: bold;
}
.pd{padding-bottom: 1em;}
#planSec .mainInner .planBox .oshinagakiBox .oshinagakiTxt{
    padding-left: 0.6em;
}
#planSec .mainInner .planBox .oshinagakiTable{
    /* width: 100%; */
    margin: 0.5em auto;
}
#planSec .mainInner .planBox .oshinagakiTable table{
    max-width: 100%;
    width: 400px;
    border-collapse: collapse;
}
#planSec .mainInner .planBox .oshinagakiTable table tr{/* border: 1px dashed #999999; */border-spacing: 0;display: table-row;}
#planSec .mainInner .planBox .oshinagakiTable table tr:first-child td{
    background: #ccc;
    border-top: 1px dashed #999999;
}
#planSec .mainInner .planBox .oshinagakiTable table td{
    text-align: center;
}
#planSec .mainInner .planBox .oshinagakiTable table td{
    border-right: 1px dashed #999999;
    border-bottom: 1px dashed #999999;
    align-content: center;
}
#planSec .mainInner .planBox .oshinagakiTable table tr td:first-child{
    border-left: 1px dashed #999999;}

#planSec .mainInner .planBox .oshinagakiTable table td span{
    display: block;
    font-size: 75%;
    line-height: 1.2em;
}

/* ----------------------------------------------
    宴会オプション
---------------------------------------------- */
#optionSec{}
#optionSec .infoFlex{}
#optionSec .infoFlex .contentCard{
    display: flex;
    flex-direction: column;
}
#optionSec .infoFlex .contentCard .contentNum{
    background: #5e6b80;
    color: #fff;
    padding: 0.85em 0 0.5em;
    font-size: 27px;
    font-weight: normal;
}
#optionSec .infoFlex .contentCard .contentNum .contentNumHedd{
    text-align: center;
    line-height: 1.8rem;
    font-weight: normal;
}
#optionSec .infoFlex .contentCard .contentNum .contentNumTxt{
    padding: 0;
    background: none;
    color: inherit;
    font-size: 66%;
    line-height: 1.4rem;
}
#optionSec .infoFlex .contentCard .aboutInfo{
    padding: 2em 1em;
    display: flex;
    flex-direction: column;
    flex: 1 auto;
}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox{}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox .normalNote{
    text-align: center;
    font-size: 95%;
    line-height: 1.4rem;
}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox p:has(img){
    text-align: center;
    margin: 1rem 0;
}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox ul{
    border: 1px solid #666;
    display: flex;
    margin: 0.85rem 0;
    padding: 1em 0;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2%;
}
#optionSec .infoFlex .contentCard .aboutInfo .aboutInfoBox li{
    display: inline-block;
    line-height: 1.4em;
}
#optionSec .infoFlex .contentCard .aboutInfo .text-primary{
    border-top: none;
    padding-top: 1em;
    padding-bottom: 0em;
}


#optionSec .infoFlex .contentCard .aboutInfo .text-primary:after{content:none}
#optionSec .infoFlex .contentCard .aboutInfo .text-primary .text-4xl{font-size: 2.2rem;display: block;margin-bottom: 0.2rem;line-height: 1;}
#optionSec .infoFlex .contentCard .aboutInfo .text-primary .text-sm{font-size: 1.3rem;}

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

#guestSec .reservationTxt {font-size: 1.1rem;color: #000;margin-top: 1em;}
#guestSec .guestInfo{
    margin: 2em auto 4em;
}
#guestSec .guestInfo .contentCard {
    width: 43%;
    background: #fff;
    padding: 1.5em;
    display:grid;
    text-align: center;
    filter: drop-shadow(0px 0px 6px #aaa);
}
#guestSec .guestInfo .contentCard .guestCont{text-align:center;}
#guestSec .guestInfo .contentCard h3.guestCont{
    color: #595757;
    font-size: 1.5rem;
}
#guestSec .guestInfo .contentCard img.guestCont{margin: 0 auto 1em;}
#guestSec .guestInfo .contentCard p.guestCont{
    font-size: 0.9rem;
}
#guestSec .reserveTxt a.reserveBtn.guest{background:#8b6411;font-size: 1.4rem;padding: 0.8em 3em;border-radius: 0;}