/* =========================================================
   AIN v15 — agent-grow.com TOPレイアウト完全準拠クローン
   実測値: container-md=55vw(max1060) / heading-page EN 128px@2560
   card radius 4.7px / 3col gap28 / dark #383431→#1B2129 / 赤→青
========================================================= */
:root{
  --sans:"Plus Jakarta Sans","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  --Inter:"Plus Jakarta Sans",sans-serif;
  --IBM:"Space Mono",monospace;
  --color:#162532;
  --gray:#808185;
  --accent:#2356E0;          /* AG #EB322D → 青 */
  --accent-dark:#1A41AC;
  --dark:#36373B;            /* AG実測 #383431（暖チャコール）の無彩色寄せ */
  --border-gray:1px solid #D9D9D9;
  --radius:.25rem;           /* AG実測 4.67px=0.25rem */
  --header-h:clamp(70px,3.2vw,82px);       /* AG --header-height */
  --pad-section:5.88rem;     /* AG実測 p-top-about/approach/recruit pt */
  --pad-block:4rem;          /* AG実測 news/about-pb */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:max(14px,.72917vw);overflow-x:clip} /* AG実測: root=0.72917vw(14px@1920,18.67px@2560) */
body{font-family:var(--sans);font-weight:500;font-size:1rem;line-height:1.5;color:var(--color);-webkit-font-smoothing:antialiased;background:#fff;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
/* AG .l-main__bg : 固定方眼背景 */
.l-main-bg{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(22,37,50,.08) 1.2px,transparent 1.2px);background-size:22px 22px} /* AG bg-main.webp実寸 */
main{position:relative;z-index:1}
/* AG .l-container--md = 55vw */
.container-md{width:min(90vw,75.5rem);margin:0 auto}  /* AG実測 1409px@2560=75.5rem */
.container-lg{width:min(92vw,86rem);margin:0 auto}    /* AG実測 1605px@2560=86rem */

/* ===== AG c-heading-top（実測: en .875rem/400, title 3rem/lh1.5/700） ===== */
.heading-top__en{font-family:var(--IBM);font-size:.875rem;font-weight:400;color:var(--gray);letter-spacing:.02em}
.is-dark .heading-top__en{color:rgba(255,255,255,.65)}
.heading-top__title{font-family:var(--Inter);font-weight:700;font-size:3rem;line-height:1.5;margin-top:.7rem}
/* ===== AG c-heading-page（実測: ja 1.125rem/500, en 6.875rem/lh.88/500） ===== */
.heading-page__ja{font-size:1.125rem;font-weight:500;color:var(--gray);display:flex;align-items:center;gap:.7rem}
.heading-page__ja::before{content:"";width:.55rem;height:1.15rem;background:var(--accent);transform:skewX(-20deg);flex:none}
.heading-page__en{font-family:var(--Inter);font-weight:800;font-size:5.2rem;line-height:1.05;letter-spacing:-.02em;margin-top:1.2rem}
.heading-page__en .ln2{display:inline;padding-left:.28em}

