@charset "UTF-8";

/* =============================================================
   Edereminisce — v4 Design（2026-10）
   方針: 引き算と大胆さ。紙の地、小さな文字、はみ出す巨大な英字、
   黒は「パネル」としてだけ使う。飾り線・枠・グラデーション・
   ボタン演出は持たない。配置は少しだけズラす（揃えすぎない）。
   旧版（金の細線・二重枠の装飾版）は ed-v3.bak-ornate.css に残してある。
   構成:
     1. Tokens
     2. Global chrome（header / drawer / footer / blog）
     3. v3 page shell
     4. Primitives（label / heading / link / button）
     5. Hero / Page head
     6. Sections
     7. Product / Moissanite / Memorial
     8. Motion
   ============================================================= */

/* === 1. Tokens =========================================== */
:root {
  --v-paper:     #efebe4;
  --v-paper2:    #e7e2d9;
  --v-ink:       #1b1a17;
  --v-panel:     #141311;
  --v-text:      #2a2824;
  --v-mute:      #77716a;
  --v-line:      rgba(42, 40, 36, .16);
  --v-accent:    #8f7448;
  --v-on-dark:   #e9e4da;
  --v-on-dark-mute: rgba(233, 228, 218, .58);
  --v-line-dark: rgba(233, 228, 218, .16);
  --v-serif:     "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --v-sans:      "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --v-en:        "Cormorant Garamond", "Shippori Mincho", serif;
  --v-wrap:      1240px;
  --v-gutter:    clamp(20px, 4.4vw, 64px);
  --v-sec:       clamp(96px, 13vw, 200px);
  --v-ease:      cubic-bezier(.22, .61, .36, 1);
  --v-head-h:    var(--ark-header_height, 76px);

  /* 旧トークン名の互換（他ファイル・本文の参照用） */
  --v-ivory:     var(--v-paper2);
  --v-gold:      var(--v-accent);
  --v-gold-lt:   #c9b48d;
  --v-gold-dk:   var(--v-accent);
  --v-text-mute: var(--v-mute);
}

/* === 2. Global chrome ===================================== */
body {
  font-family: var(--v-sans);
  color: var(--v-text);
  background: var(--v-paper);
  -webkit-font-smoothing: antialiased;
  line-break: strict;
  overflow-wrap: anywhere;
}
.edv, .ed-footer, .single .c-postContent { word-break: auto-phrase; }

br.u-br-sp { display: none; }
@media (max-width: 999px) { br.u-br-sp { display: inline; } br.u-br-pc { display: none; } }
.u-nw { white-space: nowrap; }

/* --- Header --- */
/* 注意: #drawer_menu は .l-header の内側。本体に backdrop-filter/transform を
   付けると fixed の基準が変わりドロワーが潰れるため、地は ::before に置く。 */
