/* Yoraku renew ── 自動生成（和集合 + 新トーン上書き） */

/* ==== from about.html ==== */

  

  
  
  
  
  
  

  /* ====== ナビ ====== */
  
  
  
  
  
  
  
  

  section { padding: 116px 32px; }
  .inner { max-width: 860px; margin: 0 auto; }
  @media (max-width: 860px) { section { padding: 80px 22px; } }

  .sec-kicker {
    font-family: "Noto Serif JP", serif;
    font-size: 13px;
    letter-spacing: 0.3em;
    color: var(--gold-deep);
    margin-bottom: 18px;
    text-align: center;
  }
  .sec-title {
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: var(--sumi);
    margin-bottom: 44px;
    line-height: 1.7;
    text-align: left;
  }
  

  /* ====== ページヒーロー ====== */
  
  .page-hero .crumb {
    font-size: 12px;
    letter-spacing: 0.1em;
    color: rgba(250,250,248,0.6);
    margin-bottom: 28px;
  }
  .page-hero .crumb a { color: rgba(250,250,248,0.8); text-decoration: none; }
  .page-hero .crumb a:hover { color: #fff; }
  
  .page-hero h1 {
    font-family: "Noto Serif JP", serif;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.14em;
    margin-bottom: 26px;
  }
  

  /* ====== Vision / Mission / Values（統一セクション） ====== */
  .mvv-sec .sec-kicker { margin-bottom: 40px; }
  .sec-vision  { background: var(--washi); }
  .sec-mission { background: var(--base); }
  .sec-values  { background: var(--washi-2); }
  .mvv-stmt {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 26px;
    letter-spacing: 0.12em;
    color: var(--sumi);
    line-height: 2.0;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
  }
  .value-groups { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 48px; }
  .vgroup { text-align: center; }
  .vgroup .vg-theme { font-family: "Noto Serif JP", serif; font-size: 22px; font-weight: 500; letter-spacing: 0.1em; color: var(--sumi); margin-bottom: 22px; }
  .vgroup .vg-list { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; padding: 0; }
  .vgroup .vg-list li { font-family: "Noto Serif JP", serif; font-size: 15px; letter-spacing: 0.06em; color: var(--sumi-2); background: var(--base); border: 1px solid var(--line); border-radius: 999px; padding: 9px 20px; }
  @media (max-width: 860px) {
    .mvv-sec .sec-kicker { margin-bottom: 28px; }
    .mvv-stmt { font-size: 20px; }
    .value-groups { gap: 36px; }
    .vgroup .vg-theme { font-size: 19px; margin-bottom: 16px; }
    .vgroup .vg-list { gap: 9px; }
    .vgroup .vg-list li { font-size: 13px; padding: 8px 15px; }
  }

  /* ====== 代表プロフィール ====== */
  .profile { background: var(--washi); }
  .profile-inner { display: grid; grid-template-columns: 140px 1fr; gap: 36px; align-items: stretch; max-width: 720px; margin: 0 auto; text-align: left; }
  .profile .profile-aside { display: flex; flex-direction: column; }
  .profile .profile-aside .avatar { flex: 1 1 auto; }
  .profile .avatar { position: relative; width: 140px; min-height: 170px; background: var(--base); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; font-family: "Noto Serif JP", serif; font-size: 64px; color: var(--sumi); overflow: hidden; }
  .profile .hb-overlay { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 8px 10px; background: linear-gradient(180deg, rgba(22, 33, 62,0), rgba(22, 33, 62,0.55) 40%, rgba(22, 33, 62,0.82)); text-align: center; }
  .profile .hb-overlay .hb-title { display: block; font-family: "Noto Serif JP", serif; font-size: 10px; letter-spacing: 0.3em; color: var(--gold-faint); margin-bottom: 3px; }
  .profile .hb-overlay .hb-list { display: block; font-size: 12px; color: #fff; line-height: 1.5; letter-spacing: 0.04em; }
  .profile .avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .profile .pname { font-family: "Noto Serif JP", serif; font-size: 26px; letter-spacing: 0.12em; color: var(--sumi); margin-bottom: 4px; font-weight: 500; }
  .profile .prole { font-size: 13px; letter-spacing: 0.18em; color: var(--hojicha); margin-bottom: 18px; }
  .profile-body p { font-size: 15px; color: var(--sumi-2); margin-bottom: 12px; letter-spacing: 0.03em; line-height: 2.0; }
  .profile-body .greeting { font-family: "Noto Serif JP", serif; font-size: 18px; color: var(--sumi); letter-spacing: 0.08em; margin-bottom: 24px; line-height: 1.9; }
  @media (max-width: 860px) {
    .profile-inner { grid-template-columns: 1fr; gap: 20px; }
    .profile .profile-aside { align-items: center; }
    .profile .avatar { width: 120px; min-height: 150px; flex: none; font-size: 44px; }
    .profile-body .greeting { font-size: 16px; }
  }

  /* ====== 由来 ====== */
  .origin-sec { background: var(--washi-2); }
  .origin {
    max-width: 720px;
    margin: 0 auto;
    padding: 32px 36px;
    background: var(--base);
    border-left: 3px solid var(--shu);
  }
  .origin p { font-size: 14px; margin-bottom: 8px; color: var(--sumi-2); line-height: 2.0; }
  .origin .glyphs {
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    letter-spacing: 0.1em;
    color: var(--sumi);
    margin-top: 12px;
  }
  .origin .glyphs .ac { color: var(--shu); }

  /* ====== 物語 ====== */
  .logo-mean { background: var(--shu); color: var(--washi); text-align: center; }
  .logo-mean .sec-title { color: var(--washi); text-align: center; }
  .logo-mean .lm-mark img { height: 132px; width: auto; display: block; margin: 0 auto 40px; }
  .logo-mean p { font-size: 16px; line-height: 2.1; letter-spacing: 0.04em; color: rgba(250,250,248,0.88); max-width: 640px; margin: 0 auto 16px; }
  .logo-mean p strong { color: var(--gold-faint); font-weight: 600; }
  @media (max-width: 860px) {
    .logo-mean .lm-mark img { height: 104px; margin-bottom: 30px; }
    .logo-mean p { font-size: 15px; }
  }
  .story { background: var(--base); }
  .story .inner { max-width: 720px; }
  .story-lead {
    font-family: "Noto Serif JP", serif;
    font-size: 18px;
    line-height: 2.1;
    letter-spacing: 0.06em;
    color: var(--sumi);
    text-align: left;
    margin-bottom: 48px;
  }
  .story h3 {
    font-family: "Noto Serif JP", serif;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: var(--shu);
    margin: 44px 0 16px;
  }
  .story p {
    font-size: 15px;
    color: var(--sumi-2);
    line-height: 2.1;
    letter-spacing: 0.03em;
    margin-bottom: 18px;
  }
  .story p strong { color: var(--sumi); font-weight: 700; }
  .pullquote {
    font-family: "Noto Serif JP", serif;
    font-size: 22px;
    line-height: 1.95;
    letter-spacing: 0.08em;
    color: var(--shu);
    text-align: center;
    margin: 36px 0;
    padding: 24px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }
  @media (max-width: 860px) {
    .story-lead { font-size: 16px; }
    .pullquote { font-size: 18px; }
  }

  /* ====== CTA ====== */
  .cta-btn {
    display: inline-block;
    padding: 16px 40px;
    border: 1px solid rgba(255,255,255,0.4);
    color: var(--washi);
    text-decoration: none;
    font-size: 14px;
    letter-spacing: 0.14em;
    transition: background 0.2s, border-color 0.2s;
  }
  .cta-btn:hover { background: rgba(255,255,255,0.08); border-color: var(--washi); }

  /* ====== フッター ====== */
  
  
  
  
  
  

  /* ====== 演出・トップへ ====== */
  
  
  
  
  .to-top {
    position: fixed; bottom: 24px; right: 24px;
    width: 44px; height: 44px;
    background: var(--shu); color: var(--washi);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    text-decoration: none; font-size: 18px;
    opacity: 0; transform: translateY(10px);
    transition: opacity 0.3s, transform 0.3s; z-index: 90;
  }
  .to-top.show { opacity: 0.88; transform: translateY(0); }
  .to-top:hover { opacity: 1; }

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  .svc-card .desc, .strength .sd, .flow-note, .works-note,
  .origin p,
  .plan-card .pconcept, .service-card-body, .single-card-body, .sec-note,
  .process-content-body, .trans-body {
    font-size: 16px ;
    line-height: 2.0 ;
    color: var(--sumi-2) ;
  }

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from contact.html ==== */

  :root {
    --sumi:#1B2436; --sumi-2:#39435A; --gray-1:#6B7484; --gray-2:#9AA1AE;
    --line:#E3E6EB; --base:#ffffff; --washi:#F7F9FB; --washi-2:#EEF1F5;
    --bg:#EAEEF3; --shu:#16213E; --hojicha:#6B7484;
    --gold:#C0972F; --gold-deep:#8C6920; --gold-faint:#F0E4C2;
  }
  
  
  body {
    background: var(--base); color: var(--sumi);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 400; line-height: 1.95; -webkit-font-smoothing: antialiased;
    word-break: auto-phrase; line-break: strict;
  }
  
  
  ::selection { background: var(--gold); color: #fff; }

  /* ====== ナビ ====== */
  
  
  
  
  
  nav .links a.current { border-bottom: 1px solid var(--gold); padding-bottom: 2px; }
  
  
  

  /* ====== ページヒーロー ====== */
  
  .page-hero .eyebrow {
    font-family: "Noto Serif JP", serif;
    font-size: 11px; letter-spacing: 0.4em;
    color: var(--gold); margin-bottom: 18px;
  }
  .page-hero h1 {
    font-family: "Noto Serif JP", serif;
    font-size: 40px; font-weight: 600; letter-spacing: 0.18em;
    margin-bottom: 22px;
  }
  

  /* ====== セクション共通 ====== */
  
  .inner { max-width: 880px; margin: 0 auto; }
  

  .sec-label {
    font-size: 11px; letter-spacing: 0.4em;
    color: var(--gold-deep); margin-bottom: 14px;
    text-align: center;
  }
  .sec-title {
    font-family: "Noto Serif JP", serif;
    font-size: 28px; font-weight: 500;
    letter-spacing: 0.12em; color: var(--sumi);
    line-height: 1.7; margin-bottom: 18px;
    text-align: center;
  }
  .sec-lead {
    text-align: center;
    color: var(--sumi-2);
    line-height: 2.0;
    margin-bottom: 56px;
  }
  @media (max-width: 860px) { .sec-title { font-size: 22px; } }

  /* ====== 連絡先カード ====== */
  .contact-methods { background: var(--washi); }
  .methods-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
  }
  @media (max-width: 720px) { .methods-grid { grid-template-columns: 1fr; } }
  .method-card {
    background: var(--base);
    border: 1px solid var(--line);
    border-top: 3px solid var(--gold);
    padding: 44px 36px 38px;
    text-align: center;
    transition: transform 0.2s, border-color 0.2s;
    display: block;
    text-decoration: none;
    color: inherit;
  }
  .method-card:hover { transform: translateY(-3px); border-color: var(--shu); }
  .method-card .ltl {
    font-family: "Noto Serif JP", serif;
    font-size: 13px;
    letter-spacing: 0.28em;
    color: var(--hojicha);
    margin-bottom: 14px;
  }
  .method-card .value {
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    letter-spacing: 0.06em;
    color: var(--sumi);
    margin-bottom: 8px;
    font-weight: 500;
    word-break: keep-all;
  }
  .method-card .note {
    font-size: 12.5px;
    color: var(--gray-1);
    letter-spacing: 0.04em;
  }
  @media (max-width: 860px) {
    .method-card { padding: 36px 24px; }
    .method-card .value { font-size: 19px; }
  }

  /* ====== 営業案内 ====== */
  .info-box {
    margin-top: 56px;
    background: #fff;
    border-left: 3px solid var(--gold);
    padding: 28px 32px;
    border-radius: 0 4px 4px 0;
    box-shadow: 0 16px 42px rgba(27,36,54,.06);
  }
  .info-box dl {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 14px 24px;
    align-items: baseline;
  }
  .info-box dt {
    font-family: "Noto Serif JP", serif;
    font-size: 13px;
    letter-spacing: 0.16em;
    color: var(--gold-deep);
    font-weight: 500;
  }
  .info-box dd {
    font-size: 14.5px;
    color: var(--sumi-2);
    line-height: 1.95;
    letter-spacing: 0.03em;
  }
  @media (max-width: 720px) {
    .info-box dl { grid-template-columns: 1fr; gap: 4px; }
    .info-box dt { margin-top: 12px; }
    .info-box dt:first-child { margin-top: 0; }
  }

  /* ====== こんな相談 歓迎 ====== */
  .welcome { background: var(--base); }
  .welcome-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    max-width: 760px;
    margin: 0 auto;
  }
  @media (max-width: 600px) { .welcome-grid { grid-template-columns: 1fr; } }
  .welcome-item {
    background: var(--washi);
    border: 1px solid var(--line);
    padding: 22px 26px;
    font-size: 14.5px;
    color: var(--sumi);
    line-height: 1.9;
    letter-spacing: 0.04em;
  }
  .welcome-item::before {
    content: "◇";
    color: var(--gold-deep);
    margin-right: 10px;
    font-size: 13px;
  }
  .welcome-note {
    margin-top: 36px;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: 16px;
    letter-spacing: 0.12em;
    color: var(--shu);
    line-height: 2.0;
  }

  /* ====== 流れ ====== */
  .flow { background: var(--washi); }
  .flow-list {
    max-width: 640px;
    margin: 0 auto;
  }
  .flow-item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 22px;
    padding: 22px 0;
    border-bottom: 1px dashed var(--line);
    align-items: start;
  }
  .flow-item:last-child { border-bottom: none; }
  .flow-item .fn {
    font-family: "Noto Serif JP", serif;
    font-size: 22px; font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--gold-deep);
    line-height: 1;
  }
  .flow-item .ft {
    font-family: "Noto Serif JP", serif;
    font-size: 17px;
    color: var(--sumi);
    margin-bottom: 4px;
    font-weight: 500;
    letter-spacing: 0.06em;
  }
  .flow-item .fd {
    font-size: 13.5px;
    color: var(--gray-1);
    line-height: 1.9;
  }

  /* ====== フッター ====== */
  
  
  
  
  footer .fnav a:hover { color: var(--gold-deep); }
  

