*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:'Zen Kaku Gothic New','Hiragino Sans','Noto Sans JP',sans-serif;color:#3B2A20;background:#FBF4E8;line-height:1.7;font-size:15px;-webkit-text-size-adjust:100%}
h1,h2,h3,.disp{font-family:'Zen Maru Gothic','Zen Kaku Gothic New',sans-serif;margin:0;color:#3B2A20;line-height:1.4}
p{margin:0}
a{color:#A8431A}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.sec{padding-top:24px;padding-bottom:12px}
.pb{padding-bottom:120px}
.mt{margin-top:14px}.mt2{margin-top:22px}
.muted{color:#6F5C4E;font-size:13.5px}
.small{font-size:13px}
.bold{font-weight:700}
.brk{word-break:break-all}
.center{margin-top:28px;text-align:center}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gap6{gap:6px}
.h1{font-size:34px;font-weight:900;margin-top:4px}
.h2{font-size:21px;font-weight:700}
.h3{font-size:19px;font-weight:700}
.kicker{font-weight:700;color:#A8431A;font-size:14px;letter-spacing:.06em}
.card{background:#FFFDF8;border:1.5px solid #E6D7C3;border-radius:22px}
.sc{padding:22px 24px}
.fl{font-weight:700;font-size:14px;margin-bottom:8px}
.fl.nm{margin:0}
.fl.sub{margin:18px 0 0;padding-top:14px;border-top:2px solid #EFE2CF;font-size:16px}
.pad{padding:12px 0}

/* ヘッダー・フッター */
.hd{background:#FFFDF8;border-bottom:1.5px solid #E6D7C3}
.hdin{padding-top:10px;padding-bottom:10px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.logot{display:flex;flex-direction:column;line-height:1.2}
.logoh{font-size:clamp(20px,5.6vw,26px);font-weight:900;white-space:nowrap}
.ft{background:#3B2A20;color:#E9D8C2;margin-top:48px;padding:28px 0;font-size:13px}
.ft .wrap{display:flex;flex-direction:column;gap:6px}
.ftn{font-size:20px;font-weight:900;color:#FFF8EC!important}

/* 色で示す状態 */
.b{display:inline-flex;align-items:center;padding:2px 12px;border-radius:999px;font-size:12.5px;font-weight:700;line-height:1.6;border:1.5px solid;white-space:nowrap}
.st-ok{background:#E3F0DB;color:#285222;border-color:#8DBB7E}
.st-cond{background:#FFEFC2;color:#6E4700;border-color:#E2B53F}
.st-unk{background:#FFFDF8;color:#6B5A4D;border-color:#A8978A}
.st-no{background:#EDE6DE;color:#5A4A3F;border-color:#BBAA9B}
.st-conf{background:#F8DDD6;color:#7F2616;border-color:#D58878}
.dot{flex:none;width:18px;height:18px;border-radius:50%;margin-top:4px;border:2px solid}
.dot.st-ok{background:#5FA350;border-color:#3F7F33}
.dot.st-cond{background:#F2B92B;border-color:#C98F0C}
.dot.st-no{background:#BBAA9B;border-color:#8E7E70}
.dot.st-conf{background:#D9695A;border-color:#B04030}
.dot.st-unk{background:#fff;border-color:#A8978A}

/* ボタン・リンク */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:14px;font-weight:700;text-decoration:none;border:2px solid #BF4E1E;background:#BF4E1E;color:#fff;font-size:15px}
.btn:hover{background:#A8431A;border-color:#A8431A}
.prtag{font-size:11px;font-weight:700;padding:0 7px;border-radius:6px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.2)}
.prtag.dark{margin-left:6px;border-color:#6F5C4E;background:transparent;color:#6F5C4E}
.qtag{font-size:11px;font-weight:700;padding:0 7px;border-radius:6px;border:1px solid #A8978A;color:#6F5C4E;margin-left:6px}
.qtag.w{color:#fff;border-color:#fff}
.qlink{font-weight:700;font-size:14px;display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.back{display:inline-flex;align-items:center;min-height:44px;padding:6px 16px;border-radius:999px;border:1.5px solid #D8C7B2;background:#FFFDF8;font-weight:700;text-decoration:none}
.crumb{font-size:13px;margin-bottom:14px;color:#6F5C4E}
.namelink{color:inherit;text-decoration:none}
.namelink:hover{text-decoration:underline}

/* トップ */
.herobg{display:flex;align-items:center;height:420px;padding:28px 0;background:#FEF9F3 url(assets/hero.jpg) right center/auto 100% no-repeat}
.herocopy{display:inline-block;max-width:calc(100vw - 640px);padding:8px 0}
.herocopy h1{font-size:clamp(26px,3.2vw,46px);font-weight:900;margin-top:10px;line-height:1.35}
.lead2{font-size:clamp(18px,4.2vw,22px);font-weight:700;color:#A8431A!important;max-width:600px;margin-bottom:12px}
.feat{display:flex;gap:14px;overflow-x:auto;padding:12px 2px 10px}
.fcard{flex:0 0 260px;text-decoration:none;color:inherit;border:1.5px solid #E6D7C3;border-radius:20px;background:#FFFDF8;overflow:hidden;display:flex;flex-direction:column}
.fcard:hover{border-color:#BF4E1E}
.fimg{display:block;height:96px}
.fbody{display:flex;flex-direction:column;gap:2px;padding:12px 14px 14px}
.ftitle{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:16px;line-height:1.4}
.fcount{font-weight:700;color:#A8431A;font-size:13.5px;margin-top:2px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:20px;margin-top:14px}
.hcard{overflow:hidden;display:flex;flex-direction:column}
.hbody{padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px;flex:1}
.cta{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:10px}
.photo{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:12px;height:170px;text-decoration:none}
.photo.big{height:250px;border-radius:22px;margin-bottom:20px}
.ph-tag{background:rgba(255,253,248,.93);color:#3B2A20;border-radius:999px;padding:2px 12px;font-size:12.5px;font-weight:700}
.ph-credit{background:rgba(59,42,32,.8);color:#FFF8EC;border-radius:8px;padding:2px 9px;font-size:12.5px}
.matchbox{background:#FFF6E6;border:1.5px solid #E2B53F;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.roomline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.warn{color:#6E4700}
.legend{padding:14px 18px;margin-top:22px}

/* 詳細 */
.cols{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;margin-top:22px}
.colmain{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px}
.bk{flex:1 1 300px;max-width:380px;position:sticky;top:16px;align-self:flex-start;padding:22px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:16px}
.tile{background:#FBF4E8;border-radius:16px;padding:14px 16px}
.tline{display:flex;gap:10px;align-items:flex-start}
.nrow{display:flex;flex-wrap:wrap;gap:6px 18px;padding:12px 0;border-top:1px solid #EFE2CF;align-items:flex-start}
.nl{flex:0 0 190px;font-weight:700}
.nt{flex:1 1 260px;min-width:0}
.indent{margin:6px 0 0 28px}
.scopetag{font-size:12px;font-weight:700;padding:1px 9px;border-radius:6px;border:1px solid #A8978A;color:#6F5C4E;background:#FFFDF8}
.tri{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.trib{justify-content:space-between;width:100%}
.alert{background:#FFEFC2;border:1.5px solid #E2B53F;border-radius:14px;padding:10px 12px;margin-top:12px;color:#6E4700;font-size:14px;font-weight:700}
.conflict{border-color:#D58878}
.conf{background:#FDF1EE;border-radius:16px;padding:14px 16px;margin-top:12px}
.cols2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:10px}
.rtable{overflow-x:auto;margin-top:12px}
.rg{display:grid;grid-template-columns:minmax(220px,1.9fr) repeat(8,minmax(84px,1fr)) minmax(150px,1.3fr);min-width:1220px;align-items:center;border-top:1px solid #EFE2CF}
.rg.head{border-top:0;font-weight:700;font-size:13px;color:#6F5C4E}
.rc{padding:10px 6px}
.chk{display:inline-block;padding:4px 12px;border-radius:10px;background:#F3EADC;font-size:14px;font-weight:500}
.btable{display:grid;grid-template-columns:140px 1fr;margin-top:12px}
.bth,.btd{padding:10px 0;border-top:1px solid #EFE2CF}
.bth{font-weight:700}
.bookbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:center;padding:8px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,253,248,.97);border-top:1.5px solid #E6D7C3;box-shadow:0 -6px 18px rgba(59,42,32,.10)}
.barin{width:100%;max-width:720px}
.bbl{font-size:13px;font-weight:700;text-align:center;margin-bottom:6px}
.bbrow{display:flex;gap:8px}
.bbtn{flex:1;display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:999px;background:#3B8434;color:#fff;font-weight:900;font-size:15px;text-decoration:none;border:2.5px solid #fff;box-shadow:0 3px 0 rgba(0,0,0,.18)}
.bbtn:hover{background:#469A3E}

@media (max-width:999px){.herobg{height:auto;align-items:flex-end;min-height:300px;background-size:cover}.herocopy{max-width:640px;background:rgba(255,253,248,.9);border-radius:18px;padding:14px 18px}.bk{position:static;max-width:none}}
@media (max-width:760px){.nl{flex-basis:100%}.h1{font-size:26px}.btable{grid-template-columns:100px 1fr}}

.ftnav{display:flex;flex-wrap:wrap;gap:6px 18px}.ftnav a{color:#F7EBDA;min-height:32px;display:inline-flex;align-items:center}
.doc .list{margin:12px 0 0;padding-left:1.4em}.doc .list li{margin-bottom:6px}