.l-header { background: transparent !important; box-shadow: none !important; border: 0 !important; }
.l-header::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: transparent; transition: background .4s var(--v-ease);
}
body.is-scrolled .l-header::before,
body:not(.ed-v3) .l-header::before {
  background: rgba(239, 235, 228, .9);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.l-header__body { min-height: 76px; }
.l-header, .l-header a, .l-header .c-iconBtn { color: var(--v-ink) !important; }
.l-header .c-headLogo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.l-header .c-headLogo__img { width: 36px !important; height: 36px !important; max-height: none !important; border-radius: 50%; }
.l-header .c-headLogo::after {
  content: "edereminisce";
  font-family: var(--v-en); font-weight: 500; font-size: 21px; letter-spacing: .04em; line-height: 1;
  color: var(--v-ink);
}
.c-gnav__a { font-family: var(--v-sans); font-size: 12.5px !important; letter-spacing: .08em; padding: 0 .95em !important; background: none !important; }
.c-gnav__li:hover > .c-gnav__a { background: none !important; opacity: .55; }
.c-gnav__li.current-menu-item > .c-gnav__a .__mainText { border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.c-gnav { align-items: center; }
.c-gnav .menu-item-818 { display: flex; align-items: center; }
.c-gnav .menu-item-818 > .c-gnav__a { margin-left: .6em; height: auto !important; background: var(--v-ink) !important; color: var(--v-paper) !important; padding: .75em 1.2em !important; line-height: 1.3 !important; }
.c-gnav .menu-item-818 > .c-gnav__a:hover { opacity: .8; }

/* --- Drawer --- */
.p-drawer { background: var(--v-paper) !important; color: var(--v-ink) !important; }
.p-drawer__nav a, .p-drawer .c-drawerNav__a { color: var(--v-ink) !important; font-family: var(--v-serif); letter-spacing: .08em; border-color: var(--v-line) !important; }

/* --- Footer --- */
.l-footer { background: var(--v-panel) !important; color: var(--v-on-dark-mute) !important; border: 0 !important; }
.l-footer__nav, .l-footer .c-iconList { display: none !important; }
.l-footer__foot { padding: 18px 0 !important; }
.l-footer .c-copyright { font-family: var(--v-en); letter-spacing: .06em; font-size: 12px; color: var(--v-on-dark-mute); }

.ed-footer { background: var(--v-panel); color: var(--v-on-dark); padding: clamp(80px, 10vw, 140px) var(--v-gutter) 0; position: relative; overflow: hidden; }
.ed-footer__inner { max-width: var(--v-wrap); margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: clamp(40px, 6vw, 96px); }
@media (max-width: 899px) { .ed-footer__inner { grid-template-columns: 1fr; } }
.ed-footer__logo { display: none; }
.ed-footer__tagline { font-family: var(--v-serif); font-size: clamp(22px, 2.4vw, 30px); color: var(--v-on-dark); letter-spacing: .1em; margin: 0 0 1em; }
.ed-footer__desc, .ed-footer__company { font-size: 13px; line-height: 2.1; color: var(--v-on-dark-mute); margin: 0; }
.ed-footer__colTitle { font-family: var(--v-en); font-size: 13px; letter-spacing: .06em; color: var(--v-on-dark-mute); margin: 0 0 1.4em; }
.ed-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: .8em; }
.ed-footer__links a, .ed-footer__company a { color: var(--v-on-dark); text-decoration: none; font-size: 13.5px; letter-spacing: .06em; }
.ed-footer__links a:hover, .ed-footer__company a:hover { opacity: .6; }
.ed-footer__sns { display: inline-flex; align-items: center; gap: .6em; margin-top: 1.6em; color: var(--v-on-dark) !important; text-decoration: none; font-family: var(--v-en); font-size: 15px; }
.ed-footer__sns:hover { opacity: .6; }
/* フッター下端: はみ出す巨大ワードマーク */
.ed-footer::after {
  content: "edereminisce";
  display: block; max-width: none; margin: clamp(64px, 8vw, 120px) 0 -0.24em -0.04em;
  font-family: var(--v-en); font-weight: 400; font-size: clamp(88px, 21vw, 340px); line-height: .8; letter-spacing: -.02em;
  color: var(--v-on-dark); white-space: nowrap; opacity: .92;
}

#pagetop { background: var(--v-ink) !important; color: var(--v-paper) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }

/* --- 通常ページ（ブログ等） --- */
body:not(.ed-v3) .p-topArea { background: var(--v-paper2) !important; min-height: 240px; }
body:not(.ed-v3) .p-topArea__img { display: none !important; }
body:not(.ed-v3) .p-topArea .c-pageTitle { font-family: var(--v-serif); color: var(--v-ink) !important; letter-spacing: .08em; }
.single .c-postContent { font-size: 15.5px; line-height: 2.1; letter-spacing: .03em; }
.single .c-postContent h2 { font-family: var(--v-serif); font-weight: 600; font-size: clamp(21px, 2.2vw, 26px); letter-spacing: .06em; padding: 0; margin: 3.4em 0 1.2em; border: 0; background: none; }
.single .c-postContent h2::before, .single .c-postContent h2::after { content: none; }
.single .c-postContent h3 { font-family: var(--v-serif); font-size: 18px; border: 0; padding: 0; margin: 2.4em 0 .8em; }
.single .c-postContent a { color: var(--v-ink); text-decoration: underline; text-underline-offset: 3px; }
.single .c-postContent hr { border: 0; height: 1px; background: var(--v-line); margin: 3em 0; }
.single .c-pageTitle, .single .p-entry__title { font-family: var(--v-serif); letter-spacing: .04em; }
.l-sidebar .widget:has(.wp-block-latest-comments), .l-sidebar .widget:has(.no-comments), .l-sidebar .widget_recent_comments { display: none; }
.l-sidebar .c-widget__title, .l-sidebar .widget-title, .l-sidebar h2 { font-family: var(--v-en) !important; font-size: 16px !important; font-weight: 500 !important; letter-spacing: .04em; color: var(--v-ink) !important; border: 0 !important; background: none !important; padding: 0 0 10px !important; }
.l-sidebar a { color: var(--v-text) !important; text-decoration: none !important; font-size: 13px; }
.l-sidebar li { border-color: var(--v-line) !important; }
.l-sidebar .wp-block-search__input, .l-sidebar input[type="search"] { border: 1px solid var(--v-line) !important; border-radius: 0 !important; background: transparent; }
.l-sidebar .wp-block-search__button, .l-sidebar button[type="submit"] { background: var(--v-ink) !important; color: var(--v-paper) !important; border-radius: 0 !important; border: 0 !important; }

/* === 3. v3 page shell ===================================== */
.ed-v3 .p-topArea, .ed-v3 .p-breadcrumb, .ed-v3 .l-main__head { display: none !important; }
/* ヘッダーは sticky のため、全幅ページはその高さぶん本文を引き上げてヒーローを裏に通す */
.ed-v3 .l-content { padding: 0 !important; margin: calc(-1 * var(--v-head-h)) 0 0 !important; background: var(--v-paper); }
.ed-v3 .l-content__body.l-container { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.ed-v3 .l-main, .ed-v3 .l-main__body, .ed-v3 .c-postContent { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.ed-v3 .c-postContent > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.ed-v3 .l-sidebar { display: none !important; }

.edv { font-family: var(--v-sans); color: var(--v-text); font-size: 14.5px; line-height: 2.05; letter-spacing: .04em; counter-reset: evsec; }
.edv *, .edv *::before, .edv *::after { box-sizing: border-box; }
.edv p { margin: 0; }
.edv img { display: block; max-width: 100%; height: auto; }
.edv a { text-decoration: none; color: inherit; }
.edv h1, .edv h2, .edv h3, .edv h4 { margin: 0; padding: 0; border: 0; background: none; font-weight: 500; }
.edv h2::before, .edv h2::after, .edv h3::after { content: none; }

.ev-sec { position: relative; padding: var(--v-sec) var(--v-gutter); overflow: hidden; }
.ev-wrap { max-width: var(--v-wrap); margin: 0 auto; position: relative; }
.ev-wrap--narrow { max-width: 860px; }
.ev-paper  { background: var(--v-paper); }
.ev-paper2, .ev-ivory { background: var(--v-paper2); }
.ev-dark, .ev-dark2 { background: var(--v-panel); color: var(--v-on-dark); }

/* === 4. Primitives ======================================== */
/* セクションラベル: 「(01) 石のこと」。番号はCSSカウンターで振る */
.ev-eyebrow {
  display: block; font-family: var(--v-sans); font-size: 12px; font-weight: 400; letter-spacing: .1em;
  color: var(--v-mute); margin-bottom: 28px; line-height: 1.6;
}
.ev-eyebrow::before { counter-increment: evsec; content: "(" counter(evsec, decimal-leading-zero) ")"; font-family: var(--v-en); font-size: 14px; letter-spacing: .02em; margin-right: 1.1em; color: var(--v-text); }
.ev-dark .ev-eyebrow, .ev-dark2 .ev-eyebrow { color: var(--v-on-dark-mute); }
.ev-dark .ev-eyebrow::before, .ev-dark2 .ev-eyebrow::before { color: var(--v-on-dark); }
.ev-head .ev-eyebrow::before, .ev-hero .ev-eyebrow::before { content: none; }

.ev-h2 { font-family: var(--v-serif); font-weight: 500; font-size: clamp(28px, 3.9vw, 54px); line-height: 1.5; letter-spacing: .06em; color: inherit; }
.ev-h3 { font-family: var(--v-serif); font-weight: 500; font-size: clamp(17px, 1.5vw, 19px); line-height: 1.7; letter-spacing: .05em; }
.ev-lead { margin-top: 28px !important; color: var(--v-mute); font-size: 14.5px; line-height: 2.15; max-width: 34em; }
.ev-dark .ev-lead, .ev-dark2 .ev-lead { color: var(--v-on-dark-mute); }
.ev-secHead { margin-bottom: clamp(56px, 8vw, 110px); }
.ev-center { text-align: left; }
.ev-note { font-size: 12px; color: var(--v-mute); line-height: 1.9; margin-top: 20px !important; }
.ev-dark .ev-note { color: var(--v-on-dark-mute); }
.ev-note a, .ev-lead a { border-bottom: 1px solid currentColor; }

/* 揃えすぎない: 見出しブロックを少しずつ右へ */
.ev-sec:nth-of-type(3n+1) .ev-secHead { margin-left: 0; }
.ev-sec:nth-of-type(3n+2) .ev-secHead { margin-left: 8%; }
.ev-sec:nth-of-type(3n)   .ev-secHead { margin-left: 22%; }
@media (max-width: 899px) { .ev-sec .ev-secHead { margin-left: 0 !important; } }

/* リンク・ボタン: 塗りは1つまで、演出なし */
.ev-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 34px; margin-top: 44px; }
.ev-btn { display: inline-flex; align-items: center; gap: 14px; font-family: var(--v-sans); font-size: 13px; letter-spacing: .08em; line-height: 1.4; color: var(--v-ink) !important; padding: 6px 0; border-bottom: 1px solid currentColor; transition: opacity .3s; }
.ev-btn:hover { opacity: .55; }
.ev-btn--gold { background: var(--v-ink); color: var(--v-paper) !important; padding: 18px 28px; border: 0; }
.ev-btn__arrow { width: 26px; height: 1px; background: currentColor; position: relative; flex: none; }
.ev-btn__arrow::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.ev-dark .ev-btn, .ev-cta .ev-btn { color: var(--v-on-dark) !important; }
.ev-dark .ev-btn--gold, .ev-cta .ev-btn--gold { background: var(--v-paper); color: var(--v-ink) !important; }
.ev-link { display: inline-flex; align-items: center; gap: 14px; font-size: 13px; letter-spacing: .08em; padding-bottom: 6px; border-bottom: 1px solid currentColor; color: inherit !important; transition: opacity .3s; }
.ev-link:hover { opacity: .55; }
@media (max-width: 599px) { .ev-btn--gold { width: 100%; justify-content: space-between; } }

/* はみ出す巨大英字 */
.ev-word {
  font-family: var(--v-en); font-weight: 400; line-height: .78; letter-spacing: -.025em;
  white-space: nowrap; pointer-events: none; user-select: none;
}

/* 端の小さなメタ情報 */
.ev-meta { position: absolute; left: var(--v-gutter); right: var(--v-gutter); bottom: 22px; display: flex; gap: 3em; margin: 0; padding: 0; list-style: none; font-family: var(--v-en); font-size: 13px; letter-spacing: .03em; color: var(--v-mute); z-index: 3; }
.ev-meta li:last-child { margin-left: auto; }
@media (max-width: 599px) { .ev-meta { gap: 1.4em; font-size: 12px; } .ev-meta li:nth-child(2) { display: none; } }

/* === 5. Hero / Page head ================================== */
.ev-hero, .ev-head { position: relative; background: var(--v-paper); color: var(--v-ink); overflow: hidden; isolation: isolate; }
.ev-hero { min-height: 100vh; min-height: 100svh; padding: calc(var(--v-head-h) + clamp(48px, 7vw, 96px)) var(--v-gutter) 0; }
.ev-head { min-height: clamp(560px, 82vh, 760px); padding: calc(var(--v-head-h) + clamp(48px, 6vw, 88px)) var(--v-gutter) 0; }

/* 右側の黒パネル（線画）。断ち落としで画面右端まで */
.ev-hero__panel, .ev-head__panel { position: absolute; top: 0; right: 0; bottom: 0; width: 41vw; background: var(--v-panel); z-index: -1; overflow: hidden; }
.ev-head__panel { width: 34vw; }
.ev-hero__panel img, .ev-head__panel img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 70%; }
.ev-head__panel img { opacity: .9; object-position: 60% 50%; }

.ev-hero__inner, .ev-head__inner { position: relative; max-width: 30em; z-index: 2; }
.ev-hero__kw { display: block; font-family: var(--v-sans); font-size: 12px; font-weight: 400; letter-spacing: .1em; color: var(--v-mute); margin-bottom: 30px; }
.ev-hero__title { font-family: var(--v-serif); font-weight: 500; font-size: clamp(28px, 3.3vw, 46px); line-height: 1.6; letter-spacing: .08em; margin: 0 0 30px; color: var(--v-ink); }
.ev-hero__title em { font-style: normal; }
.ev-hero__sub, .ev-head__sub { max-width: 27em; color: var(--v-mute); font-size: 13.5px; line-height: 2.15; }
.ev-head__title { font-family: var(--v-serif); font-weight: 500; font-size: clamp(26px, 3vw, 42px); line-height: 1.6; letter-spacing: .08em; color: var(--v-ink); }
.ev-head__sub { margin-top: 26px !important; }
.ev-crumb { display: flex; gap: .7em; font-family: var(--v-en); font-size: 13px; color: var(--v-mute); margin-bottom: 40px !important; }
.ev-crumb a:hover { opacity: .55; }

/* 巨大ワードマーク: 紙の上では濃く、黒パネルの上では反転して見える */
.ev-hero__word, .ev-head__word {
  position: absolute; left: calc(var(--v-gutter) - .05em); bottom: -0.1em; z-index: 1;
  font-size: clamp(96px, 19.5vw, 380px); color: #fff; mix-blend-mode: difference;
}
.ev-head__word { font-size: clamp(88px, 17vw, 320px); }

@media (max-width: 899px) {
  .ev-hero { padding-top: calc(var(--v-head-h) + 32px); min-height: 0; padding-bottom: 0; }
  .ev-hero__panel { position: relative; width: auto; height: 62vw; margin: 0 calc(-1 * var(--v-gutter)) 40px; z-index: 0; }
  .ev-hero__panel img { object-position: 70% 60%; }
  .ev-hero__word { position: relative; left: auto; bottom: auto; display: block; margin: 56px 0 -0.12em -0.04em; font-size: 25vw; color: var(--v-ink); mix-blend-mode: normal; }
  .ev-hero .ev-meta { position: static; padding: 0 0 18px; }
  .ev-head { min-height: 0; padding-bottom: 0; }
  .ev-head__panel { position: relative; width: auto; height: 46vw; margin: 0 calc(-1 * var(--v-gutter)) 36px; z-index: 0; }
  .ev-head__word { position: relative; left: auto; bottom: auto; display: block; margin: 48px 0 -0.12em -0.04em; font-size: 22vw; color: var(--v-ink); mix-blend-mode: normal; }
  .ev-head .ev-meta { position: static; padding: 0 0 18px; }
}

/* === 6. Sections ========================================== */

/* --- Split（画像 × 文章）: 画像は画面端まで断ち落とす --- */
.ev-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 8vw, 140px); align-items: start; }
.ev-split--rev .ev-split__media { order: 2; }
.ev-split__media { position: relative; }
.ev-split__media img { width: 100%; }
.ev-sec > .ev-split > .ev-split__media:first-child { margin-left: calc(-1 * var(--v-gutter)); }
.ev-sec > .ev-split > div:not(.ev-split__media) { padding-top: clamp(0px, 6vw, 96px); }
.ev-illu img { mix-blend-mode: multiply; }
@media (max-width: 899px) {
  .ev-split { grid-template-columns: 1fr; }
  .ev-split--rev .ev-split__media { order: 0; }
  .ev-sec > .ev-split > .ev-split__media:first-child { margin-left: 0; }
  .ev-sec > .ev-split > div:not(.ev-split__media) { padding-top: 0; }
  .ev-split__media.ev-illu { margin: 0 calc(-1 * var(--v-gutter)) !important; }
}