/* ==== from privacy.html ==== */

  
  
  body {
    background: var(--base); color: var(--sumi);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    line-height: 1.95; -webkit-font-smoothing: antialiased;
  }
  
  

  
  
  
  nav .links a { font-size: 12px; letter-spacing: 0.14em; color: var(--gray-1); text-decoration: none; }
  
  
  

  .page-hero { background: var(--shu); color: var(--washi); text-align: center; padding: 160px 24px 80px; }
  .page-hero .crumb { font-size: 12px; letter-spacing: 0.12em; color: rgba(250,250,248,0.6); margin-bottom: 24px; }
  .page-hero .crumb a { color: rgba(250,250,248,0.82); text-decoration: none; }
  
  .page-hero h1 { font-family: "Noto Serif JP", serif; font-size: 34px; font-weight: 600; letter-spacing: 0.14em; }
  @media (max-width: 860px) { .page-hero { padding: 128px 22px 64px; } .page-hero h1 { font-size: 25px; } }

  .doc { max-width: 760px; margin: 0 auto; padding: 88px 24px 100px; }
  .doc .updated { font-size: 13px; color: var(--gray-1); margin-bottom: 40px; letter-spacing: 0.04em; }
  .doc .pintro { font-size: 15px; color: var(--sumi-2); line-height: 2.0; margin-bottom: 48px; }
  .doc h2 {
    font-family: "Noto Serif JP", serif; font-size: 19px; font-weight: 600;
    letter-spacing: 0.1em; color: var(--shu); margin: 40px 0 14px;
    padding-bottom: 10px; border-bottom: 1px solid var(--line);
  }
  .doc p { font-size: 14.5px; color: var(--sumi-2); line-height: 2.0; margin-bottom: 12px; letter-spacing: 0.02em; }
  .doc ul { list-style: none; margin: 6px 0 12px; }
  .doc ul li { font-size: 14.5px; color: var(--sumi-2); line-height: 1.95; padding-left: 18px; position: relative; }
  .doc ul li::before { content: "–"; position: absolute; left: 0; color: var(--shu); }
  .doc .contact-box {
    margin-top: 16px; padding: 22px 26px; background: var(--washi);
    border-left: 3px solid var(--shu); font-size: 14px; line-height: 2.0; color: var(--sumi-2);
  }
  .doc .contact-box a { color: var(--shu); text-decoration: none; border-bottom: 1px solid var(--shu); }

  
  
  
  
  
  
  

  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from services/ai.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  /* 統合プラン大カード */
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from services/branding.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  /* 統合プラン大カード */
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from services/ehon.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .plan-card.feature { border: 3px solid var(--shu); }
  .plan-card.feature .recommend-label {
    display: inline-block;
    background: var(--shu);
    color: var(--washi);
    font-family: "Noto Serif JP", serif;
    font-size: 11px;
    letter-spacing: 0.24em;
    padding: 5px 16px;
    border-radius: 999px;
    margin-bottom: 14px;
    line-height: 1.5;
  }
  
  
  .plan-card .pconcept { font-size: 13px; color: var(--gray-1); line-height: 1.8; margin-bottom: 18px; min-height: 60px; }
  .plan-card .pprice { font-family: "Noto Serif JP", serif; font-size: 28px; font-weight: 600; color: var(--shu); line-height: 1.1; }
  
  
  .plan-card dl > div { display: grid; grid-template-columns: 84px 1fr; gap: 10px; font-size: 13px; line-height: 1.6; }
  
  
  
  
  @media (max-width: 860px) {  .plan-card .pconcept { min-height: 0; } }
  
  
  
  
  
  .spec-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .spec-item { background: var(--base); border: 1px solid var(--line); border-radius: 10px; padding: 22px 24px; }
  .spec-item .sl { font-size: 10.5px; letter-spacing: 0.2em; color: var(--hojicha); margin-bottom: 8px; }
  .spec-item .sv { font-family: "Noto Serif JP", serif; font-size: 16px; color: var(--sumi); font-weight: 600; line-height: 1.6; }
  .spec-item .sv small { display: block; font-family: "Noto Sans JP", sans-serif; font-weight: 400; color: var(--gray-1); font-size: 12px; margin-top: 6px; }
  @media (max-width: 860px) { .spec-grid { grid-template-columns: 1fr; } }
  
  
  
  
  
  
  
  
  .pstep .ptitle { font-family: "Noto Serif JP", serif; font-size: 17px; color: var(--sumi); font-weight: 600; letter-spacing: 0.06em; margin-bottom: 8px; }
  
  
  
  
  
  
  
  .stance-item .aside { font-size: 12.5px; color: var(--gray-1); margin-top: 10px; display: block; }
  
  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from services/hp.html ==== */

  

  
  
  
  
  
  
  

  /* ====== ナビ ====== */
  
  
  
  
  
  
  

  /* ====== セクション共通 ====== */
  
  
  
  
  

  /* ====== ページヘッダー（紺青） ====== */
  
  
  
  
  
  
  

  /* ====== 説明文 ====== */
  
  
  
  

  /* ====== 料金・プラン ====== */
  
  
  .plan-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .plan-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--base);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 32px 26px;
  }
  .plan-card.feature {
    border: 3px solid var(--shu);
    padding-top: 30px;
  }
  .plan-card.feature .recommend-label {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--shu);
    color: var(--washi);
    font-family: "Noto Serif JP", serif;
    font-size: 11px;
    letter-spacing: 0.24em;
    padding: 5px 16px;
    border-radius: 999px;
    line-height: 1.5;
    white-space: nowrap;
  }
  
  
  .plan-card .pprice {
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    font-weight: 600;
    color: var(--shu);
    line-height: 1.1;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
  }
  
  .plan-card .pdesc {
    font-size: 12.5px;
    line-height: 1.75;
    color: var(--sumi-2);
    letter-spacing: 0.03em;
    margin-bottom: 16px;
  }
  .plan-card dl { display: grid; gap: 11px; }
  .plan-card dl > div {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 10px;
    font-size: 13px;
    line-height: 1.6;
  }
  .plan-card dt { color: var(--gray-1); }
  .plan-card dd {
    color: var(--sumi);
    font-weight: 500;
  }
  .plan-card dd small {
    display: block;
    font-weight: 400;
    color: var(--gray-1);
    font-size: 11.5px;
  }
  .plan-card dd.accent { color: var(--shu); }
  

  /* 単体料金カード */
  
  
  
  
  
  
  
  

  /* 維持費 / 表 */
  .op-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
  }
  
  .op-base {
    background: var(--base);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 30px 30px;
    margin-bottom: 0;
  }
  
  
  .op-base .opprice { font-family: "Noto Serif JP", serif; font-size: 28px; color: var(--shu); font-weight: 600; margin-bottom: 14px; }
  
  
  .op-base .opfeat small { display: block; color: var(--gray-1); font-size: 12px; margin-top: 8px; }

  .price-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--base);
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
    margin-top: 8px;
  }
  .price-table caption {
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: 16px;
    color: var(--sumi);
    font-weight: 600;
    margin-bottom: 12px;
  }
  .price-table th, .price-table td {
    padding: 16px 24px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    font-size: 14px;
  }
  .price-table tr:last-child td { border-bottom: none; }
  .price-table td.item { color: var(--sumi-2); }
  .price-table td.price { font-family: "Noto Serif JP", serif; color: var(--shu); font-weight: 600; text-align: right; white-space: nowrap; }
  .price-table .detail { font-size: 12px; color: var(--gray-1); display: block; margin-top: 4px; font-family: "Noto Sans JP", sans-serif; font-weight: 400; }

  


  
  
  
  

  
  
  

  /* ====== 進め方 ====== */
  
  
  
  
  
  
  
  
  

  /* ====== フッター ====== */
  
  
  
  
  
  

  

  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  .svc-card .desc, .value .vdesc, .strength .sd, .flow-note, .works-note,
  .mv-note, .origin p,
  .service-card-body, .single-card-body, .sec-note,
  .process-content-body, .trans-body {
    font-size: 16px ;
    line-height: 2.0 ;
    color: var(--sumi-2) ;
  }

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from services/index.html ==== */

  
  
  
  
  

  /* ====== ナビ ====== */
  
  
  
  
  
  
  

  /* ====== ページヒーロー ====== */
  
  
  
  

  /* ====== セクション共通 ====== */
  
  
  

  /* ====== サービス ====== */
  .services { background: var(--base); }
  .svc-group { margin-bottom: 44px; }
  .svc-group:last-child { margin-bottom: 0; }
  .svc-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
  }
  .svc-card {
    background: var(--base); border: 1px solid var(--line);
    padding: 36px 24px 28px;
    text-align: center;
  }
  .svc-card .svic { display: block; width: 36px; height: 36px; margin: 0 auto 18px; color: var(--gold-deep); line-height: 0; }
  .svc-card .svic svg { width: 100%; height: 100%; }
  a.svc-card {
    text-decoration: none; color: inherit;
    display: flex; flex-direction: column;
    transition: border-color 0.2s;
  }
  
  .svc-card .name {
    font-family: "Noto Serif JP", serif;
    font-size: 17px; letter-spacing: 0.08em; color: var(--sumi);
    margin-bottom: 12px; font-weight: 500; line-height: 1.6;
  }
  .svc-card .more {
    display: inline-block; margin-top: 10px;
    font-size: 13px; letter-spacing: 0.08em; color: var(--shu);
  }
  @media (max-width: 860px) {
    .svc-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 540px) {
    .svc-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .services .svc-card { min-width: 0; padding: 28px 12px 22px; }
    .services .svc-card .name { font-size: 15px; letter-spacing: 0.04em; }
  }

  /* ====== フッター ====== */
  
  
  
  
  
  
  

  /* モバイルメニュー */
  
  

/* ==== from services/logo.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .single-card { background: var(--base); border: 1px solid var(--line); border-radius: 12px; padding: 32px 30px; display: grid; grid-template-columns: 260px 1fr; gap: 32px; align-items: start; }
  .single-card .scl .ptag { font-size: 11px; letter-spacing: 0.2em; color: var(--hojicha); margin-bottom: 10px; }
  .single-card .scl .scname { font-family: "Noto Serif JP", serif; font-size: 18px; letter-spacing: 0.08em; color: var(--sumi); font-weight: 600; margin-bottom: 12px; }
  .single-card .scl .pprice { font-family: "Noto Serif JP", serif; font-size: 30px; font-weight: 600; color: var(--shu); line-height: 1.1; }
  .single-card .scl .pprice span { font-size: 16px; }
  .single-card .scl .ptax { font-size: 12px; color: var(--gray-1); margin-top: 4px; }
  .single-card .scbody { font-size: 14px; color: var(--sumi-2); line-height: 1.95; letter-spacing: 0.03em; }
  @media (max-width: 860px) { .single-card { grid-template-columns: 1fr; gap: 20px; padding: 26px 22px; } }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from services/movie.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .plan-card .pprice.sm { font-size: 21px; }
  
  
  
  .plan-card .pbody small { color: var(--gray-1); font-size: 12.5px; }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from services/photo.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from services/print.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .plan-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .plan-card { background: var(--base); border: 1px solid var(--line); border-radius: 12px; padding: 32px 26px; }
  .plan-card.full { grid-column: 1 / -1; }
  .plan-card .pname { font-family: "Noto Serif JP", serif; font-size: 19px; letter-spacing: 0.08em; color: var(--sumi); font-weight: 600; margin-bottom: 4px; }
  .plan-card .ptag { font-size: 11px; letter-spacing: 0.2em; color: var(--hojicha); margin-bottom: 16px; }
  .plan-card .pprice { font-family: "Noto Serif JP", serif; font-size: 30px; font-weight: 600; color: var(--shu); line-height: 1.1; }
  .plan-card .pprice span { font-size: 16px; }
  .plan-card .ptax { font-size: 12px; color: var(--gray-1); margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
  .plan-card .pbody { font-size: 14px; color: var(--sumi-2); line-height: 1.95; letter-spacing: 0.02em; }
  @media (max-width: 860px) { .plan-grid { grid-template-columns: 1fr; } }
  
  .upsell { margin-top: 26px; padding: 28px 30px; background: var(--base); border: 1px solid var(--shu); border-radius: 12px; }
  .upsell .ut { font-family: "Noto Serif JP", serif; font-size: 16px; color: var(--shu); font-weight: 600; letter-spacing: 0.06em; margin-bottom: 12px; }
  .upsell p { font-size: 13.5px; color: var(--sumi-2); line-height: 1.95; }
  .upsell a { color: var(--shu); text-decoration: none; border-bottom: 1px solid var(--shu); }
  
  .subhead:first-of-type { margin-top: 0; }
  
  
  
  .pstep { display: grid; grid-template-columns: 70px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid var(--line); }
  
  
  .pstep .ptitle { font-family: "Noto Serif JP", serif; font-size: 17px; color: var(--sumi); font-weight: 600; letter-spacing: 0.06em; margin-bottom: 2px; }
  .pstep .ptime { font-size: 12px; color: var(--hojicha); letter-spacing: 0.06em; margin-bottom: 10px; }
  
  @media (max-width: 860px) { .pstep { grid-template-columns: 44px 1fr; gap: 16px; }  }
  
  
  
  
  
  .stance-item .aside { font-size: 12.5px; color: var(--gray-1); margin-top: 10px; }
  
  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from services/support.html ==== */

  
  
  body {
    background: var(--base); color: var(--sumi);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 400; line-height: 2.0; -webkit-font-smoothing: antialiased;
    font-size: 16px; word-break: auto-phrase; line-break: strict;
  }
  
  

  /* ====== ナビ ====== */
  
  
  
  
  
  
  

  /* ====== ページヒーロー ====== */
  
  
  .page-hero h1 {
    font-family: "Noto Serif JP", serif;
    font-size: 36px; font-weight: 600; letter-spacing: 0.12em;
    margin-bottom: 18px; line-height: 1.5;
  }
  @media (max-width: 860px) {
    
    .page-hero h1 { font-size: 24px; letter-spacing: 0.08em; }
  }

  /* ====== セクション共通 ====== */
  
  .inner { max-width: 720px; margin: 0 auto; }
  .sec-title {
    font-family: "Noto Serif JP", serif;
    font-size: 26px; font-weight: 600; letter-spacing: 0.12em;
    color: var(--sumi); text-align: center; margin-bottom: 40px;
  }
  .sec-note { text-align: center; color: var(--sumi-2); margin-bottom: 36px; line-height: 2.1; }
  @media (max-width: 860px) {
    
    .sec-title { font-size: 21px; margin-bottom: 28px; }
  }

  /* ====== 想い ====== */
  .why { background: var(--washi); }
  .why p { color: var(--sumi-2); line-height: 2.1; margin-bottom: 18px; }
  .why p:last-child { margin-bottom: 0; }

  /* ====== プラン詳細 ====== */
  .plan { background: var(--base); }
  .plan-card {
    background: var(--washi);
    border: 1.5px solid var(--shu);
    border-radius: 12px;
    padding: 44px 36px;
    text-align: center;
  }
  .plan-card .ptag {
    font-size: 11px; letter-spacing: 0.24em;
    color: var(--hojicha); margin-bottom: 10px;
  }
  .plan-card .pname {
    font-family: "Noto Serif JP", serif;
    font-size: 22px; letter-spacing: 0.08em; font-weight: 600;
    color: var(--sumi); margin-bottom: 8px;
  }
  .plan-card .pfor {
    font-size: 13px; color: var(--gray-1); margin-bottom: 22px;
  }
  .plan-card .pprice {
    font-family: "Noto Serif JP", serif;
    font-size: 40px; font-weight: 600; color: var(--shu);
    margin-bottom: 6px; letter-spacing: 0.04em;
  }
  .plan-card .ptax {
    font-size: 12px; color: var(--gray-1); margin-bottom: 30px;
  }
  .plan-card dl {
    text-align: left; max-width: 480px; margin: 0 auto;
    border-top: 1px solid var(--line);
  }
  .plan-card dl > div {
    display: grid; grid-template-columns: 130px 1fr;
    padding: 16px 4px; border-bottom: 1px solid var(--line);
    align-items: center;
  }
  .plan-card dt {
    font-family: "Noto Serif JP", serif;
    font-size: 13px; letter-spacing: 0.12em;
    color: var(--hojicha); font-weight: 500;
  }
  .plan-card dd {
    font-size: 14.5px; color: var(--sumi);
  }
  .plan-card dd small {
    display: block; font-size: 11.5px; color: var(--gray-1);
    margin-top: 3px; letter-spacing: 0.04em;
  }
  @media (max-width: 720px){
    .plan-card { padding: 32px 22px; }
    .plan-card .pprice { font-size: 32px; }
    .plan-card dl > div { grid-template-columns: 100px 1fr; padding: 14px 2px; }
    .plan-card dt { font-size: 12px; }
    .plan-card dd { font-size: 14px; }
  }

  /* ====== 流れ ====== */
  .flow { background: var(--washi-2); }
  .step-list { counter-reset: step; }
  .step-list .step {
    background: var(--base);
    border: 1px solid var(--line);
    padding: 22px 26px;
    margin-bottom: 12px;
    border-radius: 6px;
    display: grid; grid-template-columns: 48px 1fr;
    gap: 18px; align-items: start;
  }
  .step .num {
    font-family: "Noto Serif JP", serif;
    font-size: 22px; color: var(--shu); font-weight: 700;
  }
  .step .ttl {
    font-family: "Noto Serif JP", serif;
    font-size: 17px; color: var(--sumi); margin-bottom: 4px; font-weight: 600;
  }
  .step .dsc {
    font-size: 14px; color: var(--sumi-2); line-height: 1.9;
  }

  /* ====== 運用プラン ====== */
  .ops { background: var(--washi); }
  .ops .subhead {
    font-family: "Noto Serif JP", serif;
    font-size: 18px; color: var(--sumi); font-weight: 600;
    text-align: center; margin-bottom: 8px; letter-spacing: 0.06em;
  }
  .ops .subhead-sub {
    text-align: center; color: var(--gray-1); font-size: 14px; margin-bottom: 32px;
  }
  .op-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  }
  @media (max-width: 720px){ .op-grid { grid-template-columns: 1fr; } }
  .op-base {
    background: var(--base);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 30px 30px;
  }
  .op-base .ptag { font-size: 11px; letter-spacing: 0.2em; color: var(--hojicha); margin-bottom: 8px; }
  .op-base .opname { font-family: "Noto Serif JP", serif; font-size: 18px; color: var(--sumi); font-weight: 600; margin-bottom: 8px; }
  .op-base .opprice { font-family: "Noto Serif JP", serif; font-size: 28px; color: var(--shu); font-weight: 600; margin-bottom: 14px; letter-spacing: 0.04em; }
  .op-base .opprice span { font-size: 14px; color: var(--gray-1); }
  .op-base .opfeat { font-size: 13.5px; color: var(--sumi-2); line-height: 2.0; }
  .op-base .opfeat small { display: block; color: var(--gray-1); font-size: 12px; margin-top: 8px; letter-spacing: 0.02em; }

  /* ====== 注意書き ====== */
  .note-box {
    background: var(--washi-2);
    border-left: 3px solid var(--shu);
    padding: 22px 26px;
    font-size: 13.5px; color: var(--sumi-2); line-height: 2.0;
    margin-top: 32px;
  }

  /* ====== フッター ====== */
  
  
  
  
  
  
  

  /* モバイルメニュー */
  
  