/* ===== ボタン類（AG実寸法準拠） ===== */
.btn-square{display:inline-flex;align-items:center;justify-content:space-between;gap:1.4rem;background:var(--accent);color:#fff;font-weight:700;font-size:1rem;padding:1.3rem 1.75rem;border-radius:var(--radius);min-width:15rem;transition:.25s}
.btn-square i{font-family:var(--IBM);font-style:normal}
.btn-square:hover{background:var(--accent-dark)}
.btn-outline{display:inline-flex;align-items:center;justify-content:space-between;gap:1.4rem;background:#fff;border:var(--border-gray);color:var(--color);font-weight:700;font-size:1rem;padding:1.3rem 1.75rem;border-radius:var(--radius);min-width:15rem;transition:.25s}
.btn-outline i{font-family:var(--IBM);font-style:normal;color:var(--accent)}
.btn-outline:hover{border-color:var(--color)}
.btn-outline--wh{background:transparent;border:1px solid #fff;color:#fff}
.btn-outline--wh:hover{background:#fff;color:var(--color)}
.circle-arrow{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--IBM);font-size:.75rem;flex:none;transition:.25s}
a:hover .circle-arrow{transform:translateX(4px)}
.label-pill{display:inline-block;background:var(--accent);color:#fff;font-family:var(--IBM);font-size:.75rem;border-radius:99px;padding:.3rem 1.4rem}

/* ===== ヘッダー（AG: 白固定・テキストナビ・CTA・ハンバーガー） ===== */
header{position:fixed;top:0;left:0;right:0;z-index:100;background:#fff;height:var(--header-h);box-shadow:0 1px 0 rgba(0,0,0,.07)}
.header-inner{height:100%;max-width:98rem;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:1.4rem}
.logo{display:flex;align-items:center;gap:.65rem}
.logo-img{width:clamp(40px,2.6rem,48px);height:clamp(40px,2.6rem,48px);object-fit:contain}
.logo-mark{width:2.3rem;height:2.3rem;border-radius:.5rem;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--Inter);font-weight:800;font-size:1rem}
.logo b{font-family:var(--Inter);font-weight:800;font-size:clamp(18px,1.2rem,22px);letter-spacing:-.01em}
nav{margin-left:auto;display:flex;align-items:center;gap:1.25rem;font-size:clamp(12px,.75rem,14px);font-weight:700} /* AG実測 nav a=.75rem */
nav a:hover{color:var(--accent)}
nav a.current{color:var(--accent)}
.header-cta{background:var(--accent);color:#fff;font-size:clamp(13px,.85rem,16px);font-weight:700;padding:.95rem 1.6rem;border-radius:var(--radius);transition:.25s}
.header-cta:hover{background:var(--accent-dark)}
.hamburger{width:3rem;height:3rem;border:var(--border-gray);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;cursor:pointer}
.hamburger span{width:1.2rem;height:1.5px;background:var(--color)}

/* ===== MV v16: スラッシュ分割ヒーロー（オリジナル構成＋演出） ===== */
.mv{position:relative;height:max(91vh,680px);margin-top:var(--header-h);overflow:hidden;background:#F2F3F5;background-image:radial-gradient(rgba(22,37,50,.08) 1.2px,transparent 1.2px);background-size:22px 22px}
.mv-photo{position:absolute;top:0;right:0;width:62%;height:100%;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);transition:clip-path 1.3s var(--ease) .2s}
body:not(.is-loaded) .mv-photo{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}
.mv-photo .slide{position:absolute;inset:0;opacity:0;animation:mvfade 18s infinite}
.mv-photo .slide:nth-child(2){animation-delay:6s}
.mv-photo .slide:nth-child(3){animation-delay:12s}
@keyframes mvfade{0%{opacity:0}6%{opacity:1}33%{opacity:1}40%{opacity:0}100%{opacity:0}}
.mv-photo .slide img{width:100%;height:100%;object-fit:cover;object-position:60% 35%;animation:mvzoom 18s linear infinite}
@keyframes mvzoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.mv-photo__tint{position:absolute;inset:0;z-index:2;background:linear-gradient(240deg,rgba(13,26,48,.04),rgba(13,26,48,.46) 80%)}
/* クリップ縁に沿う青スラッシュ帯（入場時に右からスイープ） */
.mv-slashband{position:absolute;top:0;right:0;width:62%;height:100%;pointer-events:none;z-index:3;clip-path:polygon(24% 0,27.2% 0,3.2% 100%,0 100%);background:linear-gradient(200deg,var(--accent),#1A41AC);transition:transform 1.3s var(--ease) .2s}
body:not(.is-loaded) .mv-slashband{transform:translateX(70%)}
.mv-tag{position:absolute;z-index:4;font-family:var(--IBM);font-size:.72rem;letter-spacing:.08em;color:#fff;background:rgba(13,26,48,.55);backdrop-filter:blur(3px);padding:.45rem .95rem;border-left:2px solid var(--accent);opacity:0;transition:opacity .8s var(--ease) 1.2s}
body.is-loaded .mv-tag{opacity:1}
.mv-tag.t1{right:2.2rem;top:2rem}
.mv-tag.t2{right:2.2rem;bottom:7rem}
.mv-content{position:relative;z-index:4;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 0 5rem 4.2vw;max-width:46%}
.mv-eyebrow{font-family:var(--IBM);font-size:.8rem;color:var(--gray);letter-spacing:.06em;margin-bottom:1.7rem;display:flex;align-items:center;gap:.8rem;opacity:0;transition:opacity .8s var(--ease) .25s}
body.is-loaded .mv-eyebrow{opacity:1}
.mv-eyebrow::before{content:"";width:.55rem;height:1.1rem;background:var(--accent);transform:skewX(-20deg)}
.mv-title{font-weight:900;font-size:clamp(2.05rem,2.8vw,4.6rem);line-height:1.45;letter-spacing:.01em;color:var(--color)}
.mv-title .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.mv-title .ln i{display:inline-block;font-style:normal;transform:translateY(115%);transition:transform .95s var(--ease) .15s}
.mv-title .ln:nth-child(2) i{transition-delay:.27s}
.mv-title .ln:nth-child(3) i{transition-delay:.39s}
body.is-loaded .mv-title .ln i{transform:none}
.mv-title .em{color:var(--accent)}
.brk{display:none}
.mv-sub{font-family:var(--IBM);font-size:.85rem;color:var(--gray);margin-top:1.5rem;opacity:0;transform:translateY(14px);transition:all .8s var(--ease) .6s}
body.is-loaded .mv-sub{opacity:1;transform:none}
.mv-ctas{display:flex;gap:1.1rem;margin-top:2.4rem;flex-wrap:wrap;opacity:0;transform:translateY(14px);transition:all .8s var(--ease) .75s}
body.is-loaded .mv-ctas{opacity:1;transform:none}
.mv-stats{display:flex;gap:2.6rem;margin-top:2.9rem;opacity:0;transition:opacity .9s var(--ease) .95s}
body.is-loaded .mv-stats{opacity:1}
.mv-stats b{font-family:var(--Inter);font-weight:700;font-size:2rem;color:var(--color);display:block;line-height:1.1}
.mv-stats span{display:block;font-family:var(--IBM);font-size:.66rem;letter-spacing:.16em;color:var(--gray);margin-top:.25rem}
.mv-news{position:absolute;left:4.2vw;bottom:1.7rem;z-index:5;opacity:0;transform:translateY(12px);transition:all .8s var(--ease) 1.15s}
body.is-loaded .mv-news{opacity:1;transform:none}
.mv-news a{display:flex;align-items:center;gap:1.2rem;background:#fff;border:var(--border-gray);border-radius:var(--radius);padding:1.05rem 1.6rem;font-size:.9rem;box-shadow:0 8px 26px rgba(13,20,32,.1);min-width:30rem}
.mv-news a:hover{box-shadow:0 12px 30px rgba(13,20,32,.18)}
.mv-news .date{font-family:var(--IBM);color:var(--gray);flex:none}
.mv-news .cat{flex:none;border:1px solid var(--accent);color:var(--accent);border-radius:99px;font-size:.72rem;padding:.1rem .9rem}
.mv-scroll{position:absolute;right:1.7rem;bottom:0;z-index:5;display:flex;flex-direction:column;align-items:center;gap:.8rem;font-family:var(--IBM);font-size:.66rem;letter-spacing:.3em;color:var(--gray);writing-mode:vertical-rl}
.mv-scroll::after{content:"";width:1.5px;height:4.6rem;background:linear-gradient(var(--accent),var(--accent)) no-repeat #D9D9D9;background-size:1.5px 1.5rem;animation:scrollline 2s infinite}
@keyframes scrollline{from{background-position:0 -1.5rem}to{background-position:0 4.6rem}}

/* ===== ダークゾーン（AG: about+approach連続 #383431相当） ===== */
.dark-zone{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.dark-zone::before{content:"";position:absolute;top:-10%;left:30%;width:34vw;height:130%;background:linear-gradient(180deg,rgba(35,86,224,.55),rgba(35,86,224,.15));transform:skewX(-18deg);pointer-events:none}
.dark-zone::after{content:"";position:absolute;top:-10%;left:58%;width:5vw;height:130%;background:rgba(35,86,224,.25);transform:skewX(-18deg);pointer-events:none}
.dz-inner{position:relative;z-index:2}

/* about（AG実測: pt5.88rem pb4rem / desc 1.125rem lh2.2 fw500） */
.about{padding:5.88rem 0 4rem}
.about-desc{font-size:1.125rem;font-weight:500;line-height:2.2;margin-top:1.8rem;max-width:46rem}
.about-more{display:flex;gap:1.2rem;margin-top:2.2rem;flex-wrap:wrap}
.about-type{position:absolute;right:-1vw;top:18%;font-family:var(--Inter);font-weight:600;font-size:clamp(48px,5.5vw,84px);line-height:1.1;text-align:right;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18);pointer-events:none;z-index:1}

/* approach（白カード3枚 数字主役 / AG実測: grid 3col gap28 radius5 pad37） */
.approach{padding:0 0 5.88rem}
.approach-block{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3.1rem} /* AG実測 gap28px=1.5rem */
.ap-card{background:#fff;color:var(--color);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;min-height:26.4rem} /* AG実測 pad2rem 高26.37rem */
.ap-card__title{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.7rem}
.ap-card__title::before{content:"";width:.6rem;height:1.35rem;background:var(--accent);transform:skewX(-20deg);flex:none}
.ap-card__data{margin-top:1.6rem;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.ap-card__data .item .lab{font-size:2rem;font-weight:700;line-height:1.3} /* AG実測 h4=2rem/700 */
.ap-card__data .item .sub{font-size:.69rem;color:var(--gray);margin-top:.2rem} /* AG実測 .69rem */
.ap-card__data .item .num{font-family:var(--Inter);font-weight:500;font-size:4rem;line-height:1.15;letter-spacing:-.02em} /* AG実測 4rem/500 */
.ap-card__data .item .num small{font-size:1.5rem;font-weight:700} /* AG実測 unit 1.5rem/700 */
.ap-card__pic{flex:1;display:flex;align-items:center;justify-content:center;padding:1.2rem 0}
.ap-card__pic svg{width:9rem;height:7.6rem;stroke:var(--color);fill:none;stroke-width:1.6}
.ap-card__pic svg .ac{stroke:var(--accent)}
.ap-card__more{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;font-size:1rem;font-weight:700;border-top:var(--border-gray);padding-top:1.3rem}
/* 認証パネル（AG cm-block-approach: 白 radius5 pad47） */
.system-panel{background:#fff;color:var(--color);border-radius:var(--radius);padding:2.5rem;margin-top:1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem} /* AG実測 pad2.5rem */
.sys h3{font-size:1.125rem;font-weight:700;display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem}
.sys h3::before{content:"";width:.55rem;height:1.2rem;background:var(--accent);transform:skewX(-20deg);flex:none}
.sys p{font-size:.85rem;color:#444;line-height:1.9}
.sys .src{font-size:.78rem;color:var(--gray);margin-top:.7rem}
.sys .src u{text-decoration:underline}
/* 全幅バナー（AG: 赤帯 View More >>>） */
.banner-cta{display:flex;align-items:center;justify-content:space-between;background:var(--accent);color:#fff;border-radius:var(--radius);padding:1.7rem 2.4rem;margin-top:1.5rem;font-weight:700;font-size:1.125rem;transition:.25s}
.banner-cta:hover{background:var(--accent-dark)}
.banner-cta .vm{font-family:var(--IBM);font-size:.9rem;letter-spacing:.12em}
.banner-cta .vm::after{content:"  >>>"}

/* ===== Business（AG: {事業内容}+Our Business 128px / item flex 写真58%端まで） ===== */
.business{position:relative;padding:4.3rem 0 0;background:linear-gradient(180deg,#F4F5F6,#fff)}
.business::before{content:"";position:absolute;top:0;left:10%;width:30vw;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,0));transform:skewX(-18deg);pointer-events:none}
.business-head{position:relative;z-index:2}
.business-items{position:relative;z-index:2;margin-top:2.8rem;display:flex;flex-direction:column;gap:4rem}
.biz-item{display:flex;align-items:center;gap:1.5rem} /* AG実測 gap28px=1.5rem */
.biz-item__text{width:42%;flex:none;padding-left:2%}
.biz-item__text .num{display:inline-block;background:var(--accent);color:#fff;font-family:var(--IBM);font-size:.85rem;border-radius:99px;padding:.2rem 1.3rem}
.biz-item__text .num--gold{background:#C9A86A}
.biz-item__text h3{font-weight:700;font-family:var(--Inter);font-size:2.2rem;line-height:1.45;margin-top:.9rem} /* AG実測 3rem/lh1.5/700 */
.biz-item__text .sub{font-size:.875rem;color:var(--gray);margin-top:.55rem}
.biz-item__text p{font-size:1rem;font-weight:400;line-height:1.85;margin-top:.9rem;color:#333;max-width:30rem} /* AG実測 1.125rem/400 */
.biz-item__text .btn-outline{margin-top:1.3rem}
.biz-item figure{flex:1;position:relative;margin-right:calc(50% - 50vw)}
.biz-item figure img{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:var(--radius) 0 0 var(--radius)}
.biz-item--rev{flex-direction:row-reverse}
.biz-item--rev figure{margin-right:0;margin-left:calc(50% - 50vw)}
.biz-item--rev figure img{border-radius:0 var(--radius) var(--radius) 0}
/* クライアント/プラットフォーム マーキー（AG実測: pad82px 0） */
.client-strip{padding:3.2rem 0;background:#EFF3F8;margin-top:4rem;overflow:hidden} /* AG実測 pad81.67px=5.83rem */
.client-track{display:flex;gap:5.7rem;width:max-content;animation:mq 30s linear infinite;align-items:center}
.client-track span{font-family:var(--Inter);font-weight:700;font-size:1.5rem;color:#9AA3B2;white-space:nowrap}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== Recruit相当（AG: 写真bg+斜線見出し+CTA+SYSTEM 2カード+3ボタン） ===== */
.recruit{position:relative;padding:5.88rem 0;color:#fff;overflow:hidden} /* AG実測 pt/pb 5.88rem */
.recruit .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.recruit::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(16,22,33,.82),rgba(16,22,33,.82));z-index:1}
.recruit-inner{position:relative;z-index:2}
.recruit .heading-page__ja{color:rgba(255,255,255,.7)}
.recruit .heading-page__en{font-size:6.875rem}
.recruit-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:3.5rem;align-items:start;margin-top:3.5rem}
.recruit-copy h3{font-weight:900;font-size:2.05rem;line-height:1.7;display:flex;gap:1.1rem}
.recruit-copy h3::before{content:"";width:.85rem;height:3.85rem;background:var(--accent);transform:skewX(-18deg);flex:none;margin-top:.4rem}
.recruit-copy .r{font-size:1rem;font-weight:500;line-height:2.2;color:rgba(255,255,255,.92)}
.recruit-copy .btn-square{margin-top:1.7rem}
.recruit-system{text-align:center;margin-top:5rem}
.recruit-system h4{font-weight:900;font-size:2rem;margin-top:1.3rem}
.rs-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.85rem;margin-top:2.55rem;text-align:left}
.rs-card{display:flex;gap:1.4rem;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);padding:1.4rem;transition:.25s}
.rs-card:hover{background:rgba(255,255,255,.12)}
.rs-card img{width:12rem;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);flex:none}
.rs-card h5{font-weight:900;font-size:1.25rem;display:flex;align-items:center;gap:.85rem}
.rs-card p{font-size:.85rem;color:rgba(255,255,255,.8);margin-top:.55rem;line-height:1.9}
.recruit-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1.85rem;margin-top:2.55rem}

/* ===== Relations相当=インサイト（AG: 3カード斜めクリップ） ===== */
.relations{padding:4rem 0 0}
.relations-grid{display:grid;grid-template-columns:.8fr repeat(3,1fr);gap:1.85rem;align-items:center;margin-top:0}
.rel-card{position:relative;border-radius:var(--radius);overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 1.55rem),calc(100% - 1.55rem) 100%,0 100%);aspect-ratio:16/10;display:block}
.rel-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.4s}
.rel-card:hover img{transform:scale(1.06)}
.rel-card::before{content:"";position:absolute;inset:0;background:linear-gradient(20deg,rgba(13,20,33,.85) 30%,rgba(13,20,33,.2));z-index:1}
.rel-card .t{position:absolute;right:1.1rem;bottom:1rem;z-index:2;text-align:right;color:#fff}
.rel-card .t b{font-size:1.125rem;font-weight:900;display:block}
.rel-card .t span{font-size:.75rem;color:rgba(255,255,255,.8);display:block;margin-top:.3rem;line-height:1.6}

/* ===== News（AG実測: 行font1rem / セクションpt・pb4rem） ===== */
.news{padding:4rem 0}
.news-grid{display:grid;grid-template-columns:.8fr 2.2fr;gap:3.5rem}
.news-side .more{display:inline-flex;align-items:center;gap:.85rem;font-size:1rem;font-weight:700;margin-top:1.7rem}
.news-list a{display:flex;align-items:center;gap:1.3rem;background:#fff;border-radius:var(--radius);padding:1.55rem 1.85rem;margin-bottom:1rem;box-shadow:0 2px 10px rgba(22,37,50,.05);font-size:1rem;transition:.2s}
.news-list a:hover{box-shadow:0 8px 22px rgba(22,37,50,.12)}
.news-list .date{font-family:var(--IBM);font-size:.89rem;color:var(--gray);flex:none}
.news-list .cat{flex:none;border:1px solid var(--accent);color:var(--accent);border-radius:99px;font-size:.78rem;padding:.15rem 1rem}
.news-list .t{flex:1;font-weight:700}
.news-list .ar{font-family:var(--IBM);color:var(--accent)}

/* ===== Contact 50/50（AG: 採用white/問合せ赤） ===== */
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;min-height:19rem;width:min(92vw,86rem);margin:0 auto 6rem}
.contact-split>a{display:flex;flex-direction:column;justify-content:center;padding:3.2rem 3.5rem;transition:.25s;border-radius:16px;box-shadow:0 10px 30px rgba(13,20,32,.08)}
.cs-label{font-size:1.125rem;font-weight:500;display:flex;align-items:center;gap:.7rem}
.cs-label::before{content:"";width:.55rem;height:1.15rem;background:var(--accent);transform:skewX(-20deg);flex:none}
.contact-split h3{font-family:var(--Inter);font-weight:500;font-size:4.5rem;line-height:1;margin-top:1rem} /* AG heading-page比準拠 */
.contact-split .ln{width:2.1rem;height:2px;background:var(--accent);margin-top:1.4rem}
.cs-l{background:#F4F5F6}
.cs-l:hover{background:#EBEDEF}
.cs-r{background:var(--accent);color:#fff}
.cs-r .cs-label::before{background:#fff}
.cs-r .ln{background:#fff}
.cs-r:hover{background:var(--accent-dark)}

/* ===== CTAゾーン（AG: モザイク柄ダーク CASUAL TALK/ENTRY/ブログ4枚） ===== */
.cta-zone{position:relative;background:var(--dark);color:#fff;overflow:hidden}
.cta-zone::before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.09) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.09) 2px,transparent 2px);background-size:26px 26px}
.cta-block{position:relative;z-index:2;padding:6rem 0;text-align:center}
.cta-block+.cta-block{border-top:1px solid rgba(255,255,255,.14)}
.cta-block h3{font-weight:900;font-size:2.55rem;margin-top:1.4rem}
.cta-block .d{font-size:1rem;font-weight:500;color:rgba(255,255,255,.85);margin-top:1.3rem;line-height:2.1}
.cta-block .btns{display:flex;gap:1.3rem;justify-content:center;margin-top:2.3rem;flex-wrap:wrap}
.cta-block .flow{display:inline-flex;align-items:center;gap:.85rem;font-size:1rem;font-weight:700;margin-top:2rem}
.btn-gold{display:inline-flex;align-items:center;justify-content:space-between;gap:1.4rem;background:#C9A86A;color:#fff;font-weight:700;font-size:1rem;padding:1.3rem 1.75rem;border-radius:var(--radius);min-width:15rem;transition:.25s}
.btn-gold i{font-family:var(--IBM);font-style:normal}
.btn-gold:hover{background:#B08F4F}
.blog-links{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;padding:0 0 5rem}
.blog-link{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:1.4rem 1.55rem;display:flex;align-items:center;justify-content:space-between;gap:.7rem;transition:.25s}
.blog-link:hover{background:rgba(255,255,255,.12)}
.blog-link .l span{font-family:var(--IBM);font-size:.75rem;color:rgba(255,255,255,.55);display:block}
.blog-link .l b{font-size:1rem;font-weight:700;display:block;margin-top:.3rem}
.blog-link .ar{font-family:var(--IBM);color:var(--accent)}

/* ===== フッター（AG実測: pt/pb 3.25rem） ===== */
footer{position:relative;background:#fff;padding:3.25rem 0 0;overflow:hidden}
.foot-cols{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:3.85rem;margin-top:2.5rem}
.foot-group h4{font-size:1.05rem;font-weight:900;padding-bottom:.85rem;border-bottom:var(--border-gray);margin-bottom:1.15rem;display:flex;align-items:center;justify-content:space-between}
.foot-group h4 .circle-arrow{width:1.55rem;height:1.55rem;font-size:.75rem}
.foot-group{margin-bottom:2.55rem}
.foot-group li{font-size:.93rem;margin-bottom:.65rem}
.foot-group li a{display:flex;align-items:center;gap:.65rem}
.foot-group li a::before{content:"";width:.43rem;height:.43rem;border-radius:50%;background:var(--accent);flex:none}
.foot-group li a:hover{color:var(--accent)}
.foot-sns{position:relative;z-index:2;display:flex;gap:1.85rem;margin-top:1.7rem;font-size:.89rem;font-weight:700}
.foot-legal{position:relative;z-index:2;display:flex;gap:1.85rem;margin-top:1.85rem;font-size:.82rem;color:var(--gray);flex-wrap:wrap}
.foot-legal a::after{content:" >";font-family:var(--IBM);color:var(--accent)}
.foot-ghost{display:none}
.foot-meta{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 0;border-top:var(--border-gray);font-family:var(--IBM);font-size:.78rem;color:var(--gray)}
.page-top{font-family:var(--IBM);font-size:.78rem}

/* 右下フローティング相談ボタン */
.float-cta{position:fixed;right:1.6rem;bottom:1.6rem;z-index:90}
.float-cta a{display:flex;align-items:center;gap:.7rem;background:linear-gradient(100deg,#2E63F0,#1A41AC);color:#fff;font-size:.95rem;font-weight:800;padding:1rem 1.7rem;border-radius:99px;box-shadow:0 14px 34px rgba(13,27,58,.35);transition:.25s}
.float-cta a:hover{transform:translateY(-3px);filter:brightness(1.1)}
.float-cta .f2,.float-cta span{display:none}
.float-cta .f1{display:flex}

@media(max-width:1023px){
  nav a,.lang{display:none}
  .approach-block,.system-panel,.recruit-links,.rs-cards,.blog-links,.foot-cols{grid-template-columns:1fr}
  .relations-grid{grid-template-columns:1fr 1fr}
  .news-grid,.recruit-copy{grid-template-columns:1fr}
  .biz-item{flex-direction:column}
  .biz-item__text{width:100%}
  .biz-item figure{margin:0 calc(50% - 50vw)}
  .contact-split{grid-template-columns:1fr}
  .float-cta{display:none}
  .about-type{display:none}
}

/* ===== v16 演出共通 ===== */
:root{--ease:cubic-bezier(.22,1,.36,1)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.in{opacity:1;transform:none}
.biz-item figure{overflow:hidden}
.biz-item figure img{transition:transform .7s var(--ease)}
.biz-item figure:hover img{transform:scale(1.04)}
.client-strip:hover .client-track{animation-play-state:paused}
.ap-card{transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.ap-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(13,20,32,.18)}
@media (prefers-reduced-motion: reduce){
  .reveal,.mv-title .ln i,.mv-sub,.mv-ctas,.mv-stats,.mv-news,.mv-eyebrow,.mv-tag{opacity:1!important;transform:none!important;transition:none!important}
  body:not(.is-loaded) .mv-photo,.mv-slashband{clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);transform:none}
  .mv-photo .slide img{animation:none}
}

/* ===== ウェビナー（ニュース型: 左ラベル＋直近3カード） ===== */
.webinar{padding:0 0 4rem}
.webinar-grid{display:grid;grid-template-columns:.8fr 2.2fr;gap:3.5rem}
.wb-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.wb-card{background:#fff;border:var(--border-gray);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.wb-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(13,20,32,.14);border-color:var(--accent)}
.wb-card__head{position:relative;background:linear-gradient(135deg,var(--accent),#1A41AC);padding:1.6rem 1.5rem;display:flex;align-items:center;justify-content:space-between}
.wb-card__head--past{background:linear-gradient(135deg,#454A55,#2E3138)}
.wb-card__head .d{font-family:var(--Inter);font-weight:700;font-size:1.9rem;color:#fff;letter-spacing:.02em}
.wb-card__head .up{font-family:var(--IBM);font-size:.66rem;letter-spacing:.1em;color:var(--accent);background:#fff;border-radius:99px;padding:.2rem .8rem}
.wb-card__head .arch{font-family:var(--IBM);font-size:.66rem;letter-spacing:.1em;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.5);border-radius:99px;padding:.2rem .8rem}
.wb-card__head::after{content:"";position:absolute;right:18%;top:-30%;width:1.1rem;height:160%;background:rgba(255,255,255,.18);transform:skewX(-20deg)}
.wb-card__body{padding:1.3rem 1.5rem 1.4rem;display:flex;flex-direction:column;flex:1}
.wb-card__body h4{font-weight:900;font-size:1.05rem;line-height:1.6;color:var(--color)}
.wb-card__body p{font-size:.82rem;color:var(--gray);margin-top:.55rem;line-height:1.8;flex:1}
.wb-card__link{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--accent);margin-top:1rem}
.wb-card__link i{font-style:normal;font-family:var(--IBM);transition:transform .25s}
.wb-card:hover .wb-card__link i{transform:translate(2px,-2px)}
@media(max-width:1023px){.webinar-grid{grid-template-columns:1fr}.wb-cards{grid-template-columns:1fr}}

/* ===== モバイル：ヒーロー縦積み ===== */
@media(max-width:1023px){
  .mv{height:auto;min-height:0;display:flex;flex-direction:column;background-size:8rem 1rem}
  .mv-content{position:relative;order:1;max-width:100%;padding:2.4rem 6vw 0;justify-content:flex-start}
  .mv-title{font-size:3.2rem;line-height:1.4}
  .brk{display:block}
  .mv-eyebrow{margin-bottom:1.1rem}
  .mv-ctas{margin-top:1.6rem}
  .mv-ctas .btn-square,.mv-ctas .btn-outline{min-width:0;flex:1;padding:1.1rem 1.3rem}
  .mv-stats{gap:1.5rem 2rem;flex-wrap:wrap;margin-top:1.8rem}
  .mv-stats b{font-size:1.7rem}
  .mv-photo{position:relative;order:2;width:100%;height:60vw;min-height:14rem;margin-top:1.7rem;clip-path:polygon(0 12%,100% 0,100% 100%,0 100%)}
  body:not(.is-loaded) .mv-photo{clip-path:polygon(0 12%,100% 0,100% 100%,0 100%)}
  .mv-news{position:relative;order:3;left:auto;bottom:auto;margin:1.2rem 6vw 1.8rem}
  .mv-news a{min-width:0;width:100%;padding:.9rem 1.1rem;font-size:.85rem}
  .mv-slashband,.mv-scroll,.mv-tag{display:none}
}

/* ウェビナー告知バナー */
.webinar-band{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:1.6rem;background:linear-gradient(100deg,#2E63F0,#1A41AC);color:#fff;padding:1.05rem 4vw;transition:.25s;flex-wrap:wrap}
.webinar-band:hover{filter:brightness(1.12)}
.webinar-band .tag{font-family:var(--IBM);font-size:.7rem;letter-spacing:.16em;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.45);border-radius:99px;padding:.25rem 1rem;flex:none}
.webinar-band b{font-size:1rem;font-weight:800}
.webinar-band .go{font-size:.85rem;font-weight:700;border-bottom:1.5px solid rgba(255,255,255,.7);padding-bottom:.1rem;flex:none}
@media(max-width:1023px){.webinar-band{gap:.8rem;text-align:center}.webinar-band b{font-size:.9rem}}

/* ===== hamburger + drawer ===== */
.hamb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:3rem;height:3rem;border:var(--border-gray);border-radius:var(--radius);background:#fff;cursor:pointer;flex:none}
.hamb i{display:block;width:1.2rem;height:1.5px;background:var(--color)}
body.drawer-open{overflow:hidden}
.drawer-bg{position:fixed;inset:0;background:rgba(13,20,32,.45);opacity:0;pointer-events:none;transition:opacity .3s;z-index:998}
.drawer{position:fixed;top:0;right:0;height:100dvh;width:min(88vw,23rem);background:#fff;z-index:999;transform:translateX(103%);transition:transform .5s var(--ease);padding:4.8rem 2.1rem 2.5rem;overflow-y:auto;box-shadow:-18px 0 50px rgba(13,20,32,.16)}
body.drawer-open .drawer{transform:none}
body.drawer-open .drawer-bg{opacity:1;pointer-events:auto}
.drawer-x{position:absolute;top:1.2rem;right:1.3rem;width:2.6rem;height:2.6rem;border:var(--border-gray);border-radius:50%;background:#fff;font-size:1rem;cursor:pointer;color:var(--color);display:flex;align-items:center;justify-content:center;line-height:1}
.drawer nav{margin:0;display:block;width:100%}
.drawer h5{font-family:var(--IBM);font-size:.66rem;letter-spacing:.18em;color:var(--gray);margin:1.6rem 0 .5rem;display:flex;align-items:center;gap:.55rem;font-weight:700}
.drawer h5:first-child{margin-top:0}
.drawer h5::before{content:"";width:.4rem;height:.85rem;background:var(--accent);transform:skewX(-20deg);flex:none}
.drawer nav a{display:block;width:100%;padding:.5rem 0;font-weight:700;font-size:.95rem;line-height:1.4;color:var(--color);border-bottom:1px solid #EFF1F4;white-space:nowrap}
.drawer nav a:hover{color:var(--accent)}
.drawer-cta{display:block;margin-top:2rem;background:linear-gradient(100deg,#2E63F0,#1A41AC);color:#fff;text-align:center;border-radius:99px;padding:.95rem;font-weight:700;font-size:.95rem}

/* ===== RESPONSIVE POLISH 2026-06-08 (TOP) — appended last ===== */
@media(max-width:1023px){
  .heading-page__en{font-size:clamp(2.6rem,12vw,4.2rem)!important;line-height:1.05}
  .heading-page__en .ln2{display:block;padding-left:0}
  .relations-grid{grid-template-columns:1fr 1fr;gap:1.1rem}
}
@media(max-width:760px){
  .mv-title{font-size:clamp(1.9rem,9vw,3.5rem);line-height:1.34}
  .mv-content{padding:2.2rem 5vw 0}
  .mv-eyebrow{font-size:.72rem;margin-bottom:1rem;flex-wrap:wrap}
  .mv-sub{font-size:.76rem;margin-top:1.1rem}
  .mv-photo{height:64vw;min-height:13rem;margin-top:1.5rem}
  .mv-stats{gap:1.2rem 1.9rem;margin-top:1.7rem}
  .mv-stats b{font-size:1.6rem}
  .relations-grid{grid-template-columns:1fr;gap:1rem}
  .relations-grid .rel-card{aspect-ratio:16/9}
  .biz-item__text{padding-left:0}
  .biz-item__text h3{font-size:1.7rem}
  .biz-item__text p{font-size:.95rem}
  .contact-split>a{padding:2.2rem 1.8rem}
  .contact-split h3{font-size:clamp(2.6rem,15vw,3.4rem)}
  .cta-block h3{font-size:1.55rem}
  .cta-block .btns{flex-direction:column;align-items:stretch}
  .cta-block .btns a{justify-content:center}
  .news-list a{gap:.7rem}
}
@media(max-width:560px){
  .mv-stats{gap:.9rem 1.4rem}
  .mv-stats b{font-size:1.4rem}
  .mv-stats span{font-size:.6rem;letter-spacing:.1em}
}

.lang-switch{display:flex;align-items:center;flex:none;border:1px solid #D9D9D9;border-radius:99px;overflow:hidden;font-family:var(--IBM);font-size:.7rem;font-weight:700;margin-left:.2rem}
.lang-switch a{padding:.42rem .72rem;color:var(--gray);transition:.2s;line-height:1}
.lang-switch a.cur{background:var(--accent);color:#fff}
.lang-switch a:not(.cur):hover{color:var(--accent)}
@media(max-width:1023px){.lang-switch{margin-left:auto}}
