/* ==========================================================================
   ATERIA SITE - PC BASE STYLES
   --------------------------------------------------------------------------
   このファイル: PCを基準とした共通スタイル + 各ページのPC調整
   タブレット/スマホの最終調整: assets/css/responsive.css

   主な編集場所
   01. 共通カラー・基本設定      : :root / body / .container
   02. 共通ヘッダー             : .site-header ～
   03. 下層ページヒーロー       : .page-hero ～
   04. 共通CTA                  : .common-cta ～
   05. 共通フッター             : .site-footer ～
   06. TOP                      : .top-* / .recruit-*
   07. アテリアについて         : body[data-page="about"] / .about-*
   08. できること               : body[data-page="service"] / .service-*
   09. ご利用までの流れ         : body[data-page="flow"] / .flow-*
   10. お知らせ                 : body[data-page="news"] / .news-*
   11. お問い合わせ             : body[data-page="contact"] / .contact-*
   ========================================================================== */



/* ==========================================================================
   00. FONT SETTINGS / フォント設定
   --------------------------------------------------------------------------
   日本語:
     - 游ゴシック Medium を第一優先
     - 未搭載端末では Yu Gothic / Hiragino / Noto Sans JP へフォールバック

   英字装飾:
     - Galada
     - .font-galada / .en-title / .en-label を付けた要素だけに使用

   ※ 游ゴシックのフォントファイル自体はサイトに同梱していません。
   ========================================================================== */

:root{
  --font-ja:"Yu Gothic Medium","Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;
  --font-en:"Galada","Brush Script MT",cursive;
}

body,
button,
input,
select,
textarea{
  font-family:var(--font-ja);
}

body{
  font-weight:500;
}

.font-galada,
.en-title,
.en-label{
  font-family:var(--font-en);
  font-weight:400;
  letter-spacing:.02em;
}

.en-label{
  line-height:1.1;
}

/* ==========================================================================
   01. COLOR / BASE SETTINGS
   ========================================================================== */

