:root{--ink:#121211;--ink2:#1d1c1a;--bone:#ece7dc;--paper:#f6f2e9;--accent:#b8f317;--accent-t:#b8f317;--accent-ink:#111110;--accent-d:#4a6a00;--red:#e8291a;--red-d:#b3160b;--mute-d:#a29c8f;--mute-l:#645d51;--line-d:#34322e;--line-l:#cfc8b8}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--bone);font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:1.9}.num{font-family:Anton,Noto Sans JP,sans-serif;font-weight:400;letter-spacing:.02em;line-height:1}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}a{color:inherit}.hd{position:sticky;top:0;z-index:40;background:#121211eb;backdrop-filter:blur(8px);border-bottom:1px solid var(--line-d)}.hd .in{max-width:1040px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:24px;min-height:60px}.logo{font-weight:900;letter-spacing:.04em;text-decoration:none;font-size:17px;white-space:nowrap;color:var(--red)}.logo i{font-style:normal;color:var(--accent-t)}.nav{display:none;gap:26px;margin-left:auto;font-size:14px;font-weight:500}.nav a{color:var(--mute-d);text-decoration:none;white-space:nowrap}.nav a:hover{color:var(--bone)}.hd .go{margin-left:auto;background:var(--accent);color:var(--accent-ink);border:0;font:inherit;font-weight:900;font-size:15px;padding:0 18px;min-height:44px;cursor:pointer}.band{position:relative;padding:72px 0}.band.dark{background:var(--ink);color:var(--bone)}.band.light{background:var(--bone);color:var(--ink)}.split{display:block}.idx{display:flex;align-items:baseline;gap:12px;margin-bottom:22px}.idx .num{font-size:15px;color:var(--accent-d)}.dark .idx .num{color:var(--accent-t)}.idx h2{font-size:30px;line-height:1.3;font-weight:900;letter-spacing:.01em}p{margin-bottom:1.1em}.lead{font-size:18px;font-weight:500;line-height:1.9}.muted-d{color:var(--mute-d)}.muted-l{color:var(--mute-l)}.small{font-size:14px}.hero{position:relative;overflow:hidden;padding:56px 0 0;background:radial-gradient(120% 80% at 80% 0%,#1f2a10,#12121100 60%),var(--ink)}.hero .big13{position:absolute;right:-6vw;bottom:90px;font-family:Anton;font-size:min(78vw,560px);line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(232,41,26,.34);pointer-events:none;user-select:none}.hero .label{font-size:12px;letter-spacing:.2em;color:var(--accent-t);font-weight:700;margin-bottom:20px}.hero h1{position:relative;font-size:clamp(30px,7.4vw,66px);line-height:1.28;font-weight:900;letter-spacing:.005em}.hero h1 span{display:block}.hero h1 em{font-style:normal;color:var(--accent-t)}.hero .sub{position:relative;margin-top:26px;max-width:30em;color:var(--mute-d)}.hero .acts{position:relative;margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:var(--accent-ink);text-decoration:none;border:0;font:inherit;font-weight:900;font-size:17px;padding:0 28px;min-height:56px;cursor:pointer;transition:transform .15s,background .15s}.btn:hover{background:#cffd4a;transform:translateY(-1px)}.btn[disabled]{opacity:.35;cursor:default;transform:none}.btn.full{width:100%}.btn.ghost{background:transparent;border:1px solid var(--mute-d);color:var(--bone)}.strip{position:relative;margin-top:48px;border-top:1px solid var(--line-d);display:grid;grid-template-columns:1fr 1fr}.strip>div{padding:18px 16px 22px 0}.strip>div+div{padding-left:16px;border-left:1px solid var(--line-d)}.strip .k{font-size:12px;letter-spacing:.14em;color:var(--mute-d);font-weight:700}.strip .d{font-size:44px;margin:6px 0 2px;color:var(--bone)}.strip .d small{font-family:Noto Sans JP;font-size:14px;color:var(--mute-d);margin-left:6px;font-weight:700}.strip .s{font-size:14px;font-weight:700}.strip .s.ok{color:var(--accent-t)}.strip .s.full{color:var(--mute-d)}.photoband{height:240px;background:linear-gradient(135deg,#2b2926,#1d1c1a);display:flex;align-items:center;justify-content:center;color:var(--mute-d);font-size:13px;letter-spacing:.1em;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}dl.spec{display:grid;grid-template-columns:7em 1fr}dl.spec dt,dl.spec dd{padding:14px 0;border-top:1px solid var(--line-d)}dl.spec dt{font-size:13px;color:var(--mute-d);font-weight:700;padding-top:16px}dl.spec dd b{color:var(--accent-t)}.light dl.spec dt,.light dl.spec dd{border-color:var(--line-l)}.light dl.spec dt{color:var(--mute-l)}.prow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;border-top:1px solid var(--line-l)}.prow:last-of-type{border-bottom:1px solid var(--line-l)}.prow .t{font-weight:700}.prow .t small{display:block;font-weight:400;color:var(--mute-l);font-size:13px}.prow .num{font-size:34px;white-space:nowrap}.prow .num small{font-family:Noto Sans JP;font-size:14px;font-weight:700;margin-left:2px}.dark .prow,.dark .prow:last-of-type{border-color:var(--line-d)}.dark .prow .t small,.dark .muted-l{color:var(--mute-d)}.band.dark+.band.dark{border-top:1px solid var(--line-d)}.vcols{display:grid;gap:32px}.vcol h3{font-size:12px;letter-spacing:.14em;font-weight:700;margin-bottom:6px;color:var(--accent-t)}.vcol.ng h3{color:var(--mute-d)}.vcol ul{list-style:none}.vcol li{padding:16px 0;border-top:1px solid var(--line-d)}.vcol li b{display:block;font-size:20px;font-weight:900;line-height:1.5}.vcol.ng li b{color:var(--mute-d);text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--red)}.vcol li span{font-size:14px;color:var(--mute-d)}.callout{margin-top:30px;border-left:4px solid var(--accent);padding:6px 0 6px 18px;color:var(--bone)}.flow{list-style:none;display:grid;gap:0}.flow li{display:grid;grid-template-columns:56px 1fr;gap:6px;padding:20px 0;border-top:1px solid var(--line-d)}.flow li .num{font-size:32px;color:var(--accent-t)}.flow li b{display:block;font-size:18px;font-weight:900}.flow li span{color:var(--mute-d);font-size:14px}footer{background:var(--ink);padding:44px 0 120px;border-top:1px solid var(--line-d);color:var(--mute-d);font-size:13px}footer .logo{display:block;margin-bottom:10px;color:var(--bone)}.cta{position:sticky;bottom:0;z-index:30;padding:12px 20px;background:linear-gradient(180deg,rgba(18,18,17,0),var(--ink) 40%)}.cta .btn{width:100%}#booking{display:none;background:var(--paper);color:var(--ink);min-height:100vh}#booking.show{display:block}.back{background:none;border:0;color:var(--mute-l);font:inherit;font-size:14px;min-height:44px;padding:0;cursor:pointer}.prog{display:flex;gap:6px;margin:4px 0 24px}.prog div{flex:1;height:5px;background:var(--line-l)}.prog div.on{background:var(--accent)}.kicker{font-family:Anton;font-size:15px;color:var(--accent-d);letter-spacing:.06em}.pane{display:none}.pane.on{display:block}.pane h2{font-size:28px;font-weight:900;line-height:1.3;margin:4px 0 14px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;margin-bottom:8px}.cal .w{font-size:12px;color:var(--mute-l);padding:4px 0;font-weight:700}.cal .c{min-height:46px;display:flex;align-items:center;justify-content:center;font-family:Anton;font-size:17px;color:#b9b2a3}.cal button.c{border:0;background:var(--ink);color:var(--bone);cursor:pointer}.cal button.c.closed{background:transparent;border:1px dashed var(--line-l);color:var(--mute-l)}.cal button.c.sel{background:var(--accent);color:var(--accent-ink)}.legend{font-size:13px;color:var(--mute-l);margin-bottom:12px}.slot{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;background:#fff;border:2px solid var(--line-l);padding:14px 16px;margin-top:10px;font:inherit;color:var(--ink);text-align:left;min-height:68px;cursor:pointer}.slot.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#f1fcc4}.slot[disabled]{color:var(--mute-l);cursor:default;background:transparent;border-style:dashed}.slot b{font-size:18px;font-weight:900}.slot .st{font-size:14px;font-weight:700;white-space:nowrap;flex:none}.slot:not([disabled]) .st{color:var(--accent-d)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line-l)}.row .l b{display:block;font-weight:700}.row .l span{font-size:13px;color:var(--mute-l)}.ctl{display:flex;align-items:center;gap:6px}.ctl button{width:50px;height:50px;border:0;background:var(--ink);color:var(--bone);font-size:22px;cursor:pointer}.ctl button:active{background:var(--accent);color:var(--accent-ink)}.ctl output{min-width:42px;text-align:center;font-family:Anton;font-size:24px}.grp{font-weight:900;font-size:17px;margin:28px 0 4px;display:flex;justify-content:space-between;align-items:baseline}.grp small{font-weight:400;color:var(--mute-l);font-size:13px}label.f{display:block;font-size:13px;color:var(--mute-l);font-weight:700;margin:16px 0 4px}input.t{width:100%;font:inherit;font-size:16px;padding:12px;border:2px solid var(--line-l);background:#fff;min-height:50px;border-radius:0}input.t:focus{outline:none;border-color:var(--ink)}.chk{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line-l);font-size:15px;line-height:1.7;cursor:pointer}.chk input{flex:none;width:24px;height:24px;margin-top:3px;accent-color:var(--accent)}.chk small{display:block;color:var(--mute-l);font-size:13px}.sum{width:100%;border-collapse:collapse}.sum th,.sum td{padding:10px 0;border-top:1px solid var(--line-l);text-align:left;font-weight:400;font-size:15px}.sum td{text-align:right}.price{position:fixed;left:0;right:0;bottom:0;background:var(--ink);color:var(--bone);padding:10px 20px 14px;z-index:35;display:none;box-shadow:0 -8px 28px #00000059}.price.on{display:block}.price .in{max-width:640px;margin:0 auto}.price .top{display:flex;justify-content:space-between;align-items:flex-end;cursor:pointer}.price .top small{display:block;color:var(--mute-d);font-size:12px;line-height:1.5}.price .total{font-family:Anton;font-size:34px;line-height:1;color:var(--bone)}.price .total span{font-family:Noto Sans JP;font-size:14px;font-weight:700;margin-left:3px}.price .detail{display:none;margin:10px 0 4px;font-size:14px;color:var(--mute-d)}.price .detail.on{display:block}.price .detail div{display:flex;justify-content:space-between;padding:3px 0}.price .btn{margin-top:10px}#pad{height:210px}@media(min-width:900px){.hd .in{max-width:1200px;gap:16px}.hd .logo{font-size:15px}.nav{display:flex;gap:14px;font-size:13px}.hd .go{margin-left:24px}.band{padding:112px 0}.split{display:grid;grid-template-columns:280px 1fr;gap:72px;align-items:start}.split .idx{position:sticky;top:100px;flex-direction:column;gap:6px}.split .idx h2{font-size:34px}.hero{padding-top:110px}.hero .big13{right:-2vw;bottom:70px}.strip{max-width:640px}.strip .d{font-size:56px}.photoband{height:380px}.vcols{grid-template-columns:1fr 1fr;gap:56px}.flow{grid-template-columns:repeat(2,1fr);column-gap:56px}.cta{display:none}footer{padding-bottom:56px}#booking.show{padding-bottom:80px}#booking .bk{display:grid;grid-template-columns:minmax(0,620px) 320px;gap:72px;align-items:start}.pane{grid-column:1}.price{position:sticky;inset:84px auto auto;grid-column:2;grid-row:1;padding:22px;box-shadow:none}.price .in{max-width:none}.price .detail{display:block}.price .top{cursor:default}.price .top small.tap,#pad{display:none}}a.btn{text-decoration:none}.hd a.go{display:inline-flex;align-items:center;text-decoration:none}.errmsg{color:var(--red-d);font-size:13px;margin-top:4px}.alert{border-left:4px solid var(--red);background:#fbeaea;color:#4a1612;padding:12px 14px;margin:16px 0;font-size:15px}.notice{border-left:4px solid var(--accent-d);background:#fff;padding:12px 14px;margin:16px 0;font-size:15px}.skeleton{color:var(--mute-l)}.done h2{font-size:28px}.done dl{display:grid;grid-template-columns:7em 1fr;margin:16px 0}.done dt,.done dd{padding:10px 0;border-top:1px solid var(--line-l)}.done dt{font-size:13px;color:var(--mute-l);font-weight:700;padding-top:12px}.rid{font-family:ui-monospace,Menlo,monospace;font-size:14px;word-break:break-all}.page{background:var(--paper);color:var(--ink);min-height:70vh}.page .wrap{padding-top:40px;padding-bottom:80px}.page h1{font-size:30px;font-weight:900;line-height:1.3;margin-bottom:16px}.hd a.logo{color:var(--red)}.cal button.c.none{border:0;background:transparent;color:#b9b2a3;cursor:default}body{word-break:auto-phrase;line-break:strict}h1,h2,h3,.lead,p,.row .l span,.chk small,.vcol li span,.flow li span,dd{text-wrap:pretty}.hero h1{font-size:clamp(26px,6.6vw,56px)}.hero h1 span{text-wrap:balance}.rid{word-break:break-all}.legal{margin-top:36px;scroll-margin-top:84px}.legal h2{font-size:20px;font-weight:900;margin-bottom:12px}.legal h3{font-size:16px;font-weight:900;margin:20px 0 8px}.legal ol,.legal ul{margin:0;padding:0;list-style:none}.legal li{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-l);line-height:1.8}.legal ul li:before{content:"・";flex:none}.legal .no{flex:none;min-width:2.6em;font-weight:900;color:var(--accent-d)}.legal ul.plain li:before{content:none}.tbl{margin:24px 0 0;border-top:1px solid var(--line-l)}.tbl .row{display:grid;grid-template-columns:11em 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-l);line-height:1.8}.tbl dt{font-weight:900}.tbl dd{margin:0}@media(max-width:640px){.tbl .row{grid-template-columns:1fr;gap:2px}}textarea.t,select.t{width:100%;font:inherit;font-size:16px;padding:12px;border:2px solid var(--line-l);background:#fff;border-radius:0}textarea.t:focus,select.t:focus{outline:none;border-color:var(--ink)}textarea.t{resize:vertical;min-height:160px}.page small{color:var(--mute-l)}@media(min-width:1180px){.hd .logo{font-size:17px}.nav{gap:22px;font-size:14px}}@media(min-width:900px)and (max-width:959px){.nav{display:none}.hd .go{margin-left:auto}}footer .logo .mark{display:block;width:160px;height:160px;margin-bottom:6px}.photoband{padding:0;overflow:hidden}.photoband img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}.mapbox{margin-bottom:20px}.mapbox iframe{display:block;width:100%;height:320px;border:0;background:#2b2926}.mapph{height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center;background:#2b2926;color:var(--mute-d);font-size:14px;line-height:1.7}.mapbox a{color:var(--ink);text-decoration:underline;font-weight:700}@media(min-width:900px){.mapbox iframe,.mapph{height:380px}}.hd .go{flex:none;white-space:nowrap}@media(max-width:480px){.hd .in{padding:0 16px;gap:10px}.hd .logo,.hd a.logo{font-size:clamp(12px,4.2vw,17px);letter-spacing:.02em}.hd .go{padding:0 14px;font-size:14px}}
