/* SIJAM BTB | 各種方針ページ専用 CSS (共通CSS /css/style.css と併用) */
:root { --policy-navy: #071d2c; --policy-blue:#168ee5; --policy-line:#dce8ee; }
.policy-page .site-header, .policy-page .site-footer { box-sizing:border-box; }
.policy-page .site-header .columns, .policy-page .site-footer .columns { max-width:1160px; }
.policy-page .site-header .columns > .column:first-child { flex:0 1 36%; }
.policy-brand { display:inline-flex; flex-direction:column; text-decoration:none; }
.policy-brand .inline-004 { display:block; }
.policy-header-nav { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:16px; font-size:13px; font-weight:700; }
.policy-header-nav a { color:#dbe8ef; }
.policy-header-nav a.policy-contact { color:#42d7e9; }
.skip-link { position:absolute;top:-80px;left:10px;background:white;color:#071d2c;padding:8px 12px;z-index:100; }
.skip-link:focus { top:10px; }
.policy-container { max-width:1160px; margin:0 auto; width:100%; }
.policy-hero { background:linear-gradient(130deg,#eff9ff 0%,#e6f2fa 100%);padding:54px 24px 64px; }
.policy-breadcrumb { display:flex;align-items:center;gap:12px;font-size:12px;color:#657985;margin-bottom:38px; }
.policy-breadcrumb a { color:#2d6e9e;text-decoration:underline;text-underline-offset:3px; }
.policy-hero-label { color:#0877c8;font-size:11px;font-weight:800;letter-spacing:.16em;margin-bottom:9px; }
.policy-hero h1 { font-size:clamp(32px,4vw,48px);letter-spacing:-.025em;margin:0 0 12px;line-height:1.3; }
.policy-hero p { color:#47616f;font-size:15px;max-width:760px;line-height:1.95;margin:0; }
.policy-main-bg { background:#f5f9fc;padding:56px 24px 82px; }
.policy-content-layout { display:grid;grid-template-columns:256px minmax(0,1fr);align-items:start;gap:30px; }
.policy-toc { background:#fff;border:1px solid var(--policy-line);border-radius:14px;padding:24px 20px;position:sticky;top:20px; }
.policy-toc-title { color:#071d2c;font-size:14px;font-weight:800;margin:0 0 16px; }
.policy-toc a { display:flex;align-items:flex-start;gap:12px;color:#425b68;font-size:13px;line-height:1.65;border-top:1px solid #e9f0f4;padding:15px 0; }
.policy-toc a:last-child { padding-bottom:0; }
.policy-toc a:hover { color:var(--policy-blue); }
.policy-toc-num { flex:0 0 22px;font-weight:800;color:var(--policy-blue);font-size:12px;letter-spacing:.03em; }
.policy-article { background:#fff;border:1px solid var(--policy-line);border-radius:17px;overflow:hidden;margin-bottom:28px;box-shadow:0 9px 28px rgba(7,29,44,.035);scroll-margin-top:20px; }
.policy-article-head { background:#fff;padding:31px 36px 27px;border-bottom:1px solid #e7eff4; }
.policy-kicker { font-size:11px;letter-spacing:.14em;color:var(--policy-blue);font-weight:800;margin:0 0 8px; }
.policy-article-head h2 { font-size:clamp(23px,2.6vw,30px);line-height:1.5;letter-spacing:-.025em;margin:0; }
.policy-article-body { padding:30px 36px 36px;color:#304b5b;font-size:14px;line-height:2.02; }
.policy-article-body > p:first-child { margin-top:0; }
.policy-article-body p { margin:0 0 16px; }
.policy-article-body section { padding-top:12px;margin-top:24px;border-top:1px solid #e8f0f4; }
.policy-article-body section:first-child { border-top:0;margin-top:0;padding-top:0; }
.policy-article-body h3 { font-size:18px;line-height:1.65;margin:8px 0 14px;padding-left:14px;border-left:4px solid #168ee5;color:#071d2c; }
.policy-article-body h4 { font-size:15px;line-height:1.65;margin:22px 0 9px;color:#17394d; }
.policy-article-body ul { padding-left:1.45em;margin:9px 0 18px;list-style-type:disc; }
.policy-article-body li { margin:3px 0;padding-left:2px; }
.policy-article-body li::marker { color:#168ee5; }
.policy-note { color:#607581;font-size:12px;line-height:1.8; }
.policy-address { background:#f4f9fc;border:1px solid #e2ebef;border-radius:10px;padding:20px 22px;font-style:normal;margin:13px 0 24px;line-height:2; }
.policy-address a { color:#086cba;text-decoration:underline;text-underline-offset:3px; }
.policy-signed { text-align:right;color:#526d7c;margin:33px 0 0 !important;font-size:12px; }
.policy-back { text-align:right;margin:6px 0 0; }
.policy-back a { color:#0877c8;font-weight:700;font-size:14px; }
.policy-footer-nav { display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap;font-size:12px; }
.policy-footer-nav a { color:#b8c8d2; }
@media(max-width:900px) {
 .policy-content-layout { grid-template-columns:1fr;gap:22px; }
 .policy-toc { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;position:static;padding:16px 20px; }
 .policy-toc-title { grid-column:1/-1;margin-bottom:7px; }
 .policy-toc a { border-top:0;padding:10px 0; }
}
@media(max-width:767px) {
 .policy-page .site-header,.policy-page .site-footer { padding:18px !important; }
 .policy-page .site-header .columns,.policy-page .site-footer .columns { flex-direction:column;align-items:stretch;gap:10px !important; }
 .policy-page .site-header .columns > .column:first-child { flex-basis:auto; }
 .policy-header-nav { justify-content:flex-start;gap:8px 16px;font-size:12px; }
 .policy-hero { padding:40px 18px 42px; }
 .policy-breadcrumb { margin-bottom:28px; }
 .policy-hero h1 { font-size:33px; }
 .policy-hero p { font-size:14px; }
 .policy-main-bg { padding:30px 15px 58px; }
 .policy-toc { grid-template-columns:1fr; }
 .policy-toc a { padding:8px 0; }
 .policy-article-head { padding:24px 21px; }
 .policy-article-body { padding:24px 21px 30px;font-size:13.5px; }
 .policy-article-body h3 { font-size:16px; }
 .policy-article-body h4 { font-size:14px; }
 .policy-address { padding:15px; }
 .policy-footer-nav { justify-content:flex-start;gap:7px 15px; }
}
@media print {
 .policy-header-nav,.policy-toc,.policy-back,.policy-footer-nav {display:none !important;}
 .policy-main-bg {padding:0;background:#fff;}
 .policy-content-layout {display:block;}
 .policy-article {break-inside:avoid-page;box-shadow:none;border-radius:0;}
}
