/* Studio Pass — Herbarium atelier theme
 * Shares the light parchment / worn green leather language of Music Notebook.
 * ⚠️ 変数は body.studio-pass-page にも定義（2026-07-15）:
 *    PJAX到着時は router.syncHeadStyles がページのインライン<style>（ダーク基調の:root変数）を
 *    head末尾へ注入するため、:root同士では後勝ちでダーク値が復活し、クリーム紙の上に
 *    淡色文字が乗って読めなくなる。body側に定義すれば注入順に関係なく herbarium が勝つ。
 */
:root,
body.studio-pass-page {
  --bg: #13251b;
  --ink: #342f24;
  --dim: #6e6859;
  --gold: #9c7424;
  --gold-b: #e2c96f;
  --gold-d: #a98332;
  --jade: #45664c;
  --rule: rgba(111, 85, 33, .28);
  --rule-s: rgba(111, 85, 33, .5);
}

body.studio-pass-page {
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 10%, rgba(80, 112, 83, .1), transparent 42%),
    linear-gradient(180deg, rgba(5, 17, 11, .08), rgba(3, 13, 8, .32)),
    url('../images/studio-pass-heraldic-bg-v1.webp') center top / cover fixed;
  background-color: #13251b;
}

body.studio-pass-page::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .42;
  background: radial-gradient(ellipse at center, transparent 42%, rgba(2, 10, 6, .55) 100%);
  mix-blend-mode: normal;
}

.stars {
  opacity: .25;
  background:
    radial-gradient(circle at 12% 18%, rgba(229,210,151,.6) 0 1px, transparent 2px),
    radial-gradient(circle at 85% 68%, rgba(229,210,151,.45) 0 1px, transparent 2px);
}

body.studio-pass-page main { padding: 28px 0 78px; }

.hd {
  color: #f1e6c8;
  border-bottom: 1px solid rgba(220, 194, 122, .42);
  background:
    linear-gradient(180deg, rgba(59, 81, 57, .97), rgba(35, 57, 41, .97)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 5px);
  box-shadow: 0 7px 24px rgba(0,0,0,.28), inset 0 -1px rgba(22,34,25,.8);
}

