/* 自動生成：build_assets.py（元：_build/sp_proposal/proposal.css） */
/* スマホ表示の提案（2026-10-20）。900px 以下だけに効く */
@media (max-width:900px){

/* ---- 1. カードの共通の形（4か所とも）---- */
.pc>*{background:#fff;box-shadow:0 12px 28px rgba(38,66,75,.13);display:flex!important;flex-direction:column;overflow:hidden;margin:0!important;max-width:none!important}
.pc .im{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/10;flex:none;background-size:cover;background-position:center}
.pc .cb,.pc .tx,.pc .rb{padding:16px 18px 20px!important;flex:1;display:flex!important;flex-direction:column;align-items:flex-start;text-align:left}
.pc h3{font-size:16.5px!important;line-height:1.65!important;letter-spacing:.06em!important;margin:4px 0 6px!important}
.pc p{font-size:13.5px!important;line-height:1.85!important}
.pc .enlabel{font-size:13px}
.pc .cta-btn{margin-top:14px!important;padding:11px 20px!important;font-size:11.5px!important}
.pc .tlink{margin-top:12px!important}
.pcar{background:#fff;border:1px solid var(--sand);border-radius:50%;width:38px;height:38px;color:var(--goldd);font-size:15px;cursor:pointer;display:grid;place-items:center;padding:0;transition:background .3s,color .3s,opacity .3s}
.pcar:active{background:var(--gold);color:#fff}
.pcar:disabled{opacity:.35}
.pcnav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px}

/* 1-a ダイヤル（客室）：左右が奥へ傾いて回る。下の輪の目盛りも一緒に回る */
.pcbox-dial{position:relative;overflow:hidden;margin:0 -20px;padding:8px 0 4px}
.p-dial{position:relative!important;display:block!important;perspective:1100px;padding:0!important;gap:0!important}
.p-dial>*{position:absolute!important;left:11%;top:0;width:78%!important;transition:transform .6s cubic-bezier(.33,1,.68,1),opacity .6s;will-change:transform}
.p-dial.is-drag>*{transition:none}
.p-dial>* .cb,.p-dial>* .tx{opacity:var(--tx,1);transition:opacity .4s}
.p-dial.is-drag>* .cb,.p-dial.is-drag>* .tx{transition:none}
.pcdial{--r:420px;position:relative;height:50px;margin:14px -20px 0;overflow:hidden}
.pcring{position:absolute;left:50%;top:0;width:calc(var(--r)*2);height:calc(var(--r)*2);margin-left:calc(var(--r)*-1);border-radius:50%;border:1px solid var(--sand);transition:transform .6s cubic-bezier(.33,1,.68,1)}
.pcdial.is-drag .pcring{transition:none}
.pcring i{position:absolute;left:50%;top:-4px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#dcd3c0;transform-origin:50% var(--r);transition:background .6s,width .6s,height .6s,margin-left .6s,top .6s}
.pcring i.on{width:13px;height:13px;margin-left:-6.5px;top:-6.5px;background:var(--gold);transform-origin:50% calc(var(--r) + 2.5px)}
.pcpin{position:absolute;left:50%;top:0;width:1px;height:20px;margin-left:-.5px;background:var(--ocean)}
.pcnav-dial{margin-top:0}
.pccnt{font-family:var(--en);font-style:italic;font-size:14px;color:var(--goldd);letter-spacing:.14em;min-width:56px;text-align:center}

/* 1-b 重なったカードをめくる（宿泊プラン）：1位が上。横へはらうと次の順位が出る */
.pcbox-stack{position:relative;padding:4px 0 0}
.p-stack{position:relative!important;display:block!important;padding:0!important;gap:0!important}
.p-stack>*{position:absolute!important;left:0;right:0;top:0;width:auto!important;transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .45s;transform-origin:50% 100%}
.p-stack>*[data-o="0"]{z-index:3}
.p-stack>*[data-o="1"]{z-index:2;transform:translateY(13px) scale(.95);opacity:.85}
.p-stack>*[data-o="2"]{z-index:1;transform:translateY(26px) scale(.9);opacity:.6}
.p-stack>*.drag{transition:none;z-index:4}
.p-stack>*.fly{z-index:4;opacity:0!important;transition:transform .38s cubic-bezier(.55,0,.75,.4),opacity .38s}
.p-stack>*.flyin{z-index:4}
.p-stack>.rank .im{aspect-ratio:16/9}
.p-stack>.rank h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:15.5px!important}
.p-stack>.rank h3 br{display:none}
.p-stack>.rank p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px!important}
.p-stack>.rank .tag span{font-size:10px}
.p-stack>.rank .pr{margin-top:auto;padding-top:10px;width:100%;display:flex!important;flex-direction:column;align-items:flex-start;gap:6px}
.p-stack>.rank .pr .yen{font-size:22px}
.p-stack>.rank .pr .yen small{font-size:10.5px;white-space:nowrap}
.p-stack>.rank .pr a{font-size:11.5px}
.p-stack>.rank .medal{transform:scale(.8);transform-origin:left top}
.pcnav-stack{margin-top:16px}
.pcrank{font-family:var(--sans);font-size:10px;letter-spacing:.2em;color:var(--stone);min-width:70px;text-align:center}
.pcrank b{font-family:var(--en);font-style:italic;font-weight:400;font-size:20px;letter-spacing:.04em;color:var(--goldd);margin-right:4px}
.pcbars{display:flex;gap:5px}
.pcbars i{width:14px;height:2px;background:var(--sand);transition:background .3s,width .3s}
.pcbars i.on{width:26px;background:var(--gold)}

/* 1-c 中央が大きいカード（公式予約の特典）：指で送る。左右が少しのぞく */
.pcbox-peek{margin:0 -20px}
.p-peek{display:flex!important;gap:12px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 11% 14px!important;scrollbar-width:none;grid-template-columns:none!important}
.p-peek::-webkit-scrollbar{display:none}
.p-peek>*{flex:0 0 78%;scroll-snap-align:center;transform:scale(.93);opacity:.5;transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .45s}
.p-peek>*.on{transform:none;opacity:1}
.pcnav-peek{margin-top:4px}
.pcdots{display:flex;gap:6px}
.pcdots i{width:6px;height:6px;border-radius:3px;background:var(--sand);transition:width .3s,background .3s;cursor:pointer}
.pcdots i.on{width:20px;background:var(--gold)}

/* 1-d 1枚ずつぴたっと止まる（三つの食の空間）：幅いっぱい。写真がゆっくり寄る */
.p-snap{display:flex!important;gap:14px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 16px!important;scrollbar-width:none;grid-template-columns:none!important}
.p-snap::-webkit-scrollbar{display:none}
.p-snap>*{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
.p-snap .im{aspect-ratio:4/3;overflow:hidden;position:relative}
.p-snap .zm{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.12);transition:transform 6s cubic-bezier(.2,.6,.3,1)}
.p-snap>*.on .zm{transform:scale(1)}
.pcnav-snap{justify-content:flex-start;gap:12px;margin-top:4px}
.pcnum{font-family:var(--en);font-style:italic;font-size:12px;color:var(--stone);letter-spacing:.1em;white-space:nowrap}
.pcnum b{font-weight:400;font-size:20px;color:var(--goldd)}
.pcline{flex:1;height:1px;background:var(--sand);position:relative}
.pcline i{position:absolute;left:0;top:-1px;height:3px;background:var(--gold);width:33%}
/* 食の空間の下の2枚（食材・旬彩便）は、写真＋題だけの小さな2列に */
.mini2{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px!important}
.mini2 .card{display:block!important;background:#fff}
.mini2 .card .im{display:block;height:auto!important;aspect-ratio:4/3}
.mini2 .card .cb{padding:10px 12px 12px!important}
.mini2 .card .enlabel{font-size:11px}
.mini2 .card h3{font-size:13.5px!important;line-height:1.6!important;margin:2px 0 4px!important;letter-spacing:.04em!important}
.mini2 .card p{display:none}
.mini2 .card .tlink{font-size:10.5px;letter-spacing:.04em;margin-top:4px!important}

/* ---- 2. サウナ（写真 → 文の順、文字を一回り小さく）---- */
.feat{padding:40px 0!important}
.feat .feat-grid{display:flex!important;flex-direction:column}
.feat .im{order:-1;height:auto!important;aspect-ratio:3/2;width:100%!important}
.feat .tx{padding:20px 20px 24px!important}
.feat .tx h3{font-size:20px!important;line-height:1.7!important;margin:6px 0 10px!important;letter-spacing:.08em!important}
.feat .tx p{font-size:14px!important;line-height:1.95!important;letter-spacing:.02em!important}
.feat .tlink{margin-top:14px!important}

/* ---- 3. Instagram（3列×2段。縦に6枚並ばないように）---- */
.insta .ig-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:4px;overflow:visible!important}
.insta .ig-grid .mtr{display:contents!important;animation:none!important}
.insta .ig-grid .mtr>*:nth-child(n+7){display:none!important}
.insta .ig{width:auto!important;height:auto!important;aspect-ratio:1/1;margin:0!important;opacity:1!important;transform:none!important}
.insta .ig-follow{margin-top:18px!important}
.insta .ig-follow+.ig-follow{margin-top:10px!important}

/* ---- 4. 公式サイトの特典（箱をやめ、アイコン＋文の3行に）---- */
#official .benefits{display:block!important;max-width:none!important;width:100%;margin:22px 0 0!important;border-top:1px solid rgba(255,255,255,.16)}
#official .benefit{display:grid!important;width:100%;max-width:none!important;grid-template-columns:30px 1fr;column-gap:14px;align-items:start;
  padding:15px 2px!important;background:none!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;text-align:left!important;margin:0!important}
#official .benefit .ic{grid-row:1/3;width:24px!important;height:24px!important;margin:5px 0 0!important}
#official .benefit h4{font-size:15px!important;margin:0 0 2px!important;line-height:1.7!important}
#official .benefit p{font-size:13px!important;line-height:1.8!important}
}