/* --- Stats: 枠なし、数字を大きく、高さをずらす --- */
.ev-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: clamp(56px, 7vw, 96px); align-items: end; }
.ev-stat { padding: 0; }
.ev-stat:nth-child(2) { transform: translateY(-48px); }
.ev-stat:nth-child(3) { transform: translateY(28px); }
.ev-stat__num { font-family: var(--v-en); font-weight: 400; font-size: clamp(64px, 9vw, 150px); line-height: .9; letter-spacing: -.02em; color: var(--v-on-dark); }
.ev-stat__label { margin-top: 18px !important; font-size: 13px; letter-spacing: .08em; color: var(--v-on-dark); }
.ev-stat__cmp { font-size: 12px; color: var(--v-on-dark-mute); }
@media (max-width: 599px) { .ev-stats { grid-template-columns: 1fr; gap: 40px; } .ev-stat:nth-child(n) { transform: none; } }

/* --- Pillars: 線なし、縦位置をずらす --- */
.ev-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(32px, 4vw, 64px); }
.ev-pillar:nth-child(2) { margin-top: 64px; }
.ev-pillar:nth-child(3) { margin-top: 128px; }
.ev-pillar .ev-h3 { margin-bottom: 14px; }
.ev-pillar p { color: var(--v-mute); font-size: 13.5px; }
.ev-pillar__num { display: none; }
@media (max-width: 899px) { .ev-pillars { grid-template-columns: 1fr; gap: 44px; } .ev-pillar:nth-child(n) { margin-top: 0; } }