.hd__in { max-width: 1160px; }
.hd__logo { color: #f0d987; text-shadow: 0 1px 1px rgba(0,0,0,.45); }
.hd__tag { color: rgba(240,231,203,.72); }
#sp-lang { color: #f0d987 !important; border-color: rgba(230,205,135,.48) !important; background: rgba(22,40,27,.35) !important; }
.hd__badge { color: #2c311f; background: linear-gradient(180deg, #f3dfa0, #cba952); box-shadow: inset 0 1px rgba(255,255,255,.55); }

/* Branding ledger */
body.studio-pass-page .sp-brand-hero {
  display: block;
  width: min(1480px, calc(100% - 28px));
  margin: 0 auto 36px;
  padding: 0;
  min-height: 0;
  overflow: visible;
  text-align: left;
}

.sp-brand-card {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-width: 0;
  min-height: clamp(720px, 58vw, 880px);
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid #c7a951;
  border-radius: 22px 22px 16px 16px;
  background:
    linear-gradient(90deg, rgba(249,244,222,.2), rgba(249,244,222,.03)),
    url('../images/studio-pass-herbarium-v1.webp') center / 100% 100% no-repeat;
  box-shadow:
    0 32px 80px -38px rgba(0,0,0,.9),
    0 0 0 5px rgba(29,51,36,.92),
    0 0 0 6px rgba(210,179,91,.55),
    inset 0 0 70px rgba(90,62,17,.13);
}

.sp-brand-card::before {
  content: '';
  position: absolute;
  inset: 10% 8.5% 12%;
  z-index: -1;
  pointer-events: none;
  border-radius: 42% 34% 38% 30%;
  background: radial-gradient(ellipse at 38% 46%, rgba(249,245,226,.5) 0%, rgba(249,245,226,.34) 55%, rgba(249,245,226,.14) 76%, transparent 100%);
  filter: blur(9px);
}

.sp-brand-card::after {
  content: '';
  position: absolute;
  inset: 12px;
  z-index: 3;
  pointer-events: none;
  border: 1px solid rgba(151, 112, 39, .42);
  border-radius: 15px;
}

.sp-brand-card__content {
  width: min(920px, 69%);
  min-width: 0;
  margin-left: clamp(118px, 10.5%, 164px);
  padding: 92px 0 78px;
  position: relative;
  z-index: 2;
}

.sp-brand-card__crest {
  position: absolute;
  right: 8.5%;
  top: 15%;
  z-index: 2;
  width: 150px;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px solid rgba(139,105,42,.28);
  border-radius: 50% 50% 46% 46%;
  color: rgba(113,82,30,.45);
  background: radial-gradient(circle, rgba(255,250,230,.28), transparent 68%);
  box-shadow: inset 0 0 0 7px rgba(156,116,36,.035), inset 0 0 0 8px rgba(139,105,42,.16);
  transform: rotate(-2deg);
}

.sp-brand-card__crest::before,
.sp-brand-card__crest::after {
  content: '❦';
  position: absolute;
  top: 49%;
  font-size: 25px;
  color: rgba(113,82,30,.32);
}
.sp-brand-card__crest::before { left: -27px; transform: rotate(-90deg); }
.sp-brand-card__crest::after { right: -27px; transform: rotate(90deg); }
.sp-brand-card__crest span { font: 600 27px/1 'Cinzel', serif; letter-spacing: .12em; }
.sp-brand-card__crest small { margin-top: 9px; font: 600 7px/1.3 'Cinzel', serif; letter-spacing: .28em; }

.sp-brand-hero .hero__eyebrow {
  margin: 0 0 17px;
  color: #76571e;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .36em;
  text-indent: 0;
}

body.studio-pass-page .sp-brand-hero h1 {
  max-width: 690px;
  margin: 0 0 15px;
  color: #2e3325;
  font-size: clamp(2.15rem, 4.7vw, 3.65rem);
  line-height: 1.45;
  letter-spacing: .065em;
  text-shadow: 0 1px rgba(255,255,255,.6);
}
body.studio-pass-page .sp-brand-hero h1 em { color: #36513c; font-style: normal; white-space: nowrap; }

.sp-brand-card__lead {
  max-width: 680px !important;
  margin: 0 0 26px !important;
  color: #5e594d !important;
  font-size: .94rem !important;
  line-height: 2.15 !important;
}
.sp-brand-card__lead b { color: #344837 !important; }

.sp-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  max-width: 880px;
}

.sp-brand-stat {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 14px 13px 13px;
  border: 1px solid rgba(126, 94, 38, .35);
  border-radius: 11px 11px 8px 8px;
  color: #645d4e;
  background: rgba(255, 252, 237, .6);
  box-shadow: inset 0 1px rgba(255,255,255,.74), 0 8px 20px -16px rgba(57,42,14,.7);
  backdrop-filter: blur(3px);
}
.sp-brand-stat__k { color: #7b622d; font: 700 7px/1.4 'Cinzel', serif; letter-spacing: .19em; }
.sp-brand-stat strong { max-width:100%; margin: 5px 0 3px; color: #2f4937; font: 600 clamp(1.15rem,1.8vw,1.65rem)/1.15 var(--mincho); white-space: normal; overflow-wrap:anywhere; }
.sp-brand-stat strong small { font-size: .54em; letter-spacing: .04em; }
.sp-brand-stat > span:last-child { font-size: 10.5px; line-height: 1.55; }
.sp-brand-stat--price strong { color: #8a651d; }
.sp-brand-stat:nth-child(4) strong { font-size:clamp(1.05rem,1.65vw,1.48rem); letter-spacing:.01em; }

.sp-brand-hero .hero__actions { justify-content: flex-start; margin: 25px 0 0; }
.sp-brand-hero .hero__cta { min-height: 50px; border-radius: 9px; font-size: .86rem; }
.sp-brand-hero .hero__cta--primary { color: #f7efcf; background: linear-gradient(180deg,#52694c,#2d4b36); border: 1px solid #24422e; box-shadow: inset 0 1px rgba(255,255,255,.18), 0 9px 22px -13px #19301f; }
.sp-brand-hero .hero__cta--secondary { color: #5a4927; border-color: rgba(111,85,33,.45); background: rgba(255,252,236,.52); }
.sp-brand-card__private { margin: 17px 0 0 !important; color: #6b6557 !important; font-size: 11px !important; line-height: 1.7 !important; }

/* Short brand flow */
section.wrap.sp-brand-flow { padding-top: 38px !important; padding-bottom: 38px !important; }
.sp-brand-flow .sec-eyebrow { margin-bottom: 18px; }
.sp-brand-flow__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.sp-brand-flow__grid > div { position: relative; display: grid; grid-template-columns: 38px 1fr; gap: 2px 10px; padding: 4px 26px; border-left: 1px solid rgba(105,80,33,.23); }
.sp-brand-flow__grid > div:first-child { border-left: 0; padding-left: 0; }
.sp-brand-flow__grid > div:last-child { padding-right: 0; }
.sp-brand-flow__grid span { grid-row: 1 / 3; color: rgba(116,83,28,.48); font: 600 19px/1.35 'Cinzel',serif; }
.sp-brand-flow__grid strong { color: #354d3a; font-family: var(--mincho); font-size: .98rem; letter-spacing: .05em; }
.sp-brand-flow__grid small { color: #70695a; font-size: .76rem; line-height: 1.8; }

/* Parchment content pages */
section.wrap {
  position: relative;
  width: min(1060px, calc(100% - 38px));
  max-width: none;
  margin: 24px auto;
  padding: 52px 56px !important;
  overflow: hidden;
  border: 1px solid rgba(172, 139, 68, .72);
  border-radius: 6px 18px 8px 15px;
  background:
    linear-gradient(rgba(250,246,228,.94), rgba(239,231,205,.96)),
    url('../images/music-notebook-herbarium-v1.webp') center / cover;
  box-shadow: 0 22px 50px -30px rgba(0,0,0,.85), inset 0 0 45px rgba(116,86,32,.08);
}

section.wrap::after {
  content: '';
  position: absolute;
  inset: 10px;
  pointer-events: none;
  border: 1px solid rgba(123,91,35,.16);
  border-radius: 3px 12px 4px 10px;
}

.sec-eyebrow { color: #8b6826; font-weight: 700; }
.sec-t { color: #302f25; }
.sec-d { color: #686356; }
.sec-d b { color: #304638; }

.now { border-color: rgba(70,91,61,.35); background: rgba(57,86,61,.08); }
.now__k { color: #49664f; }
.now__b { color: #666154; }
.now__b b { color: #354938; }

.doors { grid-template-columns: repeat(2, minmax(0,1fr)); }
.door {
  border-color: rgba(91,103,66,.34);
  background:
    linear-gradient(155deg, rgba(255,253,241,.78), rgba(231,224,198,.72)),
    url('../images/music-notebook-herbarium-v1.webp') center / cover;
  box-shadow: inset 0 1px rgba(255,255,255,.7), 0 14px 26px -24px rgba(46,53,35,.8);
}
.door::after { background: radial-gradient(90% 130% at 50% 110%, rgba(74,108,77,.16), transparent 70%); }
.door:hover { border-color: rgba(85,110,75,.62); box-shadow: 0 16px 30px -22px rgba(35,55,38,.8); }
.door svg { stroke: #517057; }
.door h3 { color: #314936; }
.door .en { color: #8b6b2f; }
.door p { color: #686255; }
.door p b { color: #334638; }
.feature-state { color: #3c6549; background: rgba(71,116,79,.09); border-color: rgba(62,106,71,.25); }
.feature-state--planned { color: #82662e; background: rgba(154,117,43,.08); border-color: rgba(132,98,33,.25); }

.stage { border: 5px solid #39553e; outline: 1px solid #c4a450; background: #1e3325; box-shadow: inset 0 0 0 1px rgba(220,197,132,.24), 0 15px 30px -24px #142219; }
.stage__body { color: #e8dfc5; background: linear-gradient(180deg,#2c4633,#1b3022); }
.stage__cols li { color: #c7c7b2; }
.stage__cols li b { color: #f0e6c8; }
.quiet { color: #acd0af; }

.case { border-color: rgba(94,107,72,.32); background: rgba(255,253,240,.55); }
.case .who { color: #7f642e; }
.case h4 { color: #304737; }
.case p { color: #686256; }
.case p b { color: #334739; }

.cmp-wrap { border-color: rgba(95,104,68,.38); background: rgba(255,253,239,.58); }
.cmp { color: #5e594d; }
.cmp th { color: #7a602a; background: rgba(63,92,66,.1); }
.cmp th.sp { color: #f1e5bd; background: #35523c; }
.cmp td { border-bottom-color: rgba(102,84,45,.16); }
.cmp td.sp { color: #36503c; background: rgba(69,99,70,.08); }
.cmp td.sp b { color: #35543e; }
.cmp .cmp-sec td { color: #46644b; border-bottom-color: rgba(68,103,74,.25); }

.price { border: 5px solid #39553e; outline: 1px solid #c8a64f; background: linear-gradient(180deg,#314b37,#172b1f); }
.price__head { border-bottom-color: rgba(225,200,126,.34); background: radial-gradient(80% 120% at 50% -20%, rgba(231,202,124,.2), transparent 70%); }
.price__name,.price__fig { color: #f1e4bd; }
.price__en,.price__alt,.price__bonus,.price__note,.sp-buy__fine { color: #c9c7b4; }
.price__alt b,.price__bonus b { color: #f1e4bd; }
.price__bonus { border-color: rgba(230,205,132,.42); }
.sp-plan__opt { color: #efe6ca; background: rgba(255,255,255,.035); border-color: rgba(226,201,128,.32); }
.sp-plan__opt.is-on { border-color: #d0b45f; background: rgba(208,180,95,.13); }
.sp-email { color: #f4edd7; background: rgba(5,15,9,.35); border-color: rgba(226,201,128,.35); }
.sp-cta { color: #26301f; background: linear-gradient(180deg,#f2dea0,#caa84f); }

.safe { border-color: rgba(86,104,69,.32); background: rgba(255,253,239,.52); }
.safe > div { border-color: rgba(94,108,72,.25); }
.safe h5 { color: #33503a; }
.safe p { color: #686255; }

.signup input { color: #2f3529; background: rgba(255,253,239,.72); border-color: rgba(99,79,39,.4); }
.signup button { color: #f6edcf; background: #35533c; border-color: #29452f; }
.fine { color: #706a5b; }

footer { margin-top: 0; color: rgba(238,228,197,.72); border-top-color: rgba(221,195,119,.28); background: rgba(7,18,12,.36); }

@media (max-width: 900px) {
  .sp-brand-hero { width:calc(100% - 24px); }
  .sp-brand-card { min-height:820px; }
  .sp-brand-card__content { width: calc(100% - 132px); margin:0 66px; padding:78px 0 64px; }
  .sp-brand-card__crest { opacity: .34; right: 5%; top: 12%; }
  .sp-brand-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sp-brand-stat { min-height: 98px; }
  .sp-brand-flow__grid { grid-template-columns: 1fr; gap: 18px; }
  .sp-brand-flow__grid > div { border-left: 0; border-top: 1px solid rgba(105,80,33,.2); padding: 18px 0 0; }
  .sp-brand-flow__grid > div:first-child { border-top: 0; padding-top: 0; }
}

@media (max-width: 640px) {
  main { padding: 12px 0 48px; }
  .hd__in { padding: 10px 12px; gap: 8px; }
  .hd__tag { display: none; }
  .hd__badge { padding: 3px 9px; }
  #sp-lang { padding: 4px 9px !important; }

  .sp-brand-hero { width: calc(100% - 18px); margin-bottom: 12px; }
  .sp-brand-card { min-height: 0; border-radius: 15px 15px 10px 10px; background-position: center; }
  .sp-brand-card::before { inset: 8% 8% 10%; background: radial-gradient(ellipse at 45% 46%,rgba(247,241,217,.38),rgba(247,241,217,.2) 68%,transparent 100%); border-radius: 28%; filter:blur(7px); }
  .sp-brand-card::after { inset: 7px; border-radius: 10px; }
  .sp-brand-card__content { width: auto; min-width: 0; max-width: 100%; margin: 0; padding: 48px 26px 38px; }
  .sp-brand-card__crest { display: none; }
  .sp-brand-hero .hero__eyebrow { font-size: 8px; line-height: 1.6; letter-spacing: .25em; }
  .sp-brand-hero h1 { font-size: clamp(1.75rem,9vw,2.35rem); line-height: 1.48; letter-spacing: .045em; overflow-wrap: anywhere; }
  .sp-brand-hero h1 em { white-space: nowrap; }
  .sp-brand-card__lead { font-size: .84rem !important; line-height: 1.95 !important; }
  .sp-brand-grid { gap: 7px; }
  .sp-brand-stat { min-height: 91px; padding: 11px 10px; }
  .sp-brand-stat__k { font-size: 6px; letter-spacing: .14em; }
  .sp-brand-stat strong { font-size: 1.16rem; }
  .sp-brand-stat > span:last-child { font-size: 9px; }
  .sp-brand-hero .hero__actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .sp-brand-hero .hero__cta { width: 100%; }
  .sp-brand-card__private { font-size: 9.5px !important; }

  .lang-en .sp-brand-hero h1 { font-size: clamp(1.55rem,8vw,1.95rem); letter-spacing: .02em; }
  .lang-en .sp-brand-hero h1 em { white-space: normal; }
  .lang-en .sp-brand-stat strong { font-size: 1rem; white-space: normal; }
  .lang-en .sp-brand-stat:nth-child(4) strong { font-size:.92rem; letter-spacing:0; }
  .lang-en .sp-brand-stat > span:last-child { font-size: 8.5px; }

  section.wrap { width: calc(100% - 18px); margin: 12px auto; padding: 34px 20px !important; border-radius: 5px 12px 6px 10px; }
  section.wrap::after { inset: 6px; }
  .doors { grid-template-columns: 1fr; }
  .door { padding: 22px 19px; }
  .stage { border-width: 3px; }
  .price { border-width: 3px; }
  .price__body,.price__head { padding-left: 18px; padding-right: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .sp-brand-card { background-attachment: initial; }
}

/* ===== Studio Pass member home ===== */
.sp-member-home[hidden], #sp-sales-main[hidden] { display:none !important; }
.sp-member-home { width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:38px 0 72px; }
.sp-home-hero { position:relative; min-height:390px; display:flex; align-items:center; overflow:hidden; padding:70px clamp(34px,8vw,105px); border:1px solid rgba(113,86,40,.4); border-radius:8px 22px 9px 24px; color:#354632; background:linear-gradient(90deg,rgba(247,241,216,.9),rgba(239,228,192,.76)),url('/assets/images/studio-pass-herbarium-v1.webp') center/cover; box-shadow:0 24px 65px rgba(12,24,14,.24); }
.sp-home-hero::after { content:""; position:absolute; inset:10px; border:1px solid rgba(102,76,34,.3); border-radius:5px 17px 6px 18px; pointer-events:none; }
.sp-home-hero__copy { position:relative; z-index:1; max-width:680px; }
.sp-home-status { display:inline-block; margin:12px 0 22px; padding:7px 16px; border:1px solid rgba(58,91,61,.42); border-radius:999px; color:#31533a; background:rgba(241,238,210,.7); font-size:12px; font-weight:700; letter-spacing:.08em; }
.sp-home-hero h2 { margin:0 0 22px; color:#2e4935; font-family:'Noto Serif JP',serif; font-size:clamp(2.25rem,5vw,4rem); font-weight:500; line-height:1.42; letter-spacing:.06em; }
.sp-home-hero__copy > p:last-child { color:#655f50; font-family:'Noto Serif JP',serif; font-size:15px; line-height:2; }
.sp-home-crest { position:absolute; right:6%; top:13%; display:grid; place-items:center; width:150px; height:150px; border:1px solid rgba(83,104,65,.3); border-radius:50%; color:rgba(53,79,56,.5); transform:rotate(5deg); }
.sp-home-crest::before,.sp-home-crest::after { content:""; position:absolute; inset:9px; border:1px solid currentColor; border-radius:50%; }.sp-home-crest::after{inset:18px;border-style:dotted}.sp-home-crest span{font-family:serif;font-size:30px}.sp-home-crest small{position:absolute;bottom:35px;font-size:7px;letter-spacing:.18em}
.sp-home-actions { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; margin:24px 0; }
.sp-home-mobile-message { display:none; }
.sp-home-door { min-height:265px; display:flex; flex-direction:column; align-items:flex-start; padding:38px; border:1px solid rgba(203,176,102,.34); border-radius:8px 18px 8px 20px; color:#eee5c9; text-align:left; text-decoration:none; cursor:pointer; background:linear-gradient(145deg,rgba(47,76,53,.98),rgba(17,39,26,.98)); box-shadow:0 15px 40px rgba(7,18,11,.22); transition:transform .2s ease,border-color .2s ease; }
.sp-home-door--notebook { border-color:rgba(91,72,39,.35); color:#3d4938; background:linear-gradient(145deg,rgba(243,236,207,.97),rgba(220,209,168,.96)); font:inherit; }
.sp-home-door:hover { transform:translateY(-3px); border-color:#d2b762; }
.sp-home-door__no { margin-bottom:auto; font-size:9px; letter-spacing:.24em; opacity:.65; }
.sp-home-door strong { margin:24px 0 12px; font-family:'Noto Serif JP',serif; font-size:clamp(1.35rem,3vw,2rem); letter-spacing:.08em; }
.sp-home-door > span:not(.sp-home-door__no) { max-width:520px; font-size:13px; line-height:1.85; opacity:.8; }
.sp-home-door i { margin-top:24px; color:#dfc875; font-size:12px; font-style:normal; letter-spacing:.08em; }.sp-home-door--notebook i{color:#426248}
.sp-home-world { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:26px; margin-top:24px; padding:36px 40px; overflow:hidden; border:1px solid rgba(205,180,105,.35); border-radius:8px 18px 8px 20px; color:#e8e2ca; background:radial-gradient(circle at 8% 50%,rgba(208,184,103,.14),transparent 28%),linear-gradient(135deg,rgba(19,44,31,.98),rgba(8,25,18,.98)); box-shadow:0 15px 40px rgba(7,18,11,.22); }
.sp-home-world::after { content:""; position:absolute; inset:7px; border:1px solid rgba(210,185,106,.13); border-radius:5px 13px 5px 14px; pointer-events:none; }
.sp-home-world__mark { position:relative; z-index:1; display:grid; place-items:center; width:76px; height:76px; border:1px solid rgba(222,200,127,.38); border-radius:50%; color:#d9be69; font-size:27px; box-shadow:0 0 35px rgba(211,184,96,.15),inset 0 0 20px rgba(211,184,96,.08); }
.sp-home-world > div:not(.sp-home-world__mark) { position:relative; z-index:1; }
.sp-home-world h2 { margin:4px 0 10px; color:#eee4c3; font-family:'Noto Serif JP',serif; font-size:clamp(1.25rem,2.5vw,1.8rem); font-weight:500; letter-spacing:.06em; }
.sp-home-world p:not(.sec-eyebrow) { max-width:760px; margin:0 0 9px; color:rgba(235,230,208,.78); font-size:13px; line-height:1.9; }
.sp-home-world span { color:#d6c681; font-size:11px; letter-spacing:.04em; }
.sp-home-world > a { position:relative; z-index:1; min-width:135px; padding:12px 17px; border:1px solid rgba(214,190,111,.45); border-radius:999px; color:#e2ca7b; text-align:center; text-decoration:none; font-size:12px; white-space:nowrap; }
.sp-home-guide,.sp-home-shelf { margin-top:24px; padding:42px; border:1px solid rgba(85,74,47,.25); border-radius:7px 16px 8px 19px; color:#48483d; background:rgba(246,241,218,.84); box-shadow:0 14px 38px rgba(11,25,15,.15); }
.sp-home-guide h2,.sp-home-shelf h2 { margin:5px 0 24px; color:#35503b; font-family:'Noto Serif JP',serif; font-size:clamp(1.35rem,3vw,2rem); font-weight:500; }
.sp-home-guide ol { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0; padding:0; list-style:none; }
.sp-home-guide li { display:flex; gap:15px; padding:20px 25px; border-left:1px solid rgba(77,95,63,.22); }.sp-home-guide li:first-child{border-left:0;padding-left:0}.sp-home-guide li>b{color:#aa873b;font:italic 26px serif}.sp-home-guide li strong{display:block;margin-bottom:8px;color:#3b5540;font-family:'Noto Serif JP',serif}.sp-home-guide li span{font-size:12px;line-height:1.8;color:#716b5b}
.sp-home-shelf { display:flex; align-items:center; justify-content:space-between; gap:30px; background:linear-gradient(135deg,rgba(239,233,203,.9),rgba(211,222,190,.84)); }.sp-home-shelf p{max-width:650px;font-size:13px;line-height:1.9}.sp-home-shelf__links{display:grid;gap:10px;min-width:240px}.sp-home-shelf__links button,.sp-home-shelf__links a{padding:12px 18px;border:1px solid rgba(55,82,58,.42);border-radius:999px;color:#315039;text-align:center;text-decoration:none;background:rgba(249,246,224,.65);font:12px inherit;cursor:pointer}
@media(max-width:760px){.sp-member-home{width:calc(100% - 18px);padding:12px 0 48px}.sp-home-hero{min-height:430px;padding:50px 25px;align-items:flex-end}.sp-home-crest{width:105px;height:105px;right:8%;top:8%}.sp-home-crest small{bottom:23px}.sp-home-hero h2{font-size:2rem}.sp-home-actions{grid-template-columns:1fr}.sp-home-mobile-message{display:block;margin:0;padding:15px 18px;border:1px solid rgba(207,179,99,.4);border-radius:12px;color:#e9dfc1;background:rgba(26,48,32,.78);font-size:12px;line-height:1.8}.sp-home-door--studio{display:none}.sp-home-door{min-height:235px;padding:28px}.sp-home-world{grid-template-columns:1fr;padding:29px 24px}.sp-home-world__mark{width:58px;height:58px}.sp-home-world > a{width:100%}.sp-home-guide,.sp-home-shelf{padding:30px 23px}.sp-home-guide ol{grid-template-columns:1fr}.sp-home-guide li{border-left:0;border-top:1px solid rgba(77,95,63,.22);padding:20px 0}.sp-home-guide li:first-child{border-top:0}.sp-home-shelf{display:block}.sp-home-shelf__links{margin-top:25px;min-width:0}}
