﻿:root{--color-primary: #1A3A6E;--color-primary-dark: #0F2447;--color-primary-light: #3A5C92;--color-primary-wash: #E8F1FA;--color-accent: #06C755;--color-accent-dark: #04A547;--color-accent-light: #E8F8E9;--color-bg: #FFFFFF;--color-bg-soft: #F5F7FA;--color-border: #E2E8F0;--color-text-primary: #1A3A6E;--color-text-secondary: #4A5568;--color-text-muted: #718096;--color-text-inverse: #FFFFFF;--color-alert: #E74C3C;--color-warning-wash: #FFF3E0;--gradient-hero-soft: linear-gradient(180deg, #FFFFFF 0%, #E8F1FA 100%);--gradient-trust-deep: linear-gradient(135deg, #1A3A6E 0%, #0F2447 100%);--gradient-cta-green: linear-gradient(135deg, #06C755 0%, #04A547 100%);--gradient-footer-dark: linear-gradient(180deg, #1A3A6E 0%, #0F2447 100%);--font-family-base: "Noto Sans JP", "Hiragino Sans", "Meiryo", sans-serif;--line-height-tight: 1.4;--line-height-normal: 1.7;--line-height-relaxed: 1.85;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--space-7: 64px;--space-8: 96px;--space-9: 128px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 12px rgba(26, 58, 110, 0.08);--shadow-lg: 0 8px 24px rgba(26, 58, 110, 0.10);--shadow-xl: 0 12px 32px rgba(26, 58, 110, 0.15);--shadow-cta: 0 2px 8px rgba(6, 199, 85, 0.25);--container-max-width: 1120px;--container-padding: 24px;--transition-fast: 150ms ease-out;--transition-base: 200ms ease-out;--transition-slow: 300ms ease-out;--z-base: 1;--z-breadcrumb: 100;--z-sticky: 500;--z-header: 800;--z-menu: 900;--z-modal-overlay: 1000;--z-modal: 1010}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px}body{min-height:100dvh;line-height:var(--line-height-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}.tnum{font-variant-numeric:tabular-nums;letter-spacing:-0.01em}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}body{font-family:var(--font-family-base);font-size:15px;font-weight:400;color:var(--color-text-primary);background-color:var(--color-bg)}@media(min-width: 768px){body{font-size:16px}}.skip-link{position:absolute;top:-100px;left:0;z-index:9999;padding:var(--space-3) var(--space-4);background-color:var(--color-primary);color:var(--color-text-inverse);font-weight:700}.skip-link:focus{top:0}.container{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.container{padding-inline:24px}}.section{padding-block:var(--space-7)}@media(min-width: 1280px){.section{padding-block:var(--space-8)}}.section--soft{background-color:var(--color-bg-soft)}.section--wash{background-color:var(--color-primary-wash)}.section--trust{background:var(--gradient-trust-deep);color:var(--color-text-inverse)}.section--cta{background:var(--gradient-cta-green);color:var(--color-text-inverse)}.img-note{position:relative}.img-note::after{content:"※イメージ";position:absolute;right:var(--space-2);bottom:var(--space-2);padding:2px 6px;background-color:rgba(0,0,0,.5);color:var(--color-text-inverse);font-size:10px;border-radius:var(--radius-sm)}.h1-fv{font-size:28px;font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:.02em}@media(min-width: 768px){.h1-fv{font-size:36px}}@media(min-width: 1280px){.h1-fv{font-size:48px}}.h1{font-size:26px;font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:.02em}@media(min-width: 768px){.h1{font-size:30px}}@media(min-width: 1280px){.h1{font-size:36px}}.h2{font-size:22px;font-weight:700;line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:.02em}@media(min-width: 768px){.h2{font-size:26px}}@media(min-width: 1280px){.h2{font-size:32px}}.h3{font-size:18px;font-weight:700;line-height:1.5;color:var(--color-text-primary)}@media(min-width: 768px){.h3{font-size:20px}}@media(min-width: 1280px){.h3{font-size:22px}}.h4{font-size:16px;font-weight:700;line-height:1.5;color:var(--color-text-primary)}@media(min-width: 768px){.h4{font-size:17px}}@media(min-width: 1280px){.h4{font-size:18px}}.body-lg{font-size:16px;font-weight:400;line-height:var(--line-height-relaxed)}@media(min-width: 768px){.body-lg{font-size:17px}}@media(min-width: 1280px){.body-lg{font-size:18px}}.body{font-size:15px;font-weight:400;line-height:var(--line-height-relaxed)}@media(min-width: 768px){.body{font-size:16px}}.body-sm{font-size:13px;font-weight:400;line-height:var(--line-height-normal);color:var(--color-text-secondary)}@media(min-width: 768px){.body-sm{font-size:14px}}.caption{font-size:12px;font-weight:400;line-height:1.6;color:var(--color-text-muted)}@media(min-width: 768px){.caption{font-size:13px}}.micro{font-size:11px;font-weight:400;line-height:1.6;color:var(--color-text-muted)}@media(min-width: 768px){.micro{font-size:12px}}.num-hero{font-size:36px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-0.01em}@media(min-width: 1280px){.num-hero{font-size:56px}}.num-mid{font-size:28px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-0.01em}@media(min-width: 1280px){.num-mid{font-size:36px}}.num-sm{font-size:20px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-0.01em}@media(min-width: 1280px){.num-sm{font-size:24px}}.text-alert{color:var(--color-alert);font-weight:700}.text-accent{color:var(--color-accent);font-weight:700}.btn-on-dark,.btn-secondary,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px 24px;border-radius:var(--radius-md);font-weight:700;text-align:center;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}@media(min-width: 768px){.btn-on-dark,.btn-secondary,.btn-primary{padding:16px 32px}}.btn-on-dark:focus-visible,.btn-secondary:focus-visible,.btn-primary:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.btn-on-dark:hover,.btn-secondary:hover,.btn-primary:hover{transform:translateY(-1px)}@media(prefers-reduced-motion: reduce){.btn-on-dark,.btn-secondary,.btn-primary{transition:none}.btn-on-dark:hover,.btn-secondary:hover,.btn-primary:hover{transform:none}}.btn-primary{background-color:var(--color-accent);color:var(--color-text-inverse);box-shadow:var(--shadow-cta)}.btn-primary:hover{background-color:var(--color-accent-dark);box-shadow:0 4px 12px rgba(6,199,85,.35)}.btn-primary:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.btn-secondary{background-color:rgba(0,0,0,0);color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary-wash)}.btn-tertiary{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-primary);font-weight:700;text-decoration:underline;transition:color var(--transition-fast)}.btn-tertiary:hover{color:var(--color-primary-light)}.btn-tertiary:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.btn-lg{width:100%;padding:18px 32px;font-size:17px}@media(min-width: 1280px){.btn-lg{width:320px;padding:20px 32px;font-size:18px}}.btn-md{width:100%;padding:14px 24px;font-size:15px}@media(min-width: 1280px){.btn-md{width:240px;padding:16px 32px;font-size:16px}}.btn-sm{width:180px;padding:12px 20px;font-size:14px}@media(min-width: 1280px){.btn-sm{width:200px}}.tel-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary);font-weight:700;text-decoration:none}.tel-link:hover{text-decoration:underline}.tel-link:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.tel-link__icon{font-size:1.2em}.tel-link__hours{font-weight:400;font-size:.9em;color:var(--color-text-muted)}.btn-on-dark{background-color:rgba(0,0,0,0);color:var(--color-text-inverse);border:2px solid var(--color-text-inverse)}.btn-on-dark:hover{background-color:hsla(0,0%,100%,.1)}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base)}@media(min-width: 768px){.card{padding:var(--space-5)}}.card:hover{box-shadow:var(--shadow-lg)}.card__title{margin-bottom:var(--space-3)}.card-highlight{background-color:var(--color-accent-light);border:2px solid var(--color-accent);border-radius:var(--radius-lg);padding:var(--space-4);position:relative}@media(min-width: 768px){.card-highlight{padding:var(--space-5)}}.card-highlight__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 16px;background-color:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-pill);font-size:12px;font-weight:700}.card-voice{background-color:var(--color-bg);border:none;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card-voice:hover{box-shadow:var(--shadow-xl)}.card-voice__image{width:100%;aspect-ratio:4/3;object-fit:cover}.card-voice__body{padding:var(--space-4)}@media(min-width: 768px){.card-voice__body{padding:var(--space-5)}}.card-voice__amount{color:var(--color-accent);margin-block:var(--space-3) var(--space-2)}.card-voice__breakdown{color:var(--color-text-muted);margin-bottom:var(--space-3)}.card-voice__story-title{color:var(--color-text-primary);font-weight:700;margin-bottom:var(--space-3)}.card-voice__story-body{color:var(--color-text-primary)}.card-empty{background-color:var(--color-bg-soft);border:none;border-radius:var(--radius-lg);padding:var(--space-6);text-align:center}.card-empty__icon{font-size:48px;margin-bottom:var(--space-3)}.card-article{display:flex;flex-direction:column;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base);text-decoration:none;color:inherit;height:100%}.card-article:hover{box-shadow:var(--shadow-lg)}.card-article:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.card-article__image{width:100%;aspect-ratio:16/9;object-fit:cover}.card-article__body{padding:var(--space-3);display:flex;flex-direction:column;flex-grow:1}.card-article__category{display:inline-block;padding:4px 12px;background-color:var(--color-accent-light);color:var(--color-accent-dark);border-radius:var(--radius-pill);font-size:12px;font-weight:700;margin-bottom:var(--space-2);align-self:flex-start}.card-article__title{font-size:15px;font-weight:700;line-height:1.5;color:var(--color-text-primary);margin-bottom:var(--space-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(min-width: 1280px){.card-article__title{font-size:16px}}.card-article__excerpt{font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--space-2);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.card-article__date{font-size:12px;color:var(--color-text-muted);margin-top:auto}.card-pillar{display:flex;flex-direction:column;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);transition:box-shadow var(--transition-base);text-decoration:none;color:inherit}.card-pillar:hover{box-shadow:var(--shadow-xl)}.card-pillar:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.card-pillar__image{width:100%;aspect-ratio:16/9;object-fit:cover}.card-pillar__body{padding:var(--space-4)}@media(min-width: 768px){.card-pillar__body{padding:var(--space-5)}}.card-pillar__badges{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.card-pillar__title{font-size:18px;font-weight:700;line-height:1.5;color:var(--color-text-primary);margin-bottom:var(--space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width: 1280px){.card-pillar__title{font-size:22px}}.card-pillar__excerpt{font-size:14px;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-pillar__meta{display:flex;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:12px;color:var(--color-text-muted)}.badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;white-space:nowrap}.badge--category{background-color:var(--color-accent-light);color:var(--color-accent-dark)}.badge--supervisor{background-color:rgba(0,0,0,0);color:var(--color-primary);border:1px solid var(--color-primary);padding:3px 11px;font-size:11px}.badge--alert{background-color:var(--color-alert);color:var(--color-text-inverse)}.num-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-start}@media(max-width: 767px){.num-badges{overflow-x:auto;flex-wrap:nowrap;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--container-padding)*-1);padding-inline:var(--container-padding);scrollbar-width:none}.num-badges::-webkit-scrollbar{display:none}}.num-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:80px;height:80px;background:var(--gradient-cta-green);color:var(--color-text-inverse);border-radius:var(--radius-pill);box-shadow:var(--shadow-cta);flex-shrink:0;scroll-snap-align:start}@media(min-width: 768px){.num-badge{width:96px;height:96px}}@media(min-width: 1280px){.num-badge{width:110px;height:110px}}.num-badge__icon{font-size:16px;margin-bottom:2px}@media(min-width: 1280px){.num-badge__icon{font-size:20px}}.num-badge__text{font-size:11px;font-weight:700;line-height:1.3}@media(min-width: 768px){.num-badge__text{font-size:12px}}@media(min-width: 1280px){.num-badge__text{font-size:13px}}.trust-badges{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;margin-top:var(--space-4)}.trust-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:6px 14px;background-color:hsla(0,0%,100%,.15);color:var(--color-text-inverse);border-radius:var(--radius-pill);font-size:12px;font-weight:700}.accordion__category{margin-bottom:var(--space-5)}.accordion__category-heading{font-size:16px;font-weight:700;color:var(--color-text-muted);letter-spacing:.05em;margin-bottom:var(--space-3)}@media(min-width: 1280px){.accordion__category-heading{font-size:18px}}.accordion__item{border-bottom:1px solid var(--color-border);background-color:var(--color-bg)}.accordion__item:first-child{border-top:1px solid var(--color-border)}.accordion__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-3);text-align:left;color:var(--color-text-primary);font-size:15px;font-weight:700;line-height:1.5;transition:background-color var(--transition-fast)}@media(min-width: 768px){.accordion__trigger{font-size:16px;padding:var(--space-4)}}.accordion__trigger:hover{background-color:var(--color-primary-wash)}.accordion__trigger:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.accordion__trigger-icon{flex-shrink:0;margin-left:var(--space-3);color:var(--color-accent);font-size:22px;font-weight:700;line-height:1;transition:transform var(--transition-base)}.accordion__trigger[aria-expanded=true] .accordion__trigger-icon{transform:rotate(45deg)}.accordion__panel{max-height:0;overflow:hidden;transition:max-height var(--transition-base);background-color:var(--color-bg-soft)}.accordion__panel[aria-hidden=false]{max-height:1000px}.accordion__panel-inner{padding:var(--space-3) var(--space-3) var(--space-4);font-size:14px;line-height:var(--line-height-relaxed);color:var(--color-text-primary)}@media(min-width: 768px){.accordion__panel-inner{font-size:15px;padding:var(--space-3) var(--space-4) var(--space-4)}}@media(prefers-reduced-motion: reduce){.accordion__panel{transition:none}.accordion__trigger-icon{transition:none}}.header{position:sticky;top:0;z-index:var(--z-header);width:100%;height:60px;background-color:var(--color-bg);box-shadow:0 2px 8px rgba(0,0,0,.08);transition:box-shadow var(--transition-fast)}@media(min-width: 768px){.header{height:70px}}@media(min-width: 1280px){.header{height:80px}}.header.is-scrolled{box-shadow:0 4px 16px rgba(0,0,0,.12)}.header__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.header__inner{padding-inline:24px}}.header__inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--space-3)}.header__logo{display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary);font-weight:700;font-size:18px}@media(min-width: 1280px){.header__logo{font-size:20px}}.header__logo:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.header__logo-mark{width:28px;height:28px}@media(min-width: 1280px){.header__logo-mark{width:32px;height:32px}}.header__nav{display:none}@media(min-width: 1280px){.header__nav{display:flex;align-items:center;gap:var(--space-5);flex-grow:1;justify-content:center}}.header__nav-item{position:relative}.header__nav-link{display:inline-flex;align-items:center;gap:var(--space-1);padding:8px 4px;color:var(--color-primary);font-weight:500;font-size:15px;transition:color var(--transition-fast)}.header__nav-link:hover{color:var(--color-accent)}.header__nav-link:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.header__nav-link--has-dropdown::after{content:"▾";font-size:10px;transition:transform var(--transition-fast)}.header__nav-link[aria-expanded=true]::after{transform:rotate(180deg)}.header__dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:240px;padding:var(--space-3);background-color:var(--color-bg);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(26,58,110,.15);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base)}.header__nav-item:hover .header__dropdown,.header__nav-item:focus-within .header__dropdown{opacity:1;visibility:visible;transform:translateY(0)}.header__dropdown-link{display:block;padding:8px 12px;color:var(--color-primary);font-size:14px;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.header__dropdown-link:hover{background-color:var(--color-primary-wash)}.header__megamenu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-8px);width:720px;padding:var(--space-5);background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(26,58,110,.15);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base);display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--space-4)}.header__nav-item:hover .header__megamenu,.header__nav-item:focus-within .header__megamenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.header__megamenu-col{display:flex;flex-direction:column;gap:var(--space-2)}.header__megamenu-heading{font-size:13px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.header__megamenu-link{padding:6px 8px;font-size:14px;color:var(--color-primary);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.header__megamenu-link:hover{background-color:var(--color-primary-wash)}.header__actions{display:flex;align-items:center;gap:var(--space-2)}.header__cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);background-color:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:700;transition:background-color var(--transition-fast),transform var(--transition-fast)}.header__cta:hover{background-color:var(--color-accent-dark);transform:translateY(-1px)}.header__cta:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.header__cta{width:36px;height:36px;font-size:18px}.header__cta-text{display:none}@media(min-width: 768px){.header__cta{width:auto;height:44px;padding:0 16px;font-size:14px}.header__cta .header__cta-text{display:inline}}@media(min-width: 1280px){.header__cta{height:48px;padding:0 20px;font-size:15px}}.header__menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background-color:rgba(0,0,0,0);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.header__menu-toggle:hover{background-color:var(--color-primary-wash)}.header__menu-toggle:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}@media(min-width: 1280px){.header__menu-toggle{display:none}}.header__menu-toggle-bar{display:block;width:24px;height:2px;background-color:var(--color-primary);transition:transform var(--transition-base),opacity var(--transition-base)}.header__menu-toggle-bar:not(:last-child){margin-bottom:5px}.header__menu-toggle[aria-expanded=true] .header__menu-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.header__menu-toggle[aria-expanded=true] .header__menu-toggle-bar:nth-child(2){opacity:0}.header__menu-toggle[aria-expanded=true] .header__menu-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.drawer{position:fixed;top:0;right:0;z-index:var(--z-menu);width:100%;max-width:360px;height:100dvh;background-color:var(--color-bg);box-shadow:-8px 0 32px rgba(0,0,0,.12);transform:translateX(100%);transition:transform var(--transition-slow);overflow-y:auto}.drawer.is-open{transform:translateX(0)}@media(min-width: 1280px){.drawer{display:none}}.drawer__overlay{position:fixed;inset:0;z-index:calc(var(--z-menu) - 1);background-color:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.drawer__overlay.is-open{opacity:1;visibility:visible}@media(min-width: 1280px){.drawer__overlay{display:none}}.drawer__inner{padding:var(--space-4)}.drawer__close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;margin-bottom:var(--space-3);font-size:24px;color:var(--color-primary);border-radius:var(--radius-md)}.drawer__close:hover{background-color:var(--color-primary-wash)}.drawer__close:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.drawer__cta{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:56px;margin-bottom:var(--space-5);background-color:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:700;font-size:16px}.drawer__cta:hover{background-color:var(--color-accent-dark)}.drawer__cta:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.drawer__nav{display:flex;flex-direction:column;gap:var(--space-4)}.drawer__group{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.drawer__group:last-of-type{border-bottom:none}.drawer__group-heading{font-size:13px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.drawer__link{display:block;padding:12px 8px;color:var(--color-primary);font-size:15px;font-weight:500;border-radius:var(--radius-sm)}.drawer__link:hover{background-color:var(--color-primary-wash)}.drawer__link:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.drawer__tel{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--color-primary);font-weight:700}body.is-drawer-open{overflow:hidden}.footer{background:var(--gradient-footer-dark);color:var(--color-text-inverse);padding-block:var(--space-7) var(--space-5)}@media(min-width: 1280px){.footer{padding-block:64px 32px}}.footer__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.footer__inner{padding-inline:24px}}.footer__top{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media(min-width: 768px){.footer__top{grid-template-columns:1fr 1fr}}@media(min-width: 1280px){.footer__top{grid-template-columns:1fr 1fr 1fr 1fr}}@media(min-width: 768px){.footer__brand{grid-column:1/-1}}@media(min-width: 1280px){.footer__brand{grid-column:auto}}.footer__logo{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-inverse);font-weight:700;font-size:20px;margin-bottom:var(--space-4)}.footer__logo:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.footer__cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:52px;padding:0 24px;background-color:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:700;font-size:15px;transition:background-color var(--transition-fast),transform var(--transition-fast)}@media(min-width: 768px){.footer__cta{max-width:240px}}@media(min-width: 1280px){.footer__cta{width:240px;height:56px}}.footer__cta:hover{background-color:var(--color-accent-dark);transform:translateY(-1px)}.footer__cta:focus-visible{outline:3px solid var(--color-bg);outline-offset:2px}@media(max-width: 767px){.footer__col{border-bottom:1px solid hsla(0,0%,100%,.15)}}.footer__col-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding-block:var(--space-3);color:var(--color-text-inverse);font-weight:700;font-size:15px;text-align:left}.footer__col-toggle:focus-visible{outline:3px solid var(--color-bg);outline-offset:2px}.footer__col-toggle::after{content:"+";font-size:20px;transition:transform var(--transition-base)}.footer__col-toggle[aria-expanded=true]::after{content:"−"}@media(min-width: 768px){.footer__col-toggle{pointer-events:none;cursor:default;padding-bottom:var(--space-3)}.footer__col-toggle::after{display:none}}.footer__col-list{display:none;padding-bottom:var(--space-3)}.footer__col-toggle[aria-expanded=true]+.footer__col-list{display:block}@media(min-width: 768px){.footer__col-list{display:block}}.footer__col-link{display:block;padding:8px 0;color:hsla(0,0%,100%,.85);font-size:14px;transition:color var(--transition-fast)}.footer__col-link:hover{color:var(--color-accent)}.footer__col-link:focus-visible{outline:3px solid var(--color-bg);outline-offset:2px}.footer__bottom{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid hsla(0,0%,100%,.15);display:flex;flex-direction:column;gap:var(--space-3)}@media(min-width: 768px){.footer__bottom{flex-direction:row;justify-content:space-between;align-items:center}}.footer__legal{display:flex;flex-wrap:wrap;gap:var(--space-3)}.footer__legal-link{color:hsla(0,0%,100%,.85);font-size:13px;transition:color var(--transition-fast)}.footer__legal-link:hover{color:var(--color-accent)}.footer__legal-link:focus-visible{outline:3px solid var(--color-bg);outline-offset:2px}.footer__disclaimer{color:hsla(0,0%,100%,.7);font-size:11px;line-height:1.7;margin-top:var(--space-3)}@media(min-width: 768px){.footer__disclaimer{font-size:12px}}.footer__copyright{color:hsla(0,0%,100%,.85);font-size:12px;text-align:right}@media(min-width: 768px){.footer__copyright{text-align:right}}.sticky-cta-mobile{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:60px;background-color:var(--color-accent);color:var(--color-text-inverse);font-weight:700;font-size:16px;text-decoration:none;box-shadow:0 -4px 16px rgba(0,0,0,.15)}.sticky-cta-mobile:hover{background-color:var(--color-accent-dark)}.sticky-cta-mobile:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@media(min-width: 768px){.sticky-cta-mobile{display:none}}.sticky-cta-spacer{height:60px;width:100%}@media(min-width: 768px){.sticky-cta-spacer{display:none}}.sticky-cta-pc{position:fixed;bottom:24px;right:24px;z-index:var(--z-sticky);display:none;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;height:56px;background-color:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-pill);font-size:10px;font-weight:700;text-decoration:none;box-shadow:0 4px 16px rgba(6,199,85,.35);opacity:0;visibility:hidden;transform:scale(0.8);transition:opacity var(--transition-slow),visibility var(--transition-slow),transform var(--transition-base),background-color var(--transition-fast)}@media(min-width: 768px){.sticky-cta-pc{display:flex;width:48px;height:48px}}@media(min-width: 1280px){.sticky-cta-pc{width:56px;height:56px}}.sticky-cta-pc.is-visible{opacity:1;visibility:visible;transform:scale(1)}.sticky-cta-pc:hover{background-color:var(--color-accent-dark);transform:scale(1.05)}.sticky-cta-pc:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.sticky-cta-pc__icon{font-size:22px;line-height:1}.sticky-cta-pc__label{font-size:9px;font-weight:700;letter-spacing:.05em}.popup-overlay{position:fixed;inset:0;z-index:var(--z-modal-overlay);background-color:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:var(--space-3);opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow)}.popup-overlay.is-open{opacity:1;visibility:visible}.popup{position:relative;z-index:var(--z-modal);width:100%;max-width:480px;background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:0 24px 48px rgba(0,0,0,.25);padding:var(--space-5);text-align:center;transform:translateY(24px);transition:transform var(--transition-slow)}.popup-overlay.is-open .popup{transform:translateY(0)}@media(max-width: 767px){.popup{padding:var(--space-4)}}@media(prefers-reduced-motion: reduce){.popup{transform:none !important}}.popup__close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-text-muted);font-size:20px;border-radius:var(--radius-md);transition:background-color var(--transition-fast),color var(--transition-fast)}.popup__close:hover{background-color:var(--color-bg-soft);color:var(--color-text-primary)}.popup__close:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.popup__title{font-size:18px;font-weight:700;color:var(--color-text-primary);line-height:1.5;margin-block:var(--space-3) var(--space-3)}@media(min-width: 768px){.popup__title{font-size:20px}}.popup__lead{font-size:14px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.popup__cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:56px;background-color:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:700;font-size:16px;transition:background-color var(--transition-fast),transform var(--transition-fast)}.popup__cta:hover{background-color:var(--color-accent-dark);transform:translateY(-1px)}.popup__cta:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.popup__note{font-size:12px;color:var(--color-text-muted);margin-top:var(--space-3)}.breadcrumb{z-index:var(--z-breadcrumb);background-color:var(--color-bg);border-bottom:1px solid var(--color-border)}.breadcrumb__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.breadcrumb__inner{padding-inline:24px}}.breadcrumb__inner{padding-block:12px}.breadcrumb__list{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-2);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.breadcrumb__list::-webkit-scrollbar{display:none}.breadcrumb__item{display:flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--color-text-muted);white-space:nowrap}@media(min-width: 768px){.breadcrumb__item{font-size:13px}}.breadcrumb__item:not(:last-child)::after{content:"›";margin-left:var(--space-2);color:var(--color-text-muted)}.breadcrumb__link{color:var(--color-text-muted);transition:color var(--transition-fast)}.breadcrumb__link:hover{color:var(--color-primary);text-decoration:underline}.breadcrumb__link:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.breadcrumb__current{color:var(--color-text-secondary);max-width:240px;overflow:hidden;text-overflow:ellipsis}@media(min-width: 768px){.breadcrumb__current{max-width:none}}.fv{background:var(--gradient-hero-soft);padding-block:var(--space-6)}@media(min-width: 1280px){.fv{padding-block:var(--space-7)}}.fv__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.fv__inner{padding-inline:24px}}.fv__inner{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media(min-width: 1280px){.fv__inner{grid-template-columns:1.1fr 1fr;gap:var(--space-6);align-items:center}}.fv__catch{margin-bottom:var(--space-3)}.fv__lead{color:var(--color-text-primary);margin-bottom:var(--space-4)}.fv__badges{margin-bottom:var(--space-5)}.fv__cta{display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch}@media(min-width: 768px){.fv__cta{flex-direction:row;align-items:center;flex-wrap:wrap}}.fv__visual{aspect-ratio:4/3;background-color:var(--color-primary-wash);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--color-primary-light);font-size:14px}.empathy__heading{text-align:center;margin-bottom:var(--space-6)}.empathy__bubbles{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-bottom:var(--space-6)}@media(min-width: 1280px){.empathy__bubbles{grid-template-columns:repeat(3, 1fr)}}.empathy__bubble{background-color:var(--color-bg);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-md)}.empathy__bubble-text{font-size:16px;font-weight:700;color:var(--color-text-primary);line-height:1.6;margin-bottom:var(--space-2)}@media(min-width: 1280px){.empathy__bubble-text{font-size:18px}}.empathy__bubble-note{font-size:12px;color:var(--color-text-secondary);line-height:1.6}@media(min-width: 1280px){.empathy__bubble-note{font-size:13px}}.empathy__bridge{text-align:center;max-width:720px;margin-inline:auto}.empathy__bridge-lead{font-size:22px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-3)}@media(min-width: 1280px){.empathy__bridge-lead{font-size:28px}}.empathy__bridge-body{font-size:15px;line-height:var(--line-height-relaxed)}@media(min-width: 1280px){.empathy__bridge-body{font-size:16px}}.solution__heading{text-align:center;margin-bottom:var(--space-3)}.solution__lead{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-6)}.solution__systems{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-5)}@media(min-width: 768px){.solution__systems{grid-template-columns:repeat(3, 1fr)}}.solution__system{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;box-shadow:var(--shadow-md)}.solution__system-icon{font-size:40px;margin-bottom:var(--space-2)}.solution__system-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}@media(min-width: 1280px){.solution__system-title{font-size:20px}}.solution__system-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-2)}.solution__system-amount{font-size:13px;font-weight:700;color:var(--color-accent-dark);padding:var(--space-2) var(--space-3);background-color:var(--color-accent-light);border-radius:var(--radius-md)}.solution__arrow{text-align:center;font-size:24px;color:var(--color-text-muted);margin-bottom:var(--space-3)}.solution__conclusion{background:var(--gradient-hero-soft);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;font-size:18px;font-weight:700;color:var(--color-text-primary);line-height:1.6}@media(min-width: 1280px){.solution__conclusion{font-size:22px;padding:var(--space-6)}}.solution__conclusion-note{font-size:13px;font-weight:400;color:var(--color-text-muted);margin-top:var(--space-2);display:block}.voices-preview__heading{text-align:center;margin-bottom:var(--space-6)}.voices-preview__list{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-bottom:var(--space-5)}@media(min-width: 768px){.voices-preview__list{grid-template-columns:repeat(3, 1fr)}}@media(max-width: 767px){.voices-preview__list{overflow-x:auto;grid-template-columns:80% 80% 80%;scroll-snap-type:x mandatory;margin-inline:calc(var(--container-padding)*-1);padding-inline:var(--container-padding);-webkit-overflow-scrolling:touch}.voices-preview__list>*{scroll-snap-align:start}}.voices-preview__note{text-align:center;color:var(--color-text-muted);font-size:12px;margin-bottom:var(--space-4)}.voices-preview__more{text-align:center}.support__heading{text-align:center;margin-bottom:var(--space-3)}.support__lead{text-align:center;max-width:720px;margin-inline:auto;margin-bottom:var(--space-6)}.support__items{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width: 768px){.support__items{grid-template-columns:repeat(3, 1fr)}}.support__item{background-color:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;box-shadow:var(--shadow-md)}.support__item-icon{font-size:48px;margin-bottom:var(--space-3)}.support__item-title{font-size:17px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}@media(min-width: 1280px){.support__item-title{font-size:18px}}.support__item-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.7}.benefits__heading{text-align:center;margin-bottom:var(--space-6)}.benefits__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width: 768px){.benefits__grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1280px){.benefits__grid{grid-template-columns:repeat(3, 1fr)}}.benefits__item{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.benefits__item-icon{font-size:40px;margin-bottom:var(--space-2)}.benefits__item-title{font-size:17px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}@media(min-width: 1280px){.benefits__item-title{font-size:18px}}.benefits__item-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.7}@media(min-width: 1280px){.benefits__item-desc{font-size:14px}}.plans__heading{text-align:center;margin-bottom:var(--space-3)}.plans__lead{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-6)}.plans__list{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-4)}@media(min-width: 1280px){.plans__list{grid-template-columns:repeat(4, 1fr)}}.plans__item{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);position:relative}.plans__item--highlight{background-color:var(--color-accent-light);border:2px solid var(--color-accent)}.plans__item-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 12px;background-color:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-pill);font-size:11px;font-weight:700;white-space:nowrap}.plans__item-name{font-size:18px;font-weight:700;color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.plans__item-row{display:flex;justify-content:space-between;align-items:flex-start;padding-block:var(--space-2);font-size:13px;gap:var(--space-2)}.plans__item-row-label{color:var(--color-text-muted);flex-shrink:0}.plans__item-row-value{font-weight:700;color:var(--color-text-primary);text-align:right}.plans__item-row-value--accent{color:var(--color-accent-dark)}.plans__notes{font-size:12px;color:var(--color-text-muted);line-height:1.7;background-color:var(--color-bg-soft);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.plans__notes li{padding-left:1em;text-indent:-1em;margin-bottom:var(--space-1)}.plans__notes li:last-child{margin-bottom:0}.plans__cta{text-align:center}.guarantee{text-align:center}.guarantee__icon{font-size:64px;margin-bottom:var(--space-3)}.guarantee__heading{color:var(--color-text-inverse);margin-bottom:var(--space-3)}.guarantee__body{color:var(--color-text-inverse);line-height:var(--line-height-relaxed);max-width:720px;margin-inline:auto;margin-bottom:var(--space-3)}.guarantee__note{color:hsla(0,0%,100%,.85);font-size:12px;margin-bottom:var(--space-4)}.mid-cta{text-align:center}.mid-cta__heading{color:var(--color-text-inverse);margin-bottom:var(--space-3)}.mid-cta__lead{color:var(--color-text-inverse);margin-bottom:var(--space-4)}.mid-cta__buttons{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}@media(min-width: 768px){.mid-cta__buttons{flex-direction:row;justify-content:center}}.mid-cta__primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:16px 32px;background-color:var(--color-bg);color:var(--color-accent-dark);border-radius:var(--radius-md);font-weight:700;font-size:16px;transition:transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 4px 12px rgba(0,0,0,.15)}.mid-cta__primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.mid-cta__primary:focus-visible{outline:3px solid var(--color-bg);outline-offset:2px}.mid-cta__tel{color:var(--color-text-inverse);font-weight:700}.flow__heading{text-align:center;margin-bottom:var(--space-6)}.flow__steps{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-4)}@media(min-width: 1280px){.flow__steps{grid-template-columns:repeat(7, 1fr);gap:var(--space-2)}}.flow__step{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;gap:var(--space-3)}@media(min-width: 1280px){.flow__step{flex-direction:column;text-align:center;padding:var(--space-3) var(--space-2);gap:var(--space-2)}}.flow__step-number{flex-shrink:0;width:40px;height:40px;background:var(--gradient-cta-green);color:var(--color-text-inverse);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}@media(min-width: 1280px){.flow__step-number{margin-inline:auto;width:48px;height:48px}}.flow__step-body{flex-grow:1}.flow__step-title{font-size:14px;font-weight:700;color:var(--color-text-primary);margin-bottom:2px}@media(min-width: 1280px){.flow__step-title{font-size:13px}}.flow__step-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-1)}.flow__step-timing{font-size:11px;font-weight:700;color:var(--color-accent-dark)}.flow__step4-detail{background-color:var(--color-bg-soft);border-radius:var(--radius-lg);padding:var(--space-4);font-size:14px;line-height:var(--line-height-relaxed);color:var(--color-text-primary);max-width:720px;margin-inline:auto;margin-bottom:var(--space-4)}.flow__note{text-align:center;color:var(--color-text-muted);font-size:13px}.supervision__heading{text-align:center;margin-bottom:var(--space-3)}.supervision__lead{text-align:center;color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:720px;margin-inline:auto;margin-bottom:var(--space-6)}.supervision__items{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width: 768px){.supervision__items{grid-template-columns:repeat(3, 1fr)}}.supervision__item{background-color:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;box-shadow:var(--shadow-md)}.supervision__item-icon{font-size:48px;margin-bottom:var(--space-2)}.supervision__item-title{font-size:17px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}@media(min-width: 1280px){.supervision__item-title{font-size:18px}}.supervision__item-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.7}.faq-preview__heading{text-align:center;margin-bottom:var(--space-6)}.faq-preview__container{max-width:880px;margin-inline:auto}.closing{text-align:center}.closing__heading{color:var(--color-text-inverse);margin-bottom:var(--space-3)}.closing__lead{color:var(--color-text-inverse);margin-bottom:var(--space-5)}.service-fv{background:var(--gradient-hero-soft);padding-block:var(--space-6)}@media(min-width: 1280px){.service-fv{padding-block:var(--space-7)}}.service-fv__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.service-fv__inner{padding-inline:24px}}.service-fv__inner{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media(min-width: 1280px){.service-fv__inner{grid-template-columns:1fr 1fr;align-items:center}}.service-fv__catch{margin-bottom:var(--space-3)}.service-fv__lead{margin-bottom:var(--space-4)}.service-fv__badges{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-2);margin-bottom:var(--space-4)}@media(min-width: 768px){.service-fv__badges{grid-template-columns:repeat(4, 1fr)}}.service-fv__badge{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-3) var(--space-2);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.service-fv__badge-icon{font-size:24px;margin-bottom:var(--space-1)}.service-fv__badge-text{font-size:12px;font-weight:700;color:var(--color-text-primary)}.service-fv__cta{display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch}@media(min-width: 768px){.service-fv__cta{flex-direction:row;align-items:center}}.service-fv__visual{aspect-ratio:4/3;background-color:var(--color-primary-wash);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--color-primary-light);font-size:14px}.periods__heading{text-align:center;margin-bottom:var(--space-3)}.periods__lead{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-6)}.periods__list{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-3)}@media(min-width: 768px){.periods__list{grid-template-columns:repeat(5, 1fr)}}.periods__item{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3);text-align:center;transition:box-shadow var(--transition-base)}.periods__item:hover{box-shadow:var(--shadow-md)}.periods__item-period{font-size:22px;font-weight:700;color:var(--color-accent-dark);line-height:1;margin-bottom:var(--space-1)}@media(min-width: 1280px){.periods__item-period{font-size:28px}}.periods__item-target{font-size:11px;color:var(--color-text-muted);margin-bottom:var(--space-2)}.periods__item-desc{font-size:13px;font-weight:700;color:var(--color-text-primary);line-height:1.5}.periods__note{font-size:12px;color:var(--color-text-muted);text-align:center;margin-top:var(--space-4)}.voices-fv{background:var(--gradient-hero-soft);padding-block:var(--space-6)}.voices-fv__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.voices-fv__inner{padding-inline:24px}}.voices-fv__inner{text-align:center}.voices-fv__catch{margin-bottom:var(--space-3)}.voices-fv__lead{margin-bottom:var(--space-4);color:var(--color-text-secondary)}.voices-fv__highlights{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}@media(max-width: 767px){.voices-fv__highlights{gap:var(--space-2)}}.voices-fv__hl{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background:var(--gradient-cta-green);color:var(--color-text-inverse);box-shadow:var(--shadow-cta)}@media(min-width: 768px){.voices-fv__hl{width:140px;height:140px}}.voices-fv__hl-amount{font-size:16px;font-weight:700;line-height:1}@media(min-width: 768px){.voices-fv__hl-amount{font-size:22px}}.voices-fv__hl-job{font-size:10px;font-weight:700;margin-top:4px}@media(min-width: 768px){.voices-fv__hl-job{font-size:12px}}.voices-fv__cta{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}@media(min-width: 768px){.voices-fv__cta{flex-direction:row;justify-content:center}}.voices-summary__list{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width: 768px){.voices-summary__list{grid-template-columns:repeat(3, 1fr)}}.voices-summary__item{background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow var(--transition-base)}.voices-summary__item:hover{box-shadow:var(--shadow-lg)}.voices-summary__item:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.voices-summary__item-img{aspect-ratio:4/3;background-color:var(--color-primary-wash);display:flex;align-items:center;justify-content:center;color:var(--color-primary-light);font-weight:700}.voices-summary__item-body{padding:var(--space-3)}.voices-summary__item-job{font-size:13px;color:var(--color-text-muted);margin-bottom:var(--space-1)}.voices-summary__item-amount{font-size:24px;font-weight:700;color:var(--color-accent);margin-bottom:var(--space-1)}@media(min-width: 1280px){.voices-summary__item-amount{font-size:28px}}.voices-summary__item-reason{font-size:13px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.voices-summary__item-jump{font-size:13px;color:var(--color-accent-dark);font-weight:700}.voice-detail{background-color:var(--color-bg);border-bottom:1px solid var(--color-border)}.voice-detail--soft{background-color:var(--color-bg-soft)}.voice-detail__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.voice-detail__inner{padding-inline:24px}}.voice-detail__inner{display:grid;grid-template-columns:1fr;gap:var(--space-4);padding-block:var(--space-7)}@media(min-width: 1280px){.voice-detail__inner{grid-template-columns:2fr 3fr;gap:var(--space-6);padding-block:var(--space-8)}}.voice-detail__img{aspect-ratio:4/3;background-color:var(--color-primary-wash);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-primary-light);font-weight:700;position:relative}.voice-detail__head{font-size:13px;color:var(--color-text-muted);margin-bottom:var(--space-2)}.voice-detail__amount{font-size:36px;font-weight:700;color:var(--color-accent);line-height:1;margin-bottom:var(--space-2)}@media(min-width: 1280px){.voice-detail__amount{font-size:48px}}.voice-detail__amount span{font-size:14px;color:var(--color-text-primary);font-weight:400;margin-left:var(--space-2)}.voice-detail__breakdown{font-size:13px;color:var(--color-text-muted);margin-bottom:var(--space-3)}.voice-detail__story-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}@media(min-width: 1280px){.voice-detail__story-title{font-size:20px}}.voice-detail__story-body{font-size:14px;line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin-bottom:var(--space-4)}.voice-detail__story-body p+p{margin-top:var(--space-2)}.voice-detail__cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:12px 20px;background-color:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:700;font-size:14px;transition:background-color var(--transition-fast)}.voice-detail__cta:hover{background-color:var(--color-accent-dark)}.voice-detail__cta:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.voices-shared__heading{text-align:center;margin-bottom:var(--space-6)}.voices-shared__items{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width: 768px){.voices-shared__items{grid-template-columns:repeat(3, 1fr)}}.voices-shared__item{text-align:center;background-color:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md)}.voices-shared__item-icon{font-size:48px;margin-bottom:var(--space-2)}.voices-shared__item-title{font-size:17px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2)}.voices-shared__item-desc{font-size:13px;color:var(--color-text-secondary);line-height:var(--line-height-normal)}.faq-fv{background:var(--gradient-hero-soft);padding-block:var(--space-6)}.faq-fv__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.faq-fv__inner{padding-inline:24px}}.faq-fv__inner{text-align:center}.faq-fv__catch{margin-bottom:var(--space-3)}.faq-fv__lead{margin-bottom:var(--space-4);color:var(--color-text-secondary)}.faq-fv__cta{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}@media(min-width: 768px){.faq-fv__cta{flex-direction:row;justify-content:center}}.faq-chips__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.faq-chips__inner{padding-inline:24px}}.faq-chips__inner{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);padding-block:var(--space-5)}.faq-chips__chip{display:inline-block;padding:8px 16px;background-color:var(--color-bg);color:var(--color-primary);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:13px;font-weight:700;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.faq-chips__chip:hover{background-color:var(--color-primary-wash);border-color:var(--color-primary)}.faq-chips__chip:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.faq-body__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.faq-body__inner{padding-inline:24px}}.faq-body__inner{max-width:920px}.faq-related__heading{text-align:center;margin-bottom:var(--space-6)}.faq-related__list{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width: 768px){.faq-related__list{grid-template-columns:repeat(3, 1fr)}}.faq-related__item{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);text-decoration:none;color:inherit;transition:box-shadow var(--transition-base),transform var(--transition-base)}.faq-related__item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.faq-related__item:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.faq-related__item-title{font-size:16px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-1)}.faq-related__item-desc{font-size:13px;color:var(--color-text-secondary);line-height:var(--line-height-normal)}.company-fv{background:var(--gradient-hero-soft);padding-block:var(--space-6)}.company-fv__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.company-fv__inner{padding-inline:24px}}.company-fv__inner{text-align:center}.company-fv__catch{margin-bottom:var(--space-3)}.company-fv__lead{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:720px;margin-inline:auto}.company-overview__heading{text-align:center;margin-bottom:var(--space-6)}.company-overview__table{width:100%;max-width:880px;margin-inline:auto;border-collapse:collapse}.company-overview__table th,.company-overview__table td{padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);font-size:14px;line-height:var(--line-height-normal);vertical-align:top;text-align:left}@media(min-width: 768px){.company-overview__table th,.company-overview__table td{padding:var(--space-3) var(--space-4);font-size:15px}}.company-overview__table th{width:140px;background-color:var(--color-bg-soft);color:var(--color-text-primary);font-weight:700}@media(min-width: 768px){.company-overview__table th{width:200px}}.company-overview__table td{color:var(--color-text-primary)}.company-access__heading{text-align:center;margin-bottom:var(--space-6)}.company-access__inner{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width: 768px){.company-access__inner{grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:center}}.company-access__map{aspect-ratio:4/3;background-color:var(--color-primary-wash);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.company-access__info{display:flex;flex-direction:column;gap:var(--space-3)}.company-access__addr{font-size:16px;font-weight:700;color:var(--color-text-primary);line-height:var(--line-height-relaxed)}.company-access__stations-title{font-size:14px;font-weight:700;color:var(--color-text-muted)}.company-access__stations{list-style:disc;padding-left:1.5em;color:var(--color-text-primary);font-size:14px;line-height:var(--line-height-normal)}.company-access__stations li+li{margin-top:4px}.company-access__note{font-size:12px;color:var(--color-text-muted);margin-top:var(--space-3)}.column-fv{background:var(--gradient-hero-soft);padding-block:var(--space-6)}.column-fv__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.column-fv__inner{padding-inline:24px}}.column-fv__inner{text-align:center}.column-fv__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--space-3);background-color:var(--color-accent-light);border-radius:50%;font-size:32px}@media(min-width: 768px){.column-fv__icon{width:80px;height:80px;font-size:40px}}.column-fv__catch{margin-bottom:var(--space-3)}.column-fv__lead{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:720px;margin-inline:auto;margin-bottom:var(--space-4)}.column-fv__search{max-width:480px;margin-inline:auto;position:relative}.column-fv__search-input{width:100%;padding:14px 20px 14px 44px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-bg);font-size:15px}.column-fv__search-input:focus{outline:2px solid var(--color-accent);outline-offset:2px}.column-fv__search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--color-text-muted)}.column-cats__heading{text-align:center;margin-bottom:var(--space-6)}.column-cats__grid{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width: 768px){.column-cats__grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1280px){.column-cats__grid{grid-template-columns:repeat(3, 1fr)}}.column-cats__item{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;text-decoration:none;color:inherit;transition:box-shadow var(--transition-base),transform var(--transition-base)}.column-cats__item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.column-cats__item:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.column-cats__item-icon{font-size:40px;margin-bottom:var(--space-2)}.column-cats__item-title{font-size:16px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-1)}@media(min-width: 1280px){.column-cats__item-title{font-size:17px}}.column-cats__item-count{font-size:12px;color:var(--color-text-muted)}.column-pillar__heading{text-align:center;margin-bottom:var(--space-6)}.column-recent__heading{text-align:center;margin-bottom:var(--space-6)}.column-recent__list{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width: 768px){.column-recent__list{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1280px){.column-recent__list{grid-template-columns:repeat(3, 1fr)}}.article-header{background-color:var(--color-bg)}.article-header__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.article-header__inner{padding-inline:24px}}.article-header__inner{max-width:920px;padding-block:var(--space-6) var(--space-5)}.article-header__badges{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.article-header__title{font-size:22px;font-weight:700;line-height:1.5;color:var(--color-text-primary);margin-bottom:var(--space-3)}@media(min-width: 768px){.article-header__title{font-size:28px}}@media(min-width: 1280px){.article-header__title{font-size:32px}}.article-header__meta{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--color-text-muted);font-size:13px;margin-bottom:var(--space-4)}.article-header__eyecatch{aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-primary-wash);display:flex;align-items:center;justify-content:center;color:var(--color-primary-light)}.article-toc{background-color:var(--color-bg-soft);border-radius:var(--radius-lg);padding:var(--space-4);margin-block:var(--space-5)}.article-toc__heading{font-size:14px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.article-toc__list{display:flex;flex-direction:column;gap:var(--space-1);list-style:none;padding:0;margin:0;counter-reset:toc}.article-toc__item{counter-increment:toc;font-size:14px;line-height:var(--line-height-normal)}.article-toc__item::before{content:counter(toc) ". ";color:var(--color-text-muted);font-weight:700}.article-toc__item a{color:var(--color-primary);text-decoration:none}.article-toc__item a:hover{text-decoration:underline}.article-body{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.article-body{padding-inline:24px}}.article-body{max-width:720px;padding-block:var(--space-5) var(--space-6)}.article-body h2{font-size:22px;font-weight:700;color:var(--color-text-primary);margin-block:var(--space-7) var(--space-3);padding-left:var(--space-3);border-left:4px solid var(--color-accent)}@media(min-width: 1280px){.article-body h2{font-size:28px}}.article-body h3{font-size:18px;font-weight:700;color:var(--color-text-primary);margin-block:var(--space-6) var(--space-2)}@media(min-width: 1280px){.article-body h3{font-size:22px}}.article-body p{font-size:16px;line-height:1.85;color:var(--color-text-primary);margin-bottom:var(--space-3)}@media(min-width: 768px){.article-body p{font-size:17px}}.article-body ul,.article-body ol{margin-block:var(--space-3);padding-left:1.5em}.article-body ul li,.article-body ol li{margin-bottom:var(--space-1);line-height:var(--line-height-relaxed)}.article-body blockquote{border-left:4px solid var(--color-primary-light);background-color:var(--color-bg-soft);padding:var(--space-3) var(--space-4);margin-block:var(--space-4);color:var(--color-text-primary)}.article-body blockquote cite{display:block;margin-top:var(--space-2);font-size:13px;color:var(--color-text-muted);font-style:normal}.article-body a{color:var(--color-primary);text-decoration:underline}.article-body a:hover{color:var(--color-primary-light)}.article-cta{margin-block:var(--space-7)}.article-cta__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.article-cta__inner{padding-inline:24px}}.article-cta__inner{max-width:920px}.article-cta__box{background:var(--gradient-cta-green);color:var(--color-text-inverse);border-radius:var(--radius-xl);padding:var(--space-5);text-align:center}.article-cta__title{font-size:22px;font-weight:700;margin-bottom:var(--space-2)}@media(min-width: 1280px){.article-cta__title{font-size:26px}}.article-cta__lead{margin-bottom:var(--space-4)}.article-signature{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.article-signature{padding-inline:24px}}.article-signature{max-width:720px;background-color:var(--color-bg-soft);border-radius:var(--radius-lg);padding:var(--space-4);margin-block:var(--space-5);font-size:13px;color:var(--color-text-secondary);line-height:var(--line-height-normal)}.article-signature>p+p{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.article-related{background-color:var(--color-bg-soft)}.article-related__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.article-related__inner{padding-inline:24px}}.article-related__inner{padding-block:var(--space-7)}.article-related__heading{text-align:center;margin-bottom:var(--space-5)}.article-related__list{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width: 768px){.article-related__list{grid-template-columns:repeat(3, 1fr)}}.legal-fv{background:var(--gradient-hero-soft);padding-block:var(--space-5)}.legal-fv__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.legal-fv__inner{padding-inline:24px}}.legal-fv__inner{text-align:center}.legal-fv__title{margin-bottom:var(--space-2)}.legal-fv__date{color:var(--color-text-muted);font-size:13px}.legal-body{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.legal-body{padding-inline:24px}}.legal-body{max-width:920px;padding-block:var(--space-6)}.legal-body h2{font-size:20px;font-weight:700;color:var(--color-text-primary);margin-block:var(--space-6) var(--space-3)}@media(min-width: 1280px){.legal-body h2{font-size:22px}}.legal-body h3{font-size:16px;font-weight:700;color:var(--color-text-primary);margin-block:var(--space-4) var(--space-2)}@media(min-width: 1280px){.legal-body h3{font-size:18px}}.legal-body p{font-size:14px;line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin-bottom:var(--space-3)}@media(min-width: 768px){.legal-body p{font-size:15px}}.legal-body ol,.legal-body ul{margin-block:var(--space-3);padding-left:1.5em}.legal-body ol li,.legal-body ul li{margin-bottom:var(--space-1);line-height:var(--line-height-relaxed);font-size:14px}@media(min-width: 768px){.legal-body ol li,.legal-body ul li{font-size:15px}}.legal-body table{width:100%;border-collapse:collapse;margin-block:var(--space-4)}.legal-body table th,.legal-body table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);font-size:14px;vertical-align:top;text-align:left}.legal-body table th{width:200px;background-color:var(--color-bg-soft);color:var(--color-text-primary);font-weight:700}.legal-contact{background-color:var(--color-bg-soft)}.legal-contact__inner{width:100%;max-width:1168px;margin-inline:auto;padding-inline:16px}@media(min-width: 768px){.legal-contact__inner{padding-inline:24px}}.legal-contact__inner{max-width:720px;padding-block:var(--space-6);text-align:center}.legal-contact__title{margin-bottom:var(--space-2)}.legal-contact__lead{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.legal-contact__cta{display:flex;flex-direction:column;gap:var(--space-3);align-items:center}@media(min-width: 768px){.legal-contact__cta{flex-direction:row;justify-content:center}}

.fv__visual{background-color:transparent;overflow:hidden;padding:0;align-items:stretch;justify-content:stretch}
.fv__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center;border-radius:inherit}
@media (max-width:767px){.fv__visual{aspect-ratio:5/4}.fv__visual img{object-position:65% center}}


