
@font-face{font-family:"FrauncesV";src:url(assets/experience-site/fonts/fraunces-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"NunitoV";src:url(assets/experience-site/fonts/nunito-latin-wght-normal.woff2) format("woff2");font-weight:200 1000;font-display:swap}
@font-face{font-family:"CaveatV";src:url(assets/experience-site/fonts/caveat-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"NunitoV",system-ui,sans-serif}
/* ===== shared reset inside the site ===== */
.page{min-height:100%;-webkit-font-smoothing:antialiased}
.page :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote){margin:0}
.page :where(ul,ol){padding:0;list-style:none}
.page a{color:inherit;text-decoration:none;cursor:pointer}
.page button{font:inherit;color:inherit;cursor:pointer}
.page img,.page video{display:block;max-width:100%}
.ico{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;overflow:visible}

/* =========================================================
   改善版（白基調・写真と人が主役・手描きのアクセント）
   ========================================================= */
.v-imp{--bg:#fff;--soft:#f5f5f2;--ink:#1c1c1a;--ink2:#4b4b47;--muted:#6c6c67;--line:#e8e8e4;--line2:#d4d4cf;--moss:#355e1f;--leaf:#b2d67c;--leaf-h:#a3c86b;--leaf-pale:#eef5e3;background:var(--bg);color:var(--ink);font:16.5px/1.6 "NunitoV",system-ui,sans-serif}
.v-imp [hidden]{display:none!important}
.v-imp :where(h1,h2,h3){font-family:"FrauncesV",Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.015em;text-wrap:balance}
.i-wrap{max-width:1200px;margin-inline:auto;padding-inline:20px}
.hand{font-family:"CaveatV",cursive;font-weight:600;color:var(--moss);letter-spacing:0;line-height:1}
.squig{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6c12-4 22-4 34 0s22 4 34 0 22-4 34 0 10 2 14 1' fill='none' stroke='%23b2d67c' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E") left 100%/100% .28em no-repeat;padding-bottom:.1em}
.i-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;background:var(--leaf);color:var(--ink)!important;font-weight:800;font-size:16px;border:0;white-space:nowrap}
.i-btn:hover{background:var(--leaf-h)}
.i-btn.line{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink)}
.i-btn.line:hover{background:var(--soft)}
.i-btn.wide{width:100%}
.i-link{font-weight:800;text-decoration:underline!important;text-decoration-color:var(--leaf)!important;text-decoration-thickness:3px!important;text-underline-offset:5px}
.i-sec{padding-top:72px}
.i-sh{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:28px}
.i-sh .hand{display:block;font-size:26px;margin-bottom:6px}
.i-sh h2{font-size:32px}
.i-sh.c{justify-content:center;text-align:center}
.i-pv{background:var(--ink);color:rgba(255,255,255,.86);font-size:13px;text-align:center;padding:7px 16px;line-height:1.4}
.i-pv b{color:#fff}
/* header */
.i-head{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.i-head-in{display:flex;align-items:center;gap:6px;height:64px}
.i-logo{font-family:"FrauncesV",serif;font-size:20px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:baseline;gap:5px}
.i-logo span{font-weight:400;color:var(--ink2)}
.i-nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.i-nav a{padding:8px 10px;border-radius:999px;font-weight:700;font-size:15px}
.i-nav a:hover{background:var(--soft)}
.i-nav .hide-m{display:none}
.i-lang{border:1px solid var(--line2);border-radius:999px;padding:5px 11px;font-size:13px;font-weight:800;white-space:nowrap}
/* hero */
.i-hero{position:relative}
.i-hero-media{position:relative;height:560px;overflow:hidden;background:#222}
.i-hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% 45%}
.i-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 32%,rgba(0,0,0,.64) 100%)}
.i-hero-copy{position:absolute;left:0;right:0;bottom:64px;z-index:2;color:#fff}
.i-hero h1{font-size:42px;line-height:1.02;max-width:12ch;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.i-hero h1 .hand{color:var(--leaf);font-size:1.22em;display:inline-block;transform:rotate(-3deg)}
.i-hero-copy p{margin-top:14px;font-size:17px;max-width:30rem;color:rgba(255,255,255,.92)}
.i-hero .i-rstamp{position:absolute;right:16px;top:18px;width:96px;height:96px;color:#fff;opacity:.92;transform:rotate(-12deg);z-index:2}
.i-finder{position:relative;z-index:3;margin:-36px 16px 0;background:#fff;border-radius:22px;box-shadow:0 10px 30px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.06);padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.f-cell{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;text-align:left;background:transparent;border:0}
.f-cell:hover{background:var(--soft)}
.f-cell .ico{width:30px;height:30px;stroke-width:1.6}
.f-cell small{display:block;font-size:12px;font-weight:800;color:var(--muted)}
.f-cell span{font-size:15px;font-weight:700;line-height:1.25}
.i-finder .i-btn{grid-column:1/-1}
/* themes */
.i-themes{display:flex;gap:2px;overflow-x:auto;padding:36px 12px 0;scrollbar-width:none}
.i-themes::-webkit-scrollbar,.i-cards::-webkit-scrollbar,.i-strips::-webkit-scrollbar,.i-posts::-webkit-scrollbar,.i-days::-webkit-scrollbar,.i-galm .track::-webkit-scrollbar{display:none}
.i-theme{flex:0 0 auto;width:92px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 4px;border-radius:18px;font-size:14px;font-weight:700;color:var(--ink2);text-align:center;line-height:1.25}
.i-theme .ico{width:46px;height:46px;stroke-width:1.5;color:var(--ink)}
.i-theme:hover{background:var(--soft)}
/* cards */
.i-cards{display:grid;grid-auto-flow:column;grid-auto-columns:80%;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 30px;margin-inline:-20px;scrollbar-width:none}
.i-cards>*{scroll-snap-align:center}
.i-cards.list{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;margin:0;padding:0 0 8px;gap:40px}
.i-card{position:relative;min-width:0}
.i-cphoto{position:relative;display:block;aspect-ratio:4/5}
.i-cards.list .i-cphoto{aspect-ratio:4/3}
.i-cphoto .cov{width:100%;height:100%;object-fit:cover;border-radius:22px}
.i-chip{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.95);border-radius:999px;padding:4px 11px;font-size:13px;font-weight:800}
.i-face{position:absolute;right:14px;bottom:-24px;width:64px;height:64px;border-radius:18px;border:3px solid #fff;object-fit:cover;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.i-cb{padding-top:12px}
.i-with{font-size:14px;font-weight:700;color:var(--muted);padding-right:84px;min-height:22px}
.i-card h3{font-size:22px;font-weight:450;line-height:1.18;margin-top:4px}
.i-card h3 a{background-image:linear-gradient(var(--leaf),var(--leaf));background-size:0 3px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .25s}
.i-card:hover h3 a{background-size:100% 3px}
.i-clead{margin-top:8px;font-size:15px;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.i-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:14px;color:var(--ink2);font-weight:700}
.i-meta li{display:flex;align-items:center;gap:6px}
.i-meta .ico{width:22px;height:22px;stroke-width:1.6}
.i-dates{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px}
.i-dates .lbl{font-size:13px;font-weight:800;color:var(--muted);margin-right:2px}
.i-dates span:not(.lbl){border:1px solid var(--line2);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}
.i-on{margin-top:12px;display:inline-flex;align-items:center;gap:6px;background:var(--leaf-pale);color:var(--moss);border-radius:999px;padding:4px 12px 4px 8px;font-size:14px;font-weight:800}
.i-on .ico{width:20px;height:20px}
.i-price{margin-top:12px;font-size:15px;color:var(--ink2)}
.i-price b{font-size:19px;font-weight:800;color:var(--ink)}
.i-invite-box{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:28px;border-radius:22px;border:1.5px dashed var(--line2);background:var(--soft)}
.i-invite-box .ico{width:56px;height:56px;stroke-width:1.4}
.i-invite-box .hand{font-size:34px}
.i-invite-box p{color:var(--ink2);font-size:15px}
/* feature */
.i-feature{display:grid;gap:28px;align-items:center}
.i-feature .hand{font-size:26px}
.i-feature h2{font-size:32px;margin-top:8px}
.i-feature p{margin-top:14px;color:var(--ink2);max-width:30rem}
.i-feature .i-btn{margin-top:22px}
.i-mosaic{display:grid;grid-template-columns:1fr 1fr 1.3fr;grid-template-rows:1fr 1fr;gap:4px;height:320px;border-radius:22px;overflow:hidden}
.i-mosaic img{width:100%;height:100%;object-fit:cover;min-height:0}
.i-mosaic .tall{grid-column:3;grid-row:1/3}
/* strips */
.i-sbanner{position:relative;height:340px;overflow:hidden;background:#222}
.i-sbanner video{width:100%;height:100%;object-fit:cover}
.i-sbanner::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.36)}
.i-sbanner h2{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;font-size:34px;padding:0 24px 90px}
.i-sbanner h2 .hand{color:var(--leaf);font-size:.86em;display:block;margin-top:8px}
.i-strips{position:relative;z-index:2;display:grid;grid-auto-flow:column;grid-auto-columns:46%;gap:10px;overflow-x:auto;padding:0 20px;margin-top:-110px;scrollbar-width:none;scroll-snap-type:x mandatory}
.i-strip{position:relative;display:block;aspect-ratio:1/2;border-radius:20px;overflow:hidden;background:#333;scroll-snap-align:start;color:#fff}
.i-strip video{width:100%;height:100%;object-fit:cover}
.i-strip::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.62))}
.i-strip span{position:absolute;left:16px;right:12px;bottom:16px;z-index:1;color:#fff}
.i-strip .hand{display:block;color:#fff;font-size:38px}
.i-strip small{display:block;font-size:13px;font-weight:700;opacity:.92;margin-top:2px}
/* postage stamp crop */
.i-postage{--r:7px;position:relative;aspect-ratio:4/5;filter:drop-shadow(0 14px 28px rgba(0,0,0,.14))}
.i-paper{position:absolute;inset:0;background:#fff;padding:var(--pad,14px);
  -webkit-mask:radial-gradient(var(--r),#0000 98%,#000) round calc(-1.5*var(--r)) calc(-1.5*var(--r))/calc(3*var(--r)) calc(3*var(--r)),linear-gradient(#000 0 0) no-repeat 50%/calc(100% - 3*var(--r)) calc(100% - 3*var(--r));
          mask:radial-gradient(var(--r),#0000 98%,#000) round calc(-1.5*var(--r)) calc(-1.5*var(--r))/calc(3*var(--r)) calc(3*var(--r)),linear-gradient(#000 0 0) no-repeat 50%/calc(100% - 3*var(--r)) calc(100% - 3*var(--r))}
.i-paper video,.i-paper img{width:100%;height:100%;object-fit:cover}
.i-rstamp{display:block}
.i-postage .i-rstamp{position:absolute;left:-24px;bottom:-30px;width:124px;height:124px;color:var(--moss);transform:rotate(-14deg)}
/* host feature */
.i-softband{background:var(--soft);margin-top:72px;padding:64px 0 76px}
.i-hostfeat{display:grid;gap:44px;align-items:center}
.i-hostfeat .i-postage{width:min(100%,380px);justify-self:center}
.i-hosttext .hand.name{font-size:56px;display:block}
.i-hosttext .role{margin-top:8px;font-weight:800;color:var(--ink2)}
.i-hosttext .story{margin-top:14px;color:var(--ink2);max-width:30rem}
.i-hosttext .i-btn{margin-top:24px}
.i-faces{display:flex;gap:10px;margin-top:28px;align-items:center}
.i-faces img{width:46px;height:46px;border-radius:50%;object-fit:cover;opacity:.5;border:3px solid transparent}
.i-faces img.on{opacity:1;border-color:var(--leaf)}
/* numbers */
.i-nums{display:grid;grid-template-columns:1fr 1fr;gap:44px 12px;text-align:center}
.i-num b{display:block;font-family:"FrauncesV",serif;font-weight:300;font-size:62px;line-height:1;letter-spacing:-.03em}
.i-num .hand{display:block;font-size:30px;margin-top:2px}
.i-num p{margin:8px auto 0;font-size:14px;color:var(--muted);max-width:15rem}
/* steps */
.i-steps{display:grid;gap:12px}
.i-step{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:22px;background:var(--soft)}
.i-step .ico{width:46px;height:46px;stroke-width:1.5}
.i-step b{display:block;font-size:17px}
.i-step p{margin-top:2px;font-size:15px;color:var(--ink2)}
.i-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin-top:18px;text-align:center}
.i-note .hand{font-size:25px}
.i-note svg{width:60px;height:34px;color:var(--moss)}
/* postcards */
.i-posts{display:flex;gap:18px;overflow-x:auto;padding:16px 20px 28px;scrollbar-width:none}
.i-post{flex:0 0 auto;width:160px;transform:rotate(var(--rot,0deg))}
.i-post .i-postage{--r:5px;--pad:9px;aspect-ratio:3/4;filter:drop-shadow(0 8px 16px rgba(0,0,0,.12))}
.i-post p{margin-top:12px;text-align:center;font-family:"CaveatV",cursive;font-weight:600;font-size:24px;line-height:1.1}
/* host band */
.i-hband{display:grid;gap:28px;align-items:center;background:var(--soft);border-radius:28px;padding:32px 24px;overflow:hidden}
.i-hband h2{font-size:30px}
.i-hband p{margin-top:12px;color:var(--ink2)}
.i-hband .i-btn{margin-top:22px}
.i-arch{width:min(100%,260px);aspect-ratio:3/4;border-radius:999px 999px 26px 26px;overflow:hidden;justify-self:center;background:#ddd}
.i-arch video,.i-arch img{width:100%;height:100%;object-fit:cover}
/* footer */
.i-foot{margin-top:96px;border-top:1px solid var(--line)}
.i-foot-in{display:grid;gap:28px;padding-block:44px 56px}
.i-foot .logo{font-family:"FrauncesV",serif;font-size:20px;font-weight:600}
.i-foot p{margin-top:8px;font-size:14px;color:var(--muted);max-width:26rem}
.i-foot ul{display:grid;gap:8px;font-size:14px;font-weight:700}
.i-foot .i-rstamp{width:104px;height:104px;color:var(--moss);transform:rotate(10deg)}
/* list */
.i-lhead{padding-top:36px}
.i-lhead .hand{font-size:26px}
.i-lhead h1{font-size:40px;margin-top:6px}
.i-lhead .sub{margin-top:10px;color:var(--muted);font-size:15px}
.i-filter{position:sticky;top:64px;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);margin-top:22px}
.i-filter-in{display:flex;align-items:center;gap:12px;padding-block:12px}
.i-days{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.i-day{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:68px;border-radius:16px;border:1px solid var(--line2);background:#fff;padding:0;line-height:1.15}
.i-day small{font-size:12px;font-weight:800;color:var(--muted)}
.i-day b{font-size:19px;font-weight:800}
.i-day i{font-style:normal;font-size:11px;font-weight:800;color:var(--moss);margin-top:1px}
.i-day.any{width:auto;padding:0 16px;font-weight:800;font-size:14px}
.i-day.on{background:var(--ink);border-color:var(--ink);color:#fff}
.i-day.on small,.i-day.on i{color:rgba(255,255,255,.82)}
.i-day:disabled{opacity:.38;cursor:not-allowed}
.i-guests{flex:none;display:none;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:999px;padding:10px 16px;font-weight:800;font-size:14px;background:#fff}
.i-guests .ico{width:22px;height:22px}
.i-count{padding-block:22px;font-size:15px;color:var(--ink2)}
.i-count b{color:var(--ink)}
/* detail */
.i-galm{position:relative}
.i-galm .track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.i-galm .track img{flex:0 0 100%;width:100%;aspect-ratio:1/1;object-fit:cover;scroll-snap-align:start}
.i-galm .cnt{position:absolute;right:14px;bottom:14px;background:rgba(28,28,26,.72);color:#fff;font-size:13px;font-weight:800;border-radius:999px;padding:3px 10px}
.i-galm .back{position:absolute;left:14px;top:14px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.i-galm .back .ico{width:20px;height:20px;stroke-width:2.2}
.i-crumb{display:none;font-size:14px;color:var(--muted);padding-top:28px}
.i-crumb a{font-weight:800;color:var(--ink)}
.i-dtitle{padding-top:22px}
.i-dtitle .hand{font-size:26px}
.i-dtitle h1{font-size:34px;margin-top:6px;line-height:1.1}
.i-hostline{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:15px;color:var(--ink2);flex-wrap:wrap}
.i-hostline b{color:var(--ink)}
.i-stack{display:flex}
.i-stack>*{width:38px;height:38px;border-radius:50%;border:2px solid #fff;object-fit:cover;margin-left:-10px;display:grid;place-items:center;font-size:14px;font-weight:800}
.i-stack>*:first-child{margin-left:0}
.ini-a{background:#dfe9cf;color:#355e1f}.ini-b{background:#e6e2f2;color:#4a3d7a}
.i-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:18px;padding:18px 0;border-block:1px solid var(--line)}
.i-facts li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;line-height:1.25}
.i-facts .ico{width:32px;height:32px;stroke-width:1.5}
.i-facts small{display:block;font-size:12.5px;font-weight:700;color:var(--muted)}
.i-gald{display:none}
.i-dgrid{display:grid;gap:40px;padding-top:24px}
.i-dmain{min-width:0}
.i-dmain>section{padding-top:48px}
.i-dmain h2{font-size:28px;margin-bottom:18px}
.i-dmain h3.sub{font-family:"NunitoV",system-ui;font-size:14px;font-weight:800;color:var(--muted);letter-spacing:.02em;margin-bottom:12px}
.i-dlead{font-size:18px;line-height:1.6}
.i-hl{display:grid;gap:14px;margin-top:24px}
.i-hl li{display:flex;gap:14px;align-items:center}
.i-hl .ico{width:40px;height:40px;stroke-width:1.5}
.i-tl li{position:relative;display:grid;grid-template-columns:96px 1fr;gap:16px;padding-bottom:22px}
.i-tl li:not(:last-child)::before{content:"";position:absolute;left:48px;top:102px;bottom:4px;border-left:2px dashed var(--line2)}
.i-tl .pic{width:96px;height:96px;border-radius:18px;object-fit:cover;background:var(--soft);display:grid;place-items:center}
.i-tl .pic .ico{width:42px;height:42px;stroke-width:1.5}
.i-tl .t{font-family:"CaveatV",cursive;font-size:25px;color:var(--moss);font-weight:600;line-height:1}
.i-tl b{display:block;font-size:17px;margin-top:4px}
.i-tl p{font-size:15px;color:var(--ink2);margin-top:2px}
.i-hosts{display:grid;gap:30px;align-items:center}
.i-hosts .i-postage{width:min(100%,320px);aspect-ratio:5/4;justify-self:center}
.i-hosts .i-postage .i-rstamp{width:100px;height:100px;left:auto;right:-20px;bottom:-26px}
.i-hosts .quote{font-family:"CaveatV",cursive;font-weight:600;font-size:29px;line-height:1.12;color:var(--moss)}
.i-hosts p{margin-top:12px;color:var(--ink2)}
.i-hostlist{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.i-hostlist li{display:flex;align-items:center;gap:8px;background:var(--soft);border-radius:999px;padding:4px 14px 4px 4px;font-weight:800;font-size:14px}
.i-hostlist img,.i-hostlist .ini{width:32px;height:32px;border-radius:50%;object-fit:cover;display:grid;place-items:center;font-size:13px}
.i-inc{display:grid;gap:26px}
.i-inc li{display:flex;gap:10px;align-items:flex-start}
.i-inc li+li{margin-top:10px}
.i-inc .ico{width:26px;height:26px;margin-top:-1px}
.i-inc .yes .ico{color:var(--moss)}
.i-inc .no .ico{color:var(--muted)}
.i-meet{display:grid;gap:20px;align-items:start}
.i-meet .i-arch{width:190px;justify-self:start}
.i-meet b{font-size:17px}
.i-meet p{color:var(--ink2);font-size:15.5px;margin-top:6px}
.i-meet .walk{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ink);margin-top:12px}
.i-meet .walk .ico{width:30px;height:30px;stroke-width:1.5}
.i-meet .i-link{display:inline-block;margin-top:14px;font-size:15px}
.i-gtk li{display:flex;gap:12px;color:var(--ink2)}
.i-gtk li+li{margin-top:10px}
.i-gtk li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--leaf);margin-top:10px;flex:none}
.i-gtk details{margin-top:10px}
.i-gtk summary{list-style:none;cursor:pointer;font-weight:800;text-decoration:underline;text-decoration-color:var(--leaf);text-decoration-thickness:3px;text-underline-offset:5px;margin-top:14px;width:max-content}
.i-gtk summary::-webkit-details-marker{display:none}
.i-gtk details[open] summary{display:none}
.i-nfs{margin-top:26px}
.i-gtk .i-nfs li::before{display:none}
.i-nfs li{display:flex;gap:10px;color:var(--ink2)}
.i-nfs li+li{margin-top:8px}
.i-nfs .ico{width:24px;height:24px;color:var(--muted)}
.i-cancel{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:22px;background:var(--soft)}
.i-cancel .ico{width:38px;height:38px;stroke-width:1.6;color:var(--moss)}
.i-cancel b{display:block;font-size:17px}
.i-cancel p{margin-top:4px;font-size:15px;color:var(--ink2)}
.i-seller{margin-top:14px;font-size:14px;color:var(--muted)}
.i-seller a{font-weight:800;color:var(--ink)!important;text-decoration:underline!important}
.i-book{display:none}
.i-bookcard{border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 12px 36px rgba(0,0,0,.08);background:#fff}
.i-bookcard .price{font-size:15px;color:var(--ink2)}
.i-bookcard .price b{font-size:28px;font-weight:800;color:var(--ink)}
.i-bookcard .sub{font-size:13.5px;color:var(--muted);margin-top:2px}
.i-bookcard .lbl{font-size:13px;font-weight:800;color:var(--muted);margin:20px 0 8px}
.i-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.i-slot{border:1px solid var(--line2);border-radius:16px;padding:10px 4px;background:#fff;text-align:center;line-height:1.2}
.i-slot small{display:block;font-size:12px;font-weight:800;color:var(--muted)}
.i-slot b{display:block;font-size:16px;font-weight:800}
.i-slot span{display:block;font-size:12px;color:var(--ink2);margin-top:2px}
.i-slot.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--leaf-pale)}
.i-moredates{display:inline-block;margin-top:10px;font-size:14px;font-weight:800;text-decoration:underline!important}
.i-guestrow{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-weight:800}
.i-stepper{display:flex;align-items:center;gap:12px}
.i-stepper button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line2);background:#fff;display:grid;place-items:center;padding:0}
.i-stepper .ico{width:16px;height:16px;stroke-width:2.2}
.i-total{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0;font-weight:800}
.i-total span{color:var(--ink2);font-weight:700}
.i-total small{display:block;font-size:12.5px;color:var(--muted);font-weight:700}
.i-total b{font-size:21px}
.i-assure{margin-top:18px;display:grid;gap:9px;font-size:14px;color:var(--ink2)}
.i-assure li{display:flex;gap:8px;align-items:center}
.i-assure .ico{width:24px;height:24px;stroke-width:1.6;color:var(--moss)}
.i-bar{position:sticky;bottom:0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 14px;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);margin-top:56px}
.i-bar .p{font-size:14px;color:var(--ink2);line-height:1.3}
.i-bar .p b{font-size:18px;font-weight:800;color:var(--ink)}
.i-bar .p span{display:block;font-size:13px;font-weight:800;color:var(--moss);margin-top:3px}
.i-bar + .i-foot{margin-top:0}

@container scr (min-width:700px){
  .i-cards.list{grid-template-columns:1fr 1fr;gap:44px 24px}
  .i-cards.list .i-cphoto{aspect-ratio:4/5}
  .i-inc{grid-template-columns:1fr 1fr}
  .i-meet{grid-template-columns:200px 1fr;gap:28px}
  .i-meet .i-arch{width:200px}
  .i-hosts{grid-template-columns:300px 1fr;gap:40px}
}
@container scr (min-width:900px){
  .i-wrap{padding-inline:40px}
  .i-sec{padding-top:104px}
  .i-sh h2{font-size:44px}
  .i-nav .hide-m{display:inline-flex}
  .i-nav{gap:4px}.i-nav a{padding:8px 12px}
  .i-hero-media{height:680px}
  .i-hero-media::after{background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,0) 62%),linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.5) 100%)}
  .i-hero h1{font-size:78px;max-width:13ch}
  .i-hero-copy{bottom:116px}
  .i-hero-copy p{font-size:19px}
  .i-hero .i-rstamp{width:134px;height:134px;right:56px;top:44px}
  .i-finder{position:absolute;left:50%;bottom:-38px;transform:translateX(-50%);margin:0;width:min(780px,calc(100% - 80px));grid-template-columns:1fr 1fr auto;border-radius:999px;padding:8px 8px 8px 14px}
  .f-cell{border-radius:999px}
  .i-finder .i-btn{grid-column:auto;min-height:56px;padding:0 30px}
  .i-themes{justify-content:center;gap:30px;padding-top:88px}
  .i-cards{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,1fr);gap:52px 28px;overflow:visible;margin:0;padding:0}
  .i-cards.list{grid-template-columns:repeat(3,1fr)}
  .i-feature{grid-template-columns:.9fr 1.3fr;gap:64px}
  .i-feature h2{font-size:44px}
  .i-mosaic{height:480px}
  .i-sbanner{height:500px}
  .i-sbanner h2{font-size:58px;padding-bottom:160px}
  .i-strips{grid-auto-flow:row;grid-template-columns:repeat(5,1fr);max-width:1200px;margin:-190px auto 0;padding:0 40px;gap:14px;overflow:visible}
  .i-softband{margin-top:104px;padding:96px 0 104px}
  .i-hostfeat{grid-template-columns:1fr 1fr;gap:72px}
  .i-hostfeat .i-postage{order:2;width:min(100%,420px)}
  .i-nums{grid-template-columns:repeat(4,1fr)}
  .i-num b{font-size:88px}
  .i-steps{grid-template-columns:repeat(3,1fr);gap:16px}
  .i-posts{justify-content:center;gap:26px;padding-top:24px}
  .i-post{width:180px}
  .i-hband{grid-template-columns:1.2fr .8fr;padding:56px 64px}
  .i-hband h2{font-size:42px}
  .i-foot-in{grid-template-columns:2fr 1fr 1fr auto;align-items:start}
  .i-lhead{padding-top:56px}.i-lhead h1{font-size:58px}
  .i-guests{display:inline-flex}
  .i-galm{display:none}
  .i-crumb{display:block}
  .i-dtitle{padding-top:14px}
  .i-dtitle h1{font-size:52px;max-width:20ch}
  .i-facts{display:flex;gap:36px;border:0;padding:0;margin-top:22px}
  .i-gald{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:6px;border-radius:24px;overflow:hidden;margin-top:30px;position:relative}
  .i-gald img{width:100%;height:100%;object-fit:cover}
  .i-gald .big{grid-row:1/3}
  .i-gald .all{position:absolute;right:16px;bottom:16px;background:#fff;border:0;border-radius:999px;padding:9px 16px;font-weight:800;font-size:14px;box-shadow:0 2px 10px rgba(0,0,0,.15)}
  .i-dgrid{grid-template-columns:minmax(0,1fr) 380px;gap:72px;padding-top:16px}
  .i-dmain h2{font-size:32px}
  .i-tl li{grid-template-columns:130px 1fr;gap:22px}
  .i-tl .pic{width:130px;height:130px}
  .i-tl li:not(:last-child)::before{left:65px;top:136px}
  .i-book{display:block;position:sticky;top:88px;align-self:start;padding-top:48px}
  .i-bar{display:none}
  .i-bar + .i-foot{margin-top:96px}
}
/* ===== v2: スマホの試作（ページ自体をスクロール）。v3 で 440px の枠を外し、画面幅で組み替える ===== */
html,body{height:auto;overflow:visible}
body{background:#fff;color:#1c1c1a}
.app{min-height:100vh;container-type:inline-size;container-name:scr}
.app .page{min-height:100vh}
.i-head-in .i-nav a.on{background:var(--soft)}
.i-days-wrap{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}
.i-gsel{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;border:1px solid var(--line2);border-radius:999px;padding:6px 12px 6px 10px;font-weight:800;font-size:14px;background:#fff}
.i-gsel .ico{width:22px;height:22px}
.i-gsel select{appearance:none;border:0;background:transparent;font:inherit;color:inherit;padding:0 4px;cursor:pointer}
.i-empty{padding:28px 20px;border-radius:22px;background:var(--soft);text-align:center;color:var(--ink2)}
.i-empty .hand{display:block;font-size:28px;margin-bottom:6px}
.i-finder select{appearance:none;border:0;background:transparent;font:700 15px/1.25 "NunitoV",system-ui;color:var(--ink);padding:0;margin:0;width:100%;cursor:pointer}
.f-cell{cursor:pointer}
.f-cell>span{display:flex;flex-direction:column;min-width:0;flex:1}
.i-desc p+p{margin-top:14px}
.i-desc details summary{list-style:none;cursor:pointer;font-weight:800;margin-top:14px;width:max-content;text-decoration:underline;text-decoration-color:var(--leaf);text-decoration-thickness:3px;text-underline-offset:5px}
.i-desc details summary::-webkit-details-marker{display:none}
.i-desc details[open] summary{display:none}
.i-desc details p{margin-top:14px}
.i-desc{color:var(--ink2)}
.i-bar .i-btn{min-height:46px;padding:0 20px}
/* booking */
.b-wrap{padding-bottom:24px}
.b-back{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:800;font-size:14px;color:var(--ink2)}
.b-back .ico{width:18px;height:18px;stroke-width:2.2}
.b-sum{display:flex;gap:14px;align-items:center;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:20px}
.b-sum img{width:72px;height:72px;border-radius:14px;object-fit:cover;flex:none}
.b-sum b{display:block;font-family:"FrauncesV",serif;font-weight:450;font-size:18px;line-height:1.2}
.b-sum span{display:block;font-size:13.5px;color:var(--muted);margin-top:4px;font-weight:700}
.b-h{font-family:"FrauncesV",serif;font-weight:400;font-size:26px;margin:30px 0 12px;letter-spacing:-.01em}
.b-h .hand{display:block;font-size:22px;margin-bottom:4px}
.b-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.b-date{border:1px solid var(--line2);border-radius:18px;padding:12px 14px;background:#fff;text-align:left;line-height:1.25}
.b-date small{display:block;font-size:12.5px;font-weight:800;color:var(--muted)}
.b-date b{display:block;font-size:17px;font-weight:800}
.b-date span{display:block;font-size:13px;color:var(--ink2);margin-top:2px}
.b-date.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--leaf-pale)}
.b-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.b-row:last-child{border-bottom:0}
.b-row b{display:block;font-size:16px}
.b-row small{display:block;font-size:13px;color:var(--muted);font-weight:700}
.b-row .num{min-width:24px;text-align:center;font-weight:800;font-size:17px}
.i-stepper button:disabled{opacity:.35;cursor:not-allowed}
.fld{display:block;margin-top:14px;font-weight:800;font-size:14.5px}
.fld small{font-weight:700;color:var(--muted)}
.fld input,.fld textarea{display:block;width:100%;margin-top:6px;min-height:50px;border:1px solid var(--line2);border-radius:14px;padding:12px 14px;font:16px/1.4 "NunitoV",system-ui;color:var(--ink);background:#fff}
.fld textarea{min-height:84px;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:3px solid var(--moss);outline-offset:1px;border-color:transparent}
.fld .err{display:block;margin-top:6px;color:#a8321e;font-weight:800;font-size:13.5px}
.fld.bad input{border-color:#a8321e}
.b-card{margin-top:12px;padding:16px 18px;border-radius:22px;background:var(--soft)}
.b-card .r{display:flex;justify-content:space-between;gap:12px;font-size:15px;padding:5px 0}
.b-card .r span{color:var(--ink2)}
.b-card .r b{font-weight:800;text-align:right}
.b-card .tot{border-top:1px solid var(--line2);margin-top:8px;padding-top:12px}
.b-card .tot b{font-size:20px}
.b-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:14.5px;color:var(--ink2)}
.b-note .ico{width:26px;height:26px;color:var(--moss);stroke-width:1.6}
.b-agree{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:14.5px;color:var(--ink2)}
.b-agree input{width:22px;height:22px;margin:1px 0 0;accent-color:#355e1f;flex:none}
.b-agree a{font-weight:800;color:var(--ink);text-decoration:underline}
.b-agree.bad{color:#a8321e}
/* done */
.d-hero{text-align:center;padding-top:40px}
.d-hero .i-rstamp{width:120px;height:120px;color:var(--moss);margin:0 auto;transform:rotate(-10deg)}
.d-hero .hand{display:block;font-size:40px;margin-top:14px}
.d-hero h1{font-size:32px;margin-top:6px}
.d-hero p{margin:12px auto 0;color:var(--ink2);max-width:22rem}
.d-acts{display:grid;gap:10px;margin-top:22px}
/* host page */
.h-hero{display:grid;gap:24px;padding-top:28px}
.h-hero .i-arch{width:min(100%,280px)}
.h-hero .hand{font-size:26px}
.h-hero h1{font-size:36px;margin-top:6px}
.h-hero p{margin-top:12px;color:var(--ink2)}
.h-note{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:22px;background:var(--leaf-pale);margin-top:28px}
.h-note .ico{width:40px;height:40px;color:var(--moss);stroke-width:1.5}
.h-note b{display:block;font-size:17px}
.h-note p{margin-top:4px;font-size:15px;color:var(--ink2)}
.h-steps li{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px dashed var(--line2)}
.h-steps li:last-child{border-bottom:0}
.h-steps .n{font-family:"CaveatV",cursive;font-weight:700;font-size:40px;line-height:.9;color:var(--moss);width:28px;flex:none;text-align:center}
.h-steps b{display:block;font-size:17px}
.h-steps p{margin-top:2px;font-size:15px;color:var(--ink2)}
.h-cols{display:grid;gap:14px}
.h-col{padding:20px;border-radius:22px;background:var(--soft)}
.h-col.niho{background:var(--leaf-pale)}
.h-col h3{font-family:"NunitoV",system-ui;font-size:14px;font-weight:800;color:var(--muted);letter-spacing:.03em;margin-bottom:10px}
.h-col li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.h-col li+li{margin-top:10px}
.h-col .ico{width:24px;height:24px;color:var(--moss);margin-top:-1px}

/* ===== v3: レスポンシブ（〜699px はスマホ v2 のまま / 700px〜 タブレット / 900px〜 PC） ===== */
/* detail: PC のパンくず・写真モザイク・右の予約カード（スマホでは出さない） */
.i-crumb .sep{margin:0 8px;color:var(--line2)}
.i-gald .all{cursor:pointer}
.i-bookcard .when{font-family:"CaveatV",cursive;font-weight:600;color:var(--moss);font-size:24px;line-height:1;margin-top:16px}
.i-slot{display:block}
.i-slot:hover{border-color:var(--ink)}
.i-bookcard>.i-btn{margin-top:18px}
.i-assure li{align-items:flex-start}
.i-photos{width:min(1100px,calc(100vw - 48px));max-height:calc(100vh - 48px);border:0;border-radius:24px;padding:0;overflow:auto;color:var(--ink)}
.i-photos::backdrop{background:rgba(28,28,26,.62)}
.i-photos .hd{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:14px 20px 14px 28px;background:#fff;border-bottom:1px solid var(--line)}
.i-photos h2{font-size:26px}
.i-photos .x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:#fff;font-size:24px;line-height:1;display:grid;place-items:center;padding:0}
.i-photos .grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:24px 28px 28px}
.i-photos .grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
/* booking: PC の右の固定サマリー（スマホは上のサマリーと下端のバー） */
.b-side{display:none}
.b-sidecard{padding:16px;box-shadow:none}
.b-sidecard .cov{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px}
.b-sidecard .t{display:block;font-family:"FrauncesV",serif;font-weight:450;font-size:21px;line-height:1.2;margin-top:14px}
.b-sidecard .m{display:block;font-size:13.5px;font-weight:700;color:var(--muted);margin-top:4px}
.b-paycard{margin-top:16px;padding:22px}
.b-paycard .p{font-size:15px;color:var(--ink2)}
.b-paycard .p b{font-size:26px;font-weight:800;color:var(--ink)}
.b-paycard .ln{margin-top:4px;font-size:14px;font-weight:800;color:var(--moss)}
.b-paycard .i-btn{margin-top:16px}

@container scr (max-width:359px){
  /* 320px でヘッダーが横にはみ出さない（v2 では 35px はみ出していた） */
  .i-wrap{padding-inline:16px}
  .i-logo{font-size:17px}
  .i-nav a{padding:8px 6px;font-size:14px}
  .i-lang{padding:5px 8px;font-size:12px}
  .i-cards{margin-inline:-16px;padding-inline:16px}
}
@container scr (max-width:699px){
  /* 詳細のホストの切手：丸スタンプが画面の外へはみ出さない幅に（390px 以上は v2 と同じ 320px） */
  .i-hosts .i-postage{width:min(calc(100% - 24px),320px)}
}
@container scr (max-width:359px){.i-hosts .i-postage{width:calc(100% - 44px)}}
@container scr (min-width:700px){
  .i-cards{grid-auto-columns:44%}
  .i-strips{grid-auto-columns:30%}
  .i-galm .track img{aspect-ratio:16/10}
  .b-dates{grid-template-columns:repeat(3,1fr)}
  .h-cols{grid-template-columns:1fr 1fr}
  .d-acts{grid-template-columns:1fr 1fr}
  .d-narrow{max-width:720px}
}
@container scr (min-width:900px){
  /* list: 人数とチップを 1 行に */
  .i-days-wrap{flex-direction:row;align-items:center;gap:16px}
  .i-gsel{align-self:center;padding:11px 16px 11px 12px}
  .i-days{padding-left:16px;border-left:1px solid var(--line)}
  .i-count{padding-block:28px}
  /* detail */
  .i-gald.n4 img:nth-child(2){grid-column:2/4}
  /* booking */
  .b-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:72px;align-items:stretch}
  .b-main{min-width:0;max-width:680px}
  .b-main .b-sum{display:none}
  .b-back{margin-top:32px}
  .b-h{font-size:30px;margin-top:40px}
  .b-h .hand{font-size:24px}
  .b-wrap{padding-bottom:0}
  .b-side{display:block;margin-top:32px}
  .b-paycard{position:sticky;top:88px}
  /* done */
  .d-hero{padding-top:72px}
  .d-hero h1{font-size:44px}
  /* host */
  .h-hero{grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;padding-top:64px}
  .h-hero h1{font-size:58px}
  .h-hero p{font-size:18px;max-width:34rem}
  .h-hero .i-arch{width:340px;justify-self:end}
  .h-note{padding:24px 28px;margin-top:40px}
  .h-steps{display:grid;grid-template-columns:repeat(4,1fr)}
  .h-steps li{flex-direction:column;gap:10px;padding:4px 28px 8px;border-bottom:0;border-left:1px dashed var(--line2)}
  .h-steps li:first-child{border-left:0;padding-left:0}
  .h-steps .n{width:auto;text-align:left;font-size:56px}
  .h-cols{gap:20px}
  .h-col{padding:32px}
  .h-cta .i-btn{width:auto}
}
.i-credit{padding:0 0 20px;font-size:12px;color:var(--muted)}.i-credit a{text-decoration:underline}
.ytw{position:absolute;inset:0;overflow:hidden;container-type:size;pointer-events:none;background:#222;--ar:1.7778}
.ytw.v{--ar:.5625;--zoom:1.35}
.ytw iframe{position:absolute;top:50%;left:50%;border:0;width:max(100cqw,calc(100cqh*var(--ar)));height:max(100cqh,calc(100cqw/var(--ar)));transform:translate(-50%,-50%) scale(var(--zoom,1.15))}
.i-arch{position:relative}
.i-themes{justify-content:flex-start!important}.i-themes>.i-theme:first-child{margin-left:auto}.i-themes>.i-theme:last-child{margin-right:auto}
