/* =========================================================
   技能士・資格情報（qualification.php）ページ固有スタイル
   共通トークン・ヘッダー・フッターは common.css を継承（ページ固有JSなし）
   ========================================================= */

/* --- ページヒーロー（2カラム） --- */
.qual-hero{background:linear-gradient(160deg,var(--navy-950),var(--navy-800));color:#fff;padding:60px 0 52px}
.qual-hero .hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:48px;align-items:center}
.qual-hero .hero-text{min-width:0}.qual-hero .hero-visual{min-width:0}
.qual-hero .breadcrumbs{font-size:12px;color:#a9c2d6;margin-bottom:20px}
.qual-hero .breadcrumbs a{color:#cfe0ee}.qual-hero .breadcrumbs a:hover{color:#fff;text-decoration:underline}
.qual-hero .kicker{color:var(--accent-editorial-on-dark)}
.qual-hero h1{font-size:clamp(28px,4vw,42px);letter-spacing:.04em;margin:6px 0 16px;line-height:1.3}
.qual-hero .qual-lead{color:#dbe7f1;font-size:15px;line-height:2;margin:0}

/* --- 画像プレースホルダ枠 --- */
.img-frame{position:relative;border:2px dashed #b9cddb;border-radius:var(--radius);background:linear-gradient(135deg,var(--sky-50),#fff);display:grid;place-items:center;text-align:center;color:#8aa0b2;padding:28px;min-height:240px}
.img-frame .imgf-ico{opacity:.55;margin-bottom:10px;color:#7f97ab}
.img-frame strong{display:block;font-size:13px;color:#6d8398;font-weight:800;letter-spacing:.06em}
.img-frame small{display:block;font-size:11.5px;color:#9fb2c1;margin-top:5px}
.img-frame.wide{min-height:300px}
.img-frame.on-dark{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.05);color:#aec3d6}
.img-frame.on-dark .imgf-ico{color:#bcd3e6}
.img-frame.on-dark strong{color:#cfe0ee}.img-frame.on-dark small{color:#9fb8cc}

/* --- セクション枠 --- */
.qual-sec{padding:64px 0}
.qual-sec.alt{background:var(--sky-50)}
.qual-sec .sec-head{margin-bottom:28px}
.qual-sec .sec-head h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:.04em;margin:6px 0 12px;color:var(--navy-900)}
.qual-sec .sec-copy{color:var(--muted);font-size:14.5px;line-height:2;margin:0}

/* --- 制度概要（2カラム：説明＋制度カード） --- */
.qual-overview{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}
.qual-points{display:flex;flex-direction:column;gap:16px;margin-top:22px}
.qual-point{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start}
.qual-point span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:15px;font-weight:800;color:#fff;background:linear-gradient(150deg,var(--blue-600),var(--navy-800))}
.qual-point strong{display:block;font-size:15px;color:var(--navy-900);margin-bottom:3px}
.qual-point p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.85}

/* --- 制度カード（実施主体を明記） --- */
.qual-mark{background:linear-gradient(160deg,var(--navy-900),var(--navy-950));color:#fff;border-radius:var(--radius);padding:30px 32px;box-shadow:var(--shadow)}
.qual-mark .mk-tag{font-size:11px;letter-spacing:.14em;color:var(--blue-500);font-weight:700}
.qual-mark h3{font-size:20px;margin:8px 0 14px;line-height:1.5}
.qual-mark p{margin:0 0 16px;font-size:13.5px;line-height:1.9;color:#dbe7f1}
.qual-mark dl{margin:0;display:grid;grid-template-columns:76px 1fr;gap:8px 12px;font-size:13px}
.qual-mark dt{color:#9fb8cc;font-weight:700}
.qual-mark dd{margin:0;color:#eef4f9}

/* --- 誤認防止の注記 --- */
.disclaimer-box{display:flex;gap:12px;align-items:flex-start;margin-top:28px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--warm);border-radius:10px;box-shadow:var(--shadow);color:#5a4a2a;font-size:13.5px;line-height:1.9}
.disclaimer-box svg{flex:none;margin-top:2px;color:#b8860b}

/* --- 掲載方針（3カード） --- */
.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.policy-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 28px}
.policy-card h3{margin:0 0 9px;font-size:16px;color:var(--navy-900)}
.policy-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.9}

/* --- 過去資料アーカイブ --- */
.archive-note{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue-500);border-radius:10px;padding:15px 20px;margin-bottom:24px;color:#2c3e4e;font-size:13px;line-height:1.85;box-shadow:var(--shadow)}
.flyer-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.flyer-figure{margin:0}
.flyer-figure .flyer-img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);background:#fff}
.flyer-figure figcaption{margin-top:8px;font-size:11.5px;color:var(--muted);line-height:1.6}
.flyer-detail .status-badge{display:inline-block;padding:5px 13px;border-radius:999px;font-size:12px;font-weight:800;margin-bottom:12px}
.status-badge.closed{background:#eef2f5;color:#3f5266}
.status-badge.open{background:var(--sky-100);color:var(--navy-800)}
.flyer-detail h3{margin:0 0 12px;font-size:19px;color:var(--navy-900);line-height:1.5}
.flyer-detail p{margin:0 0 16px;color:#2c3e4e;font-size:14px;line-height:1.9}
.flyer-meta{margin:0 0 18px;display:grid;grid-template-columns:88px 1fr;gap:8px 14px;font-size:13px}
.flyer-meta dt{color:var(--muted);font-weight:700}
.flyer-meta dd{margin:0;color:var(--navy-900)}
.flyer-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.ext-link{display:inline-flex;align-items:center;gap:7px;color:var(--blue-600);font-weight:800;font-size:13.5px}
.ext-link:hover{text-decoration:underline}

/* --- レスポンシブ --- */
@media (max-width:900px){
  .qual-hero .hero-grid{grid-template-columns:1fr;gap:30px}
  .qual-hero .hero-visual{order:-1}
  .qual-overview{grid-template-columns:1fr;gap:28px}
  .policy-grid{grid-template-columns:1fr}
  .flyer-layout{grid-template-columns:1fr;gap:24px}
}
@media (max-width:560px){
  .flyer-actions .btn{width:100%;justify-content:center}
}

/* ============================================================
   技能検定のご案内（inc/kentei.php）
   出どころは日本ウインドウ・フィルム工業会の公示
   ============================================================ */
.kentei{padding:80px 0;background:var(--sky-50,#f6f9fc);}
.kentei .sec-head{margin-bottom:26px;}

/* 受付の状況を最初に大きく出す */
.kt-status{
  border-radius:12px;padding:22px 26px;margin:0 0 30px;
  border:1px solid var(--line-200,#d7dfe7);background:#fff;
}
.kt-status.is-open{border-left:5px solid #1c6b3f;background:#f4faf6;}
.kt-status.is-soon{border-left:5px solid var(--navy-700,#12456f);background:#f5f9fc;}
.kt-status.is-over{border-left:5px solid #8a94a0;background:#f7f8f9;}
.kt-badge{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;
  padding:4px 12px;border-radius:999px;margin:0 0 10px;color:#fff;background:#8a94a0;
}
.kt-status.is-open .kt-badge{background:#1c6b3f;}
.kt-status.is-soon .kt-badge{background:var(--navy-700,#12456f);}
.kt-status p{margin:0 0 6px;font-size:14.5px;line-height:1.95;color:var(--ink-700,#2c3e4e);}
.kt-status .kt-cap{font-size:13px;color:var(--ink-500,#5b6b7c);margin-bottom:0;}

.kt-block{margin:0 0 32px;}
.kt-block h3{
  margin:0 0 14px;font-size:16px;color:var(--navy-900,#0a2e4f);
  padding-left:12px;border-left:3px solid var(--navy-700,#12456f);
}
.kt-sub{margin:22px 0 10px;font-size:14px;color:var(--navy-800,#123c60);}
.kt-lead{margin:0 0 14px;font-size:14px;line-height:2;color:var(--ink-700,#2c3e4e);}

.kt-cols{display:grid;gap:32px;grid-template-columns:1fr 1fr;}

.kt-table-wrap{overflow-x:auto;}
.kt-table{
  width:100%;border-collapse:collapse;background:#fff;font-size:13.5px;
  border:1px solid var(--line-200,#d7dfe7);border-radius:10px;overflow:hidden;
}
.kt-table th,.kt-table td{
  padding:11px 14px;text-align:left;border-bottom:1px solid var(--line-200,#d7dfe7);
  vertical-align:top;line-height:1.75;
}
.kt-table thead th{
  background:var(--sky-100,#e7f0f7);color:var(--navy-900,#0a2e4f);
  font-size:12.5px;white-space:nowrap;
}
.kt-table tbody th{color:var(--navy-800,#123c60);white-space:nowrap;font-weight:700;}
.kt-table tbody tr:last-child th,.kt-table tbody tr:last-child td{border-bottom:0;}
.kt-time{font-size:12.5px;color:var(--ink-500,#5b6b7c);}
.kt-total{font-weight:700;color:var(--navy-900,#0a2e4f);}

.kt-venue{
  margin-top:14px;padding:16px 18px;background:#fff;border-radius:10px;
  border:1px solid var(--line-200,#d7dfe7);font-size:13.5px;line-height:1.95;
}
.kt-venue a{color:var(--navy-700,#12456f);}
.kt-note{font-size:12.5px;color:var(--ink-500,#5b6b7c);}

.kt-dl{margin:0;background:#fff;border:1px solid var(--line-200,#d7dfe7);border-radius:10px;padding:16px 20px;}
.kt-dl dt{margin:14px 0 5px;font-size:14px;font-weight:700;color:var(--navy-800,#123c60);}
.kt-dl dt:first-child{margin-top:0;}
.kt-dl dd{margin:0;font-size:13.5px;line-height:1.95;color:var(--ink-700,#2c3e4e);}

.kt-notes{margin:12px 0 0;padding-left:1.3em;}
.kt-notes li{font-size:12.5px;line-height:1.9;color:var(--ink-500,#5b6b7c);margin:0 0 5px;}
.kt-docs{margin:0;padding-left:1.5em;}
.kt-docs li{font-size:13.5px;line-height:1.95;color:var(--ink-700,#2c3e4e);margin:0 0 7px;}

.kt-contact{
  background:#fff;border:1px solid var(--line-200,#d7dfe7);border-radius:12px;
  padding:24px 26px;margin:0 0 22px;
}
.kt-contact h3{margin:0 0 8px;font-size:16px;color:var(--navy-900,#0a2e4f);border:0;padding:0;}
.kt-contact dl{margin:14px 0 0;display:grid;grid-template-columns:80px 1fr;gap:8px 16px;}
.kt-contact dt{font-size:13px;color:var(--ink-500,#5b6b7c);}
.kt-contact dd{margin:0;font-size:14px;color:var(--ink-700,#2c3e4e);line-height:1.8;}
.kt-contact a{color:var(--navy-700,#12456f);}

.kt-source{
  margin:0;font-size:12.5px;line-height:1.95;color:var(--ink-500,#5b6b7c);
  padding-top:18px;border-top:1px solid var(--line-200,#d7dfe7);
}
.kt-source a{color:var(--navy-700,#12456f);}

@media (max-width:860px){
  .kentei{padding:56px 0;}
  .kt-cols{grid-template-columns:1fr;gap:24px;}
  .kt-contact dl{grid-template-columns:1fr;gap:2px 0;}
  .kt-contact dt{margin-top:10px;}
}

/* 申込先の明示（事故防止のため一番上） */
.kt-where{
  background:var(--navy-900,#0a2e4f);color:#fff;border-radius:12px;
  padding:22px 26px;margin:0 0 20px;
}
.kt-where p{margin:0 0 8px;font-size:14.5px;line-height:1.9;}
.kt-where .kt-note{color:rgba(255,255,255,.8);font-size:13px;}
.kt-where .btn{margin-top:8px;background:#fff;color:var(--navy-900,#0a2e4f);border-color:#fff;}

/* 受けられるかの確認 */
.kt-check{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px;}
.kt-check li{
  background:#fff;border:1px solid var(--line-200,#d7dfe7);border-radius:10px;
  padding:14px 18px;font-size:14px;line-height:1.95;color:var(--ink-700,#2c3e4e);
}
.kt-grade{
  display:inline-block;min-width:44px;margin-right:12px;padding:3px 10px;border-radius:6px;
  background:var(--navy-700,#12456f);color:#fff;font-size:12.5px;font-weight:700;text-align:center;
}
.kt-emph{
  margin:0 0 10px;padding:13px 16px;border-radius:8px;
  background:var(--sky-100,#e7f0f7);color:var(--navy-900,#0a2e4f);
  font-size:14px;line-height:1.9;
}

/* 知っておいていただきたいこと */
.kt-facts{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px;}
.kt-facts li{
  background:#fff;border:1px solid var(--line-200,#d7dfe7);border-radius:10px;padding:16px 20px;
}
.kf-fact{margin:0 0 8px;font-size:14px;line-height:1.95;color:var(--ink-700,#2c3e4e);}
.kf-so{
  margin:0;font-size:13.5px;line-height:1.9;color:var(--navy-800,#123c60);
  padding-top:8px;border-top:1px dashed var(--line-200,#d7dfe7);
}
.kf-so span{color:var(--navy-500,#4a7ba3);margin-right:6px;}
.kt-title-name{
  background:var(--sky-50,#f6f9fc);border:1px solid var(--line-200,#d7dfe7);
  border-radius:10px;padding:16px 20px;
}
.kt-title-name strong{display:block;margin-bottom:6px;font-size:14px;color:var(--navy-900,#0a2e4f);}
.kt-title-name p{margin:0 0 6px;font-size:14px;line-height:1.9;color:var(--ink-700,#2c3e4e);}
.kt-title-name p:last-child{margin-bottom:0;}

/* お申し込みの手順 */
.kt-steps{list-style:none;margin:0 0 16px;padding:0;counter-reset:none;}
.kt-steps li{
  display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-200,#d7dfe7);
}
.kt-steps li:last-child{border-bottom:0;}
.kt-step-no{
  flex:none;width:32px;height:32px;border-radius:50%;
  background:var(--navy-700,#12456f);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;
}
.kt-steps strong{display:block;margin-bottom:5px;font-size:15px;color:var(--navy-900,#0a2e4f);}
.kt-steps p{margin:0;font-size:13.5px;line-height:1.95;color:var(--ink-700,#2c3e4e);}

/* ============================================================
   可視光線透過率測定器 PT-500 の解説（現行サイトから移した内容）
   ============================================================ */
.pt500{padding:84px 0;background:var(--sky-50,#f6f9fc);}
.pt500-grid{display:grid;gap:34px;grid-template-columns:1.25fr 1fr;align-items:start;margin-top:28px;}
.pt500-movie{margin:0;border-radius:12px;overflow:hidden;background:#000;box-shadow:0 10px 30px rgba(10,46,79,.14);}
.pt500-movie iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;}
.pt500-body p{margin:0 0 14px;font-size:14px;line-height:2;color:var(--ink-700,#2c3e4e);}
.pt500-caution{
  margin-top:18px !important;padding:14px 16px;border-radius:8px;
  background:#fff;border:1px solid var(--line-200,#d7dfe7);
  font-size:13px !important;line-height:1.9 !important;color:var(--ink-500,#5b6b7c) !important;
}
.pt500-h3{margin:0 0 10px;font-size:16px;font-weight:700;color:var(--ink-900,#10243a);line-height:1.6;}
.pt500-body p+.pt500-h3{margin-top:22px;}
.pt500-toc{margin:0 0 6px;padding-left:1.2em;}
.pt500-toc li{margin:0 0 8px;font-size:14px;line-height:1.9;color:var(--ink-700,#2c3e4e);}
.pt500 .doc-list{list-style:none;margin:18px 0 0;padding:0;}
@media (max-width:900px){
  .pt500{padding:60px 0;}
  .pt500-grid{grid-template-columns:1fr;gap:24px;}
}