@media (max-width:900px){
/* ---- 5. 最新情報・読みもの：タブで切り替え。読みものは写真つき ---- */
.ntabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--sand);margin:6px 0 4px}
.ntabs button{background:none;border:0;padding:12px 0 11px;font-family:var(--serif,inherit);font-size:14px;letter-spacing:.12em;color:var(--stone);position:relative;cursor:pointer}
.ntabs button span{display:block;font-family:var(--en);font-style:italic;font-size:12px;letter-spacing:.06em;color:var(--sand);margin-bottom:2px;transition:color .3s}
.ntabs button::after{content:"";position:absolute;left:25%;right:25%;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.ntabs button.on{color:var(--ocean)}
.ntabs button.on span{color:var(--goldd)}
.ntabs button.on::after{transform:none}
.ntab{display:block!important}
.ntab .news-col>h3{display:none}
.ntab .news-col[hidden]{display:none!important}
.ntab .ni{display:grid!important;grid-template-columns:1fr 14px;grid-template-areas:"meta ar" "ttl ar";column-gap:10px;align-items:center;padding:15px 2px!important;border-bottom:1px solid rgba(201,184,150,.45)!important;margin:0!important}
.ntab .ni::after{content:"›";grid-area:ar;color:var(--goldd);font-size:18px;line-height:1}
.ntab .ni time{grid-area:meta;display:inline!important;font-family:var(--sans);font-size:11px!important;letter-spacing:.06em;color:var(--stone);margin:0!important}
.ntab .ni .cat{grid-area:meta;justify-self:start;margin-left:82px!important;font-size:10px!important;padding:2px 8px!important;line-height:1.6}
.ntab .ni p{grid-area:ttl;margin:6px 0 0!important;font-size:14.5px!important;line-height:1.7!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ntab .withph .ni{grid-template-columns:92px 1fr 14px;grid-template-areas:"ph meta ar" "ph ttl ar";column-gap:14px}
.ntab .withph .ni .cat{margin-left:0!important;justify-self:start;margin-top:2px!important}
.ntab .withph .ni time{display:none!important}
.ntab .withph .ni p{font-size:14px!important;-webkit-line-clamp:3}
.ntab .nph{grid-area:ph;display:block;width:92px;aspect-ratio:4/3;background-size:cover;background-position:center;align-self:start}
.ntab .withdt .ni{grid-template-columns:58px 1fr 14px;grid-template-areas:"dt meta ar" "dt ttl ar";column-gap:14px}
.ntab .withdt .ni time{display:none!important}
.ntab .withdt .ni .cat{margin-left:0!important}
.ntab .withdt .ni p{margin-top:4px!important}
.ndt{grid-area:dt;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--sand);padding-right:12px}
.ndt b{font-family:var(--en);font-style:italic;font-weight:400;font-size:30px;line-height:1;color:var(--goldd)}
.ndt small{font-family:var(--sans);font-size:9.5px;letter-spacing:.08em;color:var(--stone);margin-top:5px}
.nmore{text-align:right;margin-top:16px}
.nmore a{font-family:var(--sans);font-size:12px!important;letter-spacing:.1em}
#news .sh p:empty{display:none}
}

