:root{--ink:#101514;--paper:#f4f3ed;--blue:#28c9d4;--pad:clamp(22px,6vw,96px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue","Yu Gothic",YuGothic,Arial,sans-serif;letter-spacing:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}.detail-header{position:absolute;z-index:3;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:24px var(--pad);color:#fff}.detail-header .brand{font-size:24px;font-weight:900}.detail-header nav{display:flex;gap:25px;font-size:12px}.detail-hero{min-height:76vh;position:relative;display:flex;align-items:end;padding:15vh var(--pad) 10vh;color:#fff;overflow:hidden}.detail-hero img,.detail-hero:after{position:absolute;inset:0;height:100%;object-fit:cover}.detail-hero:after{content:"";background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.1)),linear-gradient(0deg,rgba(0,0,0,.45),transparent)}.detail-hero-copy{position:relative;z-index:1;max-width:950px}.detail-hero p{font-size:13px;font-weight:700}.detail-hero h1{font-size:clamp(46px,8vw,116px);line-height:.98;margin:20px 0}.detail-hero .lead{font-size:clamp(14px,1.5vw,20px);line-height:1.9;font-weight:400}.detail-main section{padding:14vh var(--pad)}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.kicker{font-size:clamp(18px,2.2vw,30px);font-weight:800;border-top:1px solid;padding-top:15px}.intro h2,.section-title{font-size:clamp(36px,5vw,72px);line-height:1.15;margin:0 0 30px}.intro p,.body-copy{line-height:2}.size-grid,.capacity-grid,.crew-grid,.rental-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.size-card,.capacity-card,.crew-card,.rental-card{border-top:1px solid;padding-top:22px}.size-card h3,.capacity-card h3,.crew-card h3,.rental-card h3{font-size:clamp(25px,3vw,42px);margin:0 0 8px}.size-card strong{font-size:clamp(28px,4vw,58px);color:#159da8}.plan{height:260px;display:grid;place-items:center;margin:35px 0;background:#fff}.tent-shape{width:80%;height:58%;position:relative;border:3px solid var(--ink);border-radius:50% 50% 8px 8px/35% 35% 8px 8px;background:linear-gradient(135deg,transparent 49%,rgba(40,201,212,.25) 50%)}.tent-shape:before,.tent-shape:after{position:absolute;font-size:11px}.tent-shape:before{content:attr(data-w);bottom:-28px;left:50%;transform:translateX(-50%)}.tent-shape:after{content:attr(data-d);right:-42px;top:50%;transform:rotate(90deg)}.dark{background:var(--ink);color:#fff}.dark .section-title{color:var(--blue)}.capacity-grid{margin-top:70px}.capacity-card{background:#fff;color:var(--ink);padding:28px}.capacity-row{display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:center;border-top:1px solid #ddd;padding:20px 0}.capacity-row:first-of-type{margin-top:25px}.capacity-row strong{font-size:30px}.people{color:var(--blue);font-size:22px;line-height:1.1;overflow-wrap:anywhere}.person{position:relative;width:12px;height:25px;display:inline-block}.person:before{content:"";position:absolute;left:3px;width:7px;height:7px;background:var(--blue);border-radius:50%}.person:after{content:"";position:absolute;left:1px;top:9px;width:11px;height:15px;background:var(--blue);clip-path:polygon(30% 0,70% 0,100% 100%,0 100%)}.note{font-size:12px;line-height:1.8;margin-top:35px}.crew-card{padding:35px 25px;background:#fff}.crew-number{font-size:70px;color:#159da8;font-weight:900}.crew-people{display:flex;gap:12px;min-height:55px;margin:25px 0}.crew-people .person{transform:scale(1.5);transform-origin:top left;margin-right:8px}.case-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:25px}.case-grid article img{height:420px;object-fit:cover}.case-grid article:nth-child(2){margin-top:100px}.case-grid h3{font-size:26px;margin-bottom:6px}.wedding-band{display:grid;grid-template-columns:58% 42%;padding:0!important;background:#d9c5a3}.wedding-band img{height:100%;min-height:70vh;object-fit:cover}.wedding-band div{padding:12vh clamp(30px,6vw,90px)}.rental-card{background:#fff;padding:0 0 25px}.rental-visual{height:250px;display:grid;place-items:center;background:#dce9e6;font-size:70px}.rental-card h3,.rental-card p{margin-left:25px;margin-right:25px}.cta{text-align:center;background:var(--blue)}.cta a{display:inline-flex;border:1px solid;border-radius:50%;padding:28px 45px;margin-top:25px;font-weight:700}.detail-footer{background:var(--ink);color:#fff;padding:70px var(--pad)}.detail-footer strong{font-size:clamp(45px,10vw,120px)}.breadcrumbs{padding:18px var(--pad);font-size:11px;background:#fff}.table-scene{height:100px;position:relative;margin-top:20px}.table-scene:before{content:"";position:absolute;left:20%;right:20%;top:35px;height:28px;border:4px solid var(--ink);border-radius:50%}.table-scene .person{position:absolute}.table-scene .p1{left:15%;top:33px}.table-scene .p2{right:15%;top:33px}.table-scene .p3{left:48%;top:0}.table-scene .p4{left:48%;bottom:0}
@media(max-width:800px){.detail-header nav{display:none}.detail-hero{min-height:70vh}.intro{grid-template-columns:1fr;gap:35px}.size-grid,.capacity-grid,.crew-grid,.rental-grid,.case-grid{grid-template-columns:1fr}.case-grid article:nth-child(2){margin-top:20px}.case-grid article img{height:300px}.wedding-band{grid-template-columns:1fr}.wedding-band img{min-height:55vh}.plan{height:210px}}

/* ウェディング事例（2026-10-24） */.wedding-case{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(20px,4vw,50px);align-items:end;margin-top:70px}.wedding-photos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:10px}.wedding-photos img{height:100%;object-fit:cover}.wedding-photos img:first-child{grid-row:span 2;min-height:380px}.wedding-place{font-size:12px;font-weight:700;color:#159da8;margin:0 0 10px}.wedding-case h3{font-size:clamp(22px,2.4vw,32px);line-height:1.4;margin:0 0 14px}.wedding-case-text p:last-child{line-height:2}.wedding-note{margin-top:70px;border-top:1px solid;padding-top:25px}@media(max-width:800px){.wedding-case{grid-template-columns:1fr;margin-top:50px}.wedding-photos img:first-child{min-height:240px}}

/* サイズ・人数・設営チームの図。tent- で始まる専用の名前で他のページへの影響を防ぐ。 */
.tent-size-grid,.tent-capacity-grid,.tent-crew-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,30px)}
.tent-size-card,.tent-capacity-card,.tent-crew-card{min-width:0;border:1px solid #d8dfdb;border-top:3px solid #159da8;background:#fff;padding:clamp(18px,2vw,30px);color:var(--ink)}
.tent-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #dfe4e0;padding-bottom:20px;margin-bottom:22px}
.tent-card-head h3{font-size:clamp(46px,5vw,70px);line-height:1;font-weight:500;letter-spacing:-.05em;margin:0}
.tent-card-head p{margin:0;font-size:clamp(15px,1.5vw,20px);font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.tent-drawings{background:#f7f8f4;padding:15px 8px 8px}
.tent-figure{margin:0;min-width:0}
.tent-figure figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px 10px;padding:0 8px;color:var(--ink);font-size:13px;font-weight:600;line-height:1.6}
.tent-figure figcaption span{font-size:11px;font-weight:400;color:#5a6863}
.tent-plan,.tent-side,.tent-team{display:block;width:100%;height:auto;color:var(--ink)}
.tent-plan text{fill:var(--ink);font-family:inherit;font-size:16px;font-weight:500}
.tent-footprint{fill:none;stroke:#b7c5bf;stroke-width:1;stroke-dasharray:3 4}
.tent-cloth{fill:#e7f1ed;stroke:#159da8;stroke-width:1.4;stroke-linejoin:round}
.tent-seam{fill:none;stroke:#88b7ae;stroke-width:.8}
.tent-pole{fill:var(--ink);stroke:#fff;stroke-width:1}
.tent-extension{fill:none;stroke:#b7c5bf;stroke-width:.8}
.tent-dimension{fill:none;stroke:#566b63;stroke-width:1}
.tent-elevation{border-top:1px solid #dfe4e0;padding-top:14px}
.tent-ground{fill:none;stroke:#b7c5bf;stroke-width:1}
.tent-support{fill:none;stroke:var(--ink);stroke-width:1.5}
.tent-silhouette{fill:#dbece6;stroke:#159da8;stroke-width:1.4;stroke-linejoin:round}
.tent-side-seam{fill:none;stroke:#9abeb2;stroke-width:.8}
.tent-person{fill:var(--ink);stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tent-person path{fill:none}
.tent-card-use{font-size:14px;line-height:1.9;margin:22px 0 0}
.tent-drawing-note{font-size:12px;line-height:1.9;color:#56645d;margin:22px 0 0}
.detail-main .tent-comparison{background:#e7ece5;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,90px)}
.tent-comparison .kicker{font-size:14px;border:0;padding:0;margin:0 0 22px;color:#197c80}
.tent-comparison .section-title{font-size:clamp(32px,4vw,56px);line-height:1.35;margin-bottom:20px}
.tent-comparison-copy>p:last-child{font-size:14px;line-height:2}
.tent-comparison-figure{margin:0;min-width:0}
.tent-comparison-figure svg{display:block;width:100%;height:auto}
.tent-compare-l{fill:#d9e1db;stroke:#344d41;stroke-width:1.3}
.tent-compare-m{fill:#b3d1c5;stroke:#507b69;stroke-width:1.3}
.tent-compare-s{fill:#159da8;fill-opacity:.7;stroke:#117880;stroke-width:1.3}
.tent-compare-ground,.tent-compare-leader{fill:none;stroke:#6d8076;stroke-width:.8}
.tent-comparison-figure text{font-family:inherit;font-size:17px;fill:var(--ink)}
.tent-comparison-figure .tent-compare-baseline{font-size:12px;fill:#52665a}
.tent-compare-legend{display:flex;flex-wrap:wrap;gap:15px 22px;border-top:1px solid #bbc8bd;padding-top:20px;font-size:13px}
.tent-compare-legend span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.tent-compare-legend b{display:grid;place-items:center;width:24px;height:24px;border:1px solid;font-weight:500}
.tent-key-l{background:#d9e1db;border-color:#344d41!important}.tent-key-m{background:#b3d1c5;border-color:#507b69!important}.tent-key-s{background:#159da8;color:#fff;border-color:#117880!important}
.tent-capacity-intro,.tent-layout-note{font-size:14px;line-height:2;color:#cedbd2;max-width:58em}
.tent-capacity-grid{margin-top:36px}
.tent-capacity-mode{margin-bottom:18px}
.tent-capacity-mode+.tent-capacity-mode{border-top:1px solid #dfe4e0;padding-top:22px}
.tent-capacity-mode h4{display:flex;align-items:baseline;justify-content:space-between;margin:0;font-size:16px;font-weight:500}
.tent-capacity-mode h4 strong{font-size:clamp(34px,3.7vw,54px);letter-spacing:-.04em;line-height:1;color:#167c82;font-weight:500;font-variant-numeric:tabular-nums}
.tent-capacity-mode h4 strong span{font-size:16px;letter-spacing:0;margin-left:5px;color:var(--ink)}
.tent-capacity-mode>p{font-size:12px;color:#5a6863;line-height:1.8;margin:12px 0 16px}
.tent-capacity-mode .tent-plan{background:#f7f8f4}
.tent-table>rect{fill:#fff;stroke:#27716a;stroke-width:1}
.tent-table .tent-chair{fill:#27716a;stroke:none}
.tent-guest{fill:#167c82}
.tent-capacity-card .tent-elevation{margin-top:24px}
.tent-layout-note{margin:26px 0 0}
.tent-crew-total{display:flex;align-items:baseline;gap:7px;margin:24px 0 0;font-size:15px}
.tent-crew-total strong{font-size:76px;font-weight:400;line-height:1;letter-spacing:-.05em;color:#167c82}
.tent-team{margin:12px 0 16px}
.tent-director{fill:#159da8}.tent-staff{fill:#354b42}
.tent-director-mark{fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tent-crew-breakdown{margin:0;border-top:1px solid #dfe4e0}
.tent-crew-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #dfe4e0;padding:13px 0;font-size:14px}
.tent-crew-breakdown dt{display:flex;align-items:center;gap:9px}.tent-crew-breakdown dd{margin:0;font-size:17px;font-variant-numeric:tabular-nums}
.tent-role-dot{display:block;width:8px;height:8px;border-radius:50%;flex:0 0 auto}.tent-director-dot{background:#159da8}.tent-staff-dot{background:#354b42}
.tent-director-description{font-size:12px;line-height:1.9;color:#5a6863;margin:16px 0 22px}
.tent-crew-card .tent-drawings{margin-top:20px}
.tent-build-time{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:22px 0 0;border-top:1px solid #dfe4e0;padding-top:18px;font-size:12px}
.tent-build-time strong{font-size:20px;font-weight:500}
@media(min-width:801px) and (max-width:1100px){.tent-size-grid,.tent-capacity-grid,.tent-crew-grid{grid-template-columns:1fr}.tent-size-card,.tent-capacity-card,.tent-crew-card{max-width:620px;width:100%;margin-inline:auto}.tent-card-head h3{font-size:64px}.tent-drawings{padding:20px}.tent-capacity-mode .tent-plan{max-height:360px}.tent-team{max-height:120px}.tent-plan{max-height:360px}.tent-side{max-height:165px}}
@media(max-width:800px){.tent-size-grid,.tent-capacity-grid,.tent-crew-grid{grid-template-columns:1fr;gap:24px}.tent-size-card,.tent-capacity-card,.tent-crew-card{padding:20px}.tent-card-head h3{font-size:56px}.tent-card-head p{font-size:18px}.tent-card-head{margin-bottom:22px}.tent-capacity-mode h4 strong{font-size:48px}.detail-main .tent-comparison{grid-template-columns:1fr;gap:30px}.tent-comparison-copy>p:last-child{margin-bottom:0}.tent-comparison-figure{width:100%;max-width:560px;margin-inline:auto}.tent-compare-legend{column-gap:16px;font-size:13px}.tent-plan{max-height:380px}.tent-side{max-height:165px}.tent-team{max-height:110px}.tent-figure figcaption span{font-size:11px}}

/* 相談ボタン：カーソルを合わせると黒地に白文字（2026-10-24） */
.cta a{transition:background-color .25s,color .25s,border-color .25s}.cta a:hover,.cta a:focus-visible{background:var(--ink);color:#fff;border-color:var(--ink)}

/* 新しいテントの図も、仕上がるまで隠す（2026-10-24 ボス指示） */
.tent-drawings,.tent-figure,.tent-comparison-figure,.tent-plan,.tent-side{display:none!important}
