﻿  /* ===== 長谷川税理士事務所 コーポレート（固定FV＋せりあがり版） ===== */
  :root{
    --green:#28b485; --green-deep:#167a5a; --green-pale:#e4f4ec; --green-soft:#9fd6c0;
    --green-cta:#167a5a; --green-cta-deep:#0f6146; /* CTAベタ塗り専用＝白文字で4.5:1以上(WCAG AA)。装飾の緑は--greenのまま */
    --bg:#f4f1ea; --bg-soft:#efece3; --white:#ffffff;
    --ink:#23282c; --sub:#5f666b; --line:rgba(35,40,44,.1); --line-soft:rgba(35,40,44,.07);
    --foot:#33383a;
    --en:"Poppins",sans-serif; --jp:"Noto Sans JP",system-ui,sans-serif; --mincho:"Shippori Mincho B1",serif;
    --gutter:clamp(20px,5vw,72px); --maxw:1200px; --sec:clamp(82px,11vw,150px);
    --ease:cubic-bezier(.22,1,.36,1);
    --r-btn:4px;     /* ボタン・CTA・タグ 共通形状（トップ「お問い合わせ」に統一） */
    --r-card:12px;   /* カード・パネル 共通形状 */
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{background:#1f2a26;color:var(--ink);font-family:var(--jp);line-height:1.85;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;font-feature-settings:"palt";}
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  ::selection{background:var(--green);color:#fff;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}

  /* === CTAコンポーネント（緑＝押せる場所。サイト内で緑のベタはCTAだけに限定） === */
  .cta{display:inline-flex;align-items:center;justify-content:center;gap:11px;
    font-family:var(--jp);font-weight:700;font-size:15px;letter-spacing:.02em;
    color:#fff;background:var(--green-cta);padding:15px 28px;border-radius:var(--r-btn);
    box-shadow:0 12px 26px -12px rgba(22,122,90,.7);
    transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
  .cta::after{content:"";width:16px;height:9px;flex:none;
    background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M11.5.5 15 4.5l-3.5 4M15 4.5H0' stroke='%23000' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9'%3E%3Cpath d='M11.5.5 15 4.5l-3.5 4M15 4.5H0' stroke='%23000' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:transform .3s var(--ease);}
  .cta:hover{background:var(--green-cta-deep);transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(15,97,70,.75);}
  .cta:hover::after{transform:translateX(4px);}
  .cta--lg{font-size:16.5px;padding:19px 38px;box-shadow:0 16px 34px -12px rgba(22,122,90,.8);}

  /* タグ（チップ）— CTAと同じ角丸に統一・無彩で控えめ（視線を奪わない） */
  .tag{display:inline-flex;align-items:center;font-size:12.5px;color:#41474d;background:var(--bg-soft);
    border:1px solid var(--line);border-radius:var(--r-btn);padding:8px 15px;}

  /* セクション見出し（大英字＋日本語サブ）— 全セクション統一 */
  .sec-title{display:flex;flex-direction:column;line-height:1;}
  .sec-title .en{font-family:var(--en);font-weight:600;font-size:clamp(40px,6vw,72px);letter-spacing:.01em;color:var(--ink);}
  .sec-title .jp{font-size:13px;letter-spacing:.1em;color:var(--sub);margin-top:12px;font-weight:500;}
  .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;}
  .arrow-link{display:inline-flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.06em;color:var(--ink);flex:none;}
  .arrow-link .circ{width:46px;height:46px;border-radius:50%;border:1px solid var(--green);display:flex;align-items:center;justify-content:center;color:var(--green);transition:background .3s var(--ease),color .3s var(--ease);}
  .arrow-link:hover .circ{background:var(--green);color:#fff;}
  .arrow-link .circ::after{content:"→";font-family:var(--en);font-size:15px;}

  /* === header === */
  /* 既定=読みやすい安全側（rgba背景+濃色文字）。JS未動作でもこの見た目のまま固定される（fail-open、Codexレビュー指摘） */
  header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s var(--ease),box-shadow .4s var(--ease);
    background:rgba(244,241,234,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);}
  header.solid{background:rgba(244,241,234,.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);}
  .head{display:flex;align-items:center;height:74px;gap:20px;}/* 右寄せはauto-margin方式（モバイルメニュー導入のため） */
  .brand{display:flex;align-items:center;}
  .brand__name{font-family:var(--jp);font-size:19px;font-weight:700;letter-spacing:.02em;color:var(--ink);}
  /* 透明×白文字のヒーロー演出はJS稼働確認済み(.ws-hasegawa-js)の時だけ有効化。JS無効時は上の既定(濃色文字)のまま */
  .ws-hasegawa-js header.hero-top{background:none;backdrop-filter:none;box-shadow:none;}
  .ws-hasegawa-js header.hero-top .brand__name{color:#fff;}
  .nav{display:flex;align-items:center;gap:28px;margin-left:auto;}
  .nav a{font-size:13.5px;letter-spacing:.03em;color:var(--ink);transition:color .3s,opacity .3s;}
  .ws-hasegawa-js header.hero-top .nav a{color:#fff;}
  /* ヒーロー画像の明度に依存せず白文字を読みやすく（右上が明るい場合の保険） */
  .ws-hasegawa-js header.hero-top .brand__name,.ws-hasegawa-js header.hero-top .nav a{text-shadow:0 1px 6px rgba(0,0,0,.45);}
  .nav a:hover{color:var(--green);}
  .ws-hasegawa-js header.hero-top .nav a:hover{opacity:.7;color:#fff;}
  /* ヘッダーCTA（nav外の直接子。モバイル全画面パネルと分離するため） */
  a.nav__cta{font-weight:700;font-size:13.5px;color:#fff;background:var(--green-cta);padding:12px 24px;border-radius:var(--r-btn);transition:background .3s,transform .3s;flex:none;}
  a.nav__cta:hover{background:var(--green-cta-deep);transform:translateY(-1px);}

  /* === hero（固定。コンテンツが下からせり上がって覆う） === */
  .hero{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:0;overflow:hidden;display:flex;align-items:flex-end;}
  .hero__img{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#3a4a44,#1f2a26);}
  /* 顔なし専用アセット（hero-wide/hero-mobile）へ差替済み。旧scale(1.85)ズームは顔回避ハックだったため廃止（ボケ解消・全ビューポートで顔非表示を保証） */
  .hero__img picture{display:block;width:100%;height:100%;}
  .hero__img img{width:100%;height:100%;object-fit:cover;object-position:center;}
  .hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,8,7,.94) 0%,rgba(6,8,7,.66) 26%,rgba(6,8,7,.18) 52%,transparent 72%),linear-gradient(0deg,rgba(6,8,7,.5),transparent 46%);}
  .hero__inner{position:relative;z-index:2;width:100%;max-width:none;margin:0;padding:0 var(--gutter) clamp(82px,13vh,150px);}
  .hero__eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px;font-size:14px;font-weight:500;letter-spacing:.04em;color:rgba(255,255,255,.96);text-shadow:0 1px 8px rgba(0,0,0,.4);}
  .hero__eyebrow::before{content:"";width:26px;height:2px;background:var(--green);flex:none;}
  .hero__title{display:block;}
  .hero__title .en{display:block;font-family:var(--en);font-weight:700;font-size:clamp(60px,13.5vw,204px);line-height:.98;letter-spacing:-.02em;color:#fff;}
  .hero__title .jp{display:block;margin-top:22px;font-size:clamp(15px,1.7vw,18px);font-weight:500;letter-spacing:.04em;color:rgba(255,255,255,.94);}
  .hero__cta{margin-top:38px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
  .hero__note{font-size:12.5px;color:rgba(255,255,255,.78);}
  .hero__news{position:absolute;right:var(--gutter);bottom:clamp(26px,5vh,48px);z-index:2;max-width:min(46vw,440px);
    display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.96);border-radius:var(--r-btn);padding:14px 20px;box-shadow:0 18px 50px -24px rgba(0,0,0,.5);}
  .hero__news b{font-family:var(--en);font-size:12px;letter-spacing:.14em;color:var(--green-deep);flex:none;}
  .hero__news time{font-size:12px;color:var(--sub);flex:none;}
  .hero__news span{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .hero__news[hidden]{display:none;}/* データ未設定/空なら非表示（お知らせを駆動しない既定状態） */
  .hero__scroll{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:2;font-family:var(--en);font-size:11px;letter-spacing:.2em;color:rgba(255,255,255,.7);display:flex;flex-direction:column;align-items:center;gap:8px;}
  .hero__scroll::after{content:"";width:1px;height:34px;background:linear-gradient(rgba(255,255,255,.8),transparent);}

  /* === コンテンツ（固定FVの上にせり上がるパネル・縁はまっすぐ） === */
  .content{position:relative;z-index:2;margin-top:100vh;background:var(--bg);
    box-shadow:0 -16px 44px -22px rgba(0,0,0,.32);}

  /* === SERVICE === */
  .service{padding:clamp(64px,8vw,110px) 0 var(--sec);background:var(--bg);}
  .service__lead{margin:46px 0 8px;font-size:15px;line-height:2.05;color:var(--ink);}
  .srow{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,5vw,64px);align-items:center;padding:clamp(36px,5vw,56px) 0;border-top:1px solid var(--line);}
  .srow__pic{aspect-ratio:4/3;border-radius:var(--r-card);overflow:hidden;background:linear-gradient(150deg,#cfe6da,#9cc4b0);}
  .srow__pic img{width:100%;height:100%;object-fit:cover;}
  .srow__top{display:flex;align-items:center;justify-content:space-between;gap:20px;}
  .srow__top h3{font-size:clamp(22px,2.6vw,28px);font-weight:700;letter-spacing:.02em;}
  .srow__no{font-family:var(--en);font-size:13px;letter-spacing:.14em;color:var(--green-soft);}
  .srow p{margin-top:18px;font-size:14px;line-height:2.05;color:#4b5158;max-width:38em;}
  .srow__tags{margin-top:24px;display:flex;flex-wrap:wrap;column-gap:0;row-gap:10px;}

  /* === STRENGTH（白地＋罫線インデックス型：番号主役のエディトリアル。背景画像は可読性優先で廃止） === */
  .strength{padding:var(--sec) 0;background:var(--white);}
  .strength__head{text-align:center;margin-bottom:52px;display:flex;flex-direction:column;align-items:center;}
  .ws-hasegawa-sindex__row{display:grid;grid-template-columns:76px 250px 1fr;gap:0 clamp(18px,3vw,44px);align-items:start;padding:clamp(22px,3vw,30px) 2px;border-top:1px solid rgba(35,40,44,.16);}
  .ws-hasegawa-sindex__row:last-child{border-bottom:1px solid rgba(35,40,44,.16);}
  .ws-hasegawa-sindex__no{font-family:var(--en);font-weight:500;font-size:28px;line-height:1.4;letter-spacing:.05em;color:var(--green-soft);transition:color .7s var(--ease) .25s;}/* line-height:1.4は本文の文字天(要素上端+8.16px)に番号天を合わせる実測値。font-size固定で全幅で揃える */
  .rv.in .ws-hasegawa-sindex__no{color:var(--green-deep);}/* リビールと同時に番号が「灯る」 */
  .ws-hasegawa-sindex__h{font-size:17px;font-weight:700;letter-spacing:.02em;line-height:1.7;}
  .ws-hasegawa-sindex__p{font-size:13.5px;line-height:1.95;color:#454b51;}

  /* === COMPANY === */
  .company{padding:var(--sec) 0;background:var(--bg-soft);}
  .company__statement{margin-top:48px;font-family:var(--mincho);font-weight:500;font-size:clamp(24px,3.4vw,40px);line-height:1.7;letter-spacing:.03em;}
  .company__grid{margin-top:clamp(48px,6vw,72px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:center;}
  .company__portrait{aspect-ratio:4/5;border-radius:var(--r-card);overflow:hidden;background:linear-gradient(150deg,#cfe6da,#9cc4b0);}
  .company__portrait img{width:100%;height:100%;object-fit:cover;}
  .company__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--green-deep);}
  .company__eyebrow::before{content:"";width:24px;height:1px;background:var(--green-soft);}
  .company__name{font-size:clamp(22px,2.8vw,30px);font-weight:700;letter-spacing:.04em;display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;}
  .company__name small{font-size:12.5px;font-weight:400;color:var(--sub);letter-spacing:.03em;}
  .company__quote{margin-top:22px;font-family:var(--mincho);font-weight:500;font-size:clamp(19px,2.2vw,26px);line-height:1.7;letter-spacing:.02em;}
  .company__quote .ac{color:var(--green-deep);}
  .company__lead{margin-top:22px;font-size:14px;line-height:2.1;color:#4b5158;max-width:34em;}
  .company__more{margin-top:28px;}

  /* === ABOUT / PROFILE（Company要約からつながる代表者詳細ページ） === */
  .about-page{background:var(--bg);}
  .about-page .sp-hero{--sp-watermark:"人";}
  .about-profile{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(34px,6vw,84px);align-items:start;}
  .about-profile__pic{aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-card);background:linear-gradient(150deg,#cfe6da,#9cc4b0);}
  .about-profile__pic img{width:100%;height:100%;object-fit:cover;}
  .about-profile__role{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:.07em;color:var(--green-deep);}
  .about-profile__role::before{content:"";width:24px;height:1px;background:var(--green-soft);}
  .about-profile__name{margin-top:16px;font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.3;letter-spacing:.04em;}
  .about-profile__name small{display:block;margin-top:10px;font-size:12.5px;font-weight:400;letter-spacing:.04em;color:var(--sub);}
  .about-profile__catch{margin-top:30px;font-family:var(--mincho);font-size:clamp(20px,2.6vw,30px);font-weight:500;line-height:1.75;letter-spacing:.025em;text-wrap:balance;}
  .about-profile__lead{margin-top:22px;max-width:42em;font-size:14.5px;line-height:2.1;color:#4b5158;text-wrap:pretty;}

  .about-expertise{margin-top:48px;border-bottom:1px solid var(--line);}
  .about-expertise__row{display:grid;grid-template-columns:80px minmax(190px,.7fr) 1.3fr;gap:clamp(20px,4vw,54px);align-items:start;padding:28px 0;border-top:1px solid var(--line);}
  .about-expertise__no{font-family:var(--en);font-size:22px;font-weight:500;line-height:1.5;letter-spacing:.08em;color:var(--green-deep);}
  .about-expertise__row h3{font-size:clamp(17px,2vw,21px);font-weight:700;line-height:1.7;letter-spacing:.02em;}
  .about-expertise__row p{max-width:43em;font-size:14px;line-height:2;color:#4b5158;}

  .about-career{margin-top:48px;border-top:1px solid var(--line);}
  .about-career__item{display:grid;grid-template-columns:minmax(110px,.28fr) 1fr;gap:clamp(24px,5vw,72px);padding:30px 0;border-bottom:1px solid var(--line);}
  .about-career__year{font-family:var(--en);font-size:14px;font-weight:600;letter-spacing:.08em;color:var(--green-deep);font-variant-numeric:tabular-nums;}
  .about-career__body h3{font-size:17px;font-weight:700;line-height:1.7;letter-spacing:.02em;}
  .about-career__body p{margin-top:9px;max-width:48em;font-size:13.5px;line-height:2;color:#4b5158;}

  .about-credentials{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:1px solid var(--line);}
  .about-credentials li{display:flex;align-items:baseline;gap:14px;padding:22px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:600;line-height:1.7;}
  .about-credentials li:nth-child(odd){padding-right:28px;}
  .about-credentials li:nth-child(even){padding-left:28px;border-left:1px solid var(--line);}
  .about-credentials li::before{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:var(--green-soft);}

  .about-approach{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:start;}
  .about-approach__quote{font-family:var(--mincho);font-size:clamp(25px,3.8vw,42px);font-weight:500;line-height:1.65;letter-spacing:.025em;text-wrap:balance;}
  .about-approach__quote .ac{color:var(--green-deep);}
  .about-approach__text p{font-size:14.5px;line-height:2.1;color:#4b5158;}
  .about-approach__text p+p{margin-top:17px;}

  .about-cta{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding-top:38px;border-top:1px solid var(--line);}
  .about-cta__title{font-family:var(--mincho);font-size:clamp(23px,3.2vw,36px);font-weight:500;line-height:1.65;letter-spacing:.025em;}
  .about-cta__note{margin-top:11px;font-size:13.5px;line-height:1.9;color:var(--sub);}

  /* === PRICE（画像＋カード・無料は強調しすぎない白基調） === */
  .price{padding:var(--sec) 0;background:var(--bg);}
  .price__body{margin-top:54px;display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,5vw,60px);align-items:center;}
  .price__pic{aspect-ratio:5/4;border-radius:var(--r-card);overflow:hidden;background:linear-gradient(150deg,#cfe6da,#9cc4b0);}
  .price__pic img{width:100%;height:100%;object-fit:cover;}
  .price__cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,20px);}
  .pcard{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);padding:32px 28px;box-shadow:0 18px 40px -34px rgba(20,40,32,.26);}
  .pcard__label{font-size:13px;color:var(--sub);display:flex;align-items:center;gap:8px;}
  .pcard__label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green-soft);flex:none;}
  .pcard__amt{font-family:var(--en);font-weight:700;font-size:clamp(32px,3.8vw,42px);line-height:1.05;margin-top:14px;color:var(--ink);}
  .pcard__amt small{font-family:var(--jp);font-size:16px;margin-left:3px;color:var(--sub);font-weight:500;}
  .pcard__note{font-size:12px;color:var(--sub);line-height:1.8;margin-top:14px;}

  /* === FLOW（縦タイムライン型：接続線が順序をつなぐ。線はリビールに同期して伸びる） === */
  .flow{padding:var(--sec) 0;background:var(--bg-soft);}
  .ws-hasegawa-tline{margin:54px auto 0;max-width:760px;list-style:none;padding:0;}
  .ws-hasegawa-tline__step{position:relative;display:grid;grid-template-columns:48px 1fr;gap:0 24px;padding-bottom:clamp(28px,4vw,40px);}
  .ws-hasegawa-tline__step:last-child{padding-bottom:0;}
  .ws-hasegawa-tline__step::before{content:"";position:absolute;left:23px;top:52px;bottom:4px;width:2px;background:var(--green-soft);transform:scaleY(0);transform-origin:top;transition:transform .9s var(--ease) .35s;}
  .ws-hasegawa-tline__step:last-child::before{display:none;}
  .ws-hasegawa-tline__step.rv.in::before{transform:scaleY(1);}
  .ws-hasegawa-tline__no{width:48px;height:48px;border-radius:50%;background:var(--green-pale);border:1px solid var(--green-soft);color:var(--green-deep);font-family:var(--en);font-weight:600;font-size:18px;display:flex;align-items:center;justify-content:center;}
  .ws-hasegawa-tline__body h3{font-size:16.5px;font-weight:700;letter-spacing:.02em;padding-top:11px;}
  .ws-hasegawa-tline__body p{margin-top:8px;font-size:13.5px;line-height:1.95;color:#525860;}

  /* === FAQ（faq.html と同一デザインシステムを本体に移植） === */
  .faq{padding:var(--sec) 0;background:var(--bg-soft);interpolate-size:allow-keywords;}
  .faq__list{max-width:860px;margin:54px auto 0;display:flex;flex-direction:column;gap:14px;}
  .faq__item{background:var(--white);border-radius:var(--r-card);overflow:hidden;box-shadow:0 16px 36px -32px rgba(20,40,32,.28);}
  .faq__q{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:24px 28px;font-size:16px;font-weight:700;line-height:1.55;color:var(--ink);}
  .faq__q::-webkit-details-marker{display:none;}
  .faq__q:focus{outline:none;}
  .faq__q:focus-visible{outline:2px solid var(--green-cta);outline-offset:-4px;border-radius:10px;}
  .faq__q::before{content:"Q";font-family:var(--en);font-weight:600;font-size:15px;color:#fff;background:var(--green-cta);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;}
  .faq__sign{margin-left:auto;position:relative;width:16px;height:16px;flex:none;}
  .faq__sign::before,.faq__sign::after{content:"";position:absolute;background:var(--green);border-radius:1px;}
  .faq__sign::before{left:7.2px;top:0;width:1.6px;height:16px;transition:transform .3s var(--ease);}
  .faq__sign::after{left:0;top:7.2px;width:16px;height:1.6px;}
  .faq__item[open] .faq__sign::before{transform:scaleY(0);}
  .faq__a{padding:0 28px 26px 74px;font-size:14px;line-height:2.05;color:#4b5158;}
  .faq__item::details-content{block-size:0;overflow:hidden;transition:block-size .34s var(--ease),content-visibility .34s var(--ease) allow-discrete;}
  .faq__item[open]::details-content{block-size:auto;}

  /* === FLOW（参考案：番号・写真・説明を1行で見せる4ステップ） === */
  .flow.h-flow{
    position:relative;
    overflow:hidden;
    padding:clamp(96px,10vw,144px) 0;
    background:
      radial-gradient(circle at 84% 9%,rgba(183,216,202,.32),transparent 31%),
      radial-gradient(circle at 9% 83%,rgba(228,244,236,.72),transparent 27%),
      linear-gradient(118deg,#faf7f1 0%,#f5f2ea 62%,#edf3ee 100%);
  }
  .flow.h-flow::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.2;
    background-image:
      repeating-linear-gradient(2deg,rgba(35,40,44,.024) 0,rgba(35,40,44,.024) 1px,transparent 1px,transparent 5px),
      repeating-linear-gradient(92deg,rgba(35,40,44,.015) 0,rgba(35,40,44,.015) 1px,transparent 1px,transparent 8px);
  }
  .h-flow>.wrap{position:relative;z-index:1;max-width:1280px;}
  .h-flow__head{text-align:center;}
  .h-flow__head .sec-title{align-items:center;}
  .h-flow__head .sec-title .en{color:var(--green-deep);font-size:clamp(52px,6.2vw,82px);letter-spacing:-.025em;}
  .h-flow__head .sec-title .jp{margin-top:13px;color:var(--ink);font-size:clamp(14px,1.3vw,18px);font-weight:700;letter-spacing:.12em;}
  .h-flow__assurance{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-top:23px;
    color:#3f4946;
    font-size:13.5px;
    font-weight:700;
    letter-spacing:.05em;
  }
  .h-flow__assurance::before,.h-flow__assurance::after{
    content:"";
    width:34px;
    height:1px;
    background:var(--green-soft);
  }
  .h-flow__list{
    position:relative;
    max-width:1180px;
    margin:64px auto 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:24px;
  }
  .h-flow__list::before{
    content:"";
    position:absolute;
    z-index:0;
    left:50px;
    top:42px;
    bottom:42px;
    width:2px;
    background:linear-gradient(180deg,var(--green-cta),rgba(159,214,192,.34));
  }
  .h-flow__step{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:102px minmax(300px,.86fr) minmax(0,1.14fr);
    min-height:184px;
    overflow:visible;
    border:1px solid rgba(31,82,65,.16);
    border-radius:4px;
    background:rgba(253,251,246,.96);
    box-shadow:
      0 1px 0 rgba(255,255,255,.9) inset,
      0 24px 48px -38px rgba(24,66,51,.62);
    transition:transform .34s var(--ease),border-color .34s var(--ease),box-shadow .34s var(--ease);
  }
  .h-flow__step:hover{
    transform:translateY(-3px);
    border-color:rgba(22,122,90,.32);
    box-shadow:
      0 1px 0 rgba(255,255,255,.9) inset,
      0 30px 54px -34px rgba(24,66,51,.64);
  }
  .h-flow__step:not(:last-child)::after{
    content:"↓";
    position:absolute;
    z-index:3;
    left:40px;
    bottom:-28px;
    width:22px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--green-cta);
    background:#f6f3ec;
    font-family:var(--en);
    font-size:14px;
  }
  .h-flow__marker{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    border-right:1px solid rgba(31,82,65,.14);
    border-radius:3px 0 0 3px;
    background:linear-gradient(150deg,rgba(222,239,230,.92),rgba(241,245,239,.94));
    color:var(--green-deep);
  }
  .h-flow__marker::before{
    content:"";
    width:12px;
    height:12px;
    margin-bottom:5px;
    border:3px solid #fff;
    border-radius:50%;
    background:var(--green-cta);
    box-shadow:0 0 0 1px var(--green-soft);
  }
  .h-flow__marker span{
    font-family:var(--en);
    font-size:9px;
    font-weight:700;
    letter-spacing:.16em;
  }
  .h-flow__marker strong{
    font-family:var(--en);
    font-size:34px;
    font-weight:600;
    line-height:1;
    letter-spacing:-.02em;
    font-variant-numeric:tabular-nums;
  }
  .h-flow__media{
    min-width:0;
    margin:10px 0 10px 10px;
    overflow:hidden;
    background:#dfe9e2;
  }
  .h-flow__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .62s var(--ease),filter .42s var(--ease);
  }
  .h-flow__step:hover .h-flow__media img{transform:scale(1.035);filter:saturate(1.03) contrast(1.02);}
  .h-flow__copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:32px clamp(32px,4vw,56px);
    border-left:1px solid rgba(31,82,65,.12);
  }
  .h-flow__copy h3{
    color:var(--green-deep);
    font-size:clamp(19px,1.75vw,25px);
    font-weight:750;
    line-height:1.5;
    letter-spacing:.025em;
    text-wrap:balance;
  }
  .h-flow__copy h3::after{
    content:"";
    display:block;
    width:34px;
    height:2px;
    margin-top:15px;
    background:var(--green-soft);
  }
  .h-flow__copy p{
    max-width:39em;
    margin-top:14px;
    color:#4b5552;
    font-size:13.5px;
    line-height:1.95;
    text-wrap:pretty;
  }
  .h-flow__action{margin-top:42px;text-align:center;}
  .h-flow__action .cta{min-width:288px;}

  @media(max-width:900px){
    .flow.h-flow{padding:84px 0 96px;}
    .h-flow__list{max-width:760px;margin-top:50px;gap:20px;}
    .h-flow__list::before{left:35px;top:34px;bottom:34px;}
    .h-flow__step{grid-template-columns:72px minmax(0,1fr);min-height:0;}
    .h-flow__step:not(:last-child)::after{left:25px;bottom:-25px;height:25px;}
    .h-flow__marker{grid-row:1/3;}
    .h-flow__marker strong{font-size:27px;}
    .h-flow__media{grid-column:2;margin:10px 10px 0;aspect-ratio:5/2;}
    .h-flow__copy{grid-column:2;padding:25px 28px 29px;border-top:1px solid rgba(31,82,65,.1);border-left:0;}
  }

  @media(max-width:560px){
    .flow.h-flow{padding:72px 0 82px;}
    .h-flow__head .sec-title .en{font-size:52px;}
    .h-flow__assurance{font-size:12.5px;}
    .h-flow__assurance::before,.h-flow__assurance::after{width:20px;}
    .h-flow__list{margin-top:40px;gap:16px;}
    .h-flow__list::before{left:26px;top:28px;bottom:28px;}
    .h-flow__step{grid-template-columns:54px minmax(0,1fr);border-radius:3px;}
    .h-flow__step:not(:last-child)::after{left:16px;bottom:-20px;height:20px;background:#f6f3ec;}
    .h-flow__marker{gap:4px;}
    .h-flow__marker::before{width:9px;height:9px;border-width:2px;}
    .h-flow__marker span{font-size:8px;}
    .h-flow__marker strong{font-size:22px;}
    .h-flow__media{margin:7px 7px 0;aspect-ratio:16/7;}
    .h-flow__copy{padding:20px 19px 23px;}
    .h-flow__copy h3{font-size:17px;}
    .h-flow__copy h3::after{margin-top:11px;}
    .h-flow__copy p{margin-top:11px;font-size:12.5px;line-height:1.85;}
    .h-flow__action{margin-top:32px;}
    .h-flow__action .cta{width:100%;min-width:0;}
  }

  /* === MESSAGE（画像バンド・締め前の視線の見せ場） === */
  .message{position:relative;padding:clamp(96px,14vw,170px) 0;isolation:isolate;color:#fff;}
  .message__bg{position:absolute;inset:0;z-index:0;background:#202a25;}
  .message__bg img{width:100%;height:100%;object-fit:cover;opacity:.46;}
  .message__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(18,28,24,.78),rgba(18,28,24,.5));}
  .message__inner{position:relative;z-index:2;text-align:center;max-width:780px;margin:0 auto;padding-inline:var(--gutter);}
  .message__lead{font-family:var(--mincho);font-weight:500;font-size:clamp(25px,3.6vw,42px);line-height:1.6;letter-spacing:.04em;}
  .message__lead .ac{color:var(--green-soft);}
  .message p{margin-top:22px;font-size:14.5px;color:rgba(255,255,255,.88);line-height:2;}
  .message .cta{margin-top:34px;}

  /* === CONTACT（角丸カード・中央：意図的な締めの演出） === */
  .contact{padding:var(--sec) 0;background:linear-gradient(160deg,var(--green-pale),var(--bg) 55%,#eef2ea);}
  .contact__card{position:relative;background:var(--white);border-radius:24px;padding:clamp(52px,7vw,88px) var(--gutter);text-align:center;
    box-shadow:0 50px 90px -50px rgba(20,80,56,.5);max-width:1060px;margin:0 auto;display:flex;flex-direction:column;align-items:center;}
  .contact__lead{margin-top:24px;font-size:15px;color:#4b5158;}
  .contact__actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:stretch;}

  /* === CONTACT FORM（全ページ共通） === */
  .ws-hasegawa-form-toggle{border:1px solid var(--green-cta);background:transparent;color:var(--green-deep);font:inherit;cursor:pointer;}
  .ws-hasegawa-form-toggle:hover{background:var(--green-pale);color:var(--green-deep);box-shadow:none;}
  .ws-hasegawa-form-panel{width:100%;max-width:780px;margin:34px auto 0;text-align:left;}
  .ws-hasegawa-form-panel[hidden]{display:none;}
  .ws-hasegawa-form{background:var(--bg);border:1px solid rgba(23,83,64,.14);border-radius:18px;padding:clamp(24px,4vw,40px);}
  .ws-hasegawa-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
  .ws-hasegawa-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:var(--ink);}
  .ws-hasegawa-form label>span b{display:inline-block;margin-left:6px;color:#9d3d35;font-size:11px;letter-spacing:.04em;}
  .ws-hasegawa-form input,.ws-hasegawa-form textarea{width:100%;border:1px solid rgba(23,83,64,.25);border-radius:10px;background:var(--white);color:var(--ink);font:inherit;font-size:16px;line-height:1.6;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s;}
  .ws-hasegawa-form textarea{resize:vertical;min-height:150px;}
  .ws-hasegawa-form input:focus,.ws-hasegawa-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(45,159,119,.14);}
  .ws-hasegawa-form__wide{grid-column:1/-1;}
  .ws-hasegawa-form__consent{flex-direction:row!important;align-items:flex-start;min-height:44px;margin-top:20px;font-weight:500!important;line-height:1.7;}
  .ws-hasegawa-form__consent input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--green-deep);}
  .ws-hasegawa-form__consent a{display:inline-block;padding-block:3px;margin-block:-3px;color:var(--green-cta);text-decoration:underline;text-underline-offset:3px;}
  .ws-hasegawa-form__consent a:hover{color:var(--green-cta-deep);}
  .ws-hasegawa-form__trap[hidden]{display:none!important;}
  .ws-hasegawa-form__submit{margin:24px auto 0;border:0;font:inherit;cursor:pointer;}
  .ws-hasegawa-form__submit[disabled]{opacity:.65;cursor:wait;transform:none;}
  .ws-hasegawa-form__status{min-height:1.7em;margin-top:16px;text-align:center;font-size:14px;font-weight:700;color:var(--green-deep);}
  .ws-hasegawa-form__status.is-error{color:#9d3d35;}

  /* === CONTACT 追加: メール導線・対応地域（依頼追加・スコープ隔離） === */
  .ws-hasegawa-mail{display:inline-flex;align-items:center;gap:9px;margin-top:24px;font-size:14px;font-weight:500;color:var(--green-deep);border-bottom:1px solid var(--green-soft);padding-bottom:3px;transition:color .3s var(--ease),border-color .3s var(--ease);}
  .ws-hasegawa-mail:hover{color:var(--green);border-color:var(--green);}
  .ws-hasegawa-mail::before{content:"";width:18px;height:14px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 14'%3E%3Crect x='1' y='1' width='16' height='12' rx='1' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3Cpath d='M1.5 2 9 8l7.5-6' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 14'%3E%3Crect x='1' y='1' width='16' height='12' rx='1' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3Cpath d='M1.5 2 9 8l7.5-6' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") center/contain no-repeat;}
  .ws-hasegawa-area{max-width:760px;margin:32px auto 0;padding-top:28px;border-top:1px solid var(--line);text-align:center;}
  .ws-hasegawa-area__label{display:inline-flex;align-items:center;gap:9px;font-family:var(--en);font-size:12px;letter-spacing:.14em;color:var(--green-deep);font-weight:600;}
  .ws-hasegawa-area__label::before{content:"";width:22px;height:1px;background:var(--green-soft);}
  .ws-hasegawa-area p{margin-top:12px;font-size:13.5px;line-height:2;color:#4b5158;}

  /* === footer === */
  footer{background:var(--foot);color:rgba(255,255,255,.62);padding:clamp(56px,7vw,84px) 0 34px;font-size:13px;}
  .foot__grid{display:grid;grid-template-columns:1.1fr 1.9fr;gap:clamp(32px,5vw,64px);}
  .foot__brand{display:flex;align-items:center;}
  .foot__brand .brand__name{color:#fff;font-size:18px;}
  .foot__addr{margin-top:22px;line-height:1.9;color:rgba(255,255,255,.6);font-size:12.5px;}
  .foot__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;}
  .foot__cols h2{font-size:13.5px;font-weight:700;color:#fff;margin-bottom:14px;}
  .foot__cols a{display:block;font-size:12.5px;color:rgba(255,255,255,.6);padding:5px 0;transition:color .3s;}
  .foot__cols a:hover{color:#fff;}
  .foot__cols a[aria-current="page"]{color:#fff;}
  .foot__bottom{margin-top:clamp(40px,5vw,60px);padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:flex-end;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.62);}
  .foot__bottom a{display:inline-flex;align-items:center;min-height:32px;padding-block:4px;color:rgba(255,255,255,.82);transition:color .3s var(--ease);}
  .foot__bottom a:hover{color:#fff;}

  /* === reveal（下からせり上がり・全セクション統一） === */
  /* JS無効・読込失敗時は素で表示(fail-open)。.ws-hasegawa-js はJS先頭でhtmlに付与(Codexレビュー反映) */
  .rv{opacity:1;transform:none;transition:opacity .85s var(--ease),transform .85s var(--ease);}
  .ws-hasegawa-js .rv{opacity:0;transform:translateY(40px);}
  .ws-hasegawa-js .rv.in{opacity:1;transform:none;}
  html:not(.ws-hasegawa-js) .ws-hasegawa-tline__step::before{transform:scaleY(1);}/* JS無しでも接続線を表示 */
  .stagger > .rv:nth-child(2){transition-delay:.08s;}
  .stagger > .rv:nth-child(3){transition-delay:.16s;}
  .stagger > .rv:nth-child(4){transition-delay:.24s;}
  .stagger > .rv:nth-child(5){transition-delay:.32s;}
  .stagger > .rv:nth-child(6){transition-delay:.40s;}

  /* === ws-hasegawa-mnav: モバイルメニュー（ハンバーガー＋全画面パネル。981px以上は非表示） === */
  .ws-hasegawa-menubtn{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex:none;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);}
  header.hero-top .ws-hasegawa-menubtn{color:#fff;}
  header.ws-hasegawa-menu-open .ws-hasegawa-menubtn{color:var(--ink);}
  .ws-hasegawa-menubtn__lines{position:relative;width:22px;height:14px;display:block;}
  .ws-hasegawa-menubtn__lines::before,.ws-hasegawa-menubtn__lines::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor;border-radius:1px;transition:transform .3s var(--ease),top .3s var(--ease),bottom .3s var(--ease);}
  .ws-hasegawa-menubtn__lines::before{top:0;}
  .ws-hasegawa-menubtn__lines::after{bottom:0;}
  header.ws-hasegawa-menu-open .ws-hasegawa-menubtn__lines::before{top:6px;transform:rotate(45deg);}
  header.ws-hasegawa-menu-open .ws-hasegawa-menubtn__lines::after{bottom:6px;transform:rotate(-45deg);}
  /* ヒーロー画像の明部でも白線が見えるよう線にだけ影（展開中=ink色なので不要） */
  header.hero-top .ws-hasegawa-menubtn__lines{filter:drop-shadow(0 1px 4px rgba(0,0,0,.5));}
  header.ws-hasegawa-menu-open .ws-hasegawa-menubtn__lines{filter:none;}
  .ws-hasegawa-mnav-cta{display:none;}/* パネル内LINE CTA（デスクトップ非表示・開いた時だけ出す） */
  .ws-hasegawa-noscroll,.ws-hasegawa-noscroll body{overflow:hidden;overscroll-behavior:contain;}/* パネル展開中の背面スクロールロック（iOSのバウンス対策にbody併用） */
  /* スキップリンク（キーボード操作時のみ出現） */
  .ws-hasegawa-skip{position:fixed;top:12px;left:12px;z-index:300;background:var(--white);color:var(--ink);font-size:13px;font-weight:700;padding:12px 20px;border-radius:var(--r-btn);box-shadow:0 14px 34px -14px rgba(0,0,0,.45);transform:translateY(-240%);transition:transform .25s var(--ease);}
  .ws-hasegawa-skip:focus,.ws-hasegawa-skip:focus-visible{transform:none;}
  #main:focus{outline:none;}/* スキップ着地点（非操作要素）には巨大アウトラインを出さない */

  /* === sp-*: スポークページ共通（souzoku/iryou/houjin。ページFV・リード・カード・読み物） === */
  /* ページFV：本命ヒーローの「濃色＋Poppins大英字」入口を写真なしで踏襲。透かし文字は各ページで --sp-watermark を設定 */
  .sp-hero{position:relative;background:#20282b;color:#fff;overflow:hidden;
    padding:calc(74px + clamp(52px,8vw,96px)) 0 clamp(52px,8vw,92px);}
  .sp-hero::before{content:var(--sp-watermark,"");position:absolute;right:-2%;bottom:-18%;font-family:var(--mincho);
    font-size:clamp(180px,34vw,420px);line-height:1;color:rgba(255,255,255,.035);pointer-events:none;user-select:none;}
  .sp-hero__inner{position:relative;z-index:1;}
  .sp-hero__crumb{font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.5);margin-bottom:26px;}
  .sp-hero__crumb a{color:rgba(255,255,255,.7);}
  .sp-hero__crumb a:hover{color:#fff;}
  .sp-hero__crumb span{margin:0 9px;color:rgba(255,255,255,.28);}
  .sp-hero__eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:500;letter-spacing:.04em;color:rgba(255,255,255,.9);}
  .sp-hero__eyebrow::before{content:"";width:26px;height:2px;background:var(--green);}
  .sp-hero__title{display:block;margin-top:22px;}
  .sp-hero__title .en{display:block;font-family:var(--en);font-weight:600;font-size:clamp(46px,9vw,102px);line-height:1;letter-spacing:.01em;color:#fff;}
  .sp-hero__title .jp{display:block;margin-top:16px;font-size:clamp(17px,2.1vw,23px);font-weight:500;letter-spacing:.02em;color:rgba(255,255,255,.95);}
  .sp-hero__lead{margin-top:24px;font-size:15px;line-height:2.05;color:rgba(255,255,255,.8);max-width:38em;}
  .sp-hero__cta{margin-top:34px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
  .sp-hero__note{font-size:12.5px;color:rgba(255,255,255,.62);}

  /* 本文セクション（背景を交互に：白／soft） */
  .sp-sec{padding:var(--sec) 0;}
  .sp-sec--soft{background:var(--bg-soft);}
  .sp-sec--white{background:var(--white);}
  .sp-lead{margin:44px 0 0;font-size:14.5px;line-height:2.05;color:#4b5158;max-width:40em;}

  /* sp-lede：ページ冒頭の「このページでできること」＝写真＋要約＋ページ内ジャンプ（迷子防止） */
  .sp-lede{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:center;}
  .sp-lede__pic{aspect-ratio:4/3;border-radius:var(--r-card);overflow:hidden;background:linear-gradient(150deg,#cfe6da,#9cc4b0);}
  .sp-lede__pic img{width:100%;height:100%;object-fit:cover;}
  .sp-lede__catch{font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:.02em;line-height:1.7;}
  .sp-lede__txt p{margin-top:18px;font-size:14px;line-height:2.05;color:#4b5158;max-width:36em;}
  .sp-lede__jump{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;}
  .sp-lede__jump a{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink);
    background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-btn);padding:12px 18px;
    transition:border-color .3s var(--ease),color .3s var(--ease);}
  .sp-lede__jump a::after{content:"↓";font-family:var(--en);font-size:12px;color:var(--green-deep);}
  .sp-lede__jump a:hover{border-color:var(--green);color:var(--green-deep);}

  /* お悩み・対応：Poppins番号を主役にした罫線カラム */
  .sp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px);margin-top:48px;}
  .sp-card{border-top:1px solid var(--line);padding-top:22px;}
  .sp-card__no{font-family:var(--en);font-weight:500;font-size:22px;line-height:1;letter-spacing:.04em;color:var(--green-soft);}
  .sp-card h3{margin-top:13px;font-size:16.5px;font-weight:700;letter-spacing:.02em;line-height:1.6;}
  .sp-card p{margin-top:11px;font-size:13.5px;line-height:1.95;color:#4b5158;}

  /* 期限・注意バッジ */
  .sp-deadline{display:inline-flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.02em;color:var(--ink);border:1px solid var(--line);border-radius:var(--r-btn);padding:10px 18px;margin:20px 0 8px;}
  .sp-deadline b{font-family:var(--en);font-weight:600;color:var(--green-deep);letter-spacing:.02em;}

  /* 読み物ブロック */
  .sp-prose{max-width:720px;margin-top:44px;}
  .sp-prose p{margin-top:16px;font-size:14.5px;line-height:2.05;color:#4b5158;}
  .sp-prose a{color:var(--green-deep);border-bottom:1px solid var(--green-soft);}
  .sp-prose a:hover{color:var(--green);}

  /* === PRIVACY（問い合わせフォームの実運用に合わせた個人情報保護方針） === */
  .privacy-page{background:var(--bg);}
  .privacy-page .sp-hero{--sp-watermark:"守";}
  .privacy-main{background:var(--white);}
  .privacy-layout{display:grid;grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);gap:clamp(42px,7vw,96px);align-items:start;}
  .privacy-nav{position:sticky;top:106px;border-top:1px solid var(--line);}
  .privacy-nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:500;color:var(--sub);transition:color .3s var(--ease);}
  .privacy-nav a::after{content:"→";font-family:var(--en);font-size:12px;color:var(--green-deep);}
  .privacy-nav a:hover{color:var(--ink);}
  .privacy-content{max-width:760px;}
  .privacy-intro{padding-bottom:clamp(32px,5vw,52px);border-bottom:1px solid var(--line);font-size:14.5px;line-height:2.1;color:#4b5158;}
  .privacy-section{padding:clamp(34px,5vw,52px) 0;border-bottom:1px solid var(--line);}
  .privacy-section h2{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:baseline;font-size:clamp(18px,2vw,22px);line-height:1.6;letter-spacing:.02em;}
  .privacy-section h2 span{font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--green-deep);}
  .privacy-section p,.privacy-section li{font-size:14px;line-height:2;color:#4b5158;}
  .privacy-section p{margin-top:18px;}
  .privacy-section ul{margin:18px 0 0 1.25em;}
  .privacy-section li+li{margin-top:7px;}
  .privacy-contact{margin-top:20px;padding:22px 24px;background:var(--bg-soft);border-left:3px solid var(--green-soft);}
  .privacy-contact p{margin-top:0;}
  .privacy-contact a{color:var(--green-cta);text-decoration:underline;text-underline-offset:3px;}
  .privacy-updated{margin-top:34px;text-align:right;font-size:12.5px;color:var(--sub);}

  @media(max-width:880px){.sp-cards{grid-template-columns:1fr;gap:20px;}}
  @media(max-width:880px){.privacy-layout{grid-template-columns:1fr;}.privacy-nav{position:static;display:grid;grid-template-columns:1fr 1fr;}.privacy-nav a{padding-right:14px;}}
  @media(max-width:980px){.sp-lede{grid-template-columns:1fr;gap:26px;}.sp-lede__pic{max-width:520px;}}
  @media(max-width:560px){.sp-hero::before{font-size:clamp(140px,52vw,220px);bottom:-8%;}.privacy-nav{grid-template-columns:1fr;}.privacy-section h2{grid-template-columns:38px 1fr;gap:10px;}}
  /* タッチ端末ではパンくずリンクのタップ領域を44px級に（レイアウト不変のpadding+負margin方式） */
  @media (pointer:coarse){
    .sp-hero__crumb a{display:inline-block;padding-block:14px;margin-block:-14px;}
  }

  /* === ws-hasegawa: 下層ページ共通（現在地ハイライト・ハブ→スポーク導線） === */
  /* 現在地は--green-cta＝明色ヘッダー上で4.69:1(AA)。green-deepは3.12:1で不足(Codexレビュー指摘) */
  .nav a[aria-current="page"]{color:var(--green-cta);font-weight:700;}
  .ws-hasegawa-splink{margin-top:26px;font-size:12.5px;}
  .ws-hasegawa-faqmore{margin-top:36px;display:flex;justify-content:center;}

  /* === fx-hasegawa-hero: ヒーロー登場＋スクロールキュー（純CSS＝rAF凍結の影響なし。reduced-motionで停止） === */
  /* 各要素を下から、ゆっくり・順にずらして立ち上げる（印象重視の4段階：eyebrow→大英字→和文→CTA） */
  @keyframes fxHasegawaRise{from{opacity:0;transform:translateY(44px);}to{opacity:1;transform:none;}}
  .hero__title .en__l{display:block;}/* Beside / Your Money を各行ブロック化して個別に動かす */
  .hero__eyebrow,
  .hero__title .en__l,
  .hero__title .jp,
  .hero__cta{animation:fxHasegawaRise 1.25s var(--ease) both;}
  .hero__eyebrow{animation-delay:.25s;}
  .hero__title .en__l:nth-child(1){animation-delay:.7s;}/* Beside */
  .hero__title .en__l:nth-child(2){animation-delay:1.15s;}/* Your Money */
  .hero__title .jp{animation-delay:1.6s;}
  .hero__cta{animation-delay:2.05s;}
  @keyframes fxHasegawaCue{0%,100%{opacity:.55;}50%{opacity:1;}}
  /* スクロールキューは文字の立ち上がりが済んでから、ふわっと現れる */
  .hero__scroll{animation:fxHasegawaCueIn .9s var(--ease) 2.6s both,fxHasegawaCue 2.6s ease-in-out 3.5s infinite;}
  @keyframes fxHasegawaCueIn{from{opacity:0;}to{opacity:.55;}}

  /* === responsive === */
  @media (max-width:980px){
    /* --- モバイルメニュー：バーガー表示＋navを全画面パネル化 --- */
    .ws-hasegawa-menubtn{display:flex;}
    .brand,a.nav__cta,.ws-hasegawa-menubtn{position:relative;z-index:2;}/* パネルより上に出す */
    a.nav__cta{margin-left:auto;}
    /* 閉状態は遷移なし（ブレイクポイント跨ぎリサイズ時のフラッシュ防止）。開く時だけアニメ */
    .nav{position:fixed;inset:0;z-index:1;margin-left:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;background:var(--bg);padding:104px var(--gutter) 44px;overflow-y:auto;counter-reset:wsmnav;visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;}
    .nav.ws-hasegawa-open{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition:opacity .35s var(--ease),transform .35s var(--ease);}
    /* backdrop-filterはfixed子要素の基準を自要素の枠に変える(containing block化)ため、
       solid状態でパネルを開くと全画面のはずのパネルがヘッダー枠(74px)に閉じ込められる。展開中だけ無効化 */
    header.ws-hasegawa-menu-open{backdrop-filter:none;}
    header.ws-hasegawa-menu-open .brand__name{color:var(--ink);text-shadow:none;}
    .nav a:not(.ws-hasegawa-mnav-cta){display:flex;align-items:center;gap:16px;counter-increment:wsmnav;font-size:20px;font-weight:700;letter-spacing:.02em;color:var(--ink);padding:19px 2px;border-bottom:1px solid var(--line);}
    .nav a:not(.ws-hasegawa-mnav-cta)::before{content:"0" counter(wsmnav);font-family:var(--en);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--green-deep);}
    header.hero-top .nav a{color:var(--ink);text-shadow:none;}
    header.hero-top .nav a:hover{opacity:1;color:var(--green-deep);}
    .nav a:hover{color:var(--green-deep);}
    .nav a[aria-current="page"]:not(.ws-hasegawa-mnav-cta){color:var(--green-cta);}/* パネル内でも現在地を点灯(AA配色) */
    .nav .ws-hasegawa-mnav-cta{display:inline-flex;margin-top:30px;width:100%;}
    .hero__title .en{white-space:normal;font-size:clamp(46px,12.5vw,92px);line-height:1.02;}
    .srow{grid-template-columns:1fr;gap:22px;}
    .ws-hasegawa-sindex__row{grid-template-columns:56px 1fr;row-gap:6px;}
    .ws-hasegawa-sindex__p{grid-column:2;}
    .company__grid{grid-template-columns:1fr;}
    .company__portrait{max-width:320px;}
    .about-profile{grid-template-columns:1fr;}
    .about-profile__pic{max-width:420px;}
    .about-approach{grid-template-columns:1fr;}
    .price__body{grid-template-columns:1fr;gap:30px;}
    .price__pic{max-width:520px;}
    .foot__grid{grid-template-columns:1fr;gap:36px;}
    .hero__news{max-width:min(70vw,360px);}
    .hero__scroll{display:none;}
  }
  @media (max-width:560px){
    .ws-hasegawa-sindex__row{grid-template-columns:44px 1fr;padding:20px 0;}
    .ws-hasegawa-sindex__no{font-size:22px;line-height:1.56;}/* 22px時に番号天を本文天へ合わせる実測lh */
    .ws-hasegawa-tline__step{grid-template-columns:40px 1fr;gap:0 16px;}
    .ws-hasegawa-tline__no{width:40px;height:40px;font-size:15px;}
    .ws-hasegawa-tline__step::before{left:19px;top:44px;}
    .ws-hasegawa-tline__body h3{padding-top:8px;font-size:15.5px;}
    .price__cards{grid-template-columns:1fr;}
    .about-expertise__row{grid-template-columns:42px 1fr;gap:8px 16px;padding:24px 0;}
    .about-expertise__row p{grid-column:2;}
    .about-career__item{grid-template-columns:1fr;gap:8px;}
    .about-credentials{grid-template-columns:1fr;}
    .about-credentials li:nth-child(odd),.about-credentials li:nth-child(even){padding:18px 0;border-left:0;}
    .about-cta{grid-template-columns:1fr;align-items:start;}
    .foot__cols{grid-template-columns:1fr 1fr;}
    .foot__cols a{padding:10px 0;}/* モバイルのタップ領域を44px級に */
    .contact__actions{flex-direction:column;align-items:stretch;}
    .ws-hasegawa-form__grid{grid-template-columns:1fr;}
    .ws-hasegawa-form__wide{grid-column:auto;}
    .sec-head{flex-direction:column;align-items:flex-start;gap:18px;}
    /* スマホでブランド名が2行に折り返す不具合を修正（1行固定＋間隔・文字サイズ調整） */
    .head{gap:12px;}
    .brand__name{font-size:18px;white-space:nowrap;}
    /* 最小幅ではヘッダーCTAをメニュー内へ集約（バー＝ブランド＋バーガーのみ。FVのLINE CTAは常時可視） */
    a.nav__cta{display:none;}
    .ws-hasegawa-menubtn{margin-left:auto;}
  }
  /* 大画面（1600px以上）：--maxw 1200px 固定だと 1920/2560px で左右余白が肥大化するため、画面幅に緩やかに追従させる。1600px未満は不変。 */
  @media (min-width:1600px){
    :root{ --maxw: clamp(1200px, 78vw, 1560px); }
  }
  @media (prefers-reduced-motion:reduce){
    .rv{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
    /* reveal以外の hover/ヘッダー transition も停止する */
    .cta,header,.arrow-link .circ{transition:none;}
    .faq__item::details-content,.faq__sign::before{transition:none;}
    /* reduce時に残る疑似要素transition・hover transformも停止 */
    .cta::after,a.nav__cta,.ws-hasegawa-mail{transition:none;}
    .cta:hover,.cta:hover::after,a.nav__cta:hover{transform:none;}
    /* Strength番号の点灯・Flow接続線の伸長も停止（終着状態で即表示） */
    .ws-hasegawa-sindex__no,.ws-hasegawa-tline__step::before{transition:none;}
    /* モバイルメニュー・ヒーロー登場アニメも停止（即時表示） */
    .nav,.nav.ws-hasegawa-open,.ws-hasegawa-menubtn__lines::before,.ws-hasegawa-menubtn__lines::after,.ws-hasegawa-skip{transition:none;}
    .hero__inner>*,.hero__title .en__l,.hero__title .jp,.hero__scroll{animation:none;}
  }

  /* === a11y改善（Codexレビュー反映：配色・文言・レイアウトの見た目は変えない範囲） === */
  /* 固定ヘッダー分アンカー着地位置を補正（#faq/#contact 等の見出しがヘッダー裏に隠れるのを防止） */
  #service,#company,#price,#flow,#faq,#contact,#main,#strength,#souzoku,#iryou,#houjin,#cost,#profile,#career,#qualifications,#approach,#privacy-purpose,#privacy-data,#privacy-management,#privacy-third-party,#privacy-disclosure,#privacy-contact{scroll-margin-top:90px;}
  /* キーボード操作時のみフォーカスリングを明示（マウス操作時は非表示・見た目不変） */
  a:focus-visible,summary:focus-visible{outline:3px solid var(--green-deep);outline-offset:3px;}
  /* メール導線のタップ領域を44px級に確保 */
  .ws-hasegawa-mail{padding-top:8px;padding-bottom:8px;}
  /* iOS Safari 等のアドレスバー変動対策（対応ブラウザのみ svh を使用・非対応は従来の 100vh） */
  @supports (height:100svh){
    .hero{height:100svh;}
    .content{margin-top:100svh;}
  }
  /* タッチ端末ではフッターリンクのタップ領域を拡大 */
  @media (pointer:coarse){
    .foot__cols a{padding:10px 0;}
  }

  /* === 2026-07-29 角丸を使わないエディトリアルデザインシステム === */
  :root{--r-btn:0;--r-card:0;}
  *,*::before,*::after{border-radius:0!important;}

  .cta,.cta--lg,a.nav__cta{
    border:1px solid var(--green-cta);
    box-shadow:none;
  }
  .cta:hover,.cta--lg:hover,a.nav__cta:hover{box-shadow:none;}
  .tag{
    border:0;
    border-left:1px solid var(--green-soft);
    background:transparent;
    padding:3px 14px;
  }
  .arrow-link .circ{
    width:42px;
    height:30px;
    border:0;
    border-left:1px solid var(--green);
  }
  .arrow-link:hover .circ{background:transparent;color:var(--green-cta);transform:translateX(3px);}
  .hero__news{
    border:1px solid rgba(35,40,44,.14);
    border-left:3px solid var(--green-cta);
    box-shadow:none;
  }
  .srow__pic,.company__portrait,.about-profile__pic,.sp-lede__pic{
    outline:1px solid rgba(31,82,65,.15);
    outline-offset:-1px;
  }
  .faq__list{
    gap:0;
    border-top:0;
  }
  .faq__item{
    background:rgba(255,255,255,.48);
    border-bottom:1px solid rgba(35,40,44,.2);
    box-shadow:none;
  }
  .faq__q{padding:24px 22px;}
  .faq__q::before{
    width:30px;
    height:30px;
    background:transparent;
    border:1px solid var(--green-cta);
    color:var(--green-cta);
  }
  .contact__card{
    border-top:1px solid rgba(31,82,65,.24);
    border-bottom:1px solid rgba(31,82,65,.24);
    box-shadow:none;
    background:rgba(255,255,255,.68);
  }
  .ws-hasegawa-form{
    border:0;
    border-top:1px solid rgba(23,83,64,.2);
    border-bottom:1px solid rgba(23,83,64,.2);
    background:transparent;
  }

  /* 料金：カード群を廃止し、罫線で読む一枚のレート表に変更 */
  .price-editorial{
    margin-top:58px;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,33%);
    gap:clamp(30px,4vw,56px);
    align-items:stretch;
  }
  .price-editorial__sheet{
    display:flex;
    min-width:0;
    flex-direction:column;
    border-top:1px solid rgba(22,122,90,.55);
    border-left:1px solid rgba(22,122,90,.36);
  }
  .price-editorial__row{
    display:grid;
    grid-template-columns:58px minmax(150px,.72fr) minmax(185px,1.15fr) minmax(190px,.9fr);
    min-height:184px;
    border-bottom:1px solid rgba(22,122,90,.36);
    border-right:1px solid rgba(22,122,90,.36);
  }
  .price-editorial__row>*{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:24px clamp(18px,2vw,30px);
  }
  .price-editorial__row>*+*{border-left:1px solid rgba(22,122,90,.28);}
  .price-editorial__index{
    align-items:center;
    color:var(--green-deep);
    font-family:var(--en);
    font-size:12px;
    font-weight:600;
    letter-spacing:.12em;
    font-variant-numeric:tabular-nums;
  }
  .price-editorial__name h3{
    color:var(--green-deep);
    font-size:clamp(16px,1.5vw,20px);
    font-weight:700;
    line-height:1.55;
  }
  .price-editorial__name p{
    margin-top:7px;
    color:var(--sub);
    font-size:11.5px;
    line-height:1.6;
  }
  .price-editorial__amount{
    color:var(--green-cta);
    font-family:var(--mincho);
    font-size:clamp(38px,4.6vw,61px);
    font-weight:600;
    line-height:1.08;
    letter-spacing:.02em;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
  }
  .price-editorial__amount small{
    margin-left:5px;
    color:var(--green-deep);
    font-family:var(--jp);
    font-size:15px;
    font-weight:500;
  }
  .price-editorial__note{
    color:#404a47;
    font-size:12.5px;
    line-height:2;
  }
  .price-editorial__footer{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:24px clamp(22px,3vw,34px);
    border-right:1px solid rgba(22,122,90,.36);
    border-bottom:1px solid rgba(22,122,90,.36);
  }
  .price-editorial__footer p{
    max-width:34em;
    color:var(--sub);
    font-size:12px;
    line-height:1.8;
  }
  .price-editorial__footer .cta{flex:none;}
  .price-editorial__photo{
    min-height:440px;
    overflow:hidden;
    border:1px solid rgba(22,122,90,.24);
  }
  .price-editorial__photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:58% center;
  }

  /* Company：事務所概要に絞り、代表者の詳細はプロフィールページへ分離 */
  .company__grid{
    grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
    align-items:center;
  }
  .company__portrait{
    position:relative;
    top:auto;
  }
  .company__lead{max-width:43em;}
  .company__facts{
    margin-top:30px;
    border-top:1px solid rgba(31,82,65,.3);
  }
  .company__facts div{
    display:grid;
    grid-template-columns:105px minmax(0,1fr);
    gap:18px;
    padding:13px 0;
    border-bottom:1px solid rgba(35,40,44,.14);
  }
  .company__facts dt{
    color:var(--green-deep);
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
  }
  .company__facts dd{
    color:#414a47;
    font-size:12.5px;
    font-weight:500;
    line-height:1.75;
  }
  .profile-summary{
    margin-top:34px;
    border-top:1px solid rgba(31,82,65,.34);
  }
  .profile-summary__label{
    padding:14px 0 11px;
    color:var(--green-deep);
    font-family:var(--en);
    font-size:10.5px;
    font-weight:600;
    letter-spacing:.15em;
    text-transform:uppercase;
  }
  .profile-summary__expertise{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid rgba(35,40,44,.15);
    border-bottom:1px solid rgba(35,40,44,.15);
  }
  .profile-summary__expertise article{
    min-width:0;
    padding:18px 16px 20px;
  }
  .profile-summary__expertise article+article{border-left:1px solid rgba(35,40,44,.15);}
  .profile-summary__expertise h3,.profile-summary__expertise h4{
    color:var(--green-deep);
    font-size:14px;
    font-weight:700;
    line-height:1.65;
  }
  .profile-summary__expertise p{
    margin-top:7px;
    color:#505956;
    font-size:11.5px;
    line-height:1.8;
  }
  .profile-summary__career{
    list-style:none;
    border-top:1px solid rgba(35,40,44,.15);
  }
  .profile-summary__career li{
    display:grid;
    grid-template-columns:86px minmax(0,1fr);
    gap:14px;
    align-items:start;
    padding:10px 0;
    border-bottom:1px solid rgba(35,40,44,.15);
  }
  .profile-summary__career li>span{
    color:var(--green-deep);
    font-family:var(--en);
    font-size:12px;
    font-weight:600;
    letter-spacing:.06em;
    font-variant-numeric:tabular-nums;
  }
  .profile-summary__career li>p,.profile-summary__career li h3{
    font-size:12.5px;
    font-weight:600;
    line-height:1.7;
  }
  .profile-summary__career--detailed li{padding:13px 0;}
  .profile-summary__career--detailed li p{
    margin-top:4px;
    color:#525a58;
    font-size:11.5px;
    line-height:1.75;
  }
  .profile-summary__qualifications{
    padding:15px 0;
    border-bottom:1px solid rgba(31,82,65,.34);
    color:#414a47;
    font-size:11.5px;
    font-weight:500;
    line-height:1.8;
  }
  .profile-summary__qualifications span{
    margin-right:16px;
    color:var(--green-deep);
    font-weight:700;
    letter-spacing:.08em;
  }
  /* Profile：写真の距離を変えた3点構成と、経歴情報を一つの読み面にまとめる */
  .about-profile--integrated{
    display:block;
  }
  .about-profile__feature{
    display:grid;
    grid-template-columns:minmax(0,1.14fr) minmax(340px,.86fr);
    gap:clamp(42px,5.5vw,82px);
    align-items:center;
  }
  .about-profile__gallery{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(150px,.75fr);
    grid-template-rows:1fr 1fr;
    gap:12px;
    min-width:0;
  }
  .about-profile__gallery .about-profile__pic{
    position:relative;
    top:auto;
    width:auto;
    min-width:0;
    outline:1px solid rgba(31,82,65,.15);
    outline-offset:-1px;
  }
  .about-profile__pic--main{
    grid-row:1/3;
    aspect-ratio:4/5;
  }
  .about-profile__pic--wide,.about-profile__pic--detail{
    aspect-ratio:4/3;
  }
  .about-profile__gallery img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .about-profile__pic--wide img{object-position:60% center;}
  .about-profile__pic--detail img{object-position:58% center;}
  .about-profile--integrated .profile-summary{
    margin-top:clamp(54px,7vw,86px);
  }
  .about-profile--integrated .about-profile__lead{max-width:54em;}
  .profile-unified{padding-bottom:clamp(96px,12vw,160px);}

  @media(max-width:1120px){
    .price-editorial{grid-template-columns:minmax(0,1fr) 280px;gap:28px;}
    .price-editorial__row{grid-template-columns:48px minmax(130px,.7fr) minmax(160px,1fr) minmax(165px,.9fr);}
    .price-editorial__row>*{padding-inline:18px;}
    .price-editorial__amount{font-size:clamp(34px,4.3vw,48px);}
    .company__grid{gap:36px;}
    .about-profile__feature{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:38px;}
  }

  @media(max-width:980px){
    .company__grid,.about-profile__feature{grid-template-columns:1fr;}
    .company__portrait{
      position:relative;
      top:auto;
      width:min(100%,480px);
      max-width:none;
    }
    .about-profile__gallery{max-width:760px;}
    .price-editorial{grid-template-columns:1fr;}
    .price-editorial__photo{min-height:0;aspect-ratio:16/8;}
  }

  @media(max-width:700px){
    .company__portrait{aspect-ratio:4/3;}
    .company__portrait img{object-position:center 30%;}
    .company__facts div{grid-template-columns:88px minmax(0,1fr);gap:12px;}
    .about-profile__gallery{
      grid-template-columns:1fr 1fr;
      grid-template-rows:auto auto;
      gap:8px;
    }
    .about-profile__pic--main{
      grid-column:1/3;
      grid-row:auto;
      aspect-ratio:4/5;
    }
    .about-profile__pic--wide,.about-profile__pic--detail{aspect-ratio:4/3;}
    .profile-summary__expertise{grid-template-columns:1fr;}
    .profile-summary__expertise article{padding:16px 0;}
    .profile-summary__expertise article+article{border-top:1px solid rgba(35,40,44,.15);border-left:0;}
    .price-editorial{margin-top:42px;}
    .price-editorial__row{
      grid-template-columns:44px minmax(0,1fr) auto;
      min-height:0;
    }
    .price-editorial__row>*{padding:18px 14px;}
    .price-editorial__index{grid-row:1/3;}
    .price-editorial__name{grid-column:2;}
    .price-editorial__amount{grid-column:3;font-size:32px;}
    .price-editorial__note{
      grid-column:2/4;
      border-top:1px solid rgba(22,122,90,.22);
      border-left:1px solid rgba(22,122,90,.28);
    }
    .price-editorial__footer{align-items:stretch;flex-direction:column;}
    .price-editorial__footer .cta{width:100%;}
    .price-editorial__photo{aspect-ratio:4/3;}
  }

  @media(max-width:480px){
    .price-editorial__row{grid-template-columns:38px minmax(0,1fr);}
    .price-editorial__index{grid-row:1/4;}
    .price-editorial__name,.price-editorial__amount,.price-editorial__note{grid-column:2;}
    .price-editorial__amount{border-top:1px solid rgba(22,122,90,.22);}
    .profile-summary__career li{grid-template-columns:66px minmax(0,1fr);gap:10px;}
    .profile-summary__qualifications span{display:block;margin:0 0 5px;}
  }