/* --- Cards: 枠なし。2枚目だけ下げる --- */
.ev-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.6vw, 40px); align-items: start; }
.ev-card:nth-child(2) { margin-top: 96px; }
.ev-card:nth-child(3) { margin-top: 32px; }
.ev-card__media { position: relative; overflow: hidden; background: #000; }
.ev-card__media img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform 1.4s var(--v-ease); }
.ev-card:hover .ev-card__media img { transform: scale(1.03); }
.ev-card__tag { position: absolute; top: 14px; left: 16px; font-family: var(--v-en); font-size: 14px; color: rgba(255,255,255,.75); }
.ev-card__body { padding-top: 18px; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.ev-card__name { font-family: var(--v-serif); font-size: 17px; letter-spacing: .06em; }
.ev-card__desc { font-size: 12px; color: var(--v-mute); margin-top: 2px !important; }
.ev-card__price { font-family: var(--v-en); font-size: 20px; white-space: nowrap; text-align: right; line-height: 1.3; }
.ev-card__price small { display: block; font-family: var(--v-sans); font-size: 11px; color: var(--v-mute); }
@media (max-width: 899px) { .ev-cards { grid-template-columns: 1fr; gap: 56px; } .ev-card:nth-child(n) { margin-top: 0; } .ev-card:nth-child(2) { margin-left: 18%; } }

/* --- Process --- */
.ev-processGrid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(48px, 8vw, 140px); align-items: start; }
.ev-processGrid__aside { position: sticky; top: 120px; }
.ev-processGrid__aside .ev-illu { margin-top: 56px; margin-left: calc(-1 * var(--v-gutter)); }
@media (max-width: 899px) { .ev-processGrid { grid-template-columns: 1fr; } .ev-processGrid__aside { position: static; } }
.ev-steps { list-style: none; margin: 0; padding: 0; }
.ev-step { display: grid; grid-template-columns: 96px 1fr; gap: 20px; padding: 0 0 56px; }
.ev-step__num { font-size: 0; }
.ev-step__num b { font-family: var(--v-en); font-weight: 400; font-size: 44px; line-height: 1; color: var(--v-text); }
.ev-step .ev-h3 { margin-bottom: 8px; }
.ev-step p { color: var(--v-mute); font-size: 13.5px; }
.ev-step ul { margin: 12px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.ev-step li { font-size: 12px; color: var(--v-text); }
@media (max-width: 599px) { .ev-step { grid-template-columns: 56px 1fr; gap: 12px; } .ev-step__num b { font-size: 32px; } }

.ev-flow4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(20px, 3vw, 44px); }
.ev-flow4 > div:nth-child(even) { margin-top: 48px; }
.ev-flow4 .ev-step__num { display: block; margin-bottom: 16px; }
.ev-flow4 p { font-size: 13px; color: var(--v-mute); margin-top: 6px !important; }
@media (max-width: 899px) { .ev-flow4 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .ev-flow4 { grid-template-columns: 1fr; } .ev-flow4 > div:nth-child(n) { margin-top: 0; } }