/* ==== from services/vision.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .pricing { background: var(--washi); }
  
  /* 統合プラン大カード */
  .flagship { background: var(--base); border: 2px solid var(--shu); border-radius: 14px; overflow: hidden; }
  .flagship-head { background: var(--shu); color: var(--washi); padding: 40px 38px; text-align: center; }
  .flagship-head .fname { font-family: "Noto Serif JP", serif; font-size: 22px; letter-spacing: 0.1em; font-weight: 600; margin-bottom: 12px; }
  .flagship-head .fconcept { font-size: 14px; color: rgba(250,250,248,0.82); line-height: 1.85; margin-bottom: 22px; }
  .flagship-head .fprice { font-family: "Noto Serif JP", serif; font-size: 40px; font-weight: 600; color: var(--washi); line-height: 1.1; }
  .flagship-head .fprice span { font-size: 16px; color: rgba(250,250,248,0.7); }
  .flagship-head .fterm { font-size: 13px; color: rgba(250,250,248,0.7); margin-top: 10px; line-height: 1.7; }
  .flagship-head .fterm small { font-size: 11px; }
  .flagship-body { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .phase { padding: 32px 34px; }
  .phase:first-child { border-right: 1px solid var(--line); }
  .phase .ptitle { font-family: "Noto Serif JP", serif; font-size: 17px; color: var(--shu); font-weight: 600; letter-spacing: 0.05em; margin-bottom: 4px; }
  .phase .psub { font-size: 11.5px; color: var(--gray-1); margin-bottom: 18px; }
  .phase ul { list-style: none; display: grid; gap: 13px; }
  .phase li { font-size: 14px; color: var(--sumi); font-weight: 500; line-height: 1.6; padding-left: 18px; position: relative; }
  .phase li::before { content: "・"; color: var(--shu); position: absolute; left: 0; }
  .phase li small { display: block; font-weight: 400; color: var(--gray-1); font-size: 12px; padding-left: 0; }
  @media (max-width: 860px) { .flagship-body { grid-template-columns: 1fr; } .phase:first-child { border-right: none; border-bottom: 1px solid var(--line); } }
  .note-box { margin-top: 22px; padding: 20px 26px; background: var(--washi-2); border-radius: 10px; font-size: 13px; color: var(--gray-1); line-height: 1.95; letter-spacing: 0.02em; }
  .value-box { margin-top: 26px; padding: 28px 30px; background: var(--base); border: 1px solid var(--shu); border-radius: 12px; }
  .value-box .vt { font-family: "Noto Serif JP", serif; font-size: 16px; color: var(--shu); font-weight: 600; letter-spacing: 0.06em; margin-bottom: 14px; }
  .value-box .vlist { font-size: 13.5px; color: var(--sumi-2); line-height: 2.0; }
  .value-box .vtotal { display: block; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--line); font-family: "Noto Serif JP", serif; color: var(--sumi); font-weight: 600; }
  .subhead { font-family: "Noto Serif JP", serif; font-size: 20px; letter-spacing: 0.08em; color: var(--sumi); font-weight: 600; margin: 56px 0 8px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
  .subhead-sub { font-size: 13.5px; color: var(--gray-1); margin-bottom: 24px; letter-spacing: 0.03em; }
  .flowsec { background: var(--base); }
  .process { display: flex; flex-direction: column; gap: 0; }
  .pstep { display: grid; grid-template-columns: 88px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid var(--line); }
  .pstep:last-child { border-bottom: none; }
  .pstep .pnum { font-family: "Noto Serif JP", serif; font-size: 24px; color: var(--hojicha); letter-spacing: 0.05em; }
  .pstep .ptitle { font-family: "Noto Serif JP", serif; font-size: 16px; color: var(--sumi); font-weight: 600; letter-spacing: 0.05em; margin-bottom: 2px; line-height: 1.6; }
  .pstep .ptime { font-size: 12px; color: var(--shu); letter-spacing: 0.06em; margin-bottom: 10px; }
  .pstep .pbody { font-size: 14px; color: var(--sumi-2); line-height: 1.95; letter-spacing: 0.02em; }
  @media (max-width: 860px) { .pstep { grid-template-columns: 50px 1fr; gap: 14px; } .pstep .pnum { font-size: 19px; } }
  .feature-sec { background: var(--washi); }
  .stance { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .stance-item { background: var(--base); border: 1px solid var(--line); border-radius: 10px; padding: 26px 28px; }
  .stance-item h4 { font-family: "Noto Serif JP", serif; font-size: 16px; color: var(--sumi); font-weight: 600; letter-spacing: 0.05em; margin-bottom: 12px; }
  .stance-item p { font-size: 13.5px; color: var(--sumi-2); line-height: 1.95; letter-spacing: 0.02em; }
  .stance-item a { color: var(--shu); text-decoration: none; border-bottom: 1px solid var(--shu); }
  @media (max-width: 860px) { .stance { grid-template-columns: 1fr; } }
  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  .svc-card .desc, .value .vdesc, .strength .sd, .flow-note, .works-note,
  .mv-note, .origin p,
  .plan-card .pconcept, .service-card-body, .single-card-body, .sec-note,
  .process-content-body, .trans-body {
    font-size: 16px ;
    line-height: 2.0 ;
    color: var(--sumi-2) ;
  }

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from works/art.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* ===== ギャラリー（準備中プレースホルダ） ===== */
  
  
  
  
  
  
  

  /* ===== Instagram 導線 ===== */
  
  
  
  

  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from works/index.html ==== */

  :root {
    --sumi:#1B2436; --sumi-2:#39435A; --gray-1:#6B7484; --gray-2:#9AA1AE;
    --line:#E3E6EB; --base:#ffffff; --washi:#F7F9FB; --washi-2:#EEF1F5;
    --bg:#EAEEF3; --shu:#16213E; --hojicha:#6B7484;
    --gold:    #C0972F;
    --gold-deep: #8C6920;
    --gold-faint: #F0E4C2;
  }
  
  body {
    background: var(--base); color: var(--sumi);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 400; line-height: 1.9; -webkit-font-smoothing: antialiased;
    word-break: auto-phrase; line-break: strict;
  }
  
  

  /* ====== ナビ ====== */
  
  
  
  nav .links a {
    font-size: 14px; letter-spacing: 0.06em; color: var(--sumi-2);
    text-decoration: none;
  }
  nav .links a:hover, nav .links a.current { color: var(--sumi); }
  nav .links a.current { border-bottom: 1px solid var(--shu); padding-bottom: 2px; }
  

  /* ====== ページヒーロー ====== */
  .page-hero {
    background: var(--shu); color: var(--washi); text-align: center;
    padding: 168px 24px 96px;
  }
  
  .page-hero h1 {
    font-family: "Noto Serif JP", serif;
    font-size: 40px; font-weight: 600; letter-spacing: 0.14em;
    margin-bottom: 18px;
  }
  @media (max-width: 860px) {
    .page-hero { padding: 132px 22px 72px; }
    
  }

  /* ====== セクション共通 ====== */
  section { padding: 110px 32px; }
  .inner { max-width: 1040px; margin: 0 auto; }
  @media (max-width: 860px) { section { padding: 72px 22px; } }

  .sec-title {
    font-family: "Noto Serif JP", serif;
    font-size: 26px; font-weight: 600; letter-spacing: 0.12em;
    color: var(--sumi); text-align: center; margin-bottom: 16px;
  }
  .sec-note { text-align: center; color: var(--sumi-2); margin-bottom: 56px; line-height: 2.1; }
  @media (max-width: 860px) {
    .sec-title { font-size: 21px; }
  }

  /* ====== クライアントワーク ====== */
  .client-works { background: var(--base); }
  .work-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  @media (max-width: 860px) { .work-grid { grid-template-columns: 1fr; gap: 20px; } }

  a.work-card {
    text-decoration: none;
    color: inherit;
    background: var(--washi);
    border: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    transition: border-color .2s;
  }
  a.work-card:hover { border-color: var(--shu); }
  .work-card .thumb {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--washi-2);
  }
  .work-card .thumb img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .4s ease;
  }
  a.work-card:hover .thumb img { transform: scale(1.04); }
  .work-card .meta {
    padding: 22px 24px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  .work-card .cname {
    font-family: "Noto Serif JP", serif;
    font-size: 20px; letter-spacing: 0.08em;
    color: var(--sumi); margin-bottom: 8px; font-weight: 500;
  }
  .work-card .cdesc {
    font-size: 13.5px; color: var(--gray-1);
    line-height: 1.9; flex: 1;
  }
  .work-card .more {
    display: inline-block; margin-top: 14px;
    font-size: 12px; letter-spacing: 0.1em; color: var(--shu);
  }

  /* ====== もうひとつの仕事（アート） ====== */
  .another { background: var(--washi-2); }
  .another-inner { max-width: 760px; margin: 0 auto; text-align: center; }
  .another .label {
    font-family: "Noto Serif JP", serif;
    font-size: 12px; letter-spacing: 0.3em; color: var(--hojicha);
    margin-bottom: 18px;
  }
  .another h2 {
    font-family: "Noto Serif JP", serif;
    font-size: 26px; letter-spacing: 0.12em; color: var(--sumi);
    margin-bottom: 22px; font-weight: 600;
  }
  .another p {
    color: var(--sumi-2); line-height: 2.1; margin-bottom: 28px;
  }
  .another .art-cta {
    display: inline-block;
    padding: 14px 32px;
    border: 1px solid var(--shu);
    color: var(--shu);
    text-decoration: none;
    font-family: "Noto Serif JP", serif;
    font-size: 13px; letter-spacing: 0.14em;
    transition: background .2s, color .2s;
  }
  .another .art-cta:hover { background: var(--shu); color: var(--washi); }

  /* ====== 準備中 ====== */
  .prep { background: var(--washi); text-align: center; }
  .prep .prep-label { font-family: "Noto Serif JP", serif; font-size: 12px; letter-spacing: 0.3em; color: var(--gold-deep); margin-bottom: 20px; }
  .prep .prep-title { font-family: "Noto Serif JP", serif; font-size: 30px; font-weight: 500; letter-spacing: 0.12em; color: var(--shu); margin-bottom: 24px; }
  @media (max-width: 860px) { .prep .prep-title { font-size: 23px; } }

  /* ====== フッター ====== */
  
  
  
  
  
  
  

  /* モバイルメニュー */
  
  @media (max-width: 860px) {
    nav { padding: 12px 18px; flex-wrap: wrap; }
    
    
    
    
    
  }

/* ==== from works/logo.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* ===== ギャラリー（準備中プレースホルダ） ===== */
  
  
  
  
  

  /* ===== Instagram 導線 ===== */
  
  
  
  

  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from works/photo.html ==== */

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* ===== ギャラリー（準備中プレースホルダ） ===== */
  
  
  
  
  .gallery-tile { overflow: hidden; }
  .gallery-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
  @media (max-width: 768px) { .gallery { grid-template-columns: 1fr 1fr; } }

  /* ===== Instagram 導線 ===== */
  
  
  
  

  
  
  
  
  
  
  
  
  
  

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  
  

  /* 本文サイズ底上げ：読みやすく */
  

  /* モバイルメニュー */
  
  

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  
  
  
  

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  

/* ==== from works/sns.html ==== */

  :root {
    --sumi:    #1B2436;
    --sumi-2:  #39435A;
    --gray-1:  #6B7484;
    --gray-2:  #9AA1AE;
    --gray-3:  #C7CDD6;
    --line:    #E3E6EB;
    --base:    #ffffff;
    --washi:   #F7F9FB;
    --washi-2: #EEF1F5;
    --bg:      #EAEEF3;
    --shu:     #16213E;
    --hojicha: #6B7484;
    --gold:    #C0972F;
    --gold-deep: #8C6920;
    --gold-faint: #F0E4C2;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body {
    background: var(--base); color: var(--sumi);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 400; line-height: 1.9; -webkit-font-smoothing: antialiased;
  }
  .mincho { font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif; }
  .maru { font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif; }
  .marcellus { font-family: "Noto Serif JP", serif; font-weight: 700; }
  a { color: inherit; }
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 32px; background: rgba(255,255,255,0.92);
    backdrop-filter: blur(8px); border-bottom: 1px solid var(--line);
  }
  nav .brand {
    font-family: "Noto Serif JP", serif; font-size: 22px; font-weight: 500;
    letter-spacing: 0.16em; color: var(--sumi); text-decoration: none;
    display: flex; align-items: center; gap: 10px;
  }
  nav .links { display: flex; gap: 24px; }
  nav .links a { font-size: 12px; letter-spacing: 0.14em; color: var(--gray-1); text-decoration: none; transition: color 0.2s; }
  nav .links a:hover { color: var(--sumi); }
  nav .cta { font-size: 12px; letter-spacing: 0.14em; padding: 8px 18px; background: var(--shu); color: #fff ; text-decoration: none; border-radius: 2px; }
  @media (max-width: 860px) { nav { padding: 12px 18px; } nav .links { display: none; } }
  section { padding: 132px 32px; }
  .inner { max-width: 1060px; margin: 0 auto; }
  @media (max-width: 860px) { section { padding: 88px 22px; } }
  .sec-title { font-family: "Noto Serif JP", serif; font-size: 31px; font-weight: 500; letter-spacing: 0.12em; color: var(--sumi); margin-bottom: 48px; line-height: 1.7; }
  @media (max-width: 860px) { .sec-title { font-size: 23px; } }
  .page-hero { background: var(--shu); color: var(--washi); padding: 168px 32px 96px; text-align: center; }
  .page-hero .crumb { font-size: 12px; letter-spacing: 0.16em; color: var(--gray-2); margin-bottom: 26px; }
  .page-hero .crumb a { color: var(--gray-2); text-decoration: none; border-bottom: 1px solid rgba(168,168,168,0.4); }
  .page-hero .crumb a:hover { color: var(--washi); }
  .page-hero .eyebrow {
    font-family: "Noto Serif JP", serif;
    font-size: 11px;
    letter-spacing: 0.4em;
    color: var(--gold);
    margin-bottom: 18px;
    text-align: center;
  }
  .page-hero h1 { font-family: "Noto Serif JP", serif; font-size: 40px; font-weight: 600; letter-spacing: 0.1em; color: var(--washi); margin-bottom: 18px; line-height: 1.5; }
  @media (max-width: 860px) { .page-hero { padding: 128px 22px 72px; } .page-hero h1 { font-size: 28px; } }
  .intro { background: var(--base); }
  .intro .lead { font-family: "Noto Serif JP", serif; font-size: 24px; letter-spacing: 0.1em; line-height: 2.05; color: var(--sumi); margin-bottom: 32px; }
  .intro p { font-size: 15px; color: var(--sumi-2); margin-bottom: 20px; letter-spacing: 0.03em; line-height: 2.0; }
  @media (max-width: 860px) { .intro .lead { font-size: 19px; } }
  .sec-note { font-size: 14px; color: var(--gray-1); letter-spacing: 0.04em; margin-top: -32px; margin-bottom: 40px; line-height: 1.9; }

  /* ===== ギャラリー（準備中プレースホルダ） ===== */
  .gallerysec { background: var(--washi); }
  .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .gallery-tile {
    position: relative; aspect-ratio: 1 / 1; background: var(--washi);
    border: 1px solid var(--line); border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
  }
  .gallery-tile .tlabel { font-size: 12px; letter-spacing: 0.18em; color: var(--gray-2); }
  @media (max-width: 768px) { .gallery { grid-template-columns: 1fr; } }

  /* ===== Instagram 導線 ===== */
  .ig-box { margin-top: 40px; padding: 28px 30px; background: var(--base); border: 1px solid var(--line); border-radius: 12px; text-align: center; }
  .ig-box .igt { font-family: "Noto Serif JP", serif; font-size: 16px; color: var(--sumi); font-weight: 600; letter-spacing: 0.06em; margin-bottom: 10px; }
  .ig-box p { font-size: 14px; color: var(--sumi-2); line-height: 1.95; letter-spacing: 0.02em; }
  .ig-box a { color: var(--shu); text-decoration: none; border-bottom: 1px solid var(--shu); font-weight: 500; }

  footer { background: var(--bg); color: var(--gray-1); text-align: center; padding: 56px 24px 36px; border-top: 1px solid var(--line); }
  footer .ftag { font-family: "Noto Serif JP", serif; font-size: 16px; letter-spacing: 0.3em; color: var(--shu); margin-bottom: 24px; }
  footer .fnav { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }
  footer .fnav a { font-size: 11px; letter-spacing: 0.12em; color: var(--gray-1); text-decoration: none; }
  footer .fnav a:hover { color: var(--shu); }
  footer .admin { font-size: 10px; letter-spacing: 0.1em; color: var(--gray-2); line-height: 1.9; border-top: 1px solid var(--line); padding-top: 24px; max-width: 540px; margin: 0 auto; }
  ::selection { background: var(--shu); color: #fff; }
  .fade-up { opacity: 0; transform: translateY(24px); transition: opacity 0.9s ease-out, transform 0.9s ease-out; }
  .fade-up.in { opacity: 1; transform: translateY(0); }
  @media (prefers-reduced-motion: reduce) { .fade-up { opacity: 1; transform: none; transition: none; } }

  /* ===== アニメーション無効化 ===== */
  
  /* ヘッダー読みやすく */
  nav .links a { font-size: 14px ; letter-spacing: 0.06em ; color: var(--sumi-2) ; }
  nav .links a:hover { color: var(--sumi) ; }

  /* 本文サイズ底上げ：読みやすく */
  .svc-card .desc, .value .vdesc, .strength .sd, .flow-note, .works-note,
  .mv-note, .origin p,
  .plan-card .pconcept, .service-card-body, .single-card-body, .sec-note,
  .process-content-body, .trans-body, .ig-box p {
    font-size: 16px ;
    line-height: 2.0 ;
    color: var(--sumi-2) ;
  }

  /* モバイルメニュー */
  .nav-toggle { display: none; background: none; border: none; font-size: 24px; line-height: 1; color: var(--sumi); cursor: pointer; padding: 4px 6px; }
  @media (max-width: 860px) {
    nav { flex-wrap: wrap; }
    .nav-toggle { display: block; position: absolute; top: 14px; right: 16px; }
    nav .links, nav .cta { display: none; }
    nav.open .links { display: flex; flex-direction: column; width: 100%; gap: 16px; padding: 18px 2px 8px; }
    nav.open .links a { font-size: 16px ; padding: 10px 0; }
    nav.open .cta { display: inline-block; width: fit-content; margin: 6px 2px 6px; }
  }

  /* 読みやすさv2：行長(measure)・余白・編集的な間 */
  .intro .lead, .intro p, .sec-note, .doc p, .doc .pintro, .doc ul { max-width: 720px; }
  .story .inner { max-width: 680px; }
  .sec-title { margin-bottom: 56px; }
  @media (min-width: 861px) {
    section { padding-top: 150px; padding-bottom: 150px; }
  }

  /* 日本語の改行を文節単位で自然に（対応ブラウザ） */
  body { word-break: auto-phrase; line-break: strict; }

/* ===================================================================
   ▼▼▼ TONE OVERRIDE ── トップページ index.html の新トーン ▼▼▼
   この下のルールは和集合の後に置かれ、カスケードで優先される。
   クール白銀・金アクセント・Noto Serif JP / Noto Sans JP / Jost。
   濃紺の全面バンド（page-hero / CTA）は廃し、唯一の濃色はフッターのみ（indexと同じ）。
=================================================================== */
:root{
  --paper:#FFFFFF; --mist:#EEF1F5; --mist-2:#DEE4EC; --mist-3:#DBE1EB;
  --ink:#1B2436; --ink-2:#39435A; --ink-soft:#6B7484; --ink-faint:#9AA1AE;
  --line:#E3E6EB; --gold:#C0972F; --gold-deep:#8C6920; --gold-faint:#F0E4C2;
  --radius:18px; --radius-sm:12px; --radius-pill:99px;
  --font-head:'Noto Serif JP',serif; --font-body:'Zen Kaku Gothic New',sans-serif; --font-en:'Jost',sans-serif;
  --motion:.6s cubic-bezier(.22,.61,.36,1);
  /* 旧トークン互換（本文インライン参照用）。濃紺(#16213E)→インク(#1B2436)に寄せる */
  --sumi:#1B2436; --sumi-2:#39435A; --gray-1:#6B7484; --gray-2:#9AA1AE; --gray-3:#C7CDD6;
  --base:#FFFFFF; --washi:#F7F9FB; --washi-2:#EEF1F5; --bg:#EEF1F5; --shu:#1B2436; --hojicha:#6B7484;
}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);
  font-weight:400;line-height:1.95;letter-spacing:.02em;-webkit-font-smoothing:antialiased;
  word-break:auto-phrase;line-break:strict;}
::selection{background:var(--gold);color:#fff;}
.marcellus{font-family:var(--font-en);font-weight:500;}
.mincho{font-family:var(--font-head);}

/* ===== fade-up（有効化） ===== */
.fade-up{opacity:0;transform:translateY(18px);transition:opacity var(--motion),transform var(--motion);}
.fade-up.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.fade-up{opacity:1!important;transform:none!important;transition:none;}}

