@charset "utf-8";
/* 技術士一次サブディレクトリ用スタイル
   配色は imayomu-style.css の :root をそのまま引き継ぐ（同一ドメインで見た目を揃えるため）。
   既存CSSに無かった 8クラス（contents5 / pan-list-inline / article-point-box /
   qa-block / source-box / author-box / contents4・sideul / kasentaitoru）をここで補う。 */

:root{
  --main:#2f4858;
  --main-dark:#22333e;
  --accent:#c0563a;
  --link:#1a5f9e;
  --text:#2b2b2b;
  --sub:#6b7580;
  --line:#d9dee3;
  --bg-soft:#f5f7f8;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  color:var(--text);
  line-height:1.9;
  font-size:16px;
  background:#fff;
}
img{max-width:100%;height:auto;}
a{color:var(--link);}
a:hover{color:var(--accent);}

/* ★お手本＝建築施工管理 sekou-style.css:89 の .wrapper{max-width:1040px} に合わせた。
   820pxは1カラム時代の値で、あとから2カラムを乗せたときに直し忘れていた（本文が436pxに潰れていた）。 */
.wrapper{max-width:1040px;margin:0 auto;padding:0 16px;}

/* ── ヘッダとナビ ───────────────────────── */
.header{padding:18px 0 10px;}
.header h1{margin:0;font-size:20px;}
.header h1 a{color:var(--main-dark);text-decoration:none;}
.site-nav{
  font-size:13px;padding:10px 0;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);color:var(--sub);
}
.site-nav a{text-decoration:none;}

/* ── パンくず ─────────────────────────── */
.contents5{margin:12px 0;}
.pan-list-inline{
  list-style:none;margin:0;padding:0;font-size:12px;color:var(--sub);
}
.pan-list-inline li{display:inline;margin-right:4px;}
.pan-list-inline a{text-decoration:none;}

/* ── 本文 ───────────────────────────── */
.contents1{padding:8px 0 32px;}
.contents1 h1{
  font-size:23px;line-height:1.6;margin:14px 0 22px;
  padding-bottom:12px;border-bottom:3px solid var(--main);
}
.contents1 h2{
  font-size:19px;margin:38px 0 14px;padding:9px 12px;
  background:var(--bg-soft);border-left:5px solid var(--main);color:var(--main-dark);
}
.contents1 h3{
  font-size:17px;margin:26px 0 10px;padding-left:10px;
  border-left:3px solid var(--accent);
}
.contents1 p{margin:0 0 1.1em;}
blockquote{
  margin:18px 0;padding:12px 16px;background:var(--bg-soft);
  border-left:4px solid var(--sub);color:var(--main-dark);
}
blockquote p{margin:0;}