/* --- Voices: 箱なし、引用を大きく --- */
.ev-voices { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(56px, 7vw, 112px) clamp(40px, 7vw, 120px); }
.ev-voice { margin: 0; }
.ev-voice:nth-child(even) { margin-top: 88px; }
.ev-voice__title { font-family: var(--v-serif); font-size: clamp(20px, 2.2vw, 30px); line-height: 1.65; letter-spacing: .04em; margin: 0 0 18px !important; }
.ev-voice__title::before { content: "「"; margin-left: -.9em; }
.ev-voice__title::after { content: "」"; }
.ev-voice__text { color: var(--v-mute); font-size: 13.5px; max-width: 30em; }
.ev-voice__who { margin-top: 18px !important; font-size: 12px; letter-spacing: .08em; color: var(--v-text); }
@media (max-width: 899px) { .ev-voices { grid-template-columns: 1fr; } .ev-voice:nth-child(even) { margin-top: 0; margin-left: 12%; } .ev-voice__title::before { margin-left: -.5em; } }

/* --- FAQ --- */
.ev-faqGrid { display: grid; grid-template-columns: 4fr 8fr; gap: clamp(40px, 7vw, 120px); }
@media (max-width: 899px) { .ev-faqGrid { grid-template-columns: 1fr; } }
.ev-faq { border-top: 1px solid var(--v-line); }
.ev-faq details { border-bottom: 1px solid var(--v-line); }
.ev-faq summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr 20px; gap: 16px; align-items: baseline; padding: 26px 0; font-family: var(--v-serif); font-size: clamp(15px, 1.4vw, 17px); letter-spacing: .04em; line-height: 1.7; }
.ev-faq summary::-webkit-details-marker { display: none; }
.ev-faq summary::after { content: "+"; font-family: var(--v-en); font-size: 22px; line-height: 1; justify-self: end; }
.ev-faq details[open] summary::after { content: "−"; }
.ev-faq__a { padding: 0 40px 30px 0; color: var(--v-mute); font-size: 13.5px; }

/* --- Guides（読みもの） --- */
.ev-guides { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 64px); }
.ev-guide { display: flex; flex-direction: column; gap: 10px; color: var(--v-text) !important; transition: opacity .3s; }
.ev-guide:nth-child(2) { margin-top: 56px; }
.ev-guide:hover { opacity: .55; }
.ev-guide__no { display: none; }
.ev-guide__t { font-family: var(--v-serif); font-size: 18px; letter-spacing: .04em; line-height: 1.7; padding-bottom: 14px; border-bottom: 1px solid var(--v-text); }
.ev-guide__d { font-size: 12.5px; color: var(--v-mute); line-height: 1.9; }
@media (max-width: 899px) { .ev-guides { grid-template-columns: 1fr; } .ev-guide:nth-child(n) { margin-top: 0; } }

/* --- お知らせ・メディア --- */
.ev-media { list-style: none; margin: 0; padding: 0; max-width: 820px; }
.ev-media li { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 16px 0; font-size: 14px; border-bottom: 1px solid var(--v-line); }
.ev-media time { font-family: var(--v-en); font-size: 16px; color: var(--v-mute); }
.ev-mediaPosts { margin-top: clamp(64px, 8vw, 104px); }
@media (max-width: 599px) { .ev-media li { grid-template-columns: 1fr; gap: 2px; } }

/* --- Journal（[ed_journal]） --- */
.ev-journal { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 44px); align-items: start; }
.ev-journal__item:nth-child(2) { margin-top: 48px; }
.ev-journal__thumb { overflow: hidden; background: var(--v-panel); }
.ev-journal__thumb img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.ev-journal__date { display: block; margin-top: 16px; font-family: var(--v-en); font-size: 14px; color: var(--v-mute); }
.ev-journal__title { margin-top: 4px !important; font-family: var(--v-serif); font-size: 15px; line-height: 1.8; letter-spacing: .04em; }
.ev-journal__item:hover { opacity: .6; }
@media (max-width: 899px) { .ev-journal { grid-template-columns: 1fr; gap: 40px; } .ev-journal__item:nth-child(n) { margin-top: 0; } }
.ev-headRow { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: clamp(48px, 6vw, 88px); }

/* --- Instagram --- */
.edIgGrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.edIgGrid__item { position: relative; display: block; overflow: hidden; aspect-ratio: 1; background: var(--v-panel); }
.edIgGrid__item img { width: 100%; height: 100%; object-fit: cover; }
.edIgGrid__hover { display: none; }
@media (max-width: 599px) { .edIgGrid { grid-template-columns: repeat(2, 1fr); } }
.ev-igFallback { display: flex; flex-wrap: wrap; align-items: baseline; gap: 16px 40px; padding: 0; border: 0; color: var(--v-text) !important; }
.ev-igFallback__en { font-family: var(--v-en); font-size: clamp(44px, 7vw, 110px); line-height: 1; letter-spacing: -.02em; color: var(--v-ink); }
.ev-igFallback__text { color: var(--v-mute); font-size: 13.5px; }
.ev-igFallback:hover .ev-igFallback__en { opacity: .6; }