/* ===== ナビ（index と同一トーン：YORAKU ワードマーク・フロスト・EN/JP） ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:20px 40px;background:rgba(238,241,245,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(227,230,235,.7);transition:opacity .4s ease;}
nav .brand{font-family:var(--font-en);font-size:18.4px;font-weight:600;letter-spacing:.34em;color:var(--ink-soft);display:flex;align-items:center;gap:7.2px;}   /* 20%縮小 */
nav .brand .brand-mark{height:20px;width:14.4px;display:block;background:var(--ink-soft);-webkit-mask:url(/logo/mark-suzu.png) no-repeat center/contain;mask:url(/logo/mark-suzu.png) no-repeat center/contain;}
nav .nav-r{display:flex;align-items:center;gap:30px;}
nav .links{display:flex;gap:26px;}
nav .links a{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.2;transition:opacity .2s;text-decoration:none;border:none;padding:0;}
nav .links a .en{font-family:var(--font-en);font-size:12px;letter-spacing:.18em;color:var(--ink);}
nav .links a .jp{font-size:9.5px;letter-spacing:.1em;color:var(--ink-soft);}
nav .links a:hover{opacity:.55;}
nav .links a.current .en{color:var(--gold);}
nav .links a.current .jp{color:var(--gold-deep);}
.nav-toggle{display:none;background:none;border:none;font-size:24px;color:var(--ink);cursor:pointer;line-height:1;padding:0;}
@media(max-width:980px){
  nav{padding:16px 22px;}
  nav .nav-r .links{display:none;}
  nav.open .nav-r{position:absolute;top:100%;left:0;right:0;background:var(--mist);flex-direction:column;gap:0;padding:8px 22px 18px;border-bottom:1px solid var(--line);}
  nav.open .nav-r .links{display:flex;flex-direction:column;gap:0;width:100%;}
  nav.open .nav-r .links a{flex-direction:row;justify-content:flex-start;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);width:100%;}
  nav.open .nav-r .links a .jp{font-size:11px;}
  .nav-toggle{display:block;margin-left:auto;position:static;}
}

/* ===== ページヒーロー（濃紺→白銀グラデーション・インク文字・金アイブロウ） ===== */
.page-hero{background:linear-gradient(180deg,#F5F7FA 0%,#E7EBF2 60%,#DBE1EB 100%);
  color:var(--ink);text-align:center;padding:188px 24px 104px;}
.page-hero .eyebrow{font-family:var(--font-en);font-size:12px;font-weight:500;letter-spacing:.42em;color:var(--gold-deep);margin-bottom:20px;}
.page-hero h1{font-family:var(--font-head);font-size:42px;font-weight:600;letter-spacing:.12em;color:var(--ink);line-height:1.5;margin-bottom:0;}
.page-hero .crumb{font-size:12px;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:24px;}
.page-hero .crumb a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--line);}
.page-hero .crumb a:hover{color:var(--ink);}
@media(max-width:860px){.page-hero{padding:140px 22px 76px;}.page-hero h1{font-size:29px;}}

/* ===== セクション見出し（金キッカー・インク見出し） ===== */
.sec-label{font-family:var(--font-en);font-size:12px;font-weight:500;letter-spacing:.4em;color:var(--gold-deep);text-align:center;}
.sec-kicker{font-family:var(--font-head);font-size:13px;font-weight:500;letter-spacing:.24em;color:var(--gold-deep);text-align:center;}
.sec-title{font-family:var(--font-head);color:var(--ink);font-weight:600;letter-spacing:.1em;}
.intro .lead,.lead{color:var(--ink);}
.eyebrow{color:var(--gold-deep);}

/* ===== カード共通の質感（角丸・やわらかい影・金ホバー） ===== */
.svc-card,.method-card,.stance-item,.plan-card,.welcome-item,.spec-item,
.single-card,.value-box,.note-box,.info-box,.flagship,.op-base,.flow-list,.origin,.contact-box,.gallery-tile{
  border-radius:var(--radius-sm);}
