/* ===================================================================
   私たちのおもい (Philosophy) ― フルリニューアル 2026-06-15
   style.css + v2.css の後に読み込む
   =================================================================== */
.ot { --ot-green:#5E9168; --ot-green-d:#3F6E49; --ot-ink:#3a3a32; --ot-sub:#6f6b60;
      --ot-cream:#FBF9F3; --ot-line:#E7E0D2; }
.ot-inner { max-width:1080px; margin:0 auto; padding:0 24px; }

/* ---------- 共通の見出し（番号付きセクション） ---------- */
.ot-sec { padding:3.4rem 0; }
.ot-sec--tint { background:#fff; }
.ot-sec-grid { display:grid; grid-template-columns:230px 1fr; gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.ot-sec-head .ot-num { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-weight:600; color:var(--ot-green); letter-spacing:.05em; display:block; margin-bottom:.5rem; }
.ot-sec-head h2 { font-family:'Noto Serif JP',serif; font-size:clamp(1.3rem,2.4vw,1.7rem); font-weight:600; color:var(--ot-ink); line-height:1.5; margin:0 0 1rem; letter-spacing:.02em; }
.ot-sec-head p { font-family:'Noto Serif JP',serif; font-size:.86rem; line-height:1.95; color:var(--ot-sub); margin:0; }
@media(max-width:780px){ .ot-sec-grid { grid-template-columns:1fr; gap:1.4rem; } }

/* ===================== HERO ===================== */
.ot-hero { padding:3.6rem 0 3rem; background:#fff; overflow:hidden; }
.ot-hero-grid { display:grid; grid-template-columns:1.04fr .96fr; gap:clamp(2rem,4vw,3.6rem); align-items:center; }
.ot-eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-family:'Cormorant Garamond',serif; font-size:1.15rem; letter-spacing:.18em; color:var(--ot-green); font-weight:600; margin:0 0 1rem; }
.ot-eyebrow svg { width:22px; height:22px; }
.ot-hero-h1 { font-family:'Noto Serif JP',serif; font-size:clamp(1.5rem,3vw,2rem); font-weight:600; color:var(--ot-ink); margin:0 0 1rem; letter-spacing:.03em; }
.ot-hero-h2 { font-family:'Noto Serif JP',serif; font-size:clamp(1.7rem,4vw,2.7rem); font-weight:600; line-height:1.5; color:var(--ot-ink); margin:0 0 1.6rem; letter-spacing:.02em; }
.ot-hero-h2 em { font-style:normal; color:var(--ot-green-d); background-image:linear-gradient(120deg,#CFE6D2 0%,#B6DCBC 100%); background-repeat:no-repeat; background-size:100% 36%; background-position:0 82%; padding:0 .1em; }
.ot-hero-lead { font-family:'Noto Serif JP',serif; font-size:.92rem; line-height:2.05; color:var(--ot-sub); margin:0; }
.ot-hero-media { position:relative; }
.ot-hero-photo { margin:0; border-radius:20px 20px 20px 60px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 26px 54px rgba(90,110,80,0.18); }
.ot-hero-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.ot-hero-badge { position:absolute; right:-18px; bottom:-26px; width:158px; height:158px; border-radius:50%;
  background:linear-gradient(135deg,#EAF5EC,#D8EDDC); border:3px solid #fff;
  box-shadow:0 14px 30px rgba(90,120,90,0.22); display:flex; align-items:center; justify-content:center;
  text-align:center; padding:1rem; }
.ot-hero-badge span { font-family:'Noto Serif JP',serif; font-size:.72rem; font-weight:600; line-height:1.7; color:var(--ot-green-d); }
.ot-hero-badge .ot-badge-main { display:block; font-family:'Noto Serif JP',serif; font-size:1.04rem; font-weight:600; line-height:1.45; letter-spacing:.04em; color:var(--ot-green-d); }
.ot-hero-badge .ot-badge-main em { font-style:normal; color:#CC8AB4; margin:0 .12em; font-size:1.15em; }
.ot-hero-badge .ot-badge-en { display:block; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:.84rem; letter-spacing:.04em; color:var(--ot-green); margin-top:.4rem; }
.ot-hero-rule { max-width:1080px; margin:2.2rem auto 0; padding:0 24px; }
.ot-hero-rule span { display:block; height:1px; background:linear-gradient(90deg,transparent,#D9E5DA,transparent); }
@media(max-width:820px){ .ot-hero-grid { grid-template-columns:1fr; gap:2.6rem; } .ot-hero-badge { width:128px; height:128px; right:6px; bottom:-22px; } }

/* ===================== 01 写真カード ===================== */
.ot-grow-cards { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.ot-gcard { margin:0; }
.ot-gcard-photo { position:relative; margin:0 0 .7rem; border-radius:12px; overflow:hidden; aspect-ratio:1/1; box-shadow:0 10px 22px rgba(90,90,70,0.12); background:#EEEAE0; }
.ot-gcard-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.ot-gcard-photo .ot-tag { position:absolute; top:8px; left:8px; background:rgba(94,145,104,0.92); color:#fff; font-family:'Noto Serif JP',serif; font-size:.7rem; font-weight:600; letter-spacing:.04em; padding:.25rem .6rem; border-radius:20px; }
.ot-gcard p { font-family:'Noto Serif JP',serif; font-size:.76rem; line-height:1.7; color:var(--ot-sub); margin:0; }
@media(max-width:780px){ .ot-grow-cards { grid-template-columns:repeat(2,1fr); gap:1rem 0.8rem; } }

/* プレースホルダー（写真未用意） */
.ot-ph { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.3rem; width:100%; height:100%; color:#A99F8C; background:repeating-linear-gradient(45deg,#F1ECE0,#F1ECE0 10px,#EDE7D9 10px,#EDE7D9 20px); }
.ot-ph svg { width:30px; height:30px; opacity:.6; }
.ot-ph small { font-size:.62rem; letter-spacing:.08em; }

/* ===================== 02 価値（アイコンカード） ===================== */
.ot-values { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.ot-vcard { background:#fff; border:1px solid var(--ot-line); border-radius:16px; padding:1.6rem 1rem; text-align:center; box-shadow:0 10px 24px rgba(90,90,70,0.06); }
.ot-vcard-ic { width:58px; height:58px; margin:0 auto .9rem; border-radius:50%; background:#EFF6F0; display:flex; align-items:center; justify-content:center; color:var(--ot-green); }
.ot-vcard-ic svg { width:28px; height:28px; }
.ot-vcard b { display:block; font-family:'Noto Serif JP',serif; font-size:.95rem; font-weight:600; color:var(--ot-ink); line-height:1.5; margin-bottom:.6rem; }
.ot-vcard span { display:block; font-family:'Noto Serif JP',serif; font-size:.73rem; line-height:1.75; color:var(--ot-sub); }
@media(max-width:880px){ .ot-values { grid-template-columns:repeat(3,1fr); } }
@media(max-width:560px){ .ot-values { grid-template-columns:repeat(2,1fr); gap:.7rem; } }

/* ===================== 03 スタッフの声 ===================== */
.ot-voices { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.ot-voice { background:#fff; border:1px solid var(--ot-line); border-radius:16px; padding:1.5rem 1.2rem 1.3rem; text-align:center; box-shadow:0 10px 24px rgba(90,90,70,0.06); }
.ot-voice-q { font-family:'Noto Serif JP',serif; font-size:.82rem; line-height:1.85; color:var(--ot-green-d); font-weight:600; margin:0 0 1rem; min-height:4.6em; }
.ot-voice-avatar { width:74px; height:74px; margin:0 auto .6rem; border-radius:50%; overflow:hidden; background:#EEEAE0; display:flex; align-items:center; justify-content:center; color:#A99F8C; }
.ot-voice-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.ot-voice-avatar svg { width:34px; height:34px; opacity:.6; }
.ot-voice-role { font-family:'Noto Serif JP',serif; font-size:.82rem; font-weight:600; color:var(--ot-ink); }
.ot-voice-x { font-family:'Noto Serif JP',serif; font-size:.68rem; line-height:1.7; color:var(--ot-sub); margin:.4rem 0 0; }
@media(max-width:880px){ .ot-voices { grid-template-columns:repeat(2,1fr); } .ot-voice-q { min-height:0; } }

/* ===================== 04 フロー ===================== */
.ot-flow { display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; align-items:start; }
.ot-flow-step { position:relative; text-align:center; padding:0 .4rem; }
.ot-flow-ic { width:84px; height:84px; margin:0 auto .8rem; border-radius:50%; background:#EFF6F0; display:flex; align-items:center; justify-content:center; color:var(--ot-green); }
.ot-flow-step--goal .ot-flow-ic { background:#FCE7E1; color:#D98A72; }
.ot-flow-ic svg { width:38px; height:38px; }
.ot-flow-step b { display:block; font-family:'Noto Serif JP',serif; font-size:.92rem; font-weight:600; color:var(--ot-ink); margin-bottom:.4rem; }
.ot-flow-step--goal b { color:#CC7A5E; }
.ot-flow-step span { display:block; font-family:'Noto Serif JP',serif; font-size:.72rem; line-height:1.65; color:var(--ot-sub); }
.ot-flow-step:not(:last-child)::after { content:"›"; position:absolute; top:30px; right:-6px; font-size:1.5rem; color:#C4D6C6; }
@media(max-width:780px){ .ot-flow { grid-template-columns:repeat(2,1fr); gap:1.4rem .6rem; } .ot-flow-step:nth-child(2)::after { content:none; } }

/* ===================== 05 文化ギャラリー ===================== */
.ot-culture-wrap { display:grid; grid-template-columns:170px 1fr; gap:clamp(1.4rem,3vw,2.6rem); align-items:start; }
.ot-culture-side .ot-tree { width:100%; max-width:170px; display:block; margin:1rem auto 0; }
.ot-gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.ot-gitem { margin:0; }
.ot-gitem-photo { position:relative; margin:0 0 .55rem; border-radius:12px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 10px 22px rgba(90,90,70,0.12); background:#EEEAE0; }
.ot-gitem-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.ot-gitem b { display:block; font-family:'Noto Serif JP',serif; font-size:.84rem; font-weight:600; color:var(--ot-ink); margin-bottom:.2rem; }
.ot-gitem span { display:block; font-family:'Noto Serif JP',serif; font-size:.71rem; line-height:1.6; color:var(--ot-sub); }
@media(max-width:980px){ .ot-gallery { grid-template-columns:repeat(2,1fr); } }
@media(max-width:880px){ .ot-culture-wrap { grid-template-columns:1fr; } .ot-culture-side .ot-tree { max-width:120px; margin:0 auto 1rem; } }
@media(max-width:480px){ .ot-gallery { grid-template-columns:1fr 1fr; gap:.7rem; } }

.ot-back { text-align:center; padding:2.4rem 0 0; }
.ot-back a { font-family:'Noto Serif JP',serif; font-weight:600; color:var(--ot-green-d); text-decoration:none; border-bottom:2px solid #CFE2D1; padding-bottom:2px; transition:color .25s, border-color .25s; }
.ot-back a:hover { color:var(--ot-green); border-color:var(--ot-green); }

/* ===================================================================
   動き・インタラクション
   =================================================================== */
/* --- グリッドの子要素を順番にフェードアップ（スタッガード） --- */
.ot-grow-cards.reveal, .ot-values.reveal, .ot-voices.reveal, .ot-flow.reveal, .ot-gallery.reveal {
  opacity:1 !important; transform:none !important; transition:none !important;
}
.ot-grow-cards > *, .ot-values > *, .ot-voices > *, .ot-flow > *, .ot-gallery > * {
  opacity:0; transform:translateY(28px);
  transition:opacity .65s ease, transform .65s cubic-bezier(.2,.75,.3,1);
}
.ot-grow-cards.visible > *, .ot-values.visible > *, .ot-voices.visible > *,
.ot-flow.visible > *, .ot-gallery.visible > * { opacity:1; transform:none; }
.ot-grow-cards.visible > *:nth-child(1), .ot-values.visible > *:nth-child(1), .ot-voices.visible > *:nth-child(1), .ot-flow.visible > *:nth-child(1), .ot-gallery.visible > *:nth-child(1) { transition-delay:.04s; }
.ot-grow-cards.visible > *:nth-child(2), .ot-values.visible > *:nth-child(2), .ot-voices.visible > *:nth-child(2), .ot-flow.visible > *:nth-child(2), .ot-gallery.visible > *:nth-child(2) { transition-delay:.12s; }
.ot-grow-cards.visible > *:nth-child(3), .ot-values.visible > *:nth-child(3), .ot-voices.visible > *:nth-child(3), .ot-flow.visible > *:nth-child(3), .ot-gallery.visible > *:nth-child(3) { transition-delay:.20s; }
.ot-grow-cards.visible > *:nth-child(4), .ot-values.visible > *:nth-child(4), .ot-voices.visible > *:nth-child(4), .ot-flow.visible > *:nth-child(4), .ot-gallery.visible > *:nth-child(4) { transition-delay:.28s; }
.ot-grow-cards.visible > *:nth-child(5), .ot-values.visible > *:nth-child(5), .ot-gallery.visible > *:nth-child(5) { transition-delay:.36s; }
.ot-gallery.visible > *:nth-child(6) { transition-delay:.44s; }
.ot-gallery.visible > *:nth-child(7) { transition-delay:.52s; }
.ot-gallery.visible > *:nth-child(8) { transition-delay:.60s; }

/* --- ホバー：浮き上がり＋写真ズーム --- */
.ot-gcard-photo, .ot-gitem-photo { transition:box-shadow .3s ease, transform .3s ease; }
.ot-gcard-photo img, .ot-gitem-photo img { transition:transform .5s ease; }
.ot-gcard:hover .ot-gcard-photo, .ot-gitem:hover .ot-gitem-photo { transform:translateY(-5px); box-shadow:0 18px 34px rgba(90,110,80,0.22); }
.ot-gcard:hover .ot-gcard-photo img, .ot-gitem:hover .ot-gitem-photo img { transform:scale(1.07); }

.ot-vcard, .ot-voice { transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.ot-vcard:hover, .ot-voice:hover { transform:translateY(-6px); box-shadow:0 20px 38px rgba(90,110,80,0.16); border-color:#CFE2D1; }
.ot-vcard-ic { transition:transform .35s cubic-bezier(.34,1.56,.5,1), background .3s; }
.ot-vcard:hover .ot-vcard-ic { transform:scale(1.12) rotate(-6deg); background:#E4F1E6; }

/* --- アイドル：ヒーローのバッジがふわふわ --- */
.ot-hero-badge { animation:otFloat 4.2s ease-in-out infinite; }
@keyframes otFloat { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
/* 背景の水彩ブロブがゆっくり脈動 */
.ot-hero-photo::after { content:""; }
.fv-hero2-leaf, .ot-hero-media .ot-hero-badge { will-change:transform; }

/* --- フロー：ゴールがやさしく脈動／矢印が動く --- */
.ot-flow-step--goal .ot-flow-ic { animation:otPulse 2.6s ease-in-out infinite; }
@keyframes otPulse { 0%,100%{ transform:scale(1); box-shadow:0 0 0 0 rgba(217,138,114,0.35); } 50%{ transform:scale(1.07); box-shadow:0 0 0 10px rgba(217,138,114,0); } }
.ot-flow-step:not(:last-child)::after { animation:otArrow 1.6s ease-in-out infinite; }
@keyframes otArrow { 0%,100%{ transform:translateX(0); opacity:.7; } 50%{ transform:translateX(4px); opacity:1; } }

/* --- 文化セクションのツリーがそよぐ --- */
.ot-culture-side .ot-tree { transform-origin:50% 100%; animation:otSway 6s ease-in-out infinite; }
@keyframes otSway { 0%,100%{ transform:rotate(-1.5deg); } 50%{ transform:rotate(1.5deg); } }

@media (prefers-reduced-motion: reduce) {
  .ot-hero-badge, .ot-flow-step--goal .ot-flow-ic, .ot-flow-step:not(:last-child)::after, .ot-culture-side .ot-tree { animation:none !important; }
  .ot-grow-cards > *, .ot-values > *, .ot-voices > *, .ot-flow > *, .ot-gallery > * { opacity:1; transform:none; transition:none; }
}

/* ===================================================================
   ▼ PLAYFUL ― 真面目すぎないカラフルで楽しいトーン (2026-06-15 ot3)
   =================================================================== */
.ot { --c-pink:#EC85A6; --c-pink-bg:#FCE6EE; --c-mint:#56B173; --c-mint-bg:#E4F1E6;
      --c-coral:#F0926A; --c-coral-bg:#FCE8DE; --c-blue:#6FA8DA; --c-blue-bg:#E2EFFA;
      --c-gold:#E0A93C; --c-gold-bg:#FBF1D6; --c-purple:#A98FD6; --c-purple-bg:#EFE9FA; }

/* 手書きの英字アイブラウ */
.ot-eyebrow { font-family:'Caveat',cursive; font-size:1.7rem; letter-spacing:.04em; transform:rotate(-3deg); }
.ot-eyebrow svg { width:24px; height:24px; }

/* セクション番号 → カラフルな丸バッジ */
.ot-sec-head .ot-num { display:inline-flex; align-items:center; justify-content:center;
  width:54px; height:54px; border-radius:50%; color:#fff; font-size:1.5rem; font-weight:700;
  margin-bottom:1rem; transform:rotate(-5deg); box-shadow:0 8px 18px rgba(0,0,0,.13);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1); }
.ot-sec-head:hover .ot-num { transform:rotate(5deg) scale(1.08); }
.ot > section:nth-of-type(2) .ot-num { background:linear-gradient(135deg,#F6A8C0,#EC85A6); }
.ot > section:nth-of-type(3) .ot-num { background:linear-gradient(135deg,#86CE9A,#56B173); }
.ot > section:nth-of-type(4) .ot-num { background:linear-gradient(135deg,#F4AE8C,#F0926A); }
.ot > section:nth-of-type(5) .ot-num { background:linear-gradient(135deg,#96C2E8,#6FA8DA); }
.ot > section:nth-of-type(6) .ot-num { background:linear-gradient(135deg,#EEC563,#E0A93C); }

/* 見出し横に小さな手書き風アクセント */
.ot-sec-head h2 { position:relative; }

/* 01 タグをカラフルに */
.ot-grow-cards > *:nth-child(1) .ot-tag { background:var(--c-pink); }
.ot-grow-cards > *:nth-child(2) .ot-tag { background:var(--c-mint); }
.ot-grow-cards > *:nth-child(3) .ot-tag { background:var(--c-gold); }
.ot-grow-cards > *:nth-child(4) .ot-tag { background:var(--c-blue); }
.ot-grow-cards > *:nth-child(5) .ot-tag { background:var(--c-coral); }
.ot-gcard-photo { border-radius:18px; }

/* 02 価値カード → カラフル＆丸く */
.ot-vcard { border-radius:24px; }
.ot-values > *:nth-child(1) .ot-vcard-ic { background:var(--c-pink-bg); color:var(--c-pink); }
.ot-values > *:nth-child(2) .ot-vcard-ic { background:var(--c-purple-bg); color:var(--c-purple); }
.ot-values > *:nth-child(3) .ot-vcard-ic { background:var(--c-gold-bg); color:var(--c-gold); }
.ot-values > *:nth-child(4) .ot-vcard-ic { background:var(--c-blue-bg); color:var(--c-blue); }
.ot-values > *:nth-child(5) .ot-vcard-ic { background:var(--c-mint-bg); color:var(--c-mint); }
.ot-vcard-ic { width:64px; height:64px; }
.ot-values > *:nth-child(1):hover .ot-vcard-ic { background:var(--c-pink); color:#fff; }
.ot-values > *:nth-child(2):hover .ot-vcard-ic { background:var(--c-purple); color:#fff; }
.ot-values > *:nth-child(3):hover .ot-vcard-ic { background:var(--c-gold); color:#fff; }
.ot-values > *:nth-child(4):hover .ot-vcard-ic { background:var(--c-blue); color:#fff; }
.ot-values > *:nth-child(5):hover .ot-vcard-ic { background:var(--c-mint); color:#fff; }

/* 03 声カード → 上に色帯＋丸く */
.ot-voice { border-radius:22px; border-top:5px solid var(--c-mint); }
.ot-voices > *:nth-child(1) { border-top-color:var(--c-pink); }
.ot-voices > *:nth-child(2) { border-top-color:var(--c-gold); }
.ot-voices > *:nth-child(3) { border-top-color:var(--c-blue); }
.ot-voices > *:nth-child(4) { border-top-color:var(--c-coral); }
.ot-voice-q { color:var(--ot-ink); }
.ot-voices > *:nth-child(1) .ot-voice-q { color:#D06A8E; }
.ot-voices > *:nth-child(2) .ot-voice-q { color:#C28D2C; }
.ot-voices > *:nth-child(3) .ot-voice-q { color:#5089BE; }
.ot-voices > *:nth-child(4) .ot-voice-q { color:#D27A55; }
.ot-voice-avatar { background:var(--c-mint-bg); color:var(--c-mint); }
.ot-voices > *:nth-child(1) .ot-voice-avatar { background:var(--c-pink-bg); color:var(--c-pink); }
.ot-voices > *:nth-child(2) .ot-voice-avatar { background:var(--c-gold-bg); color:var(--c-gold); }
.ot-voices > *:nth-child(3) .ot-voice-avatar { background:var(--c-blue-bg); color:var(--c-blue); }
.ot-voices > *:nth-child(4) .ot-voice-avatar { background:var(--c-coral-bg); color:var(--c-coral); }

/* 04 フロー → 各ステップ色分け */
.ot-flow > *:nth-child(1) .ot-flow-ic { background:var(--c-pink-bg); color:var(--c-pink); }
.ot-flow > *:nth-child(2) .ot-flow-ic { background:var(--c-blue-bg); color:var(--c-blue); }
.ot-flow > *:nth-child(3) .ot-flow-ic { background:var(--c-purple-bg); color:var(--c-purple); }
.ot-flow-step:not(:last-child)::after { color:#E0B7C6; font-weight:700; }

/* ギャラリーのプレースホルダーにほんのり色 */
.ot-gallery > *:nth-child(odd) .ot-ph { color:#C58FA6; }
.ot-gallery > *:nth-child(even) .ot-ph { color:#8FB8C5; }
.ot-gitem-photo { border-radius:18px; }

/* 弾むホバー（全体的にバウンド感） */
.ot-vcard, .ot-voice { transition:transform .35s cubic-bezier(.34,1.56,.5,1), box-shadow .3s ease, border-color .3s ease; }
.ot-vcard:hover, .ot-voice:hover { transform:translateY(-7px) rotate(-1deg); }
.ot-gcard:hover .ot-gcard-photo, .ot-gitem:hover .ot-gitem-photo { transform:translateY(-6px) rotate(-1.5deg); }

/* ちりばめた装飾ドット */
.ot-hero { position:relative; }
.ot-hero::before { content:""; position:absolute; top:14%; right:42%; width:14px; height:14px; border-radius:50%;
  background:#F6C6D6; box-shadow:60px 40px 0 -2px #BFE2C6, 120px -10px 0 -4px #F8DDA0, -40px 80px 0 -3px #BFD9F2;
  animation:otFloat 5s ease-in-out infinite; opacity:.8; }
.ot-sec--tint { position:relative; overflow:hidden; }
.ot-sec--tint::after { content:""; position:absolute; right:-40px; bottom:-40px; width:160px; height:160px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(135,200,150,.18), transparent 70%); pointer-events:none; }

@media (prefers-reduced-motion: reduce) {
  .ot-hero::before { animation:none !important; }
}

/* 締めメッセージ */
.ot-closing { background:linear-gradient(180deg,#EAF4EC,#DBEEDF); padding:clamp(2.8rem,6vw,4.6rem) 24px; text-align:center; }
.ot-closing-main { font-family:'Noto Serif JP',serif; font-size:clamp(1.3rem,2.8vw,1.95rem); font-weight:600; color:var(--ot-green-d); line-height:1.7; margin:0 0 .85rem; }
.ot-closing-sub { font-family:'Noto Serif JP',serif; font-size:clamp(1rem,2vw,1.28rem); font-weight:500; color:var(--ot-green); letter-spacing:.03em; margin:0; }

/* ============================================================
   雑誌風アップデート（2026-06-18）
   緑をメインから外す → ゴールド/インク + パステル水彩 + ゴールド装飾
   文字は黒・明朝主役・上品なパステル
   ============================================================ */
.ot { --ot-green:#C2A062; --ot-green-d:#2a2a2a; }
.ot-sec-head .ot-num { color:#fff; }
/* ヒーローのハイライト：緑→ペールゴールド、文字は黒 */
.ot-hero-h2 em { color:#2a2a2a; background-image:linear-gradient(120deg,#F6E7CB 0%,#F1D9B4 100%); }
.ot-hero-badge span, .ot-hero-badge .ot-badge-main { color:#33312c; }
.ot-hero-badge .ot-badge-en { color:#B89A66; }
/* アイコン円：緑→ウォームニュートラル＋ゴールド */
.ot-vcard-ic, .ot-flow-ic { background:#F6F1E7; color:#BFA063; }
.ot-flow-step--goal .ot-flow-ic { background:#FCE7E1; color:#D98A72; }
.ot-back a { color:#2a2a2a; border-color:#E2D4B2; }
.ot-back a:hover { color:#BFA063; border-color:#BFA063; }
/* 締めバンド：緑→やわらかいクリーム＋ゴールドライン */
.ot-closing { background:linear-gradient(180deg,#FBF7EF,#F5EEDF); position:relative; overflow:hidden; }
.ot-closing-main { color:#2a2a2a; }
.ot-closing-sub { color:#B08B4A; }
.ot-closing::before { content:''; position:absolute; left:50%; top:1.6rem; transform:translateX(-50%); width:64px; height:1px; background:linear-gradient(90deg,#DCC691,#C29F5E); }

/* パステル水彩ブロブ＋ゴールドドット（背景装飾のみ） */
.ot-sec { position:relative; overflow:hidden; }
.ot-inner { position:relative; z-index:1; }
.ot-sec::before { content:''; position:absolute; z-index:0; width:360px; height:360px; border-radius:50%; filter:blur(66px); opacity:.42; pointer-events:none; }
.ot-sec:nth-of-type(odd)::before  { background:radial-gradient(circle,#EFE2F4,transparent 70%); top:-90px; right:-80px; }
.ot-sec:nth-of-type(even)::before { background:radial-gradient(circle,#FBE5EE,transparent 70%); bottom:-90px; left:-80px; }
.ot-hero::after { content:''; position:absolute; z-index:0; width:380px; height:380px; border-radius:50%; filter:blur(70px); opacity:.4; background:radial-gradient(circle,#DEEAF6,transparent 70%); top:-120px; left:-90px; pointer-events:none; }
.ot-sec:nth-of-type(3)::after, .ot-sec:nth-of-type(5)::after { content:''; position:absolute; z-index:1; width:6px; height:6px; border-radius:50%; background:#C9A86A; opacity:.5; top:16%; left:7%; pointer-events:none; }

/* ============================================================
   私たちのおもい 雑誌風リニューアル（learn-* / 2026-06-18）
   明朝見出し・黒文字・パステル水彩・ゴールド装飾・余白たっぷり
   ============================================================ */
.learn-page .learn-body, .learn-page .learn-value-x, .learn-page .learn-road-x,
.learn-page .learn-note, .learn-page .learn-crumb, .learn-page .learn-closing-sub { font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif; }

.learn-wc { position:absolute; z-index:0; border-radius:50%; filter:blur(64px); opacity:.5; pointer-events:none; }
.learn-wc--lav     { width:420px; height:420px; background:radial-gradient(circle,#E7DBF2,transparent 70%); top:-120px; left:-100px; }
.learn-wc--pink    { width:360px; height:360px; background:radial-gradient(circle,#FBE3EC,transparent 70%); top:30px; right:-110px; }
.learn-wc--apricot { width:360px; height:360px; background:radial-gradient(circle,#FBEADB,transparent 70%); }
.learn-wc--sky     { width:380px; height:380px; background:radial-gradient(circle,#DDEAF6,transparent 70%); }
.learn-wc--yellow  { width:340px; height:340px; background:radial-gradient(circle,#FAF3D8,transparent 70%); }
.learn-wc--lilac   { width:380px; height:380px; background:radial-gradient(circle,#ECE2F3,transparent 70%); }
.learn-wc--tr { top:-90px; right:-90px; }
.learn-wc--bl { bottom:-90px; left:-90px; }
.learn-dot { position:absolute; z-index:1; width:6px; height:6px; border-radius:50%; background:#C9A86A; opacity:.5; pointer-events:none; }
.learn-dot--1 { top:24%; left:15%; } .learn-dot--2 { top:32%; right:17%; width:5px; height:5px; } .learn-dot--3 { bottom:22%; right:13%; }
.learn-goldline { display:block; width:60px; height:1px; background:linear-gradient(90deg,#DCC691,#C29F5E); border:0; }
.learn-goldline--sm { width:46px; margin:1rem 0 1.5rem; }
.learn-goldline--c { margin:1.1rem auto 1.7rem; }
.learn-hero .learn-goldline { margin:1.5rem auto; width:70px; }

.learn-sec { position:relative; padding:clamp(4rem,9vw,8rem) 1.5rem; background:#fff; overflow:hidden; }
.learn-sec--tint { background:#FCFAF4; }
.learn-inner { max-width:1080px; margin:0 auto; position:relative; z-index:2; }

.learn-hero { position:relative; text-align:center; padding:clamp(4.5rem,9vw,7.5rem) 1.5rem clamp(3rem,6vw,5rem); background:#fff; overflow:hidden; }
.learn-hero-inner { position:relative; z-index:2; max-width:720px; margin:0 auto; }
.learn-crumb { font-size:.78rem; letter-spacing:.06em; color:#a59f92; margin:0 0 1.6rem; display:flex; gap:.5rem; justify-content:center; align-items:center; flex-wrap:wrap; }
.learn-crumb a { color:#a59f92; text-decoration:none; } .learn-crumb a:hover { color:#C29F5E; } .learn-crumb b { color:#5f5a50; font-weight:600; }
.learn-hero-en { font-family:'Cormorant Garamond',serif; letter-spacing:.32em; text-transform:uppercase; color:#B89A66; font-size:clamp(.85rem,2vw,1rem); margin:0 0 1rem; }
.learn-hero-title { font-family:'Noto Serif JP',serif; font-weight:600; font-size:clamp(2rem,5.6vw,3.3rem); letter-spacing:.1em; color:#222; margin:0; }
.learn-hero-lead { font-family:'Noto Serif JP',serif; color:#454545; line-height:2.1; font-size:clamp(.95rem,2.1vw,1.06rem); margin:0 auto; max-width:600px; }

.learn-eyebrow { font-family:'Noto Serif JP',serif; font-size:clamp(.86rem,1.9vw,.96rem); letter-spacing:.12em; color:#8a8276; margin:0 0 .5rem; }
.learn-num { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.15rem; color:#C29F5E; margin-right:.55rem; letter-spacing:.06em; }
.learn-h { font-family:'Noto Serif JP',serif; font-weight:600; font-size:clamp(1.55rem,3.6vw,2.45rem); line-height:1.55; letter-spacing:.04em; color:#262626; margin:.4rem 0 0; }
.learn-body { font-size:clamp(.95rem,2vw,1.02rem); line-height:2.05; color:#3a3a3a; margin:0 0 1.1rem; }
.learn-body:last-child { margin-bottom:0; }
.learn-center { text-align:center; }
.learn-body--c { max-width:640px; margin:0 auto; }

.learn-split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.learn-split--rev .learn-split-text { order:2; }
.learn-split--rev > :last-child { order:1; }
.learn-photo { margin:0; }
.learn-photo img { display:block; width:100%; border-radius:16px; object-fit:cover; box-shadow:0 22px 48px rgba(120,110,90,.16); }
.learn-photo--lg img { aspect-ratio:4/3.2; }

.learn-values { display:grid; grid-template-columns:1fr 1fr; gap:clamp(1rem,2vw,1.4rem); }
.learn-value { background:#fff; border:1px solid #ECE5D7; border-radius:14px; padding:clamp(1.5rem,2.8vw,2.1rem); box-shadow:0 8px 22px rgba(150,140,120,.06); }
.learn-value-no { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.1rem; color:#C29F5E; letter-spacing:.06em; }
.learn-value-h { font-family:'Noto Serif JP',serif; font-weight:600; font-size:1.08rem; color:#262626; margin:.4rem 0 .65rem; letter-spacing:.03em; }
.learn-value-x { font-size:.9rem; line-height:1.9; color:#555; margin:0; }

.learn-road { list-style:none; display:flex; align-items:flex-start; justify-content:center; gap:clamp(.3rem,1vw,.8rem); flex-wrap:wrap; margin:clamp(2.6rem,5vw,3.8rem) 0 0; padding:0; }
.learn-road-step { flex:0 1 180px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.learn-road-ic { width:66px; height:66px; display:flex; align-items:center; justify-content:center; border:1px solid #E4DCC8; border-radius:50%; background:#fff; color:#7c7568; box-shadow:0 8px 20px rgba(150,140,120,.08); }
.learn-road-ic svg { width:30px; height:30px; }
.learn-road-t { font-family:'Noto Serif JP',serif; font-weight:600; color:#262626; font-size:1.06rem; margin-top:.9rem; letter-spacing:.04em; }
.learn-road-x { font-size:.82rem; color:#6f6a60; line-height:1.7; margin-top:.35rem; max-width:160px; }
.learn-road-arrow { flex:0 0 auto; align-self:center; margin-top:1.8rem; color:#C9A86A; font-family:'Cormorant Garamond',serif; font-size:1.5rem; }

.learn-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(.8rem,1.6vw,1.2rem); margin:clamp(2.6rem,5vw,3.8rem) 0 0; }
.learn-g { margin:0; }
.learn-g img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; box-shadow:0 12px 28px rgba(120,110,90,.12); }
.learn-note { text-align:center; font-size:.8rem; color:#a39c8e; margin:1.4rem 0 0; }

.learn-closing { position:relative; text-align:center; padding:clamp(3.5rem,7vw,5.5rem) 1.5rem clamp(4rem,8vw,6.5rem); background:linear-gradient(180deg,#FBF7EF,#F5EEDF); overflow:hidden; }
.learn-closing-main { font-family:'Noto Serif JP',serif; font-weight:600; font-size:clamp(1.4rem,3vw,2.1rem); line-height:1.7; color:#2a2a2a; margin:0 0 .9rem; letter-spacing:.04em; }
.learn-closing-sub { font-size:clamp(.95rem,2vw,1.1rem); color:#B08B4A; letter-spacing:.04em; margin:0; }
.learn-back { margin:2.2rem 0 0; }
.learn-back a { font-family:'Noto Serif JP',serif; color:#5f5a50; text-decoration:none; border-bottom:1px solid #D9C9A6; padding-bottom:2px; transition:color .25s,border-color .25s; }
.learn-back a:hover { color:#C29F5E; border-color:#C29F5E; }

@media(max-width:860px){
  .learn-split { grid-template-columns:1fr; gap:clamp(1.6rem,4vw,2.4rem); }
  .learn-split--rev .learn-split-text { order:1; }
  .learn-split--rev > :last-child { order:2; }
}
@media(max-width:560px){
  .learn-values { grid-template-columns:1fr; }
  .learn-gallery { grid-template-columns:1fr 1fr; }
  .learn-road-step { flex-basis:46%; }
  .learn-road-arrow { display:none; }
}

/* ============================================================
   パステルレインボー強化（2026-06-18）
   ベージュ/ゴールドの高級感路線をやめ、セクション別テーマ色の
   水彩のにじみで「やさしい虹色」を表現。文字は黒のまま。
   ============================================================ */
.learn-hero                       { --wc1:#E7DBF2; --wc2:#FBE3EC; --acc:#9B82CC; }
.learn-sec[data-theme="lavender"] { --wc1:#E3D2F4; --wc2:#EFE3F8; --acc:#9B82CC; }
.learn-sec[data-theme="pink"]     { --wc1:#FBD8E6; --wc2:#FCE8EF; --acc:#E589A8; }
.learn-sec[data-theme="sky"]      { --wc1:#D2E4F6; --wc2:#E6F0FA; --acc:#6FA3D8; }
.learn-sec[data-theme="apricot"]  { --wc1:#FBDCC2; --wc2:#FCEBDC; --acc:#E2A062; }
.learn-sec[data-theme="mint"]     { --wc1:#D2EDDB; --wc2:#E6F5EC; --acc:#5FB387; }
.learn-closing                    { --wc1:#E7DBF2; --wc2:#FBE3EC; --acc:#B98BC0; }

/* ベージュ塗りを廃止し、白＋水彩レイヤーに */
.learn-sec--tint { background:#fff !important; }
.learn-sec, .learn-hero, .learn-closing { position:relative; overflow:hidden; }
.learn-sec::before, .learn-hero::before, .learn-closing::before {
  content:''; position:absolute; z-index:0; width:min(60vw,620px); height:min(60vw,620px); border-radius:50%;
  background:radial-gradient(circle, var(--wc1), transparent 66%); filter:blur(58px); opacity:.85;
  top:-14%; right:-10%; pointer-events:none;
}
.learn-sec::after, .learn-hero::after, .learn-closing::after {
  content:''; position:absolute; z-index:0; width:min(52vw,520px); height:min(52vw,520px); border-radius:50%;
  background:radial-gradient(circle, var(--wc2), transparent 68%); filter:blur(62px); opacity:.8;
  bottom:-16%; left:-10%; pointer-events:none;
}
/* セクション内の既存 .learn-wc spans もテーマ色のにじみに */
.learn-sec[data-theme] .learn-wc { background:radial-gradient(circle, var(--wc1), transparent 70%) !important; opacity:.6 !important; filter:blur(60px); }

/* アクセントをゴールド→テーマのパステルへ（見出し・本文は黒のまま） */
.learn-num, .learn-value-no { color:var(--acc) !important; }
.learn-eyebrow .learn-num { color:var(--acc) !important; }
.learn-hero-en { color:var(--acc) !important; }
.learn-goldline { background:var(--acc) !important; height:2px; opacity:.85; border-radius:2px; }
.learn-dot { background:var(--acc) !important; opacity:.55; }
.learn-road-ic { border-color:var(--acc) !important; color:var(--acc) !important; }
.learn-value { border-color:color-mix(in srgb, var(--acc) 28%, #ECE5D7) !important; }

/* 締め：ベージュ→やわらかいパステル（ラベンダー×ピンク）の虹色 */
.learn-closing { background:#fff !important; }
.learn-closing-sub { color:var(--acc) !important; }

/* ============================================================
   ブランドページ格上げ（2026-06-18 v2）
   大胆な水彩・特大セクション番号・大見出し・余白1.5倍
   上品な手描き風アイコン・控えめゴールド
   ============================================================ */
/* 余白1.5倍 */
.learn-sec, .learn-hero { padding-top:clamp(5.5rem,12vw,11rem); padding-bottom:clamp(5.5rem,12vw,11rem); }
.learn-closing { padding:clamp(5rem,10vw,9rem) 1.5rem clamp(6rem,12vw,10rem); }

/* 大胆な水彩（画面の20〜40%） */
.learn-sec::before, .learn-hero::before, .learn-closing::before {
  width:min(84vw,1040px) !important; height:min(84vw,1040px) !important; opacity:.9 !important; filter:blur(72px) !important; top:-20% !important; right:-16% !important;
}
.learn-sec::after, .learn-hero::after, .learn-closing::after {
  width:min(66vw,840px) !important; height:min(66vw,840px) !important; opacity:.85 !important; filter:blur(76px) !important; bottom:-22% !important; left:-16% !important;
}

/* 特大セクション番号（テーマカラー） */
.learn-eyebrow { display:flex; flex-direction:column; align-items:flex-start; gap:.1rem; font-size:clamp(.78rem,1.7vw,.9rem); color:#8a8276; letter-spacing:.14em; }
.learn-center .learn-eyebrow, .learn-eyebrow--c { align-items:center; }
.learn-num { display:block !important; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(3.8rem,9vw,7rem) !important; line-height:.85; margin:0 0 .35rem !important; color:var(--acc) !important; letter-spacing:.01em; }

/* 大見出し */
.learn-h { font-size:clamp(1.85rem,4.4vw,3rem) !important; line-height:1.5; }
.learn-hero-title { font-size:clamp(2.4rem,6.5vw,4rem) !important; }

/* 控えめゴールドのライン・ドット（番号はテーマ色のまま） */
.learn-goldline { background:linear-gradient(90deg,#DCC691,#C29F5E) !important; height:1px !important; opacity:.9; }
.learn-dot { background:#C9A86A !important; }

/* カード：角丸24・極薄シャドウ・余白大・細線 */
.learn-value { border-radius:24px !important; border:1px solid #EFEAE0 !important; box-shadow:0 12px 32px rgba(150,140,120,.05) !important; padding:clamp(1.8rem,3vw,2.6rem) !important; }

/* 02 中央レイアウト：テキスト中央＋カード横並び */
.learn-center--cards .learn-split-text { text-align:center; max-width:700px; margin:0 auto clamp(2.6rem,5vw,3.8rem); }
.learn-center--cards .learn-goldline { margin-left:auto; margin-right:auto; }
.learn-center--cards .learn-values { grid-template-columns:repeat(4,1fr); gap:clamp(1rem,1.8vw,1.5rem); }
@media(max-width:880px){ .learn-center--cards .learn-values { grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .learn-center--cards .learn-values { grid-template-columns:1fr; } }

/* 03 ロードマップ：上品な手描き風アイコンが水彩円に浮かぶ */
.learn-road-ic { border:0 !important; box-shadow:none !important; background:transparent !important; width:88px !important; height:88px !important; position:relative; }
.learn-road-ic::before { content:''; position:absolute; inset:6px; border-radius:50%; z-index:0; filter:blur(7px); opacity:.75; }
.learn-road-ic svg { position:relative; z-index:1; width:38px !important; height:38px !important; }
.learn-road-step[data-c="yellow"]   .learn-road-ic { color:#D6AE4E !important; } .learn-road-step[data-c="yellow"]   .learn-road-ic::before { background:radial-gradient(circle,#FBEFC6,transparent 70%); }
.learn-road-step[data-c="mint"]      .learn-road-ic { color:#5FAE86 !important; } .learn-road-step[data-c="mint"]      .learn-road-ic::before { background:radial-gradient(circle,#D6EEDD,transparent 70%); }
.learn-road-step[data-c="sky"]       .learn-road-ic { color:#6699D2 !important; } .learn-road-step[data-c="sky"]       .learn-road-ic::before { background:radial-gradient(circle,#D6E6F6,transparent 70%); }
.learn-road-step[data-c="lavender"]  .learn-road-ic { color:#947FC6 !important; } .learn-road-step[data-c="lavender"]  .learn-road-ic::before { background:radial-gradient(circle,#E3D4F4,transparent 70%); }
.learn-road-arrow { color:#D2C28E !important; }

/* ============================================================
   水墨画風の背景（2026-06-18）：パステルを活かしつつ、
   にじみ・流れ・かすれを有機的な墨のように。
   ============================================================ */
/* セクション全体に流れる多層のにじみ（淡彩水墨） */
.learn-sec, .learn-hero, .learn-closing {
  background-color:#fff;
  background-image:
    radial-gradient(58% 42% at 16% 10%, var(--wc1) 0%, transparent 60%),
    radial-gradient(52% 64% at 90% 82%, var(--wc2) 0%, transparent 62%),
    radial-gradient(36% 50% at 74% 22%, var(--wc1) 0%, transparent 64%),
    radial-gradient(30% 22% at 40% 92%, var(--wc2) 0%, transparent 66%);
  background-repeat:no-repeat;
}
.learn-sec--tint { background-color:#fff !important; }

/* 既存の水彩ブロブを「墨だまり」風に：いびつな輪郭＋回転＋かすれ */
.learn-sec::before, .learn-hero::before, .learn-closing::before {
  border-radius:46% 54% 58% 42% / 52% 44% 56% 48% !important;
  transform:rotate(-14deg);
}
.learn-sec::after, .learn-hero::after, .learn-closing::after {
  border-radius:56% 44% 48% 52% / 44% 56% 46% 54% !important;
  transform:rotate(10deg);
}
/* セクション内の span のにじみも有機的な形に */
.learn-sec[data-theme] .learn-wc { border-radius:50% 50% 46% 54% / 55% 48% 52% 45% !important; transform:rotate(8deg); }

/* かすれの濃淡：薄いグレーの墨をほんのり重ね、和の余白感を */
.learn-sec::after, .learn-hero::after {
  background-image:
    radial-gradient(circle, var(--wc2) 0%, transparent 68%),
    radial-gradient(60% 60% at 60% 40%, rgba(120,120,130,.05) 0%, transparent 70%) !important;
}

/* ============================================================
   背景は基本白・ポイントでカラー（2026-06-18 最終調整）
   大胆な水彩/水墨の全面washを抑え、白地に小さな色アクセントへ
   ============================================================ */
.learn-sec, .learn-hero, .learn-closing,
.learn-sec--tint { background-image:none !important; background-color:#fff !important; }
/* 角に小さな色のにじみ（ポイント使い） */
.learn-sec::before, .learn-hero::before, .learn-closing::before {
  width:min(34vw,360px) !important; height:min(34vw,360px) !important;
  opacity:.5 !important; filter:blur(52px) !important; top:-5% !important; right:-4% !important;
  background:radial-gradient(circle, var(--wc1), transparent 70%) !important;
}
.learn-sec::after, .learn-hero::after, .learn-closing::after {
  width:min(26vw,290px) !important; height:min(26vw,290px) !important;
  opacity:.4 !important; filter:blur(54px) !important; bottom:-5% !important; left:-4% !important;
  background:radial-gradient(circle, var(--wc2), transparent 70%) !important;
}
.learn-sec[data-theme] .learn-wc { opacity:.38 !important; }

/* ============================================================
   セクションタイトルを左寄せに（2026-06-18）
   中央レイアウトのセクションも、見出しは左揃え
   ============================================================ */
.learn-center .learn-eyebrow,
.learn-center .learn-h,
.learn-center .learn-goldline,
.learn-center .learn-body { text-align:left !important; }
.learn-center .learn-eyebrow { align-items:flex-start !important; }
.learn-center .learn-goldline { margin-left:0 !important; margin-right:auto !important; }
.learn-center .learn-body { margin-left:0 !important; margin-right:0 !important; max-width:760px; }
.learn-center--cards .learn-split-text { max-width:none !important; margin:0 0 clamp(2.4rem,5vw,3.4rem) !important; }

/* ============================================================
   セクション01 価値の3カラム＋締め（Image#8 / 2026-06-18）
   ============================================================ */
.learn-sec--feature .learn-split { margin-bottom:clamp(3rem,6vw,5rem); }
.lf-feats { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.6rem,3.5vw,3.2rem); max-width:1020px; margin:0 auto; padding-top:clamp(1.8rem,3.5vw,2.8rem); border-top:1px solid #EEE8DC; }
.lf-feat { display:flex; align-items:flex-start; gap:1rem; }
.lf-ico { flex:0 0 auto; width:62px; height:62px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.lf-ico svg { width:30px; height:30px; }
.lf-feat[data-c="lavender"] .lf-ico { background:#EFE3F8; color:#9B82CC; }
.lf-feat[data-c="mint"]     .lf-ico { background:#E1F1E7; color:#5FAE86; }
.lf-feat[data-c="apricot"]  .lf-ico { background:#FBE9D8; color:#E0935A; }
.lf-feat-tx b { display:block; font-family:'Noto Serif JP',serif; font-size:1.02rem; margin-bottom:.5rem; letter-spacing:.03em; }
.lf-feat[data-c="lavender"] .lf-feat-tx b { color:#7E66B8; }
.lf-feat[data-c="mint"]     .lf-feat-tx b { color:#4E9B74; }
.lf-feat[data-c="apricot"]  .lf-feat-tx b { color:#CC8048; }
.lf-feat-tx p { font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif; font-size:.85rem; line-height:1.85; color:#5f5a50; margin:0; }
.lf-closing { position:relative; text-align:center; max-width:720px; margin:clamp(3.2rem,6vw,5rem) auto 0; font-family:'Noto Serif JP',serif; font-weight:500; font-size:clamp(1.05rem,2.4vw,1.42rem); line-height:2.1; color:#9C7E45; letter-spacing:.05em; }
.lf-sprig { position:absolute; top:50%; transform:translateY(-50%); width:32px; height:auto; opacity:.85; }
.lf-sprig--l { right:calc(100% + .6rem); }
.lf-sprig--r { left:calc(100% + .6rem); }
@media(max-width:820px){
  .lf-feats { grid-template-columns:1fr; max-width:460px; gap:1.4rem; }
  .lf-sprig { display:none; }
}

/* ============================================================
   セクション02 フィロソフィー（Image#7 / 2026-06-18）
   ============================================================ */
.learn-sec--philo .ph2-top { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,5vw,4rem); align-items:center; margin:0 0 clamp(3rem,6vw,4.8rem); }
.ph2-script { font-family:'Caveat',cursive; font-size:1.9rem; color:#E589A8; margin-left:.5rem; vertical-align:-.05em; }
.ph2-label { font-family:'Noto Serif JP',serif; font-size:.92rem; letter-spacing:.12em; color:#8a8276; margin:.3rem 0 .7rem; }
.ph2-mark { background:linear-gradient(transparent 56%, #FBD3E0 56%, #FBD9E5 92%, transparent 92%); padding:0 .1em; }
.ph2-img { position:relative; margin:0; border-radius:22px; overflow:hidden; box-shadow:0 22px 50px rgba(150,120,130,.16); }
.ph2-img img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.ph2-img-script { position:absolute; right:1.1rem; bottom:.7rem; font-family:'Caveat',cursive; font-size:1.55rem; color:#E08CA6; text-shadow:0 1px 8px rgba(255,255,255,.85); }
.ph2-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.2rem,2.4vw,1.8rem); margin-top:1.4rem; }
.ph2-card { position:relative; background:#fff; border:1px solid #EEE6DC; border-radius:20px; box-shadow:0 12px 30px rgba(150,140,120,.06); padding:2.6rem 1.2rem 0; text-align:center; display:flex; flex-direction:column; align-items:center; overflow:hidden; }
.ph2-no { position:absolute; top:-17px; left:50%; transform:translateX(-50%); width:46px; height:46px; border-radius:50%; background:#fff; border:1px solid var(--c); color:var(--c); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.05rem; box-shadow:0 6px 16px rgba(150,140,120,.15); }
.ph2-ico { width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:1rem 0 .8rem; background:var(--cbg); color:var(--c); }
.ph2-ico svg { width:28px; height:28px; }
.ph2-card-h { font-family:'Noto Serif JP',serif; font-weight:600; font-size:1.02rem; color:var(--c); margin:0 0 .55rem; letter-spacing:.03em; }
.ph2-card-x { font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif; font-size:.82rem; line-height:1.8; color:#5f5a50; margin:0 0 1.3rem; }
.ph2-card-photo { margin:auto -1.2rem 0; width:calc(100% + 2.4rem); }
.ph2-card-photo img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.ph2-card[data-c="pink"]    { --c:#E07AA0; --cbg:#FBE7EE; }
.ph2-card[data-c="green"]   { --c:#5FA77E; --cbg:#E1F1E7; }
.ph2-card[data-c="blue"]    { --c:#6E9CC4; --cbg:#E3EEF6; }
.ph2-card[data-c="apricot"] { --c:#D9925A; --cbg:#FBEAD8; }
@media(max-width:880px){
  .learn-sec--philo .ph2-top { grid-template-columns:1fr; }
  .ph2-cards { grid-template-columns:1fr 1fr; gap:1.6rem 1.2rem; }
}
@media(max-width:520px){ .ph2-cards { grid-template-columns:1fr; max-width:300px; margin-left:auto; margin-right:auto; } }

/* セクション01 写真をHEROらしく大きく（2026-06-19） */
.learn-sec--feature .learn-split { align-items:stretch; grid-template-columns:1.02fr 1fr; }
.learn-sec--feature .learn-split-text { display:flex; flex-direction:column; justify-content:center; }
.learn-sec--feature .learn-photo--lg { height:100%; }
.learn-sec--feature .learn-photo--lg img { height:100%; min-height:clamp(340px,40vw,500px); aspect-ratio:auto; object-fit:cover; border-radius:22px; }
.learn-sec--feature .learn-h { font-size:clamp(2rem,4.8vw,3.1rem) !important; }
@media(max-width:860px){
  .learn-sec--feature .learn-photo--lg img { min-height:0; aspect-ratio:16/10; }
}

/* ============================================================
   セクション03 チーム（Image#7 / 2026-06-19）
   ============================================================ */
.learn-sec--team .lt3-script { color:#6E9CC4 !important; }
.learn-road--team { position:relative; gap:clamp(.6rem,2vw,1.6rem); margin-top:clamp(2.8rem,5.5vw,4rem); align-items:flex-start; }
.learn-road--team .learn-road-step { position:relative; z-index:1; flex:1 1 0; max-width:none; }
/* ステップ間のゴールドの流れる線 */
.learn-road--team .learn-road-step:not(:last-child)::after { content:''; position:absolute; top:92px; left:64%; width:74%; border-top:1.6px dashed #D8C088; z-index:-1; }
.learn-road-no { display:inline-block; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.55rem; color:var(--c); letter-spacing:.06em; position:relative; padding-bottom:.45rem; margin-bottom:.6rem; }
.learn-road-no::after { content:''; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:24px; border-bottom:2px dotted var(--c); }
.learn-road--team .learn-road-ic { width:106px !important; height:106px !important; }
.learn-road--team .learn-road-ic svg { width:44px !important; height:44px !important; }
.learn-road--team .learn-road-t { font-size:1.18rem; margin-top:1rem; }
.learn-road--team .learn-road-x { max-width:200px; }
.learn-road-sprig { display:block; margin-top:1.1rem; color:var(--c); opacity:.65; }
.learn-road-sprig svg { width:58px; height:auto; }
@media(max-width:720px){
  .learn-road--team { flex-wrap:wrap; gap:2rem 1rem; }
  .learn-road--team .learn-road-step { flex:0 0 44%; }
  .learn-road--team .learn-road-step::after { display:none !important; }
}

/* セクション02 カード：写真なし版（2026-06-19） */
.ph2-card { padding:2.6rem 1.4rem 2rem !important; }
.ph2-card-x { margin-bottom:0 !important; }

/* ============================================================
   セクション04 あつたの森の文化（Image#7 / 2026-06-19）
   ============================================================ */
.learn-sec--culture .cul-script { color:#D9925A !important; }
.cul-img-script { color:#E2A06A !important; left:auto !important; right:1.2rem; bottom:1rem; }
.cul-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.4rem,3vw,2.2rem); margin-top:clamp(1rem,3vw,2rem); }
.cul-card { background:#fff; border:1px solid #EEE6DC; border-radius:20px; box-shadow:0 12px 30px rgba(150,140,120,.06); overflow:hidden; text-align:center; padding-bottom:2rem; }
.cul-photo { margin:0; }
.cul-photo img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.cul-ico { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:-28px auto .8rem; background:var(--cbg); color:var(--c); border:3px solid #fff; position:relative; z-index:1; }
.cul-ico svg { width:27px; height:27px; }
.cul-h { font-family:'Noto Serif JP',serif; font-weight:600; font-size:1.06rem; color:var(--c); margin:0 0 .6rem; letter-spacing:.03em; }
.cul-x { font-family:'Hiragino Sans','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif; font-size:.85rem; line-height:1.85; color:#5f5a50; margin:0 1.5rem; }
.cul-card[data-c="pink"]     { --c:#E07AA0; --cbg:#FBE7EE; }
.cul-card[data-c="mint"]     { --c:#5FA77E; --cbg:#E1F1E7; }
.cul-card[data-c="lavender"] { --c:#9986C4; --cbg:#ECE5F5; }
@media(max-width:820px){ .cul-cards { grid-template-columns:1fr; max-width:420px; margin-left:auto; margin-right:auto; } }

/* セクション02 画像削除後：ヘッダーは中央・全幅 */
.learn-sec[data-theme="pink"] .ph2-top { grid-template-columns:1fr !important; text-align:center; max-width:760px; margin-left:auto; margin-right:auto; }
.learn-sec[data-theme="pink"] .ph2-head .learn-eyebrow { align-items:center; justify-content:center; }

/* セクション04 画像削除後：ヘッダー中央 */
.learn-sec--culture .ph2-top { grid-template-columns:1fr !important; text-align:center; max-width:760px; margin-left:auto; margin-right:auto; }
.learn-sec--culture .ph2-head .learn-eyebrow { align-items:center; justify-content:center; }

/* セクション02・04 ヘッダーを左寄せ・1行に（2026-06-19） */
.learn-sec[data-theme="pink"] .ph2-top,
.learn-sec--culture .ph2-top { text-align:left !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.learn-sec[data-theme="pink"] .ph2-head .learn-eyebrow,
.learn-sec--culture .ph2-head .learn-eyebrow { align-items:flex-start !important; justify-content:flex-start !important; }
.learn-sec[data-theme="pink"] .learn-goldline,
.learn-sec--culture .learn-goldline { margin-left:0 !important; margin-right:auto !important; }
.learn-sec[data-theme="pink"] .learn-h,
.learn-sec--culture .learn-h { white-space:nowrap; }
@media(max-width:680px){
  .learn-sec[data-theme="pink"] .learn-h,
  .learn-sec--culture .learn-h { white-space:normal; }
}

/* セクション上下余白を圧縮（2026-06-19） */
.learn-sec, .learn-hero { padding-top:clamp(2.8rem,6vw,4.6rem) !important; padding-bottom:clamp(2.8rem,6vw,4.6rem) !important; }
.learn-hero { padding-top:clamp(2.6rem,5vw,4rem) !important; padding-bottom:clamp(1.6rem,3vw,2.6rem) !important; }
.learn-closing { padding-top:clamp(3rem,6vw,4.6rem) !important; padding-bottom:clamp(3.4rem,7vw,5.5rem) !important; }
/* セクション01の価値3カラム・締めの上マージンも詰める */
.learn-sec--feature .learn-split { margin-bottom:clamp(2rem,4vw,3rem) !important; }
.lf-closing { margin-top:clamp(2rem,4vw,3rem) !important; }

/* セクション01 見出しを全幅・1行に（2026-06-19） */
.lf-feat-head { margin:0 0 clamp(1.8rem,3.5vw,2.8rem); }
.learn-sec--feature .learn-h { white-space:nowrap; }
@media(max-width:760px){ .learn-sec--feature .learn-h { white-space:normal; font-size:clamp(1.7rem,5.5vw,2.2rem) !important; } }

/* ===== セクション03 HERO風バンド（予防歯科HEROに準拠 2026-06-18） ===== */
.learn-sec--team { padding-top:0 !important; }
.lt3-hero {
  position:relative;
  width:100vw; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw;
  min-height:clamp(340px,40vw,500px);
  display:flex; align-items:center;
  overflow:hidden;
  margin-bottom:clamp(2.6rem,5vw,4rem);
}
.lt3-hero-bg { position:absolute; inset:0; z-index:0; }
.lt3-hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center; }
.lt3-hero-overlay {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,
    rgba(255,255,255,.96) 0%,
    rgba(255,255,255,.90) 28%,
    rgba(255,255,255,.55) 50%,
    rgba(255,255,255,.12) 72%,
    rgba(255,255,255,0) 100%);
}
.lt3-hero-inner {
  position:relative; z-index:2;
  width:100%; max-width:1080px; margin:0 auto;
  padding:0 clamp(1.5rem,5vw,4rem);
}
.lt3-hero-inner .learn-eyebrow { justify-content:flex-start; }
.lt3-hero-inner .learn-h { white-space:nowrap; margin-top:.4rem; }
.lt3-hero-inner .learn-body { margin-top:1rem; }
@media(max-width:760px){
  .lt3-hero { min-height:clamp(380px,72vw,460px); }
  .lt3-hero-bg img { object-position:72% center; }
  .lt3-hero-overlay {
    background:linear-gradient(180deg,
      rgba(255,255,255,.92) 0%,
      rgba(255,255,255,.80) 45%,
      rgba(255,255,255,.55) 100%);
  }
  .lt3-hero-inner .learn-h { white-space:normal; }
}

/* セクション01 HERO（コンテンツ多め）2026-06-18 */
.learn-sec:has(> .lt3-hero) { padding-top:0 !important; }
.lt3-hero--tall { min-height:clamp(420px,46vw,560px); }
.lt3-hero--tall .lt3-hero-inner .learn-body { max-width:600px; }
.lt3-hero--tall .lt3-hero-inner .learn-goldline { margin:1rem 0; }
@media(max-width:760px){
  .lt3-hero--tall .lt3-hero-inner .learn-body { max-width:none; }
}

/* セクション01 HERO: スタッフ写真上の可読性を上げる強めオーバーレイ */
.lt3-hero--tall .lt3-hero-overlay {
  background:linear-gradient(90deg,
    rgba(255,255,255,.98) 0%,
    rgba(255,255,255,.94) 46%,
    rgba(255,255,255,.74) 64%,
    rgba(255,255,255,.28) 84%,
    rgba(255,255,255,0) 100%);
}
@media(max-width:760px){
  .lt3-hero--tall .lt3-hero-overlay {
    background:linear-gradient(180deg,
      rgba(255,255,255,.94) 0%,
      rgba(255,255,255,.86) 50%,
      rgba(255,255,255,.62) 100%);
  }
}

/* セクション04 文化カード 4枚グリッド 2026-06-18 */
.cul-cards--4 { grid-template-columns:repeat(4,1fr); }
.cul-card[data-c="apricot"] { --c:#D98A55; --cbg:#F8E8DA; }
@media(max-width:980px){ .cul-cards--4 { grid-template-columns:repeat(2,1fr); max-width:680px; margin-left:auto; margin-right:auto; } }
@media(max-width:560px){ .cul-cards--4 { grid-template-columns:1fr; max-width:420px; } }

/* セクション01 HERO: チーム全員が見えるようオーバーレイを軽量化（2026-06-18） */
.lt3-hero--tall .lt3-hero-overlay {
  background:linear-gradient(90deg,
    rgba(255,255,255,.93) 0%,
    rgba(255,255,255,.82) 24%,
    rgba(255,255,255,.50) 44%,
    rgba(255,255,255,.18) 64%,
    rgba(255,255,255,0) 82%) !important;
}
.lt3-hero--tall .lt3-hero-bg img { object-position:center 32%; }
.lt3-hero--tall .lt3-hero-inner { text-shadow:0 1px 12px rgba(255,255,255,.95), 0 0 6px rgba(255,255,255,.8); }
.lt3-hero--tall .lt3-hero-inner .learn-body { text-shadow:0 1px 10px rgba(255,255,255,.95), 0 0 5px rgba(255,255,255,.9); }
@media(max-width:760px){
  .lt3-hero--tall .lt3-hero-overlay {
    background:linear-gradient(180deg,
      rgba(255,255,255,.92) 0%,
      rgba(255,255,255,.84) 50%,
      rgba(255,255,255,.6) 100%) !important;
  }
}
