        @charset "utf-8";

        :root {
            --color-text: #291E0D;
            --font-family-jp-sans: "Noto Sans JP", sans-serif;
            --font-spacing-jp-sans: 0.05em;
        }

        /* フォント設定 */
        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');
        body {
            line-height: 1.7;
            margin: 0;
            padding: 0;
            background-color: rgba(0, 0, 0, 0);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* ページ全体 */
        .l-main {
            max-width: 1000px;
            margin: 0 auto;
            padding: 20px 15px;
        }
        .l-main p {
            padding-bottom: 1rem;
        }
        /* 見出し */
        .c-hdg_primary-lv1 {
            font-size: 2rem; /* 32px */
            font-weight: 700;
            margin-top: 30px;
            margin-bottom: 40px;
            text-align: center;
        }
        .polityTitle {
            font-size: 2rem; /* 32px */
            font-weight: 700;
            margin-top: 30px;
            margin-bottom: 40px;
            text-align: center;
        }
        .c-hdg_primary-lv2 {
            font-size: 1.5rem; /* 24px */
            font-weight: 700;
            margin-top: 50px;
            margin-bottom: 25px;
        }
        .role-hdg {
            font-size: 1.125rem; /* 18px */
            font-weight: 700;
            margin-top: 30px;
            margin-bottom: 15px;
            border-bottom: 1px solid #eee;
            padding-bottom: 5px;
        }
        .role-hdgLv2 {
            font-weight: 700;
            margin-top: 15px;
            margin-bottom: 5px;
        }

        /* サマリー文 */
        .p-pmoduleSummary_txt {
            margin-bottom: 40px;
            border-radius: 8px;
        }
        .u-indent-notice2 {
            font-size: 0.875rem; /* 14px */
            padding-left: 2em;
            text-indent: -2em;
            color: #666;
        }
        .u-pt0 { padding-top: 0 !important; }

        /* 汎用モジュールとセクション */
        .p-pmoduleDtl_section {
            margin-bottom: 30px;
        }
        .p-pmoduleCnt_txt p {
            margin-bottom: 1em;
        }
        /* リストの調整 */
        .p-pmoduleCnt_txt ul {
            list-style-type: disc;
            padding-left: 1.5em;
            margin-bottom: 1em;
        }
        .p-pmoduleCnt_txt ul li {
            padding-bottom: 0.5em;
        }
        /* インデント付きリスト */
        .u-indent-list {
            padding-left: 1.5em;
            list-style-type: none;
        }
        .u-indent-list li:before {
            content: "";
        }
        .u-indent-list li {
            padding-bottom: 0.5em;
        }
        .u-indent-list-num {
            list-style-type: none;
            padding-left: 0;
            margin-bottom: 1em;
        }
        .u-indent-list-num li {
            padding-bottom: 0.5em;
            padding-left: 1.5em;
            text-indent: -1.5em;
        }
        .u-indent-list-num li:before {
            content: none;
        }


        /* 水平線 */
        .p-pmodule-border {
            border: 0;
            height: 1px;
            background-color: #eee;
            margin: 40px 0;
        }

        /* ページ内ナビゲーション（目次） - 画像に合わせる */
        .p-pmoduleNav {
            list-style: none;
            padding: 0;
            margin: 0 0 30px;
            border: 1px solid var(--color-border-gray); /* 枠線追加 */
            border-radius: 4px;
        }
        .p-pmoduleNav_list {
            border-bottom: 1px solid #eee;
        }
        .p-pmoduleNav_list:last-child {
            border-bottom: none;
        }
        .p-pmoduleNav_arrow {
            display: flex;
            justify-content: flex-start; /* 左寄せ */
            align-items: center;
            padding: 12px 15px;
            text-decoration: none;
            color: #333;
            transition: background-color 0.2s;
            font-weight: 400;
        }
        .p-pmoduleNav_arrow:hover {
            background-color: var(--color-hover-gray); /* ホバー時の色 */
            color: #333;
        }
        .p-pmoduleNav_arrow::before {
            /* 互換性の問題がある文字コードの代わりに、下向き矢印のSVGデータURIを使用 */
            content: ""; /* 文字コードから空に変更 */
            display: inline-block;
            width: 16px;
            height: 16px;
            /* SVG: シンプルな下向き矢印 (fill-colorは--color-primary-grayに設定) */
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M12 15.5L8.5 12L7.79 12.71L12 16.92L16.21 12.71L15.5 12L12 15.5Z" fill="%23555555"/></svg>');
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            margin-right: 10px;
            line-height: 1;
        }
        .p-pmoduleNav_arrow::after {
            content: none; /* 元の右向き矢印を削除 */
        }

        /* テーブル */
        .c-table-type1 {
            width: 100%;
            border-collapse: collapse;
            margin-top: 25px;
            margin-bottom: 0;
            font-size: 0.875rem; /* 14px */
            border-radius: 4px;
            overflow: hidden; /* 角丸を適用 */
        }
        .c-table-type1 table {
            width: 100%;
            table-layout: fixed;
        }
        .c-table-type1 th, .c-table-type1 td {
            border: 1px solid #eee;
            padding: 12px;
            vertical-align: top;
            text-align: left;
        }
        .c-table_head-primary {
            background-color: #f1f1f1;
            font-weight: 700;
            text-align: center;
            font-size: 1rem;
        }
        .c-table_head {
            background-color: #f9f9f9;
            font-weight: 700;
            color: #333;
        }
        .c-table-wd25 { width: 25%; }
        .c-table-wd75 { width: 75%; }
        .u-tx-strong { font-weight: 700; }
        .u-pt10 { padding-top: 10px !important; }
        .u-pb10 { padding-bottom: 10px !important; }
        .u-mt20 { margin-top: 20px !important; }
        .u-mb0 { margin-bottom: 0 !important; }

        /* テーブル内のリスト・インデント */
        .c-table_data {
            padding: 0; /* 子要素のリストでパディングを調整 */
        }
        .c-table_data > p {
            padding: 12px;
            margin: 0;
        }
        .u-indent-disc {
            list-style-type: disc;
            margin-left: 1.5em;
            padding: 12px 12px 12px 0;
        }
        .u-indent-disc:first-child {
            padding-top: 12px;
        }
        .u-indent-disc p {
            margin-top: 0.5em;
            margin-bottom: 0.5em;
            display: list-item;
            list-style-type: disc;
            margin-left: 1.5em;
        }
        .u-indent-notice {
            font-size: 0.8rem;
            color: #777;
            padding-left: 1.5em;
            text-indent: -1.5em;
            margin-top: 0.5em;
            margin-bottom: 0.5em;
        }
        .u-indent-1half {
            padding-left: 1.5em;
        }
        .u-align-r { text-align: right; }

        /* インラインリンク */
        .c-navLink-inline {
            color: var(--color-primary-gray); /* 青からグレーに変更 */
            text-decoration: underline;
            transition: color 0.2s;
        }
        .c-navLink-inline:hover {
            color: #333;
            text-decoration: none;
        }

        /* ---------------------------------- */
        /* スマートフォン向けレスポンシブデザイン */
        /* ---------------------------------- */
        @media screen and (max-width: 768px) {
            .c-hdg_primary-lv1 {
                font-size: 1.75rem; /* 28px */
                margin-bottom: 30px;
            }
            .c-hdg_primary-lv2 {
                font-size: 1.25rem; /* 20px */
                padding-left: 10px;
            }
            .p-pmoduleSummary_txt {
                padding: 15px;
            }

            /* テーブルのレスポンシブ対応 */
            .c-table-type1 {
                box-shadow: none;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
            }
            .c-table-type1 table {
                display: block;
                width: 100%;
                min-width: 600px; /* スクロールが必要な最小幅 */
            }
            .c-table-type1 th, .c-table-type1 td {
                display: table-cell;
                width: auto !important;
            }
            .c-table-type1 tr {
                display: table-row;
            }
            .c-table_head {
                width: 30% !important;
            }
            .c-table_data {
                width: 70% !important;
            }
            .u-sp-none {
                display: none !important;
            }
        }