/* ===== AIN 下層ページ共通（v16デザインシステム準拠） ===== */
: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;--accent-dark:#1A41AC;
  --dark:#36373B;--border-gray:1px solid #D9D9D9;--radius:.25rem;
  --header-h:clamp(70px,3.2vw,82px);--ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:max(14px,.72917vw);overflow-x:clip}
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}
.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}
main{position:relative;z-index:1}
.container-md{width:min(90vw,75.5rem);margin:0 auto}
.container-lg{width:min(92vw,86rem);margin:0 auto}
.container-sm{width:min(90vw,60rem);margin:0 auto}
.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:3.9rem;line-height:1.08;letter-spacing:-.02em;margin-top:1rem}
.sec-h2{font-weight:900;font-size:2rem;line-height:1.6;margin:6.5rem 0 2.2rem;display:flex;align-items:center;gap:.9rem}
.sec-h2::before{content:"";width:.6rem;height:1.6rem;background:var(--accent);transform:skewX(-20deg);flex:none}
.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)}
.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}
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 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}
nav a:hover,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)}
.breadcrumb{padding:calc(var(--header-h) + 1.4rem) 0 0;font-size:.78rem;color:var(--gray);display:flex;gap:.6rem;flex-wrap:wrap}
.breadcrumb a:hover{color:var(--accent)}
.breadcrumb span::before{content:"/";margin-right:.6rem;color:#C5C9D2}
.page-head{padding:2.6rem 0 4rem}
.toc{border:var(--border-gray);border-radius:var(--radius);background:#fff;padding:1.5rem 1.85rem;margin:0 0 1rem}
.toc h3{font-size:.8rem;font-family:var(--IBM);color:var(--gray);letter-spacing:.1em;margin-bottom:.8rem}
.toc li{font-size:.95rem;font-weight:700;padding:.3rem 0}
.toc li a{color:var(--accent)}
.toc li a:hover{text-decoration:underline}
.profile-table{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem}
.profile-table th,.profile-table td{border:var(--border-gray);padding:1.15rem 1.4rem;text-align:left;vertical-align:top;line-height:1.9}
.profile-table th{width:13rem;background:#F4F5F7;font-weight:700;white-space:nowrap}
.prose{font-size:1rem;line-height:2.15;color:#2A3442}
.prose p{margin-bottom:1.6rem}
.prose .catch{font-weight:900;font-size:1.9rem;line-height:1.8;color:var(--color);margin:2.2rem 0}
.note-draft{font-size:.78rem;color:var(--gray);border:1px dashed #C5C9D2;border-radius:var(--radius);padding:.8rem 1.1rem;margin:2.5rem 0 0}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.card-grid.cols2{grid-template-columns:1fr 1fr}
.card-grid.cols4{grid-template-columns:repeat(4,1fr)}
.nav-card{background:#fff;border:var(--border-gray);border-radius:var(--radius);padding:1.7rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:700;transition:.25s}
.nav-card:hover{border-color:var(--accent);box-shadow:0 10px 26px rgba(13,20,32,.1);transform:translateY(-3px)}
.nav-card span{font-size:1.05rem}
.nav-card small{display:block;font-family:var(--IBM);font-size:.7rem;color:var(--gray);font-weight:400;margin-top:.25rem}
.member{display:grid;grid-template-columns:16rem 1fr;gap:2.2rem;background:#fff;border:var(--border-gray);border-radius:var(--radius);padding:2rem;margin-bottom:1.6rem;align-items:start}
.member img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius)}
.member .role{font-family:var(--IBM);font-size:.75rem;color:var(--accent);letter-spacing:.08em}
.member h3{font-weight:900;font-size:1.6rem;margin:.4rem 0 1rem}
.member p{font-size:.95rem;line-height:2;color:#2A3442}
.ba{display:grid;grid-template-columns:1fr auto 1fr;gap:1.4rem;align-items:stretch;margin:2rem 0}
.ba .col{border-radius:var(--radius);overflow:hidden;border:var(--border-gray)}
.ba .col h4{padding:.9rem;text-align:center;color:#fff;font-size:1rem}
.ba .col.before h4{background:#D9534F}
.ba .col.after h4{background:#2E9E5B}
.ba .col ul{padding:1.3rem 1.5rem;background:#fff}
.ba .col li{font-size:.92rem;line-height:1.9;padding:.55rem 0 .55rem 1.4rem;position:relative}
.ba .col li::before{content:"";position:absolute;left:0;top:1.05rem;width:.65rem;height:.65rem;border-radius:50%}
.ba .col.before li::before{background:#D9534F}
.ba .col.after li::before{background:#2E9E5B}
.ba .arr{align-self:center;font-family:var(--IBM);font-size:1.6rem;color:var(--accent);font-weight:700}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin:2rem 0}
.kpi{position:relative;overflow:hidden;color:#fff;border-radius:.5rem;padding:1.9rem 1.2rem;text-align:center;min-height:9.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(158deg,#3D3F45,#25262A);border:1px solid rgba(255,255,255,.07);box-shadow:0 10px 26px rgba(13,20,32,.12)}
.kpi::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),#1A41AC)}
.kpi b{font-family:var(--Inter);font-weight:800;font-size:2.9rem;display:block;line-height:1.05;letter-spacing:-.01em}
.kpi b::after{content:"";display:block;width:1.7rem;height:.18rem;border-radius:2px;background:var(--accent);margin:.7rem auto .15rem}
.kpi span{font-size:.77rem;color:rgba(255,255,255,.74);display:block;margin-top:.45rem;line-height:1.6}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;margin:2rem 0}
.step{background:#fff;border:var(--border-gray);border-radius:var(--radius);padding:1.4rem 1.1rem;position:relative}
.step .no{font-family:var(--IBM);font-size:.7rem;color:var(--accent);letter-spacing:.1em}
.step h4{font-size:.98rem;font-weight:900;margin-top:.4rem;line-height:1.55}
.step:not(:last-child)::after{content:">";position:absolute;right:-.85rem;top:50%;transform:translateY(-50%);color:var(--accent);font-family:var(--IBM);z-index:2}
.checks{background:#fff;border:var(--border-gray);border-radius:var(--radius);padding:1.6rem 1.9rem;margin:1.4rem 0}
.checks li{font-size:.95rem;font-weight:500;padding:.5rem 0 .5rem 1.8rem;position:relative;line-height:1.8}
.checks li::before{content:"\2713";position:absolute;left:.2rem;color:var(--accent);font-weight:700}
.sub-menu{display:flex;flex-wrap:wrap;gap:1rem;margin:4.5rem 0 0}
.sub-menu a{font-size:.9rem;font-weight:700;border:var(--border-gray);border-radius:99px;background:#fff;padding:.7rem 1.5rem;transition:.2s}
.sub-menu a:hover{border-color:var(--accent);color:var(--accent)}
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;min-height:16rem;margin:5rem auto 6rem;width:min(92vw,86rem)}
.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.05rem;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:3.6rem;line-height:1;margin-top:.9rem}
.contact-split .ln{width:2.1rem;height:2px;background:var(--accent);margin-top:1.2rem}
.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-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:4.6rem 0;text-align:center}
.cta-block h3{font-weight:900;font-size:2.2rem;margin-top:1.2rem}
.cta-block .d{font-size:.95rem;color:rgba(255,255,255,.85);margin-top:1.1rem;line-height:2}
.cta-block .btns{display:flex;gap:1.3rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}
.btn-outline--wh{background:transparent;border:1px solid #fff;color:#fff}
.btn-outline--wh:hover{background:#fff;color:var(--color)}
footer{position:relative;background:#fff;padding:3.25rem 0 1rem;overflow:hidden;margin-top:0}
.foot-meta{margin-top:3rem}
.foot-cols{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:3.85rem;margin-top:2.5rem}
.foot-group{margin-bottom:2.55rem}
.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 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)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1!important;transform:none!important}}
@media(max-width:1023px){
  nav a{display:none}
  .card-grid,.card-grid.cols2,.card-grid.cols4{grid-template-columns:1fr}
  .member{grid-template-columns:1fr}
  .member img{max-width:16rem}
  .ba{grid-template-columns:1fr}
  .ba .arr{transform:rotate(90deg);justify-self:center}
  .kpi-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
  .step:not(:last-child)::after{content:"v";right:auto;left:50%;top:auto;bottom:-1rem;transform:none}
  .contact-split{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr}
  .heading-page__en{font-size:3rem}
  .profile-table th{width:8rem;white-space:normal}
}

/* ===== 下層リッチ化コンポーネント ===== */
.lead-band{display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;align-items:center;margin-bottom:1rem}
.lead-band img{border-radius:var(--radius);aspect-ratio:16/9;object-fit:cover}
.pain-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:1.6rem;align-items:stretch;margin:2rem 0}
.pain-list{background:#fff;border:var(--border-gray);border-radius:var(--radius);padding:1.8rem 2rem}
.pain-list h4{font-family:var(--IBM);font-size:.75rem;color:#D9534F;letter-spacing:.12em;margin-bottom:1rem}
.pain-list li{font-size:.95rem;font-weight:700;line-height:1.8;padding:.6rem 0 .6rem 1.7rem;position:relative;border-bottom:1px dashed #E5E8EF}
.pain-list li:last-child{border-bottom:none}
.pain-list li::before{content:"";position:absolute;left:.1rem;top:1.15rem;width:.6rem;height:.6rem;border-radius:50%;background:#D9534F}
.approach-panel{background:var(--dark);color:#fff;border-radius:var(--radius);padding:1.9rem 2.1rem}
.approach-panel h4{font-family:var(--IBM);font-size:.75rem;color:#9DB7F0;letter-spacing:.12em;margin-bottom:.9rem}
.approach-panel h3{font-weight:900;font-size:1.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:.8rem}
.approach-panel h3::before{content:"";width:.55rem;height:1.3rem;background:var(--accent);transform:skewX(-20deg);flex:none}
.approach-panel p{font-size:.92rem;line-height:2.05;color:rgba(255,255,255,.88)}
.menu-card{background:#fff;border:var(--border-gray);border-left:3px solid var(--accent);border-radius:var(--radius);padding:1.5rem 1.6rem}
.menu-card h4{font-weight:900;font-size:1.05rem;margin-bottom:.5rem}
.menu-card p{font-size:.88rem;color:#3A4660;line-height:1.9}
.faq{margin:1.5rem 0}
.faq details{background:#fff;border:var(--border-gray);border-radius:var(--radius);margin-bottom:.8rem;overflow:hidden}
.faq summary{cursor:pointer;font-weight:700;font-size:.98rem;padding:1.15rem 1.5rem;list-style:none;display:flex;gap:.9rem;align-items:baseline}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:var(--Inter);font-weight:800;color:var(--accent);flex:none}
.faq details p{padding:0 1.5rem 1.2rem 3rem;font-size:.92rem;line-height:2;color:#3A4660;position:relative}
.faq details p::before{content:"A";font-family:var(--Inter);font-weight:800;color:#C9A86A;position:absolute;left:1.55rem}
.msg-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:3rem;align-items:start;margin-bottom:1rem}
.msg-grid .photo{position:sticky;top:6.5rem}
.msg-grid .photo img{border-radius:var(--radius)}
.msg-grid .photo figcaption{font-size:.85rem;color:var(--gray);margin-top:.8rem;text-align:right;line-height:1.7}
.legal-doc h2{font-weight:900;font-size:1.25rem;margin:2.6rem 0 .9rem;padding-left:1rem;border-left:4px solid var(--accent)}
.legal-doc p,.legal-doc li{font-size:.95rem;line-height:2.05;color:#2A3442}
.legal-doc ol{padding-left:1.6rem;margin-bottom:1rem}
.legal-doc ol li{list-style:decimal;margin-bottom:.4rem}
.legal-doc .date{font-size:.85rem;color:var(--gray);margin-top:2.5rem;text-align:right;line-height:1.9}
@media(max-width:1023px){.pain-grid,.lead-band,.msg-grid{grid-template-columns:1fr}.msg-grid .photo{position:static}}

/* ===== 縦リズム・中間CTA・その他サービス ===== */
.lead-band{margin-bottom:3rem}
.kpi-grid{margin:2.6rem 0}
.pain-grid{margin:2.4rem 0}
.steps{margin:2.6rem 0 3rem}
.faq{margin:2rem 0 1rem}
.ba{margin:2.4rem 0 3rem}
.svc-body-end{padding-bottom:2rem}
.mid-cta{background:#fff;border:var(--border-gray);border-radius:var(--radius);padding:2.8rem 2.5rem;text-align:center;margin:4.5rem 0}
.mid-cta h3{font-weight:900;font-size:1.5rem;line-height:1.7}
.mid-cta p{font-size:.95rem;color:var(--gray);margin:.9rem 0 1.6rem;line-height:2}
.other-services{margin-top:6.5rem}
.other-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.other-card{background:#fff;border:var(--border-gray);border-radius:var(--radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.other-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(13,20,32,.14);border-color:var(--accent)}
.other-card img{aspect-ratio:16/8;object-fit:cover;width:100%}
.other-card .b{padding:1.3rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex:1}
.other-card .b span{font-weight:900;font-size:1rem;line-height:1.6}
.other-card .b small{display:block;font-family:var(--IBM);font-size:.68rem;color:var(--gray);font-weight:400;margin-top:.2rem}
@media(max-width:1023px){.other-grid{grid-template-columns:1fr}}

.diagram{background:transparent;border:none;padding:0;margin:2.6rem 0}
.diagram svg{width:100%;height:auto;display:block}
.diagram figcaption{font-size:.82rem;color:var(--gray);text-align:center;margin-top:1rem;line-height:1.7}

/* ===== webinar list (1-col, banner-ready) ===== */
.wb-list{display:flex;flex-direction:column;gap:1.3rem;margin-top:2.4rem}
.wb-row{display:grid;grid-template-columns:20rem 1fr;background:#fff;border:var(--border-gray);border-radius:.5rem;overflow:hidden;transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.wb-row:hover{box-shadow:0 14px 34px rgba(13,20,32,.12);transform:translateY(-3px)}
.wb-thumb{position:relative;min-height:11rem;background:var(--dark);overflow:hidden}
.wb-thumb.up{background:linear-gradient(115deg,#2E63F0,#1A41AC)}
.wb-thumb .ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:.45rem;padding:0 1.7rem;color:#fff}
.wb-thumb .ph i{display:block;width:2.2rem;height:.45rem;background:rgba(255,255,255,.85);transform:skewX(-20deg)}
.wb-thumb .ph b{font-family:var(--IBM);font-size:2.1rem;font-weight:700;letter-spacing:.02em;line-height:1.15}
.wb-thumb .ph small{font-family:var(--IBM);font-size:.72rem;letter-spacing:.16em;opacity:.75}
.wb-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wb-body{padding:1.5rem 1.8rem;display:flex;flex-direction:column;justify-content:center;gap:.45rem}
.wb-meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.wb-date{font-family:var(--IBM);font-weight:700;font-size:.9rem;color:var(--accent)}
.wb-pill-archive{font-family:var(--IBM);font-size:.68rem;color:var(--gray);border:1px solid #C5C9D2;border-radius:99px;padding:.18rem .85rem}
.wb-title{font-size:1.2rem;font-weight:700;line-height:1.5}
.wb-desc{font-size:.85rem;color:var(--gray);line-height:1.8}
.wb-cta{font-size:.85rem;font-weight:700;color:var(--accent);margin-top:.2rem}
@media(max-width:1023px){.wb-row{grid-template-columns:1fr}.wb-thumb{min-height:0;aspect-ratio:16/7}}

/* ===== pagination ===== */
.pager{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:2.8rem 0 0}
.pager button{font-family:var(--IBM);font-size:.85rem;min-width:2.5rem;height:2.5rem;padding:0 .7rem;border:1px solid #C5C9D2;background:#fff;color:var(--color);border-radius:var(--radius);cursor:pointer;transition:.2s}
.pager button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.pager button.cur{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
.pager button:disabled{opacity:.35;cursor:default}
/* ===== news rows ===== */
.news-rows{display:flex;flex-direction:column;margin-top:2.2rem;border-top:var(--border-gray)}
.news-rows a{display:flex;align-items:center;gap:1.3rem;padding:1.35rem .4rem;border-bottom:var(--border-gray);transition:background .2s}
.news-rows a:hover{background:rgba(35,86,224,.04)}
.news-rows .date{font-family:var(--IBM);font-size:.85rem;color:var(--gray);flex:none}
.news-rows .cat{font-family:var(--IBM);font-size:.68rem;color:var(--accent);border:1px solid var(--accent);border-radius:99px;padding:.15rem .8rem;flex:none}
.news-rows .t{font-weight:700;flex:1}
.news-rows .ar{color:var(--accent);flex:none}
@media(max-width:767px){.news-rows a{flex-wrap:wrap;gap:.6rem}.news-rows .t{flex-basis:100%}}
/* ===== contact steps ===== */
.cstep{display:flex;align-items:center;margin:2.4rem 0 0;max-width:46rem}
.step-i{display:flex;align-items:center;gap:.7rem;font-weight:700;font-size:.9rem;color:var(--gray);flex:none}
.step-i b{font-family:var(--IBM);width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid #C5C9D2;display:flex;align-items:center;justify-content:center;background:#fff}
.step-i.on{color:var(--color)}
.step-i.on b{background:var(--accent);border-color:var(--accent);color:#fff}
.step-ln{flex:1;height:1px;background:#C5C9D2;margin:0 1.1rem;min-width:1.5rem}
/* ===== contact form ===== */
.contact-grid{display:grid;grid-template-columns:1.5fr .9fr;gap:2rem;margin-top:2.6rem;align-items:start}
.form-card{background:#fff;border:var(--border-gray);border-radius:.5rem;padding:2.3rem 2.4rem}
.ff{margin-bottom:1.5rem}
.ff>label,.ff>.fl{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:.92rem;margin-bottom:.6rem}
.req,.opt{font-size:.66rem;font-weight:700;border-radius:.2rem;padding:.14rem .55rem;flex:none}
.req{background:var(--accent);color:#fff}
.opt{background:#EEF0F4;color:var(--gray)}
.ff input[type=text],.ff input[type=email],.ff input[type=tel],.ff textarea{width:100%;padding:.95rem 1.05rem;border:var(--border-gray);border-radius:var(--radius);font-family:var(--sans);font-size:.95rem;background:#FAFBFC;transition:.2s}
.ff input:focus,.ff textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(35,86,224,.12)}
.type-chips{display:flex;flex-wrap:wrap;gap:.6rem}
.type-chips label{border:1px solid #C5C9D2;border-radius:99px;padding:.55rem 1.15rem;font-size:.86rem;font-weight:700;cursor:pointer;background:#fff;transition:.2s;display:inline-flex;align-items:center}
.type-chips label:hover{border-color:var(--accent);color:var(--accent)}
.type-chips input{position:absolute;opacity:0;pointer-events:none}
.type-chips label:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff}
.consent{display:flex;align-items:center;gap:.7rem;font-size:.88rem;margin:1.8rem 0 1.6rem}
.consent input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}
.consent a{color:var(--accent);text-decoration:underline}
.side-card{background:#fff;border:var(--border-gray);border-radius:.5rem;padding:1.7rem 1.8rem;margin-bottom:1.4rem}
.side-card h3{font-size:1rem;font-weight:900;display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.side-card h3::before{content:"";width:.45rem;height:1rem;background:var(--accent);transform:skewX(-20deg);flex:none}
.side-card p{font-size:.85rem;color:var(--gray);line-height:1.9}
.side-card .mail{font-family:var(--IBM);font-size:.9rem;color:var(--accent);font-weight:700;word-break:break-all}
.side-card ul li{font-size:.85rem;line-height:1.9;padding:.45rem 0;border-bottom:1px dashed #E0E3EA}
.side-card ul li:last-child{border-bottom:none}
.side-card ul b{display:block;font-size:.9rem}
@media(max-width:1023px){.contact-grid{grid-template-columns:1fr}.form-card{padding:1.8rem 1.4rem}.cstep{flex-wrap:wrap;gap:.8rem}.step-ln{min-width:1rem}}

/* ===== case cards (thumbnail, fully clickable) ===== */
.case-card{display:flex;flex-direction:column;background:#fff;border:var(--border-gray);border-radius:.5rem;overflow:hidden;transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.case-card:hover{box-shadow:0 14px 34px rgba(13,20,32,.12);transform:translateY(-3px)}
.cc-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(115deg,#36373B,#1F2026)}
.cc-thumb::after{content:"CASE STUDY";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--IBM);font-size:.8rem;letter-spacing:.2em;color:rgba(255,255,255,.5)}
.cc-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform .5s var(--ease)}
.case-card:hover .cc-thumb img{transform:scale(1.05)}
.cc-body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.cc-title{font-weight:700;font-size:1.02rem;line-height:1.6}
.cc-sum{font-size:.84rem;color:var(--gray);line-height:1.8;flex:1}
.cc-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.4rem}
.cc-badge{font-family:var(--IBM);font-size:.68rem;color:var(--accent);border:1px solid var(--accent);border-radius:99px;padding:.18rem .85rem;flex:none}
.cc-more{font-size:.84rem;font-weight:700;color:var(--accent);flex:none;margin-left:auto}

/* ===== recruit job cards ===== */
.job-list{display:flex;flex-direction:column;gap:1.1rem;margin-top:2.2rem}
.job-card{display:flex;align-items:center;justify-content:space-between;gap:1.6rem;background:#fff;border:var(--border-gray);border-radius:.5rem;padding:1.6rem 1.9rem;transition:box-shadow .3s var(--ease),transform .3s var(--ease)}
.job-card:hover{box-shadow:0 12px 30px rgba(13,20,32,.10);transform:translateY(-2px)}
.jc-en{font-family:var(--IBM);font-size:.72rem;letter-spacing:.12em;color:var(--accent);font-weight:700}
.job-card h3{font-size:1.15rem;font-weight:900;margin:.3rem 0 .35rem}
.job-card .desc{font-size:.86rem;color:var(--gray)}
.job-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}
.job-meta span{font-family:var(--IBM);font-size:.68rem;color:var(--gray);border:1px solid #C5C9D2;border-radius:99px;padding:.16rem .75rem}
.job-card>a{flex:none}
@media(max-width:767px){.job-card{flex-direction:column;align-items:flex-start}}

/* ===== 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 (subpages) — appended last to win cascade
   ============================================================ */
@media(max-width:1023px){
  .container-md,.container-lg{width:min(92vw,75.5rem)}
  .breadcrumb{padding-top:calc(var(--header-h) + 1rem)}
  .page-head{padding:1.8rem 0 2.6rem}
  .heading-page__en{font-size:clamp(2.4rem,10vw,3.4rem);line-height:1.05}
  .sec-h2{font-size:1.5rem;line-height:1.5;margin:3.8rem 0 1.5rem}
  .lead-band{gap:1.5rem}
  .contact-split{min-height:0;margin:4rem auto 4rem}
  .contact-split>a{padding:2.4rem 2.2rem}
  .contact-split h3{font-size:clamp(2.6rem,14vw,3.6rem)}
  .cta-block{padding:3.4rem 0}
  .cta-block h3{font-size:1.6rem;line-height:1.5}
  .cta-block .d br{display:none}
  .mid-cta{padding:2.2rem 1.7rem}
  .mid-cta h3{font-size:1.3rem}
}
@media(max-width:640px){
  .heading-page__ja{font-size:1rem}
  .kpi-grid{grid-template-columns:1fr 1fr;gap:.8rem}
  .other-grid{gap:1rem}
  .cta-block .btns{flex-direction:column;align-items:stretch}
  .cta-block .btns a{justify-content:center}
  .contact-split>a{padding:2rem 1.6rem}
  .contact-split h3{font-size:clamp(2.4rem,16vw,3.2rem)}
  /* contact form */
  .step-i{font-size:.78rem}
  .step-i b{width:2rem;height:2rem}
  .type-chips label{font-size:.82rem;padding:.5rem .95rem}
  .form-card{padding:1.5rem 1.2rem}
  /* legal */
  .legal-doc h2{font-size:1.1rem}
  /* job cards */
  .job-card{padding:1.3rem 1.3rem}
  .job-card>a{width:100%;text-align:center;justify-content:center}
  /* webinar rows + case + news already 1col */
  .wb-thumb{aspect-ratio:16/8}
  .wb-body{padding:1.2rem 1.4rem}
  /* profile table -> stacked cards */
  .profile-table,.profile-table tbody,.profile-table tr{display:block;width:100%}
  .profile-table tr{margin-bottom:.9rem;border:var(--border-gray);border-radius:var(--radius);overflow:hidden}
  .profile-table th,.profile-table td{display:block;width:100%;border:none}
  .profile-table th{background:#F4F5F7;white-space:normal;padding:.7rem 1.1rem;font-size:.82rem}
  .profile-table td{padding:.85rem 1.1rem}
}
@media(max-width:400px){
  .kpi-grid{grid-template-columns:1fr}
}

@media(max-width:1023px){
  .msg-grid{gap:1.6rem}
  .msg-grid .photo{max-width:14rem;margin:0 0 .6rem}
  .msg-grid .photo figcaption{text-align:left;margin-top:.6rem}
}
/* ===== university photo band (self-hides if image missing) ===== */
.uni-photo{margin:2.6rem 0}
.uni-photo img{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:.5rem;display:block}
.uni-photo figcaption{font-size:.82rem;color:var(--gray);text-align:center;margin-top:.8rem;line-height:1.7}
@media(max-width:640px){.uni-photo img{aspect-ratio:16/9}}

/* language switch */
.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}}

/* ===== HubSpot embedded form styling ===== */
.hs-form-frame{font-family:var(--sans)}
.hs-form-frame .hs-form-field{margin-bottom:1.2rem}
.hs-form-frame .hs-form-field>label{display:block;font-weight:700;font-size:.92rem;margin-bottom:.5rem;color:var(--color)}
.hs-form-frame .hs-input{width:100%!important;padding:.9rem 1.05rem;border:var(--border-gray);border-radius:var(--radius);font-family:var(--sans);font-size:.95rem;background:#FAFBFC;box-sizing:border-box}
.hs-form-frame .hs-input:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(35,86,224,.12)}
.hs-form-frame textarea.hs-input{min-height:8rem;width:100%!important}
.hs-form-frame .inputs-list{list-style:none;padding:0;margin:0}
.hs-form-frame ul.inputs-list>li{margin:.35rem 0;display:flex;align-items:flex-start;gap:.5rem}
.hs-form-frame ul.inputs-list label{font-weight:500;font-size:.9rem}
.hs-form-frame .hs-form-booleancheckbox-display>span,.hs-form-frame .hs-form-radio-display>span{margin-left:.4rem}
.hs-form-frame input[type=checkbox],.hs-form-frame input[type=radio]{width:auto!important;accent-color:var(--accent);margin-top:.2rem}
.hs-form-frame .hs-button{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:1rem 2.2rem;font-weight:700;cursor:pointer;font-family:var(--sans);margin-top:.4rem;transition:.2s}
.hs-form-frame .hs-button:hover{background:var(--accent-dark)}
.hs-form-frame .hs-error-msg,.hs-form-frame .hs-error-msgs label{color:#D9534F;font-size:.82rem;font-weight:500}
.hs-form-frame .legal-consent-container{font-size:.85rem;color:var(--gray);margin-top:.4rem}
.hs-form-frame .hs-richtext{font-size:.88rem;color:var(--gray);margin-bottom:1rem}

/* 本文のないお知らせ（詳細ページなし）はリンクしない */
.news-rows a.no-link,.news-list a.no-link{cursor:default;pointer-events:none}
.news-rows a.no-link:hover{background:transparent}
.news-list a.no-link:hover{box-shadow:0 2px 10px rgba(22,37,50,.05)}