.svc-card,.method-card,.stance-item,.plan-card,.single-card,.work-card,.spec-item{
  background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 30px rgba(27,36,54,.05);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
a.svc-card:hover,.method-card:hover,a.work-card:hover,.plan-card:hover{
  border-color:var(--gold);box-shadow:0 18px 44px rgba(27,36,54,.1);transform:translateY(-3px);}
a.svc-card:hover{transform:translateY(-3px);}
.svc-card .svic,.svc-card .more,.work-card .more,.svc-card .name{transition:color .2s;}
a.svc-card:hover .svic,a.svc-card:hover .name,a.svc-card:hover .more{color:var(--gold);}
.work-card{border-radius:var(--radius-sm);overflow:hidden;}
.method-card{border-top:3px solid var(--gold);}

/* ===== ボタン／CTA共通（金ピル・インク枠） ===== */
.cta-btn,.art-cta,.cta{
  border-radius:var(--radius-pill)!important;}
.cta-btn{display:inline-block;padding:15px 38px;background:var(--gold);color:#fff;border:1px solid var(--gold);
  text-decoration:none;font-size:14px;letter-spacing:.12em;transition:background .2s,box-shadow .2s;box-shadow:0 8px 22px rgba(192,151,47,.22);}
.cta-btn:hover{background:var(--gold-deep);border-color:var(--gold-deep);box-shadow:0 12px 30px rgba(192,151,47,.3);}
.art-cta{display:inline-block;padding:14px 32px;border:1px solid var(--ink);color:var(--ink);background:transparent;
  font-family:var(--font-head);font-size:13px;letter-spacing:.14em;text-decoration:none;transition:background .2s,color .2s;}
.art-cta:hover{background:var(--ink);color:#fff;}
/* ナビCTA（旧・濃紺ピル）はナビ刷新で未使用。残存時のため金ピルに */
nav .cta{background:var(--gold);color:#fff!important;padding:9px 20px;font-size:12px;letter-spacing:.12em;}

/* about：ロゴの意味（濃紺→白銀） */
.logo-mean{background:var(--mist);color:var(--ink);}
.logo-mean .sec-title{color:var(--ink);}
.logo-mean p{color:var(--ink-2);}
.logo-mean p strong{color:var(--gold-deep);}

/* 料金フラッグシップのヘッダー（濃紺→淡いインク帯・金プライス） */
.flagship{border:1px solid var(--line)!important;box-shadow:0 18px 50px rgba(27,36,54,.08);border-radius:var(--radius);}
.flagship-head{background:var(--mist-2);color:var(--ink);}
.flagship-head .fname{color:var(--ink);}
.flagship-head .fconcept,.flagship-head .fterm{color:var(--ink-soft);}
.flagship-head .fprice{color:var(--gold-deep);}
.flagship-head .fprice span,.flagship-head .fterm small{color:var(--ink-soft);}
.phase .ptitle,.phase li::before{color:var(--gold-deep);}

/* 各種アクセント線・記号を金に */
.origin{border-left:3px solid var(--gold);}
.origin .glyphs .ac{color:var(--gold);}
.info-box{border-left:3px solid var(--gold);}
.doc .contact-box{border-left:3px solid var(--gold);}
.doc h2{color:var(--ink);border-bottom:1px solid var(--line);}
.doc .contact-box a{color:var(--gold-deep);border-bottom:1px solid var(--gold-faint);}
.pullquote{color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.story h3{color:var(--gold-deep);}
.story p strong{color:var(--ink);}
.flow-item .fn,.flow-item .ft{color:var(--ink);}
.flow-item .fn{color:var(--gold-deep);}
.welcome-item::before{color:var(--gold);}
.welcome-note{color:var(--ink);}
.pstep .pnum{color:var(--gold-faint);}
.pstep .ptitle{color:var(--ink);}
.pstep .ptime{color:var(--gold-deep);}
.prep .prep-title{color:var(--ink);}
.prep .prep-label{color:var(--gold-deep);}
.recommend-label{background:var(--gold)!important;color:#fff!important;}

/* about MVV：価値のピル */
.vgroup .vg-theme{color:var(--ink);}
.vgroup .vg-list li{background:var(--paper);border:1px solid var(--line);color:var(--ink-2);border-radius:var(--radius-pill);}
.mvv-stmt{color:var(--ink);}
.sec-vision{background:var(--washi);}
.sec-mission{background:var(--paper);}
.sec-values{background:var(--mist);}

/* プロフィール枠 */
.profile{background:var(--washi);}
.profile .avatar{background:var(--paper);border:1px solid var(--line);color:var(--ink);}

/* ===== フッター（index と同一：唯一の濃色・金タグ・最小情報） ===== */
footer{background:var(--ink);color:rgba(255,255,255,.66);text-align:center;padding:54px 24px 46px;border-top:none;}
footer .ftag{font-family:var(--font-head);font-size:15px;letter-spacing:.34em;color:var(--gold);margin-bottom:22px;}
footer .fnav{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:24px;}
footer .fnav a{font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
footer .fnav a:hover{color:var(--gold);}
footer .admin{font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.45);line-height:1.95;border-top:none;padding-top:0;max-width:560px;margin:0 auto;}
footer .admin a{color:rgba(255,255,255,.45);transition:color .2s;}
footer .admin a:hover{color:var(--gold);}

/* トップへ戻る */
.to-top{background:var(--ink);color:#fff;}
.to-top.show{opacity:.9;}

/* ▼ 見出し=Noto Serif JP ／ カード内テキスト=Noto Sans JP（ユーザー指定 2026-06-08） */
.svc-card .name,.work-card .cname,.method-card .value,.method-card .ltl,
.plan-card .pname,.stance-item h4,.flagship-head .fname,.scname,
.single-card .scname,.spec-item h4{ font-family:var(--font-body); }

/* ▼ 本文=Zen Kaku Gothic New ／ カード内テキスト=Noto Sans JP（ユーザー指定 2026-06-08） */
.card-in,.svc-card,.work-card,.method-card,.plan-card,.stance-item,.single-card,.spec-item,.welcome-item,.flagship,.gallery-tile{font-family:'Noto Sans JP',sans-serif;}
.svc-card .name,.work-card .cname,.method-card .value,.method-card .ltl,.plan-card .pname,.stance-item h4,.flagship-head .fname,.scname,.single-card .scname,.spec-item h4{font-family:'Noto Sans JP',sans-serif;}

/* 事業内容カード：ホバー前はシンボルもテキストと同じ色（ink）に統一（ユーザー指定 2026-06-08） */
.svc-card .svic{color:var(--ink);}

/* ▼ 事業バー（Mac Dock風）＝トップページから移植（ユーザー指定 2026-06-08）／背景は下部の .svc-bar-flow{washi} に統一 */
.svc-bar-wrap{max-width:1320px;margin:0 auto;padding:54px 40px 100px;position:relative;z-index:5;opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.svc-bar-wrap.show{opacity:1;transform:none;}
.svc-bar{background:rgba(255,255,255,.62);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);box-shadow:0 20px 50px rgba(27,36,54,.10);display:grid;grid-template-columns:repeat(8,1fr);}
.svc-bar a{display:flex;align-items:stretch;justify-content:center;border-right:1px solid rgba(27,36,54,.08);position:relative;transition:border-color .25s;text-decoration:none;color:inherit;}
.svc-bar a:last-child{border-right:none;}
.svc-bar.dock-on a{border-right-color:transparent;}
.card-in{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px 8px 26px;width:100%;transform-origin:center bottom;transition:transform .15s cubic-bezier(.22,.61,.36,1);}
.svc-bar .ic{width:34px;height:34px;color:var(--ink);transition:color .2s;}
@media(hover:hover){   /* マウス環境のみ：タッチでhoverが固着して1項目だけ太字＋金に見えるのを防ぐ */
.svc-bar a:hover .ic,.svc-bar a:hover .nm{color:var(--gold);}
.svc-bar a:hover .nm{font-weight:500;}
}
.svc-bar .ic svg{width:100%;height:100%;}
.svc-bar .nm{font-family:'Noto Sans JP',sans-serif;font-size:11.5px;letter-spacing:.04em;color:var(--ink);text-align:center;line-height:1.4;transition:color .2s;}
.svc-bar .nm-block{display:flex;flex-direction:column;align-items:center;gap:4px;}
.svc-bar .nm-sub{font-family:'Noto Sans JP',sans-serif;font-size:9.5px;letter-spacing:.01em;color:var(--ink-soft);text-align:center;line-height:1.35;}
@media(max-width:600px){.svc-bar .nm-sub{font-size:9.5px;}}
@media(max-width:980px){.svc-bar-wrap{padding:0 16px 72px;}.card-in{padding:22px 6px 18px;}.svc-bar a{border-bottom:1px solid rgba(27,36,54,.08);}}
@media(min-width:601px) and (max-width:980px){.svc-bar{grid-template-columns:repeat(4,1fr);}.svc-bar a:nth-child(4n){border-right:none;}.svc-bar a:nth-child(n+5){border-bottom:none;}.svc-bar .nm{font-size:10.5px;}}
@media(max-width:600px){.svc-bar{grid-template-columns:repeat(2,1fr);}.svc-bar a:nth-child(2n){border-right:none;}.svc-bar a:nth-child(n+7){border-bottom:none;}.card-in{padding:26px 10px 22px;}.svc-bar .nm{font-size:12px;}.svc-bar-wrap{padding-top:36px;}}

/* ===== HP制作：事業バーが6枚のとき列・境界を合わせる（右余白の解消）v402 ===== */
.svc-bar:has(a:nth-child(6)):not(:has(a:nth-child(7))){grid-template-columns:repeat(6,1fr);}
@media(min-width:601px) and (max-width:980px){
  .svc-bar:has(a:nth-child(6)):not(:has(a:nth-child(7))){grid-template-columns:repeat(3,1fr);}
  .svc-bar:has(a:nth-child(6)):not(:has(a:nth-child(7))) a:nth-child(3n){border-right:none;}
  .svc-bar:has(a:nth-child(6)):not(:has(a:nth-child(7))) a:nth-child(4){border-right:1px solid rgba(27,36,54,.08);}
  .svc-bar:has(a:nth-child(6)):not(:has(a:nth-child(7))) a:nth-child(n+4){border-bottom:none;}
}
@media(max-width:600px){
  .svc-bar:has(a:nth-child(6)):not(:has(a:nth-child(7))){grid-template-columns:repeat(2,1fr);}
  .svc-bar:has(a:nth-child(6)):not(:has(a:nth-child(7))) a:nth-child(n+5){border-bottom:none;}
}

/* ===== 写真・動画 選択ページの2カード（services/photo-movie）v406 ===== */
.choose-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:760px;margin:36px auto 0;}
.choose-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:48px 28px;border:1px solid rgba(27,36,54,.10);border-radius:var(--radius);background:#fff;box-shadow:0 14px 40px rgba(27,36,54,.07);text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s,border-color .25s;}
@media(hover:hover){.choose-card:hover{transform:translateY(-4px);box-shadow:0 22px 54px rgba(27,36,54,.12);border-color:var(--gold);}}
.choose-card .ic{width:46px;height:46px;color:var(--gold-deep);}
.choose-card .ic svg{width:100%;height:100%;}
.choose-card .ct{font-family:var(--font-head);font-size:22px;font-weight:600;letter-spacing:.04em;color:var(--ink);}
.choose-card .cs{font-family:var(--font-body);font-size:14px;line-height:1.85;color:var(--ink-soft);}
.choose-card .cgo{margin-top:2px;font-family:var(--font-en);font-size:13px;letter-spacing:.12em;color:var(--gold-deep);}
@media(max-width:600px){.choose-grid{grid-template-columns:1fr;gap:16px;max-width:420px;}.choose-card{padding:36px 24px;gap:12px;}}

/* 事業バー上のミッション文 */
.svc-lead{max-width:1040px;margin:0 auto;padding:84px 40px 4px;text-align:center;}
@media(max-width:600px){.svc-lead{padding:54px 18px 0;}}

/* ▼ ヘッダー：YORAKUを中央／PCでもハンバーガーメニュー（ユーザー指定 2026-06-08） */
nav{justify-content:center!important;}
nav .nav-r{display:none;}
nav.open .nav-r{display:block;position:absolute;top:100%;left:0;right:0;background:rgba(238,241,245,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:10px 22px 18px;border-bottom:1px solid var(--line);}
nav.open .links{display:flex;flex-direction:column;gap:0;width:100%;max-width:1320px;margin:0 auto;}
nav.open .links a{flex-direction:row;justify-content:flex-start;gap:10px;padding:14px 4px;border-bottom:1px solid var(--line);width:100%;}

nav.open .links a .jp{font-size:11px;}
.nav-toggle{display:block!important;position:absolute!important;right:40px;top:50%;transform:translateY(-50%);margin:0;background:none;border:none;font-size:24px;color:var(--ink);cursor:pointer;line-height:1;}
@media(max-width:980px){.nav-toggle{right:22px;}}

/* ▼ フッターをヘッダーと同色（mist）＋上に金の細線（ユーザー指定 2026-06-08） */
footer{background:var(--mist)!important;color:var(--ink-soft)!important;border-top:1px solid var(--gold)!important;}
footer .ftag{color:var(--gold);}
footer .fnav a{color:var(--ink-soft);}
footer .fnav a:hover{color:var(--gold-deep);}
footer .admin{color:var(--ink-soft);}
footer .admin a{color:var(--ink-soft);}
footer .admin a:hover{color:var(--gold-deep);}

/* ▼ ハンバーガーメニュー：文字を大きく＋ホバーで拡大＆金色（ユーザー指定 2026-06-08） */
nav.open .nav-r{overflow:hidden;padding:14px 22px 20px;}
nav.open .links a{gap:12px;padding:16px 6px;transform-origin:left center;transition:transform .22s ease,opacity .22s ease;}
nav.open .links a .en{font-size:16px;transition:color .22s ease;}
nav.open .links a .jp{font-size:12px;transition:color .22s ease;}
nav.open .links a:hover{opacity:1;transform:scale(1.07);}
nav.open .links a:hover .en{color:var(--gold);}
nav.open .links a:hover .jp{color:var(--gold-deep);}

/* ▼ フッター更新：お問い合わせと同色(#F4EEE0)・境界線なし・YORAKUワードマーク（ユーザー指定 2026-06-08） */
footer{background:#F4EEE0!important;border-top:none!important;}
footer .ftag{font-family:var(--font-en)!important;font-size:22px;font-weight:500;letter-spacing:.34em;color:var(--gold);}

/* ▼ メニューはセンター揃え／ハンバーガー10%大きく（ユーザー指定 2026-06-08） */
.nav-toggle{font-size:26px!important;}
nav.open .links a{justify-content:center!important;transform-origin:center center;}

/* ▼ ヘッダー背景をHERO上端と同色(#F5F7FA)・不透過に（ユーザー指定 2026-06-08） */
nav{background:#F5F7FA!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
nav.open .nav-r{background:#F5F7FA!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}

/* ▼ ヘッダー境界線なし（ユーザー指定 2026-06-08） */
nav{border-bottom:none!important;}

/* ▼ 事業バー背景：HERO下端(washi)と同色で継ぎ目なし＝他ページと統一（ユーザー指定 2026-06-08） */
.svc-bar-flow{background:var(--washi);}

/* ▼ フッターYORAKU：灰色＋最下段（All rights reservedの下）へ移動・flex order（ユーザー指定 2026-06-08） */
footer{display:flex!important;flex-direction:column;align-items:center;}
footer .fnav{order:1;}
footer .admin{order:2;}
footer .ftag{order:3;color:#8A8F96!important;margin-bottom:0;margin-top:28px;}

/* ▼ ヘッダーメニューは日本語のみ表示（英字非表示）・ホバー金色（ユーザー指定 2026-06-08） */
nav.open .links a .en{display:none!important;}
nav.open .links a .jp{font-family:var(--font-head)!important;font-size:19px!important;font-weight:500;letter-spacing:.1em;}
nav.open .links a:hover .jp{color:var(--gold)!important;}

/* ▼ 代表写真：高さ＝テキスト列・比率は元のまま(600:799)・角丸（テキスト列固定460px→JSで高さに合わせ幅算出・ユーザー指定 2026-06-08） */
.profile-inner{grid-template-columns:auto 460px!important;justify-content:center;align-items:start;max-width:none;}
.profile .profile-aside .avatar{flex:none;}
.profile .avatar{aspect-ratio:auto;min-height:0;border-radius:18px;}
@media(max-width:860px){
  .profile-inner{grid-template-columns:1fr!important;justify-content:stretch;}
  .profile .avatar{height:auto!important;width:100%!important;aspect-ratio:1/1;}
}

/* ▼ 全ページ共通お問い合わせセクション（トップのカード＋金の波を移植・ユーザー指定 2026-06-08） */
.contact-cta{position:relative;overflow:hidden;background:#F4EEE0;padding:104px 40px 104px;text-align:center;}
.contact-cta>*{position:relative;z-index:1;}
.contact-cta #cc-wave{position:absolute;inset:0;z-index:0;pointer-events:none;}
.contact-cta #cc-wave canvas{display:block;width:100%;height:100%;}
.contact-cta .cc-head{font-family:var(--font-head);font-size:29px;font-weight:600;letter-spacing:.1em;line-height:1.95;color:var(--ink);}
.cc-rule{width:64px;height:1px;background:var(--gold);margin:22px auto 30px;}   /* 見出し下の金の棒線（汎用ディバイダー） */
.contact-cta .cc-rule{margin:30px auto 52px;}
.origin-sec .cc-rule{margin:16px auto 46px;}
.story.vmv .cc-rule{margin:18px auto 6px;position:relative;z-index:1;}
.page-hero .cc-rule{margin:22px auto 0;}
.flow .cc-rule,.logo-mean .cc-rule{margin:20px auto 36px;}
.cc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:874px;width:100%;box-sizing:border-box;margin:0 auto;}
.cc-card{display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid rgba(27,36,54,.06);border-radius:17px;box-shadow:0 14px 36px rgba(120,90,30,.08);padding:24px 24px 22px;text-decoration:none;color:var(--ink);transition:transform .25s ease,box-shadow .25s ease;}
.cc-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(120,90,30,.16);}
.cc-icon{width:62px;height:62px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:12px;transition:background .25s,color .25s;}
.cc-icon svg{width:25px;height:25px;}
.cc-card:hover .cc-icon{background:var(--gold);color:#fff;}
.cc-value{font-size:16px;letter-spacing:.03em;color:var(--gold-deep);margin-bottom:6px;word-break:break-all;transition:font-weight .15s;}
.cc-card:hover .cc-value{font-weight:700;}
.cc-note{font-size:13px;letter-spacing:.04em;color:var(--ink-soft);}
@media(max-width:860px){
  .contact-cta{padding:84px 22px 84px;}
  .contact-cta .cc-head{font-size:19px;letter-spacing:.04em;}
  .cc-grid{grid-template-columns:1fr;gap:14px;max-width:370px;}
  .cc-card{padding:18px 22px 16px;}
}
/* ▼ お問い合わせ：対応エリアカード（ユーザー指定 2026-06-09） */
.contact-cta .cc-area{max-width:874px;width:100%;box-sizing:border-box;margin:20px auto 0;background:#fff;border:1px solid rgba(27,36,54,.06);border-radius:17px;box-shadow:0 14px 36px rgba(120,90,30,.08);padding:28px 40px;display:flex;align-items:center;justify-content:center;gap:28px;text-align:left;transition:transform .25s ease,box-shadow .25s ease;}
.contact-cta .cc-area:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(120,90,30,.16);}
.contact-cta .cc-area-icon{flex:0 0 auto;width:48px;height:48px;color:var(--gold);display:flex;align-items:center;justify-content:center;}
.contact-cta .cc-area-icon svg{width:30px;height:30px;}
.contact-cta .cc-area-label{flex:0 0 auto;font-family:var(--font-head);font-size:15px;font-weight:500;letter-spacing:.08em;color:var(--ink);padding-right:28px;border-right:1px solid rgba(27,36,54,.12);}
.contact-cta .cc-area-text{flex:0 1 auto;min-width:0;font-size:14px;line-height:1.95;letter-spacing:.03em;color:var(--ink-soft);}
@media(max-width:860px){
  .contact-cta .cc-area{flex-direction:column;align-items:center;text-align:center;gap:12px;padding:24px 22px;max-width:370px;}
  .contact-cta .cc-area-label{border-right:none;padding-right:0;border-bottom:1px solid rgba(27,36,54,.1);padding-bottom:11px;}
  .contact-cta .cc-area-text{text-align:center;}
}

/* ▼ 歩み：本文中の写真枠（左右交互・比率維持・テキスト回り込み・クリックで拡大）（ユーザー指定 2026-06-08） */
.story .story-fig{float:left;width:300px;margin:6px 34px 18px 0;cursor:zoom-in;}
.story .story-fig.right{float:right;margin:6px 0 18px 34px;}
.story .story-fig img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 10px 30px rgba(27,36,54,.10);transition:transform .3s ease,box-shadow .3s ease;}
.story .story-fig:not(.is-placeholder):hover img{transform:translateY(-3px);box-shadow:0 18px 46px rgba(27,36,54,.17);}
.story .story-fig figcaption{margin-top:10px;font-size:12px;line-height:1.75;color:var(--ink-soft);letter-spacing:.03em;}
.story h3{clear:both;}   /* 見出しは常に写真の下から */
/* 写真枠プレースホルダ（あとで差し込み） */
.story .story-fig.is-placeholder{width:100%;cursor:default;}
.story .story-fig.is-placeholder .ph{width:100%;max-width:320px;margin:0 auto;aspect-ratio:4/3;border:1px dashed rgba(140,105,32,.45);border-radius:14px;background:rgba(192,151,47,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--gold-deep);}
.story .story-fig.is-placeholder .ph svg{width:34px;height:34px;opacity:.55;}
.story .story-fig.is-placeholder .ph span{font-size:11px;letter-spacing:.26em;opacity:.7;}
@media(max-width:860px){
  .story .story-fig,.story .story-fig.right{float:none;width:100%;max-width:320px;margin:4px auto 22px;}
}

/* ▼ 写真ライトボックス（クリックで拡大＋キャプション）（ユーザー指定 2026-06-08） */
#lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;flex-direction:column;background:rgba(255,255,255,.96);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:48px 24px;cursor:zoom-out;}
#lightbox.open{display:flex;}
#lightbox figure{margin:0;max-width:min(92vw,920px);display:flex;flex-direction:column;align-items:center;}
#lightbox img{max-width:100%;max-height:78vh;width:auto;height:auto;border-radius:8px;box-shadow:0 24px 64px rgba(27,36,54,.22);}
#lightbox figcaption{margin-top:18px;font-family:var(--font-body);color:#39435A;font-size:15px;line-height:1.95;letter-spacing:.04em;text-align:center;max-width:680px;cursor:auto;}
#lightbox .lb-close{position:absolute;top:22px;right:26px;width:44px;height:44px;border:none;background:rgba(27,36,54,.08);color:var(--ink);border-radius:50%;font-size:20px;line-height:1;cursor:pointer;transition:background .2s;}
#lightbox .lb-close:hover{background:rgba(27,36,54,.16);}
@media(prefers-reduced-motion:reduce){#lightbox{backdrop-filter:none;-webkit-backdrop-filter:none;}}

/* ▼ フッターのプライバシーポリシー等リンクの下線を消す（ユーザー指定 2026-06-08） */
footer .admin a{text-decoration:none;}

/* ▼ 歩み：横スクロール紙芝居（ユーザー指定 2026-06-08） */
.story .kb-guide{text-align:center;font-size:12px;letter-spacing:.14em;color:var(--ink-soft);margin:2px 0 4px;}
.kamishibai{position:relative;margin:16px auto 0;}
.kb-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:12px max(20px,calc((100% - 820px)/2)) 32px;scrollbar-width:none;}
.kb-track::-webkit-scrollbar{display:none;}
.kb-track:focus{outline:none;}
.kp{flex:0 0 min(88vw,820px);scroll-snap-align:center;box-sizing:border-box;background:var(--paper,#fff);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 54px rgba(27,36,54,.09);padding:40px 46px 44px;display:flex;flex-direction:column;}
.kp .story-fig{float:none!important;margin:0 auto 24px!important;width:auto;max-width:100%;text-align:center;cursor:zoom-in;}
.kp .story-fig img{max-height:40vh;width:auto;max-width:100%;margin:0 auto;border-radius:14px;}
.kp .kp-body{width:100%;}
.kp .kp-no{font-family:var(--font-en);font-size:13px;font-weight:500;letter-spacing:.34em;color:var(--gold-deep);margin-bottom:6px;}
.kp h3{margin-top:0;clear:none;}
.kp p{font-size:15px;}
.kp-cover{justify-content:center;align-items:center;text-align:center;}
.kp-cover .kp-kicker{font-family:var(--font-en);font-size:14px;font-weight:500;letter-spacing:.4em;color:var(--gold-deep);margin-bottom:22px;}
.kp-cover .story-lead{margin:0;}
.kb-nav{position:absolute;top:44%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:var(--ink);font-size:24px;line-height:1;cursor:pointer;z-index:6;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,opacity .2s,transform .2s;box-shadow:0 8px 22px rgba(27,36,54,.12);}
.kb-nav:hover{background:#fff;color:var(--gold);transform:translateY(-50%) scale(1.06);}
.kb-prev{left:6px;}
.kb-next{right:6px;}
@media(max-width:860px){
  .kp{flex-basis:88vw;padding:30px 24px 34px;}
  .kp .story-fig img{max-height:34vh;}
  .kb-nav{width:42px;height:42px;font-size:20px;}
  .kb-track{padding:12px 18px 30px;}
}

/* ▼ 写真キャプションはクリック時（ライトボックス）だけ表示（ユーザー指定 2026-06-08） */
.story-fig figcaption{display:none;}

/* ▼ 紙芝居：全画面高さ(100vh・ヘッダー込み)・右→左（和書）・表紙レイアウト（ユーザー指定 2026-06-08） */
.story{padding-top:0!important;padding-bottom:0!important;}
.kamishibai{margin:0;position:relative;--kpcw:min(82vw,72vh,560px);}
.kb-track{height:auto;align-items:center;direction:rtl;padding:26px max(16px,calc((100% - 680px)/2));}
.kp{flex:0 0 auto;width:var(--kpcw);aspect-ratio:1 / 1;direction:ltr;overflow:hidden;justify-content:center;padding:30px 40px;filter:blur(10px);opacity:.3;transition:filter .4s ease,opacity .4s ease;}   /* 正方形カード・縦スクロールなし・中央寄せ／中央以外は強めにぼかす */
.kp.is-active{filter:none;opacity:1;}   /* 中央のスライドだけ鮮明に */
.kp .story-fig img{max-height:30vh;}   /* 写真（テキスト増量に合わせ微調整） */
.kp p{font-size:15px;line-height:1.78;margin-bottom:6px;}
.kp .pullquote{font-size:17px;margin:14px 0 0;}
.kp h3{font-size:21px;margin:0 0 14px;clear:none;}
.kp-cover{justify-content:center;text-align:center;}
.kp-cover .story-lead{text-align:center;margin:0;}   /* サブタイトル：1行・中央 */
.kp .kp-title{font-family:var(--font-head);font-size:34px;font-weight:600;letter-spacing:.08em;color:var(--ink);margin:0 0 18px;}
.kp .kp-no{margin-bottom:4px;}
.kp .kb-guide{margin:30px 0 0;font-size:13px;letter-spacing:.12em;color:var(--ink-soft);}
/* 矢印：右→左なので 前へ＝右 / 次へ＝左。位置は「画面端とカード外端の中間」へ */
.kb-prev{left:auto;right:calc((100% - var(--kpcw)) / 4 - 25px);}
.kb-next{right:auto;left:calc((100% - var(--kpcw)) / 4 - 25px);}
/* ===== /story 物語カード：写真を左・テキストを右に（デスクトップのみ／モバイルは縦積み維持） v297 ===== */
@media(min-width:861px){
  .kamishibai{--kpcw:min(92vw,840px);}   /* PC版：物語カードをロゴモチーフのカードと同寸に（840px幅・横長） */
  .kamishibai .kp{flex-direction:row;align-items:center;justify-content:flex-start;gap:32px;text-align:left;aspect-ratio:1.5;}   /* 840/1.5≈560 ＝ lm-motif(840×559)と一致 */
  .kamishibai .kp .story-fig{flex:0 0 46%;max-width:46%;margin:0!important;display:flex;align-items:center;justify-content:center;}
  .kamishibai .kp .story-fig img{width:auto;max-width:100%;height:auto;max-height:52vh;object-fit:contain;margin:0;}
  .kamishibai .kp .kp-body{flex:1 1 auto;width:auto;min-width:0;}
}
/* ===== /story 物語カードの本文をカードサイズに合わせ読みやすく v364 ===== */
@media(min-width:861px){
  .kamishibai .kp h3{font-size:25px;line-height:1.45;margin:0 0 16px;}
  .kamishibai .kp p{font-size:16.5px;line-height:1.92;}
  .kamishibai .kp .pullquote{font-size:20px;}
}
@media(max-width:860px){
  .kamishibai .kp h3{font-size:20px;}
  .kamishibai .kp p{font-size:14.5px;line-height:1.72;}
  .kamishibai .kp .pullquote{font-size:16px;}
}
.kb-nav{top:50%;}
@media(max-width:860px){
  .kb-track{height:auto;padding:16px 16px;scroll-padding:0 16px;}
  /* カードはスマホ画面に収まる固定高さで全枚統一（中央寄せ・はみ出しは隠す） */
  .kp{flex-basis:86vw;aspect-ratio:auto;height:clamp(500px,80dvh,660px);min-height:0;padding:24px 22px;justify-content:center;overflow:hidden;}
  .story.vmv .kp.vmv-slide{height:auto;}   /* VMVスライドは stage(inset:0) に従う */
  .kp .kp-title{font-size:24px;}
  .kp .story-fig{margin:0 0 11px;}
  .kp .story-fig img{max-height:22vh;}
  .kp h3{font-size:18px;margin:0 0 9px;}
  .kp p{font-size:13.5px;line-height:1.66;margin-bottom:7px;}
  .kp .pullquote{font-size:15px;margin:10px auto 0;}
  .kp .kp-no{margin-bottom:2px;}
  .kp-cover .story-lead{font-size:15px;}
  .kb-nav{display:none;}   /* モバイルはスワイプで操作（矢印がカードに重なるため非表示） */
}

/* ▼ モバイル：下スクロールでヘッダーを隠す・上スクロールで再表示（メニュー展開中は隠さない）（ユーザー指定 2026-06-08） */
@media(max-width:860px){
  nav{transition:transform .35s ease;}
  nav.nav-hide:not(.open){transform:translateY(-100%);}
}

/* ▼ Yorakuについて：背景統一・境界グラデ・カード角丸・リンク下線除去・代表あいさつフェードイン（ユーザー指定 2026-06-08） */
.story{background:var(--washi)!important;}                  /* 紙芝居の背景を上下(代表あいさつ/事業情報)と統一 */
.kp{border-radius:20px;}                                    /* 全カードの角を丸く */
.profile{background:linear-gradient(180deg,#E7EBF2 0,var(--washi) 240px,var(--washi) 100%)!important;}   /* HERO下端→washiで境界を消す */
.contact-cta{background:linear-gradient(180deg,#F7F9FB 0,#F4EEE0 140px,#F4EEE0 100%)!important;}          /* 事業情報(washi)→クリームで境界を消す */
/* お問い合わせページ：直前がヘッダー(nav #F5F7FA)なので、nav色から長く保ちクリームへ緩やかに＝境界線を消す（ユーザー指定 2026-06-09） */
.contact-cta.cta-flush{background:linear-gradient(180deg,#F5F7FA 0,#F5F7FA 150px,#F4EEE0 580px,#F4EEE0 100%)!important;}
.info-box a,.info-box dd a{text-decoration:none;}           /* 電話・メールの下線除去 */
.fade-section{opacity:0;transform:translateY(44px);transition:opacity 1.2s cubic-bezier(.22,.61,.36,1),transform 1.2s cubic-bezier(.22,.61,.36,1);}
.fade-section.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.fade-section{opacity:1;transform:none;transition:none;}}

/* ▼ MISSION/VISION/VALUE：3枚ピーク型・無限ループ carousel（哲学ページ・ユーザー指定 2026-06-09） */
.story.vmv{position:relative;overflow:hidden;}
.story.vmv .kb-head{position:relative;z-index:1;padding:28px 24px 10px;}
.story.vmv .vmv-carousel{position:relative;z-index:1;max-width:1180px;margin:0 auto;}
.story.vmv .vmv-viewport{overflow:hidden;outline:none;padding:38px 0 76px;position:relative;}   /* 影が切れて境界線に見えないよう上下に余白 */
/* 左右端を washi にフェード：矢印ボタンの下に脇カードのテキストが透けて被らないように */
.story.vmv .vmv-viewport::before,.story.vmv .vmv-viewport::after{content:"";position:absolute;top:0;bottom:0;width:150px;z-index:2;pointer-events:none;}
.story.vmv .vmv-viewport::before{left:0;background:linear-gradient(90deg,var(--washi) 0,var(--washi) 64px,rgba(247,249,251,0) 100%);}
.story.vmv .vmv-viewport::after{right:0;background:linear-gradient(270deg,var(--washi) 0,var(--washi) 64px,rgba(247,249,251,0) 100%);}
.story.vmv .vmv-track{display:flex;align-items:center;gap:30px;will-change:transform;transition:transform .55s cubic-bezier(.4,0,.2,1);}
.story.vmv .kp.vmv-slide{flex:0 0 auto;width:clamp(300px,34vw,460px);aspect-ratio:1;height:auto;margin:0;filter:none;opacity:.38;transform:scale(.9) translateZ(0);box-shadow:0 14px 38px rgba(27,36,54,.07);will-change:transform,opacity;backface-visibility:hidden;transition:opacity .45s ease,transform .45s cubic-bezier(.34,1.16,.5,1);}
.story.vmv .kp.vmv-slide.is-active{opacity:1;transform:scale(1) translateZ(0);box-shadow:0 22px 52px rgba(27,36,54,.12);}
.story.vmv .vmv-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:#fff;color:var(--gold);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(120,90,30,.14);transition:background .2s,color .2s,transform .2s;}
@media(hover:hover){.story.vmv .vmv-nav:hover{background:var(--gold);color:#fff;transform:translateY(-50%) scale(1.07);}}
.story.vmv .vmv-nav:active{background:var(--gold);color:#fff;transform:translateY(-50%) scale(1.04);}
.story.vmv .vmv-prev{left:2px;}
.story.vmv .vmv-next{right:2px;}
@media(max-width:860px){
  .story.vmv .kb-head{padding:16px 20px 2px;}
  .story.vmv .vmv-viewport{padding:24px 0 52px;}
  .story.vmv .vmv-track{gap:14px;}
  .story.vmv .kp.vmv-slide{width:78vw;aspect-ratio:auto;height:auto;min-height:360px;padding:32px 28px;}
  .story.vmv .vmv-nav{width:34px;height:34px;font-size:15px;}
  .story.vmv .vmv-prev{left:0;}
  .story.vmv .vmv-next{right:0;}
  .story.vmv .vmv-viewport::before,.story.vmv .vmv-viewport::after{width:56px;}
  .story.vmv .vmv-viewport::before{background:linear-gradient(90deg,var(--washi) 0,var(--washi) 40px,rgba(247,249,251,0) 100%);}
  .story.vmv .vmv-viewport::after{background:linear-gradient(270deg,var(--washi) 0,var(--washi) 40px,rgba(247,249,251,0) 100%);}
}
@media(max-width:520px){
  .story.vmv .vmv-viewport{padding:18px 0 46px;}
  .story.vmv .vmv-track{gap:10px;}
  .story.vmv .kp.vmv-slide{width:84vw;min-height:330px;padding:30px 22px;}
  .story.vmv .vmv-nav{width:30px;height:30px;font-size:14px;}
  .story.vmv .vmv-prev{left:0;}
  .story.vmv .vmv-next{right:0;}
  .story.vmv .vmv-viewport::before,.story.vmv .vmv-viewport::after{display:none;}   /* 端のチラ見せは矢印自体が覆うためフェード不要（カード端を洗わない） */
}
.kp .vmv-body{text-align:center;width:100%;max-width:680px;margin:0 auto;}
.kp .vmv-body .sec-kicker{font-family:var(--font-head);font-size:16px;font-weight:600;letter-spacing:.12em;color:var(--gold-deep);margin-bottom:30px;}
.kp .vmv-body .mvv-stmt{font-family:var(--font-head);font-size:24px;font-weight:500;line-height:1.9;letter-spacing:.06em;color:var(--ink);}
/* 改行制御：文ごとに改行（.ln）＋句読点の単位は語中で切らない（.u）＝編集者視点の折り返し */
.kp .vmv-body .mvv-stmt .ln{display:block;}
.kp .vmv-body .mvv-stmt .u{display:inline-block;}
/* VALUE：8つの価値を2列で読みやすく */
.kp .vmv-body .value-list{list-style:none;padding:0;margin:18px auto 0;display:grid;grid-template-rows:repeat(4,auto);grid-auto-flow:column;justify-content:center;column-gap:44px;row-gap:18px;}
.kp .vmv-body .value-list li{font-family:var(--font-head);font-size:19px;font-weight:500;color:var(--ink);letter-spacing:.1em;line-height:1.4;text-align:left;}
@media(max-width:860px){
  .kp .vmv-body .sec-kicker{margin-bottom:22px;}
  .kp .vmv-body .mvv-stmt{font-size:20px;line-height:1.85;}
  .kp .vmv-body .value-list{column-gap:26px;row-gap:14px;margin-top:12px;}
  .kp .vmv-body .value-list li{font-size:16px;}
}
@media(max-width:520px){
  .kp .vmv-body .sec-kicker{font-size:15px;margin-bottom:18px;}
  .kp .vmv-body .mvv-stmt{font-size:18px;line-height:1.8;}
  .kp .vmv-body .value-list{column-gap:20px;row-gap:12px;}
  .kp .vmv-body .value-list li{font-size:15px;}
}

/* ▼ ロゴにこめた意味：ロゴ＋リードを上に、2つのモチーフをカードで（ユーザー指定 2026-06-09 UI見直し） */
.logo-mean .inner{max-width:880px;}
.logo-mean .lm-hero{text-align:left;margin-bottom:2px;}
.logo-mean .lm-hero .lm-mark{margin:0 0 4px;display:inline-block;}
.logo-mean .lm-hero .lm-mark img{height:150px;width:auto;display:block;margin:0 auto;}
/* 締めの一文（金色・中央） */
.logo-mean .lm-closing{text-align:center;font-family:var(--font-head);font-size:27px;font-weight:600;letter-spacing:.1em;line-height:1.8;color:var(--gold-deep);margin:2px auto 40px;max-width:840px;}
@media(max-width:760px){.logo-mean .lm-closing{font-size:20px;margin:2px auto 30px;letter-spacing:.06em;}}
/* 各モチーフ＝柔らかい白カード（画像＋本文） */
.logo-mean .lm-motif{display:flex;align-items:center;gap:38px;background:#fff;border:1px solid rgba(27,36,54,.05);border-radius:22px;box-shadow:0 18px 48px rgba(27,36,54,.07);padding:32px 40px;max-width:840px;margin:22px auto 0;text-align:left;}
.logo-mean .lm-fig{flex:0 0 auto;width:168px;margin:0;}
.logo-mean .lm-fig img{width:100%;height:auto;display:block;border-radius:14px;background:#fff;border:1px solid rgba(27,36,54,.07);}
.logo-mean .lm-motif-body{flex:1;min-width:0;}
.logo-mean .lm-motif-body .lm-subhead{font-family:var(--font-head);font-size:19px;font-weight:600;letter-spacing:.06em;color:var(--ink);margin:0 0 13px;display:flex;align-items:center;gap:14px;}
.logo-mean .lm-motif-body p{max-width:none;margin:0 0 13px;text-align:left;font-size:14px;line-height:1.95;}
.logo-mean .lm-motif-body p:last-child{margin-bottom:0;}
@media(max-width:760px){
  .logo-mean .lm-hero{margin-bottom:2px;}
  .logo-mean .lm-hero .lm-mark img{height:124px;}
  .logo-mean .lm-motif{flex-direction:column;align-items:center;gap:20px;padding:28px 24px;margin-top:18px;text-align:center;}
  .logo-mean .lm-fig{width:150px;}
  .logo-mean .lm-motif-body{width:100%;}
  .logo-mean .lm-motif-body .lm-subhead{justify-content:center;}
  .logo-mean .lm-motif-body p{text-align:left;}
  .logo-mean .lm-motif-body br{display:none;}   /* 改行はPCのみ／モバイルは自然な折返し */
}
/* 鈴（ロゴ・宝珠鈴）をクリックで金剛鈴の音：アフォーダンス＋鳴った時の演出（ユーザー指定 2026-06-09） */
.bell-ring{cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:transform .25s ease;}
.bell-ring img{pointer-events:none;}
.bell-ring:hover{transform:translateY(-3px);}
.bell-ring:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:10px;}
.bell-ring.ringing{animation:bellRing .55s cubic-bezier(.36,.07,.19,.97);}
@keyframes bellRing{0%{transform:scale(1) rotate(0)}20%{transform:scale(1.07) rotate(-4deg)}40%{transform:scale(1.05) rotate(3deg)}60%{transform:scale(1.03) rotate(-2deg)}100%{transform:scale(1) rotate(0)}}
.logo-mean .bell-hint{font-size:12.5px;letter-spacing:.12em;color:var(--gold-deep);margin:14px 0 0;opacity:.85;}
@media(prefers-reduced-motion:reduce){.bell-ring.ringing{animation:none;}}

/* ▼ 追加調整（ユーザー指定 2026-06-08） */
/* 趣味オーバーレイのテキストを15%大きく */
.profile .hb-overlay .hb-title{font-size:11.5px;}
.profile .hb-overlay .hb-list{font-size:14px;}
/* 引用（pullquote）：上下ラインをやめ、金の明朝で見せる */
.kp .pullquote{border:none;padding:0;margin:18px auto 4px;max-width:90%;color:var(--gold-deep);font-family:var(--font-head);font-size:18px;font-weight:500;line-height:1.95;letter-spacing:.05em;}
/* お問い合わせ：トップページと同じ大きさ感（generousな上余白＋下116px）に揃える */
.contact-cta{min-height:0;display:block;padding:372px 40px 116px;}
@media(max-width:860px){.contact-cta{padding:150px 22px 72px;}}
/* お問い合わせページ専用：HEROを廃しCTAが先頭なので、ナビ下に余白を確保（ユーザー指定 2026-06-09） */
.contact-cta.cta-flush{padding-top:200px;}
@media(max-width:860px){.contact-cta.cta-flush{padding-top:128px;}}
/* 物語ヘッダー（カードの上にタイトル＋ガイド） */
.kb-head{text-align:center;padding:46px 24px 4px;}
.kb-title{font-family:var(--font-head);font-size:30px;font-weight:600;letter-spacing:.1em;color:var(--ink);margin:0 0 14px;}
.kb-head .kb-guide{font-size:14px;letter-spacing:.12em;color:var(--ink-soft);min-height:1.5em;}
/* 物語の導入カード（写真なし・冒頭のつかみ） */
.kamishibai .kp.kp-intro{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:0;}
.kp-intro .kp-body{max-width:600px;width:100%;}
.kp-intro .kp-kicker{font-family:var(--font-en);font-size:13px;font-weight:500;letter-spacing:.34em;color:var(--gold-deep);margin:0 0 18px;}
.kp-intro .kp-lead{font-family:var(--font-body);font-size:16px;line-height:2.05;color:var(--ink);letter-spacing:.02em;text-align:left;margin:0;}
@media(max-width:900px){.kp-intro .kp-lead{font-size:14px;line-height:1.9;}}
/* ガイドのタイプライター用キャレット */
.kb-head .kb-guide.typing::after{content:"▌";margin-left:1px;color:var(--gold);animation:twCaret .7s step-end infinite;}
@keyframes twCaret{50%{opacity:0;}}
@media(max-width:860px){.kb-title{font-size:24px;}.kb-head{padding:36px 20px 2px;}}

/* ▼ HP制作：料金プランを3列で収める（ユーザー指定 2026-06-08） */
.plan-grid-3{grid-template-columns:repeat(3,1fr)!important;gap:14px;}
.plan-grid-3 .plan-card{min-width:0;padding:26px 20px;}
.plan-grid-3 .plan-card dl > div{grid-template-columns:74px 1fr;}
@media(max-width:760px){.plan-grid-3{grid-template-columns:1fr!important;}}
/* ===== HP制作：モバイルは3プランを左右スライド（横スワイプ）v359 ===== */
@media(max-width:760px){
  .plan-grid.plan-slide{display:flex!important;grid-template-columns:none!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:22px 0 14px;scrollbar-width:none;}
  .plan-grid.plan-slide::-webkit-scrollbar{display:none;}
  .plan-grid.plan-slide::before,.plan-grid.plan-slide::after{content:"";flex:0 0 calc(8% - 14px);}   /* 端カードも中央スナップできるよう左右にスペーサー */
  .plan-grid.plan-slide > .plan-card{flex:0 0 84%;scroll-snap-align:center;min-width:0;}
}
/* ===== HP制作：モバイル料金スライドのページ位置ドット v373 ===== */
.plan-dots{display:none;}
@media(max-width:760px){
  .plan-dots{display:flex;justify-content:center;gap:9px;margin:-26px 0 0;position:relative;z-index:2;}   /* カードの枠内(下部余白)に重ねる */
  .plan-dots span{width:7px;height:7px;border-radius:50%;background:rgba(27,36,54,.2);cursor:pointer;transition:background .25s,transform .25s;}
  .plan-dots span.on{background:var(--gold,#c0972f);transform:scale(1.3);}
}
/* ===== HP制作：モバイルは制作の流れ(01-07)を横スライドのカードに v384 ===== */
@media(max-width:760px){
  .process.process-slide{flex-direction:row;flex-wrap:nowrap;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 0 16px;scrollbar-width:none;}
  .process.process-slide::-webkit-scrollbar{display:none;}
  .process.process-slide .pstep{flex:0 0 84%;scroll-snap-align:center;border-bottom:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 22px;box-shadow:0 10px 30px rgba(27,36,54,.07);}
}
/* ===== HP制作：モバイル料金スライドの左右ナビ矢印 v387 ===== */
.plan-nav{display:none;}
@media(max-width:760px){
  .plan-slide-wrap{position:relative;}
  .plan-nav{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:36px;height:36px;border-radius:50%;border:1px solid var(--gold);background:#fff;color:var(--gold-deep);font-size:18px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(120,90,30,.16);}
  .plan-prev{left:2px;}
  .plan-next{right:2px;}
}
/* ===== HP制作：更新・修正のご依頼テーブルをモバイルは中央(積み上げ) v392 ===== */
@media(max-width:600px){
  .price-table tr{display:block;text-align:center;padding:14px 12px;border-bottom:1px solid var(--line);}
  .price-table tr:last-child{border-bottom:none;}
  .price-table td{display:block;text-align:center;padding:0;border:none;}
  .price-table td.price{text-align:center;margin-top:6px;}
  .price-table .detail{text-align:center;margin-top:4px;}
}
/* ===== HP制作：説明文→制作料金 の間隔を詰める（空きすぎ是正）v395 ===== */
.pricing{padding-top:60px;}
/* ===== HP制作：制作の流れ・FAQを「詳しく見る」で開閉 v397 ===== */
.sec-collapse{display:none;}
.sec-collapse.open{display:block;}
.sec-more-wrap{text-align:center;}
.flowsec .sec-title,.faq .sec-title{margin-bottom:24px;}
.more-btn{font-family:var(--font-head);font-size:16px;font-weight:600;letter-spacing:.08em;color:var(--gold-deep);background:#fff;border:1px solid var(--gold);border-radius:99px;padding:15px 44px;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s;box-shadow:0 10px 26px rgba(120,90,30,.10);}
@media(hover:hover){.more-btn:hover{background:var(--gold);color:#fff;}}

/* ▼ 全ページ：セクション境界をなくす（HERO下端→washi／本文はwashiで統一／お問い合わせはwashi→クリーム）（ユーザー指定 2026-06-08） */
.page-hero{background:linear-gradient(180deg,#F5F7FA 0%,#EEF1F5 55%,var(--washi) 100%)!important;}
.intro,.pricing,.flowsec,.flow,.feature-sec,.contact,.why,.plan,.ops,.gallerysec,.welcome,.doc,.origin-sec,.logo-mean,.prep,.contact-methods,.story,.profile{background:var(--washi)!important;}

/* ▼ 代表あいさつ：フェードインを2倍ゆっくりに（0.9s→1.8s）（ユーザー指定 2026-06-08） */
.profile .fade-up{transition:opacity 1.8s ease-out,transform 1.8s ease-out;}

/* ▼ 仕事の流れ：アイコン付き・横並び4ステップ（ユーザー指定 2026-06-09） */
.flow-steps{max-width:1020px;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-radius:0;}
.flow-steps .flow-item{display:flex;flex-direction:column;align-items:center;text-align:center;grid-template-columns:none;gap:0;padding:0;border-bottom:none;position:relative;}
.flow-steps .fi-icon{width:74px;height:74px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);background:#fff;box-shadow:0 12px 30px rgba(120,90,30,.10);margin-bottom:18px;}
.flow-steps .fi-icon svg{width:30px;height:30px;}
.flow-steps .fn{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--gold-deep);line-height:1;margin-bottom:9px;}
.flow-steps .ft{font-family:var(--font-head);font-size:16px;font-weight:600;letter-spacing:.04em;color:var(--ink);margin-bottom:10px;line-height:1.5;}
.flow-steps .fd{font-size:13px;color:var(--ink-soft);line-height:1.85;text-align:center;}
/* ステップ間のつなぎ（金の小さな矢羽根） */
.flow-steps .flow-item:not(:last-child)::after{content:"";position:absolute;top:30px;right:-19px;width:9px;height:9px;border-top:1.6px solid rgba(192,151,47,.55);border-right:1.6px solid rgba(192,151,47,.55);transform:rotate(45deg);}
@media(max-width:860px){
  .flow-steps{grid-template-columns:1fr 1fr;gap:34px 18px;max-width:430px;}
  .flow-steps .flow-item:not(:last-child)::after{display:none;}
  .flow-steps .fi-icon{width:64px;height:64px;}
  .flow-steps .fi-icon svg{width:26px;height:26px;}
  .flow-steps .ft{font-size:15px;}
}
@media(max-width:360px){
  .flow-steps{grid-template-columns:1fr;max-width:280px;gap:28px;}
}

/* ▼ 屋号の由来：3カード（由来／解釈／願い）＋装飾divider（ユーザー指定 2026-06-09） */
.origin-sec .sec-title{margin-bottom:0;}
.origin-sec .inner{max-width:1120px;}   /* 本文15px統一に伴い3枚パネルに余裕を持たせる */
.origin-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1100px;margin:0 auto;background:linear-gradient(180deg,#ffffff,#FBFCFE);border:1px solid rgba(27,36,54,.05);border-radius:24px;box-shadow:0 24px 60px rgba(27,36,54,.06);padding:40px 38px;}
.origin-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 20px 26px;border:1px solid rgba(27,36,54,.05);border-radius:16px;background:rgba(255,255,255,.5);}
.origin-card .oc-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:26px;}
.origin-card .oc-num{font-family:var(--font-head);font-style:italic;font-weight:600;font-size:25px;color:var(--gold);line-height:1;}
.origin-card .oc-sep{width:1px;height:19px;background:rgba(27,36,54,.18);}
.origin-card .oc-label{font-family:var(--font-head);font-weight:600;font-size:16px;letter-spacing:.05em;color:var(--ink);}
.origin-card .oc-body{flex:1;}
.origin-card .oc-body p{font-size:15px;line-height:1.95;letter-spacing:.02em;color:var(--ink-soft);margin:0 0 18px;}
.origin-card .oc-body p:last-child{margin-bottom:0;}
.origin-card .oc-body .glyphs{font-family:var(--font-head);font-size:16px;letter-spacing:.06em;color:var(--ink);margin:6px 0 18px;line-height:1.8;}
.origin-card .oc-body .glyphs .ac{color:var(--gold-deep);font-weight:600;}
.origin-card .oc-icon{margin-top:28px;color:var(--gold);}
.origin-card .oc-icon svg{width:48px;height:auto;display:block;}
@media(max-width:860px){
  .origin-panel{grid-template-columns:1fr;gap:16px;max-width:460px;padding:24px 20px;}
  .origin-card{padding:26px 22px;}
}

/* ▼ ヘッダーメニュー：開いた状態をフルスクリーン・オーバーレイに（ユーザー指定 2026-06-09・添付参考） */
html:has(nav.open){overflow:hidden;}
nav .brand{position:relative;z-index:3;}
.nav-toggle{position:relative;z-index:3;font-size:0!important;}
.nav-toggle::before{content:"";display:block;width:25px;height:25px;background:var(--ink-soft);   /* ハンバーガー：線を太く・少し大きく（描画＝太さ自在） */
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='3.5' y1='7' x2='20.5' y2='7'/%3E%3Cline x1='3.5' y1='12' x2='20.5' y2='12'/%3E%3Cline x1='3.5' y1='17' x2='20.5' y2='17'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='3.5' y1='7' x2='20.5' y2='7'/%3E%3Cline x1='3.5' y1='12' x2='20.5' y2='12'/%3E%3Cline x1='3.5' y1='17' x2='20.5' y2='17'/%3E%3C/svg%3E") no-repeat center/contain;}
nav.open .nav-toggle::before{   /* 開いた状態は✕（同じ太さ） */
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='5.5' y1='5.5' x2='18.5' y2='18.5'/%3E%3Cline x1='18.5' y1='5.5' x2='5.5' y2='18.5'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='5.5' y1='5.5' x2='18.5' y2='18.5'/%3E%3Cline x1='18.5' y1='5.5' x2='5.5' y2='18.5'/%3E%3C/svg%3E") no-repeat center/contain;}
nav.open .nav-r{position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;z-index:1;display:flex!important;flex-direction:column;align-items:center;justify-content:center;background:rgba(240,242,246,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:0!important;border:none!important;gap:0;overflow:hidden;}
nav.open .links{display:flex!important;flex-direction:column;gap:0;width:min(86vw,500px);margin:0;position:relative;z-index:2;}
nav.open .links::before{content:"";position:absolute;top:-36px;left:50%;transform:translateX(-50%);width:30px;height:2px;background:var(--gold);}
nav.open .links a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:30px 0!important;width:100%;text-align:center;border-bottom:1px solid rgba(27,36,54,.1);transform:none!important;transition:opacity .2s ease;}
nav.open .links a:last-child{border-bottom:none;}
nav.open .links a .en{display:none;}
nav.open .links a .jp{font-family:var(--font-head)!important;font-size:clamp(20px,2.4vw,24px)!important;font-weight:500;letter-spacing:.08em;color:var(--ink)!important;}
nav.open .links a:hover{opacity:1;}
nav.open .links a:hover .jp,nav.open .links a.current .jp{color:var(--gold-deep)!important;}

/* ▼ モバイルでは「トップへ戻る」(↑)ボタンを非表示（ユーザー指定 2026-06-09） */
@media(max-width:860px){.to-top{display:none!important;}}

/* ▼ 各ページの先頭セクションを「開いた時に画面中央」へ（ユーザー指定 2026-06-11）。
   背景は各セクション色がナビ裏まで延びる＝白帯なし。safe centerにより内容が画面より高い場合は上揃え＝見切れ防止。 */
body.no-hero .profile,
body.no-hero .svc-bar-flow,
.contact-cta.cta-flush{
  min-height:100svh;box-sizing:border-box;
  display:flex;flex-direction:column;justify-content:safe center;
}
body.no-hero .profile{padding-top:110px;padding-bottom:80px;}
body.no-hero .svc-bar-flow{padding-top:160px;padding-bottom:80px;}   /* 固定ナビ(81px)分を上に余分に取り、ナビ下の可視領域で光学的中央に */
body.no-hero .svc-lead{padding-top:0;}                              /* 親(svc-bar-flow)で中央寄せ＝leadの大きな上余白は不要 */
body.no-hero .story.vmv{padding-top:70px!important;}
/* about：事業情報→お問い合わせ の間隔も他セクションと均等に(150px) ※.contact-methodsはabout専用 */
body.no-hero .contact-methods{padding-bottom:75px!important;}
body.no-hero .contact-methods + .contact-cta{padding-top:75px!important;}   /* MVVは中央寄せをやめ、見やすい上からの自然な流れに戻す（.story{padding:0!important}を上書き） */
.contact-cta.cta-flush{padding-top:140px!important;padding-bottom:100px!important;}    /* 既存の固定padding(200/372)を上書き */
@media(max-width:860px){
  body.no-hero .profile{padding-top:80px;padding-bottom:56px;}
  body.no-hero .svc-bar-flow{padding-top:72px;padding-bottom:56px;}
  body.no-hero .story.vmv{padding-top:132px!important;}
  .contact-cta.cta-flush{padding-top:100px!important;padding-bottom:72px!important;}
}

/* ▼ 事業内容リード文：制作の流れ（sec-title）と同じ大きさ・太さに（ユーザー指定 2026-06-09） */
.svc-lead .mvv-stmt{font-family:var(--font-head);font-size:31px;font-weight:600;letter-spacing:.1em;line-height:1.7;color:var(--ink);}
.svc-lead .mvv-stmt .ln{display:block;}
.svc-lead .mvv-stmt .u{display:inline-block;}
.svc-lead .cc-rule{margin:26px auto 4px;}
@media(max-width:860px){.svc-lead .mvv-stmt{font-size:23px;}}
@media(max-width:520px){.svc-lead .mvv-stmt{font-size:18px;}}

/* ▼ メニュー項目クリック→ページ名が中央に出て消える演出（ユーザー指定 2026-06-09） */
#nav-reveal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--washi);opacity:0;visibility:hidden;text-align:center;padding:24px;}
#nav-reveal.on{opacity:1;visibility:visible;transition:opacity .3s ease;}
#nav-reveal .nr-text{font-family:var(--font-head);font-size:clamp(28px,5vw,52px);font-weight:500;letter-spacing:.12em;color:var(--ink);opacity:0;transform:translateY(16px);}
#nav-reveal.on .nr-text{opacity:1;transform:translateY(0);transition:opacity .6s ease .05s,transform .7s cubic-bezier(.2,.7,.2,1) .05s;}
#nav-reveal.on.textout .nr-text{opacity:0;transform:translateY(-10px);transition:opacity .45s ease,transform .45s ease;}

/* ▼ MVV見出し「いつも、いま、これから。」はモバイルでも1行に（ユーザー指定 2026-06-10） */
@media(max-width:860px){.story.vmv .kb-title{font-size:clamp(17px,5.4vw,24px);letter-spacing:.05em;white-space:nowrap;}}

/* ▼ 物語「はじめての、カメラ」の写真を大きく（ユーザー指定 2026-06-10） */
.kp-photo-lg .story-fig img{max-height:40vh;}
.kp-photo-lg .story-fig figcaption{font-size:11px;line-height:1.55;}
@media(max-width:860px){.kp-photo-lg .story-fig img{max-height:30vh;}}

/* ▼ メニュー遷移の到着：幕(washi)を最初の描画から出し、本文をフェードイン＝次ページのチラ見え防止（ユーザー指定 2026-06-10） */
html.arriving{background:var(--washi);}
html.arriving body{opacity:0;animation:yrkBodyIn .6s ease .05s both;}
@keyframes yrkBodyIn{from{opacity:0;}to{opacity:1;}}

/* ▼ Aboutの見出し下にも金の棒（代表あいさつ／Yorakuの物語／事業情報・ユーザー指定 2026-06-10） */
.profile .sec-title,.contact-methods .sec-title{margin-bottom:0;}
.profile .cc-rule,.contact-methods .cc-rule{margin:18px auto 40px;}
.story:not(.vmv) .kb-head .cc-rule{margin:14px auto 4px;}

/* ▼ モバイルはフッターの著作権表記を2行目に（ユーザー指定 2026-06-12） */
footer .admin .admin-copy{display:inline;}
@media(max-width:600px){footer .admin .admin-copy{display:block;margin-top:3px;}}

/* ▼ AI研修：3講座を必ず3列に（複数定義の.plan-gridに依存しないよう明示・ユーザー指定 2026-06-12） */
.plan-grid.plan-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:860px){.plan-grid.plan-grid-3{grid-template-columns:1fr;}}

/* ▼ お問い合わせフォーム（FormSubmit・プル型受注統合 2026-06-12） */
.contact-form{background:#F4EEE0;padding:8px 24px 100px;}
.contact-form .inner{max-width:874px;margin:0 auto;}
.contact-form .cf-lead{text-align:center;font-size:14px;line-height:2;color:var(--ink-soft);margin:0 auto 40px;letter-spacing:.04em;}
.contact-form .cf-lead a{color:var(--gold-deep);border-bottom:1px solid var(--gold);text-decoration:none;padding-bottom:1px;}
.contact-form .frow{margin-bottom:22px;}
.contact-form .frow label{display:block;font-family:var(--font-head);font-size:14px;letter-spacing:.08em;color:var(--ink);margin-bottom:8px;font-weight:500;}
.contact-form .frow label .req{font-size:10px;color:#fff;background:var(--gold-deep);padding:2px 8px;border-radius:2px;margin-left:8px;letter-spacing:.1em;vertical-align:2px;}
.contact-form .frow input,.contact-form .frow textarea,.contact-form .frow select{width:100%;padding:13px 15px;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:5px;font-family:inherit;line-height:1.8;}
.contact-form .frow input:focus,.contact-form .frow textarea:focus,.contact-form .frow select:focus{outline:none;border-color:var(--gold);}
.contact-form .frow textarea{min-height:170px;resize:vertical;}
.contact-form .fsubmit{text-align:center;margin-top:34px;}
.contact-form .fsubmit button{padding:16px 60px;background:var(--gold);color:#fff;border:none;border-radius:99px;font-size:14px;letter-spacing:.16em;font-family:var(--font-en);cursor:pointer;transition:opacity .2s;}
.contact-form .fsubmit button:hover{opacity:.88;}
.contact-form .fsubmit .fnote{margin-top:15px;font-size:12px;color:var(--ink-soft);letter-spacing:.04em;}
.contact-form .fsubmit .fnote a{color:var(--gold-deep);text-decoration:none;}
.contact-form .hp-field{display:none;}
/* 送信完了：別ページに移動せずその場で表示（form-ajax.js） */
.form-done{max-width:640px;margin:0 auto;text-align:center;padding:40px 24px;}
.form-done .fd-mark{width:54px;height:54px;line-height:54px;margin:0 auto 20px;border-radius:50%;background:var(--gold);color:#fff;font-size:26px;}
.form-done .fd-title{font-family:var(--font-head);font-size:22px;font-weight:600;letter-spacing:.08em;color:var(--ink);margin-bottom:14px;}
.form-done .fd-msg{font-size:14px;line-height:2;color:var(--ink-soft);}

/* ▼ FAQ（AEO 2026-06-12） */
.faq{background:#fff;padding:88px 24px;}
.faq .inner{max-width:760px;margin:0 auto;}
.faq .sec-title,.faq .cc-rule{text-align:center;}
.faq .cc-rule{margin-left:auto;margin-right:auto;}
.faq-list{margin:8px 0 0;}
.faq-list dt{font-family:var(--font-head);font-size:16px;font-weight:600;color:var(--ink);letter-spacing:.04em;padding:24px 0 10px;border-top:1px solid var(--line);}
.faq-list dt:first-child{border-top:none;}
.faq-list dd{margin:0 0 4px;font-size:14px;line-height:2;color:var(--ink-soft);letter-spacing:.02em;}
.faq-list dd a{color:var(--gold-deep);text-decoration:none;border-bottom:1px solid var(--gold);}
@media(max-width:600px){.faq{padding:60px 18px;}}

/* ▼ 自動見積もり導線ボタン（プル型受注統合 2026-06-12） */
.cc-estimate{display:inline-flex;align-items:center;gap:12px;padding:15px 30px;background:var(--ink);color:#fff;border-radius:99px;font-size:14px;letter-spacing:.06em;text-decoration:none;box-shadow:0 12px 30px rgba(27,36,54,.16);transition:opacity .2s,transform .2s;}
.cc-estimate:hover{opacity:.92;transform:translateY(-2px);}
.cc-estimate .cce-tag{font-family:var(--font-en);font-size:11px;font-weight:500;letter-spacing:.1em;background:var(--gold);color:var(--ink);padding:3px 9px;border-radius:99px;}
.cc-estimate .cce-arrow{font-family:var(--font-en);opacity:.8;}
.contact-cta .cc-estimate{margin:0 auto 44px;}
/* CTA主動線ボタン列（CONV-1 フォーム相談 / CONV-7 60秒見積もり）2026-07-10 */
.contact-cta .cc-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:0 auto 44px;}
.contact-cta .cc-actions .cc-estimate{margin:0;}
@media(max-width:520px){.contact-cta .cc-actions{gap:12px;}.contact-cta .cc-actions .cc-estimate{width:100%;max-width:340px;justify-content:center;}}
.estimate-wrap{text-align:center;margin:4px auto 40px;}
/* 制作プラン上の見積もり導線：紺は重いので軽い色＋カード3枚分の全幅（ユーザー指定 2026-06-12） */
.estimate-wrap .cc-estimate{display:flex;width:100%;justify-content:center;background:#FDFBF5;color:var(--ink);border:1.5px solid rgba(192,151,47,.4);box-shadow:0 6px 18px rgba(192,151,47,.08);}
.estimate-wrap .cc-estimate:hover{background:#F8F3E8;opacity:1;}
.estimate-wrap .cc-estimate .cce-tag{background:transparent;color:var(--ink-faint);padding:0;font-weight:500;}

/* ===== /story ロゴ3モチーフ：横スライド（MVV流用） v287 ===== */
.logo-mean .lm-carousel{position:relative;max-width:1180px;margin:22px auto 0;}
.logo-mean .lm-carousel .vmv-viewport{overflow:hidden;outline:none;padding:24px 0 60px;position:relative;}
.logo-mean .lm-carousel .vmv-track{display:flex;align-items:stretch;gap:30px;will-change:transform;transition:transform .55s cubic-bezier(.4,0,.2,1);}
.logo-mean .lm-carousel .lm-motif{flex:0 0 auto;width:min(92vw,940px);margin:0;opacity:.4;transform:scale(.94) translateZ(0);transition:opacity .45s ease,transform .45s cubic-bezier(.34,1.16,.5,1);}
.logo-mean .lm-carousel .lm-motif.is-active{opacity:1;transform:scale(1) translateZ(0);}
.logo-mean .lm-carousel .vmv-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);background:#fff;color:var(--gold);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(120,90,30,.14);transition:background .2s,color .2s,transform .2s;}
.logo-mean .lm-carousel .vmv-prev{left:2px;}
.logo-mean .lm-carousel .vmv-next{right:2px;}
@media(hover:hover){.logo-mean .lm-carousel .vmv-nav:hover{background:var(--gold);color:#fff;transform:translateY(-50%) scale(1.07);}}
@media(max-width:760px){
  .logo-mean .lm-carousel{margin-top:14px;}
  .logo-mean .lm-carousel .vmv-track{gap:14px;}
  .logo-mean .lm-carousel .lm-motif{width:86vw;flex-direction:column;text-align:center;gap:16px;padding:26px 22px;}
  .logo-mean .lm-carousel .lm-fig{width:150px;margin:0 auto;}
  .logo-mean .lm-carousel .vmv-nav{top:auto;bottom:10px;transform:none;}   /* モバイル：矢印を本文に被せず下中央へ */
  .logo-mean .lm-carousel .vmv-prev{left:50%;margin-left:-50px;right:auto;}
  .logo-mean .lm-carousel .vmv-next{right:50%;margin-right:-50px;left:auto;}
}

/* ===== ブログ：AI運営・執筆の注記 v288 ===== */
.ai-hero .blog-note{margin:14px auto 0;font-size:12px;letter-spacing:.04em;line-height:1.7;color:var(--ink-soft);opacity:.82;}
.byline-note{margin:5px 0 0;font-size:12px;letter-spacing:.02em;line-height:1.7;color:var(--ink-soft);opacity:.78;}

/* ===== /story 紙芝居タイトルをヘッダーに被らせない v289 ===== */
.story:has(.kamishibai) .kb-head{padding-top:clamp(88px,12vh,112px);}
@media(max-width:860px){.story:has(.kamishibai) .kb-head{padding-top:80px;}}

/* ===== /story ロゴ見出し：シンボルを見出しの左隣に v293 ===== */
.logo-mean .lm-head{display:flex;align-items:center;justify-content:center;gap:34px;margin-bottom:8px;}
.logo-mean .lm-head .lm-hero{margin:0;text-align:center;flex:0 0 auto;}
.logo-mean .lm-head-text{text-align:left;}
.logo-mean .lm-head-text .sec-title{margin:0;}
.logo-mean .lm-head-text .cc-rule{margin:16px 0 0;}
@media(max-width:600px){
  .logo-mean .lm-head{flex-direction:column;gap:12px;}
  .logo-mean .lm-head-text{text-align:center;}
  .logo-mean .lm-head-text .cc-rule{margin:14px auto 0;}
}


/* ===== /story ロゴ見出し：枠で囲みvw中央／シンボルを見出しテキスト色に統一 v298 ===== */
/* req3(v298)の枠は v301 で解除：ロゴ＋見出しをカードから出す。中央寄せ・gapは v293 ルールに従う */
/* req2 シンボルの色を見出しテキスト色(--ink)に統一：金シルエットをmaskで塗り替え（比率維持・元imgは寸法保持のため非表示） */
.logo-mean .lm-head .lm-mark{-webkit-mask:url(/logo/mark-suzu.png) no-repeat center / contain;mask:url(/logo/mark-suzu.png) no-repeat center / contain;background-color:var(--ink);display:inline-block;line-height:0;}
.logo-mean .lm-head .lm-mark img{visibility:hidden;}

/* ===== /story ロゴ3モチーフ：カードを3:2比率・画像を大きく（デスクトップ） v298 ===== */
@media(min-width:761px){
  .logo-mean .lm-carousel .lm-motif{align-items:center;gap:46px;padding:40px 54px;}
  .logo-mean .lm-carousel .lm-fig{flex:0 0 44%;width:44%;}
  .logo-mean .lm-carousel .lm-fig img{width:100%;height:auto;}
}
@media(min-width:1024px){   /* 3:2比率は本文が収まる広い幅のみ。タブレット(761-1023)は自動高さでクリップ防止 v299 */
  .logo-mean .lm-carousel .lm-motif{aspect-ratio:3 / 2;overflow:hidden;}
}


/* ===== 連絡文(.cc-area-text)：モバイルで文の途中改行を防ぐ／PC・タブレットは2行のまま v299 ===== */
.cc-area-text .cc-ph{display:inline-block;}                 /* 文を1かたまりとして折り返す */
@media(max-width:600px){ .cc-area-text .cc-br-pc{display:none;} }   /* モバイルは固定改行をやめ自然な文単位折返しに */

/* ===== /story 3モチーフ：カード番号 v301 ===== */
.logo-mean .lm-motif-body .lm-no{font-family:var(--font-head);font-style:italic;font-weight:600;font-size:25px;color:var(--gold);line-height:1;letter-spacing:0;flex:none;}
.logo-mean .lm-motif-body .lm-sep{width:1px;height:19px;background:rgba(27,36,54,.18);flex:none;}

/* ===== /about Mission 1行目を1行に v322 ===== */
.kp .vmv-body .mvv-stmt .ln-nb{white-space:nowrap;}

/* ===== 事業ページ：事業バーをトップと同じ全幅に v324 ===== */
body.no-hero .svc-bar-wrap{width:100%;}

/* ===== スクリーンリーダー専用（視覚非表示）v413 ===== */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ===== ヘッダー統一 v417: ロゴの位置・サイズを全ページでトップページと同一に（PC 12px/40px・SP 8px/22px・19.2px） ===== */
nav{padding:12px 40px;}
nav .brand{font-size:19.2px;}
@media(max-width:860px){nav{padding:8px 22px;}}

/* ===== 下層背景 v418: ページ頭に金の気配（ブログ以外＝body.washi限定）。冷たい青灰のヒーローに、ブランド金(#CAA846)の淡い光を仕込み、下端はほぼ白で本文に溶かす ===== */
body.washi .page-hero{background:
  radial-gradient(680px 300px at 50% 78%, rgba(202,168,70,.13), rgba(202,168,70,0) 70%),
  linear-gradient(180deg,#F5F7FA 0%,#F4F3EF 55%,#FAFAF8 100%)!important;}
@media(max-width:860px){body.washi .page-hero{background:
  radial-gradient(92vw 250px at 50% 60%, rgba(202,168,70,.12), rgba(202,168,70,0) 66%),
  linear-gradient(180deg,#F5F7FA 0%,#F5F3EE 52%,#FAFAF8 100%)!important;}}   /* 狭幅はハロを上げ小さく＝下端の境目を消す */

/* ===== 由来カード v418: 本文が薄く小さくて読みにくいの改善（15px→16.5px・薄グレー→濃い墨・行間微増） ===== */
.origin-card .oc-body p{font-size:16.5px;line-height:1.9;color:var(--ink);}
.origin-card .oc-body .glyphs{font-size:17px;line-height:1.85;}
@media(max-width:600px){.origin-card .oc-body p{font-size:16px;line-height:1.85;}.origin-card .oc-body .glyphs{font-size:16.5px;}}

/* ===== 背景リズム v419（A+C：白と暖和紙の交互＋1ページ1箇所の墨紺の帯。ユーザー選定 2026-07-02） ===== */
section.band-white{background:#FFFFFF!important;box-shadow:inset 0 1px 0 rgba(192,151,47,.12);}
section.band-warm{background:#F7F3EA!important;box-shadow:inset 0 1px 0 rgba(192,151,47,.22);}
section.band-sumi{background:linear-gradient(180deg,#1E2A42 0%,#1B2436 100%)!important;box-shadow:inset 0 1px 0 rgba(192,151,47,.38);}
section.band-sumi .sec-title{color:#F3EFE4;}
section.band-sumi .sec-note{color:rgba(243,239,228,.72);}
section.band-sumi .faq-list dt{color:#EAD9A8;border-top-color:rgba(243,239,228,.16);}
section.band-sumi .faq-list dd{color:rgba(240,241,246,.82);}
section.band-sumi .faq-list dd a{color:#EAD9A8;}


/* ================================================================
   v431 背景改稿「白磁と金」＋鈴の共鳴円（本人選定 2026-07-13）
   磁器の暖白グラデ×金の波セパレーター（about）＋汎用band白磁化。
   ロゴの章にだけ鈴の共鳴円（案②の一部）を重ねる。
   ※ このブロックより後に background!important を追記すると負ける
   ================================================================ */
/* ================================================================
   白磁と金 v1 ── about.html 背景改稿（/site.css の「後」に読み込む）
   磁器の白のグラデーション × 金のヘアライン × 波のセパレーター
   （Golden Wave の残響。レイアウト・タイポは不変更＝背景と装飾のみ）
   ================================================================ */

/* --- 0. トークン再調律：青みグレー（#F7F9FB 系）を白磁の暖白へ --- */
:root{
  --washi:#FAF7F1;      /* 旧 #F7F9FB（青み）→ 白磁の暖白 */
  --washi-2:#F5F0E6;    /* 旧 #EEF1F5 → 白磁の影 */
  --mist:#F6F2EA;       /* ハンバーガーメニュー背景などに波及 */
  --mist-2:#EFE9DC;
  --mist-3:#EBE4D6;
  --bg:#F1ECE2;
  --line:#E7E1D3;       /* 罫線も青みグレー→暖グレーに */
  --rin-ring:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1200'%20height='1200'%20viewBox='0%200%201200%201200'%3E%3Cg%20fill='none'%20stroke='%23C0972F'%3E%3Ccircle%20cx='600'%20cy='600'%20r='118'%20stroke-width='1.6'%20stroke-opacity='.34'/%3E%3Ccircle%20cx='600'%20cy='600'%20r='232'%20stroke-width='1.4'%20stroke-opacity='.24'/%3E%3Ccircle%20cx='600'%20cy='600'%20r='348'%20stroke-width='1.2'%20stroke-opacity='.16'/%3E%3Ccircle%20cx='600'%20cy='600'%20r='466'%20stroke-width='1.1'%20stroke-opacity='.11'/%3E%3Ccircle%20cx='600'%20cy='600'%20r='586'%20stroke-width='1'%20stroke-opacity='.07'/%3E%3C/g%3E%3Ccircle%20cx='600'%20cy='600'%20r='4'%20fill='%23C0972F'%20fill-opacity='.35'/%3E%3C/svg%3E");
}

/* --- 2b. 汎用band帯の白磁化（サービス詳細等・金の細線は既存継承） --- */
section.band-white{background:linear-gradient(180deg,#FDFBF7 0%,#FCFAF6 100%)!important;}
section.band-warm{background:linear-gradient(180deg,#F6F2E9 0%,#F4EFE3 100%)!important;}


/* --- 2. セクションの白磁グラデ ---
   既存の「全セクション washi!important（site.css:3114）」と
   「band-*!important（site.css:3393-）」を、後読み＋高詳細度で上書き。
   各セクションの“下端色”＝次セクションの波の fill 色（継ぎ目ゼロの鍵） */
section.profile{
  background:linear-gradient(180deg,#FBF9F4 0%,#FCFAF7 55%,#FDFCFA 100%)!important;
}
section.story:not(.vmv){
  background:linear-gradient(180deg,#FDFCFA 0%,#FCFAF5 55%,#FAF7F0 100%)!important;
}
section.origin-sec.band-warm{
  background:linear-gradient(180deg,#F6F2E9 0%,#F4EFE3 100%)!important; /* 白磁の影 */
  box-shadow:none!important;   /* 旧・直線の金ヘアラインは波に置換 */
}
section.logo-mean.band-white{
  /* 共鳴円は撤去（本人指定 2026-07-13）・白磁グラデのみ */
  background:linear-gradient(180deg,#FDFBF7 0%,#FCFAF6 100%)!important;
  box-shadow:none!important;
}
section.story.vmv{
  background:#F8F4EB!important;   /* 端フェードと同色にするため単色 */
}
section.contact-methods.band-warm{
  background:linear-gradient(180deg,#F5F0E5 0%,#F4EEE0 100%)!important; /* 下端=contact-cta と同色に着地 */
  box-shadow:none!important;
}
/* .contact-cta / footer（#F4EEE0＋金の波 canvas）は現行のまま＝ページの終着色。
   ただし上端140pxの「旧washi(#F7F9FB)→クリーム」ブレンド（site.css:2936）だけは
   青みが再侵入するため単色に差し替え（contact-methods 下端と同色＝継ぎ目ゼロ） */
section.contact-cta{background:#F4EEE0!important;}

/* --- 3. 波のセパレーター（高さ56px・金の細線入り・fill=直前セクション下端色） --- */
section.profile,
section.story:not(.vmv),
section.origin-sec.band-warm,
section.logo-mean.band-white,
section.story.vmv,
section.contact-methods.band-warm{position:relative;}

section.story:not(.vmv)::before,
section.origin-sec.band-warm::before,
section.logo-mean.band-white::before,
section.story.vmv::before,
section.contact-methods.band-warm::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:56px;
  background-repeat:no-repeat;
  background-size:100% 100%;   /* preserveAspectRatio:none とセット＝継ぎ目ズレ防止 */
  pointer-events:none;
  z-index:0;                   /* vmv 内の z-index:1 コンテンツより下 */
}
/* 波A（fill=#FDFCFA：profile の下端色） */
section.story:not(.vmv)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath d='M0 28C240 48 480 8 720 24 960 40 1200 12 1440 30L1440 0 0 0Z' fill='%23FDFCFA'/%3E%3Cpath d='M0 28C240 48 480 8 720 24 960 40 1200 12 1440 30' fill='none' stroke='%23C0972F' stroke-opacity='.3' stroke-width='1.2'/%3E%3C/svg%3E");
}
/* 波B（fill=#FAF7F0：story の下端色） */
section.origin-sec.band-warm::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath d='M0 26C240 8 480 44 720 28 960 12 1200 46 1440 24L1440 0 0 0Z' fill='%23FAF7F0'/%3E%3Cpath d='M0 26C240 8 480 44 720 28 960 12 1200 46 1440 24' fill='none' stroke='%23C0972F' stroke-opacity='.3' stroke-width='1.2'/%3E%3C/svg%3E");
}
/* 波A（fill=#F4EFE3：origin-sec の下端色） */
section.logo-mean.band-white::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath d='M0 28C240 48 480 8 720 24 960 40 1200 12 1440 30L1440 0 0 0Z' fill='%23F4EFE3'/%3E%3Cpath d='M0 28C240 48 480 8 720 24 960 40 1200 12 1440 30' fill='none' stroke='%23C0972F' stroke-opacity='.3' stroke-width='1.2'/%3E%3C/svg%3E");
}
/* 波B（fill=#FCFAF6：logo-mean の下端色） */
section.story.vmv::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath d='M0 26C240 8 480 44 720 28 960 12 1200 46 1440 24L1440 0 0 0Z' fill='%23FCFAF6'/%3E%3Cpath d='M0 26C240 8 480 44 720 28 960 12 1200 46 1440 24' fill='none' stroke='%23C0972F' stroke-opacity='.3' stroke-width='1.2'/%3E%3C/svg%3E");
}
/* 波A（fill=#F8F4EB：vmv の背景色） */
section.contact-methods.band-warm::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 56' preserveAspectRatio='none'%3E%3Cpath d='M0 28C240 48 480 8 720 24 960 40 1200 12 1440 30L1440 0 0 0Z' fill='%23F8F4EB'/%3E%3Cpath d='M0 28C240 48 480 8 720 24 960 40 1200 12 1440 30' fill='none' stroke='%23C0972F' stroke-opacity='.3' stroke-width='1.2'/%3E%3C/svg%3E");
}

/* --- 4. VMVカルーセルの端フェードを新背景色（#F8F4EB）に同期 --- */
.story.vmv .vmv-viewport::before{
  background:linear-gradient(90deg,#F8F4EB 0,#F8F4EB 64px,rgba(248,244,235,0) 100%)!important;
}
.story.vmv .vmv-viewport::after{
  background:linear-gradient(270deg,#F8F4EB 0,#F8F4EB 64px,rgba(248,244,235,0) 100%)!important;
}

/* --- 5. レスポンシブ：波は狭幅で低く（重さを消す）。600px以下の端フェード非表示は既存のまま --- */
@media(max-width:860px){
  section.story:not(.vmv)::before,
  section.origin-sec.band-warm::before,
  section.logo-mean.band-white::before,
  section.story.vmv::before,
  section.contact-methods.band-warm::before{height:38px;}
  .story.vmv .vmv-viewport::before{
    background:linear-gradient(90deg,#F8F4EB 0,#F8F4EB 40px,rgba(248,244,235,0) 100%)!important;
  }
  .story.vmv .vmv-viewport::after{
    background:linear-gradient(270deg,#F8F4EB 0,#F8F4EB 40px,rgba(248,244,235,0) 100%)!important;
  }
}
@media(max-width:600px){
  section.story:not(.vmv)::before,
  section.origin-sec.band-warm::before,
  section.logo-mean.band-white::before,
  section.story.vmv::before,
  section.contact-methods.band-warm::before{height:28px;}
}
@media(max-width:600px){
  section.logo-mean.band-white{
    background:linear-gradient(180deg,#FDFBF7 0%,#FCFAF6 100%)!important;
  }
}


/* ================================================================
   v435 下層ページのヘッダーをトップ（index.html）と統一（本人指定 2026-07-13）
   閉：不透明 #F5F7FA・境界線/ブラーなし・中央ロゴ／開：全画面オーバーレイ
   site.css 既存の nav 規則（2514-2536 / 2705-2711）を後読み＋!important で上書き。
   トップ index.html:93-124 のインラインnav CSSと同一定義。
   ================================================================ */
nav{background:#F5F7FA!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:none!important;padding:12px 40px!important;justify-content:center!important;flex-wrap:nowrap!important;}
nav .brand{font-size:19.2px;display:inline-flex;position:relative;z-index:103;}
nav .nav-r{display:none!important;}
html:has(nav.open){overflow:hidden;}
.nav-toggle{display:block!important;position:absolute!important;right:40px;top:50%;transform:translateY(-50%);z-index:103;background:none;border:none;font-size:0!important;color:var(--ink-soft);cursor:pointer;line-height:1;margin:0!important;padding:0;}
.nav-toggle::before{content:"";display:block;width:25px;height:25px;background:var(--ink-soft);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='3.5' y1='7' x2='20.5' y2='7'/%3E%3Cline x1='3.5' y1='12' x2='20.5' y2='12'/%3E%3Cline x1='3.5' y1='17' x2='20.5' y2='17'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='3.5' y1='7' x2='20.5' y2='7'/%3E%3Cline x1='3.5' y1='12' x2='20.5' y2='12'/%3E%3Cline x1='3.5' y1='17' x2='20.5' y2='17'/%3E%3C/svg%3E") no-repeat center/contain;}
nav.open .nav-toggle::before{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='5.5' y1='5.5' x2='18.5' y2='18.5'/%3E%3Cline x1='18.5' y1='5.5' x2='5.5' y2='18.5'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cline x1='5.5' y1='5.5' x2='18.5' y2='18.5'/%3E%3Cline x1='18.5' y1='5.5' x2='5.5' y2='18.5'/%3E%3C/svg%3E") no-repeat center/contain;}
nav.open .nav-r{display:flex!important;position:fixed!important;inset:0!important;z-index:101;flex-direction:column;align-items:center!important;justify-content:center!important;background:rgba(240,242,246,.97)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:0!important;border:none!important;overflow:hidden;}
nav.open .nav-r .links,nav.open .links{display:flex!important;flex-direction:column!important;gap:0!important;width:min(86vw,500px)!important;max-width:500px;margin:0!important;position:relative;z-index:102;}
nav.open .links::before{content:"";position:absolute;top:-36px;left:50%;transform:translateX(-50%);width:30px;height:2px;background:var(--gold);}
nav.open .nav-r .links a,nav.open .links a{flex-direction:column!important;align-items:center!important;justify-content:center;gap:0!important;padding:30px 0!important;width:100%;text-align:center;border-bottom:1px solid rgba(27,36,54,.1)!important;}
nav.open .links a:last-child{border-bottom:none!important;}
nav.open .links a .en{display:none!important;}
nav.open .links a .jp{font-family:var(--font-head)!important;font-size:clamp(20px,2.4vw,24px)!important;font-weight:500!important;letter-spacing:.08em!important;color:var(--ink)!important;}
nav.open .links a:hover{opacity:1;}
nav.open .links a:hover .jp{color:var(--gold-deep)!important;}
@media(max-width:980px){nav{padding:8px 22px!important;}.nav-toggle{right:22px;}}
nav.open .links a.current .jp{color:var(--ink)!important;}   /* 開メニューは現在ページも墨色＝トップと統一 */
footer .fnav{position:static!important;top:auto!important;left:auto!important;right:auto!important;z-index:auto!important;}   /* footer内のnav要素にヘッダー用nav{position:fixed}が誤爆し、フッターのサイトマップがヘッダーを覆っていた事故を解消 */