/* === Logo image (header/footer) === */
.header__logo img{display:block;height:auto;max-height:42px;width:auto}
.footer__logo img{display:block;height:auto;max-height:50px;width:auto}
@media (max-width:767px){.header__logo img{max-height:34px}}

/* === FV v2 (案B 大判タイポ余白美) overrides === */
.fv{background:#F8F9FB;position:relative;overflow:hidden;padding:0}
.fv__inner{display:grid;grid-template-columns:1.7fr 1fr;gap:56px;max-width:1280px;margin:0 auto;padding:96px 56px 80px;align-items:center;min-height:auto}
.fv__body{padding:0}
.fv__catch{font-size:64px;line-height:1.4;font-weight:900;letter-spacing:-0.01em;color:#1A3A6E;margin:0 0 24px}
.fv__catch--small{display:block;font-size:32px;font-weight:700;margin-top:14px;letter-spacing:-0.005em;line-height:1.5}
.fv__catch .accent{background:linear-gradient(transparent 60%,rgba(124,169,135,0.40) 60% 92%,transparent 92%);padding:0 6px}
.fv__hairline{border:0;border-top:1px solid rgba(26,58,110,0.18);margin:36px 0 24px;width:60%}
.fv__lead{font-size:16px;line-height:1.95;color:#1A3A6E;margin:0 0 32px;font-weight:500}
.fv__lead .alert{color:#E74C3C;font-weight:700}
.fv__markers{display:flex;align-items:center;gap:28px;margin:0 0 40px;list-style:none;padding:0}
.fv__markers li{font-size:16px;font-weight:800;color:#1A3A6E;position:relative;letter-spacing:0.02em}
.fv__markers li:not(:last-child)::after{content:"";position:absolute;right:-16px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:rgba(26,58,110,0.35)}
.fv__cta{display:inline-flex;align-items:center;gap:12px;background:#06C755;color:#fff;padding:18px 36px;border-radius:9999px;font-size:17px;font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(6,199,85,0.30),0 2px 6px rgba(6,199,85,0.18);letter-spacing:0.02em;transition:transform 0.2s,box-shadow 0.2s}
.fv__cta:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(6,199,85,0.40);color:#fff}
.fv__line-icon{width:26px;height:26px;border-radius:50%;background:#fff;color:#06C755;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;flex-shrink:0}
.fv__visual{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:3/4;background:transparent;padding:0;align-self:stretch;height:auto;min-height:520px;align-items:stretch;justify-content:stretch}
.fv__visual img{width:100%;height:100%;object-fit:cover;object-position:65% center;display:block;border-radius:inherit}
@media (max-width:1024px){.fv__catch{font-size:52px}.fv__catch--small{font-size:26px}.fv__inner{padding:80px 32px 64px;gap:40px}.fv__visual{min-height:440px}}
@media (max-width:767px){.fv__inner{grid-template-columns:1fr;padding:64px 20px 48px;gap:28px}.fv__catch{font-size:34px;line-height:1.45}.fv__catch--small{font-size:20px}.fv__hairline{width:100%;margin:24px 0 18px}.fv__lead{font-size:15px;line-height:1.85}.fv__markers{gap:22px;flex-wrap:wrap}.fv__markers li{font-size:14px}.fv__visual{aspect-ratio:16/10;min-height:auto}.fv__cta{padding:16px 28px;font-size:16px}}

/* === FV v3 (フルブリード背景＋クリームベール) — 累積制約「FV全体に画像」遵守 === */
.fv{position:relative;overflow:hidden;background:#F8F9FB;min-height:620px}
.fv__visual{position:absolute;inset:0;z-index:0;margin:0;padding:0;border-radius:0;aspect-ratio:auto;min-height:0;align-self:auto;height:auto;align-items:stretch;justify-content:stretch}
.fv__visual img{width:100%;height:100%;object-fit:cover;object-position:center right;border-radius:0}
.fv::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(248,249,251,0.97) 0%,rgba(248,249,251,0.95) 30%,rgba(248,249,251,0.78) 50%,rgba(248,249,251,0.32) 70%,rgba(248,249,251,0.00) 85%);pointer-events:none}
.fv__inner{position:relative;z-index:2;display:block;grid-template-columns:none;max-width:1280px;margin:0 auto;padding:104px 56px 96px;min-height:620px;gap:0;align-items:flex-start}
.fv__body{max-width:600px;padding:0}
@media (max-width:1024px){.fv{min-height:560px}.fv__inner{padding:88px 32px 80px;min-height:560px}.fv__body{max-width:520px}}
@media (max-width:767px){.fv{min-height:auto}.fv::before{background:linear-gradient(180deg,rgba(248,249,251,0.96) 0%,rgba(248,249,251,0.85) 38%,rgba(248,249,251,0.50) 62%,rgba(248,249,251,0.18) 90%)}.fv__inner{padding:72px 20px 64px;min-height:540px}.fv__body{max-width:100%}.fv__visual img{object-position:center 22%}}

/* === FV CTA: 1行固定＋LINEアイコン画像対応 === */
.fv__cta{white-space:nowrap;flex-wrap:nowrap}
.fv__cta .fv__line-icon{width:26px;height:26px;flex-shrink:0;display:block;background:transparent;border-radius:0}
.fv__cta-text{display:inline-block;white-space:nowrap}

/* === SP: テキスト・CTAを中央揃え === */
@media (max-width:767px){
  .fv__body{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:100%}
  .fv__catch{text-align:center}
  .fv__catch--small{text-align:center}
  .fv__hairline{margin-left:auto;margin-right:auto;width:80%}
  .fv__lead{text-align:center;margin-left:auto;margin-right:auto}
  .fv__markers{justify-content:center;flex-wrap:wrap;gap:18px 22px}
  .fv__cta{align-self:center;font-size:15px;padding:15px 24px}
}

/* === LINEアイコン: 緑CTA背景上での視認性確保 === */
.fv__cta .fv__line-icon{background:#fff;border-radius:6px;padding:2px;width:24px;height:24px;box-shadow:0 1px 3px rgba(0,0,0,0.12)}

/* === 全LINE CTA共通アイコン: 背景同化＋em単位サイズ === */
.line-icon{width:1.4em;height:1.4em;display:inline-block;vertical-align:middle;flex-shrink:0;margin-right:0.5em;border-radius:5px;background:transparent;padding:0;box-shadow:none}
/* FV CTAだけ少し大きく */
.fv__cta .line-icon{width:1.7em;height:1.7em;margin-right:0.6em}
/* 既存 .fv__line-icon の白背景を打ち消し（バックワード互換） */
.fv__cta .fv__line-icon,.fv__cta img.fv__line-icon{background:transparent;padding:0;box-shadow:none;width:1.7em;height:1.7em;border-radius:5px}
/* ヘッダー・フッター・ドロワー等の小型CTA向け微調整 */
.header__cta .line-icon{width:1.2em;height:1.2em;margin-right:0.3em}
.sticky-cta-pc__icon img.line-icon,.sticky-cta__icon img.line-icon{margin-right:0}
/* FV数値マーカー: サブコピーと重複訴求のため非表示 */
.fv__markers{display:none}

/* === 共感セクション (lp-tone-manner.md §10.5 例外: イラストなし参考スクショ忠実) === */
.empathy{background:#EFEFF1;padding:104px 0 88px;position:relative}
.empathy .container{max-width:1080px;margin:0 auto;padding:0 24px}
.empathy__heading-bubble{position:relative;background:#fff;border-radius:100px;padding:36px 56px;max-width:720px;margin:0 auto 80px;box-shadow:0 8px 28px rgba(34,34,34,0.08),0 2px 6px rgba(34,34,34,0.06);text-align:center}
.empathy__heading-bubble::after{content:"";position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:18px solid #fff;filter:drop-shadow(0 6px 4px rgba(34,34,34,0.06))}
.empathy__heading{font-size:32px;font-weight:900;color:#222;line-height:1.5;margin:0;letter-spacing:0.02em}
.empathy__heading .accent-red{color:#E74C3C}
.empathy__bubbles{list-style:none;padding:0;margin:0 auto 72px;display:flex;flex-direction:column;gap:24px}
.empathy__bubble{background:#fff;border-radius:9999px;padding:24px 44px;box-shadow:0 6px 20px rgba(34,34,34,0.08),0 1px 4px rgba(34,34,34,0.06);font-size:18px;font-weight:700;color:#222;max-width:560px;text-align:center;letter-spacing:0.01em}
.empathy__bubble--left{align-self:flex-start;margin-left:4%}
.empathy__bubble--right{align-self:flex-end;margin-right:4%}
.empathy__bridge{text-align:center;margin-top:56px}
.empathy__bridge-lead{font-size:26px;font-weight:800;color:#1A3A6E;margin:0 0 18px;letter-spacing:0.01em}
.empathy__bridge-body{font-size:16px;line-height:1.9;color:#1A3A6E;margin:0 auto;max-width:720px;font-weight:500}
@media (max-width:1024px){.empathy__heading{font-size:28px}.empathy__bubble{font-size:16px;padding:22px 36px;max-width:480px}}
@media (max-width:767px){.empathy{padding:72px 0 64px}.empathy__heading-bubble{padding:24px 28px;max-width:92%;margin-bottom:56px;border-radius:24px}.empathy__heading-bubble::after{bottom:-14px;border-left-width:14px;border-right-width:14px;border-top-width:14px}.empathy__heading{font-size:21px;line-height:1.55}.empathy__bubbles{gap:18px;margin-bottom:48px}.empathy__bubble{padding:18px 22px;font-size:14px;max-width:100%;border-radius:24px}.empathy__bubble--left,.empathy__bubble--right{align-self:stretch;margin:0}.empathy__bridge{margin-top:40px}.empathy__bridge-lead{font-size:20px}.empathy__bridge-body{font-size:14px}}

/* === 共感セクション 下端V字あしらい (参考画像: ボトムを▼形にカットし次セクションへ視線誘導) === */
.empathy{padding-bottom:144px;clip-path:polygon(0 0,100% 0,100% calc(100% - 64px),50% 100%,0 calc(100% - 64px))}
@media (max-width:767px){.empathy{padding-bottom:104px;clip-path:polygon(0 0,100% 0,100% calc(100% - 36px),50% 100%,0 calc(100% - 36px))}}

/* === 共感セクション 吹き出し画像版 + ブリッジ別セクション === */
.empathy__bubbles-image{max-width:960px;margin:0 auto;padding:0 16px}
.empathy__bubbles-image img{display:block;width:100%;height:auto;max-width:100%}
/* 旧 .empathy__bubbles の HTMLバージョンを念のため隠す（後方互換） */
.empathy__bubbles{display:none}

/* === ブリッジセクション（共感→解決） 白背景 === */
.bridge{background:#fff;padding:72px 0 88px;text-align:center}
.bridge .container{max-width:720px;margin:0 auto;padding:0 24px}
.bridge__lead{font-size:30px;font-weight:900;color:#1A3A6E;margin:0 0 18px;letter-spacing:0.01em;line-height:1.5}
.bridge__brand{position:relative;display:inline-block}
.bridge__brand::after{content:"";position:absolute;left:-2px;right:-2px;bottom:2px;height:10px;background:rgba(6,199,85,0.22);z-index:-1;border-radius:4px}
.bridge__body{font-size:16px;line-height:1.95;color:#1A3A6E;margin:0;font-weight:500}
@media (max-width:767px){.bridge{padding:48px 0 56px}.bridge__lead{font-size:22px}.bridge__body{font-size:14px}}

/* === 共感セクション 吹き出し: 横並び3つに変更（縦スペース削減） === */
.empathy__bubbles{display:flex;flex-direction:row;justify-content:center;align-items:stretch;gap:20px;flex-wrap:wrap;max-width:1080px;margin:0 auto 0;padding:0;list-style:none}
.empathy__bubble{background:#fff;border-radius:12px;padding:22px 24px;box-shadow:0 6px 20px rgba(34,34,34,0.08),0 1px 4px rgba(34,34,34,0.06);font-size:16px;font-weight:700;color:#222;flex:1 1 280px;max-width:340px;text-align:center;letter-spacing:0.01em;line-height:1.6;display:flex;align-items:center;justify-content:center;align-self:auto;margin:0}
.empathy__bubble--left,.empathy__bubble--right{align-self:auto;margin:0}
.empathy__bubbles-image{display:none}
@media (max-width:1024px){.empathy__bubble{font-size:14px;padding:18px 20px;flex:1 1 220px}}
@media (max-width:767px){.empathy__bubbles{flex-direction:column;gap:14px;max-width:92%}.empathy__bubble{font-size:14px;padding:16px 20px;max-width:100%;border-radius:14px}.empathy__bubble--left,.empathy__bubble--right{align-self:stretch}}

/* 共感セクションのpadding-bottomを微調整（縦余白削減） */
.empathy{padding:88px 0 120px}
@media (max-width:767px){.empathy{padding:60px 0 84px}}

/* === 解決策・3制度フル活用セクション (curriculum風) === */
.benefits{background:#FAFAFA;padding:96px 0 88px;position:relative}
.benefits .container{max-width:1100px;margin:0 auto;padding:0 24px;text-align:center}
.benefits__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.benefits__heading{font-size:34px;font-weight:800;color:#1A3A6E;line-height:1.55;margin:0 0 16px;letter-spacing:0.02em}
.benefits__heading-emphasis{position:relative;display:inline-block}
.benefits__heading-emphasis::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:#C9A24C;opacity:0.7}
.benefits__lead{font-size:15px;color:#6B7280;margin:0 0 56px;line-height:1.85;font-weight:500}

.benefits__cards{display:flex;gap:24px;justify-content:center;align-items:stretch;margin:0 auto 48px;max-width:980px}
.benefits__card{flex:1 1 0;background:#F8F4EA;border-radius:18px;padding:0 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 16px rgba(26,58,110,0.06)}
.benefits__ribbon{width:calc(100% + 16px);height:46px;margin-top:-12px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);position:relative}
.benefits__card--1 .benefits__ribbon{background:#7FB6B0}
.benefits__card--2 .benefits__ribbon{background:#C9C0B5}
.benefits__card--3 .benefits__ribbon{background:#D9A7A1}
.benefits__ribbon-text{font-size:16px;font-weight:800;color:#fff;letter-spacing:0.06em;padding-right:18px}
.benefits__card-desc{font-size:14px;color:#1A3A6E;line-height:1.7;margin:0 0 22px;font-weight:500;min-height:48px}
.benefits__badge{width:140px;height:140px;border-radius:50%;background:#fff;border:2px solid #1A3A6E;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;flex-shrink:0}
.benefits__badge-text{font-size:14px;font-weight:600;color:#1A3A6E;line-height:1.4;letter-spacing:-0.005em;text-align:center}
.benefits__badge-text strong{display:block;font-size:24px;font-weight:900;letter-spacing:-0.02em;margin:2px 0}
.benefits__badge-text small{font-size:12px;font-weight:700;display:inline-block;margin-top:2px}
.benefits__card-note{font-size:11px;color:#6B7280;margin:0;letter-spacing:0.02em;line-height:1.5}

.benefits__conclusion{font-size:18px;font-weight:600;color:#1A3A6E;margin:0 0 40px;line-height:1.7}
.benefits__conclusion strong{font-size:22px;font-weight:900;color:#1A3A6E;letter-spacing:0.01em}
.benefits__conclusion-note{font-size:12px;color:#6B7280;font-weight:500;margin-left:6px}

.benefits__cta-wrap{margin-top:8px;display:flex;justify-content:center}

@media (max-width:1024px){.benefits__heading{font-size:28px}.benefits__badge{width:128px;height:128px}.benefits__badge-text strong{font-size:22px}}
@media (max-width:767px){.benefits{padding:64px 0 64px}.benefits__heading{font-size:22px;line-height:1.5}.benefits__lead{font-size:13px;margin-bottom:40px}.benefits__cards{flex-direction:column;gap:32px;max-width:380px;margin:0 auto 36px}.benefits__card{padding:0 22px 24px}.benefits__card-desc{min-height:auto}.benefits__badge{width:130px;height:130px}.benefits__conclusion{font-size:15px;margin-bottom:32px}.benefits__conclusion strong{font-size:18px}}

/* === 受給事例セクション (curriculum風・3制度フル活用と統一) === */
.voices{background:#FAFAFA;padding:96px 0 88px;position:relative}
.voices .container{max-width:1100px;margin:0 auto;padding:0 24px;text-align:center}
.voices__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.voices__heading{font-size:34px;font-weight:800;color:#1A3A6E;line-height:1.55;margin:0 0 16px;letter-spacing:0.02em}
.voices__heading-emphasis{position:relative;display:inline-block}
.voices__heading-emphasis::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:#C9A24C;opacity:0.7}
.voices__lead{font-size:15px;color:#6B7280;margin:0 0 56px;line-height:1.85;font-weight:500}

.voices__cards{display:flex;gap:24px;justify-content:center;align-items:stretch;margin:0 auto 32px;max-width:1000px}
.voices__card{flex:1 1 0;background:#F8F4EA;border-radius:18px;padding:0 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 16px rgba(26,58,110,0.06)}
.voices__ribbon{width:calc(100% + 16px);height:46px;margin-top:-12px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%)}
.voices__card--1 .voices__ribbon{background:#7FB6B0}
.voices__card--2 .voices__ribbon{background:#D9A7A1}
.voices__card--3 .voices__ribbon{background:#C9C0B5}
.voices__ribbon-text{font-size:14px;font-weight:800;color:#fff;letter-spacing:0.05em;padding-right:18px}

.voices__avatar{width:140px;height:140px;border-radius:50%;background:#fff;border:2px solid #1A3A6E;overflow:hidden;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;flex-shrink:0}
.voices__avatar img{width:100%;height:100%;object-fit:cover;display:block}

.voices__amount{margin:0 0 4px;line-height:1}
.voices__amount-num{font-size:36px;font-weight:900;color:#1A3A6E;letter-spacing:-0.02em}
.voices__amount-unit{font-size:16px;font-weight:700;color:#1A3A6E;margin-left:2px}
.voices__breakdown{font-size:11px;color:#6B7280;margin:0 0 14px;letter-spacing:0.02em}

.voices__story-title{font-size:14px;font-weight:800;color:#1A3A6E;margin:0 0 10px;line-height:1.6;letter-spacing:0.01em;border-top:1px solid rgba(26,58,110,0.10);padding-top:14px;width:100%}
.voices__story-body{font-size:12px;color:#1A3A6E;line-height:1.8;margin:0;font-weight:500;text-align:left}

.voices__note{font-size:12px;color:#6B7280;margin:0 0 28px}

.voices__cta-wrap{margin-top:8px;display:flex;justify-content:center;margin-bottom:20px}
.voices__more{margin:0;text-align:center}
.voices__more-link{color:#1A3A6E;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.voices__more-link:hover{opacity:0.7}

@media (max-width:1024px){.voices__heading{font-size:28px}.voices__avatar{width:120px;height:120px}.voices__amount-num{font-size:32px}}
@media (max-width:767px){.voices{padding:64px 0 64px}.voices__heading{font-size:22px}.voices__lead{font-size:13px;margin-bottom:40px}.voices__cards{flex-direction:column;gap:32px;max-width:380px;margin:0 auto 24px}.voices__card{padding:0 22px 24px}.voices__avatar{width:130px;height:130px}.voices__amount-num{font-size:30px}}

/* === ブリッジ「退職スマイル」部分をロゴオレンジ四角＋白抜き === */
.bridge__brand{position:static;display:inline-block;background:#F58732;color:#fff;padding:2px 14px;border-radius:6px;letter-spacing:0.05em;font-weight:900}
.bridge__brand::after{content:none}

/* === サポート訴求セクション (curriculum風 + 横長カード×縦スタック) === */
.support{background:#F8F4EA;padding:96px 0 88px;position:relative}
.support .container{max-width:1080px;margin:0 auto;padding:0 24px;text-align:center}
.support__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.support__heading{font-size:34px;font-weight:800;color:#1A3A6E;line-height:1.55;margin:0 0 16px;letter-spacing:0.02em}
.support__heading-emphasis{position:relative;display:inline-block}
.support__heading-emphasis::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:#C9A24C;opacity:0.7}
.support__lead{font-size:15px;color:#6B7280;margin:0 auto 56px;line-height:1.85;font-weight:500;max-width:640px}

.support__cards{display:flex;flex-direction:column;gap:18px;max-width:880px;margin:0 auto}
.support__card{background:#fff;border-radius:18px;padding:24px 32px;display:flex;align-items:center;gap:28px;box-shadow:0 4px 16px rgba(26,58,110,0.06);width:88%}
.support__card--1{align-self:flex-start}
.support__card--2{align-self:flex-end}
.support__card--3{align-self:flex-start}

.support__badge{width:72px;height:72px;border-radius:50%;background:#F8F4EA;border:3px solid #7FB6B0;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#1A3A6E}
.support__card--1 .support__badge{border-color:#7FB6B0}
.support__card--2 .support__badge{border-color:#D9A7A1}
.support__card--3 .support__badge{border-color:#C9C0B5}
.support__icon{width:32px;height:32px;color:#1A3A6E}

.support__card-body{text-align:left;flex:1}
.support__card-title{font-size:18px;font-weight:800;color:#1A3A6E;margin:0 0 4px;letter-spacing:0.01em}
.support__card-desc{font-size:13px;color:#6B7280;margin:0;font-weight:500;letter-spacing:0.02em;line-height:1.6}

@media (max-width:1024px){.support__heading{font-size:28px}}
@media (max-width:767px){.support{padding:64px 0 64px}.support__heading{font-size:22px}.support__lead{font-size:13px;margin-bottom:40px}.support__cards{gap:14px;max-width:92%}.support__card{padding:18px 20px;gap:16px;align-self:stretch !important;width:auto}.support__badge{width:56px;height:56px;border-width:2px}.support__icon{width:24px;height:24px}.support__card-title{font-size:15px}.support__card-desc{font-size:12px}}

/* === サポート訴求: 横並び3カードに変更（縦スタック上書き） === */
.support__cards{display:flex;flex-direction:row;gap:20px;justify-content:center;align-items:stretch;max-width:1080px;margin:0 auto;flex-wrap:wrap}
.support__card{flex:1 1 0;min-width:240px;width:auto;flex-direction:column;align-items:center;text-align:center;padding:32px 24px;gap:16px}
.support__card--1,.support__card--2,.support__card--3{align-self:auto;margin:0}
.support__card-body{text-align:center;flex:none}
@media (max-width:767px){.support__cards{flex-direction:column;gap:14px}.support__card{flex-direction:column !important;padding:24px 20px;gap:12px;width:auto !important}}

/* === 6つの強みセクション (curriculum風 + 3列×2行グリッド + 番号付き) === */
.strengths{background:#FAFAFA;padding:96px 0 88px;position:relative}
.strengths .container{max-width:1100px;margin:0 auto;padding:0 24px;text-align:center}
.strengths__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.strengths__heading{font-size:34px;font-weight:800;color:#1A3A6E;line-height:1.55;margin:0 0 16px;letter-spacing:0.02em}
.strengths__heading-emphasis{position:relative;display:inline-block}
.strengths__heading-emphasis::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:#C9A24C;opacity:0.7}
.strengths__lead{font-size:15px;color:#6B7280;margin:0 auto 56px;line-height:1.85;font-weight:500;max-width:640px}

.strengths__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto}
.strengths__card{background:#fff;border-radius:18px;padding:32px 24px 28px;text-align:center;box-shadow:0 4px 16px rgba(26,58,110,0.06);position:relative;display:flex;flex-direction:column;align-items:center}
.strengths__num{position:absolute;top:14px;left:18px;font-size:11px;font-weight:900;color:#C9A24C;letter-spacing:0.15em;font-family:Georgia,serif}
.strengths__icon-wrap{width:64px;height:64px;border-radius:50%;background:#F8F4EA;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.strengths__icon{width:30px;height:30px;color:#1A3A6E}
.strengths__card-title{font-size:17px;font-weight:800;color:#1A3A6E;margin:0 0 8px;letter-spacing:0.01em}
.strengths__card-desc{font-size:13px;color:#6B7280;margin:0;line-height:1.7;font-weight:500}

@media (max-width:1024px){.strengths__heading{font-size:28px}.strengths__grid{grid-template-columns:repeat(2,1fr);max-width:640px}}
@media (max-width:767px){.strengths{padding:64px 0 64px}.strengths__heading{font-size:22px}.strengths__lead{font-size:13px;margin-bottom:40px}.strengths__grid{grid-template-columns:1fr;gap:14px;max-width:380px}.strengths__card{padding:26px 20px 22px}.strengths__icon-wrap{width:56px;height:56px}.strengths__icon{width:26px;height:26px}.strengths__card-title{font-size:15px}.strengths__card-desc{font-size:12px}}

/* === 受給までの7ステップ（curriculum風タイムライン） === */
.flow{background:#F7FBFF;padding:96px 20px;color:#1A3A6E}
.flow>.container{max-width:1120px;margin:0 auto;padding:0;text-align:center}
.flow__label{display:inline-flex;align-items:center;justify-content:center;gap:14px;font-size:14px;letter-spacing:0.18em;color:#1C64C7;font-weight:700;margin:0 0 14px}
.flow__label::before,.flow__label::after{content:"";display:inline-block;width:32px;height:1px;background:#1C64C7}
.flow__heading{font-size:36px;font-weight:700;line-height:1.45;text-align:center;color:#1A3A6E;margin:0 0 16px;letter-spacing:0.02em}
.flow__lead{font-size:17px;line-height:1.8;text-align:center;color:#22324A;margin:0 0 64px;font-weight:500}
.flow__steps{list-style:none;padding:0;margin:0 auto;max-width:980px;display:grid;grid-template-columns:120px 1fr;column-gap:36px;row-gap:28px;text-align:left;position:relative}
.flow__steps::before{content:"";position:absolute;left:60px;top:44px;bottom:44px;width:0;border-left:1px dashed #C9D8EC;z-index:1}
.flow__step{display:contents}
.flow__step-num{width:88px;height:88px;border:2px solid #3B82F6;background:#fff;border-radius:50%;color:#1C64C7;box-shadow:0 8px 24px rgba(28,100,199,0.08);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:2;justify-self:center;align-self:center}
.flow__step-num-label{font-size:11px;letter-spacing:0.12em;font-weight:700;line-height:1;margin-bottom:2px}
.flow__step-num-value{font-size:30px;font-weight:700;line-height:1.1;font-family:Georgia,serif;letter-spacing:0.04em}
.flow__step:not(:first-child) .flow__step-num::before{content:"";position:absolute;top:-18px;left:50%;transform:translateX(-50%);width:8px;height:8px;background:#1C64C7;border-radius:50%;z-index:3}
.flow__step-card{flex:1;min-width:0;background:#fff;border-radius:18px;min-height:112px;padding:28px 36px;display:flex;align-items:center;gap:28px;box-shadow:0 12px 32px rgba(15,35,75,0.07);border:1px solid rgba(28,100,199,0.06);position:relative}
.flow__step-card::before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #fff}
.flow__step-icon{width:64px;height:64px;border-radius:50%;background:#EEF5FF;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#1A3A6E}
.flow__step-icon svg{width:32px;height:32px;display:block}
.flow__step-content{flex:1;min-width:0}
.flow__step-title{font-size:22px;font-weight:700;color:#1A3A6E;line-height:1.45;margin:0 0 8px;letter-spacing:0.01em}
.flow__step-desc{font-size:15px;color:#22324A;line-height:1.8;margin:0;font-weight:500}
.flow__cta{max-width:980px;margin:56px auto 0;background:linear-gradient(90deg,#FFF6E3 0%,#FFFFFF 52%,#FFF6E3 100%);border-radius:20px;padding:32px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;box-shadow:0 12px 32px rgba(15,35,75,0.08);border:1px solid rgba(255,155,26,0.16)}
.flow__cta-icon{flex-shrink:0;width:76px;height:76px;border:2px solid #1A3A6E;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.flow__cta-icon svg{width:38px;height:38px}
.flow__cta-text{flex:1;text-align:left}
.flow__cta-sub{font-size:17px;color:#0BBE65;font-weight:700;margin:0 0 6px;letter-spacing:0.02em}
.flow__cta-main{font-size:26px;color:#1A3A6E;font-weight:700;margin:0;line-height:1.4;letter-spacing:0.02em}
.flow__cta-emphasis{color:#0BBE65}
.flow__cta-button{flex-shrink:0;background:#06C755;color:#fff;border-radius:999px;height:64px;padding:0 36px;font-size:17px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 10px 24px rgba(6,199,85,0.28);text-decoration:none;transition:transform 0.2s,box-shadow 0.2s;letter-spacing:0.04em;white-space:nowrap}
.flow__cta-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(6,199,85,0.34)}
.flow__cta-button .line-icon{width:24px;height:24px;display:block}
@media (max-width:1024px){.flow{padding:80px 20px}.flow__heading{font-size:30px}.flow__step{gap:24px}.flow__step-num{width:76px;height:76px}.flow__step-num-value{font-size:26px}.flow__step-card{padding:22px 26px;gap:20px}.flow__step-title{font-size:20px}.flow__step-icon{width:56px;height:56px}.flow__step-icon svg{width:28px;height:28px}.flow__cta-main{font-size:22px}}
@media (max-width:767px){.flow{padding:72px 16px}.flow__heading{font-size:24px}.flow__lead{font-size:14px;margin-bottom:40px}.flow__steps{gap:18px}.flow__step{flex-direction:column;align-items:stretch;gap:0}.flow__step-num{width:auto;height:auto;border-radius:14px 14px 0 0;border:none;border-bottom:2px solid #3B82F6;flex-direction:row;gap:8px;padding:10px 18px;box-shadow:none;background:#EEF5FF;align-self:stretch}
.flow__step:not(:first-child) .flow__step-num::before,.flow__step:not(:first-child) .flow__step-num::after{display:none}
.flow__step-num-label{font-size:11px;margin:0}
.flow__step-num-value{font-size:18px}
.flow__step-card{flex-direction:row;align-items:flex-start;gap:14px;padding:18px;border-radius:0 0 14px 14px;min-height:auto}
.flow__step-card::before{display:none}
.flow__step-icon{width:48px;height:48px}
.flow__step-icon svg{width:24px;height:24px}
.flow__step-title{font-size:17px;margin-bottom:6px}
.flow__step-desc{font-size:13px}
.flow__cta{flex-direction:column;text-align:center;padding:24px 18px;gap:18px;border-radius:18px}
.flow__cta-icon{width:64px;height:64px}
.flow__cta-icon svg{width:32px;height:32px}
.flow__cta-text{text-align:center}
.flow__cta-sub{font-size:14px}
.flow__cta-main{font-size:19px}
.flow__cta-button{width:100%;height:56px;padding:0 24px;font-size:16px}}

/* === 離脱ポップアップ：画像差し替え版 === */
.popup--image{padding:0 !important;background:transparent !important;border-radius:20px;overflow:hidden;max-width:440px;width:90%;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.4)}
.popup--image .popup__close{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,0.95);border:none;width:36px;height:36px;border-radius:50%;font-size:22px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.25);color:#1A3A6E;line-height:1}
.popup--image .popup__close:hover{background:#fff}
.popup__image-link{display:block;line-height:0;text-decoration:none}
.popup__image-link img{width:100%;height:auto;display:block;border-radius:20px}
@media (max-width:767px){.popup--image{max-width:340px}}

/* === Service Page: Hero ===  */
.service-hero{background:#F8F4EA;position:relative;overflow:hidden;padding:96px 0 88px}
.service-hero__visual{position:absolute;inset:0;z-index:0;opacity:0.20;filter:saturate(0.8)}
.service-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center right;display:block}
.service-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(248,244,234,0.95) 0%,rgba(248,244,234,0.85) 50%,rgba(248,244,234,0.55) 100%);pointer-events:none}
.service-hero__inner{position:relative;z-index:2;max-width:980px;margin:0 auto;padding:0 24px;text-align:center}
.service-hero__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.service-hero__catch{font-size:42px;font-weight:900;color:#1A3A6E;line-height:1.4;letter-spacing:-0.005em;margin:0 0 24px}
.service-hero__num{font-size:1.4em;color:#C9A24C;font-family:Georgia,serif;letter-spacing:-0.02em;padding:0 4px}
.service-hero__lead{font-size:16px;color:#1A3A6E;line-height:1.95;margin:0 auto 28px;max-width:680px;font-weight:500}
.service-hero__brand{background:#F58732;color:#fff;padding:2px 12px;border-radius:6px;letter-spacing:0.05em;font-weight:900;display:inline-block}
.service-hero__badges{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px}
.service-hero__badges li{font-size:13px;font-weight:800;color:#1A3A6E;background:#fff;padding:8px 16px;border-radius:9999px;border:1px solid rgba(26,58,110,0.12);letter-spacing:0.02em}

@media (max-width:1024px){.service-hero__catch{font-size:34px}}
@media (max-width:767px){.service-hero{padding:64px 0 64px}.service-hero__catch{font-size:24px;line-height:1.5}.service-hero__lead{font-size:14px}.service-hero__badges li{font-size:12px;padding:6px 12px}}

/* === Periods (5つの受給期間) curriculum風 + 背景画像透過 === */
.periods{background:#FAFAFA;position:relative;overflow:hidden;padding:96px 0 88px}
.periods--with-bg .periods__bg{position:absolute;inset:0;z-index:0;opacity:0.06;pointer-events:none}
.periods--with-bg .periods__bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(0.6)}
.periods .container{position:relative;z-index:1;max-width:880px;margin:0 auto;padding:0 24px;text-align:center}
.periods__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.periods__heading{font-size:34px;font-weight:800;color:#1A3A6E;line-height:1.55;margin:0 0 16px;letter-spacing:0.02em}
.periods__heading-emphasis{position:relative;display:inline-block}
.periods__heading-emphasis::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:#C9A24C;opacity:0.7}
.periods__lead{font-size:15px;color:#6B7280;margin:0 auto 56px;line-height:1.85;font-weight:500;max-width:680px}

.periods__list{list-style:none;padding:0;margin:0 auto;display:flex;flex-direction:column;gap:14px;max-width:720px}
.periods__item{display:flex;align-items:center;gap:24px;background:#fff;border-radius:14px;padding:22px 28px;box-shadow:0 4px 14px rgba(26,58,110,0.06);border-left:4px solid #C9C0B5}
.periods__item-num{flex-shrink:0;font-size:32px;font-weight:900;color:#1A3A6E;letter-spacing:-0.02em;font-family:Georgia,serif;min-width:120px;line-height:1}
.periods__item-num span{font-size:14px;font-weight:700;margin-left:2px;font-family:inherit}
.periods__item-body{text-align:left;flex:1}
.periods__item-target{font-size:14px;font-weight:800;color:#1A3A6E;margin:0 0 4px;letter-spacing:0.02em}
.periods__item-desc{font-size:12px;color:#6B7280;margin:0;font-weight:500;line-height:1.6}
.periods__item--max{border-left-color:#C9A24C;background:linear-gradient(to right,rgba(201,162,76,0.06) 0%,#fff 100%)}
.periods__item--max .periods__item-num{color:#C9A24C}

.periods__note{font-size:12px;color:#6B7280;margin:36px 0 0;line-height:1.7}

@media (max-width:1024px){.periods__heading{font-size:28px}}
@media (max-width:767px){.periods{padding:64px 0 64px}.periods__heading{font-size:22px}.periods__lead{font-size:13px;margin-bottom:40px}.periods__item{padding:18px 20px;gap:16px;flex-direction:column;align-items:flex-start;text-align:left}.periods__item-num{font-size:26px;min-width:auto}.periods__item-body{width:100%}}

/* === Closing CTA (navy + 透過写真背景) === */
.closing-cta{position:relative;overflow:hidden;background:#1A3A6E;padding:96px 0 96px}
.closing-cta--bg-photo .closing-cta__bg{position:absolute;inset:0;z-index:0;opacity:0.18;pointer-events:none}
.closing-cta--bg-photo .closing-cta__bg img{width:100%;height:100%;object-fit:cover;object-position:center right;display:block}
.closing-cta::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(26,58,110,0.92) 0%,rgba(15,36,71,0.85) 100%);pointer-events:none}
.closing-cta .container{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:0 24px;text-align:center}
.closing-cta__heading{font-size:34px;font-weight:900;color:#F8F4EA;line-height:1.5;margin:0 0 18px;letter-spacing:0.01em}
.closing-cta__lead{font-size:16px;color:rgba(248,244,234,0.92);line-height:1.85;margin:0 0 36px;font-weight:500}
.closing-cta__lead strong{color:#C9A24C;font-weight:800}
.closing-cta__buttons{display:flex;justify-content:center;margin-bottom:28px}
.closing-cta__badges{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.closing-cta__badges li{font-size:13px;font-weight:700;color:#F8F4EA;background:rgba(255,255,255,0.10);padding:8px 16px;border-radius:9999px;letter-spacing:0.04em;backdrop-filter:blur(4px);border:1px solid rgba(248,244,234,0.18)}

@media (max-width:1024px){.closing-cta__heading{font-size:28px}}
@media (max-width:767px){.closing-cta{padding:64px 0 64px}.closing-cta__heading{font-size:22px;line-height:1.55}.closing-cta__lead{font-size:14px;margin-bottom:28px}.closing-cta__badges li{font-size:12px;padding:6px 12px}}
.sp-only{display:none}
@media (max-width:767px){.sp-only{display:inline}}

/* === CTA SP 1行強制（img+spanが折り返さないように） === */
.fv__cta{white-space:nowrap !important;flex-wrap:nowrap !important;align-items:center}
.fv__cta-text{white-space:nowrap;display:inline-block}
.fv__cta .line-icon{flex-shrink:0}
@media (max-width:767px){
  .fv__cta{font-size:14px !important;padding:14px 22px !important;max-width:calc(100vw - 40px)}
  .fv__cta .line-icon{width:1.4em !important;height:1.4em !important;margin-right:0.4em !important}
}

/* === TOP セクション テクスチャー背景（透過オーバーレイ） === */
.benefits--with-bg,.voices--with-bg,.strengths--with-bg{position:relative;overflow:hidden}
.benefits--with-bg .container,.voices--with-bg .container,.strengths--with-bg .container{position:relative;z-index:1}
.benefits__bg,.voices__bg,.strengths__bg{position:absolute;inset:0;z-index:0;opacity:0.05;pointer-events:none}
.benefits__bg img,.voices__bg img,.strengths__bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(0.5)}

/* === CTA SP 1行強制 V2: flex-direction を必ずrow === */
.fv__cta{display:inline-flex !important;flex-direction:row !important;align-items:center !important;flex-wrap:nowrap !important;white-space:nowrap !important}
.fv__cta-text{display:inline-block !important;white-space:nowrap !important}
.fv__cta .line-icon{display:inline-block !important;flex-shrink:0 !important}
@media (max-width:767px){
  .fv__cta{font-size:14px !important;padding:14px 22px !important}
  .fv__cta .line-icon{width:1.4em !important;height:1.4em !important;margin-right:0.4em !important}
}

/* === empathy__bubble SP高さスリム化 === */
@media (max-width:767px){
  .empathy__bubble{padding:14px 18px !important;font-size:13px !important;line-height:1.55 !important;min-height:0 !important;border-radius:14px !important;display:block !important;text-align:center}
  .empathy__bubbles{gap:10px !important}
}

/* === empathy__bubble SP: flex grow停止で自然な高さに === */
@media (max-width:767px){
  .empathy__bubble{flex:0 0 auto !important;height:auto !important}
}

/* === FAQ Page: Hero === */
.faq-hero{background:#F8F4EA;position:relative;overflow:hidden;padding:80px 0 72px}
.faq-hero__bg{position:absolute;inset:0;z-index:0;opacity:0.18}
.faq-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(0.6)}
.faq-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(248,244,234,0.95) 0%,rgba(248,244,234,0.85) 50%,rgba(248,244,234,0.75) 100%);pointer-events:none}
.faq-hero__inner{position:relative;z-index:2;max-width:880px;margin:0 auto;padding:0 24px;text-align:center}
.faq-hero__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.faq-hero__catch{font-size:36px;font-weight:900;color:#1A3A6E;line-height:1.4;letter-spacing:-0.005em;margin:0 0 20px}
.faq-hero__catch-emphasis{position:relative;display:inline-block}
.faq-hero__catch-emphasis::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:#C9A24C;opacity:0.7}
.faq-hero__lead{font-size:15px;color:#1A3A6E;line-height:1.95;margin:0 auto 28px;max-width:620px;font-weight:500}
.faq-hero__brand{background:#F58732;color:#fff;padding:2px 12px;border-radius:6px;letter-spacing:0.05em;font-weight:900;display:inline-block}
@media (max-width:1024px){.faq-hero__catch{font-size:28px}}
@media (max-width:767px){.faq-hero{padding:56px 0 48px}.faq-hero__catch{font-size:22px}.faq-hero__lead{font-size:13px}}

/* === FAQ chips === */
.faq-chips{background:#FAFAFA;padding:24px 0;border-bottom:1px solid rgba(26,58,110,0.06)}
.faq-chips__inner{max-width:1080px;margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.faq-chips__chip{display:inline-flex;align-items:center;background:#fff;color:#1A3A6E;padding:10px 18px;border-radius:9999px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid rgba(26,58,110,0.12);box-shadow:0 2px 6px rgba(26,58,110,0.04);transition:all 0.2s;letter-spacing:0.02em}
.faq-chips__chip:hover{background:#F8F4EA;border-color:#C9A24C;color:#1A3A6E;transform:translateY(-1px)}
@media (max-width:767px){.faq-chips__chip{font-size:12px;padding:8px 14px}}

/* === FAQ body === */
.faq-body{background:#FAFAFA;padding:64px 0 80px}
.faq-body .container{max-width:880px;margin:0 auto;padding:0 24px}
.faq-body__inner{display:flex;flex-direction:column;gap:48px}
.accordion__category{}
.accordion__category-heading{font-size:22px;font-weight:800;color:#1A3A6E;margin:0 0 20px;letter-spacing:0.02em;border-left:4px solid #C9A24C;padding-left:14px}
.accordion__item{background:#fff;border-radius:12px;margin-bottom:12px;box-shadow:0 2px 8px rgba(26,58,110,0.05);overflow:hidden;transition:box-shadow 0.2s}
.accordion__item:hover{box-shadow:0 4px 12px rgba(26,58,110,0.08)}
.accordion__trigger{width:100%;padding:20px 24px;background:transparent;border:none;text-align:left;font-size:15px;font-weight:700;color:#1A3A6E;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:inherit;letter-spacing:0.01em;line-height:1.5;gap:16px}
.accordion__trigger-icon{font-size:18px;color:#C9A24C;font-weight:300;flex-shrink:0;transition:transform 0.2s}
.accordion__trigger[aria-expanded="true"] .accordion__trigger-icon{transform:rotate(45deg)}
.accordion__panel{max-height:0;overflow:hidden;transition:max-height 0.3s ease}
.accordion__panel[aria-hidden="false"]{max-height:500px}
.accordion__panel-inner{padding:0 24px 22px;font-size:14px;color:#1A3A6E;line-height:1.85;font-weight:500}
.accordion__panel-inner strong{color:#1A3A6E;font-weight:700}
@media (max-width:767px){.accordion__category-heading{font-size:18px}.accordion__trigger{font-size:13px;padding:16px 18px}.accordion__panel-inner{padding:0 18px 18px;font-size:13px}}

/* === FAQ Related === */
.faq-related{background:#F8F4EA;padding:80px 0 72px;text-align:center}
.faq-related .container{max-width:1080px;margin:0 auto;padding:0 24px}
.faq-related__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.faq-related__heading{font-size:28px;font-weight:800;color:#1A3A6E;margin:0 0 40px;letter-spacing:0.02em}
.faq-related__list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto}
.faq-related__item{background:#fff;border-radius:14px;padding:28px 24px;text-decoration:none;color:#1A3A6E;box-shadow:0 4px 14px rgba(26,58,110,0.06);transition:all 0.2s;display:block;text-align:left;border-top:3px solid #C9A24C}
.faq-related__item:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(26,58,110,0.10);color:#1A3A6E}
.faq-related__item-title{font-size:16px;font-weight:800;color:#1A3A6E;margin:0 0 8px;letter-spacing:0.01em}
.faq-related__item-desc{font-size:13px;color:#6B7280;margin:0;line-height:1.7;font-weight:500}
@media (max-width:1024px){.faq-related__list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767px){.faq-related{padding:56px 0 48px}.faq-related__heading{font-size:22px}.faq-related__list{grid-template-columns:1fr;max-width:380px}}

/* === Company Page: Hero === */
.company-hero{background:#F8F4EA;position:relative;overflow:hidden;padding:80px 0 72px}
.company-hero__bg{position:absolute;inset:0;z-index:0;opacity:0.18}
.company-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(0.6)}
.company-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(248,244,234,0.95) 0%,rgba(248,244,234,0.85) 50%,rgba(248,244,234,0.75) 100%);pointer-events:none}
.company-hero__inner{position:relative;z-index:2;max-width:880px;margin:0 auto;padding:0 24px;text-align:center}
.company-hero__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.company-hero__catch{font-size:36px;font-weight:900;color:#1A3A6E;line-height:1.4;letter-spacing:-0.005em;margin:0 0 20px}
.company-hero__catch-emphasis{position:relative;display:inline-block}
.company-hero__catch-emphasis::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:#C9A24C;opacity:0.7}
.company-hero__lead{font-size:15px;color:#1A3A6E;line-height:1.95;margin:0 auto;max-width:680px;font-weight:500}
.company-hero__lead strong{font-weight:800}
@media (max-width:1024px){.company-hero__catch{font-size:28px}}
@media (max-width:767px){.company-hero{padding:56px 0 48px}.company-hero__catch{font-size:22px}.company-hero__lead{font-size:13px}}

/* === Company Overview === */
.company-overview{background:#FAFAFA;padding:80px 0;text-align:center}
.company-overview .container{max-width:780px;margin:0 auto;padding:0 24px}
.company-overview__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.company-overview__heading{font-size:28px;font-weight:800;color:#1A3A6E;margin:0 0 40px;letter-spacing:0.02em}
.company-overview__list{background:#fff;border-radius:14px;box-shadow:0 4px 14px rgba(26,58,110,0.06);overflow:hidden;margin:0;border-top:3px solid #C9A24C;text-align:left}
.company-overview__row{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid rgba(26,58,110,0.08)}
.company-overview__row:last-child{border-bottom:none}
.company-overview__term{background:#F8F4EA;padding:18px 20px;margin:0;font-size:13px;font-weight:700;color:#1A3A6E;letter-spacing:0.04em;display:flex;align-items:center}
.company-overview__desc{padding:18px 22px;margin:0;font-size:14px;color:#1A3A6E;line-height:1.85;font-weight:500}
.company-overview__link{color:#06C755;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(6,199,85,0.3)}
.company-overview__link:hover{color:#1A3A6E}
@media (max-width:767px){.company-overview{padding:56px 0}.company-overview__heading{font-size:22px}.company-overview__row{grid-template-columns:1fr}.company-overview__term{padding:12px 16px;font-size:12px;border-bottom:1px solid rgba(26,58,110,0.05)}.company-overview__desc{padding:14px 16px;font-size:13px}}

/* === Company Access === */
.company-access{background:#F8F4EA;padding:80px 0;text-align:center}
.company-access .container{max-width:1040px;margin:0 auto;padding:0 24px}
.company-access__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 14px}
.company-access__heading{font-size:28px;font-weight:800;color:#1A3A6E;margin:0 0 40px;letter-spacing:0.02em}
.company-access__inner{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;text-align:left;background:#fff;border-radius:14px;padding:24px;box-shadow:0 4px 14px rgba(26,58,110,0.06)}
.company-access__map{background:#F8F4EA;color:#6B7280;font-size:13px;border-radius:8px;display:flex;align-items:center;justify-content:center;min-height:280px;font-weight:500;letter-spacing:0.04em}
.company-access__info{padding:8px 4px}
.company-access__addr{font-size:14px;color:#1A3A6E;line-height:1.85;font-weight:700;margin:0 0 18px}
.company-access__stations-title{font-size:13px;color:#1A3A6E;font-weight:800;margin:0 0 8px;letter-spacing:0.04em;border-left:3px solid #C9A24C;padding-left:8px}
.company-access__stations{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:6px}
.company-access__stations li{font-size:13px;color:#1A3A6E;line-height:1.7;font-weight:500;padding-left:14px;position:relative}
.company-access__stations li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:#C9A24C}
.company-access__note{font-size:12px;color:#6B7280;margin:0;line-height:1.7;border-top:1px dashed rgba(26,58,110,0.15);padding-top:12px}
@media (max-width:767px){.company-access{padding:56px 0}.company-access__heading{font-size:22px}.company-access__inner{grid-template-columns:1fr;padding:16px;gap:16px}.company-access__map{min-height:200px}}

.empathy{padding:80px 0;background:#fff}
.empathy>.container{max-width:1280px;margin:0 auto;padding:0 24px}
.empathy__inner{background:#F5F9FC;border-radius:32px;box-shadow:0 16px 40px rgba(15,35,75,0.08);padding:80px 64px 72px;overflow:hidden}
.empathy__intro{text-align:center;margin-bottom:48px}
.empathy__label{font-size:13px;letter-spacing:0.32em;color:#6B7280;font-weight:600;margin:0 0 16px}
.empathy__heading{font-size:34px;font-weight:700;color:#1A3A6E;line-height:1.5;margin:0 0 20px;letter-spacing:0.02em;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.empathy__heading-deco-l,.empathy__heading-deco-r{display:inline-block;width:28px;height:28px;position:relative;flex-shrink:0}
.empathy__heading-deco-l::before,.empathy__heading-deco-l::after,.empathy__heading-deco-r::before,.empathy__heading-deco-r::after{content:"";position:absolute;width:28px;height:2px;background:#1C64C7;border-radius:2px;left:0}
.empathy__heading-deco-l::before{top:9px;transform:rotate(-25deg)}
.empathy__heading-deco-l::after{top:18px;transform:rotate(-25deg)}
.empathy__heading-deco-r::before{top:9px;transform:rotate(25deg)}
.empathy__heading-deco-r::after{top:18px;transform:rotate(25deg)}
.empathy__heading-emphasis{color:#1C64C7}
.empathy__lead{font-size:17px;color:#22324A;line-height:1.9;margin:0;text-align:center}
.empathy__cards{list-style:none;padding:0;margin:0 0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.empathy__card{background:#fff;border-radius:22px;height:220px;padding:28px 24px;box-shadow:0 12px 32px rgba(15,35,75,0.08);position:relative;overflow:hidden;border:1px solid rgba(28,100,199,0.06);display:block}
.empathy__card-icon{position:absolute;top:22px;left:22px;width:60px;height:60px;border-radius:50%;background:#fff;border:2px solid;display:flex;align-items:center;justify-content:center}
.empathy__card-icon img{width:36px;height:36px;display:block}
.empathy__card--1 .empathy__card-icon{border-color:#1C64C7}
.empathy__card--2 .empathy__card-icon{border-color:#E6A332}
.empathy__card--3 .empathy__card-icon{border-color:#10C76F}
.empathy__card-title{font-size:20px;font-weight:700;color:#1A3A6E;line-height:1.4;margin:8px 0 0 76px;letter-spacing:0.01em}
.empathy__card-divider{border:none;border-top:2px dotted #B8C7DD;margin:28px 0 20px}
.empathy__card-body{font-size:15px;color:#22324A;line-height:1.8;margin:0;position:relative;z-index:2;max-width:65%}
.empathy__card-illust{position:absolute;right:-10px;bottom:-12px;width:120px;height:120px;object-fit:contain;object-position:bottom right;opacity:0.92;pointer-events:none;z-index:1}
.empathy__arrow{display:flex;flex-direction:column;align-items:center;margin:10px auto 24px;color:#1C64C7;line-height:1}
.empathy__arrow-line{width:2px;height:32px;background-image:linear-gradient(#1C64C7 50%,transparent 50%);background-size:2px 8px;background-repeat:repeat-y}
.empathy__arrow-tip{font-size:32px;line-height:1;margin-top:-4px;font-weight:900}
.empathy__solution{background:#fff;border-radius:999px;min-height:136px;padding:28px 48px;display:flex;align-items:center;gap:32px;box-shadow:0 16px 40px rgba(15,35,75,0.10);max-width:980px;margin:0 auto;position:relative}
.empathy__solution-logo{flex-shrink:0;width:88px;height:88px;border-radius:50%;border:3px solid #10C76F;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px;box-sizing:border-box}
.empathy__solution-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.empathy__solution-body{flex:1;min-width:0}
.empathy__solution-lead{font-size:24px;font-weight:700;color:#1A3A6E;line-height:1.5;margin:0 0 12px;letter-spacing:0.02em}
.empathy__solution-checks{list-style:none;padding:0;margin:0;display:flex;gap:24px;flex-wrap:wrap}
.empathy__solution-check{font-size:14px;color:#22324A;display:inline-flex;align-items:center;gap:6px;font-weight:500}
.empathy__solution-check::before{content:"✓";color:#0BBE65;font-weight:900;font-size:16px;line-height:1}
@media (max-width:1024px){.empathy__inner{padding:64px 40px 56px}.empathy__cards{gap:20px}.empathy__card{padding:24px 20px;height:auto;min-height:210px}.empathy__card-illust{width:100px;height:100px}}
@media (max-width:767px){.empathy{padding:48px 0}.empathy__inner{padding:56px 20px;border-radius:24px}.empathy__heading{font-size:26px;gap:10px}.empathy__heading-deco-l,.empathy__heading-deco-r{width:18px;height:18px}.empathy__heading-deco-l::before,.empathy__heading-deco-l::after,.empathy__heading-deco-r::before,.empathy__heading-deco-r::after{width:18px}.empathy__heading-deco-l::before{top:5px}.empathy__heading-deco-l::after{top:13px}.empathy__heading-deco-r::before{top:5px}.empathy__heading-deco-r::after{top:13px}.empathy__lead{font-size:15px}.empathy__cards{grid-template-columns:1fr;gap:14px;margin-bottom:24px}.empathy__card{height:auto;min-height:210px;padding:22px 18px}.empathy__card-title{margin:6px 0 0 72px;font-size:18px}.empathy__card-icon{top:18px;left:18px;width:54px;height:54px}.empathy__card-icon img{width:32px;height:32px}.empathy__card-divider{margin:22px 0 16px}.empathy__card-body{font-size:14px;max-width:60%}.empathy__card-illust{width:90px;height:90px;right:-6px;bottom:-8px}.empathy__arrow-line{height:24px}.empathy__arrow-tip{font-size:24px}.empathy__solution{flex-direction:column;border-radius:28px;text-align:center;padding:28px 24px;gap:18px;min-height:auto}.empathy__solution-logo{width:72px;height:72px;padding:8px}.empathy__solution-lead{font-size:18px}.empathy__solution-checks{flex-direction:column;align-items:center;gap:10px}}

.company-access__inner--text-only{grid-template-columns:1fr;max-width:560px;margin:0 auto;padding:32px}
@media (max-width:767px){.company-access__inner--text-only{padding:20px}}


section.flow .flow__steps{display:grid;grid-template-columns:120px 1fr;column-gap:36px;row-gap:28px;position:relative}
section.flow .flow__step{display:contents;background:none;border:none;padding:0;margin:0}
section.flow .flow__step-num{display:flex;flex-direction:column;align-items:center;justify-content:center;width:88px;height:88px;flex-shrink:0;flex-grow:0;justify-self:center;align-self:center;background:#fff;position:relative;z-index:2}
section.flow .flow__step-card{display:flex;flex-direction:row;align-items:center;gap:28px;min-width:0;background:#fff;writing-mode:horizontal-tb}
@media (max-width:1024px){section.flow .flow__steps{grid-template-columns:96px 1fr;column-gap:28px}section.flow .flow__steps::before{left:48px;top:38px;bottom:38px}section.flow .flow__step-num{width:76px;height:76px}}
@media (max-width:767px){section.flow .flow__steps{display:flex;flex-direction:column;gap:18px}section.flow .flow__steps::before{display:none}section.flow .flow__step{display:flex;flex-direction:column;align-items:stretch;gap:0}section.flow .flow__step-num{width:auto;height:auto;flex-direction:row;padding:10px 18px;border-radius:14px 14px 0 0;border:none;border-bottom:2px solid #3B82F6;justify-self:stretch;align-self:stretch;background:#EEF5FF;box-shadow:none}section.flow .flow__step-card{flex-direction:row;align-items:flex-start;border-radius:0 0 14px 14px}section.flow .flow__step:not(:first-child) .flow__step-num::before{display:none}}

.case-hero{position:relative;overflow:hidden;min-height:560px;display:flex;align-items:center;background:#1A3A6E}
.case-hero__bg{position:absolute;inset:0;z-index:1;overflow:hidden}
.case-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0.92) 0%,rgba(255,255,255,0.78) 38%,rgba(255,255,255,0.30) 65%,rgba(255,255,255,0.05) 100%)}
.case-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center right;display:block}
.case-hero__inner{position:relative;z-index:2;max-width:1140px;margin:0 auto;padding:64px 24px;width:100%}
.case-hero__content{max-width:580px}
.case-hero__breadcrumb{font-size:12px;color:#6F8197;margin:0 0 24px;font-weight:600}
.case-hero__breadcrumb a{color:inherit;text-decoration:none}
.case-hero__breadcrumb a:hover{text-decoration:underline}
.case-hero__title{font-size:42px;font-weight:900;color:#1A3A6E;line-height:1.35;margin:0 0 20px;letter-spacing:0.02em;text-shadow:0 1px 2px rgba(255,255,255,0.7)}
.case-hero__lead{font-size:16px;line-height:1.95;color:#1A3A6E;font-weight:600;margin:0 0 28px}
.case-hero__lead strong{color:#06C755}
.case-hero__badges{list-style:none;padding:0;margin:0 0 28px;display:flex;gap:14px;flex-wrap:wrap}
.case-hero__badge{width:110px;height:110px;border-radius:50%;background:linear-gradient(180deg,#0BBE65,#06C755);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 12px 24px rgba(11,190,101,0.32);text-align:center;border:3px solid rgba(255,255,255,0.85)}
.case-hero__badge-amount{font-size:22px;font-weight:900;line-height:1;letter-spacing:-0.01em}
.case-hero__badge-amount small{font-size:13px;font-weight:700;margin-left:2px}
.case-hero__badge-job{font-size:11px;font-weight:700;margin-top:6px;letter-spacing:0.04em;line-height:1.3}
.case-hero__cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#06C755,#05A547);color:#fff;font-weight:700;text-decoration:none;border-radius:999px;padding:18px 36px;font-size:16px;box-shadow:0 12px 28px rgba(6,199,85,0.34);min-width:300px;letter-spacing:0.04em;transition:transform 0.2s,box-shadow 0.2s}
.case-hero__cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(6,199,85,0.42)}
.case-hero__cta .line-icon{width:24px;height:24px}

.case-summary{padding:80px 24px 48px;background:#fff}
.case-summary__inner{max-width:1140px;margin:0 auto}
.case-summary__heading{text-align:center;font-size:30px;font-weight:800;color:#1A3A6E;margin:0 0 40px;letter-spacing:0.02em}
.case-summary__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.summary-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(18,58,103,0.08);border:1px solid #DCEAF5;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform 0.2s,box-shadow 0.2s}
.summary-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(18,58,103,0.12)}
.summary-card__image{height:180px;background:#EAF6FF;display:flex;align-items:center;justify-content:center;padding:18px}
.summary-card__image img{max-width:78%;max-height:150px;object-fit:contain}
.summary-card__body{padding:20px 22px 24px;text-align:center}
.summary-card__meta{font-size:12px;color:#6F8197;font-weight:700;margin:0 0 8px;letter-spacing:0.04em}
.summary-card__amount{font-size:30px;font-weight:900;color:#06C755;margin:0 0 6px;letter-spacing:-0.02em;line-height:1.1}
.summary-card__label{font-size:13px;color:#1A3A6E;font-weight:700;margin:0 0 12px}
.summary-card__jump{font-size:13px;color:#06C755;font-weight:700;margin:0;letter-spacing:0.04em}

.case-details{padding:48px 24px 80px;background:#fff}
.case-details__inner{max-width:1140px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.case-detail-card{display:grid;grid-template-columns:340px 1fr;gap:0;background:#fff;border:1px solid #DCEAF5;box-shadow:0 8px 24px rgba(18,58,103,0.08);border-radius:20px;overflow:hidden;scroll-margin-top:80px}
.case-detail-card__image{background:#EAF6FF;display:flex;align-items:center;justify-content:center;padding:28px;min-height:300px}
.case-detail-card__image img{max-width:80%;max-height:260px;object-fit:contain}
.case-detail-card__content{padding:36px;display:flex;flex-direction:column;align-items:flex-start}
.case-detail-card__meta{font-size:13px;color:#6F8197;font-weight:700;margin:0 0 8px;letter-spacing:0.04em}
.case-detail-card__amount{margin:8px 0 4px;color:#06C755;font-size:18px;font-weight:700;line-height:1}
.case-detail-card__amount strong{font-size:42px;font-weight:900;letter-spacing:-0.02em;line-height:1;margin-right:2px}
.case-detail-card__breakdown{font-size:13px;color:#6F8197;font-weight:600;margin:6px 0 24px;letter-spacing:0.02em}
.case-detail-card__title{font-size:22px;color:#1A3A6E;font-weight:800;margin:0 0 16px;letter-spacing:0.02em;line-height:1.5}
.case-detail-card__story{margin:0 0 24px}
.case-detail-card__story p{line-height:2;font-size:14px;color:#22324A;margin:0 0 12px;font-weight:500}
.case-detail-card__story p:last-child{margin-bottom:0}
.case-detail-card__story strong{color:#1A3A6E;font-weight:700}
.case-detail-card__cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#06C755,#05A547);color:#fff;font-weight:700;text-decoration:none;border-radius:8px;padding:14px 24px;font-size:14px;box-shadow:0 8px 18px rgba(6,199,85,0.25);transition:transform 0.2s,box-shadow 0.2s;letter-spacing:0.04em}
.case-detail-card__cta:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(6,199,85,0.32)}
.case-detail-card__cta .line-icon{width:20px;height:20px}

.strength-section{background:#EAF6FF;padding:64px 24px}
.strength-section__inner{max-width:1140px;margin:0 auto;text-align:center}
.strength-section__note{text-align:center;font-size:12px;color:#6F8197;margin:0 0 12px;line-height:1.7}
.strength-section__heading{font-size:28px;font-weight:800;color:#1A3A6E;margin:0 0 36px;letter-spacing:0.02em}
.strength-section__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.strength-card{background:#fff;border-radius:16px;padding:36px 28px 32px;text-align:center;box-shadow:0 8px 24px rgba(18,58,103,0.08)}
.strength-card__icon{width:56px;height:56px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#EAF6FF;color:#1A3A6E}
.strength-card__icon svg{width:32px;height:32px;display:block}
.strength-card__title{color:#1A3A6E;font-size:18px;font-weight:800;margin:0 0 12px;letter-spacing:0.02em}
.strength-card__desc{font-size:14px;color:#22324A;line-height:1.85;margin:0;font-weight:500}

.bottom-cta{background:linear-gradient(135deg,#1A3A6E,#0F2447);color:#fff;text-align:center;padding:72px 24px}
.bottom-cta__inner{max-width:780px;margin:0 auto}
.bottom-cta__heading{font-size:30px;font-weight:800;margin:0 0 16px;letter-spacing:0.02em;line-height:1.5;color:#fff}
.bottom-cta__lead{font-weight:600;margin:0 0 28px;font-size:16px;line-height:1.85;color:rgba(255,255,255,0.92)}
.bottom-cta__lead strong{color:#FFD37C}
.bottom-cta__cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#06C755,#05A547);color:#fff;font-weight:700;text-decoration:none;border-radius:999px;padding:20px 40px;font-size:16px;box-shadow:0 12px 28px rgba(6,199,85,0.32);letter-spacing:0.04em;transition:transform 0.2s,box-shadow 0.2s}
.bottom-cta__cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(6,199,85,0.40)}
.bottom-cta__cta .line-icon{width:24px;height:24px}
.bottom-cta__tags{margin:24px 0 0;padding:0;list-style:none;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.bottom-cta__tag{background:rgba(255,255,255,0.15);border-radius:999px;padding:6px 16px;font-size:12px;font-weight:700;color:#fff;letter-spacing:0.04em}

@media (max-width:1024px){.case-hero{min-height:480px}.case-hero__inner{padding:48px 24px}.case-hero__content{max-width:520px}.case-hero__title{font-size:34px}.case-hero__badge{width:100px;height:100px}.case-hero__badge-amount{font-size:20px}.case-detail-card{grid-template-columns:280px 1fr}.case-detail-card__image{min-height:240px;padding:20px}.case-detail-card__content{padding:28px}.case-detail-card__amount strong{font-size:36px}.case-detail-card__title{font-size:20px}}
@media (max-width:767px){.case-hero{min-height:auto;display:block}.case-hero__bg::after{background:linear-gradient(180deg,rgba(255,255,255,0.45) 0%,rgba(255,255,255,0.85) 45%,rgba(255,255,255,0.96) 100%)}.case-hero__bg img{object-position:center top}.case-hero__inner{padding:240px 20px 32px;width:100%}.case-hero__content{max-width:none}.case-hero__title{font-size:24px;line-height:1.4;text-align:center}.case-hero__breadcrumb{text-align:center}.case-hero__lead{font-size:14px;line-height:1.85;text-align:center}.case-hero__badges{justify-content:center;gap:10px}.case-hero__badge{width:96px;height:96px}.case-hero__badge-amount{font-size:18px}.case-hero__badge-amount small{font-size:11px}.case-hero__badge-job{font-size:10px;margin-top:5px}.case-hero__cta{min-width:0;width:100%;padding:16px 24px;font-size:15px}.case-summary{padding:48px 20px 24px}.case-summary__heading{font-size:22px;margin-bottom:24px}.case-summary__grid{grid-template-columns:1fr;gap:14px}.summary-card__image{height:160px}.case-details{padding:24px 20px 56px}.case-details__inner{gap:20px}.case-detail-card{grid-template-columns:1fr}.case-detail-card__image{min-height:200px;padding:16px}.case-detail-card__image img{max-height:180px}.case-detail-card__content{padding:24px 20px}.case-detail-card__title{font-size:17px}.case-detail-card__amount strong{font-size:32px}.case-detail-card__cta{width:100%;padding:14px 16px}.strength-section{padding:48px 20px}.strength-section__heading{font-size:22px}.strength-section__grid{grid-template-columns:1fr;gap:14px}.bottom-cta{padding:56px 20px}.bottom-cta__heading{font-size:22px}.bottom-cta__lead{font-size:14px}.bottom-cta__cta{width:100%;padding:18px 20px;font-size:15px}}

/* ===== Column Top Page ===== */
.column-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#F7FBFF 0%,#EAF5FF 100%);padding:64px 24px 72px;text-align:center}
.column-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.column-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:right center;display:block;opacity:0.18}
.column-hero__inner{position:relative;z-index:1;max-width:780px;margin:0 auto}
.column-hero__icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#fff;border:1px solid #DDE8F3;box-shadow:0 8px 22px rgba(18,58,110,0.10);display:grid;place-items:center}
.column-hero__icon svg{width:32px;height:32px}
.column-hero__catch{margin:0 0 16px;font-size:34px;line-height:1.4;color:#1A3A6E;font-weight:900;letter-spacing:0.02em}
.column-hero__lead{margin:0 0 28px;color:#22324A;font-size:16px;line-height:1.9;font-weight:500}
.column-hero__lead strong{color:#1A3A6E;font-weight:800}
.column-hero__search{width:min(560px,100%);height:56px;margin:0 auto;background:#fff;border:1px solid #DDE8F3;border-radius:999px;display:flex;align-items:center;padding:0 22px;box-shadow:0 8px 22px rgba(18,58,110,0.08)}
.column-hero__search-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;padding:0;cursor:pointer;border-radius:50%;flex-shrink:0;transition:background 0.2s}
.column-hero__search-icon:hover{background:#EAF5FF}
.column-hero__search-icon:focus-visible{outline:2px solid #1A3A6E;outline-offset:2px}
.column-hero__search-icon svg{width:20px;height:20px}
.column-hero__search-input{border:none;outline:none;width:100%;margin-left:10px;font-size:14px;color:#1F2D3D;background:transparent;font-family:inherit}
.column-hero__search-input::placeholder{color:#9AA8BC}

.column-cats{padding:72px 24px;background:#fff}
.column-cats .container{max-width:1080px;margin:0 auto}
.column-cats__heading{font-size:28px;font-weight:800;color:#1A3A6E;text-align:center;margin:0 0 36px;position:relative}
.column-cats__heading::after{content:"";display:block;width:48px;height:3px;background:#1A3A6E;border-radius:999px;margin:12px auto 0}
.column-cats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.column-cats__card{min-height:160px;border-radius:14px;background:#fff;border:1px solid #DDE8F3;box-shadow:0 10px 24px rgba(18,58,110,0.08);display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;padding:24px 16px;transition:transform 0.25s ease,box-shadow 0.25s ease}
.column-cats__card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(18,58,110,0.14)}
.column-cats__card-icon{width:56px;height:56px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:#EAF5FF}
.column-cats__card-icon svg{width:30px;height:30px}
.column-cats__card-title{margin:0 0 8px;color:#1A3A6E;font-size:16px;font-weight:800;text-align:center;letter-spacing:0.02em}
.column-cats__card-meta{margin:0;color:#6B7A90;font-size:12px;font-weight:600;text-align:center}

.column-recent{padding:72px 24px 80px;background:#F7FBFF}
.column-recent .container{max-width:1080px;margin:0 auto}
.column-recent__heading{font-size:28px;font-weight:800;color:#1A3A6E;text-align:center;margin:0 0 36px;position:relative}
.column-recent__heading::after{content:"";display:block;width:48px;height:3px;background:#1A3A6E;border-radius:999px;margin:12px auto 0}
.column-recent__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.column-card{overflow:hidden;border-radius:14px;background:#fff;border:1px solid #DDE8F3;box-shadow:0 10px 24px rgba(18,58,110,0.08);transition:transform 0.25s ease,box-shadow 0.25s ease;display:flex;flex-direction:column}
.column-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(18,58,110,0.14)}
.column-card--placeholder{opacity:0.6}
.column-card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.column-card__thumb{width:100%;height:168px;overflow:hidden;background:#EAF5FF}
.column-card__thumb-img{width:100%;height:100%;object-fit:cover;display:block}
.column-card__thumb--placeholder{display:flex;align-items:center;justify-content:center;color:#6B7A90;font-size:13px;font-weight:700;letter-spacing:0.04em;background:#EFF4FA}
.column-card__body{padding:20px;display:flex;flex-direction:column;flex:1}
.column-card__tag{display:inline-block;align-self:flex-start;padding:5px 12px;border-radius:999px;background:#EAF5FF;color:#1A3A6E;font-size:11px;font-weight:800;margin-bottom:12px;letter-spacing:0.04em}
.column-card__title{margin:0 0 12px;color:#1A3A6E;font-size:16px;line-height:1.65;font-weight:800;letter-spacing:0.01em}
.column-card__excerpt{margin:0 0 16px;color:#6B7A90;font-size:13px;line-height:1.85;flex:1}
.column-card__date{color:#9AA8BC;font-size:12px;font-weight:600;letter-spacing:0.04em}

.column-cta{padding:64px 24px;background:#F7FBFF}
.column-cta .container{max-width:1080px;margin:0 auto}
.column-cta__box{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#2F80ED 0%,#1A3A6E 100%);min-height:240px;display:flex;align-items:center;justify-content:space-between;padding:44px 56px;box-shadow:0 18px 40px rgba(18,58,110,0.20);gap:40px}
.column-cta__content{position:relative;z-index:2;color:#fff;flex:1;min-width:0}
.column-cta__heading{margin:0 0 14px;font-size:26px;font-weight:900;line-height:1.5;letter-spacing:0.02em;color:#fff}
.column-cta__lead{margin:0 0 24px;font-size:15px;line-height:1.85;color:#fff;font-weight:600}
.column-cta__lead strong{color:#FFD37C;font-weight:800}
.column-cta__button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#05A547;border-radius:999px;padding:16px 32px;font-size:15px;font-weight:900;text-decoration:none;letter-spacing:0.04em;box-shadow:0 8px 20px rgba(0,0,0,0.15);transition:transform 0.2s,box-shadow 0.2s}
.column-cta__button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,0.20)}
.column-cta__button .line-icon{width:22px;height:22px}
.column-cta__visual{flex:0 0 280px;height:200px;border-radius:12px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,0.15)}
.column-cta__visual img{width:100%;height:100%;object-fit:cover;display:block}

@media (max-width:1024px){
  .column-cats__grid{grid-template-columns:repeat(2,1fr)}
  .column-cta__box{padding:36px 32px;gap:28px}
  .column-cta__visual{flex-basis:220px;height:160px}
}
@media (max-width:767px){
  .column-hero{padding:48px 20px 56px}
  .column-hero__catch{font-size:26px}
  .column-hero__lead{font-size:14px;line-height:1.85}
  .column-hero__lead br.pc-only{display:none}
  .column-hero__search{height:50px;padding:0 18px}
  .column-cats{padding:56px 20px}
  .column-cats__heading,.column-recent__heading{font-size:22px;margin-bottom:28px}
  .column-cats__grid{grid-template-columns:1fr;gap:14px}
  .column-cats__card{min-height:96px;padding:20px 16px}
  .column-recent{padding:56px 20px 64px}
  .column-recent__grid{grid-template-columns:1fr;gap:16px}
  .column-card__thumb{height:200px}
  .column-cta{padding:48px 20px}
  .column-cta__box{flex-direction:column;align-items:stretch;text-align:center;padding:32px 24px}
  .column-cta__heading{font-size:21px}
  .column-cta__lead{font-size:14px}
  .column-cta__button{width:100%;padding:16px 20px}
  .column-cta__visual{flex:0 0 auto;width:100%;height:180px;margin-top:8px}
}

/* ===== News (お知らせ) ===== */
.news-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#F7FBFF 0%,#EAF5FF 100%);padding:64px 24px 72px;text-align:center}
.news-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.news-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:right center;display:block;opacity:0.18}
.news-hero__inner{position:relative;z-index:1;max-width:780px;margin:0 auto}
.news-hero__label{font-size:13px;letter-spacing:0.32em;color:#6B7A90;font-weight:700;margin:0 0 12px}
.news-hero__catch{margin:0 0 14px;font-size:34px;line-height:1.4;color:#1A3A6E;font-weight:900;letter-spacing:0.04em}
.news-hero__lead{margin:0;color:#22324A;font-size:15px;line-height:1.85;font-weight:500}

.news-list{padding:64px 24px 80px;background:#fff}
.news-list .container{max-width:880px;margin:0 auto}
.news-list__items{list-style:none;margin:0;padding:0;border-top:1px solid #E5ECF5}
.news-list__item{border-bottom:1px solid #E5ECF5}
.news-list__link{display:flex;align-items:center;gap:24px;padding:20px 8px;text-decoration:none;color:inherit;transition:background 0.2s,padding 0.2s}
.news-list__link:hover{background:#F7FBFF;padding-left:16px}
.news-list__link:focus-visible{outline:2px solid #1A3A6E;outline-offset:-2px;border-radius:4px}
.news-list__date{flex:0 0 auto;color:#4A5568;font-size:13px;font-weight:700;letter-spacing:0.04em;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}
.news-list__title{flex:1;color:#1A3A6E;font-size:15px;font-weight:600;line-height:1.6}
.news-list__arrow{flex:0 0 auto;color:#9AA8BC;display:flex;align-items:center;transition:transform 0.2s,color 0.2s}
.news-list__arrow svg{width:18px;height:18px}
.news-list__link:hover .news-list__arrow{transform:translateX(4px);color:#1A3A6E}
.news-list__empty{padding:48px 16px;text-align:center;background:#F7FBFF;border-radius:12px}
.news-list__empty-text{margin:0;color:#6B7A90;font-size:14px;font-weight:600}
.news-list__pagination{margin:48px 0 0}
.news-list__pagination-list{list-style:none;margin:0;padding:0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.news-list__pagination-item a,.news-list__pagination-item span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:8px;border:1px solid #DDE8F3;background:#fff;color:#1A3A6E;font-size:13px;font-weight:700;text-decoration:none;transition:background 0.2s}
.news-list__pagination-item a:hover{background:#EAF5FF}
.news-list__pagination-item .current{background:#1A3A6E;color:#fff;border-color:#1A3A6E}

.news-detail{padding:56px 24px 64px;background:#fff}
.news-detail .container{max-width:780px;margin:0 auto}
.news-detail__header{padding:0 0 24px;margin:0 0 32px;border-bottom:1px solid #E5ECF5}
.news-detail__date{display:inline-block;color:#4A5568;font-size:13px;font-weight:700;letter-spacing:0.06em;margin:0 0 12px;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}
.news-detail__title{margin:0;color:#1A3A6E;font-size:26px;font-weight:800;line-height:1.5;letter-spacing:0.02em}
.news-detail__body{color:#22324A;font-size:15px;line-height:1.95;font-weight:500}
.news-detail__body p{margin:0 0 1.4em}
.news-detail__body h2{margin:2em 0 0.8em;color:#1A3A6E;font-size:20px;font-weight:800;line-height:1.55;padding-bottom:0.4em;border-bottom:2px solid #EAF5FF}
.news-detail__body h3{margin:1.6em 0 0.6em;color:#1A3A6E;font-size:17px;font-weight:800;line-height:1.6}
.news-detail__body a{color:#1A3A6E;text-decoration:underline;text-underline-offset:2px}
.news-detail__body a:hover{text-decoration:none}
.news-detail__body ul,.news-detail__body ol{margin:0 0 1.4em;padding-left:1.4em}
.news-detail__body li{margin:0 0 0.4em}
.news-detail__body strong{color:#1A3A6E;font-weight:700}
.news-detail__body img{max-width:100%;height:auto;border-radius:8px;margin:1em 0}
.news-detail__body blockquote{margin:1.5em 0;padding:16px 20px;border-left:4px solid #1A3A6E;background:#F7FBFF;color:#22324A;font-size:14px;line-height:1.85;border-radius:0 8px 8px 0}
.news-detail__back{margin:40px 0 0;padding:32px 0 0;border-top:1px solid #E5ECF5;text-align:center}
.news-detail__back-link{display:inline-flex;align-items:center;gap:8px;color:#1A3A6E;font-size:14px;font-weight:700;text-decoration:none;padding:10px 20px;border:1px solid #DDE8F3;border-radius:999px;background:#fff;transition:background 0.2s,transform 0.2s}
.news-detail__back-link:hover{background:#EAF5FF;transform:translateX(-2px)}
.news-detail__back-link svg{width:16px;height:16px}

@media (max-width:767px){
  .news-hero{padding:48px 20px 56px}
  .news-hero__catch{font-size:26px}
  .news-hero__lead{font-size:14px}
  .news-list{padding:48px 20px 64px}
  .news-list__link{flex-wrap:wrap;gap:6px 16px;padding:18px 4px;min-height:64px}
  .news-list__link:hover{padding-left:12px}
  .news-list__date{flex:0 0 100%;font-size:12px}
  .news-list__title{flex:1;font-size:14px;line-height:1.65}
  .news-list__arrow{flex:0 0 auto}
  .news-detail{padding:40px 20px 56px}
  .news-detail__title{font-size:21px;line-height:1.55}
  .news-detail__body{font-size:14px}
  .news-detail__body h2{font-size:18px}
  .news-detail__body h3{font-size:16px}
}

/* ===== 記事スタイル拡張 (taishoku-smile column) =====
 * 適用範囲: .article-body 配下（single.php → the_content() の出力）
 * 追加日: 2026-05-08
 * 削除する場合は「===== END 記事スタイル拡張 =====」までを削除
 */

/* --- テーブル: 枠線・ヘッダー強調 --- */
.article-body table,
.column-article__table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.8em 0;
	font-size: 0.95em;
	background: var(--color-bg);
	box-shadow: var(--shadow-sm);
	border-radius: var(--radius-md);
	overflow: hidden;
}
.article-body table th,
.article-body table td,
.column-article__table th,
.column-article__table td {
	border: 1px solid var(--color-border);
	padding: 12px 16px;
	text-align: left;
	vertical-align: top;
	line-height: 1.7;
}
.article-body table th,
.column-article__table th {
	background: var(--color-primary-wash);
	color: var(--color-primary);
	font-weight: 700;
	white-space: nowrap;
}
.article-body table tbody tr:nth-child(even) td,
.column-article__table tbody tr:nth-child(even) td {
	background: #F9FBFD;
}
.column-article__table-wrap {
	overflow-x: auto;
	margin: 1.8em 0;
}
.column-article__table-wrap table {
	margin: 0;
}

/* --- 記事内 CTA ボタン: 中央揃え + 白文字 --- */
.article-body .fv__cta,
.article-body .column-article__cta-button,
.article-cta .mid-cta__primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: #FFFFFF !important;
	text-decoration: none;
	padding: 16px 36px;
	border-radius: var(--radius-pill);
	background: var(--gradient-cta-green);
	box-shadow: var(--shadow-cta);
	font-weight: 700;
	font-size: 1em;
	line-height: 1.4;
	text-align: center;
	transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.article-body .fv__cta:hover,
.article-body .column-article__cta-button:hover,
.article-cta .mid-cta__primary:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-lg);
	color: #FFFFFF !important;
}
.article-body .fv__cta *,
.article-body .column-article__cta-button *,
.article-cta .mid-cta__primary * {
	color: #FFFFFF !important;
	vertical-align: middle;
}
.article-body .column-article__cta {
	text-align: center;
	margin: 2em 0;
}
.article-cta .mid-cta__primary .line-icon {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
}

/* --- h3: ネイビー＋アクセントの左バー --- */
.article-body h3 {
	position: relative;
	margin: 2.2em 0 0.8em;
	padding: 6px 0 6px 18px;
	font-size: 1.2em;
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1.5;
	border-left: 5px solid var(--color-accent);
	background: linear-gradient(90deg, rgba(6,199,85,0.06) 0%, rgba(6,199,85,0) 60%);
}

/* --- 強調 (b / strong): 黄色マーカー風 --- */
.article-body b,
.article-body strong {
	background: linear-gradient(transparent 62%, #FFF59D 62%);
	padding: 0 2px;
	font-weight: 700;
	color: var(--color-primary);
}

/* --- 段落・リストの読みやすさ --- */
.article-body p {
	margin: 1em 0;
	line-height: 1.95;
}
.article-body ul,
.article-body ol {
	margin: 1em 0;
	padding-left: 1.6em;
}
.article-body li {
	margin: 0.5em 0;
	line-height: 1.85;
}
.article-body ul li::marker {
	color: var(--color-accent);
}
.article-body ol li::marker {
	color: var(--color-primary);
	font-weight: 700;
}

/* --- 引用 / column-article__quote --- */
.article-body blockquote,
.article-body .column-article__quote {
	margin: 1.6em 0;
	padding: 16px 20px;
	background: var(--color-primary-wash);
	border-left: 4px solid var(--color-primary-light);
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	font-size: 0.97em;
	line-height: 1.85;
}
.article-body blockquote p,
.article-body .column-article__quote p {
	margin: 0.4em 0;
}
.article-body blockquote cite,
.article-body .column-article__quote cite {
	display: block;
	margin-top: 10px;
	font-size: 0.85em;
	color: var(--color-text-muted);
	font-style: normal;
}
.article-body blockquote cite a,
.article-body .column-article__quote cite a {
	color: var(--color-primary-light);
	text-decoration: underline;
}

/* --- 注意書き column-article__note --- */
.article-body .column-article__note {
	margin: 1.6em 0;
	padding: 14px 18px;
	background: var(--color-warning-wash);
	border-left: 4px solid #FFA726;
	border-radius: 0 var(--radius-md) var(--radius-md) 0;
	font-size: 0.93em;
	line-height: 1.8;
	color: var(--color-text-secondary);
}
.article-body .column-article__note p {
	margin: 0.3em 0;
}

/* --- 数式・フローブロック --- */
.article-body pre.column-article__formula,
.article-body pre.column-article__flow {
	margin: 1.5em 0;
	padding: 16px 20px;
	background: var(--color-bg-soft);
	border: 1px solid var(--color-border);
	border-left: 4px solid var(--color-primary-light);
	border-radius: var(--radius-md);
	overflow-x: auto;
	font-family: "Consolas", "Menlo", "Courier New", monospace;
	font-size: 0.9em;
	line-height: 1.7;
	color: var(--color-text-secondary);
	white-space: pre;
}

/* --- 出典表記 --- */
.article-body .column-article__source {
	margin: 0.5em 0 1.5em;
	padding-left: 12px;
	border-left: 2px solid var(--color-border);
	font-size: 0.85em;
	color: var(--color-text-muted);
}
.article-body .column-article__source a {
	color: var(--color-primary-light);
	text-decoration: underline;
}

/* --- リード文 --- */
.article-body .column-article__lead {
	margin: 1.5em 0 2em;
	padding: 18px 22px;
	background: linear-gradient(135deg, var(--color-primary-wash) 0%, #F0F7FE 100%);
	border-radius: var(--radius-lg);
	font-size: 1.02em;
	line-height: 1.95;
}
.article-body .column-article__lead p {
	margin: 0.6em 0;
}

/* --- 目次 --- */
.article-body .column-article__toc {
	margin: 2em 0;
	padding: 18px 22px;
	background: var(--color-bg-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}
.article-body .column-article__toc-title {
	margin-bottom: 10px;
	font-weight: 700;
	color: var(--color-primary);
	font-size: 1.05em;
}
.article-body .column-article__toc ol {
	padding-left: 1.4em;
	margin: 0;
}
.article-body .column-article__toc li {
	margin: 0.35em 0;
}
.article-body .column-article__toc a {
	color: var(--color-text-primary);
	text-decoration: none;
}
.article-body .column-article__toc a:hover {
	color: var(--color-accent-dark);
	text-decoration: underline;
}

/* --- FAQ アコーディオン (details) --- */
.article-body details.column-article__faq-item,
.article-body .column-article__faq details {
	margin: 0.8em 0;
	padding: 14px 20px;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	transition: box-shadow var(--transition-base);
}
.article-body details.column-article__faq-item[open],
.article-body .column-article__faq details[open] {
	background: var(--color-primary-wash);
	box-shadow: var(--shadow-sm);
}
.article-body details > summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--color-primary);
	list-style: none;
	position: relative;
	padding-right: 30px;
	line-height: 1.6;
}
.article-body details > summary::-webkit-details-marker {
	display: none;
}
.article-body details > summary::after {
	content: "＋";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: var(--color-accent);
	font-weight: 700;
	font-size: 1.2em;
	transition: transform var(--transition-base);
}
.article-body details[open] > summary::after {
	content: "−";
	color: var(--color-primary);
}
.article-body details > summary + *,
.article-body details > .accordion__body {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--color-border);
	line-height: 1.85;
}

/* --- 記事末尾 必須表記・公的機関リンク --- */
.article-body .column-article__compliance {
	margin: 2.5em 0 1.5em;
	padding: 18px 22px;
	background: var(--color-bg-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	font-size: 0.9em;
	color: var(--color-text-secondary);
	line-height: 1.85;
}
.article-body .column-article__compliance h3,
.article-body .column-article__compliance h4 {
	margin: 0.8em 0 0.4em;
	padding: 0;
	background: none;
	border-left: none;
	color: var(--color-primary);
	font-size: 1em;
}
.article-body .column-article__compliance h4 {
	font-size: 0.95em;
}

/* --- 関連記事リンクリスト (article 末尾の <aside>) --- */
.article-body .column-article__related {
	margin: 2em 0;
	padding: 18px 22px;
	background: linear-gradient(135deg, var(--color-bg-soft) 0%, #FAFCFE 100%);
	border-radius: var(--radius-md);
}
.article-body .column-article__related h3 {
	background: none;
	border-left: none;
	padding-left: 0;
}

/* --- アイキャッチ図形 --- */
.article-body .column-article__eyecatch img {
	width: 100%;
	height: auto;
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
}

/* --- モバイル調整 --- */
@media (max-width: 640px) {
	.article-body table th,
	.article-body table td,
	.column-article__table th,
	.column-article__table td {
		padding: 10px 12px;
		font-size: 0.92em;
	}
	.article-body h3 {
		font-size: 1.1em;
	}
	.article-body .fv__cta,
	.article-body .column-article__cta-button,
	.article-cta .mid-cta__primary {
		padding: 14px 22px;
		font-size: 0.95em;
		width: 100%;
		max-width: 360px;
	}
}

/* ===== END 記事スタイル拡張 ===== */

/* CTA ボタン内の wpautop による <br> 抑制（テキスト下寄り問題の修正） */
.article-body .fv__cta br,
.article-body .column-article__cta-button br,
.article-cta .mid-cta__primary br {
	display: none;
}
.article-body .column-article__cta a,
.article-cta .mid-cta__primary {
	line-height: 1.4;
}

/* リストマーカー明示（テーマの reset で list-style:none が効いていたため） */
.article-body ul {
	list-style: disc outside !important;
	padding-left: 1.6em;
}
.article-body ul ul {
	list-style: circle outside !important;
}
.article-body ul ul ul {
	list-style: square outside !important;
}
.article-body ol {
	list-style: decimal outside !important;
	padding-left: 1.8em;
}
.article-body ol ol {
	list-style: lower-alpha outside !important;
}
.article-body li {
	display: list-item;
}
/* マーカー色アクセント（マーカーが出るようになった上で色を着ける） */
.article-body ul > li::marker {
	color: var(--color-accent);
}
.article-body ol > li::marker {
	color: var(--color-primary);
	font-weight: 700;
}

/* === 関連記事カードの画像レイアウト正規化 (2026-05-11) === */
.article-related .card-article {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--color-bg);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	transition: transform var(--transition-base), box-shadow var(--transition-base);
	text-decoration: none;
}
.article-related .card-article:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-md);
}
.article-related .card-article__image,
.card-article__image {
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-bg-soft);
	display: flex;
	align-items: center;
	justify-content: center;
}
.article-related .card-article__image img,
.card-article__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.article-related .card-article__body,
.card-article__body {
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.article-related .card-article__category,
.card-article__category {
	display: inline-block;
	align-self: flex-start;
	background: var(--color-accent-light);
	color: var(--color-accent-dark);
	padding: 3px 10px;
	border-radius: var(--radius-pill);
	font-size: 0.78em;
	font-weight: 700;
}
.article-related .card-article__title,
.card-article__title {
	font-size: 0.95em;
	font-weight: 700;
	color: var(--color-primary);
	line-height: 1.5;
	margin: 4px 0;
}
.article-related .card-article__date,
.card-article__date {
	font-size: 0.8em;
	color: var(--color-text-muted);
	margin: 0;
}
/* === END 関連記事カード === */

/* === column thumbnail safe-fit (2026-05-14) =================================
   表示は object-fit:contain + ブランドwash 余白で運用する。
   元画像の比率がコンテナとズレても切らずに収め、レイアウト変更時に
   画像を再生成しなくて済むようにするための覆い被せルール群。
============================================================================= */
.column-card__thumb{width:100%;aspect-ratio:16/9;height:auto;overflow:hidden;background:var(--color-primary-wash);display:flex;align-items:center;justify-content:center}
.column-card__thumb-img{width:100%;height:100%;object-fit:contain;display:block}
.column-card__thumb--placeholder{aspect-ratio:16/9;height:auto;background:#EFF4FA}
.card-article__image{width:100%;aspect-ratio:16/9;background:var(--color-primary-wash);display:flex;align-items:center;justify-content:center;overflow:hidden}
.card-article__image > img,.card-article__image img{width:100%;height:100%;object-fit:contain;display:block}
.article-header__eyecatch{background-color:var(--color-primary-wash)}
.article-header__eyecatch > img,.article-header__eyecatch img{width:100%;height:100%;object-fit:contain;display:block}
.column-pagination{margin-top:var(--space-6,48px);display:flex;justify-content:center}
.column-pagination ul{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;list-style:none;margin:0;padding:0}
.column-pagination li{margin:0;padding:0}
.column-pagination a,.column-pagination span{display:inline-flex;min-width:40px;height:40px;padding:0 12px;align-items:center;justify-content:center;border:1px solid var(--color-border,#DDE8F3);border-radius:8px;background:#fff;color:var(--color-primary,#1A3A6E);font-size:14px;font-weight:700;text-decoration:none;line-height:1}
.column-pagination a:hover{background:var(--color-primary-wash,#EAF5FF)}
.column-pagination .current{background:var(--color-primary,#1A3A6E);border-color:var(--color-primary,#1A3A6E);color:#fff}
@media (max-width:768px){.column-card__thumb{aspect-ratio:16/9;height:auto}}
/* === /column thumbnail safe-fit ============================================ */

/* === Accessibility: WCAG AA color contrast fixes (2026-05-14) ===============
   Lighthouse Accessibility audit で contrast 4.5:1 を満たさない箇所を
   後段で覆い被せる形で上書き。LINE 公式ブランドカラー (#06C755) は
   ブランド規定上維持し、Lighthouse側の指摘は industry-accepted exception
   として許容する（フォントサイズ・太字で大文字テキスト扱いに寄せる）。
============================================================================= */

/* 1) 低彩度クリーム背景上のサブ文字 #6b7280 → 4.5:1 を満たす #525861 へ */
.benefits__card-note,
.voices__breakdown,
.support__label,
.support__lead{color:#525861}

/* 2) パステルリボン (teal/beige/pink) の白文字 → 視認性を担保するため
      ネイビーに切替（プロダクトのアクセントカラー）。リボン背景はそのまま。 */
.benefits__ribbon-text,
.voices__ribbon-text{color:#1A3A6E;text-shadow:none}

/* 3) 「強み」セクションのナンバリングゴールド #c9a24c → 視認可能な濃色金へ */
.strengths__num{color:#8d6f23}

/* 4) 橋渡しブランドラベル：オレンジ背景上の白文字 → 背景を1段濃色化して 4.7:1 */
.bridge__brand{background-color:#a04500}

/* 5) アウトラインCTA：白背景上の薄緑文字 #04a547 → ダーク緑 #036b2e へ */
.mid-cta__primary{color:#036b2e}

/* 6) LINE グリーン (#06C755) 上の白文字 CTA は LINE ブランドガイドに従い
      維持。Lighthouse の指摘は容認するが、太字化＋ヘアラインで認知性を確保。 */
.fv__cta-text,
.flow__cta-button,
.footer__cta,
.sticky-cta-mobile{font-weight:700;letter-spacing:0.02em}

/* === /Accessibility contrast fixes ========================================== */