:root{
  --orange:#FCA400;
  --orange-dark:#ef9200;
  --green:#8FC31F;
  --cream:#FEF1CC;
  --pink:#FFF0F4;
  --green-soft:#ECFFBC;
  --ink:#342b27;
  --muted:#6d625c;
  --line:#eadfce;
  --paper:#fffdfa;
  --max:1120px;
  --shadow:0 10px 30px rgba(87,67,46,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:var(--font-ja);
  line-height:1.85;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.section{padding:72px 0}
.section--soft{background:linear-gradient(180deg,#fffdf9,#fffaf2)}
.section-title{text-align:center;margin:0 0 34px;font-size:clamp(28px,3vw,40px);letter-spacing:.08em}
.section-title::after{content:"";display:block;width:42px;height:3px;background:var(--orange);margin:12px auto 0;border-radius:999px}
.lead{font-size:18px;color:var(--green);font-weight:700}
.muted{color:var(--muted)}
.grid{display:grid;gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border-radius:999px;border:2px solid var(--orange);font-weight:700;transition:.2s ease}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--orange);color:#fff}
.btn--ghost{background:#fff;color:var(--orange)}
.eyebrow{color:var(--orange);font-weight:700;letter-spacing:.08em}
.orange{color:var(--orange)}
.green{color:var(--green)}

/* ==========================================================================
   00. COMMON HEADER / 全ページ共通ヘッダー
   --------------------------------------------------------------------------
   本文の .container は使用せず、TOP基準の幅と中央配置を専用管理。
   ページごとの本文幅変更がロゴ・メニュー・CTAへ波及しない構造。
   ========================================================================== */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid #eee}
.header-inner{width:min(1120px,calc(100% - 48px));margin-inline:auto;height:96px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:12px;min-width:255px}
.brand img{width:82px;height:82px;object-fit:contain}
.brand-copy small{display:block;font-size:12px;font-weight:700}
.brand-copy strong{display:block;font-size:24px;letter-spacing:.08em}
.global-nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-weight:700;font-size:15px}
.global-nav a{position:relative;white-space:nowrap}
.global-nav a.active,.global-nav a:hover{color:var(--orange)}
.global-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:3px;background:var(--orange);border-radius:999px}
/* ==========================================================================
   01. MOBILE MENU CTA / PCではメニュー内CTAを非表示
   ========================================================================== */
.mobile-menu-cta{display:none}
.header-cta{margin-left:4px}
.menu-toggle{display:none;width:46px;height:46px;border:0;border-radius:12px;background:#fff3d6}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px auto}

/* Breadcrumb / page hero */
.breadcrumb{padding:16px 0;font-size:13px;color:#62574f}
.page-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fffdf6,#fff)}
.page-hero::before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:var(--cream);opacity:.5;left:-110px;bottom:-100px}
.page-hero-grid{min-height:300px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:46px}
.page-hero-copy{padding:30px 0 46px}
.page-hero h1{font-size:clamp(38px,4.2vw,54px);margin:0 0 16px;letter-spacing:.05em;line-height:1.25}
.page-hero h1 .accent{color:var(--orange)}
.page-hero-media{align-self:stretch;min-height:280px}
.page-hero-media img{width:100%;height:100%;object-fit:cover;border-radius:0 0 0 120px}

/* CTA */
.common-cta{margin:18px auto 48px;width:min(var(--max),calc(100% - 48px));overflow:hidden;border:1px solid #f0dfbd;border-radius:20px;background:linear-gradient(100deg,#fff8e7 0%,#fff6e4 52%,#fff0f4 100%);position:relative}
.common-cta-inner{min-height:190px;display:grid;grid-template-columns:1fr 250px;align-items:center;padding:28px 30px 28px 34px}
.common-cta h2{margin:0 0 8px;font-size:30px}
.common-cta p{margin:0 0 18px}
.cta-buttons{display:flex;gap:14px;flex-wrap:wrap}
.cta-person{position:absolute;right:0;bottom:0;width:250px;height:100%;overflow:hidden}
.cta-person img{width:100%;height:100%;object-fit:cover;object-position:center 18%}

/* Footer */
.site-footer{background:#fff9e9;border-top:1px solid #f2e3c6}
.footer-grid{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:36px;padding:38px 0 28px}
.footer-title{font-weight:800;margin-bottom:12px}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:14px}
/* フッターリンクは単語途中で改行させない（例: プライバシーポリシー） */
.footer-links a{white-space:nowrap}
.footer-links a::before{content:"◆";font-size:8px;color:var(--green);margin-right:7px}
.footer-copy{background:var(--orange);color:#fff;text-align:center;padding:10px 16px;font-size:13px}


/* ==========================================================================
   05A. FOOTER WIDTH LOCK / フッター表示幅の統一【最優先】
   --------------------------------------------------------------------------
   各ページ本文の .container 幅とは完全に分離します。
   PC    : 最大1120px
   Tablet: 最大900px / 左右20px
   Mobile: 左右16px
   このブロックを変更すれば、6ページすべてのフッター幅が同時に変わります。
   ========================================================================== */
.footer-inner{
  width:min(var(--max),calc(100% - 48px));
  margin-inline:auto;
}

@media (max-width:1100px){
  .footer-inner{width:min(calc(100% - 40px),900px)}
}

@media (max-width:767px){
  .footer-inner{width:calc(100% - 32px)}
}

/* 共通ボタン内のSVGアイコン */
.btn-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* CTA見出し：「ご相談ください！」の途中改行を禁止 */
.common-cta h2{
  word-break:keep-all;
  overflow-wrap:normal;
}
.cta-title-rest{
  white-space:nowrap;
}

/* Common content */
.feature-grid{grid-template-columns:repeat(4,1fr)}
.feature-card{padding:28px 22px;text-align:center}
.feature-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#fff8e9;margin:0 auto 16px;font-size:34px}
.feature-card h3{font-size:18px;margin:0 0 10px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.photo-rounded{border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.photo-rounded img{width:100%;height:100%;object-fit:cover}
.info-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.info-table th,.info-table td{padding:11px 16px;border-bottom:1px solid var(--line);text-align:left}
.info-table th{width:145px;background:#fff7e3}

/* Top */
.top-hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#fffdf8 0%,#fff 46%,#fff4e1 100%)}
.top-hero-grid{min-height:520px;display:grid;grid-template-columns:.95fr 1.15fr;align-items:center;gap:30px}
.top-hero h1{font-size:48px;line-height:1.45;margin:10px 0 16px}
.top-hero-media img{width:100%;height:420px;object-fit:cover;border-radius:0 0 0 140px}
.recruit-box{margin-top:-38px;position:relative;z-index:2;padding:28px;border-radius:24px;background:linear-gradient(120deg,#fff6db,#fff9ee);border:1px solid #f3dfb1}
.recruit-grid{display:grid;grid-template-columns:1.2fr repeat(3,.7fr) .9fr;align-items:center;gap:18px}
.recruit-big{font-size:36px;font-weight:900}.recruit-big .orange{font-size:50px}
.mini-badge{text-align:center;padding:14px 8px;border-radius:50%;background:#fff;min-height:110px;display:grid;place-items:center;border:1px solid #eee}
.work-grid{grid-template-columns:repeat(5,1fr)}
.work-card{padding:20px 14px;text-align:center}
.work-card img{height:72px;margin:0 auto 10px;object-fit:contain}
.flow-mini{grid-template-columns:repeat(5,1fr)}
.flow-mini .card{padding:18px;text-align:center}
.news-preview{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.news-list{padding:22px}
.news-row{display:grid;grid-template-columns:110px 90px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}

/* Service */
.service-grid{grid-template-columns:repeat(5,1fr)}
.service-card{overflow:hidden}
.service-card img{width:100%;height:118px;object-fit:cover}
.service-card-body{padding:18px}
.service-card h3{margin:0 0 8px;font-size:18px}
.support-band{padding:26px;background:linear-gradient(90deg,#f4ffe7,#fff);border:1px solid #dfeec6;border-radius:18px}
.day-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.day-item{text-align:center}
.day-icon{width:66px;height:66px;border-radius:50%;border:2px solid var(--orange);display:grid;place-items:center;margin:auto;font-size:28px}

/* Flow */
.steps-grid{grid-template-columns:repeat(6,1fr);gap:10px}
.step-card{overflow:hidden}
.step-no{width:42px;height:42px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;margin:14px auto 6px;font-weight:900}
.step-card:nth-child(even) .step-no{background:var(--green)}
.step-card h3{text-align:center;font-size:17px;line-height:1.5;padding:0 8px;min-height:52px}
.step-card img{width:calc(100% - 18px);height:100px;object-fit:cover;border-radius:12px;margin:8px auto}
.step-card p{padding:0 14px 18px;font-size:13px}

/* News */
.news-layout{display:grid;grid-template-columns:1fr 280px;gap:28px}
.news-feature{overflow:hidden;display:grid;grid-template-columns:280px 1fr}
.news-feature img{width:100%;height:100%;object-fit:cover}
.news-feature-body{padding:24px}
.news-item{display:grid;grid-template-columns:120px 90px 1fr auto;gap:14px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}
.news-item img{width:120px;height:64px;object-fit:cover;border-radius:8px}
.tag{display:inline-block;padding:4px 12px;border-radius:999px;background:#fff0cf;color:#ba7100;font-size:12px;font-weight:700}
.sidebar-box{padding:22px;margin-bottom:18px}
.sidebar-box h3{margin-top:0}
.sidebar-list{list-style:none;padding:0;margin:0}
.sidebar-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}

/* Contact */
.contact-methods{display:grid;grid-template-columns:1fr 1fr}
.contact-method{padding:34px;text-align:center}
.contact-method + .contact-method{border-left:1px solid var(--line)}
.contact-method strong{display:block;font-size:30px;color:var(--orange)}
.contact-layout{display:grid;grid-template-columns:1fr 330px;gap:28px}
.form-card,.access-card{padding:28px}
.form-row{display:grid;grid-template-columns:160px 1fr;align-items:start;border-bottom:1px solid var(--line);padding:10px 0}
.form-row label{font-weight:700}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:11px 12px;border:1px solid #ddd;border-radius:8px;background:#fff}
.form-row textarea{min-height:140px}
.required{display:inline-block;font-size:11px;color:#fff;background:var(--orange);padding:1px 6px;border-radius:4px;margin-right:6px}
.map-placeholder{height:220px;background:linear-gradient(45deg,#fafafa,#eee);border-radius:14px;display:grid;place-items:center;color:#888;margin:18px 0}

/* Responsive */
@media (max-width:1024px){
  .container{width:min(100% - 40px,900px)}
  .header-inner{width:min(100% - 40px,900px);height:78px}
  .brand{min-width:200px}.brand img{width:62px;height:62px}.brand-copy strong{font-size:20px}
  .global-nav{position:absolute;left:0;right:0;top:78px;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:16px 24px 24px;border-bottom:1px solid #eee;gap:4px}
  .global-nav.open{display:flex}
  .global-nav a{padding:12px 6px}
  .global-nav a.active::after{display:none}
  /* ======================================================================
     02. MOBILE MENU CTA / 1024px以下ではメニュー末尾に表示
     ====================================================================== */
  .global-nav .mobile-menu-cta{display:flex;justify-content:center;margin-top:10px;padding:13px 20px;color:#fff}
  .global-nav .mobile-menu-cta:hover{color:#fff}
  .menu-toggle{display:block;margin-left:auto}
  .header-cta{margin-left:8px}
  .page-hero-grid,.top-hero-grid{grid-template-columns:1fr 1fr}
  .top-hero h1{font-size:42px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .work-grid{grid-template-columns:repeat(3,1fr)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:repeat(3,1fr)}
  .day-flow{grid-template-columns:repeat(3,1fr);gap:20px}
  .recruit-grid{grid-template-columns:1fr 1fr 1fr}.recruit-copy,.recruit-action{grid-column:span 3}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:last-child{grid-column:1/-1}
}
@media (max-width:767px){
  .container{width:calc(100% - 32px)}
  .header-inner{width:calc(100% - 32px)}
  .section{padding:50px 0}
  .brand-copy small{font-size:9px}.brand-copy strong{font-size:18px}.brand img{width:54px;height:54px}
  .header-cta{display:none}
  .page-hero-grid,.top-hero-grid,.two-col,.news-preview,.news-layout,.contact-layout{grid-template-columns:1fr}
  .page-hero-media{order:-1;min-height:210px}.page-hero-media img{border-radius:0 0 50px 50px}
  .top-hero-grid{padding-top:12px}.top-hero-media{order:-1}.top-hero-media img{height:260px;border-radius:0 0 54px 54px}
  .top-hero h1{font-size:36px}
  .recruit-grid{grid-template-columns:1fr 1fr}.recruit-copy,.recruit-action{grid-column:1/-1}.mini-badge{min-height:92px}
  .feature-grid,.work-grid,.service-grid,.steps-grid,.flow-mini,.day-flow{grid-template-columns:1fr}
  .news-feature{grid-template-columns:1fr}.news-feature img{height:210px}
  .news-item,.news-row{grid-template-columns:90px 1fr;gap:8px}.news-item img{width:90px;height:58px}.news-item .tag,.news-item .arrow,.news-row .tag,.news-row .arrow{display:none}
  .common-cta-inner{grid-template-columns:1fr;padding:26px 22px 190px}.cta-person{width:190px;height:180px}
  .cta-buttons{flex-direction:column;align-items:stretch}.btn{width:100%}
  .footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}
  .contact-methods{grid-template-columns:1fr}.contact-method + .contact-method{border-left:0;border-top:1px solid var(--line)}
  .form-row{grid-template-columns:1fr;gap:6px}
}

/* TOP refinement v2 */
.top-hero{background:linear-gradient(110deg,#fff 0%,#fff 42%,#fff8ea 100%)}
.top-hero-grid{min-height:590px;grid-template-columns:.82fr 1.18fr;gap:18px}
.top-hero h1{font-size:60px;letter-spacing:.015em;line-height:1.35}
.top-hero-media{align-self:stretch;display:flex;align-items:flex-start;padding-top:20px}
.top-hero-media img{height:510px;border-radius:0 0 0 180px;object-position:center}
.recruit-box{margin-top:-78px;padding:0;background:#fff8df;border-radius:20px;overflow:hidden}
.recruit-layout{display:grid;grid-template-columns:1.5fr 1.25fr .55fr;align-items:stretch}
.recruit-main{padding:24px 24px 18px}
.recruit-heading{font-size:36px;font-weight:900;line-height:1.15}.recruit-heading .orange{font-size:52px}
.recruit-sub{font-size:20px;color:var(--orange);font-weight:800;margin-top:6px}.recruit-main p{margin:4px 0 12px;font-size:13px}
.burst{color:var(--orange);font-size:36px}.recruit-work-row{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid #f1dfbd;border-radius:12px;padding:8px 10px}
.recruit-work-row>div{display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 8px;border-right:1px solid #eadcc2;font-weight:700;font-size:13px}.recruit-work-row>div:last-child{border-right:0}.recruit-work-row img{width:42px;height:42px;object-fit:contain}
.recruit-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 12px;border-left:1px solid #efd8af;border-right:1px solid #efd8af}
.mini-badge{min-height:96px;width:96px;justify-self:center;border-radius:50%;font-size:12px;line-height:1.35}.mini-badge strong{font-size:12px}.mini-badge .green{font-size:18px}
.recruit-side{padding:24px 16px;display:flex;flex-direction:column;justify-content:center;gap:22px;text-align:center;color:var(--orange);font-size:18px}.recruit-side .btn{font-size:13px;padding:0 14px}
.top-about-section{padding-top:42px;padding-bottom:34px}.top-section-label{font-size:18px;font-weight:800;color:var(--orange);margin-bottom:16px}
.top-about-grid{grid-template-columns:1.05fr .95fr;gap:34px}.top-about-grid .photo-rounded{height:245px}.top-about-grid>div:last-child{padding-top:12px}
.work-grid{gap:16px}.work-card{padding:16px 12px;min-height:210px}.work-card img{height:58px}.work-card p{font-size:13px;line-height:1.7}
.flow-mini{gap:20px}.flow-mini .card{border:0;box-shadow:none;background:transparent;position:relative}.flow-mini .card img{width:115px;height:115px;object-fit:contain;border-radius:50%;background:#fff8e8;padding:18px;margin:0 auto 8px}.flow-mini .card:not(:last-child)::after{content:'›';position:absolute;right:-17px;top:52px;color:var(--green);font-size:36px;font-weight:800}
.news-preview{align-items:stretch}.news-preview>.card,.news-preview>#commonCta{min-height:320px}.news-preview #commonCta .common-cta{width:100%;height:100%;margin:0}.news-preview #commonCta .common-cta-inner{min-height:320px;grid-template-columns:1fr 240px;padding-right:250px}.news-preview #commonCta .cta-person{width:240px}
@media (max-width:1024px){.recruit-layout{grid-template-columns:1fr}.recruit-badges{grid-template-columns:repeat(3,1fr);border:0;border-top:1px solid #efd8af}.recruit-side{flex-direction:row;align-items:center}.top-hero-grid{min-height:520px}.top-hero h1{font-size:46px}.top-hero-media img{height:420px}.recruit-box{margin-top:-38px}}
@media (max-width:767px){.top-hero h1{font-size:36px}.top-hero-media img{height:260px}.recruit-badges{grid-template-columns:repeat(2,1fr)}.recruit-work-row{grid-template-columns:1fr}.recruit-work-row>div{border-right:0;border-bottom:1px solid #eadcc2}.recruit-work-row>div:last-child{border-bottom:0}.recruit-side{flex-direction:column}.top-about-grid{grid-template-columns:1fr}.flow-mini .card:not(:last-child)::after{display:none}.news-preview #commonCta .common-cta-inner{padding:26px 22px 190px}}
/* TOP v3 corrections after visual QA */
.top-hero-grid{grid-template-columns:.9fr 1.1fr}
.top-hero h1{font-size:54px;line-height:1.32}
.news-preview #commonCta .common-cta-inner{grid-template-columns:1fr;min-height:320px;padding:30px 255px 30px 30px}
.news-preview #commonCta .common-cta h2{font-size:27px;line-height:1.45}
.news-preview #commonCta .common-cta p{font-size:14px;line-height:1.75}
.news-preview #commonCta .cta-buttons{gap:10px}
.news-preview #commonCta .btn{font-size:13px;padding:0 15px;min-height:46px}
@media (max-width:1024px){.top-hero h1{font-size:42px}.news-preview #commonCta .common-cta-inner{padding-right:220px}}
@media (max-width:767px){.news-preview #commonCta .common-cta-inner{padding:26px 22px 190px}.news-preview #commonCta .common-cta h2{font-size:24px}}

.top-hero h1 .hero-line{display:block;white-space:nowrap}.top-hero h1{font-size:50px}
@media(max-width:1024px){.top-hero h1{font-size:40px}}
@media(max-width:767px){.top-hero h1 .hero-line{white-space:normal}.top-hero h1{font-size:36px}}


/* ABOUT refinement v5 */
body[data-page="about"] .page-hero{background:linear-gradient(110deg,#fff 0%,#fff 44%,#fffaf0 100%)}
body[data-page="about"] .page-hero-grid{min-height:480px;grid-template-columns:.88fr 1.12fr;gap:18px}
body[data-page="about"] .page-hero h1{font-size:58px}
body[data-page="about"] .page-hero-copy{padding-bottom:90px}
body[data-page="about"] .page-hero-media{min-height:430px}
body[data-page="about"] .page-hero-media img{height:430px;border-radius:0 0 0 170px;object-position:center}
.about-thoughts{padding-top:72px;padding-bottom:82px}
.about-thoughts-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;align-items:center}
.about-copy{font-size:16px;line-height:2.15;padding-left:8px}
.about-copy p{margin:0 0 22px}
.about-collage{position:relative;min-height:380px}
.about-collage::before{content:"";position:absolute;right:0;top:40px;width:210px;height:270px;border-radius:50%;background:#f6f9e7;z-index:0}
.about-collage-main{position:absolute;left:0;top:10px;width:72%;height:250px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow);z-index:1}
.about-collage-hand{position:absolute;right:0;top:115px;width:38%;height:135px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow);z-index:2}
.about-collage-bins{position:absolute;left:44%;top:225px;width:42%;height:138px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow);z-index:3}
.about-values{padding-top:62px;padding-bottom:72px}
.about-feature-grid{gap:18px}
.about-feature-grid .feature-card{min-height:310px;padding:34px 22px 24px;border-color:#f0dfc2;box-shadow:none}
.about-feature-grid .feature-icon{width:92px;height:92px;background:#fff;font-size:52px;color:var(--orange);margin-bottom:18px}
.about-feature-grid .feature-card:nth-child(2) .feature-icon{color:var(--green)}
.about-feature-grid .feature-card:nth-child(3) .feature-icon{color:var(--orange)}
.about-feature-grid .feature-card:nth-child(4) .feature-icon{color:var(--green)}
.about-feature-grid h3{font-size:19px}
.about-feature-grid p{font-size:14px;line-height:1.9}
.about-overview{padding-top:62px;padding-bottom:62px}
.about-overview-grid{display:grid;grid-template-columns:1.55fr .75fr;gap:38px;align-items:start}
.about-overview .info-table{font-size:14px}
.about-overview .info-table th,.about-overview .info-table td{padding:10px 16px}
.about-overview .about-access .photo-rounded{height:275px}
.about-overview .about-access .btn{width:100%;margin-top:16px;border-color:var(--green);color:var(--green);background:#fff}
.about-eligibility{padding-top:54px;padding-bottom:48px}
.about-eligibility-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:18px}
.eligibility-card{position:relative;min-height:190px;padding:25px 150px 22px 26px;box-shadow:none;overflow:hidden}
.eligibility-card h3{font-size:20px;margin:0 0 14px}.eligibility-card p{font-size:13px;line-height:1.75;margin:7px 0}
.eligibility-card img{position:absolute;right:12px;bottom:0;width:122px;height:150px;object-fit:cover;object-position:center top;mix-blend-mode:multiply}
.eligibility-card--green{background:#f5fde9;border-color:#cfe8a6}.eligibility-card--green h3{color:var(--green)}
.eligibility-card--orange{background:#fff7ed;border-color:#f3d6b5}.eligibility-card--orange h3{color:var(--orange)}
body[data-page="about"] .common-cta{margin-top:20px;margin-bottom:34px}
@media(max-width:1024px){
 body[data-page="about"] .page-hero h1{font-size:45px}.about-thoughts-grid{gap:38px}.about-feature-grid{grid-template-columns:repeat(2,1fr)}.about-overview-grid{grid-template-columns:1.2fr .8fr}.about-eligibility-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
 body[data-page="about"] .page-hero-grid{grid-template-columns:1fr;min-height:auto}.about-thoughts-grid,.about-overview-grid{grid-template-columns:1fr}.about-collage{min-height:360px}.about-feature-grid{grid-template-columns:1fr}.about-eligibility-grid{grid-template-columns:1fr}.eligibility-card{padding-right:120px}
}
/* ABOUT v5.1 visual correction */
body[data-page="about"] .page-hero-grid{grid-template-columns:1fr 1.08fr}
body[data-page="about"] .page-hero h1{font-size:52px;white-space:nowrap}
@media(max-width:1024px){body[data-page="about"] .page-hero h1{font-size:40px}}
@media(max-width:767px){body[data-page="about"] .page-hero h1{font-size:36px;white-space:normal}}

/* SERVICE refinement v6 */
body[data-page="service"] .container{width:min(1720px,calc(100% - 96px));}
body[data-page="service"] .page-hero{background:linear-gradient(110deg,#fffdf8 0%,#fff 44%,#fff9eb 100%)}
body[data-page="service"] .page-hero-grid{min-height:500px;grid-template-columns:.82fr 1.18fr;gap:50px}
body[data-page="service"] .page-hero-copy{padding:48px 0 70px}
body[data-page="service"] .page-hero h1{font-size:66px;line-height:1.18;margin-bottom:28px}
body[data-page="service"] .page-hero .lead{font-size:22px;margin-bottom:18px}
body[data-page="service"] .page-hero-copy>p:last-child{font-size:17px;line-height:2}
body[data-page="service"] .page-hero-media{min-height:430px;padding:30px 0}
body[data-page="service"] .page-hero-media img{height:410px;border-radius:0;object-fit:cover;object-position:center}
.service-work-section{padding-top:64px;padding-bottom:58px}
.service-intro{text-align:center;margin:-8px 0 38px;font-size:15px}
body[data-page="service"] .service-grid{grid-template-columns:repeat(5,1fr);gap:18px}
body[data-page="service"] .service-card{border-radius:14px;box-shadow:none;border-color:#eadfcf;overflow:hidden;background:#fffdfa}
.service-card-heading{display:flex;align-items:center;gap:11px;padding:16px 15px 10px}
.service-card-heading h3{margin:0;font-size:19px;line-height:1.35}
.service-card-icon{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--orange);font-size:20px;font-weight:800}
.service-card--green .service-card-icon{background:var(--green)}
.service-card--green .service-card-heading h3{color:var(--green)}
.service-card--orange .service-card-heading h3{color:#3b342f}
body[data-page="service"] .service-card img{width:calc(100% - 26px);margin:0 auto;height:164px;object-fit:cover;border-radius:10px}
body[data-page="service"] .service-card-body{padding:13px 16px 20px}
body[data-page="service"] .service-card-body p{font-size:14px;line-height:1.85;margin:0}
.service-support-section{padding:30px 0 46px;background:#fff}
body[data-page="service"] .support-band{display:grid;grid-template-columns:1.25fr 3.2fr;gap:36px;align-items:center;padding:30px 34px;background:linear-gradient(95deg,#f8fff0,#fffdf8);border-color:#cfe0b8;border-radius:12px}
.support-copy h2{font-size:27px;margin:0 0 18px}
.support-copy p{font-size:14px;line-height:2;margin:0}
.support-items{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.support-item{text-align:center;padding:6px 8px}
.support-icon{width:105px;height:105px;margin:0 auto 12px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:45px;color:var(--green);box-shadow:0 6px 18px rgba(80,120,50,.06)}
.support-item h3{font-size:17px;color:var(--green);margin:0 0 8px}
.support-item p{font-size:13px;line-height:1.7;margin:0}
.service-day-section{padding:38px 0 52px}
body[data-page="service"] .day-flow{grid-template-columns:repeat(6,1fr);gap:32px;position:relative}
body[data-page="service"] .day-item{position:relative;padding:0 6px}
body[data-page="service"] .day-item:not(:last-child)::after{content:'→';position:absolute;right:-25px;top:38px;color:var(--orange);font-size:22px}
body[data-page="service"] .day-icon{width:82px;height:82px;border-width:2px;margin:0 auto 10px;font-size:31px;background:#fff}
body[data-page="service"] .day-icon--green{border-color:var(--green);color:var(--green)}
body[data-page="service"] .day-item strong{display:block;font-size:14px;line-height:1.2}
body[data-page="service"] .day-item b{display:block;font-size:14px;margin:4px 0 8px}
body[data-page="service"] .day-item p{font-size:12px;line-height:1.6;margin:0}
body[data-page="service"] .common-cta{width:min(1720px,calc(100% - 96px));margin-top:14px;margin-bottom:42px}
@media(max-width:1200px){
 body[data-page="service"] .container{width:min(100% - 48px,1120px)}
 body[data-page="service"] .service-grid{grid-template-columns:repeat(3,1fr)}
 body[data-page="service"] .support-band{grid-template-columns:1fr}.support-items{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:767px){
 body[data-page="service"] .container{width:calc(100% - 32px)}
 body[data-page="service"] .page-hero-grid{grid-template-columns:1fr;min-height:auto;gap:0}
 body[data-page="service"] .page-hero-media{order:-1;min-height:220px;padding:0}
 body[data-page="service"] .page-hero-media img{height:250px;border-radius:0 0 54px 54px}
 body[data-page="service"] .page-hero h1{font-size:40px}
 body[data-page="service"] .service-grid{grid-template-columns:1fr}
 .support-items{grid-template-columns:repeat(2,1fr)}
 body[data-page="service"] .day-flow{grid-template-columns:1fr;gap:18px}
 body[data-page="service"] .day-item:not(:last-child)::after{display:none}
 body[data-page="service"] .common-cta{width:calc(100% - 32px)}
}


/* FLOW refinement v7 */
body[data-page="flow"] .container{width:min(1720px,calc(100% - 96px));}
body[data-page="flow"] .flow-hero-refined{background:linear-gradient(115deg,#fff 0%,#fff 48%,#fffaf0 100%)}
body[data-page="flow"] .page-hero-grid{min-height:520px;grid-template-columns:.88fr 1.12fr;gap:42px}
body[data-page="flow"] .page-hero-copy{padding:56px 0 78px}
body[data-page="flow"] .page-hero h1{font-size:66px;line-height:1.2;margin-bottom:25px;white-space:nowrap}
body[data-page="flow"] .flow-leaf{display:inline-block;color:var(--green);font-size:.8em;transform:rotate(-22deg);margin-left:12px}
body[data-page="flow"] .page-hero .lead{font-size:22px;margin-bottom:18px}
body[data-page="flow"] .page-hero-copy>p:last-child{font-size:17px;line-height:2}
body[data-page="flow"] .page-hero-media{min-height:450px;padding:18px 0 0}
body[data-page="flow"] .page-hero-media img{height:445px;border-radius:0 0 0 210px;object-fit:cover;object-position:center}
.flow-steps-section{padding:62px 0 54px;background:#fff}
body[data-page="flow"] .section-title{font-size:38px;margin-bottom:46px}
.flow-steps-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:stretch}
.flow-step{position:relative;border:1px solid #f1d9bc;border-radius:14px;background:#fff;overflow:visible;padding:20px 14px 18px;min-height:535px}
.flow-step:not(:last-child)::after{content:'›';position:absolute;right:-15px;top:182px;color:var(--orange);font-size:38px;line-height:1;font-weight:900;z-index:3}
.flow-step .step-no{width:54px;height:54px;margin:0 auto 14px;font-size:17px}
.flow-step--green .step-no{background:var(--green)}
.flow-step h3{text-align:center;font-size:20px;line-height:1.45;min-height:58px;margin:0 0 12px}
.flow-step-icon{height:92px;display:grid;place-items:center;margin:2px 0 12px;color:var(--orange)}
.flow-step--green .flow-step-icon{color:var(--green)}
.flow-step-icon svg{width:72px;height:72px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.flow-step img{width:100%;height:150px;object-fit:cover;border-radius:11px;margin:0 0 15px}
.flow-step p{font-size:13px;line-height:1.82;margin:0;padding:0 2px}
.flow-note{text-align:center;margin:22px 0 0;font-size:13px}
.flow-support-section{padding:42px 0 50px;background:linear-gradient(180deg,#fffdf8,#fffaf0)}
.flow-support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.flow-support-card{display:grid;grid-template-columns:128px 1fr;gap:18px;align-items:center;min-height:205px;border:1px solid #e7dccb;border-radius:14px;background:#fff;padding:22px 22px;box-shadow:none}
.flow-support-card--green{background:#fafff5;border-color:#cfe4b2}.flow-support-card--orange{background:#fff9f2;border-color:#f1d4b2}
.flow-support-icon{width:116px;height:116px;display:grid;place-items:center;color:var(--green)}.flow-support-card--orange .flow-support-icon{color:var(--orange)}
.flow-support-icon svg{width:104px;height:104px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.flow-support-card h3{font-size:20px;margin:0 0 10px;color:var(--green)}.flow-support-card--orange h3{color:var(--orange)}
.flow-support-card p{font-size:13px;line-height:1.8;margin:0}
body[data-page="flow"] .common-cta{width:min(1720px,calc(100% - 96px));margin-top:28px;margin-bottom:42px}
@media(max-width:1200px){
 body[data-page="flow"] .container{width:min(100% - 48px,1120px)}
 body[data-page="flow"] .page-hero h1{font-size:50px}
 .flow-steps-grid{grid-template-columns:repeat(3,1fr);gap:22px}.flow-step:not(:last-child)::after{display:none}
 .flow-support-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
 body[data-page="flow"] .container{width:calc(100% - 32px)}
 body[data-page="flow"] .page-hero-grid{grid-template-columns:1fr;min-height:auto;gap:0}
 body[data-page="flow"] .page-hero-media{order:-1;min-height:220px;padding:0}
 body[data-page="flow"] .page-hero-media img{height:250px;border-radius:0 0 54px 54px}
 body[data-page="flow"] .page-hero h1{font-size:38px;white-space:normal}
 .flow-steps-grid,.flow-support-grid{grid-template-columns:1fr}
 .flow-step{min-height:auto}.flow-step img{height:190px}
 .flow-support-card{grid-template-columns:92px 1fr}.flow-support-icon{width:86px;height:86px}.flow-support-icon svg{width:80px;height:80px}
 body[data-page="flow"] .common-cta{width:calc(100% - 32px)}
}

/* NEWS refinement v8 */
body[data-page="news"] .container{width:min(1560px,calc(100% - 96px));}
body[data-page="news"] .page-hero{background:linear-gradient(110deg,#fff 0%,#fff 58%,#fff9ee 100%);position:relative;}
body[data-page="news"] .page-hero::after{content:"";position:absolute;right:-90px;top:-45px;width:250px;height:250px;border-radius:50%;background:#fff0f4;opacity:.75;}
body[data-page="news"] .page-hero-grid{min-height:475px;grid-template-columns:.9fr 1.1fr;gap:64px;position:relative;z-index:1;}
body[data-page="news"] .page-hero-copy{padding:58px 0 78px 92px;position:relative;}
body[data-page="news"] .page-hero-copy::before{content:"";position:absolute;left:-78px;top:88px;width:140px;height:210px;background:radial-gradient(circle,#f9b23b 2px,transparent 2.5px) 0 0/14px 14px;opacity:.48;mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);}
body[data-page="news"] .page-hero h1{font-size:64px;line-height:1.18;margin:0 0 34px;letter-spacing:.08em;position:relative;display:inline-block;}
body[data-page="news"] .page-hero h1::after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:5px;background:repeating-linear-gradient(90deg,var(--orange) 0 5px,transparent 5px 14px);}
body[data-page="news"] .page-hero .lead{font-size:20px;color:var(--ink);font-weight:500;}
body[data-page="news"] .page-hero-copy>p:last-child{display:none;}
body[data-page="news"] .page-hero-media{min-height:390px;padding:16px 0 24px;}
body[data-page="news"] .page-hero-media img{height:385px;border-radius:0 72px 0 72px;object-fit:cover;object-position:center;}
body[data-page="news"] .breadcrumb{padding-top:26px;}

.news-main-section{padding:56px 0 40px;}
body[data-page="news"] .news-layout{grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;}
body[data-page="news"] .news-feature{grid-template-columns:420px 1fr;border-radius:14px;background:linear-gradient(100deg,#fff 0%,#fffaf0 100%);border-color:#f2dcb3;box-shadow:none;min-height:285px;}
body[data-page="news"] .news-feature img{height:285px;object-fit:cover;border-radius:14px 0 0 14px;}
body[data-page="news"] .news-feature-body{padding:26px 32px;display:flex;flex-direction:column;justify-content:center;}
body[data-page="news"] .news-meta{display:flex;align-items:center;gap:18px;}
body[data-page="news"] .news-meta .tag{min-width:72px;}
body[data-page="news"] .news-meta small{font-size:13px;color:#5d544d;}
body[data-page="news"] .news-feature-body h2{font-size:25px;margin:16px 0 13px;}
body[data-page="news"] .news-feature-body p{font-size:14px;margin:4px 0;line-height:1.75;}
body[data-page="news"] .news-feature-body>a{align-self:flex-end;margin-top:10px;font-weight:700;}
body[data-page="news"] .news-list-card{margin-top:18px;padding:0 14px;box-shadow:none;border-color:#e6e0d8;}
body[data-page="news"] .news-item{grid-template-columns:168px 92px 1fr 24px;gap:16px;min-height:92px;padding:9px 10px;border-bottom:1px solid #e7e0d8;}
body[data-page="news"] .news-item:last-child{border-bottom:0;}
body[data-page="news"] .news-item img{width:168px;height:72px;border-radius:8px;}
body[data-page="news"] .news-item small{font-size:13px;color:#5d544d;}
body[data-page="news"] .news-item strong{font-size:16px;}
body[data-page="news"] .news-item .arrow{font-size:28px;font-weight:500;}
body[data-page="news"] .tag{min-width:72px;text-align:center;padding:3px 10px;font-size:12px;border-radius:4px;background:#fff1c9;color:#b76c00;}
body[data-page="news"] .news-item:nth-child(1) .tag,body[data-page="news"] .news-item:nth-child(4) .tag{background:#ffe3eb;color:#dc6784;}
body[data-page="news"] .news-item:nth-child(2) .tag,body[data-page="news"] .news-item:nth-child(6) .tag{background:#e1f1b2;color:#5e7f13;}
body[data-page="news"] .news-item:nth-child(5) .tag{background:#e5f2bd;color:#6b8b1c;}

body[data-page="news"] .sidebar-box{padding:28px 28px 18px;border-radius:14px;box-shadow:none;border-color:#e6e0d8;margin-bottom:24px;}
body[data-page="news"] .sidebar-box h3{font-size:21px;margin:0 0 20px;position:relative;padding-bottom:12px;}
body[data-page="news"] .sidebar-box h3::after{content:"";position:absolute;left:34px;bottom:0;width:112px;height:4px;background:repeating-linear-gradient(90deg,var(--orange) 0 4px,transparent 4px 10px);}
body[data-page="news"] .sidebar-list li{min-height:58px;align-items:center;padding:10px 2px;border-color:#e7e0d8;font-size:14px;}
body[data-page="news"] .sidebar-list b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:13px;}
body[data-page="news"] .archive-list li{position:relative;padding-right:26px;}
body[data-page="news"] .archive-list li::after{content:'›';position:absolute;right:3px;color:var(--orange);font-size:24px;top:10px;}
body[data-page="news"] .archive-more{text-align:right;padding:14px 0 0;font-size:13px;font-weight:700;color:var(--orange);}
body[data-page="news"] .common-cta{margin-top:26px;margin-bottom:36px;}

@media(max-width:1024px){
  body[data-page="news"] .container{width:min(100% - 40px,900px);}
  body[data-page="news"] .page-hero-copy{padding-left:0;}
  body[data-page="news"] .page-hero h1{font-size:48px;}
  body[data-page="news"] .news-layout{grid-template-columns:1fr 280px;gap:24px;}
  body[data-page="news"] .news-feature{grid-template-columns:300px 1fr;}
  body[data-page="news"] .news-item{grid-template-columns:130px 80px 1fr 20px;}
  body[data-page="news"] .news-item img{width:130px;}
}
@media(max-width:767px){
  body[data-page="news"] .container{width:calc(100% - 32px);}
  body[data-page="news"] .page-hero-grid{grid-template-columns:1fr;min-height:auto;gap:0;}
  body[data-page="news"] .page-hero-media{order:-1;min-height:210px;padding-top:10px;}
  body[data-page="news"] .page-hero-media img{height:230px;border-radius:0 0 44px 44px;}
  body[data-page="news"] .page-hero-copy{padding:32px 0 46px;}
  body[data-page="news"] .page-hero h1{font-size:38px;}
  body[data-page="news"] .news-layout{grid-template-columns:1fr;}
  body[data-page="news"] .news-feature{grid-template-columns:1fr;}
  body[data-page="news"] .news-feature img{height:210px;border-radius:14px 14px 0 0;}
  body[data-page="news"] .news-feature-body{padding:22px;}
  body[data-page="news"] .news-item{grid-template-columns:92px 1fr;min-height:76px;}
  body[data-page="news"] .news-item img{width:92px;height:58px;}
  body[data-page="news"] .news-item .tag,body[data-page="news"] .news-item .arrow{display:none;}
}

/* CONTACT refinement v9 */
body[data-page="contact"] .container{width:min(1680px,calc(100% - 96px));}
.contact-hero{position:relative;overflow:hidden;background:#fff;min-height:500px}
.contact-hero::before{content:"";position:absolute;left:-85px;bottom:-90px;width:245px;height:245px;border-radius:50%;background:linear-gradient(145deg,#f5ffd8,#fff2cf);opacity:.75}
.contact-hero::after{content:"";position:absolute;right:-75px;top:-48px;width:210px;height:210px;border-radius:50%;background:#fff0f3;opacity:.82}
body[data-page="contact"] .breadcrumb{padding-top:30px;padding-bottom:6px;font-size:14px;position:relative;z-index:2}
body[data-page="contact"] .breadcrumb span{color:var(--orange);font-weight:800}
.contact-hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:center;min-height:405px;position:relative;z-index:2}
.contact-hero-copy{padding:26px 0 58px 105px}
.contact-hero-copy h1{margin:0;font-size:60px;line-height:1.25;letter-spacing:.04em}
.contact-dots,.heading-dots{height:7px;width:200px;margin:18px 0 28px;background:radial-gradient(circle,var(--orange) 0 2.2px,transparent 2.5px) 0 0/13px 7px repeat-x}
.contact-hero-copy p{font-size:18px;line-height:2.05;margin:0}
.contact-hero-media{height:390px;display:flex;align-items:center;justify-content:center;padding-right:60px}
.contact-hero-media img{width:100%;height:350px;object-fit:cover;object-position:center 38%;border-radius:62px}
.contact-hero-media::after{content:"";position:absolute;right:105px;bottom:26px;width:75px;height:128px;background:radial-gradient(ellipse at 50% 92%,#91c82c 0 18%,transparent 19%),radial-gradient(ellipse at 22% 62%,#91c82c 0 15%,transparent 16%),radial-gradient(ellipse at 76% 52%,#91c82c 0 15%,transparent 16%);opacity:.9;transform:rotate(-18deg);pointer-events:none}

.contact-method-section{padding:22px 0 40px;background:#fff}
.contact-method-wrap{width:min(1440px,calc(100% - 140px));margin:0 auto}
.contact-heading{font-size:25px;line-height:1.3;margin:0;font-weight:800;letter-spacing:.03em}
.contact-heading .leaf-mark,.leaf-mark{display:inline-block;color:var(--green);font-size:34px;line-height:1;vertical-align:-4px;margin-right:5px;transform:rotate(-12deg)}
.contact-method-wrap>.contact-heading{margin:0 0 12px 26px}
.contact-method-wrap>.contact-heading::after{content:"";display:block;width:130px;height:6px;margin:6px 0 0 42px;background:radial-gradient(circle,var(--orange) 0 2px,transparent 2.3px) 0 0/12px 6px repeat-x}
body[data-page="contact"] .contact-methods{display:grid;grid-template-columns:1fr 1fr;border-radius:14px;box-shadow:none;border-color:#e9e0d5;overflow:hidden;min-height:184px}
body[data-page="contact"] .contact-method{padding:38px 55px;text-align:left;display:grid;grid-template-columns:66px 1fr;gap:20px;align-items:start}
body[data-page="contact"] .contact-method + .contact-method{border-left:1px solid #e6e0d8}
.contact-method-copy h3{font-size:17px;margin:0 0 4px}
body[data-page="contact"] .contact-method strong{font-size:inherit}
.contact-method-copy p{font-size:14px;color:#655c55;margin:12px 0 0 28px}
.contact-phone,.contact-mail{display:block;color:var(--orange);font-weight:800;line-height:1.35}
.contact-phone{font-size:31px;letter-spacing:.02em}.contact-mail{font-size:20px;margin-top:8px}
.contact-method-icon{position:relative;width:60px;height:60px;margin-top:9px}
.phone-icon::before{content:"";position:absolute;width:28px;height:46px;border:8px solid var(--green);border-top-color:transparent;border-right-color:transparent;border-radius:8px 0 18px 18px;transform:rotate(-45deg);left:14px;top:3px}
.mail-icon{border:3px solid var(--green);width:52px;height:36px;margin:14px 0 0 3px}
.mail-icon::before,.mail-icon::after{content:"";position:absolute;top:6px;width:31px;height:3px;background:var(--green)}
.mail-icon::before{left:0;transform:rotate(33deg)}.mail-icon::after{right:0;transform:rotate(-33deg)}

.contact-main-section{padding:0 0 24px;background:#fff}
body[data-page="contact"] .contact-layout{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(390px,.92fr);gap:24px;align-items:stretch}
body[data-page="contact"] .form-card,body[data-page="contact"] .access-card{padding:24px 26px 22px;border-radius:14px;box-shadow:none;border-color:#e9e0d5;background:#fff}
body[data-page="contact"] .form-card .contact-heading,body[data-page="contact"] .access-card .contact-heading{font-size:24px}
body[data-page="contact"] .heading-dots{width:155px;height:6px;margin:6px 0 14px 42px;background-size:12px 6px}
.form-intro{margin:0 0 16px 14px;font-size:14px}
.form-table{border:1px solid #e5ded6;border-radius:4px;overflow:hidden}
body[data-page="contact"] .form-row{display:grid;grid-template-columns:250px 1fr;align-items:stretch;padding:0;border-bottom:1px solid #e7e0d8;min-height:57px}
body[data-page="contact"] .form-row:last-child{border-bottom:0}
body[data-page="contact"] .form-row>label{display:flex;align-items:center;padding:12px 16px;border-right:1px solid #e7e0d8;font-weight:700;font-size:14px;background:#fff}
body[data-page="contact"] .form-row input:not([type="checkbox"]),body[data-page="contact"] .form-row select,body[data-page="contact"] .form-row textarea{width:calc(100% - 32px);margin:7px 16px;padding:10px 15px;border:1px solid #ddd;border-radius:5px;background:#fff;font-size:14px;color:#4f4842}
body[data-page="contact"] .form-row select{height:42px}
body[data-page="contact"] .form-row textarea{min-height:132px;resize:vertical}
body[data-page="contact"] .required,body[data-page="contact"] .optional{display:inline-block;flex:0 0 auto;font-size:11px;line-height:1.6;color:#fff;padding:1px 7px;border-radius:4px;margin-right:10px;font-weight:700}
body[data-page="contact"] .required{background:var(--orange)}body[data-page="contact"] .optional{background:#aaa}
.form-row--checks{min-height:68px;background:#fffdfa}
.form-row--checks>label{background:#fffdfa!important}
.check-group{display:grid;grid-template-columns:repeat(4,max-content);align-items:center;gap:22px;padding:0 14px;font-size:14px}
.check-group label{white-space:nowrap;font-weight:400!important}
.form-row--message{min-height:155px}
.submit-wrap{text-align:center;padding-top:26px}
.contact-submit{min-width:320px;min-height:58px;font-size:20px;border:0}

body[data-page="contact"] .access-card{padding-left:34px;padding-right:34px}
.access-name{font-size:16px;font-weight:800;margin:28px 0 7px}
body[data-page="contact"] .access-card>p{font-size:14px;line-height:1.85;margin:0 0 14px}
.map-link{position:relative;display:block;height:250px;margin:16px 0 26px;border-radius:3px;overflow:hidden;background-color:#f6f2eb;background-image:linear-gradient(#fff 2px,transparent 2px),linear-gradient(90deg,#fff 2px,transparent 2px);background-size:72px 58px;border:1px solid #f0ece5}
.map-road{position:absolute;background:#c7c7c7;z-index:2}.map-road--v1{width:9px;height:100%;left:26%;top:0}.map-road--v2{width:9px;height:100%;right:29%;top:0}.map-road--h{height:9px;width:100%;left:0;top:48%}
.map-block{position:absolute;background:#e9f6c8;border-radius:8px;opacity:.9}.b1{left:2%;top:8%;width:22%;height:21%}.b2{right:2%;top:9%;width:25%;height:19%}.b3{left:4%;bottom:8%;width:20%;height:25%}.b4{right:4%;bottom:7%;width:23%;height:22%}.b5{left:31%;top:9%;width:27%;height:17%;background:#f4ead7}.b6{left:32%;bottom:8%;width:25%;height:22%;background:#f4ead7}
.map-pin{position:absolute;left:52%;top:52%;transform:translate(-50%,-50%);z-index:5;color:#ff5b16;font-size:44px;line-height:1;text-shadow:0 1px 0 #fff}.map-pin::after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;left:17px;top:17px}.map-label{position:absolute;z-index:5;left:43%;top:43%;font-size:11px;color:#555;background:rgba(255,255,255,.7);padding:1px 5px}
.access-detail{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start;margin-top:18px}
.access-detail h3{font-size:15px;margin:0 0 5px}.access-detail p{font-size:13px;line-height:1.75;margin:0}
.access-icon{position:relative;width:26px;height:26px;color:var(--green)}
.train-icon::before{content:"▣";font-size:25px;color:var(--green)}
.car-icon::before{content:"▰";font-size:25px;color:var(--green)}
body[data-page="contact"] .site-footer{margin-top:0}

@media(max-width:1100px){
 body[data-page="contact"] .container{width:min(100% - 40px,900px)}
 .contact-hero-grid{grid-template-columns:1fr 1fr;gap:36px}.contact-hero-copy{padding-left:20px}.contact-hero-copy h1{font-size:46px}.contact-hero-media{padding-right:0;height:320px}.contact-hero-media img{height:290px;border-radius:46px}.contact-method-wrap{width:min(100% - 40px,900px)}
 body[data-page="contact"] .contact-layout{grid-template-columns:1.6fr .8fr}.check-group{grid-template-columns:1fr 1fr;gap:10px}.contact-mail{font-size:16px}.contact-phone{font-size:26px}
}
@media(max-width:767px){
 body[data-page="contact"] .container{width:calc(100% - 32px)}
 .contact-hero{min-height:auto}.contact-hero-grid{grid-template-columns:1fr;gap:0}.contact-hero-media{order:-1;height:250px;padding:0}.contact-hero-media img{height:235px;border-radius:0 0 48px 48px}.contact-hero-copy{padding:22px 0 42px}.contact-hero-copy h1{font-size:38px}.contact-hero-copy p{font-size:15px}.contact-hero-media::after{display:none}
 .contact-method-wrap{width:calc(100% - 32px)}body[data-page="contact"] .contact-methods{grid-template-columns:1fr}body[data-page="contact"] .contact-method{padding:26px 22px;grid-template-columns:48px 1fr}.contact-method-icon{transform:scale(.8);transform-origin:left top}.contact-method-copy p{margin-left:0}.contact-phone{font-size:25px}.contact-mail{font-size:15px;overflow-wrap:anywhere}
 body[data-page="contact"] .contact-layout{grid-template-columns:1fr}.contact-layout .access-card{order:2}
 body[data-page="contact"] .form-row{grid-template-columns:1fr}body[data-page="contact"] .form-row>label{border-right:0;border-bottom:1px solid #eee}.check-group{grid-template-columns:1fr 1fr;padding:14px}.contact-submit{min-width:100%}
}


/* ==========================================================================
   08A. SERVICE DAY ICONS / 「1日の流れ」SVGアイコン
   --------------------------------------------------------------------------
   旧Unicode記号（チェス駒・四角など）を使用しない。
   SVG差し替え先: assets/icons/day-*.svg
   ========================================================================== */
.day-icon img{
  width:42px;
  height:42px;
  object-fit:contain;
}
body[data-page="service"] .day-icon--green img{
  filter:none;
}


/* ==========================================================================
   06A. TOP FLOW ICONS / TOP「ご利用までの流れ」
   --------------------------------------------------------------------------
   文字入りPNGを廃止し、アイコンだけのSVGを使用する。
   ========================================================================== */
.flow-mini .card img.flow-clean-icon{
  padding:21px;
  object-fit:contain;
}


/* ==========================================================================
   11A. CONTACT METHOD ICONS / お問い合わせ方法 SVG
   --------------------------------------------------------------------------
   CSS擬似要素で無理に受話器を描く方式を廃止。
   ========================================================================== */
.phone-icon::before,
.mail-icon::before,
.mail-icon::after{content:none!important}
.mail-icon{border:0!important}
.contact-method-icon svg{
  width:58px;
  height:58px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* ==========================================================================
   14. PUBLICATION FINISH / 公開前仕上げ
   --------------------------------------------------------------------------
   privacy.html / news-summer-2025.html / contact.html の補助スタイル。
   WordPress化時は各テンプレートのCSSへ分割しても構いません。
   ========================================================================== */

/* お問い合わせフォーム：個人情報同意 */
.form-consent{
  margin:18px 0 6px;
  text-align:center;
  font-size:14px;
}
.form-consent label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.form-consent input{width:18px;height:18px;accent-color:var(--orange)}
.form-consent a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}
.form-static-note{
  margin:6px 0 0;
  text-align:center;
  color:var(--muted);
  font-size:12px;
}

/* Google Mapsリンクであることを画面上でも明示 */
.map-open-label{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:4;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--orange);
  border:1px solid #f1c46e;
  font-size:12px;
  font-weight:700;
  box-shadow:0 3px 12px rgba(0,0,0,.08);
}

/* プライバシーポリシー */
.privacy-hero-grid{grid-template-columns:1fr}
.privacy-container{max-width:980px}
.privacy-card{padding:42px 48px;box-shadow:none}
.privacy-card>p:first-child{margin-top:0}
.privacy-card h2{margin:34px 0 10px;font-size:21px;color:var(--ink)}
.privacy-card p{line-height:2}
.privacy-contact{margin:18px 0 0;border-top:1px solid var(--line)}
.privacy-contact>div{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid var(--line)}
.privacy-contact dt,.privacy-contact dd{margin:0;padding:12px 14px}
.privacy-contact dt{font-weight:700;background:#fffaf0}
.privacy-contact a{color:var(--orange)}
.privacy-updated{text-align:right;margin-top:28px!important;color:var(--muted)}

/* お知らせ詳細 */
.news-detail-heading{padding-top:18px;padding-bottom:30px}
.news-detail-heading h1{margin:12px 0 0;font-size:38px}
.news-detail-container{max-width:980px}
.news-detail-card{overflow:hidden;padding:0;box-shadow:none}
.news-detail-image{width:100%;height:360px;object-fit:cover}
.news-detail-body{padding:38px 48px}
.news-detail-body p{line-height:2}
.news-detail-period{margin:26px 0;padding:18px 22px;border-left:4px solid var(--orange);background:#fff8e7;font-size:18px}
.news-back{margin-top:34px;text-align:center}


/* ==========================================================================
   14. CONTACT FORM CHECKBOX FIX / お問い合わせフォーム「ご利用者」
   --------------------------------------------------------------------------
   v14:
   - 4項目を固定4列にしない
   - ラベル内部を flex にして、checkbox と文字の位置を固定
   - 横幅が不足した場合は自然に折り返す
   ========================================================================== */
body[data-page="contact"] .form-row--checks{
  min-height:72px;
}
body[data-page="contact"] .check-group{
  display:flex;
  flex-wrap:wrap;
  align-content:center;
  align-items:center;
  gap:12px 30px;
  min-width:0;
  padding:12px 20px;
}
body[data-page="contact"] .check-group .check-option{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  min-width:max-content;
  margin:0;
  padding:2px 0;
  white-space:nowrap;
  font-weight:400!important;
  line-height:1.5;
  cursor:pointer;
}
body[data-page="contact"] .check-group .check-option input[type="checkbox"]{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:0;
  padding:0;
  accent-color:var(--orange);
}
body[data-page="contact"] .check-group .check-option span{
  display:block;
}

/* ==========================================================================
   15. ABOUT ELIGIBILITY PERSON IMAGE FIX / ご利用いただける方 人物画像
   --------------------------------------------------------------------------
   v14:
   - 正式カンプから人物側だけを再切り出した画像へ差し替え
   - 背景四角が目立ちにくいよう、カード背景とのなじみを優先
   - 無理な拡大を避ける
   ========================================================================== */
body[data-page="about"] .eligibility-card img{
  right:10px;
  bottom:0;
  width:108px;
  height:154px;
  object-fit:contain;
  object-position:right bottom;
  mix-blend-mode:multiply;
}

@media (max-width:1100px){
  body[data-page="contact"] .check-group{
    gap:10px 24px;
  }
}

@media (max-width:767px){
  body[data-page="contact"] .check-group{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 16px;
    padding:14px 16px;
  }
  body[data-page="contact"] .check-group .check-option{
    min-width:0;
  }
  body[data-page="about"] .eligibility-card img{
    width:96px;
    height:138px;
  }
}

@media (max-width:420px){
  body[data-page="contact"] .check-group{
    grid-template-columns:1fr;
  }
}
