@charset "utf-8";
/* =========================================================
   Podcast LP — 経営のための創造社 × LAMM
   assets/css/style.css
   ========================================================= */
:root { --accent: #E6FF00; }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; background: #F9F8F4; color: #0A0A0A; font-family: "Noto Sans JP","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",YuGothic,Meiryo,sans-serif; font-feature-settings: "palt" 1; -webkit-font-smoothing: antialiased; }
  a { color: #0A0A0A; text-decoration: none; }
  a:hover { color: #2B2B2B; }
  img { display: block; }
  button { font: inherit; }
  summary { list-style: none; cursor: pointer; }
  summary::-webkit-details-marker { display: none; }
  details[open] [data-plus] { transform: rotate(45deg); }
  a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  @media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
  [data-nav-swipe] { position: relative; }
  [data-nav-swipe]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 6px; background: var(--accent); transform: scaleX(0); transform-origin: left center; transition: transform 0.36s cubic-bezier(.2,.7,.3,1); }
  [data-nav-swipe]:hover::after, [data-nav-swipe]:focus-visible::after { transform: scaleX(1); }
  @keyframes om-marquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
  @keyframes om-pulse { 0%, 100% { opacity: 1; transform: translateY(0); } 50% { opacity: 0.5; transform: translateY(-3px); } }
  [data-hero-sub] { animation: om-pulse 2.6s ease-in-out infinite; }
  [data-volume]:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; border-radius: 999px; }
  [data-volume] [data-vol-thumb] { transition: transform 0.12s cubic-bezier(.2,.7,.3,1); }
  [data-volume]:hover [data-vol-thumb] { transform: translate(-50%,-50%) scale(1.18); }
  [data-marquee-track] { animation: om-marquee 34s linear infinite; }
  [data-marquee]:hover [data-marquee-track] { animation-play-state: paused; }
  [data-marquee-rev] [data-marquee-track] { animation-direction: reverse; }
  [data-hero-band] [data-marquee-track] { animation-duration: 48s; }
  [data-hero-band] { padding-top: clamp(8px, 0.9vw, 14px) !important; padding-bottom: clamp(8px, 0.9vw, 14px) !important; border-block: 3px solid #0A0A0A !important; }
  [data-hero-band] [data-marquee-track] > div { gap: clamp(2rem, 3.4vw, 56px) !important; padding-right: clamp(2rem, 3.4vw, 56px) !important; }
  [data-hero-band] [data-marquee-track] span { font-size: clamp(30px, 4vw, 66px) !important; font-weight: 900 !important; letter-spacing: 0.01em !important; line-height: 1 !important; }
  [data-hero-band] [data-marquee-track] span[style*="border-radius:50%"] { width: 12px !important; height: 12px !important; font-size: 0 !important; }
  @media (max-width: 1120px) {
    [data-r="header"] { padding-left: 2vw !important; padding-right: 2vw !important; }
    [data-r="header-nav"] { column-gap: 1.2rem !important; row-gap: 13px !important; padding-top: 16px !important; }
    [data-r="header-nav"] a { font-size: 11px !important; letter-spacing: 0.05em !important; }
    [data-r="brand-mark"] { width: 38px !important; }
    [data-r="brand-text"] { font-size: 10px !important; }
    [data-r="cols-4"], [data-r="why-col"] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  }
  @media (max-width: 900px) {
    [data-r="header-nav"] { display: none !important; }
    [data-r="hero-stage"] { min-height: 0 !important; padding-top: 24px !important; padding-bottom: 24px !important; }
    [data-r="hero-inner"] { padding-left: 6% !important; padding-right: 6% !important; }
    [data-hero-split="1"] { grid-template-columns: minmax(0,1fr) !important; row-gap: 26px !important; }
    [data-hero-split="1"] > * { grid-column: 1 !important; grid-row: auto !important; }
    [data-r="glow"] { width: 44% !important; left: 60% !important; opacity: 0.7 !important; }
    [data-r="vert-left"], [data-r="vert-right"] { display: none !important; }
    [data-r="ghost"] { display: none !important; }
    [data-r="why-grid"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="why-col"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="cols-3"], [data-r="cols-2"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="dots"] { flex-direction: row !important; }
    [data-r="stat-grid"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="art"] { flex: 1 1 100% !important; }
    [data-r="show-media"] { width: 100% !important; justify-content: flex-start !important; }
    [data-r="vlabel"] { display: none !important; }
    [data-r="nowrap"] { white-space: normal !important; }
  }
  @media (max-width: 900px) {
    /* 白ヌキ固定ヘッダー：ロゴ+CONTACTのみ、面を敷いて可読性を確保 */
    [data-r="header"] { padding: 12px 5vw !important; background: rgba(249,248,244,0.94) !important; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid #DCDCDC; align-items: center !important; }
    [data-r="brand-mark"] { width: 32px !important; }
    [data-r="brand-text"] { font-size: 9px !important; line-height: 1.6 !important; letter-spacing: 0.1em !important; }
    [data-hdr-pill="1"] { padding: 12px 18px !important; font-size: 11px !important; min-height: 44px; }
    /* 巨大英字見出しを画面幅に収める */
    section h2 { font-size: clamp(2.2rem, 13vw, 3.6rem) !important; }
    section h2 + p, section p[style*="2.6vw"] { font-size: clamp(1.05rem, 5.4vw, 1.5rem) !important; line-height: 1.5 !important; }
    /* セクション内側の余白をモバイル基準に */
    section > div[style*="min(1440px"] { width: 90% !important; }
    section { padding-top: clamp(40px, 9vw, 56px) !important; padding-bottom: clamp(36px, 8vw, 52px) !important; }
    /* 捲れ演出はモバイルでは切って素直な縦積みに */
    section { position: relative !important; top: auto !important; min-height: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
    [data-pause="1"] { height: 0 !important; }
    /* 数値の巨大表示を抑える */
    section span[style*="6.4vw"], section span[style*="5.8vw"], section span[style*="4.6vw"] { font-size: clamp(3rem, 17vw, 4.5rem) !important; }
    /* 1行固定を解除して折り返しを許可 */
    [style*="white-space:nowrap"] { white-space: normal !important; }
    [data-r="header"] [style*="white-space:nowrap"], [data-marquee] [style*="white-space:nowrap"] { white-space: nowrap !important; }
    /* FVのコンベアを読める大きさに */
    [data-hero-band] [data-marquee-track] span { font-size: clamp(20px, 7vw, 30px) !important; }
    [data-hero-band] [data-marquee-track] span[style*="border-radius:50%"] { width: 8px !important; height: 8px !important; }
    [data-hero-band] [data-marquee-track] > div { gap: 1.2rem !important; padding-right: 1.2rem !important; }
    /* FV：帯とコピーを密着させる */
    [data-hero-band] { margin-top: 62px !important; border-block-width: 2px !important; }
    #top { display: flex !important; flex-direction: column !important; justify-content: flex-start !important; height: auto !important; }
    [data-r="hero-stage"] { padding-left: 0 !important; padding-right: 0 !important; }
    [data-hero-split="1"] { row-gap: 18px !important; padding-left: 6% !important; padding-right: 6% !important; }
    /* コピーをしっかり見せる */
    #top h1 { font-size: clamp(2rem, 9.6vw, 3rem) !important; line-height: 1.22 !important; }
    [data-hero-lockup="1"], #top p[style*="text-transform:uppercase"] { font-size: clamp(13px, 3.6vw, 17px) !important; }
    /* FVプレイヤーカード：アートワークと本文を横並びのまま整える */
    [data-hero-aside="1"] article { grid-template-columns: minmax(0,1fr) !important; padding: 18px !important; row-gap: 16px !important; }
    [data-hero-aside="1"] article > div:first-child { width: 108px !important; margin-top: 0 !important; }
    [data-hero-aside="1"] article > div:first-child span { font-size: 6px !important; line-height: 1.4 !important; }
    [data-hero-aside="1"] article p { font-size: 13px !important; line-height: 1.9 !important; }
    /* PRODUCED BY 行は縦積みにして、長い社名は折り返す */
    [data-hero-aside="1"] > div:last-child { flex-direction: column !important; align-items: flex-start !important; border-radius: 14px !important; padding: 14px 18px !important; gap: 8px !important; }
    [data-hero-aside="1"] > div:last-child > span:last-child { flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; width: 100% !important; }
    [data-hero-aside="1"] > div:last-child span { white-space: normal !important; font-size: 12px !important; line-height: 1.8 !important; }
    /* タップ領域を44px以上に */
    a[style*="border-radius:999px"] { min-height: 44px; align-items: center; }
    /* 比較カード・レベル表を縦積み */
    [data-r="cmp-row"], [data-r="lvl-row"] { grid-template-columns: minmax(0,1fr) !important; row-gap: 8px !important; }
    [data-r="cmp-cell"], [data-r="lvl-cell"] { border-left: 0 !important; padding-left: 0 !important; }
    [data-r="faq-grid"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="exp-head"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="member"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="footer-grid"] { grid-template-columns: minmax(0,1fr) !important; gap: 26px !important; }
    [data-r="divider"] { display: none !important; }
    [data-r="footer-social"] { align-items: flex-start !important; }
    /* ミニプレイヤーは指が届く位置に */
    [data-mini-player="1"] { right: 4vw !important; bottom: 16px !important; padding: 8px 16px 8px 8px !important; }
    [data-mini-player="1"] button { width: 44px !important; height: 44px !important; }
    /* 装飾は間引く */
    [data-r="orbit-line"], [data-decor="true"] { display: none !important; }
  }
  @media (max-width: 640px) {
    section h2 { font-size: clamp(2rem, 14vw, 3rem) !important; }
    [data-r="cols-4"], [data-r="cols-3"], [data-r="cols-2"], [data-r="why-col"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="stat-grid"] { grid-template-columns: minmax(0,1fr) !important; row-gap: 30px !important; }
    /* subgridの行揃えは1カラムでは不要 */
    [data-r="why-col"] > article, [data-r="cols-4"] > article, [data-r="cols-3"] > article { grid-template-rows: none !important; grid-row: auto !important; display: flex !important; flex-direction: column !important; }
    section article h3, section article h4 { font-size: clamp(1.05rem, 5vw, 1.4rem) !important; }
    section article p, section article span, section article li { font-size: clamp(0.9rem, 4vw, 1rem) !important; }
    /* CTA */
    [data-screen-label="CTA"] p { font-size: clamp(1.35rem, 7.2vw, 2rem) !important; white-space: normal !important; }
    [data-screen-label="CTA"] > div > div { flex-direction: column !important; width: 100%; }
    [data-screen-label="CTA"] a { width: 100%; justify-content: center; }
    /* OUR SHOW */
    #show > div > div[style*="flex-wrap:wrap"] { gap: 24px !important; }
    #show [style*="width:clamp(150px,17vw,244px)"] { width: 60% !important; max-width: 240px; }
    /* TEAM 写真 */
    [data-r="member"] > div:first-child { width: 40% !important; max-width: 160px; }
    /* 比較カード：黄色いオフセット影を抑えて枠内に収める */
    [data-r="cmp-row"] { box-shadow: 0 5px 0 0 var(--accent), 0 8px 18px rgba(10,10,10,0.10) !important; padding: 18px !important; }
    [data-r="cmp-row"] h4 { font-size: clamp(1.05rem, 5.2vw, 1.35rem) !important; }
    [data-r="cmp-cell"] { padding: 12px 14px !important; }
    /* EXPANSION カードも同様 */
    #expansion article { box-shadow: 0 6px 0 0 var(--accent), 0 10px 20px rgba(0,0,0,0.35) !important; padding: 20px !important; }
  }
  @media (max-width: 420px) {
    section > div[style*="min(1440px"] { width: 92% !important; }
    section h2 { font-size: clamp(1.8rem, 15vw, 2.4rem) !important; }
    [data-r="brand-text"] { display: none !important; }
  }
  @media (max-width: 640px) {
    [data-r="cols-4"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="cmp-row"], [data-r="lvl-row"] { grid-template-columns: minmax(0,1fr) !important; row-gap: 6px !important; }
    [data-r="cmp-cell"], [data-r="lvl-cell"] { border-left: 0 !important; padding-left: 0 !important; }
    [data-r="faq-grid"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="footer-grid"] { grid-template-columns: minmax(0,1fr) !important; gap: 26px !important; }
    [data-r="divider"] { display: none !important; }
    [data-r="footer-social"] { align-items: flex-start !important; }
    [data-r="exp-head"] { grid-template-columns: minmax(0,1fr) !important; }
    [data-r="member"] { grid-template-columns: minmax(0,1fr) !important; }
  }


/* ---- elements ---- */
.s1 { position:relative; width:100%; overflow-x:clip; background:#F9F8F4; }
.s2 { position:fixed; inset:0 0 auto; z-index:100; display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; padding:20px clamp(0.9rem,1.8vw,26px); background:rgba(249,248,244,0.92); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); pointer-events:none; }
.s3 { display:flex; gap:13px; align-items:center; pointer-events:auto; }
.s4 { position:relative; width:44px; flex:none; display:block; }
.s5 { width:100%; height:auto; transition:opacity 0.32s cubic-bezier(.2,.7,.3,1); }
.s6 { position:absolute; inset:0; width:100%; height:auto; opacity:0; transition:opacity 0.32s cubic-bezier(.2,.7,.3,1); }
.s7 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:15px; font-weight:400; line-height:1; color:#0A0A0A; transition:color 0.32s cubic-bezier(.2,.7,.3,1); }
.s8 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:8.5px; font-weight:700; letter-spacing:0.14em; line-height:1.85; text-transform:uppercase; color:#0A0A0A; transition:color 0.32s cubic-bezier(.2,.7,.3,1); }
.s9 { display:grid; justify-content:center; align-items:center; grid-template-columns:repeat(6, auto); column-gap:clamp(1.6rem,3.2vw,46px); row-gap:16px; padding-top:6px; pointer-events:auto; }
.s10 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; white-space:nowrap; color:#0A0A0A; transition:color 0.32s cubic-bezier(.2,.7,.3,1); }
.s11 { pointer-events:auto; display:inline-flex; align-items:center; gap:12px; background:#0A0A0A; color:var(--accent); border-radius:999px; padding:4px 18px 4px 4px; border:2px solid transparent; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:12px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; white-space:nowrap; transition:color 0.22s cubic-bezier(.2,.7,.3,1), border-color 0.22s cubic-bezier(.2,.7,.3,1); }
.s11:hover { color:var(--accent) !important; border-color:var(--accent); }
.s11::before { content:"arrow_forward"; font-family:'Material Symbols Rounded'; font-variation-settings:'wght' 700,'FILL' 1; font-style:normal; display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:var(--accent); color:#0A0A0A; font-size:18px; flex:none; line-height:1; }
.s12 { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; left:-9999px; }
.s13 { position:fixed; right:clamp(0.9rem,1.8vw,26px); bottom:clamp(14px,1.6vw,24px); z-index:130; display:flex; align-items:center; gap:14px; background:#0A0A0A; border:2px solid #0A0A0A; border-radius:999px; padding:9px 20px 9px 10px; box-shadow:0 10px 30px rgba(10,10,10,0.28); opacity:0; transform:translateY(14px); pointer-events:none; transition:opacity 0.34s cubic-bezier(.2,.7,.3,1), transform 0.34s cubic-bezier(.2,.7,.3,1); }
.s14 { width:38px; height:38px; flex:none; padding:0; border:0; border-radius:50%; background:var(--accent); cursor:pointer; display:grid; place-items:center; transition:transform 0.18s cubic-bezier(.2,.7,.3,1); }
.s15 { display:block; width:0; height:0; border-left:12px solid #0A0A0A; border-top:8px solid transparent; border-bottom:8px solid transparent; margin-left:3px; }
.s16 { display:none; gap:4px; grid-auto-flow:column; }
.s17 { width:4px; height:15px; background:#0A0A0A; display:block; }
.s18 { display:flex; flex-direction:column; gap:2px; min-width:0; }
.s19 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:9px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent); white-space:nowrap; }
.s20 { position:relative; overflow:clip; background:#F3F1EC; }
.s21 { position:relative; z-index:7; width:100%; overflow:hidden; margin-top:96px; padding:clamp(9px,1vw,14px) 0; border-block:1px solid #DCDCDC; flex:none; }
.s22 { display:flex; width:max-content; will-change:transform; }
.s23 { display:flex; align-items:center; gap:clamp(1.4rem,2.6vw,40px); padding-right:clamp(1.4rem,2.6vw,40px); flex:none; }
.s24 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.95vw,13px); font-weight:700; letter-spacing:0.16em; text-transform:uppercase; white-space:nowrap; color:#2B2B2B; }
.s25 { width:6px; height:6px; border-radius:50%; background:var(--accent); flex:none; }
.s26 { position:relative; z-index:8; width:100%; container-type:inline-size; min-height:0; flex:0 1 auto; padding:max(20px,1.6vw) 0 max(20px,1.6vw); }
.s27 { position:absolute; left:max(0.4rem,0.8cqw); top:19%; z-index:6; display:flex; flex-direction:column; align-items:center; gap:26px; }
.s28 { writing-mode:vertical-rl; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:max(11px,0.85cqw); font-weight:700; letter-spacing:0.16em; text-transform:uppercase; padding-block-end:0.16em; }
.s29 { position:absolute; right:max(0.6rem,1.2cqw); top:19%; z-index:6; writing-mode:vertical-rl; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:max(11px,0.85cqw); font-weight:700; letter-spacing:0.16em; text-transform:uppercase; padding-block-end:0.16em; }
.s30 { position:relative; z-index:6; width:100%; padding-left:max(40px,7.2cqw); padding-right:max(1.5rem,3.2cqw); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); column-gap:max(1rem,2.2cqw); align-items:center; }
.s31 { margin:0; font-size:max(2.2rem,6cqw); font-weight:900; line-height:1.17; letter-spacing:-0.025em; color:#0A0A0A; display:flex; flex-direction:column; align-items:flex-start; grid-column:1; grid-row:1; }
.s32 { display:block; }
.s33 { background:var(--accent); color:#0A0A0A; padding:0 0.06em; }
.s34 { margin:max(16px,1.8cqw) 0 0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:max(18px,1.85cqw); font-weight:700; line-height:1.5; letter-spacing:0.1em; text-transform:uppercase; color:#0A0A0A; grid-column:1; grid-row:2; }
.s35 { font-weight:400; }
.s36 { width:100%; grid-column:2; grid-row:1 / 4; align-self:center; }
.s37 { margin-top:0; width:100%; background:#0A0A0A; color:#F9F8F4; border-radius:max(12px,1.18cqw); padding:1.67cqw 1.95cqw 1.8cqw; display:grid; grid-template-columns:auto minmax(0,1fr); gap:1.25cqw 1.53cqw; box-shadow:0 18px 40px rgba(10,10,10,0.14); }
.s38 { position:relative; margin-top:max(14px,1.4cqw); width:max(104px,9.8cqw); aspect-ratio:167 / 176; border-radius:6px; overflow:hidden; flex:none; }
.s39 { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.12) brightness(0.82); }
.s40 { position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.15) 45%, rgba(10,10,10,0.65) 100%); }
.s41 { position:absolute; left:12px; top:12px; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:7px; font-weight:700; line-height:1.5; letter-spacing:0.1em; text-transform:uppercase; color:#F9F8F4; }
.s42 { position:absolute; left:12px; bottom:12px; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:7px; font-weight:700; line-height:1.5; letter-spacing:0.1em; text-transform:uppercase; color:#F9F8F4; }
.s43 { display:flex; flex-direction:column; gap:10px; min-width:0; }
.s44 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:15px; font-weight:700; letter-spacing:0.02em; color:var(--accent); }
.s45 { margin:0; font-size:max(14px,1.15cqw); font-weight:500; line-height:2; letter-spacing:0.05em; color:#F9F8F4; }
.s46 { grid-column:1 / -1; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:22px; }
.s47 { width:56px; height:56px; flex:none; padding:0; border:0; background:transparent; cursor:pointer; display:grid; place-items:center; transition:transform 0.18s cubic-bezier(.2,.7,.3,1); }
.s48 { width:56px; height:56px; display:block; }
.s49 { display:none; width:56px; height:56px; border-radius:50%; background:var(--accent); place-items:center; grid-template-columns:repeat(2,5px); gap:5px; justify-content:center; align-items:center; }
.s50 { width:5px; height:20px; background:#0A0A0A; display:block; }
.s51 { display:flex; flex-direction:column; gap:12px; min-width:0; }
.s52 { display:flex; align-items:center; gap:2px; width:100%; height:34px; cursor:pointer; touch-action:none; }
.s53 { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.s54 { margin:0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:13px; font-weight:400; letter-spacing:0.06em; color:#8A8A8A; }
.s55 { display:flex; align-items:center; gap:9px; min-width:0; }
.s56 { display:block; width:17px; height:14px; flex:none; background:currentColor; color:#8A8A8A; -webkit-mask:url(&quot; data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M3 7h4l5-4v14l-5-4H3z'/%3E%3Cpath d='M16 6a6 6 0 0 1 0 8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E&quot; ) no-repeat center / contain; mask:url(&quot; data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M3 7h4l5-4v14l-5-4H3z'/%3E%3Cpath d='M16 6a6 6 0 0 1 0 8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E&quot; ) no-repeat center / contain; }
.s57 { position:relative; display:block; width:clamp(80px,9cqw,124px); height:16px; flex:none; cursor:pointer; touch-action:none; }
.s58 { position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); height:4px; border-radius:999px; background:#2B2B2B; }
.s59 { position:absolute; left:0; top:50%; transform:translateY(-50%); width:80%; height:4px; border-radius:999px; background:var(--accent); }
.s60 { position:absolute; left:80%; top:50%; transform:translate(-50%,-50%); width:14px; height:14px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 1px rgba(10,10,10,0.4); }
.s61 { margin-top:max(14px,1.7cqw); display:flex; align-items:center; gap:max(1rem,2cqw); padding:0.76cqw max(1rem,1.7cqw); background:#FFFFFF; border-radius:999px; box-shadow:0 8px 24px rgba(10,10,10,0.10); width:100%; }
.s62 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:max(9px,0.78cqw); font-weight:700; letter-spacing:0.08em; text-transform:uppercase; white-space:nowrap; color:#8A8A8A; flex:none; }
.s63 { flex:1; min-width:0; display:flex; align-items:center; gap:max(1rem,2cqw); justify-content:flex-start; }
.s64 { font-size:max(9px,0.78cqw); font-weight:700; letter-spacing:0.02em; white-space:nowrap; }
.s65 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:max(9px,0.78cqw); font-weight:700; letter-spacing:0.04em; color:#8A8A8A; flex:none; }
.s66 { margin-top:max(18px,2.2cqw); display:flex; flex-wrap:wrap; gap:12px; }
.s67 { display:inline-flex; align-items:center; gap:12px; background:#0A0A0A; color:#F9F8F4; border-radius:999px; padding:14px 16px 14px 26px; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(11px,1vw,14px); font-weight:700; letter-spacing:0.12em; text-transform:uppercase; white-space:nowrap; transition:opacity 0.22s cubic-bezier(.2,.7,.3,1); }
.s68 { width:clamp(20px,1.7vw,24px); height:auto; }
.s69 { display:inline-flex; align-items:center; gap:12px; color:#0A0A0A; border:1.5px solid #0A0A0A; border-radius:999px; padding:14px 26px; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(11px,1vw,14px); font-weight:700; letter-spacing:0.12em; text-transform:uppercase; white-space:nowrap; transition:background 0.22s cubic-bezier(.2,.7,.3,1), color 0.22s cubic-bezier(.2,.7,.3,1); }
.s70 { position:relative; z-index:7; width:100%; overflow:hidden; padding:clamp(9px,1vw,14px) 0; border-block:1px solid #DCDCDC; flex:none; }
.s71 { font-size:clamp(10px,0.95vw,13px); font-weight:700; letter-spacing:0.1em; white-space:nowrap; color:#2B2B2B; }
.s72 { display:none; position:relative; background:#0A0A0A; color:#F9F8F4; padding:clamp(13px,1.3vw,19px) 0; overflow:hidden; border-block:1px solid #2B2B2B; }
.s73 { display:flex; align-items:center; gap:clamp(1.6rem,3vw,46px); padding-right:clamp(1.6rem,3vw,46px); flex:none; }
.s74 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(11px,1vw,14px); font-weight:700; letter-spacing:0.16em; text-transform:uppercase; white-space:nowrap; }
.s75 { width:7px; height:7px; border-radius:50%; background:var(--accent); flex:none; }
.s76 { position:relative; background:#F9F8F4; padding:clamp(56px,6.4vw,110px) 0 clamp(48px,5.4vw,96px); overflow:clip; }
.s77 { position:relative; width:min(1440px,88%); margin-inline:auto; }
.s78 { display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(1.5rem,3vw,44px); flex-wrap:wrap; }
.s79 { min-width:0; }
.s80 { display:flex; align-items:center; gap:clamp(12px,1.4vw,22px); }
.s81 { margin:0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(2.8rem,6.2vw,90px); font-weight:900; line-height:1; letter-spacing:-0.01em; text-transform:uppercase; }
.s82 { width:clamp(20px,1.9vw,27px); aspect-ratio:27 / 26; background:url(assets/dmr/icon-arrow-diagonal.svg) no-repeat center / contain; }
.s83 { margin:clamp(14px,1.8vw,26px) 0 0; font-size:clamp(1.25rem,2.6vw,38px); font-weight:500; line-height:1.4; letter-spacing:0.06em; }
.s84 { display:block; margin-top:clamp(16px,1.8vw,26px); font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.9vw,13px); font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#8A8A8A; }
.s85 { margin:clamp(10px,1.2vw,16px) 0 0; max-width:min(100%,640px); font-size:clamp(14px,1.15vw,17px); font-weight:500; line-height:2.05; letter-spacing:0.05em; color:#2B2B2B; }
.s86 { position:absolute; inset:auto 0 auto 26%; top:clamp(250px,26vw,430px); display:none; justify-content:space-between; gap:1.2vw; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(3rem,6.2vw,90px); font-weight:800; line-height:0.88; color:transparent; -webkit-text-stroke:1.5px rgba(10,10,10,0.08); user-select:none; pointer-events:none; }
.s87 { position:relative; margin-top:clamp(30px,3.6vw,60px); display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(1.2rem,2.6vw,40px); align-items:stretch; }
.s88 { display:none; flex-direction:column; gap:clamp(9px,0.95vw,13px); padding-top:10px; }
.s89 { width:9px; height:9px; border-radius:50%; background:var(--accent); }
.s90 { width:9px; height:9px; border-radius:50%; background:#0A0A0A; }
.s91 { width:9px; height:9px; border-radius:50%; border:1px solid #8A8A8A; }
.s92 { display:flex; flex-direction:column; gap:clamp(10px,1.1vw,16px); }
.s93 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(3.2rem,6.4vw,96px); font-weight:900; line-height:0.88; letter-spacing:-0.035em; }
.s94 { font-size:0.32em; font-weight:800; letter-spacing:0; }
.s95 { margin:0; font-size:clamp(15px,1.35vw,20px); font-weight:500; line-height:1.8; letter-spacing:0.04em; }
.s96 { margin:auto 0 0; padding-top:clamp(11px,1.2vw,16px); border-top:1px solid #DCDCDC; font-size:clamp(12px,1vw,14px); font-weight:400; line-height:1.95; letter-spacing:0.04em; color:#2B2B2B; }
.s97 { font-size:0.32em; font-weight:800; letter-spacing:0.04em; }
.s98 { margin-top:clamp(40px,4.6vw,78px); display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:clamp(1.2rem,2.4vw,36px); }
.s99 { display:flex; flex-direction:column; gap:clamp(9px,1vw,14px); padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #0A0A0A; }
.s100 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(20px,2.1vw,32px); font-weight:900; letter-spacing:0.02em; text-transform:uppercase; color:#0A0A0A; }
.s101 { margin:0; font-size:clamp(16px,1.5vw,23px); font-weight:500; line-height:1.7; letter-spacing:0.04em; }
.s102 { margin:0; font-size:clamp(13px,1.05vw,15px); font-weight:500; line-height:2; letter-spacing:0.04em; color:#2B2B2B; }
.s103 { margin:auto 0 0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.85vw,12px); font-weight:400; letter-spacing:0.05em; line-height:1.8; color:#8A8A8A; }
.s104 { position:relative; background:#F3F1EC; padding:clamp(56px,6.4vw,110px) 0 clamp(48px,5.4vw,96px); overflow:clip; }
.s105 { display:flex; align-items:center; gap:clamp(12px,1.4vw,20px); }
.s106 { display:flex; flex-direction:column; gap:clamp(10px,1.2vw,16px); margin-top:clamp(16px,1.8vw,26px); }
.s107 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.9vw,13px); font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:#8A8A8A; }
.s108 { margin:0; max-width:min(100%,640px); font-size:clamp(14px,1.15vw,17px); font-weight:500; line-height:2.05; letter-spacing:0.05em; color:#2B2B2B; }
.s109 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(3rem,5.8vw,86px); font-weight:900; line-height:0.88; letter-spacing:-0.035em; }
.s110 { font-size:0.3em; font-weight:800; letter-spacing:0.04em; }
.s111 { font-size:0.3em; font-weight:800; letter-spacing:0; }
.s112 { margin-top:clamp(40px,4.6vw,78px); display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(1.2rem,2.6vw,40px); }
.s113 { display:flex; flex-direction:column; gap:clamp(10px,1.1vw,15px); padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #0A0A0A; }
.s114 { margin:0; font-size:clamp(18px,1.85vw,28px); font-weight:500; line-height:1.6; letter-spacing:0.04em; }
.s115 { margin:0; font-size:clamp(13px,1.05vw,16px); font-weight:500; line-height:2.05; letter-spacing:0.04em; color:#2B2B2B; }
.s116 { margin-top:clamp(32px,3.4vw,54px); display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:clamp(1.2rem,2.4vw,36px); }
.s117 { display:flex; flex-direction:column; gap:8px; padding-top:clamp(12px,1.3vw,17px); border-top:1px solid #DCDCDC; }
.s118 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(15px,1.5vw,23px); font-weight:900; letter-spacing:0.04em; text-transform:uppercase; color:#0A0A0A; }
.s119 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(2rem,3.4vw,50px); font-weight:900; line-height:0.95; letter-spacing:-0.03em; }
.s120 { font-size:0.34em; font-weight:800; }
.s121 { margin:auto 0 0; font-size:clamp(12px,1vw,14px); font-weight:500; line-height:1.95; letter-spacing:0.04em; color:#2B2B2B; }
.s122 { font-size:clamp(1.5rem,2.6vw,38px); font-weight:900; line-height:1.05; letter-spacing:-0.02em; }
.s123 { font-size:0.34em; font-weight:800; letter-spacing:0.04em; }
.s124 { margin-top:clamp(32px,3.4vw,54px); background:#0A0A0A; color:#F9F8F4; border-radius:clamp(14px,1.3vw,20px); padding:clamp(24px,2.8vw,44px); display:flex; flex-direction:column; gap:clamp(12px,1.3vw,18px); box-shadow:0 18px 40px rgba(10,10,10,0.14); }
.s125 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(13px,1.25vw,19px); font-weight:900; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent); }
.s126 { margin:0; font-size:clamp(14px,1.3vw,20px); font-weight:500; line-height:2; letter-spacing:0.05em; color:#DCDCDC; }
.s127 { color:var(--accent); font-weight:700; }
.s128 { position:relative; background:#F9F8F4; padding:clamp(56px,6.4vw,110px) 0 clamp(48px,5.4vw,96px); }
.s129 { width:min(1440px,88%); margin-inline:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,0.82fr); column-gap:clamp(1.5rem,3vw,44px); align-items:center; }
.s130 { grid-column:1; grid-row:1; display:flex; align-items:center; gap:clamp(12px,1.4vw,22px); }
.s131 { margin:clamp(14px,1.8vw,26px) 0 0; grid-column:1; grid-row:2; font-size:clamp(1.25rem,2.6vw,38px); font-weight:500; line-height:1.4; letter-spacing:0.06em; }
.s132 { margin:clamp(16px,1.8vw,26px) 0 0; grid-column:1; grid-row:3; font-size:clamp(15px,1.5vw,22px); font-weight:500; line-height:2.05; letter-spacing:0.05em; color:#2B2B2B; }
.s133 { display:contents; }
.s134 { grid-column:1 / -1; grid-row:4; margin-top:clamp(28px,3.2vw,52px); display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); grid-template-rows:auto auto auto; column-gap:clamp(1.2rem,2.2vw,32px); row-gap:clamp(8px,0.9vw,12px); }
.s135 { display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:clamp(8px,0.9vw,12px); align-content:start; padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #0A0A0A; }
.s136 { display:flex; align-items:flex-start; gap:clamp(10px,1.1vw,15px); }
.s137 { display:none; flex:none; place-items:center; background:#F9F8F4; border:2.5px solid #0A0A0A; border-radius:10px; padding:6px clamp(9px,0.9vw,13px); font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(16px,1.5vw,23px); font-weight:900; letter-spacing:0.01em; line-height:1; color:var(--accent); -webkit-text-stroke:1.4px #0A0A0A; paint-order:stroke fill; }
.s138 { font-size:clamp(20px,2.1vw,32px); font-weight:900; letter-spacing:0.02em; }
.s139 { margin:0; font-size:clamp(16px,1.55vw,24px); font-weight:500; line-height:1.7; letter-spacing:0.04em; }
.s140 { display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:clamp(8px,0.9vw,12px); align-content:start; padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #DCDCDC; }
.s141 { position:relative; grid-column:2; grid-row:1 / 4; width:100%; max-width:900px; align-self:center; aspect-ratio:840 / 495; }
.s142 { position:absolute; left:2.7%; top:3.4%; width:46.7%; height:auto; mix-blend-mode:multiply; }
.s143 { position:absolute; left:2.7%; top:58.2%; width:19.9%; height:12.5%; background:#0A0A0A; }
.s144 { position:absolute; left:22.3%; top:11.1%; width:52.7%; height:auto; }
.s145 { position:absolute; left:45%; top:40%; width:6.5%; height:auto; }
.s146 { position:absolute; left:63.1%; top:22.2%; width:31%; height:auto; }
.s147 { position:absolute; left:80.4%; top:65.7%; width:13.1%; height:auto; }
.s148 { position:absolute; left:77.7%; top:89.5%; width:1.9%; height:auto; }
.s149 { position:absolute; left:14.6%; top:79%; margin:0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(9px,1.05vw,15px); font-weight:700; letter-spacing:0.06em; text-transform:uppercase; line-height:1; }
.s150 { background:var(--accent); color:#0A0A0A; padding:0.42em 0.5em; display:inline-block; }
.s151 { position:absolute; left:26.5%; top:87.5%; margin:0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(9px,1.05vw,15px); font-weight:700; letter-spacing:0.06em; text-transform:uppercase; line-height:1; }
.s152 { position:absolute; left:83.9%; top:89%; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(9px,1.05vw,15px); font-weight:500; letter-spacing:0.06em; line-height:1; }
.s153 { position:relative; background:#0A0A0A; color:#F9F8F4; padding:clamp(56px,6.4vw,110px) 0 clamp(48px,5.4vw,96px); overflow:clip; }
.s154 { display:none; position:absolute; right:0; top:12%; width:13%; max-width:200px; height:auto; pointer-events:none; transform:scaleX(-1); }
.s155 { margin:0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(2.8rem,6.2vw,90px); font-weight:900; line-height:1; letter-spacing:-0.01em; text-transform:uppercase; color:#F9F8F4; display:flex; align-items:center; gap:clamp(12px,1.4vw,22px); }
.s156 { width:clamp(20px,1.9vw,27px); aspect-ratio:27 / 26; background:url(assets/dmr/icon-arrow-diagonal.svg) no-repeat center / contain; filter:invert(1); flex:none; }
.s157 { margin:clamp(14px,1.8vw,26px) 0 0; font-size:clamp(1.25rem,2.6vw,38px); font-weight:500; line-height:1.4; letter-spacing:0.06em; color:#F9F8F4; }
.s158 { color:var(--accent); }
.s159 { margin:clamp(16px,1.8vw,26px) 0 0; max-width:min(100%,640px); font-size:clamp(14px,1.15vw,17px); font-weight:500; line-height:2.05; letter-spacing:0.05em; color:#DCDCDC; text-wrap:balance; }
.s160 { margin-top:clamp(30px,3.6vw,60px); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(1rem,1.6vw,22px); }
.s161 { background:var(--accent); color:#0A0A0A; border:3px solid #0A0A0A; border-radius:clamp(14px,1.3vw,20px); padding:clamp(24px,2.6vw,42px); display:flex; flex-direction:column; gap:clamp(8px,0.9vw,12px); justify-content:center; box-shadow:0 12px 0 0 #F9F8F4, 0 18px 36px rgba(0,0,0,0.45); }
.s162 { font-size:clamp(1.8rem,3.6vw,52px); font-weight:900; letter-spacing:-0.03em; line-height:1.05; }
.s163 { font-size:clamp(13px,1.1vw,16px); font-weight:500; letter-spacing:0.05em; line-height:1.9; opacity:0.72; }
.s164 { border:3px solid var(--accent); border-radius:clamp(14px,1.3vw,20px); padding:clamp(24px,2.6vw,42px); display:flex; flex-direction:column; gap:clamp(6px,0.7vw,10px); justify-content:center; box-shadow:0 12px 0 0 rgba(230,255,0,0.28), 0 18px 36px rgba(0,0,0,0.4); }
.s165 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(20px,2.1vw,32px); font-weight:900; letter-spacing:0.02em; text-transform:uppercase; color:var(--accent); }
.s166 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(3.2rem,6.4vw,92px); font-weight:900; line-height:0.95; letter-spacing:-0.045em; color:var(--accent); }
.s167 { font-family:'Noto Sans JP',sans-serif; font-size:0.28em; font-weight:700; letter-spacing:0.04em; }
.s168 { font-size:clamp(13px,1.1vw,16px); font-weight:500; letter-spacing:0.05em; line-height:1.9; color:#DCDCDC; }
.s169 { margin-top:clamp(1rem,1.6vw,22px); display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(1rem,1.6vw,22px); }
.s170 { background:#F9F8F4; color:#0A0A0A; border:3px solid #0A0A0A; border-radius:clamp(12px,1.1vw,18px); padding:clamp(22px,2.3vw,36px); display:flex; flex-direction:column; gap:clamp(12px,1.3vw,18px); box-shadow:0 10px 0 0 var(--accent), 0 14px 30px rgba(0,0,0,0.42); transform:translateY(0); transition:background 0.22s cubic-bezier(.2,.7,.3,1), transform 0.22s cubic-bezier(.2,.7,.3,1), box-shadow 0.22s cubic-bezier(.2,.7,.3,1); }
.s171 { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.s172 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(1.8rem,3vw,44px); font-weight:900; line-height:1; letter-spacing:-0.035em; }
.s173 { font-size:0.62em; font-weight:700; padding:0 0.04em; vertical-align:0.06em; }
.s174 { font-family:'Noto Sans JP',sans-serif; font-size:0.4em; font-weight:700; letter-spacing:0.04em; }
.s175 { display:block; height:1px; background:#DCDCDC; }
.s176 { margin:0; font-size:clamp(16px,1.6vw,25px); font-weight:500; line-height:1.6; letter-spacing:0.04em; }
.s177 { margin:auto 0 0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(11px,0.95vw,14px); font-weight:500; letter-spacing:0.05em; line-height:1.8; color:#2B2B2B; }
.s178 { margin:auto 0 0; font-size:clamp(11px,0.95vw,14px); font-weight:500; letter-spacing:0.05em; line-height:1.8; color:#2B2B2B; }
.s179 { font-size:clamp(1.4rem,2.4vw,34px); font-weight:900; line-height:1; letter-spacing:-0.02em; }
.s180 { width:min(1440px,88%); margin-inline:auto; }
.s181 { margin:clamp(16px,1.8vw,26px) 0 0; max-width:min(100%,640px); font-size:clamp(14px,1.15vw,17px); font-weight:500; line-height:2.05; letter-spacing:0.05em; color:#2B2B2B; text-wrap:balance; }
.s182 { margin-top:clamp(30px,3.6vw,60px); display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); grid-template-rows:auto auto auto; column-gap:clamp(1.2rem,2.6vw,40px); row-gap:clamp(10px,1.1vw,15px); }
.s183 { display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:clamp(10px,1.1vw,15px); align-content:start; padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #0A0A0A; }
.s184 { display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:clamp(10px,1.1vw,15px); align-content:start; padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #DCDCDC; }
.s185 { font-size:clamp(20px,2.1vw,32px); font-weight:900; letter-spacing:0.02em; color:#0A0A0A; }
.s186 { margin:0; font-size:clamp(18px,1.85vw,28px); font-weight:500; line-height:1.6; letter-spacing:0.02em; white-space:nowrap; }
.s187 { margin-top:clamp(40px,4.6vw,78px); }
.s188 { display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(1rem,2vw,28px); flex-wrap:wrap; margin-bottom:clamp(20px,2.2vw,34px); }
.s189 { margin:0; font-size:clamp(19px,2.1vw,32px); font-weight:900; letter-spacing:0.05em; line-height:1.4; }
.s190 { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(1rem,1.8vw,26px); }
.s191 { background:#F9F8F4; border:3px solid #0A0A0A; border-radius:clamp(12px,1.1vw,18px); padding:clamp(20px,2.1vw,32px); display:flex; flex-direction:column; gap:clamp(14px,1.5vw,22px); box-shadow:0 8px 0 0 var(--accent), 0 12px 26px rgba(10,10,10,0.10); transform:translateY(0); transition:transform 0.22s cubic-bezier(.2,.7,.3,1), box-shadow 0.22s cubic-bezier(.2,.7,.3,1); }
.s192 { display:flex; align-items:center; gap:11px; }
.s193 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.85vw,12px); font-weight:900; letter-spacing:0.08em; color:#0A0A0A; background:var(--accent); border:2px solid #0A0A0A; border-radius:8px; padding:5px 10px; line-height:1; flex:none; font-size:clamp(14px,1.35vw,20px); }
.s194 { margin:0; font-size:clamp(20px,2.1vw,32px); font-weight:900; letter-spacing:0.02em; line-height:1.3; }
.s195 { display:flex; flex-direction:column; gap:7px; padding:clamp(12px,1.2vw,17px) clamp(13px,1.3vw,19px); background:#EFEDE8; border-radius:9px; }
.s196 { font-size:clamp(15px,1.5vw,23px); font-weight:900; letter-spacing:0.02em; color:#8A8A8A; }
.s197 { font-size:clamp(13px,1.1vw,16px); font-weight:500; letter-spacing:0.04em; line-height:1.7; color:#8A8A8A; }
.s198 { display:flex; flex-direction:column; gap:7px; padding:clamp(12px,1.2vw,17px) clamp(13px,1.3vw,19px); background:#0A0A0A; border-radius:9px; }
.s199 { font-size:clamp(15px,1.5vw,23px); font-weight:900; letter-spacing:0.02em; color:var(--accent); }
.s200 { font-size:clamp(13px,1.15vw,17px); font-weight:700; letter-spacing:0.04em; line-height:1.7; color:#F9F8F4; }
.s201 { position:relative; background:#0A0A0A; color:#F9F8F4; padding:clamp(48px,5vw,86px) 0 clamp(48px,5vw,86px); overflow:clip; }
.s202 { display:none; position:absolute; left:0; top:clamp(210px,26vw,420px); width:9%; max-width:130px; height:auto; pointer-events:none; }
.s203 { display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(1.5rem,3vw,44px); flex-wrap:wrap; margin-bottom:clamp(28px,3.2vw,52px); }
.s204 { display:flex; flex-wrap:wrap; gap:clamp(0.9rem,2.8vw,44px); align-items:flex-start; }
.s205 { flex:0 0 auto; width:clamp(150px,17vw,244px); align-self:flex-start; border:2px solid var(--accent); overflow:hidden; aspect-ratio:1 / 1; }
.s206 { width:100%; height:100%; object-fit:cover; display:block; }
.s207 { flex:1 1 40%; min-width:250px; display:flex; flex-direction:column; gap:clamp(14px,1.6vw,22px); }
.s208 { display:flex; align-items:center; gap:clamp(14px,1.8vw,26px); }
.s209 { margin:0; font-size:clamp(1.15rem,2.2vw,32px); font-weight:500; letter-spacing:0.06em; line-height:1.3; white-space:nowrap; }
.s210 { flex:none; width:clamp(38px,4vw,60px); height:auto; }
.s211 { margin:0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.9vw,13px); font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent); }
.s212 { margin:0; font-size:clamp(13px,1.05vw,16px); font-weight:400; line-height:2; letter-spacing:0.04em; color:#DCDCDC; }
.s213 { padding-top:clamp(12px,1.4vw,18px); border-top:1px solid #2B2B2B; display:flex; flex-direction:column; gap:8px; }
.s214 { margin:0; font-size:clamp(13px,1.1vw,17px); font-weight:500; line-height:1.9; letter-spacing:0.04em; color:#F9F8F4; display:none; }
.s215 { margin:0; font-size:clamp(11px,0.95vw,14px); font-weight:400; line-height:1.9; letter-spacing:0.04em; color:#8A8A8A; display:none; }
.s216 { display:none; gap:clamp(1.5rem,3vw,44px); flex-wrap:wrap; padding-top:clamp(6px,0.8vw,10px); }
.s217 { display:flex; flex-direction:column; gap:4px; }
.s218 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(2rem,3.2vw,46px); font-weight:900; line-height:1; letter-spacing:-0.03em; color:var(--accent); }
.s219 { font-size:clamp(11px,0.95vw,14px); font-weight:500; letter-spacing:0.06em; color:#DCDCDC; }
.s220 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.85vw,12px); font-weight:400; letter-spacing:0.05em; color:#8A8A8A; }
.s221 { margin-top:clamp(6px,0.8vw,10px); align-self:flex-start; display:inline-flex; align-items:center; gap:clamp(10px,1.1vw,16px); color:var(--accent); border:1.5px solid var(--accent); border-radius:999px; padding:clamp(11px,1.1vw,15px) clamp(18px,2vw,28px); font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.9vw,13px); font-weight:700; letter-spacing:0.12em; text-transform:uppercase; white-space:nowrap; transition:background 0.22s cubic-bezier(.2,.7,.3,1), color 0.22s cubic-bezier(.2,.7,.3,1); }
.s222 { flex:none; display:block; width:clamp(26px,2.8vw,40px); height:auto; }
.s223 { display:flex; align-items:flex-start; gap:clamp(12px,1.6vw,22px); flex:0 0 auto; padding-top:clamp(4px,1.2vw,17px); }
.s224 { position:relative; width:clamp(130px,15vw,220px); aspect-ratio:1 / 1; }
.s225 { position:absolute; top:-6px; left:-6px; width:clamp(14px,1.5vw,22px); aspect-ratio:67 / 70; background:url(assets/dmr/nippori-corner.png) no-repeat center / contain; }
.s226 { position:absolute; top:-6px; right:-6px; width:clamp(14px,1.5vw,22px); aspect-ratio:67 / 70; transform:scaleX(-1); background:url(assets/dmr/nippori-corner.png) no-repeat center / contain; }
.s227 { position:absolute; bottom:-6px; left:-6px; width:clamp(14px,1.5vw,22px); aspect-ratio:67 / 70; transform:scaleY(-1); background:url(assets/dmr/nippori-corner.png) no-repeat center / contain; }
.s228 { position:absolute; bottom:-6px; right:-6px; width:clamp(14px,1.5vw,22px); aspect-ratio:67 / 70; transform:scale(-1,-1); background:url(assets/dmr/nippori-corner.png) no-repeat center / contain; }
.s229 { height:clamp(120px,14vw,200px); width:auto; flex:none; }
.s230 { margin-top:clamp(32px,3.6vw,56px); display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(1.2rem,2.6vw,40px); }
.s231 { display:flex; flex-direction:column; gap:clamp(9px,1vw,14px); padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #2B2B2B; }
.s232 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(17px,1.75vw,26px); font-weight:900; letter-spacing:0.02em; text-transform:uppercase; color:var(--accent); }
.s233 { margin:0; font-size:clamp(19px,2vw,30px); font-weight:900; line-height:1.4; letter-spacing:-0.01em; color:#F9F8F4; }
.s234 { position:relative; background:#F3F1EC; padding:clamp(56px,6.4vw,110px) 0 clamp(48px,5.4vw,96px); }
.s235 { margin-top:clamp(30px,3.6vw,60px); display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:clamp(1.2rem,2.4vw,36px); }
.s236 { display:flex; flex-direction:column; gap:clamp(12px,1.3vw,18px); padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #0A0A0A; }
.s237 { align-self:flex-start; background:#0A0A0A; color:var(--accent); border-radius:999px; padding:7px 15px; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.85vw,12px); font-weight:700; letter-spacing:0.14em; text-transform:uppercase; }
.s238 { margin:0; font-size:clamp(16px,1.7vw,28px); font-weight:900; line-height:1.28; letter-spacing:-0.02em; white-space:normal; }
.s239 { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:9px; }
.s240 { font-size:clamp(12px,1vw,15px); font-weight:500; line-height:1.8; letter-spacing:0.04em; color:#2B2B2B; }
.s241 { margin:auto 0 0; padding-top:clamp(10px,1.1vw,14px); border-top:1px solid #DCDCDC; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.9vw,13px); font-weight:700; letter-spacing:0.08em; color:#8A8A8A; }
.s242 { display:flex; flex-direction:column; gap:clamp(12px,1.3vw,18px); padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #DCDCDC; }
.s243 { font-size:0.3em; font-weight:800; }
.s244 { margin-top:clamp(40px,4.6vw,78px); display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); grid-template-rows:auto auto auto auto; column-gap:clamp(1.2rem,2.4vw,36px); row-gap:clamp(9px,1vw,14px); }
.s245 { display:grid; grid-template-rows:subgrid; grid-row:span 4; row-gap:clamp(9px,1vw,14px); align-content:start; padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #0A0A0A; }
.s246 { font-size:clamp(20px,2.1vw,32px); font-weight:900; letter-spacing:-0.02em; color:#0A0A0A; white-space:nowrap; }
.s247 { margin:clamp(30px,3.6vw,60px) 0 clamp(16px,1.8vw,26px); font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(16px,1.6vw,24px); font-weight:900; letter-spacing:0em; color:#0A0A0A; }
.s248 { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:clamp(1.2rem,2.4vw,36px); }
.s249 { display:flex; flex-direction:column; gap:clamp(9px,1vw,13px); padding-top:clamp(13px,1.4vw,18px); border-top:1px solid #0A0A0A; }
.s250 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(2.6rem,4.6vw,68px); font-weight:900; line-height:0.9; letter-spacing:-0.04em; }
.s251 { font-size:0.32em; font-weight:800; }
.s252 { margin:0; font-size:clamp(14px,1.25vw,19px); font-weight:500; line-height:1.75; letter-spacing:0.04em; }
.s253 { margin:auto 0 0; font-size:clamp(11px,0.95vw,14px); font-weight:400; line-height:1.85; letter-spacing:0.04em; color:#8A8A8A; }
.s254 { display:flex; flex-direction:column; gap:clamp(9px,1vw,13px); padding-top:clamp(13px,1.4vw,18px); border-top:1px solid #DCDCDC; }
.s255 { margin-top:clamp(28px,3vw,46px); background:#0A0A0A; color:#F9F8F4; border-radius:clamp(14px,1.3vw,20px); padding:clamp(24px,2.8vw,44px); display:flex; flex-direction:column; gap:clamp(11px,1.2vw,16px); box-shadow:0 18px 40px rgba(10,10,10,0.14); }
.s256 { margin:0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.85vw,12px); font-weight:400; letter-spacing:0.05em; color:#aaaaaa; }
.s256 a { color:#cccccc; text-decoration:underline; text-underline-offset:2px; }
.s257 { margin:clamp(40px,4.6vw,78px) 0 clamp(16px,1.8vw,26px); font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(19px,2vw,30px); font-weight:900; letter-spacing:0em; color:#0A0A0A; }
.s258 { display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1fr) minmax(0,1.3fr); gap:clamp(1rem,2vw,28px); padding-bottom:clamp(11px,1.2vw,16px); border-bottom:1px solid #0A0A0A; }
.s259 { font-size:clamp(17px,1.7vw,25px); font-weight:900; letter-spacing:0em; color:#0A0A0A; }
.s260 { font-size:clamp(17px,1.7vw,25px); font-weight:900; letter-spacing:0em; color:#0A0A0A; white-space:nowrap; }
.s261 { display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1fr) minmax(0,1.3fr); gap:clamp(1rem,2vw,28px); padding:clamp(15px,1.6vw,22px) 0; border-bottom:1px solid #DCDCDC; align-items:baseline; }
.s262 { font-size:clamp(17px,1.7vw,25px); font-weight:900; letter-spacing:0em; white-space:nowrap; }
.s263 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(17px,1.7vw,25px); font-weight:900; letter-spacing:0em; white-space:nowrap; }
.s264 { font-size:clamp(17px,1.7vw,25px); font-weight:900; letter-spacing:0em; line-height:1.5; color:#0A0A0A; border-left:1px solid #DCDCDC; padding-left:clamp(1rem,2vw,28px); }
.s265 { display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1fr) minmax(0,1.3fr); gap:clamp(1rem,2vw,28px); padding:clamp(15px,1.6vw,22px) 0; align-items:baseline; }
.s266 { margin-top:clamp(24px,2.6vw,40px); display:flex; flex-direction:column; gap:clamp(9px,1vw,13px); padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #0A0A0A; max-width:min(100%,820px); }
.s267 { font-size:clamp(11px,0.95vw,14px); font-weight:700; letter-spacing:0.1em; color:#8A8A8A; }
.s268 { margin:0; font-size:clamp(13px,1.1vw,17px); font-weight:500; line-height:2; letter-spacing:0.04em; color:#2B2B2B; }
.s269 { font-weight:700; color:#0A0A0A; }
.s270 { margin:clamp(16px,1.8vw,26px) 0 0; max-width:min(100%,640px); font-size:clamp(14px,1.15vw,17px); font-weight:500; line-height:2.05; letter-spacing:0.05em; color:#2B2B2B; }
.s271 { margin-top:clamp(26px,3vw,46px); display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(1.5rem,3vw,48px); }
.s272 { display:flex; flex-direction:column; gap:clamp(14px,1.6vw,22px); padding-top:clamp(14px,1.5vw,20px); border-top:1px solid #0A0A0A; }
.s273 { display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(16px,1.8vw,26px); align-items:start; }
.s274 { position:relative; width:clamp(96px,9vw,128px); aspect-ratio:108 / 132; flex:none; border:1px solid #DCDCDC; overflow:hidden; }
.s275 { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.s276 { display:flex; flex-direction:column; gap:7px; min-width:0; }
.s277 { font-size:clamp(20px,2.1vw,31px); font-weight:700; letter-spacing:0.04em; line-height:1.3; }
.s278 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(11px,0.95vw,14px); font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:#8A8A8A; }
.s279 { margin-top:6px; align-self:flex-start; background:#0A0A0A; color:var(--accent); border-radius:999px; padding:7px 15px; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(9px,0.8vw,11px); font-weight:700; letter-spacing:0.14em; text-transform:uppercase; white-space:nowrap; }
.s280 { display:flex; gap:clamp(14px,1.6vw,24px); flex-wrap:wrap; padding-top:clamp(4px,0.6vw,8px); }
.s281 { display:inline-flex; align-items:center; gap:8px; font-size:clamp(12px,1vw,15px); font-weight:700; letter-spacing:0.04em; border-bottom:1.5px solid var(--accent); padding-bottom:3px; transition:opacity 0.22s cubic-bezier(.2,.7,.3,1); }
.s282 { width:14px; aspect-ratio:27 / 26; background:url(assets/dmr/icon-arrow-diagonal.svg) no-repeat center / contain; display:block; }
.s283 { width:100%; height:100%; object-fit:cover; object-position:52% 12%; transform:scale(1.75); transform-origin:52% 12%; display:block; }
.s284 { display:flex; gap:clamp(14px,1.6vw,24px); flex-wrap:wrap; align-items:center; padding-top:clamp(4px,0.6vw,8px); }
.s285 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(11px,0.95vw,14px); font-weight:500; letter-spacing:0.04em; color:#8A8A8A; }
.s286 { margin-top:clamp(28px,3.2vw,52px); display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(0.9rem,1.6vw,22px); align-items:start; }
.s287 { background:#F9F8F4; border-radius:clamp(12px,1.1vw,18px); box-shadow:0 8px 24px rgba(10,10,10,0.06); }
.s288 { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:clamp(20px,2vw,28px); font-size:clamp(14px,1.25vw,19px); font-weight:700; letter-spacing:0.04em; line-height:1.6; }
.s289 { flex:0 0 auto; font-family:Inter,sans-serif; font-size:18px; font-weight:400; transition:transform 0.22s cubic-bezier(.2,.7,.3,1); }
.s290 { margin:0; padding:0 clamp(20px,2vw,28px) clamp(22px,2.2vw,30px); font-size:clamp(13px,1.05vw,16px); font-weight:500; line-height:2.05; letter-spacing:0.04em; color:#2B2B2B; }
.s291 { position:relative; background:#0A0A0A; color:#F9F8F4; padding:clamp(96px,10.5vw,148px) 0 clamp(40px,5vw,80px); overflow:clip; display:flex; flex-direction:column; justify-content:flex-start; }
.s292 { display:none; position:absolute; left:0; bottom:-10%; width:12%; max-width:180px; height:auto; pointer-events:none; }
.s293 { position:relative; width:min(1440px,88%); margin-inline:auto; padding-top:0; padding-bottom:0; display:flex; flex-direction:column; align-items:center; gap:clamp(26px,3vw,46px); text-align:center; }
.s294 { margin:0; max-width:min(100%,1240px); font-size:clamp(1.6rem,4vw,62px); font-weight:700; line-height:1.35; letter-spacing:0.02em; white-space:nowrap; }
.s295 { color:var(--accent); font-weight:900; }
.s296 { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.s297 { display:inline-flex; align-items:center; gap:16px; background:#0A0A0A; color:#F9F8F4; border-radius:999px; padding:6px 6px 6px 30px; border:2px solid transparent; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(13px,1.1vw,16px); font-weight:700; letter-spacing:0.04em; white-space:nowrap; transition:color 0.22s cubic-bezier(.2,.7,.3,1), border-color 0.22s cubic-bezier(.2,.7,.3,1); }
.s297:hover { color:var(--accent) !important; border-color:var(--accent); }
.s297 img { display:none; }
.s297::after { content:"arrow_forward"; font-family:'Material Symbols Rounded'; font-variation-settings:'wght' 700,'FILL' 1; font-style:normal; display:inline-flex; align-items:center; justify-content:center; width:clamp(40px,3.6vw,52px); height:clamp(40px,3.6vw,52px); border-radius:50%; background:var(--accent); color:#0A0A0A; font-size:clamp(20px,1.8vw,26px); flex:none; line-height:1; }
.s298 { display:inline-flex; align-items:center; gap:12px; color:#F9F8F4; border:1.5px solid #F9F8F4; border-radius:999px; padding:16px 30px; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(11px,1vw,14px); font-weight:700; letter-spacing:0.12em; text-transform:uppercase; white-space:nowrap; transition:background 0.22s cubic-bezier(.2,.7,.3,1), color 0.22s cubic-bezier(.2,.7,.3,1); }
.s299 { background:#F9F8F4; color:#0A0A0A; padding:clamp(36px,3.6vw,60px) 0 clamp(28px,2.6vw,44px); position:relative; }
.s300 { width:min(1440px,88%); margin-inline:auto; display:grid; grid-template-columns:minmax(0,0.9fr) 1px minmax(0,1.3fr) 1px minmax(0,0.85fr); align-items:stretch; gap:clamp(1rem,2.6vw,38px); }
.s301 { display:flex; align-items:center; gap:13px; margin-bottom:clamp(12px,1.4vw,18px); }
.s302 { height:clamp(34px,3.4vw,46px); width:auto; }
.s303 { font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:15px; font-weight:400; line-height:1; color:#8A8A8A; }
.s304 { margin:0; font-size:clamp(11px,1vw,15px); font-weight:700; line-height:1.55; letter-spacing:0.05em; }
.s305 { margin:clamp(4px,0.6vw,9px) 0 0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(8px,0.7vw,10px); font-weight:700; line-height:1.7; letter-spacing:0.12em; text-transform:uppercase; }
.s306 { margin:clamp(6px,0.9vw,13px) 0 0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.88vw,13px); letter-spacing:0.06em; color:#2B2B2B; }
.s307 { width:1px; align-self:stretch; background:#DCDCDC; }
.s308 { display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:clamp(1rem,1.6vw,22px); }
.s309 { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:clamp(4px,0.5vw,7px); font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(10px,0.85vw,12px); font-weight:500; line-height:1.9; letter-spacing:0.12em; text-transform:uppercase; }
.s310 { transition:opacity 0.22s cubic-bezier(.2,.7,.3,1); }
.s311 { display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; gap:clamp(14px,1.8vw,26px); }
.s312 { display:flex; align-items:center; gap:clamp(13px,1.55vw,22px); }
.s313 { display:block; width:clamp(18px,1.7vw,24px); aspect-ratio:24 / 18; background:url(assets/dmr/icon-mail.svg) no-repeat center / contain; }
.s314 { margin:0; font-family:Inter,'Helvetica Neue',Arial,sans-serif; font-size:clamp(9px,0.8vw,11px); font-weight:700; letter-spacing:0.12em; text-transform:uppercase; text-align:right; }

/* ---- hover ---- */
[data-hv="h1"]:hover { opacity:0.82; color:#F9F8F4; }
[data-hv="h2"]:hover { transform:scale(1.08); }
[data-hv="h3"]:hover { background:#0A0A0A; color:#F9F8F4; }
[data-hv="h4"]:hover { background:var(--accent); transform:translateY(-6px); box-shadow:0 16px 0 0 #F9F8F4, 0 22px 40px rgba(0,0,0,0.5); }
[data-hv="h5"]:hover { transform:translateY(-5px); box-shadow:0 14px 0 0 var(--accent), 0 20px 34px rgba(10,10,10,0.14); }
[data-hv="h6"]:hover { background:var(--accent); color:#0A0A0A; }
[data-hv="h7"]:hover { opacity:0.6; color:#0A0A0A; }
[data-hv="h8"]:hover { opacity:0.85; color:#0A0A0A; }
[data-hv="h9"]:hover { background:#F9F8F4; color:#0A0A0A; }
[data-hv="h10"]:hover { opacity:0.55; color:#0A0A0A; }

/* =========================================================
   SP Hamburger Menu
   ========================================================= */
/* ハンバーガーボタン — デスクトップでは非表示 */
.s_hbg {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  border: none;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  z-index: 110;
  flex-shrink: 0;
}
.s_hbg_bar {
  display: block;
  width: 22px;
  height: 2px;
  background: #0A0A0A;
  border-radius: 2px;
  transition: transform 0.28s cubic-bezier(.2,.7,.3,1), opacity 0.2s;
}
[data-menu-open="1"] .s_hbg_bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
[data-menu-open="1"] .s_hbg_bar:nth-child(2) { opacity: 0; }
[data-menu-open="1"] .s_hbg_bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* オーバーレイ本体 — 常時は非表示 */
[data-menu-overlay="1"] {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 199;
  background: #0A0A0A;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 72px 8vw 60px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.3s cubic-bezier(.2,.7,.3,1), transform 0.3s cubic-bezier(.2,.7,.3,1);
}
[data-menu-overlay="1"][data-open="1"] {
  display: flex;
  opacity: 1;
  transform: none;
}

/* 閉じるボタン */
.s_mbc {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid rgba(249,248,244,0.2);
  border-radius: 50%;
  color: #F9F8F4;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.2s;
}
.s_mbc:hover { background: rgba(249,248,244,0.08); }

/* ナビリンク一覧 */
.s_mbv {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.s_mbn {
  display: block;
  font-family: Inter,'Helvetica Neue',Arial,sans-serif;
  font-size: clamp(2rem, 10vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #F9F8F4;
  padding: 0.2em 0;
  border-bottom: 1px solid rgba(249,248,244,0.08);
  transition: color 0.18s;
}
.s_mbn:last-child { border-bottom: none; }
.s_mbn:hover, .s_mbn:active { color: var(--accent); }

/* Contact CTA */
.s_mbc_cta {
  margin-top: 2.4rem;
  display: inline-flex;
  align-items: center;
  background: #F9F8F4;
  color: #0A0A0A;
  font-family: Inter,'Helvetica Neue',Arial,sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 14px 28px;
  border-radius: 999px;
  transition: background 0.2s, color 0.2s;
}
.s_mbc_cta:hover { background: var(--accent); color: #0A0A0A; }

@media (max-width: 900px) {
  .s_hbg { display: flex; }
  /* モバイルヘッダーで白背景時はバーを暗色に（デフォルト） */
  .s_hbg_bar { background: #0A0A0A; }
  /* Contact ボタンをSPで非表示にしてハンバーガーに一本化 */
  [data-hdr-pill="1"] { display: none !important; }
}

/* Back to Top button in footer */
.s_btt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1.5px solid rgba(10,10,10,0.18);
  border-radius: 50%;
  color: #0A0A0A;
  font-size: 20px;
  font-family: Inter,'Helvetica Neue',Arial,sans-serif;
  line-height: 1;
  text-decoration: none;
  position: absolute;
  top: clamp(20px,3vw,36px);
  right: clamp(20px,4vw,52px);
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.s_btt:hover { background: #0A0A0A; color: #F9F8F4; border-color: #0A0A0A; }

/* SP固定Contactボタン（左下）— .s11 と同体裁・.s13 と同サイズ感 */
.s_sp_contact {
  display: none;
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 130;
  align-items: center;
  gap: 14px;
  background: #0A0A0A;
  color: var(--accent);
  border: 2px solid transparent;
  border-radius: 999px;
  padding: 9px 20px 9px 10px;
  font-family: Inter,'Helvetica Neue',Arial,sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 10px 30px rgba(10,10,10,0.28);
  transition: color 0.22s cubic-bezier(.2,.7,.3,1), border-color 0.22s cubic-bezier(.2,.7,.3,1);
  text-decoration: none;
}
.s_sp_contact::before {
  content: "arrow_forward";
  font-family: 'Material Symbols Rounded';
  font-variation-settings: 'wght' 700,'FILL' 1;
  font-style: normal;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--accent);
  color: #0A0A0A;
  font-size: 20px;
  flex: none;
  line-height: 1;
}
.s_sp_contact:hover { color: var(--accent) !important; border-color: var(--accent); }
@media (max-width: 900px) {
  .s_sp_contact { display: inline-flex; }
}

@media (max-width: 900px) {
  /* 数字・統計見出しをSPで大きく */
  .s101 { font-size: clamp(26px,8vw,34px) !important; line-height: 1.4 !important; font-weight: 700 !important; }
  /* 黒座布団（比較テーブル）の左右マージン */
  .s198 { padding: clamp(14px,4vw,18px) clamp(18px,5vw,22px) !important; }
  /* 数字系 span — section article span のSP汎用上書きを無効化 */
  .s93  { font-size: clamp(3rem,16vw,4.5rem) !important; line-height: 1 !important; }  /* Market 18.2% 76.2% 6位 */
  .s109 { font-size: clamp(3rem,16vw,4.5rem) !important; line-height: 1 !important; }  /* Global 6.19億 $92億 25% / Data 18.2% */
  .s119 { font-size: clamp(2rem,12vw,3.5rem) !important; line-height: 1 !important; }  /* NORTH AMERICA 34.2% 480万 */
  .s172 { font-size: clamp(2rem,12vw,3.5rem) !important; line-height: 1 !important; }  /* Expansion 3〜5本 1本 */
  .s250 { font-size: clamp(2.6rem,14vw,4rem)  !important; line-height: 1 !important; }  /* Behavior 66% 55% 52% 49% */
}
