@charset "UTF-8";

/* ==========================================
  Reset
========================================== */
*, *::before, *::after {box-sizing:border-box;}
html, body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, figure, blockquote, table, th, td {margin:0;padding:0;}
ul, ol {list-style:none;}
img {max-width:100%;height:auto;vertical-align:bottom;}
a {color:inherit;text-decoration:none;}
button {font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
table {border-collapse:collapse;border-spacing:0;}
th {text-align:left;font-weight:inherit;}
address {font-style:normal;}

/* ==========================================
  Root
========================================== */
:root {
  /* 色：ロゴ画像から抽出したネイビーとゴールドが基準 */
  --c-navy: #122c44;
  --c-navy-deep: #0a1b2b;
  --c-navy-light: #234a6e;
  --c-gold: #c08a28;
  --c-gold-light: #d9a141;
  --c-text: #232f3a;
  --c-text-sub: #5b6875;
  --c-white: #ffffff;
  --c-bg: #ffffff;
  --c-bg-alt: #f4f6f8;
  --c-border: #d8dee4;
  --c-border-light: #e6eaee;

  /* フォント */
  --ff-base: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  --ff-en: "Poppins", "Noto Sans JP", sans-serif;

  /* 文字サイズ */
  --fz-xs: 0.6875rem;
  --fz-s: 0.8125rem;
  --fz-m: 0.875rem;
  --fz-base: 0.9375rem;
  --fz-l: 1.0625rem;
  --fz-xl: 1.25rem;
  --fz-2xl: 1.5rem;
  --fz-3xl: 1.75rem;
  --fz-4xl: 2rem;

  /* 余白 */
  --sp-xs: 0.5rem;
  --sp-s: 0.875rem;
  --sp-m: 1.25rem;
  --sp-l: 2rem;
  --sp-xl: 3rem;
  --sp-2xl: 3.5rem;
  --sp-pad: 1rem;

  /* その他 */
  --radius-s: 2px;
  --radius-m: 4px;
  --header-bar-h: 56px;
  --header-h: 56px;
  --content-w: 1100px;
}
@media (min-width:768px) {
  :root {
    --fz-2xl: 1.625rem;
    --fz-3xl: 1.875rem;
    --fz-4xl: 2.25rem;
    --sp-xl: 3.5rem;
    --sp-2xl: 4.5rem;
    --sp-pad: 1.75rem;
    --header-bar-h: 68px;
    --header-h: 114px;
  }
}
@media (min-width:1024px) {
  :root {
    --fz-4xl: 2.5rem;
    --sp-2xl: 5rem;
  }
}

/* ==========================================
  Base
========================================== */
html {scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body {font-family:var(--ff-base);font-size:var(--fz-m);font-weight:400;line-height:1.8;color:var(--c-text);background-color:var(--c-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
h1, h2, h3, h4 {line-height:1.5;font-weight:700;}
::selection {background-color:var(--c-navy);color:var(--c-white);}
:focus-visible {outline:2px solid var(--c-gold);outline-offset:2px;}
section[id], article[id] {scroll-margin-top:calc(var(--header-h) + var(--sp-xs));}
@media (min-width:768px) {
  body {font-size:var(--fz-base);}
}

/* ==========================================
  Utility
========================================== */
.u-show {display:block;}
.u-hide {display:none;}
.u-sp-only {display:block;}
br.u-sp-only {display:inline;}
.u-tb-only {display:none;}
.u-pc-only {display:none;}
.u-center {text-align:center;}
@media (min-width:768px) {
  .u-sp-only {display:none;}
  br.u-sp-only {display:none;}
  .u-tb-only {display:block;}
}
@media (min-width:1024px) {
  .u-tb-only {display:none;}
  .u-pc-only {display:block;}
}

/* ==========================================
  Layout
========================================== */
.l-container {width:100%;max-width:var(--content-w);margin:0 auto;padding:0 var(--sp-pad);}
.l-container--narrow {max-width:840px;}
.l-section {padding:var(--sp-2xl) 0;}
.l-section--alt {background-color:var(--c-bg-alt);border-top:1px solid var(--c-border-light);border-bottom:1px solid var(--c-border-light);}

/* ==========================================
  Component / Section Title
========================================== */
.c-title {margin-bottom:var(--sp-l);}
.c-title--center {text-align:center;}
.c-title__en {display:block;font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;line-height:1.4;letter-spacing:0.16em;color:var(--c-text-sub);text-transform:uppercase;margin-bottom:var(--sp-xs);}
.c-title__main {font-size:var(--fz-2xl);font-weight:700;letter-spacing:0.04em;color:var(--c-navy);}
.c-title__main::after {content:"";display:block;width:36px;height:2px;margin-top:var(--sp-s);background-color:var(--c-gold);}
.c-title--center .c-title__main::after {margin-left:auto;margin-right:auto;}
.c-title__sub {font-size:var(--fz-m);font-weight:400;line-height:1.9;color:var(--c-text-sub);margin-top:var(--sp-s);}
@media (min-width:768px) {
  .c-title {margin-bottom:var(--sp-xl);}
  .c-title__main {font-size:var(--fz-3xl);}
  .c-title__sub {font-size:var(--fz-base);}
}

/* ==========================================
  Component / Button
========================================== */
.c-btn {display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-xs);min-height:50px;padding:0 var(--sp-m);font-size:var(--fz-m);font-weight:700;letter-spacing:0.04em;border-radius:var(--radius-m);transition:background-color 0.25s, border-color 0.25s, color 0.25s;}
.c-btn i {font-size:1.15em;}
.c-btn--gold {background-color:var(--c-gold);color:var(--c-white);}
.c-btn--gold:hover {background-color:var(--c-gold-light);}
.c-btn--navy {background-color:var(--c-navy);color:var(--c-white);}
.c-btn--navy:hover {background-color:var(--c-navy-light);}
.c-btn--outline {border:1px solid var(--c-border);background-color:var(--c-white);color:var(--c-navy);}
.c-btn--outline:hover {border-color:var(--c-navy);background-color:var(--c-navy);color:var(--c-white);}
.c-btn--ghost {border:1px solid rgba(255, 255, 255, 0.5);color:var(--c-white);}
.c-btn--ghost:hover {background-color:var(--c-white);color:var(--c-navy);}
.c-btn--wide {width:100%;}
.c-btn-group {display:flex;flex-direction:column;gap:var(--sp-xs);}
@media (min-width:768px) {
  .c-btn {min-height:54px;padding:0 var(--sp-l);font-size:var(--fz-base);}
  .c-btn--wide {width:auto;min-width:260px;}
  .c-btn-group {flex-direction:row;flex-wrap:wrap;gap:var(--sp-s);}
  .c-btn-group--center {justify-content:center;}
}

/* ==========================================
  Component / Placeholder
========================================== */
.c-ph {position:relative;width:100%;overflow:hidden;background-color:#e9edf0;border:1px solid var(--c-border);border-radius:var(--radius-s);}
.c-ph::before {content:"IMAGE";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.2em;color:#9daab5;}
.c-ph img {position:relative;z-index:1;width:100%;height:100%;object-fit:cover;}
.c-ph:has(img) {background-color:transparent;border:none;}
.c-ph:has(img)::before {content:none;}
.c-ph--16x9 {aspect-ratio:16 / 9;}
.c-ph--4x3 {aspect-ratio:4 / 3;}
.c-ph--1x1 {aspect-ratio:1 / 1;}
.c-ph--3x4 {aspect-ratio:3 / 4;}
.c-ph--21x9 {aspect-ratio:21 / 9;}

/* ==========================================
  Component / Header
========================================== */
.c-header {position:fixed;top:0;left:0;z-index:120;width:100%;background-color:var(--c-white);border-bottom:1px solid var(--c-border);transition:box-shadow 0.25s;}
.c-header.is-scrolled {box-shadow:0 1px 6px rgba(18, 44, 68, 0.12);}
.c-header__bar {height:var(--header-bar-h);}
.c-header__inner {display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--content-w);margin:0 auto;padding:0 var(--sp-pad);}
.c-header__logo {display:flex;align-items:center;}
.c-header__logo img {width:104px;}
.c-header__info {display:none;}
.c-header__toggle {display:flex;flex-direction:column;justify-content:center;gap:6px;width:40px;height:40px;padding:0 6px;margin-right:-6px;}
.c-header__toggle span {display:block;width:100%;height:2px;background-color:var(--c-navy);transition:transform 0.25s, opacity 0.25s;}
.c-header__toggle[aria-expanded="true"] span:nth-child(1) {transform:translateY(8px) rotate(45deg);}
.c-header__toggle[aria-expanded="true"] span:nth-child(2) {opacity:0;}
.c-header__toggle[aria-expanded="true"] span:nth-child(3) {transform:translateY(-8px) rotate(-45deg);}
@media (min-width:768px) {
  .c-header__logo img {width:126px;}
  .c-header__info {display:flex;align-items:center;gap:var(--sp-m);}
  .c-header__tel {display:flex;flex-direction:column;line-height:1.4;text-align:right;}
  .c-header__tel-label {font-size:var(--fz-xs);color:var(--c-text-sub);letter-spacing:0.04em;}
  .c-header__tel-num {font-family:var(--ff-en);font-size:var(--fz-xl);font-weight:700;letter-spacing:0.02em;color:var(--c-navy);}
  .c-header__tel-time {font-size:var(--fz-xs);color:var(--c-text-sub);}
  .c-header__cta {display:inline-flex;align-items:center;gap:var(--sp-xs);height:42px;padding:0 var(--sp-m);border-radius:var(--radius-m);background-color:var(--c-gold);color:var(--c-white);font-size:var(--fz-m);font-weight:700;letter-spacing:0.04em;transition:background-color 0.25s;}
  .c-header__cta:hover {background-color:var(--c-gold-light);}
  .c-header__toggle {display:none;}
}

/* ==========================================
  Component / Global Nav
========================================== */
.c-gnav {display:none;background-color:var(--c-navy);}
.c-gnav__list {display:flex;max-width:var(--content-w);margin:0 auto;padding:0 var(--sp-pad);}
.c-gnav__item {flex:1;border-right:1px solid rgba(255, 255, 255, 0.18);}
.c-gnav__item:first-child {border-left:1px solid rgba(255, 255, 255, 0.18);}
.c-gnav__link {display:flex;align-items:center;justify-content:center;height:46px;border-bottom:3px solid transparent;font-size:var(--fz-m);font-weight:700;letter-spacing:0.06em;color:var(--c-white);transition:background-color 0.25s, border-color 0.25s;}
.c-gnav__link:hover {background-color:rgba(255, 255, 255, 0.1);}
.c-gnav__link[aria-current="page"] {border-bottom-color:var(--c-gold);background-color:rgba(255, 255, 255, 0.06);}
@media (min-width:768px) {
  .c-gnav {display:block;}
}

/* ==========================================
  Component / Drawer
========================================== */
.c-drawer {position:fixed;inset:0;z-index:110;padding:calc(var(--header-bar-h) + var(--sp-m)) var(--sp-pad) var(--sp-xl);background-color:var(--c-white);opacity:0;visibility:hidden;transition:opacity 0.25s, visibility 0.25s;overflow-y:auto;}
.c-drawer.is-open {opacity:1;visibility:visible;}
.c-drawer__list {margin-bottom:var(--sp-l);border-top:1px solid var(--c-border);}
.c-drawer__item {border-bottom:1px solid var(--c-border);}
.c-drawer__link {display:flex;align-items:baseline;gap:var(--sp-s);padding:var(--sp-s) var(--sp-xs);font-size:var(--fz-l);font-weight:700;color:var(--c-navy);}
.c-drawer__link-en {font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.14em;color:var(--c-text-sub);}
.c-drawer__contact {display:flex;flex-direction:column;gap:2px;padding:var(--sp-m);background-color:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:var(--radius-s);font-size:var(--fz-s);color:var(--c-text-sub);}
.c-drawer__tel {font-family:var(--ff-en);font-size:var(--fz-xl);font-weight:700;letter-spacing:0.02em;color:var(--c-navy);}
body.is-menu-open {overflow:hidden;}
@media (min-width:768px) {
  .c-drawer {display:none;}
}

/* ==========================================
  Component / Breadcrumb
========================================== */
.c-breadcrumb {padding:var(--sp-xs) 0;background-color:var(--c-bg-alt);border-bottom:1px solid var(--c-border-light);}
.c-breadcrumb__list {display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-xs);font-family:var(--ff-en);font-size:var(--fz-xs);letter-spacing:0.1em;color:var(--c-text-sub);}
.c-breadcrumb__item {display:flex;align-items:center;gap:var(--sp-xs);}
.c-breadcrumb__item:not(:last-child)::after {content:"/";color:#b3bdc6;}
.c-breadcrumb__item a {transition:color 0.25s;}
.c-breadcrumb__item a:hover {color:var(--c-navy);}
.c-breadcrumb__item[aria-current="page"] {color:var(--c-navy);font-weight:700;}

/* ==========================================
  Component / Page Head
========================================== */
.c-pagehead {padding:calc(var(--header-h) + var(--sp-l)) 0 var(--sp-l);background-color:var(--c-navy);color:var(--c-white);}
.c-pagehead__en {display:block;font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.2em;color:rgba(255, 255, 255, 0.6);text-transform:uppercase;margin-bottom:var(--sp-xs);}
.c-pagehead__title {font-size:var(--fz-2xl);font-weight:800;letter-spacing:0.06em;}
.c-pagehead__lead {margin-top:var(--sp-s);font-size:var(--fz-m);color:rgba(255, 255, 255, 0.78);}
@media (min-width:768px) {
  .c-pagehead {padding:calc(var(--header-h) + var(--sp-xl)) 0 var(--sp-xl);}
  .c-pagehead__title {font-size:var(--fz-3xl);}
  .c-pagehead__lead {font-size:var(--fz-base);}
}

/* ==========================================
  Component / Table
========================================== */
.c-table {width:100%;font-size:var(--fz-m);border:1px solid var(--c-border);}
.c-table th, .c-table td {display:block;width:100%;padding:var(--sp-xs) var(--sp-s);border-bottom:1px solid var(--c-border);line-height:1.8;}
.c-table th {background-color:var(--c-bg-alt);font-weight:700;color:var(--c-navy);}
.c-table tr:last-child td {border-bottom:none;}
@media (min-width:768px) {
  .c-table {font-size:var(--fz-base);}
  .c-table th, .c-table td {display:table-cell;width:auto;padding:var(--sp-s) var(--sp-m);border:1px solid var(--c-border);vertical-align:top;}
  .c-table th {width:30%;}
  .c-table tr:last-child td {border-bottom:1px solid var(--c-border);}
}

/* ==========================================
  Component / Card
========================================== */
.c-card {display:flex;flex-direction:column;height:100%;padding:var(--sp-m);background-color:var(--c-white);border:1px solid var(--c-border);border-top:3px solid var(--c-navy);border-radius:var(--radius-s);transition:background-color 0.25s;}
.c-card:hover {background-color:var(--c-bg-alt);}
.c-card__num {font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.16em;color:var(--c-text-sub);margin-bottom:var(--sp-xs);}
.c-card__icon {display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:var(--sp-s);border-radius:var(--radius-s);background-color:var(--c-bg-alt);color:var(--c-navy);font-size:1.375rem;}
.c-card__title {font-size:var(--fz-l);font-weight:700;color:var(--c-navy);margin-bottom:var(--sp-xs);}
.c-card__text {font-size:var(--fz-m);line-height:1.85;color:var(--c-text-sub);}
.c-card__link {display:inline-flex;align-items:center;gap:var(--sp-xs);margin-top:var(--sp-s);font-size:var(--fz-s);font-weight:700;color:var(--c-navy);}
.c-card-list {display:grid;grid-template-columns:1fr;gap:var(--sp-s);}
@media (min-width:768px) {
  .c-card {padding:var(--sp-m);}
  .c-card-list {grid-template-columns:repeat(2, 1fr);gap:var(--sp-m);}
}
@media (min-width:1024px) {
  .c-card-list {grid-template-columns:repeat(4, 1fr);}
  .c-card-list--3col {grid-template-columns:repeat(3, 1fr);}
}

/* ==========================================
  Component / CTA
========================================== */
.c-cta {padding:var(--sp-2xl) 0;background-color:var(--c-navy);color:var(--c-white);}
.c-cta__inner {text-align:center;}
.c-cta__en {display:block;font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.2em;color:rgba(255, 255, 255, 0.6);text-transform:uppercase;margin-bottom:var(--sp-xs);}
.c-cta__title {font-size:var(--fz-2xl);font-weight:700;letter-spacing:0.04em;margin-bottom:var(--sp-s);}
.c-cta__text {font-size:var(--fz-m);color:rgba(255, 255, 255, 0.78);margin-bottom:var(--sp-l);}
.c-cta__contacts {display:grid;grid-template-columns:1fr;gap:var(--sp-s);max-width:720px;margin:0 auto;}
.c-cta__box {padding:var(--sp-m);background-color:rgba(255, 255, 255, 0.05);border:1px solid rgba(255, 255, 255, 0.2);border-radius:var(--radius-s);}
.c-cta__box-label {display:flex;align-items:center;justify-content:center;gap:var(--sp-xs);font-size:var(--fz-s);font-weight:700;color:rgba(255, 255, 255, 0.72);margin-bottom:var(--sp-xs);}
.c-cta__tel {display:inline-block;font-family:var(--ff-en);font-size:var(--fz-2xl);font-weight:700;letter-spacing:0.02em;color:var(--c-white);}
.c-cta__mail {display:inline-block;font-family:var(--ff-en);font-size:var(--fz-base);font-weight:700;color:var(--c-white);word-break:break-all;}
.c-cta__note {font-size:var(--fz-xs);color:rgba(255, 255, 255, 0.6);margin-top:2px;}
@media (min-width:768px) {
  .c-cta__title {font-size:var(--fz-3xl);}
  .c-cta__text {font-size:var(--fz-base);}
  .c-cta__contacts {grid-template-columns:repeat(2, 1fr);gap:var(--sp-m);}
}

/* ==========================================
  Component / Footer
========================================== */
.c-footer {background-color:var(--c-navy-deep);color:rgba(255, 255, 255, 0.76);}
.c-footer__inner {display:flex;flex-direction:column;gap:var(--sp-l);padding:var(--sp-xl) 0;}
.c-footer__brand-logo {width:120px;filter:brightness(0) invert(1);margin-bottom:var(--sp-xs);}
.c-footer__brand-text {font-size:var(--fz-m);line-height:1.85;}
.c-footer__nav-title {font-size:var(--fz-m);font-weight:700;color:var(--c-white);padding-bottom:var(--sp-xs);margin-bottom:var(--sp-xs);border-bottom:1px solid rgba(255, 255, 255, 0.18);}
.c-footer__list {display:flex;flex-direction:column;gap:2px;}
.c-footer__list a {display:inline-block;padding:2px 0;font-size:var(--fz-m);transition:color 0.25s;}
.c-footer__list a:hover {color:var(--c-white);}
.c-footer__info {font-size:var(--fz-m);line-height:1.9;}
.c-footer__copyright {padding:var(--sp-xs) 0;background-color:var(--c-navy);font-family:var(--ff-en);font-size:var(--fz-xs);letter-spacing:0.06em;text-align:center;color:rgba(255, 255, 255, 0.66);}
@media (min-width:768px) {
  .c-footer__inner {display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:var(--sp-l);padding:var(--sp-xl) 0;}
}

/* ==========================================
  Component / Scroll Animation
========================================== */
.js-fade {opacity:0;transform:translateY(6px);transition:opacity 0.5s, transform 0.5s;}
.js-fade.is-visible {opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto;}
  .js-fade {opacity:1;transform:none;transition:none;}
}

/* ==========================================
  Hero
========================================== */
.p-hero {padding:calc(var(--header-h) + var(--sp-xl)) 0 var(--sp-xl);background-color:var(--c-navy);color:var(--c-white);}
.p-hero__inner {display:flex;flex-direction:column;gap:var(--sp-l);}
.p-hero__label {display:inline-block;align-self:flex-start;padding:2px var(--sp-xs);border:1px solid rgba(255, 255, 255, 0.4);border-radius:var(--radius-s);font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.14em;color:rgba(255, 255, 255, 0.8);}
.p-hero__title {font-size:var(--fz-4xl);font-weight:800;line-height:1.5;letter-spacing:0.04em;margin:var(--sp-s) 0 var(--sp-s);}
.p-hero__lead {font-size:var(--fz-m);line-height:1.95;color:rgba(255, 255, 255, 0.8);margin-bottom:var(--sp-m);}
.p-hero__visual .c-ph {aspect-ratio:16 / 9;}
@media (min-width:768px) {
  .p-hero {padding:calc(var(--header-h) + var(--sp-2xl)) 0 var(--sp-2xl);}
  .p-hero__lead {font-size:var(--fz-base);}
}
@media (min-width:1024px) {
  .p-hero__inner {display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:var(--sp-xl);}
  .p-hero__visual .c-ph {aspect-ratio:4 / 3;}
}

/* ==========================================
  Service Overview
========================================== */
.p-overview__foot {margin-top:var(--sp-l);text-align:center;}

/* ==========================================
  Reason
========================================== */
.p-reason__list {display:grid;grid-template-columns:1fr;gap:var(--sp-s);}
.p-reason__item {display:flex;flex-direction:column;padding:var(--sp-m);background-color:var(--c-white);border:1px solid var(--c-border);border-radius:var(--radius-s);}
.p-reason__num {font-family:var(--ff-en);font-size:var(--fz-xl);font-weight:700;line-height:1;color:var(--c-navy-light);margin-bottom:var(--sp-xs);}
.p-reason__title {font-size:var(--fz-l);font-weight:700;color:var(--c-navy);margin-bottom:var(--sp-xs);}
.p-reason__text {font-size:var(--fz-m);line-height:1.85;color:var(--c-text-sub);}
.p-reason__visual {margin-bottom:var(--sp-l);}
@media (min-width:768px) {
  .p-reason__item {flex-direction:row;gap:var(--sp-m);align-items:flex-start;}
  .p-reason__num {font-size:var(--fz-2xl);min-width:56px;margin-bottom:0;padding-top:2px;}
}
@media (min-width:1024px) {
  .p-reason__inner {display:grid;grid-template-columns:0.85fr 1.4fr;align-items:start;gap:var(--sp-l);}
  .p-reason__visual {margin-bottom:0;}
  .p-reason__visual .c-ph {aspect-ratio:4 / 5;}
}

/* ==========================================
  Flow
========================================== */
.p-flow__list {display:grid;grid-template-columns:1fr;gap:var(--sp-s);}
.p-flow__item {padding:var(--sp-m);background-color:var(--c-white);border:1px solid var(--c-border);border-radius:var(--radius-s);}
.p-flow__step {display:inline-flex;align-items:center;gap:var(--sp-xs);padding:2px var(--sp-xs);margin-bottom:var(--sp-xs);background-color:var(--c-navy);border-radius:var(--radius-s);font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.14em;color:var(--c-white);}
.p-flow__title {font-size:var(--fz-base);font-weight:700;color:var(--c-navy);margin-bottom:var(--sp-xs);}
.p-flow__text {font-size:var(--fz-m);line-height:1.85;color:var(--c-text-sub);}
@media (min-width:768px) {
  .p-flow__list {grid-template-columns:repeat(2, 1fr);gap:var(--sp-m);}
}
@media (min-width:1024px) {
  .p-flow__list {grid-template-columns:repeat(4, 1fr);}
}

/* ==========================================
  Company Bridge
========================================== */
.p-bridge {padding:var(--sp-2xl) 0;background-color:var(--c-navy);color:var(--c-white);}
.p-bridge__inner {display:flex;flex-direction:column;gap:var(--sp-l);}
.p-bridge__en {display:block;font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.2em;color:rgba(255, 255, 255, 0.6);text-transform:uppercase;margin-bottom:var(--sp-xs);}
.p-bridge__title {font-size:var(--fz-2xl);font-weight:700;letter-spacing:0.04em;}
.p-bridge__title::after {content:"";display:block;width:36px;height:2px;margin-top:var(--sp-s);background-color:var(--c-gold);}
.p-bridge__text {font-size:var(--fz-m);line-height:1.95;color:rgba(255, 255, 255, 0.8);margin:var(--sp-s) 0 var(--sp-m);}
.p-bridge__dl {margin-bottom:var(--sp-m);font-size:var(--fz-m);border-top:1px solid rgba(255, 255, 255, 0.2);}
.p-bridge__row {display:flex;gap:var(--sp-s);padding:var(--sp-xs) 0;border-bottom:1px solid rgba(255, 255, 255, 0.2);}
.p-bridge__dt {min-width:84px;font-weight:700;color:var(--c-white);}
.p-bridge__dd {color:rgba(255, 255, 255, 0.84);}
@media (min-width:768px) {
  .p-bridge__title {font-size:var(--fz-3xl);}
  .p-bridge__text {font-size:var(--fz-base);}
}
@media (min-width:1024px) {
  .p-bridge__inner {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--sp-xl);}
}

/* ==========================================
  Service Detail
========================================== */
.p-service__item {padding:var(--sp-2xl) 0;border-bottom:1px solid var(--c-border);}
.p-service__item:last-child {border-bottom:none;}
.p-service__head {margin-bottom:var(--sp-m);}
.p-service__num {display:block;font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.18em;color:var(--c-text-sub);margin-bottom:var(--sp-xs);}
.p-service__title {font-size:var(--fz-xl);font-weight:700;color:var(--c-navy);}
.p-service__title::after {content:"";display:block;width:36px;height:2px;margin-top:var(--sp-s);background-color:var(--c-gold);}
.p-service__lead {font-size:var(--fz-m);line-height:1.95;color:var(--c-text-sub);margin-top:var(--sp-s);}
.p-service__visual {margin-bottom:var(--sp-m);}
.p-service__visual .c-ph {aspect-ratio:16 / 9;}
.p-service__blocks {display:grid;grid-template-columns:1fr;gap:var(--sp-s);}
.p-service__block {padding:var(--sp-m);background-color:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:var(--radius-s);}
.p-service__block-title {display:flex;align-items:center;gap:var(--sp-xs);font-size:var(--fz-base);font-weight:700;color:var(--c-navy);margin-bottom:var(--sp-s);padding-bottom:var(--sp-xs);border-bottom:1px solid var(--c-border);}
.p-service__block-title i {font-size:1.15em;}
.p-service__list {display:flex;flex-direction:column;gap:var(--sp-xs);}
.p-service__list li {position:relative;padding-left:var(--sp-s);font-size:var(--fz-m);line-height:1.85;}
.p-service__list li::before {content:"";position:absolute;top:0.8em;left:0;width:6px;height:1px;background-color:var(--c-navy-light);}
.p-service__steps {display:flex;flex-direction:column;gap:var(--sp-xs);counter-reset:step;}
.p-service__step {position:relative;padding-left:calc(var(--sp-m) + var(--sp-xs));font-size:var(--fz-m);line-height:1.85;counter-increment:step;}
.p-service__step::before {content:counter(step);position:absolute;top:0.3em;left:0;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-s);background-color:var(--c-navy);color:var(--c-white);font-family:var(--ff-en);font-size:var(--fz-xs);font-weight:700;line-height:1;}
@media (min-width:768px) {
  .p-service__title {font-size:var(--fz-2xl);}
  .p-service__lead {font-size:var(--fz-base);}
  .p-service__blocks {gap:var(--sp-m);}
}
@media (min-width:1024px) {
  .p-service__top {display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:var(--sp-l);margin-bottom:var(--sp-l);}
  .p-service__head {margin-bottom:0;}
  .p-service__visual {margin-bottom:0;}
  .p-service__visual .c-ph {aspect-ratio:4 / 3;}
  .p-service__item:nth-child(even) .p-service__visual {order:-1;}
  .p-service__blocks {grid-template-columns:repeat(3, 1fr);}
}

/* ==========================================
  Company
========================================== */
.p-company__inner {display:flex;flex-direction:column;gap:var(--sp-l);}
.p-company__note {font-size:var(--fz-m);line-height:1.85;color:var(--c-text-sub);}
@media (min-width:1024px) {
  .p-company__inner {display:grid;grid-template-columns:0.8fr 1.6fr;align-items:start;gap:var(--sp-l);}
}