/* --- CTA: 黒パネルを左に、言葉は縦組み --- */
.ev-cta { position: relative; background: var(--v-panel); color: var(--v-on-dark); padding: clamp(110px, 14vw, 200px) var(--v-gutter); overflow: hidden; }
.ev-cta__media { position: absolute; top: 0; bottom: 0; left: 0; width: 46%; }
.ev-cta__media img { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.ev-cta .ev-wrap { max-width: none; margin-left: 52%; }
.ev-cta__title { font-family: var(--v-serif); font-weight: 500; font-size: clamp(26px, 3.4vw, 46px); line-height: 1.7; letter-spacing: .1em; color: var(--v-on-dark); }
.ev-cta .ev-lead { color: var(--v-on-dark-mute); }
@media (min-width: 900px) {
  .ev-cta__title { writing-mode: vertical-rl; height: 9.5em; margin-bottom: 8px; }
}
@media (max-width: 899px) {
  .ev-cta { padding-top: 0; }
  .ev-cta__media { position: relative; width: auto; height: 58vw; margin: 0 calc(-1 * var(--v-gutter)) 56px; }
  .ev-cta .ev-wrap { margin-left: 0; }
}

/* --- Band（未使用時も壊れないように） --- */
.ev-band { display: none; }

/* === 7. Product / Moissanite / Memorial =================== */
.ev-lineup { display: grid; gap: clamp(110px, 13vw, 200px); }
.ev-product { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(40px, 7vw, 120px); align-items: end; }
.ev-product:nth-child(even) { grid-template-columns: 5fr 7fr; }
.ev-product:nth-child(even) .ev-product__media { order: 2; }
.ev-product:nth-child(odd) .ev-product__media { margin-left: calc(-1 * var(--v-gutter)); }
.ev-product:nth-child(even) .ev-product__media { margin-right: calc(-1 * var(--v-gutter)); }
.ev-product__media { background: #000; }
.ev-product__media img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.ev-product__no { font-family: var(--v-en); font-size: 15px; color: var(--v-mute); }
.ev-product__name { font-family: var(--v-serif); font-weight: 500; font-size: clamp(28px, 3.4vw, 46px); letter-spacing: .08em; line-height: 1.4; margin: 10px 0 20px !important; }
.ev-product__kw { display: block; font-family: var(--v-sans); font-size: 12px; font-weight: 400; letter-spacing: .08em; color: var(--v-mute); margin-top: 8px; }
.ev-product__desc { color: var(--v-mute); font-size: 13.5px; }
@media (max-width: 899px) {
  .ev-product, .ev-product:nth-child(even) { grid-template-columns: 1fr; }
  .ev-product:nth-child(even) .ev-product__media { order: 0; }
  .ev-product:nth-child(n) .ev-product__media { margin: 0 calc(-1 * var(--v-gutter)); }
}

.edv table { width: 100% !important; border-collapse: collapse; border: 0 !important; }
.edv table th, .edv table td { background: transparent !important; border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; color: inherit; }
.ev-variants { margin-top: 32px; font-size: 13.5px; }
.edv .ev-variants th, .edv .ev-variants td { padding: 14px 6px; border-bottom: 1px solid var(--v-line) !important; text-align: left; vertical-align: middle; }
.ev-variants th { font-family: var(--v-serif); font-weight: 500; }
.ev-variants .ev-v__price { font-family: var(--v-en); font-size: 18px; white-space: nowrap; text-align: right; }
.ev-variants .ev-v__buy { text-align: right; width: 1%; white-space: nowrap; }
.ev-variants .ev-v__buy a { font-size: 12px; letter-spacing: .08em; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.ev-variants .ev-v__buy a:hover { opacity: .55; }
@media (max-width: 599px) { .edv .ev-variants th, .edv .ev-variants td { padding: 12px 3px; font-size: 12.5px; } }

.ev-spec { display: grid; grid-template-columns: 170px 1fr; margin: 0; border-top: 1px solid var(--v-line); }
.ev-spec dt, .ev-spec dd { margin: 0; padding: 20px 0; border-bottom: 1px solid var(--v-line); }
.ev-spec dt { font-size: 12.5px; color: var(--v-mute); letter-spacing: .08em; }
.ev-spec dd { font-size: 14px; }
.ev-spec dd small { display: block; color: var(--v-mute); font-size: 12px; margin-top: 4px; }
@media (max-width: 599px) { .ev-spec { grid-template-columns: 1fr; } .ev-spec dt { padding-bottom: 0; border-bottom: 0; } .ev-spec dd { padding-top: 6px; } }

.ev-choose { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(32px, 4vw, 64px); }
.ev-choose > div:nth-child(2) { margin-top: 72px; }
.ev-choose__k { font-family: var(--v-en); font-size: clamp(56px, 7vw, 110px); line-height: .9; letter-spacing: -.02em; color: var(--v-on-dark); }
.ev-choose__t { font-family: var(--v-serif); margin: 18px 0 8px !important; font-size: 16px; letter-spacing: .06em; }
.ev-choose p:last-child { color: var(--v-on-dark-mute); font-size: 13.5px; }
.ev-choose > div:nth-child(3) .ev-choose__k { font-family: var(--v-serif); font-size: clamp(28px, 3vw, 40px); line-height: 1.4; }
@media (max-width: 899px) { .ev-choose { grid-template-columns: 1fr; } .ev-choose > div:nth-child(n) { margin-top: 0; } }

.ev-tableWrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ev-table { min-width: 560px; font-size: 13.5px; }
.edv .ev-table th, .edv .ev-table td { padding: 18px 16px 18px 0; border-bottom: 1px solid var(--v-line) !important; text-align: left; vertical-align: top; line-height: 1.8; }
.edv .ev-table thead th { font-size: 12px; font-weight: 400; color: var(--v-mute) !important; border-bottom: 1px solid var(--v-text) !important; }
.edv .ev-table thead th.is-ours { color: var(--v-text) !important; }
.edv .ev-table th small { display: block; font-size: 11px; color: var(--v-mute); font-weight: 400; }
.edv .ev-table tbody th { font-family: var(--v-serif); font-weight: 500; white-space: nowrap; }
.edv .ev-table .is-ours { background: transparent !important; font-weight: 500; }
.ev-table .ev-num { font-family: var(--v-en); font-size: 24px; line-height: 1.2; }

.ev-myths { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(48px, 6vw, 88px) clamp(40px, 7vw, 120px); }
.ev-myth:nth-child(even) { margin-top: 64px; }
.ev-myth__q { font-family: var(--v-serif); font-size: clamp(18px, 1.8vw, 22px); letter-spacing: .04em; margin-bottom: 14px !important; color: var(--v-on-dark); }
.ev-myth__q span { display: none; }
.ev-myth p:last-child { color: var(--v-on-dark-mute); font-size: 13.5px; }
@media (max-width: 899px) { .ev-myths { grid-template-columns: 1fr; } .ev-myth:nth-child(n) { margin-top: 0; } }

.ev-reasons { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(48px, 6vw, 88px) clamp(40px, 7vw, 120px); }
.ev-reason:nth-child(even) { margin-top: 64px; }
.ev-reason p:last-child { color: var(--v-mute); font-size: 13.5px; margin-top: 10px !important; }
@media (max-width: 899px) { .ev-reasons { grid-template-columns: 1fr; } .ev-reason:nth-child(n) { margin-top: 0; } }

/* === 8. Motion ============================================ */
.js .edv [data-rv] { opacity: 0; transition: opacity 1.2s var(--v-ease); transition-delay: calc(var(--d, 0) * 100ms); }
.js .edv [data-rv].is-in { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .js .edv [data-rv] { opacity: 1; transition: none; } }

/* FOUC対策 */
html.js:not(.is-ready) #wrapper { visibility: hidden; }

/* --- 調整（v4 初回確認後） --- */
/* PCでは黒パネルをヘッダーの下から始める（ナビが黒地に沈まないように） */
@media (min-width: 900px) {
  .ev-hero__panel, .ev-head__panel { top: var(--v-head-h); }
}
.ev-hero__inner { max-width: 40em; }
.ev-hero__sub { max-width: 27em; }
/* 2カラム内の見出しは一段小さく、行の途中で割れにくくする */
.ev-split .ev-h2, .ev-processGrid .ev-h2, .ev-faqGrid .ev-h2 { font-size: clamp(24px, 2.6vw, 36px); line-height: 1.6; }
/* 巨大英字と本文が重ならないよう、英字の高さぶん下に余白を確保 */
@media (min-width: 900px) {
  .ev-hero { padding-bottom: calc(19.5vw * .8 + 40px); }
  .ev-head { padding-bottom: calc(17vw * .8 + 48px); }
  .ev-head__inner { max-width: min(46em, 58vw); }
  .ev-head__title { font-size: clamp(26px, 2.7vw, 40px); }
}
@media (max-width: 899px) {
  .ev-hero__word, .ev-head__word { margin-top: 88px; }
}
@media (max-width: 899px) {
  .ev-hero__word, .ev-head__word { line-height: 1; margin-top: 40px; }
}
@media (max-width: 899px) { .ev-hero__word { margin-top: 72px; } }

/* === 10. 横スクロール区間（.ev-hs） =========================
   PC: JS が .is-hs を付け、区間を sticky で固定して縦スクロール量ぶん横へ送る。
   SP / JS無効: ステップ列を指で横スワイプ（scroll-snap）。 */
.ev-hs { position: relative; background: var(--v-paper); }
.ev-hs__pin { padding: var(--v-sec) 0; }
.ev-hs__track { position: relative; }
.ev-hs__intro { padding: 0 var(--v-gutter); max-width: 560px; }
.ev-hs__hint { display: none; }
.ev-hs__steps { list-style: none; margin: 56px 0 0; padding: 0 var(--v-gutter) 12px; display: flex; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.ev-hs__steps::-webkit-scrollbar { display: none; }
.ev-hs__step, .ev-hs__photo { flex: 0 0 78vw; scroll-snap-align: start; }
.ev-hs__num { font-family: var(--v-en); font-weight: 400; font-size: 88px; line-height: .8; letter-spacing: -.03em; margin-bottom: 22px !important; color: var(--v-ink); }
.ev-hs__step .ev-h3 { margin-bottom: 10px; }
.ev-hs__step p:not(.ev-hs__num) { color: var(--v-mute); font-size: 13.5px; }
.ev-hs__photo img { width: 100%; height: 62vw; object-fit: cover; }
.ev-hs__word { display: none; }

.ev-hs.is-hs .ev-hs__pin { position: sticky; top: 0; height: 100vh; height: 100svh; padding: 0; overflow: hidden; display: flex; align-items: center; }
.ev-hs.is-hs .ev-hs__track { display: flex; align-items: center; height: 100%; padding: 0 var(--v-gutter); will-change: transform; }
.ev-hs.is-hs .ev-hs__intro { flex: 0 0 min(36vw, 500px); padding: 0; margin-right: 8vw; }
.ev-hs.is-hs .ev-hs__hint { display: block; margin-top: 48px; font-family: var(--v-en); font-size: 15px; color: var(--v-mute); }
.ev-hs.is-hs .ev-hs__steps { margin: 0; padding: 0; overflow: visible; gap: 7vw; align-items: center; height: 100%; }
.ev-hs.is-hs .ev-hs__step { flex: 0 0 300px; margin-top: -14vh; }
.ev-hs.is-hs .ev-hs__step--low { margin-top: 22vh; }
.ev-hs.is-hs .ev-hs__num { font-size: clamp(110px, 12vw, 200px); }
.ev-hs.is-hs .ev-hs__photo { flex: 0 0 auto; }
.ev-hs.is-hs .ev-hs__photo img { width: auto; height: 50vh; }
.ev-hs.is-hs .ev-hs__photo--tall img { height: 64vh; }
.ev-hs.is-hs .ev-hs__photo:not(.ev-hs__photo--tall) img { height: 72vh; margin-top: 6vh; }
/* 背景を流れる袋文字の巨大英字 */
.ev-hs.is-hs .ev-hs__word { display: block; position: absolute; left: 34vw; bottom: 2vh; z-index: -1; font-size: clamp(140px, 17vw, 300px); color: transparent; -webkit-text-stroke: 1px rgba(27, 26, 23, .35); }
/* 進み具合のバー */
.ev-hs__bar { display: none; }
.ev-hs.is-hs .ev-hs__bar { display: block; position: absolute; left: var(--v-gutter); right: var(--v-gutter); bottom: 28px; height: 1px; background: var(--v-line); }
.ev-hs.is-hs .ev-hs__bar span { position: absolute; left: 0; top: 0; bottom: 0; width: 100%; background: var(--v-ink); transform-origin: left; transform: scaleX(var(--p, 0)); }
/* 読み込み前・読み込み失敗時も横幅が暴れないよう、縦横比を固定 */
.ev-hs.is-hs .ev-hs__photo--tall img { aspect-ratio: 3 / 2; }
.ev-hs.is-hs .ev-hs__photo:not(.ev-hs__photo--tall) img { aspect-ratio: 2 / 3; }

/* --- 写真の断ち落とし帯（左右どちらかに寄せて、揃えすぎない） --- */
.ev-photoBand { position: relative; margin: 0; padding: 0 0 clamp(64px, 8vw, 120px) 18vw; background: var(--v-paper); }
.ev-photoBand img { display: block; width: 100%; height: clamp(320px, 50vw, 720px); object-fit: cover; }
.ev-photoBand figcaption { position: absolute; left: var(--v-gutter); bottom: calc(clamp(64px, 8vw, 120px) + 4px); font-family: var(--v-en); font-size: 13px; color: var(--v-mute); }
@media (max-width: 599px) { .ev-photoBand { padding-left: 0; } .ev-photoBand figcaption { left: auto; right: var(--v-gutter); bottom: 6px; } }
.ev-hs__end { flex: 0 0 78vw; scroll-snap-align: start; display: flex; flex-direction: column; gap: 20px; }
.ev-hs__end img { width: 100%; height: 62vw; object-fit: cover; }
.ev-hs.is-hs .ev-hs__end { flex: 0 0 auto; align-items: flex-start; margin-right: 6vw; }
.ev-hs.is-hs .ev-hs__end img { width: auto; height: 66vh; aspect-ratio: 2 / 3; }
.ev-hs__steps { scroll-padding-inline: var(--v-gutter); }

/* === 11. オープニング（トップ・セッション1回） ================ */
.ed-intro__layer { display: none; }
html.ed-intro { overflow: hidden; }
html.ed-intro .ed-intro__layer {
  display: flex; position: fixed; inset: 0; z-index: 10000; align-items: center; justify-content: center;
  background: var(--v-paper); transition: opacity 1.1s var(--v-ease), visibility 1.1s;
}
/* 白黒クリップを紙の上に薄く（乗算で紙色になじませる） */
.ed-intro__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .32; mix-blend-mode: multiply; }
.ed-intro__text { position: relative; text-align: center; }
.ed-intro__word { margin: 0; font-family: var(--v-en); font-weight: 400; font-size: clamp(56px, 11vw, 180px); line-height: 1; letter-spacing: -.02em; color: var(--v-ink); opacity: 0; transform: translateY(12px); animation: edIntroIn 1.6s .5s var(--v-ease) forwards; }
.ed-intro__tag { margin: 22px 0 0; font-family: var(--v-serif); font-size: clamp(14px, 1.4vw, 18px); letter-spacing: .3em; color: var(--v-text); opacity: 0; animation: edIntroIn 1.4s 1.4s var(--v-ease) forwards; }
.ed-intro__skip { position: absolute; right: var(--v-gutter); bottom: 28px; background: none; border: 0; border-bottom: 1px solid currentColor; padding: 4px 0; font-family: var(--v-en); font-size: 15px; color: var(--v-mute); cursor: pointer; }
.ed-intro__skip:hover { color: var(--v-ink); }
@keyframes edIntroIn { to { opacity: 1; transform: none; } }
html.ed-intro.ed-intro--out .ed-intro__layer { opacity: 0; visibility: hidden; }

/* --- 鉛筆画ヒーロー（縦長: 上に実物の石、下に犬と猫） --- */
.ev-hero__panel img { object-position: 50% 100%; }
@media (max-width: 899px) {
  .ev-hero__panel { height: 92vw; }
  .ev-hero__panel img { object-position: 50% 82%; }
}
.ev-hero__panel { background: #000; }
@media (max-width: 899px) { .ev-hero__panel img { object-position: 50% 8%; } }

/* 金のほわほわ（my_script.js が描画） */
.ed-dust { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 10001; pointer-events: none; }

/* 改行の調整: 最終行に1〜2文字だけ残る行を避ける */
.edv p, .edv li, .edv dd, .edv td, .edv summary, .ed-footer p { text-wrap: pretty; }
.edv h3 { text-wrap: balance; }
@media (max-width: 899px) {
  .ev-table { min-width: 680px; }
  .edv .ev-table tbody th { white-space: normal; min-width: 7.5em; }
}
.edv .ev-variants th { white-space: nowrap; }
.edv .ev-variants td { word-break: keep-all; }

/* スマホ: ヒーローの巨大ワードマークを1行に収める（文字幅 約5.5em） */
@media (max-width: 899px) {
  .edv .ev-hero__word { white-space: nowrap; font-size: calc((100vw - 2 * var(--v-gutter)) / 5.65); margin-top: 64px; }
}
