/* =========================================================
   APERIO COLUMN / RECRUIT SITE ARTICLE
   2026-09-11
   ========================================================= */
:root{
  --ap-navy:#06101f;
  --ap-navy2:#08182e;
  --ap-ink:#122033;
  --ap-soft:#627083;
  --ap-line:rgba(18,32,51,.12);
  --ap-blue:#79aef5;
  --ap-blue-strong:#2368b7;
  --ap-bg:#f4f6fa;
  --ap-max:1180px;
  --ap-pad:clamp(20px,3vw,34px);
  --ap-serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",Georgia,serif;
  --ap-sans:ui-sans-serif,system-ui,-apple-system,"Hiragino Sans","Noto Sans JP","Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ap-ink);font-family:var(--ap-sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.ap-container{width:min(var(--ap-max),calc(100% - (var(--ap-pad)*2)));margin-inline:auto}

/* Header */
.ap-header{position:sticky;top:0;z-index:80;background:rgba(6,16,31,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}
.ap-header-inner{height:72px;display:flex;align-items:center;gap:32px}
.ap-logo{font-family:Georgia,"Times New Roman",serif;font-size:29px;letter-spacing:.055em;color:#fff}
.ap-nav{margin-left:auto;display:flex;align-items:center;gap:28px}
.ap-nav a{font-size:11px;letter-spacing:.04em;color:rgba(255,255,255,.68)}
.ap-nav a:hover{color:#fff}
.ap-nav-cta{padding:11px 16px!important;border:1px solid rgba(143,196,255,.28);color:#fff!important;background:rgba(255,255,255,.035)}

/* Breadcrumb */
.ap-breadcrumb-wrap{background:#f8f9fb;border-bottom:1px solid var(--ap-line)}
.ap-breadcrumb{min-height:48px;display:flex;align-items:center;gap:10px;overflow:hidden;white-space:nowrap;font-size:10px;color:#7c8796}
.ap-breadcrumb a:hover{color:#284f7d}
.ap-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis}

/* Article hero */
.ap-article-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(800px 340px at 80% 0%,rgba(71,136,222,.20),transparent 68%),linear-gradient(180deg,#0a1a2e,#06101f)}
.ap-article-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 62%,rgba(255,255,255,.03) 62% 62.08%,transparent 62.08%)}
.ap-hero-grid{position:relative;z-index:1;min-height:430px;display:grid;grid-template-columns:1.4fr .6fr;gap:64px;align-items:center;padding-top:76px;padding-bottom:72px}
.ap-kicker{margin:0 0 24px;font-size:10px;letter-spacing:.18em;color:#8fc4ff;font-weight:700}
.ap-kicker-dark{color:#4775aa}
.ap-hero-copy h1{margin:0;font-family:var(--ap-serif);font-size:clamp(48px,6vw,76px);line-height:1.18;letter-spacing:.01em;font-weight:500}
.ap-hero-sub{margin:24px 0 0;font-family:var(--ap-serif);font-size:clamp(19px,2vw,27px);line-height:1.7;color:rgba(255,255,255,.88)}
.ap-article-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:34px;font-size:10px;color:rgba(255,255,255,.5)}
.ap-article-meta span{padding:5px 9px;border:1px solid rgba(143,196,255,.18)}
.ap-hero-message{justify-self:end;padding-right:20px;font-family:var(--ap-serif);font-size:clamp(16px,1.5vw,22px);line-height:2.1;letter-spacing:.08em;color:rgba(255,255,255,.7);transform:rotate(-5deg)}

/* Layout */
.ap-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(250px,1fr);gap:80px;align-items:start;padding-top:76px;padding-bottom:110px}
.ap-content{min-width:0}
.ap-lead{font-size:15px;line-height:2.05;color:#3f4b5a}
.ap-lead p{margin:0 0 1.2em}
.ap-lead strong,.ap-section strong{color:#0e2b4b}

/* Inline CTA */
.ap-inline-cta{display:grid;grid-template-columns:1fr;gap:14px;margin:56px 0 76px;padding:28px 30px;background:#f1f5fa;border-left:3px solid #4f7fb7}
.ap-inline-label{margin:0;font-size:9px;letter-spacing:.17em;color:#4f78a7;font-weight:700}
.ap-inline-cta h2{margin:0 0 7px;font-family:var(--ap-serif);font-size:24px;font-weight:500;line-height:1.55}
.ap-inline-cta p:not(.ap-inline-label){margin:0;font-size:12px;line-height:1.9;color:#657284}
.ap-inline-cta>a{justify-self:start;margin-top:4px;padding-bottom:4px;border-bottom:1px solid #315f93;font-size:11px;color:#234f82;font-weight:700}

/* Main sections */
.ap-section{padding:72px 0;border-top:1px solid var(--ap-line);font-size:14px;line-height:2.08;color:#455161}
.ap-section-no{margin:0 0 18px;font-family:Georgia,serif;font-size:12px;letter-spacing:.14em;color:#4e7db4}
.ap-section h2,.ap-faq>h2{margin:0 0 30px;font-family:var(--ap-serif);font-size:clamp(30px,4vw,46px);line-height:1.42;font-weight:500;color:#12263e}
.ap-section p{margin:0 0 1.25em}
.ap-section ul{margin:26px 0 30px;padding:20px 24px 20px 42px;background:#f7f8fa;border-left:2px solid #8aadd6;color:#4b5867}
.ap-section li+li{margin-top:7px}
.ap-section blockquote{margin:34px 0;padding:24px 28px;border-left:2px solid #4f7fb7;background:#f2f5f9;font-family:var(--ap-serif);font-size:21px;line-height:1.8;color:#1c3a5c}
.ap-section-soft{margin-inline:-28px;padding:58px 28px;background:linear-gradient(180deg,#f7f9fc,#f3f6fa);border-top:0}
.ap-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}
.ap-role-grid>div{padding:25px 24px;border:1px solid var(--ap-line);background:#fff}
.ap-role-grid span{display:block;margin-bottom:12px;font-size:10px;letter-spacing:.12em;color:#4f78a7}
.ap-role-grid strong{font-family:var(--ap-serif);font-size:20px;line-height:1.6;font-weight:500}
.ap-text-link{margin-top:28px!important}
.ap-text-link a{display:inline-block;padding-bottom:4px;border-bottom:1px solid #547ca8;color:#2c5f96;font-size:12px;font-weight:700}
.ap-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 30px}
.ap-chip-list span{padding:8px 11px;border:1px solid #cfd9e6;background:#fff;font-size:11px;color:#465d77}
.ap-question-list{margin:28px 0 32px;border-top:1px solid var(--ap-line)}
.ap-question-list p{position:relative;margin:0!important;padding:18px 16px 18px 38px;border-bottom:1px solid var(--ap-line);font-family:var(--ap-serif);font-size:18px;color:#1d3857}
.ap-question-list p:before{content:"?";position:absolute;left:5px;top:16px;font-family:Georgia,serif;color:#6590c0}

/* FAQ */
.ap-faq{padding:72px 0;border-top:1px solid var(--ap-line)}
.ap-faq details{border-bottom:1px solid var(--ap-line)}
.ap-faq summary{position:relative;list-style:none;cursor:pointer;padding:22px 56px 22px 0;font-size:14px;font-weight:700;line-height:1.7;color:#20364f}
.ap-faq summary::-webkit-details-marker{display:none}
.ap-faq summary:after{content:"+";position:absolute;right:4px;top:15px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #cbd7e5;border-radius:50%;font-size:20px;font-weight:300;color:#527fae}
.ap-faq details[open] summary:after{content:"−"}
.ap-faq details p{margin:0;padding:0 56px 24px 0;font-size:13px;line-height:2;color:#5e6b7a}

/* Final CTA */
.ap-final-cta{margin-top:74px;padding:48px 44px;color:#fff;background:radial-gradient(520px 260px at 90% 0%,rgba(80,148,230,.20),transparent 70%),#071426}
.ap-final-cta h2{margin:0;font-family:var(--ap-serif);font-size:clamp(31px,4vw,46px);line-height:1.45;font-weight:500}
.ap-final-cta>p:not(.ap-kicker):not(.ap-cta-note){margin:22px 0 0;max-width:650px;font-size:13px;line-height:2;color:rgba(255,255,255,.64)}
.ap-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:320px;margin-top:30px;padding:16px 18px;background:#2368b7;color:#fff;font-size:12px;font-weight:700}
.ap-button:hover{background:#2b75c8}
.ap-cta-note{margin:13px 0 0;font-size:9px;color:rgba(255,255,255,.4)}

/* Author */
.ap-author{display:grid;grid-template-columns:96px 1fr;gap:24px;margin-top:54px;padding:30px 0 0;border-top:1px solid var(--ap-line)}
.ap-author-label{margin:5px 0 0;font-family:Georgia,serif;font-size:10px;letter-spacing:.16em;color:#5b82ae}
.ap-author h2{margin:0;font-size:16px;color:#1b324d}
.ap-author h2 span{margin-left:10px;font-size:10px;font-weight:400;color:#7a8694}
.ap-author div>p{margin:10px 0 0;font-size:11px;line-height:1.9;color:#687585}

/* Sidebar */
.ap-sidebar{position:sticky;top:100px;display:grid;gap:18px}
.ap-toc-card,.ap-side-cta{padding:26px;border:1px solid var(--ap-line);background:#fff}
.ap-toc-card>p{margin:0 0 18px;padding-bottom:13px;border-bottom:1px solid var(--ap-line);font-family:var(--ap-serif);font-size:18px;color:#1b334f}
.ap-toc-card ol{list-style:none;margin:0;padding:0}
.ap-toc-card li+li{margin-top:13px}
.ap-toc-card a{display:grid;grid-template-columns:28px 1fr;gap:7px;font-size:11px;line-height:1.65;color:#5d6876}
.ap-toc-card a:hover{color:#214f83}
.ap-toc-card a span{font-family:Georgia,serif;color:#5b87b8}
.ap-side-cta{color:#fff;background:linear-gradient(180deg,#0a1b31,#06101f);border-color:rgba(119,172,233,.15)}
.ap-side-cta h2{margin:0;font-family:var(--ap-serif);font-size:26px;line-height:1.5;font-weight:500}
.ap-side-cta>p:not(.ap-kicker){margin:15px 0 20px;font-size:11px;line-height:1.9;color:rgba(255,255,255,.56)}
.ap-side-cta a{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-top:1px solid rgba(143,196,255,.17);border-bottom:1px solid rgba(143,196,255,.17);font-size:11px;color:#dbeafb}

/* Footer */
.ap-footer{background:#040b15;color:#fff;border-top:1px solid rgba(255,255,255,.07)}
.ap-footer-inner{min-height:138px;display:flex;align-items:center;gap:28px}
.ap-footer p{font-size:10px;color:rgba(255,255,255,.45)}
.ap-footer small{margin-left:auto;font-size:9px;color:rgba(255,255,255,.3)}

@media(max-width:980px){
  .ap-nav a:not(.ap-nav-cta){display:none}
  .ap-layout{grid-template-columns:minmax(0,1fr);gap:50px}
  .ap-sidebar{position:static;grid-template-columns:1fr 1fr}
  .ap-toc-card{order:2}
  .ap-side-cta{order:1}
}

@media(max-width:720px){
  .ap-header-inner{height:66px}
  .ap-logo{font-size:25px}
  .ap-nav{gap:0}.ap-nav-cta{padding:9px 12px!important}
  .ap-hero-grid{min-height:auto;grid-template-columns:1fr;padding-top:66px;padding-bottom:58px}
  .ap-hero-copy h1{font-size:clamp(42px,12vw,58px)}
  .ap-hero-message{display:none}
  .ap-layout{padding-top:52px;padding-bottom:78px}
  .ap-lead{font-size:14px}
  .ap-section{padding:58px 0}
  .ap-section h2,.ap-faq>h2{font-size:clamp(28px,8.5vw,38px)}
  .ap-section blockquote{padding:20px;font-size:18px}
  .ap-section-soft{margin-inline:-20px;padding:50px 20px}
  .ap-role-grid{grid-template-columns:1fr}
  .ap-inline-cta{padding:24px 20px}
  .ap-sidebar{grid-template-columns:1fr}
  .ap-final-cta{padding:38px 24px}
  .ap-button{width:100%;min-width:0}
  .ap-author{grid-template-columns:1fr;gap:8px}
  .ap-author h2 span{display:block;margin:6px 0 0}
  .ap-faq details p{padding-right:0}
  .ap-footer-inner{padding:30px 0;display:block;min-height:0}
  .ap-footer p{margin:13px 0}.ap-footer small{display:block;margin:0}
}
