@charset "UTF-8";

/* --- 基本設定 --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.8;
    color: #333;
    background-color: #f4f7f9;
}
.container { max-width: 980px; margin: 0 auto; padding: 0 20px; }

/* --- ヘッダー・フッター --- */
.header { background-color: #005bac; color: #fff; padding: 60px 0; text-align: center; }
.header h1 { font-size: 1.8rem; font-weight: bold; }
.footer { background-color: #222; color: #999; padding: 30px 0; text-align: center; font-size: 0.85rem; }

/* --- コンテンツボックス --- */
.content-box { background: #fff; padding: 60px; margin: 40px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.06); border-radius: 4px; }
.intro { font-size: 1.05rem; margin-bottom: 50px; padding-bottom: 30px; border-bottom: 1px solid #e5e5e5; text-align: justify; }

/* --- 条文スタイル --- */
.article { margin-bottom: 50px; }
.article h2 { font-size: 1.2rem; color: #005bac; margin-bottom: 25px; border-bottom: 2px solid #005bac; display: inline-block; padding-bottom: 4px; }
.article p { margin-bottom: 15px; text-align: justify; }

/* --- 半角数字に最適化したインデント設定 --- */
.indent-list { list-style: none; margin-bottom: 20px; }
.indent-list li { position: relative; margin-bottom: 12px; text-align: justify; }

/* 第6条などの「1」「10」用（半角用に幅を微調整） */
.normal-num li { padding-left: 1.8em; }
.normal-num li span {
    position: absolute;
    left: 0;
    width: 1.5em; /* 半角数字用にスリム化 */
    text-align: left;
    font-weight: bold;
}

/* 第10条などの「(1)」「(10)」用（半角括弧用に幅を微調整） */
.bracket-num li { padding-left: 3em; }
.bracket-num li span {
    position: absolute;
    left: 0;
    width: 2.8em; /* 半角括弧＋半角数字用に最適化 */
    text-align: left;
    font-weight: bold;
}

/* 子リスト（(1)など） */
.sub-list { list-style: none; margin: 10px 0 0 1.5em; }
.sub-list li { margin-bottom: 5px; }

/* --- 施行情報 --- */
.date-info { text-align: right; margin-top: 70px; border-top: 1px solid #eee; padding-top: 30px; font-weight: bold; }

/* --- スマホ表示の最適化 --- */
@media (max-width: 768px) {
    .content-box { padding: 30px 15px; }
    .header h1 { font-size: 1.3rem; }
    .bracket-num li { padding-left: 2.5em; }
}