/* 下層ページ共通: 上部はコートのライン入りの帯、本文は紙の上にカードを置く */
.pg-hero{position:relative;overflow:hidden;padding:56px 0 64px;border-bottom:3px solid var(--ink)}
.pg-hero .court path,.pg-hero .court circle,.pg-hero .court line{animation:none;stroke-dashoffset:0}
.pg-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
.pg-hero .wrap.solo{grid-template-columns:1fr}
.pg-hero h1{font-size:clamp(34px,5.2vw,60px);line-height:1.25;margin:18px 0 18px;text-wrap:balance}
.pg-hero h1 em{font-style:normal;color:var(--red)}
.pg-hero .lead{opacity:1;animation:none;max-width:32em}
.pg-hero .cta-row{opacity:1;animation:none}
.pg-photo{border:3px solid var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transform:rotate(1.5deg);background:#ddd;max-width:100%}
.pg-photo img{width:100%;height:100%;object-fit:cover;display:block}
.box{background:#fff;border:3px solid var(--ink);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow)}
.box h2,.box h3{font-family:var(--display);font-weight:900;font-size:20px;line-height:1.4;margin-bottom:10px;font-feature-settings:"palt"}
.box p+p{margin-top:.8em}
.box.red{background:var(--red);color:#fff}
.box.red .btn{background:#fff;color:var(--ink)}
.box.yellow{background:#FFF3D1}
.price-big{font-family:var(--num);font-size:clamp(30px,4vw,44px);line-height:1.1}
.price-big small{font-family:var(--body);font-weight:900;font-size:15px;margin-left:4px}

.prose{max-width:44em}
.prose p{font-weight:500}
.prose p+p{margin-top:1.1em}
.dots{list-style:none;display:grid;gap:10px}
.dots li{position:relative;padding-left:22px;font-weight:500;line-height:1.7}
.dots li::before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:10px;border-radius:50%;background:var(--red)}
.checks{list-style:none;display:grid;gap:12px}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:14px 16px;font-weight:700;line-height:1.6}
.checks li::before{content:"";width:22px;height:22px;border:2px solid var(--ink);border-radius:6px;background:var(--yellow);margin-top:2px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.plan{background:#fff;border:3px solid var(--ink);border-radius:var(--radius);padding:26px 24px;display:grid;gap:10px;align-content:start}
.plan .pt{font-family:var(--display);font-weight:900;font-size:24px;line-height:1.3;font-feature-settings:"palt"}
.plan .pt small{display:block;font-family:var(--body);font-weight:900;font-size:12px;letter-spacing:.12em;color:var(--red)}
.plan p{font-size:15px;color:var(--ink-soft);font-weight:500}
.dl{display:grid;grid-template-columns:160px 1fr;border:3px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:#fff}
.dl dt,.dl dd{padding:16px 20px;border-bottom:2px dashed var(--line)}
.dl dt{font-weight:900;background:var(--paper-2)}
.dl dd{font-weight:500}
.dl dt:last-of-type,.dl dd:last-of-type{border-bottom:none}
.timeline{list-style:none;display:grid;gap:0;border-left:3px solid var(--ink);margin-left:8px}
.timeline li{position:relative;padding:0 0 22px 24px}
.timeline li::before{content:"";position:absolute;left:-10px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:3px solid var(--ink)}
.timeline li:last-child::before{background:var(--red)}
.timeline .when{font-weight:900;font-size:14px;color:var(--red)}
.timeline .what{font-weight:700}
.timeline .sub{font-size:14px;color:var(--ink-soft);font-weight:500}
.works{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.works li{background:#fff;border:2px solid var(--ink);border-radius:12px;padding:12px 14px;font-size:14px;font-weight:700;line-height:1.6}
.cal{border:3px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.cal iframe{display:block;width:100%;height:640px;border:0}
.center{text-align:center}
.mt{margin-top:28px}
.sec.tight{padding:72px 0}
.mission{font-family:var(--display);font-weight:900;font-size:clamp(22px,3vw,32px);line-height:1.6;font-feature-settings:"palt"}
.mission span{display:block;white-space:nowrap}
.mission{font-size:clamp(17px,4.6vw,32px)}

@media (min-width:961px){
  .steps[data-n="4"]{grid-template-columns:repeat(4,1fr)}
  .venue-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-hero h1 .nw{white-space:nowrap}
}
@media (max-width:960px){
  .pg-hero .wrap{grid-template-columns:1fr;gap:26px}
  .grid2,.grid3{grid-template-columns:1fr}
  .works{grid-template-columns:1fr}
}
@media (max-width:560px){
  .pg-hero{padding:32px 0 44px}
  .dl{grid-template-columns:1fr}
  .dl dt{border-bottom:none;padding-bottom:4px}
  .dl dd{padding-top:4px}
  .cal iframe{height:520px}
}