@media (max-width:900px){
/* ---- 6. TOP の施設の流れる帯：途中でカードが消えないように ----
   表示されたときに浮かび上がる演出（.reveal）が帯の中でも効いていて、
   画面外のカードと、つなぎ目用に複製したカードが透明のまま流れていた */
.mrqm .reveal{opacity:1!important;transform:none!important;transition:none!important}

/* ---- 7. 下層ページのカード（形の違う部品にも共通の余白を足す）---- */
.p-stack>*[data-o="3"]{z-index:0;opacity:0;transform:translateY(26px) scale(.9)}
.pc.noim>*{padding:22px 20px 24px!important;border:0!important;border-top:2px solid var(--gold)!important}
.pc.noim h4,.pc.noim h5,.pc.noim h3{font-size:16px!important;line-height:1.65!important;margin:6px 0 8px!important}
.pc.noim p{font-size:13.5px!important;line-height:1.9!important}
.pc.loose>*>:not(.im){padding-left:16px!important;padding-right:16px!important}
.pc.loose>*>.im+*{padding-top:12px!important}
.pc.loose>*>:last-child{padding-bottom:16px!important}
.pc .pim{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/10;flex:none;background-size:cover;background-position:center}
.pc .ptx{padding:16px 18px 20px!important;flex:1}
.pc .imcap{font-size:11px}
.pc .nfeat .tx .no,.pc>.nfeat .no{font-size:10.5px}
.pc .sub-en{font-size:12px!important;margin-bottom:6px}
.pc ul.pt{margin-top:10px!important;font-size:12.5px}
.pc>.tl .tm{font-size:13px}
/* 文字だけのカードは、段の飾りを小さく */
.pc .sn,.pc .n,.pc .no{font-size:22px}
.pc .stic svg{width:26px;height:26px}

/* 5. 切り替え（ラウンジの昼／夜） */
.pcswitch{display:flex;width:max-content;margin:0 auto 16px;border:1px solid var(--sand);border-radius:40px;padding:3px;background:#fff}
.pcswitch button{border:0;background:none;padding:8px 22px;border-radius:40px;font-family:var(--en);font-size:13px;letter-spacing:.2em;color:var(--stone);cursor:pointer;transition:background .35s,color .35s}
.pcswitch button.on{background:var(--gold);color:#fff}
.pcbox-fade{position:relative}
.p-fade{position:relative!important;display:block!important;padding:0!important}
.p-fade>*{position:absolute!important;left:0;right:0;top:0;opacity:0;transform:translateY(10px);transition:opacity .6s,transform .6s;pointer-events:none}
.p-fade>*.on{opacity:1;transform:none;pointer-events:auto}

/* 写真＋文の段が1つだけのとき（客室の TOTONOU など）も、サウナと同じく一回り小さく */
.nfeat:not(.pc>*) .im{height:auto!important;min-height:0!important;aspect-ratio:3/2}
.nfeat:not(.pc>*) .tx{padding:22px 4px 0!important}
.nfeat:not(.pc>*) h3{font-size:20px!important;line-height:1.7!important}
.nfeat:not(.pc>*) p{font-size:14px!important;line-height:1.95!important}

/* ---- 8. 一覧は2列のタイル（客室・施設）---- */
.idx.idx2{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;border:0!important}
.idx2 a.withimg{display:flex!important;flex-direction:column;position:relative;padding:0!important;border:0!important;background:#fff;box-shadow:0 6px 16px rgba(38,66,75,.08);min-height:0!important;grid-template-columns:none!important;opacity:1!important;transform:none!important}
.idx2 .rth{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3;margin:0!important;background-size:cover;background-position:center;flex:none}
.idx2 .rno{position:absolute;left:8px;top:8px;background:rgba(255,255,255,.92);padding:1px 7px;font-size:11px!important;line-height:1.7;min-width:0!important;width:auto!important}
.idx2 .rnm{padding:9px 10px 2px!important;font-size:13.5px!important;line-height:1.55!important;display:block!important}
.idx2 .rnm small{display:block;font-size:10.5px!important;line-height:1.6!important;margin-top:3px;color:var(--stone)}
.idx2 .rcap{padding:2px 10px 10px!important;font-size:10.5px!important;margin-top:auto}
.idx2 .ar{display:none!important}

/* ---- 9. 読みもの一覧：左に写真、題は3行まで ---- */
.jthumb{display:block!important;overflow:visible!important;padding:0!important}
.jthumb .jitem{display:grid!important;grid-template-columns:104px 1fr;gap:12px!important;padding:14px 0!important;border-bottom:1px solid rgba(201,184,150,.45)!important;width:auto!important;flex:none!important;opacity:1!important;transform:none!important}
.jthumb .im{aspect-ratio:4/3;height:auto!important;width:100%!important}
.jthumb h3{font-size:14px!important;line-height:1.65!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0 0!important}
.jthumb p{display:none!important}
.jthumb time{font-size:10.5px!important}
.jthumb .jcat{font-size:10px!important}

/* ---- 10. 採用情報：職種ごとに開閉 ---- */
.tbl.acc h3{cursor:pointer;position:relative;padding-right:34px!important}
.tbl.acc h3::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--en);font-size:24px;color:var(--goldd);transition:transform .3s}
.tbl.acc.open h3::after{transform:translateY(-50%) rotate(45deg)}
.tbl.acc:not(.open)>*:not(h3){display:none!important}
}
@media (max-width:900px){
/* 紺や緑の地の上にあるカード（仕入れの三つの約束など）も、白いカードの中は濃い文字に */
.pc>* h3,.pc>* h4,.pc>* h5{color:var(--ocean)!important}
.pc>* p,.pc>* li{color:#4f4a40!important}
}

/* =====================================================================
   第4版（2026-10-20 午後）：窮屈・長い・文字だらけ の手直し
   ===================================================================== */
@media (max-width:900px){
/* ---- A. 長い文章は一回り小さく（JS が 15.5px 以上の段落に .pfit を付ける）---- */
.pfit{font-size:14.5px!important;line-height:2!important;letter-spacing:.03em!important;word-break:auto-phrase;text-wrap:pretty}
.winv{padding:40px 20px 36px!important}
.winv p{font-size:14px!important;line-height:2.1!important;letter-spacing:.04em!important;text-wrap:balance}
.winv h2{font-size:21px!important}

/* ---- B. 写真＋文の1段（TOTONOU・オンラインショップ）：文字の左右に余白 ---- */
.nfeat:not(.pc>*) .tx{padding:24px 22px 28px!important}
.nfeat:not(.pc>*) ul.pt li{font-size:13.5px!important;padding:9px 0 9px 20px!important;line-height:1.7!important}

/* ---- C. 一覧タイル（客室・施設）：写真に文字を重ねる。押しても写真だけ拡大しない ---- */
.idx2{gap:12px!important}
.idx2 a.withimg{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;box-shadow:0 10px 24px rgba(38,66,75,.14)!important;background:var(--deep,#26424b)!important;transition:transform .35s cubic-bezier(.2,.7,.2,1)!important;-webkit-tap-highlight-color:transparent}
.idx2 a.withimg:active{transform:scale(.97)!important}
.idx2 a.withimg .rth{position:absolute!important;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;transform:none!important;transition:none!important}
.idx2 a.withimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,34,40,0) 38%,rgba(20,34,40,.55) 64%,rgba(20,34,40,.9) 100%);pointer-events:none}
.idx2 .rno{z-index:2;left:10px!important;top:10px!important;background:none!important;color:#fff!important;font-family:var(--en);font-style:italic;font-size:13px!important;letter-spacing:.12em;padding:0!important;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.idx2 .rnm{position:absolute!important;z-index:2;left:0;right:0;bottom:0;padding:0 14px 14px!important;color:#fff!important;font-size:15px!important;line-height:1.5!important;letter-spacing:.06em}
.idx2 .rnm small{color:rgba(255,255,255,.82)!important;font-size:11px!important;line-height:1.65!important;margin-top:5px!important;letter-spacing:.02em;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.idx2 .rnm::before{content:"";display:block;width:22px;height:1px;background:var(--gold);margin-bottom:8px}
.idx2 .rcap{display:none!important}

/* 一覧以外のカードの左右の余白（TOP の三つの食の空間・客室のご案内）*/
.mini2>* .cb,.mini2>* .tx{padding-left:16px!important;padding-right:16px!important}
.p-dial>.card .cb,.p-dial>.card .tx{padding-left:20px!important;padding-right:20px!important}

/* ---- D. ダイヤルのカード（三つの食の舞台・三度の食卓）を短く ---- */
.p-dial>.nfeat .im{aspect-ratio:16/9!important;min-height:0!important;height:auto!important}
.p-dial>.nfeat .tx{padding:18px 20px 20px!important}
.p-dial>.nfeat .sub-en{display:none!important}
.p-dial>.nfeat p{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:0!important}
.p-dial>.nfeat p~p{display:none!important}
.p-dial>.nfeat ul.pt{margin-top:10px!important}
.p-dial>.nfeat ul.pt li{font-size:12px!important;padding:5px 0 5px 16px!important;line-height:1.6!important}
.p-dial>.nfeat .cta-btn,.p-dial>.nfeat .tlink{margin-top:12px!important}
/* ウエディングの3つの理由（めくる）も4行まで */
.p-stack>.nfeat p{display:-webkit-box!important;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.p-stack>.nfeat p~p{display:none!important}

/* ---- E. 写真背景の帯（仕入れ・ドギーガーデン）：中身に合わせて伸ばし、文字は小さく ---- */
.band{height:auto!important;min-height:0!important;padding:72px 0 64px!important}
.band .in{position:relative!important;top:auto!important;transform:none!important}
.band h2{font-size:19px!important;line-height:1.8!important}
.band p{font-size:14px!important;line-height:2!important;letter-spacing:.03em!important;margin-top:14px!important}
.band p br{display:none}
.band .sc-btn{margin-top:22px!important;padding:13px 22px!important;font-size:12.5px!important;letter-spacing:.12em!important;max-width:100%}

/* ---- F. 表：左に見出し、右に中身（縦に積まない）---- */
.tbl{padding:24px 20px!important}
.tbl h3{font-size:17px!important;margin-bottom:6px!important}
.tbl table,.tbl tbody{display:block!important;width:100%!important}
.tbl tr{display:grid!important;grid-template-columns:5.6em minmax(0,1fr);gap:14px;padding:13px 0!important;border-bottom:1px solid rgba(143,137,125,.18)!important;align-items:baseline}
.tbl tr:last-child{border-bottom:0!important}
.tbl td,.tbl th{display:block!important;padding:0!important;border:0!important;width:auto!important;text-align:left!important}
.tbl tr>:first-child{font-size:11.5px!important;letter-spacing:.08em!important;line-height:1.7!important;color:var(--goldd,#9a7b3f)!important;font-weight:400}
.tbl tr>:last-child{font-size:13.5px!important;line-height:1.85!important;letter-spacing:.03em!important;word-break:auto-phrase}
.tbl tr>:only-child{grid-column:1/-1}
/* 中身の「／」区切りは、1件ずつ改行して見やすく（JS が .sl に分ける）*/
.tbl .sl{display:block}
.tbl .sl+.sl{margin-top:2px}

/* ---- G. 問い合わせの段：ボタンは1行、上下の余白をそろえる ---- */
.official{padding:68px 0 60px!important}
.official a.big{padding:18px 14px!important;font-size:14.5px!important;letter-spacing:.1em!important;white-space:nowrap;justify-content:center;gap:10px}
.official .cta-sub{padding-bottom:0!important}
.official .cta-sub>:last-child{margin-bottom:0!important}

/* ---- H. お知らせ一覧：日付と種別を上に、題を全幅で ---- */
.nlist .nrow{display:grid!important;grid-template-columns:auto 1fr auto;grid-template-areas:"t c a" "n n a";gap:6px 12px!important;padding:18px 2px!important;align-items:center}
.nlist .nrow time{grid-area:t;font-size:12px!important;width:auto!important}
.nlist .nrow .ncat{grid-area:c;justify-self:start;font-size:10.5px!important;padding:2px 10px!important;width:auto!important;min-width:0!important}
.nlist .nrow .nti{grid-area:n;font-size:14.5px!important;line-height:1.75!important;letter-spacing:.04em!important}
.nlist .nrow .ar{grid-area:a;align-self:center;display:block!important}
.ncats{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:8px!important;margin:0 -20px 8px!important;padding:2px 20px 10px!important;scrollbar-width:none}
.ncats::-webkit-scrollbar{display:none}
.ncats a{flex:none;white-space:nowrap;padding:8px 16px!important;border-radius:40px!important;font-size:12.5px!important}

/* ---- I. 客室の「この部屋ならでは」：ギャラリーの写真を付ける（JS が .pim を足す）---- */
.rhl.withph>.it{padding:0!important;border:0!important;border-top:0!important;overflow:hidden;background:#fff;box-shadow:0 8px 22px rgba(38,66,75,.1)}
.rhl.withph>.it .pim{position:relative;aspect-ratio:4/3!important}
.rhl.withph>.it .pim::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35))}
.rhl.withph>.it .n{position:absolute;z-index:2;left:16px;top:14px;margin:0!important;color:#fff!important;font-family:var(--en);font-style:italic;font-size:26px!important;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.rhl.withph>.it>div{padding:16px 18px 20px!important}
.rhl.withph>.it h4{font-size:16px!important;margin:0 0 6px!important;line-height:1.6!important}
.rhl.withph>.it p{font-size:13px!important;line-height:1.85!important}
.rhl.withph>.it .phc{display:block;font-family:var(--en);font-size:10.5px;letter-spacing:.14em;color:var(--stone);margin-top:10px}
}
@media (max-width:900px){
/* ---- J. お問い合わせ：TROBZ のお問い合わせに寄せる
   上：薄い面に案内（電話・フォーム・よくある質問を「見出し｜中身」の行で）
   下：白い面にフォーム。項目名は小さく、入力欄は枠つき、カーソルを入れると金の縁 ---- */
.ctinfo{background:#f5f2ec;border:1px solid #e6dfd2;padding:26px 20px 10px;margin-top:6px}
.ctinfo .ck{display:block;font-family:var(--en);font-size:12.5px;letter-spacing:.28em;color:var(--goldd,#9a7b3f)}
.ctinfo .cl{display:block;margin-top:10px;font-family:var(--serif,serif);font-size:18px;line-height:1.7;letter-spacing:.06em;color:var(--ocean)}
.ctinfo ul{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid #e3dccd}
.ctinfo li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid #e3dccd;font-size:13px;line-height:1.85;color:#4f4a40;word-break:auto-phrase}
.ctinfo li:last-child{border-bottom:0}
.ctinfo li b{font-family:var(--en);font-weight:400;font-size:11.5px;letter-spacing:.18em;color:var(--goldd,#9a7b3f);padding-top:.25em}
.ctinfo li a{color:var(--ocean);border-bottom:1px solid #d6cbb4}
.ctinfo li .big2{display:block;font-family:var(--en);font-size:22px;letter-spacing:.08em;color:var(--ocean);line-height:1.4}

.tbl:has(.anaga-form){padding:28px 20px 30px!important;border:1px solid #e6dfd2!important;background:#fff!important}
.anaga-form{gap:20px!important;font-size:14px!important}
.anaga-form>label:not(:has(input[type=checkbox])){gap:9px!important}
.anaga-form>label>span:first-child{font-size:12.5px!important;letter-spacing:.12em!important;color:#55524b!important}
.anaga-form>label>span:first-child>span{font-size:11px!important;margin-left:6px;padding:1px 7px;border:1px solid var(--gold);color:var(--goldd,#9a7b3f)!important;border-radius:2px;letter-spacing:.08em}
.anaga-form input[type=text],.anaga-form input[type=email],.anaga-form input[type=tel],.anaga-form input[type=date],.anaga-form input[type=number],.anaga-form select,.anaga-form textarea{width:100%;font-size:16px!important;padding:14px 15px!important;border:1px solid #dcd6ca!important;border-radius:2px!important;background:#fff!important;color:#333;line-height:1.6;transition:border-color .3s,box-shadow .3s;-webkit-appearance:none;appearance:none}
.anaga-form select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239a7b3f' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 15px center!important;padding-right:40px!important}
.anaga-form input:focus,.anaga-form select:focus,.anaga-form textarea:focus{outline:0;border-color:var(--gold)!important;box-shadow:0 0 0 3px rgba(180,145,79,.15)}
.anaga-form textarea{min-height:168px}
.anaga-form label:has(input[type=checkbox]){padding:14px 15px;border:1px solid #dcd6ca;border-radius:2px;font-size:14px!important;transition:border-color .3s,background .3s}
.anaga-form label:has(input[type=checkbox]:checked){border-color:var(--gold);background:#fffcf4;box-shadow:inset 0 0 0 1px var(--gold)}
.anaga-form input[type=checkbox]{width:16px;height:16px;accent-color:var(--ocean)}
.anaga-form button.cta-btn{justify-self:stretch!important;width:100%;padding:18px!important;font-size:15px!important;letter-spacing:.24em!important;border-radius:2px}
.anaga-form .err,.anaga-form [class*=err]{font-size:11.5px!important;letter-spacing:.06em!important;margin-top:-2px}
}
@media (max-width:900px){.idx2.shno .rno{display:block!important}}
@media (max-width:900px){
/* 第4版の手直し */
.tbl tr{grid-template-columns:6.4em minmax(0,1fr)!important;gap:12px!important}
.tbl tr>:first-child{letter-spacing:.04em!important}
.tbl .sl{line-height:1.7!important;padding:2px 0}
.tbl .sl small{font-size:11.5px;color:var(--stone);margin-left:6px;letter-spacing:.02em;white-space:nowrap}
.p-dial>.nfeat .tx{display:flex!important;flex-direction:column;justify-content:flex-start!important}
.p-dial>.nfeat .tx>a:last-child,.p-dial>.nfeat .tx>div:last-child{margin-top:auto!important;padding-top:12px}
.winv p{font-size:13.5px!important;word-break:auto-phrase;letter-spacing:.03em!important}
.ncats a{padding:6px 15px!important;font-size:12px!important}
.ctinfo .hr{display:block;font-size:12px;color:var(--stone);margin:2px 0 6px}
}
@media (max-width:900px){.bl{display:block;text-wrap:balance;word-break:auto-phrase}}
@media (max-width:900px){.idx2 a.withimg{aspect-ratio:4/5}}
@media (max-width:900px){
/* 合う写真がない魅力は、写真の代わりに砂色の面に大きな番号 */
.rhl.withph>.it .pim.noph{background:linear-gradient(135deg,#efe7d8,#e2d5bd)}
.rhl.withph>.it .pim.noph::after{display:none}
.rhl.withph>.it .pim.noph .n{left:50%;top:50%;transform:translate(-50%,-50%);color:var(--gold)!important;font-size:64px!important;text-shadow:none;opacity:.8}
}

/* ===== 第5版（2026-10-20 夕）：畔栁さんの追加の指摘 ===== */
/* K. TOPの「Best Rate」の丸：下の「限定特典つき」が内側の輪に重なっていた。中身を少し上へ寄せ、行の間を詰める（PC・スマホとも） */
.brate2{padding-bottom:10px}
.brate2 .e{font-size:32px;line-height:1;margin:3px 0 2px} /* 2026-10-21 髙山様ご依頼（10/19）の大きさに戻す。行の間を詰めて輪に重ならない */
.brate2 .ln{margin:3px 0 5px}
.brate2 .j{font-size:11px;letter-spacing:.06em}
@media (max-width:900px){
.brate2{width:118px!important;height:118px!important;padding-bottom:8px}
.brate2::after{inset:11px}
.brate2 .t{font-size:7.5px!important}
.brate2 .e{font-size:22px!important;margin:2px 0 1px}
.brate2 .ln{width:20px;margin:2px 0 4px}
.brate2 .j{font-size:8.5px!important;letter-spacing:.04em}
}
@media (max-width:900px){
/* L. TOP「人気のおすすめ宿泊プラン」：写真を横長に、題は2行まで、料金と予約を1行に */
.p-stack>.rank .im{aspect-ratio:2/1!important}
.p-stack>.rank .rb{padding:16px 20px 18px!important}
.p-stack>.rank .tag{margin-bottom:8px!important}
.p-stack>.rank .tag span{font-size:10px!important;padding:3px 10px!important}
.p-stack>.rank h3{-webkit-line-clamp:2;font-size:15px!important;line-height:1.6!important;margin:0 0 6px!important}
.p-stack>.rank p{line-height:1.8!important;margin:0!important}
.p-stack>.rank .pr{flex-direction:row!important;align-items:baseline!important;justify-content:space-between;flex-wrap:wrap;gap:4px 10px!important;padding-top:12px!important;border-top:1px solid var(--line,#e8e2d6);margin-top:12px!important}
.p-stack>.rank .pr .yen{font-size:20px!important;white-space:nowrap}
.p-stack>.rank .pr .yen small{font-size:10px!important}
.p-stack>.rank .pr a{font-size:11.5px!important;white-space:nowrap;margin:0!important}
/* M. TOP「客室のご案内」（回るカード）：写真を横長に、説明は3行まで、ボタンは小さく */
.p-dial>.stay-main .im{aspect-ratio:16/10!important;height:auto!important}
.p-dial>.stay-main .tx{padding:18px 20px 20px!important}
.p-dial>.stay-main h3{font-size:16px!important;margin:4px 0 6px!important}
.p-dial>.stay-main p{font-size:13.5px!important;line-height:1.85!important;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0!important}
.p-dial>.stay-main .cta-btn{margin-top:14px!important;padding:10px 20px!important;font-size:12px!important}
/* N. TOP「三つの食の空間」：写真を横長に、説明は3行まで */
.p-snap .im{aspect-ratio:16/10!important}
.p-snap>.card .cb{padding:16px 20px 18px!important}
.p-snap>.card h3{font-size:16px!important;margin:2px 0 6px!important}
.p-snap>.card p{font-size:13.5px!important;line-height:1.85!important;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 10px!important}
/* その下の2枚（食材のこだわり・旬彩便）：題や「（外部）」が変なところで折れていた。写真を左、文字を右の横長の行に */
.mini2{grid-template-columns:1fr!important;gap:10px!important}
.mini2 .card{display:grid!important;grid-template-columns:104px minmax(0,1fr);align-items:center;box-shadow:0 6px 18px rgba(38,66,75,.08)}
.mini2 .card .im{aspect-ratio:1/1!important;height:100%!important;min-height:96px}
.mini2 .card .cb{padding:12px 16px!important}
.mini2 .card h3{font-size:14.5px!important;margin:2px 0 6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini2 .card .tlink{font-size:11.5px!important;white-space:nowrap;letter-spacing:.06em!important}
/* O. ウエディングのコンセプト：最初の一文を大きく、続きは「続きを読む」で開く */
.winv h2{font-size:19px!important;line-height:1.8!important}
.winv .wrule{margin:14px auto 18px!important}
.winv p .bl:first-child{font-family:var(--serif);font-size:15.5px;color:var(--deep,#26424b);letter-spacing:.06em;margin-bottom:8px}
.winv.wcut p:first-of-type .bl:nth-child(n+4),.winv.wcut p+p{display:none!important}
.wmore{display:inline-flex;align-items:center;gap:8px;margin:14px auto 4px;padding:9px 22px;border:1px solid var(--gold);background:transparent;color:var(--goldd,#8a6d2f);font-size:12px;letter-spacing:.14em;font-family:inherit;border-radius:999px;cursor:pointer}
.wmore::after{content:"＋";font-size:12px}
.winv:not(.wcut) .wmore::after{content:"−"}
}
@media (max-width:900px){
/* P. ラウンジのティーメニュー：長い品名が右へはみ出し、料金が見えなかった。品名は折り返し、料金は右に固定 */
.mncol{padding:24px 20px!important}
.mni{font-size:14.5px!important;gap:12px;align-items:flex-start!important}
.mni>span:first-child{flex-shrink:1!important;min-width:0;line-height:1.7;word-break:auto-phrase}
.mni .pr{white-space:normal!important;text-align:right;max-width:62%;margin-left:0!important;flex:none}
.mncol p br{display:none}
/* Q. フォームの「ファイルを選択」：素のボタンのままだったので、入力欄と同じ線の形に */
input[type=file]{font-size:12.5px;color:var(--stone);max-width:100%}
input[type=file]::file-selector-button{font:inherit;font-size:12px;letter-spacing:.08em;padding:9px 16px;margin-right:12px;border:1px solid var(--gold);background:#fff;color:var(--goldd,#8a6d2f);border-radius:2px;cursor:pointer}
/* R. 長い文字のリンク（「グループランチのご案内（PDF）をダウンロード」など）は字間を詰めて1行に */
a.tlink{letter-spacing:.04em!important;font-size:12px!important}
}
@media (max-width:900px){
/* S. 客室・施設のタイル：部屋名が「TOTONOUスイー／ト」のように言葉の途中で折れていた。少し小さくし、言葉の切れ目で折る */
.idx2 .rnm{font-size:14px!important;letter-spacing:.03em!important;word-break:auto-phrase;text-wrap:balance}
.idx2 .rnm small{word-break:normal}
/* T. 写真の帯（食材のこだわり・プール・ドギーガーデン）：本文は4行までにし、続きはボタンの先で読む。見出しは言葉の切れ目で折る */
.band h2{word-break:auto-phrase;text-wrap:balance}
.band p{font-size:13.5px!important;line-height:1.95!important;display:-webkit-box!important;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
/* U. お問い合わせの帯の本文：「これから、で／大丈夫」のような折れ方を防ぐ */
.official .lead,.official .lead .bl{word-break:auto-phrase!important;text-wrap:balance}
.official .lead{font-size:14px!important}
/* V. 回るカード（レストラン・朝昼夜の食卓など）：箇条書きを出すカードだけ背が高くなり、他のカードに空きができていた。箇条書きは隠して高さをそろえる */
.p-dial>.nfeat ul.pt{display:none!important}
}
@media (max-width:900px){
.p-dial>.nfeat .tx a.tlink+a.tlink{margin-top:8px!important;padding-top:0!important;font-size:11px!important;letter-spacing:0!important;white-space:nowrap}
}
@media (max-width:900px){
/* W. 大きいボタン（TOP「公式サイト限定の特典を見る」など）の文字は1行に */
main a.big{white-space:nowrap!important;font-size:13.5px!important;letter-spacing:.08em!important;padding-left:16px!important;padding-right:16px!important;justify-content:center;text-align:center}
/* 本文の中の長いリンク（PDFのダウンロードなど）は字間を詰めて1行に */
main a.tlink{letter-spacing:.02em!important}
}
@media (max-width:900px){
/* X. 見出しの最後の1〜2文字だけが次の行に残る（「お得／に。」「ご紹／介」）のを防ぐ。全ページの見出しを言葉の切れ目で折る */
main h1,main h2,main h3{word-break:auto-phrase;text-wrap:balance}
/* Y. 生産者のカード：写真を横長に、説明は3行まで、区切り線を詰める */
.p-peek>.pcard .pim{aspect-ratio:4/3!important;height:auto!important;min-height:0!important}
.p-peek>.pcard .ptx{padding:16px 18px 18px!important}
.p-peek>.pcard h3{font-size:16px!important;margin:4px 0 2px!important}
.p-peek>.pcard .place{font-size:11.5px!important}
.p-peek>.pcard .div2{margin:10px 0!important}
.p-peek>.pcard p{font-size:13.5px!important;line-height:1.85!important;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0!important}
.p-peek>.pcard .use{margin-top:10px!important}
.p-peek>.pcard .use span{font-size:11px!important;padding:4px 12px!important}
/* 回るカードは、リンクを本文のすぐ下に置く（下に押し下げない） */
.p-dial>.nfeat .tx>a:last-child,.p-dial>.nfeat .tx>div:last-child{margin-top:12px!important}
/* Z. 縦に長い文章を短い文に差し替えた箇所（proposal.js の Z） */
.pcopy .lead9{font-size:14px!important;letter-spacing:.08em!important;margin-bottom:10px!important}
.pcopy.spshort h2{margin-bottom:14px!important}
.pcopy.spshort p:last-of-type{margin-bottom:0!important}
.pcopy.spshort{padding-bottom:28px!important}
.subhero .lead.spshort{text-wrap:balance}
/* Y. 文を変えずに「続きを読む」で開く（proposal.js の Y） */
.spcut>p.cut1{display:-webkit-box!important;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.spcut>p.cut1~p:not(.keep){display:none!important}
.wmore.open::after{content:"−"}
.bd>.wmore,.mncol>.wmore{display:flex;margin:14px auto 4px}
}
/* 2026-10-20 文字の重なりの修正：TOPの特典カード「お一人様 1,000円分」は、カードが細いので「お一人様」を上の行に置く */
@media(max-width:900px){
.bnf-big{flex-wrap:wrap;row-gap:2px}
.bnf-big small,.bnf-big b{flex-shrink:0;white-space:nowrap}
.bnf-big small:first-child{flex-basis:100%}
}
/* 小さいスマホ（380px以下）で、客室の見出しの句点が枠の外へ出ないよう字間を少し詰める */
@media(max-width:380px){.rintro h2{letter-spacing:.04em}}
