@charset "UTF-8";

.report-408-body { background:#f6f8f7; }
.report-408-page {
    --r408-navy:#1c4551; --r408-green:#6f8e7a; --r408-pale:#edf4f0;
    --r408-warm:#f6eee2; --r408-line:#d8e1dd; --r408-text:#2b373c; --r408-muted:#667177;
    color:var(--r408-text); font-family:"Noto Sans JP",sans-serif; font-size:16px; line-height:1.9; overflow-wrap:anywhere;
}
.report-408-page *, .report-408-page *::before, .report-408-page *::after { box-sizing:border-box; }
.report-408-page a { color:#175c75; text-underline-offset:.2em; }
.report-408-page a:hover { color:#0c4055; }
.report-408-page a:focus-visible, .report-408-page summary:focus-visible, .report-408-page [tabindex]:focus-visible { outline:3px solid #eda548; outline-offset:3px; }
.report-408-page .pageTitle { margin-bottom:24px; color:var(--r408-navy); }

.report-408-hero { margin:0 0 36px; overflow:hidden; border-radius:18px; background:#fff; box-shadow:0 16px 40px rgba(28,69,81,.13); }
.report-408-hero img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }

.report-408-lead { padding:34px 38px; margin-bottom:34px; border-left:6px solid var(--r408-green); border-radius:0 18px 18px 0; background:#fff; box-shadow:0 8px 28px rgba(28,69,81,.07); }
.report-408-kicker, .report-408-cta-label { margin:0 0 7px; color:var(--r408-green); font-size:.92rem; font-weight:800; letter-spacing:.08em; }
.report-408-lead h2, .report-408-summary h2, .report-408-toc h2, .report-408-section>h2, .report-408-related>h2, .report-408-cta h2 { color:var(--r408-navy); line-height:1.45; }
.report-408-lead h2 { margin:0 0 18px; font-size:clamp(1.45rem,3vw,2rem); }

.report-408-summary { margin-bottom:34px; }
.report-408-summary>h2 { margin:0 0 18px; font-size:1.55rem; }
.report-408-summary-grid, .report-408-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.report-408-role-grid, .report-408-compare, .report-408-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.report-408-summary-card, .report-408-role-grid>div, .report-408-product-grid a { padding:24px; border:1px solid var(--r408-line); border-radius:15px; background:#fff; }
.report-408-summary-card>span, .report-408-product-grid span { display:inline-block; margin-bottom:11px; color:var(--r408-green); font-size:.8rem; font-weight:900; }
.report-408-summary-card h3, .report-408-role-grid h3, .report-408-compare h3, .report-408-product-grid h3, .report-408-note h3, .report-408-warning h3, .report-408-support h3 { margin:0 0 8px; color:var(--r408-navy); }
.report-408-summary-card p, .report-408-role-grid p, .report-408-product-grid p { margin:0; }

.report-408-toc { padding:28px 32px; margin-bottom:42px; border-radius:18px; background:var(--r408-navy); color:#fff; }
.report-408-toc h2 { margin:0 0 16px; color:#fff; font-size:1.35rem; }
.report-408-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 28px; margin:0; padding-left:1.5em; }
.report-408-toc a { color:#fff; }

.report-408-section { padding-bottom:42px; margin-bottom:42px; border-bottom:1px solid var(--r408-line); scroll-margin-top:90px; }
.report-408-section>h2, .report-408-related>h2 { position:relative; padding:0 0 13px 18px; margin:0 0 22px; border-bottom:2px solid var(--r408-line); font-size:clamp(1.45rem,2.8vw,1.9rem); }
.report-408-section>h2::before, .report-408-related>h2::before { content:""; position:absolute; top:.22em; left:0; width:6px; height:1.1em; border-radius:999px; background:var(--r408-green); }
.report-408-section h3 { margin-top:30px; color:var(--r408-navy); }

.report-408-note, .report-408-warning, .report-408-support { padding:24px 26px; margin:26px 0 0; border-radius:15px; }
.report-408-note { border:1px solid #cbded4; background:#f8fbf9; }
.report-408-warning { border-left:6px solid #d9993d; background:#fff8ed; }
.report-408-note h3, .report-408-warning h3, .report-408-support h3 { margin-top:0; }
.report-408-note p, .report-408-warning p { margin-bottom:0; }

.report-408-table-wrap { max-width:100%; margin:24px 0; overflow-x:auto; border:1px solid var(--r408-line); border-radius:14px; background:#fff; }
.report-408-table { width:100%; min-width:760px; border-collapse:collapse; line-height:1.7; }
.report-408-table th, .report-408-table td { padding:16px 18px; border-right:1px solid var(--r408-line); border-bottom:1px solid var(--r408-line); text-align:left; vertical-align:top; }
.report-408-table thead th { background:var(--r408-navy); color:#fff; }
.report-408-table tbody th { width:23%; background:var(--r408-pale); color:var(--r408-navy); }
.report-408-table tr:last-child th, .report-408-table tr:last-child td { border-bottom:0; }
.report-408-table th:last-child, .report-408-table td:last-child { border-right:0; }

.report-408-compare { margin:24px 0 30px; }
.report-408-compare>div { padding:24px; border-radius:14px; background:var(--r408-pale); }
.report-408-compare h3 { margin-top:0; }

.report-408-check-list { padding:22px 26px 22px 46px; border-radius:14px; background:var(--r408-warm); }
.report-408-steps { padding-left:1.5em; }
.report-408-steps li { margin-bottom:10px; }

.report-408-order-check { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:24px; margin:24px 0; border-radius:14px; background:var(--r408-pale); }
.report-408-order-check label { display:flex; gap:10px; align-items:flex-start; padding:13px 14px; border-radius:9px; background:#fff; }
.report-408-order-check input { width:18px; height:18px; margin-top:.32em; accent-color:var(--r408-green); }
.report-408-formula { padding:22px 24px; margin:22px 0; border-radius:14px; background:var(--r408-warm); color:var(--r408-navy); }
.report-408-formula p { margin:0; }

.report-408-product-grid { margin:24px 0; }
.report-408-product-grid a { color:var(--r408-text); text-decoration:none; }
.report-408-product-grid a:hover { border-color:var(--r408-green); box-shadow:0 8px 22px rgba(28,69,81,.08); }

.report-408-support { display:flex; gap:24px; align-items:center; justify-content:space-between; background:var(--r408-warm); }
.report-408-button { display:inline-flex; align-items:center; justify-content:center; min-height:53px; padding:13px 22px; border:2px solid transparent; border-radius:999px; font-weight:900; text-align:center; text-decoration:none!important; transition:transform .2s ease,background-color .2s ease,color .2s ease; }
.report-408-button:hover { transform:translateY(-2px); }
.report-408-button-sub { flex:0 0 auto; background:var(--r408-navy); color:#fff!important; }

.report-408-faq details { margin-bottom:14px; overflow:hidden; border:1px solid var(--r408-line); border-radius:12px; background:#fff; }
.report-408-faq summary { position:relative; padding:19px 54px 19px 22px; color:var(--r408-navy); font-weight:800; cursor:pointer; list-style:none; }
.report-408-faq summary::-webkit-details-marker { display:none; }
.report-408-faq summary::after { content:"+"; position:absolute; top:50%; right:22px; transform:translateY(-50%); color:var(--r408-green); font-size:1.7rem; }
.report-408-faq details[open] summary::after { content:"−"; }
.report-408-faq details>div { padding:0 22px 20px; }
.report-408-faq details p { margin:0; }

.report-408-related { margin-bottom:42px; }
.report-408-related-grid a { display:grid; gap:5px; padding:20px 22px; border:1px solid var(--r408-line); border-radius:13px; background:#fff; color:var(--r408-text); text-decoration:none; }
.report-408-related-grid a:hover { border-color:var(--r408-green); box-shadow:0 8px 22px rgba(28,69,81,.08); }
.report-408-related-grid span { color:var(--r408-green); font-size:.78rem; font-weight:800; }
.report-408-related-grid strong { color:var(--r408-navy); }
.report-408-related-grid small { color:var(--r408-muted); font-size:.86rem; }
.report-408-back-link { margin:22px 0 0; text-align:right; }
.report-408-back-link a { font-weight:800; }

.report-408-cta { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr); gap:28px; align-items:center; padding:36px; margin-bottom:24px; border-radius:20px; background:var(--r408-navy); color:#fff; }
.report-408-cta h2 { margin:0 0 12px; color:#fff; font-size:clamp(1.45rem,3vw,2rem); }
.report-408-cta p { margin-bottom:0; }
.report-408-cta-label { color:#c8e3d6; }
.report-408-cta-actions { display:grid; gap:12px; }
.report-408-button-main { background:#efaa4a; color:#173241!important; }
.report-408-button-light { border-color:#fff; color:#fff!important; }
.report-408-button-light:hover { background:#fff; color:var(--r408-navy)!important; }

@media (max-width:900px) {
    .report-408-summary-grid, .report-408-product-grid { grid-template-columns:1fr; }
    .report-408-toc ol, .report-408-cta { grid-template-columns:1fr; }
}
@media (max-width:650px) {
    .report-408-page { font-size:15px; line-height:1.85; }
    .report-408-hero { margin-bottom:26px; border-radius:12px; }
    .report-408-lead { padding:25px 22px; }
    .report-408-toc { padding:23px 21px; }
    .report-408-role-grid, .report-408-compare, .report-408-order-check, .report-408-related-grid { grid-template-columns:1fr; }
    .report-408-support { display:grid; }
    .report-408-button-sub, .report-408-button { width:100%; }
    .report-408-back-link { text-align:left; }
    .report-408-cta { padding:27px 22px; }
}
@media (max-width:480px) {
    .report-408-page { font-size:14px; }
    .report-408-section>h2, .report-408-related>h2, .report-408-lead h2, .report-408-cta h2 { font-size:1.3rem; }
    .report-408-table { min-width:680px; }
}