/* ── 装飾4色（量の規定は記事側で守る）───────────── */
.marker{background:linear-gradient(transparent 62%, #ffe680 62%);font-weight:600;}
.marker-under{border-bottom:2px solid #f0c400;font-weight:600;}
.bold-red{color:#c0272d;font-weight:700;}

/* ── 要点box ────────────────────────── */
.article-point-box{
  margin:20px 0 26px;padding:16px 18px;background:var(--bg-soft);
  border:1px solid var(--line);border-radius:4px;
}
.article-point-title{
  margin:0 0 8px !important;font-weight:700;color:var(--main-dark);font-size:15px;
}
.article-point-box p{margin:0 0 .6em;}
.article-point-box p:last-child{margin-bottom:0;}

/* ── 表（固定幅を付けない・折り返してもガタつかない）───── */
table{
  width:100%;border-collapse:collapse;margin:18px 0;font-size:15px;
}
th,td{
  border:1px solid var(--line);padding:8px 10px;
  text-align:left;vertical-align:top;line-height:1.6;
}
thead th{background:var(--main);color:#fff;font-weight:600;}
tbody tr.even,tbody tr:nth-child(even){background:var(--bg-soft);}

/* ── 理解度チェック ─────────────────────── */
.qa-block{margin:18px 0;}
.qa-block details{
  border:1px solid var(--line);border-radius:4px;margin-bottom:10px;background:#fff;
}
.qa-block summary{
  cursor:pointer;padding:11px 14px;font-weight:600;color:var(--main-dark);
  background:var(--bg-soft);border-radius:4px;
}
.qa-block details[open] summary{border-bottom:1px solid var(--line);border-radius:4px 4px 0 0;}
.qa-block details p{margin:0;padding:12px 14px;}

/* ── 出典・確認日・著者 ───────────────────── */
.source-box{
  margin:28px 0 14px;padding:14px 16px;background:#fbfbfc;
  border:1px solid var(--line);border-radius:4px;font-size:13px;color:var(--sub);
}
.source-title{margin:0 0 6px !important;font-weight:700;color:var(--main-dark);}
.source-box p{margin:0 0 .4em;}
.article-date-note{font-size:12px;color:var(--sub);margin:0 0 22px;}

.author-box{
  display:flex;gap:14px;align-items:flex-start;
  margin:22px 0;padding:14px 16px;border:1px solid var(--line);border-radius:4px;
}
.author-box-label{margin:0 !important;font-size:12px;color:var(--sub);}
.author-box-name{margin:2px 0 6px !important;font-weight:700;color:var(--main-dark);}
.author-box-bio{margin:0 !important;font-size:14px;}

/* ── 記事下のリンク一覧 ───────────────────── */
.contents4{margin:26px 0 10px;}
.contents4 h4{
  margin:0 0 10px;font-size:15px;padding:7px 12px;
  background:var(--bg-soft);border-left:5px solid var(--main);color:var(--main-dark);
}
.sideul{list-style:none;margin:0;padding:0;}
.sideul li{border-bottom:1px dotted var(--line);}
.sideul li a{
  display:block;padding:10px 4px;text-decoration:none;font-size:15px;
}
.sideul li a:hover{background:var(--bg-soft);}
.sideul li a.arrow::before{content:"▶ ";color:var(--main);font-size:11px;}

.kasentaitoru{text-align:right;margin:18px 0;font-size:13px;}
.kasentaitoru a{text-decoration:none;}

/* ── フッタ ─────────────────────────── */
.footer{background:var(--main-dark);margin-top:30px;}
.footer-links a{text-decoration:none;}

/* ── スマホ ─────────────────────────── */
@media screen and (max-width:600px){
  body{font-size:15px;line-height:1.85;}
  .contents1 h1{font-size:20px;}
  .contents1 h2{font-size:17px;}
  table{font-size:14px;}
  th,td{padding:7px 8px;}
  .author-box{flex-direction:column;gap:8px;}
}

/* 広告枠（imayomu-style.css の実在する定義を移した） */
.ad-slot{margin:28px 0; min-height:0;}
.ad-slot:empty{display:none;}
.ad-label{font-size:11px; color:#999; margin-bottom:4px;}

/* ===== 2カラム =====
   ★幅はお手本＝建築施工管理 sekou-style.css の実在値に合わせた（2026-07-30に修正）。
     sekou-style.css:112 .contents1{width:680px} / :115 .contents33{width:336px; margin-left:15px}
     → 680+15+336=1031。wrapper 1040 の中に収まる（デスクトップは padding を0にして1040を使い切る）。
   ★元は imayomu本体 imayomu-style.css:31-33（gap32/本文760/サイド320）を写したものだった。
     あれは wrapper が 1120px の前提の値で、820pxのままここに写したので
     本文が 788−32−320＝436px に潰れていた。写すときは器の幅も一緒に見る。 */
.main-area{display:flex; gap:15px; align-items:flex-start;}
.main-area .contents1{flex:1 1 auto; min-width:0; max-width:680px; margin:0 0 48px;}
.sidebar{flex:0 0 336px; width:336px;}
.side-box{margin:0 0 32px;}
.side-box h2{margin:0 0 10px; padding:0 0 6px; font-size:15px; font-weight:700;
  color:var(--main-dark); border-bottom:2px solid var(--main); background:none;}
.side-box ul{margin:0; padding-left:1.2em;}
.side-box li{margin-bottom:.6em; line-height:1.6;}
.side-box li a{font-size:14px; color:var(--link); text-decoration:none;}
.side-box li a:hover{color:var(--accent); text-decoration:underline;}
.side-ad{position:sticky; top:16px;}
/* ★デスクトップは padding を外して 1040px を使い切る（お手本の .contents1{margin-left:0} と同じ考え） */
@media screen and (min-width:951px){
  .wrapper{padding:0;}
}
/* ★1カラムに落とす境目もお手本に合わせて 950px（sekou-style.css の @media max-width:950px）。
     900pxのままだと 901〜950px で 2カラムが入らず潰れる。 */
@media screen and (max-width:950px){
  .main-area{display:block;}
  .main-area .contents1{max-width:none;}
  .sidebar{width:auto; margin:32px 0 0;}
}

/* ===== 前後リンク ===== */
.prevnext{display:flex; gap:16px; margin:32px 0 24px; flex-wrap:wrap;}
.prevnext>div{flex:1 1 45%; min-width:240px; padding:12px 14px;
  border:1px solid var(--line); border-radius:4px; font-size:13px; color:var(--sub);}
.prevnext .pn-next{text-align:right;}
.prevnext a{display:inline-block; margin-top:4px; font-size:14px;
  color:var(--link); text-decoration:none; line-height:1.5;}
.prevnext a:hover{color:var(--accent); text-decoration:underline;}

/* ===== 本文の中の一覧ブロック（お手本＝建築施工管理の過去問ページに合わせた） ===== */
.related-list{margin:36px 0 28px; padding:18px 20px;
  border:1px solid var(--line); border-radius:4px; background:#fafafa;}
.related-list h2{margin:0 0 10px; padding:0; border:none;
  font-size:16px; font-weight:700; color:var(--text);}
.related-list ul{margin:0; padding:0 0 0 1.1em; list-style:disc;}
.related-list li{margin:0 0 6px; font-size:14px; line-height:1.6;}
.related-list li.cur{list-style:none; margin-left:-1.1em; color:var(--sub);}
.related-list li.cur .cur-self{color:var(--text); font-weight:700;}
.related-list a{color:var(--link); text-decoration:none;}
.related-list a:hover{color:var(--accent); text-decoration:underline;}
@media screen and (max-width:600px){.related-list{padding:14px 15px;}}

.cur-self{font-weight:700; color:var(--text);}

/* ============================================================
   ★お手本＝建築施工管理（sekou-style.css ＋ kakomon-theme.css）に合わせる。
   2026-07-31。過去問記事の文字サイズ・見出し・部品をお手本の実測値で上書きする。
   出所＝sekou-style.css:128(p 17px/2.0) :130(h1 2em) :259(h1 1.42em) :263(15.5px)
        :297-311(qa) :369-372(related-study-box) :375-380(kakomon-prevnext) :175(source-box-title)
        kakomon-theme.css(h2 マーカー下線型 / ul.sideul 17px)
   ============================================================ */

/* 本文＝17px・行間2.0（お手本 sekou-style.css:128） */
.contents1 p, .contents1 section > p{font-size:17px; line-height:2.0;}
.contents1 h1{font-size:2em; line-height:1.4; border-bottom:none; color:#26364f;
  padding-bottom:0; margin:0 0 .6em;}

/* h2＝青ベタ箱をやめて淡い青のマーカー下線型（kakomon-theme.css） */
.contents1 h2{display:inline-block; background:linear-gradient(transparent 58%,#cfe0f5 58%);
  color:#26364f; border:0; border-left:0; border-radius:0;
  padding:0 2.5em 0 .2em; margin:1.4em 0 .5em; font-size:1.2em; font-weight:bold; line-height:1.5;}
.contents1 h3{font-size:1.30em; color:#26364f; border-left:6px solid #3f5878;
  padding:.7em 0 .7em .8em; margin:2.0em 0 .5em; font-weight:bold;}

/* リスト＝17px（kakomon-theme.css） */
.contents1 ul.sideul{list-style:disc; padding-left:1.6em; font-size:17px; line-height:1.95;
  margin:.3em 0 1.4em; border:0;}
.contents1 ul.sideul li{font-size:17px; margin:.3em 0; list-style:disc;}
.contents1 ul.sideul li::marker{color:#3f5878;}

/* 表＝ヘッダを濃紺・白字（kakomon-theme.css） */
.contents1 table th{background:#26364f; color:#fff;}
.contents1 table, .contents1 table td, .contents1 table th{border-color:#cfd6e1;}

/* 出典（お手本 sekou-style.css:174-175） */
.source-box{border:1px solid #e2e2e2; background:#fafafa; padding:12px 14px; margin:18px 0;
  border-radius:6px; font-size:14px; line-height:1.8;}
.source-box-title{font-size:17px; font-weight:bold; margin:0 0 10px; color:#333; line-height:1.6;}
.source-box ul{margin:0; padding-left:1.4em;}

/* 理解度チェック（お手本 sekou-style.css:297-311） */
.qa-block{border:1px solid #c8d4e8; border-radius:6px; margin:10px 0; overflow:hidden;}
.qa-header{display:flex; align-items:baseline; gap:8px; padding:6px 12px;
  background:#f5f7fa; border-bottom:1px solid #c8d4e8;}
.qa-no{font-size:.88em; font-weight:bold; color:#26364f; white-space:nowrap; flex-shrink:0;}
.qa-q{padding:9px 12px 7px; margin:0 !important; font-size:15.5px; line-height:1.8;}
details.qa-answer summary{cursor:pointer; list-style:none; padding:5px 12px; font-size:.9em;
  font-weight:bold; color:#26364f; background:#f7f7f7; border-top:1px solid #c8d4e8; user-select:none;}
details.qa-answer summary::-webkit-details-marker{display:none;}
details.qa-answer summary::before{content:"▼ 答えを見る";}
details.qa-answer[open] summary::before{content:"▲ 閉じる";}
.qa-answer-body{padding:9px 12px 11px; font-size:15px; line-height:1.85; background:#fff;
  border-top:1px solid #eee;}
.qa-answer-body p{margin:0 0 6px !important; font-size:15px !important; line-height:1.85 !important;}
.qa-answer-body p:last-child{margin-bottom:0 !important;}

/* 前後リンク（お手本 sekou-style.css:375-380） */
.kakomon-prevnext{display:flex; flex-wrap:wrap; gap:12px; margin:24px 0;}
.kakomon-prevnext a{box-sizing:border-box; min-width:0; overflow-wrap:anywhere;
  flex:0 1 calc(50% - 6px); display:flex; flex-direction:column; justify-content:center;
  border:1px solid #3f5878; border-radius:8px; padding:12px 14px; background:#f5f7fa; text-decoration:none;}
.kakomon-prevnext a:hover{background:#e7ecf3;}
.kakomon-prevnext .label{font-size:12px; font-weight:bold; color:#3f5878; margin-bottom:4px;}
.kakomon-prevnext .title{font-size:15px; color:#222; line-height:1.5;}
.kakomon-prevnext .next{text-align:right; margin-left:auto;}

/* あわせて読みたい（お手本 sekou-style.css:369-372） */
.related-study-box{background:#eef2f7; border:1px solid #d8dee8; border-left:4px solid #3f5878;
  border-radius:6px; padding:11px 14px; margin:18px 0 6px; font-size:15px; line-height:1.85;}
.related-study-box > p{margin:0 0 7px;}
.related-study-box ul{margin:0;}

@media screen and (max-width:950px){
  .contents1 p, .contents1 section > p{font-size:15.5px; line-height:1.9;}
  .contents1 h1{font-size:1.42em; line-height:1.45;}
  .contents1 ul.sideul, .contents1 ul.sideul li{font-size:16px;}
}
/* サイドバーの見出しは h2 をやめて p にした（h2は本文の見出し階層だけに使う） */
.side-box-title{margin:0 0 10px; padding:0 0 6px; font-size:15px; font-weight:700;
  color:var(--main-dark); border-bottom:2px solid var(--line);}
/* ★装飾4色と表の文字サイズをお手本の実測値に合わせる（2026-07-31）。
   出所＝sekou-style.css:201-203（marker/marker-under/bold-red）
        :79-82,142-145（table に font-size 指定なし＝本文から継承）
   ここまで自作の値を使っていて、赤がくすみ・マーカーの実装が入れ替わり・表が1px小さかった。 */
.marker{background:#ff9; background-image:none; padding:0 2px; font-size:inherit; font-weight:normal;}
.marker-under{background:linear-gradient(transparent 60%, #ff9 60%); border-bottom:none;
  padding:0 2px; font-size:inherit; font-weight:normal;}
.bold-red{font-weight:bold; color:#e60033; font-size:inherit;}

/* 表＝お手本は font-size を指定せず本文から継承する。16px で読ませる */
.contents1 table{font-size:16px;}
.contents1 th, .contents1 td{font-size:16px; padding:8px 10px; line-height:1.6;}
@media screen and (max-width:950px){
  .contents1 table, .contents1 th, .contents1 td{font-size:15.5px;}
}
/* ★箇条書きとサイドバーの文字サイズをお手本に合わせる（2026-07-31）。
   出所＝sekou-style.css:318-320（.contents1 ul 17px／モバイル15.5px）
        :526-532（.side-card-title 15px ／ ul.side-list 16px・行頭「›」）
   覚え方の ul は正本どおり素の <ul style="list-style:disc"> なので、
   クラス指定（ul.sideul）だけ大きくしても効かず16pxのままだった。 */
.contents1 ul{font-size:17px; line-height:1.9; border:none;}
.contents1 ul li{font-size:17px;}

.side-box ul{margin:0; padding:0; list-style:none; font-size:16px; line-height:1.7;}
.side-box li{margin:0 0 9px; padding:0 0 0 15px; position:relative; line-height:1.6;}
.side-box li::before{content:"\203A"; position:absolute; left:2px; top:-1px;
  color:var(--main); font-weight:bold;}
.side-box li a{font-size:16px; color:var(--link); text-decoration:none;}

@media screen and (max-width:950px){
  .contents1 ul, .contents1 ul li{font-size:15.5px;}
}
/* ★最終調整（2026-07-31）。お手本と実効値を並べて、俺だけ小さくしていた所を戻す。
   ・表：お手本は table に font-size を書いていない＝画面幅によらず16px。
     こちらはモバイルで15.5pxに縮めていたので撤回する。
   ・h2：お手本(kakomon-theme.css)は 1.2em でモバイル用の縮小が無い。
   ・.marker：お手本は太字でないが、本人指示で太字にする（正解の1行を目立たせるため）。 */
.marker{font-weight:bold;}

.contents1 table, .contents1 th, .contents1 td{font-size:16px;}
.side-box ul, .side-box li, .side-box li a{font-size:16px; line-height:1.7;}

@media screen and (max-width:950px){
  /* 表と見出しは縮めない（お手本に縮小規定が無い） */
  .contents1 table, .contents1 th, .contents1 td{font-size:16px;}
  .contents1 h2{font-size:1.2em;}
  .side-box ul, .side-box li, .side-box li a{font-size:16px;}
}