@charset "UTF-8";

.print-guide-450-body { background:#f6f7f8; }

.print-guide-450-page {
    --pg450-navy:#263f52;
    --pg450-red:#b95d52;
    --pg450-green:#6c8477;
    --pg450-pale:#eef3f1;
    --pg450-warm:#f6eee2;
    --pg450-line:#d9e0de;
    --pg450-text:#2e373c;
    --pg450-muted:#677277;
    color:var(--pg450-text);
    font-family:"Noto Sans JP",sans-serif;
    font-size:16px;
    line-height:1.9;
    overflow-wrap:anywhere;
}

.print-guide-450-page *,
.print-guide-450-page *::before,
.print-guide-450-page *::after { box-sizing:border-box; }

.print-guide-450-page a { color:#185d77; text-underline-offset:.2em; }
.print-guide-450-page a:hover { color:#0d4157; }
.print-guide-450-page a:focus-visible,
.print-guide-450-page summary:focus-visible,
.print-guide-450-page [tabindex]:focus-visible { outline:3px solid #e9a548; outline-offset:3px; }

.print-guide-450-page .pageTitle { margin-bottom:24px; color:var(--pg450-navy); }

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

.print-guide-450-lead { padding:34px 38px; margin-bottom:34px; border-left:6px solid var(--pg450-red); border-radius:0 18px 18px 0; background:#fff; box-shadow:0 8px 28px rgba(38,63,82,.07); }
.print-guide-450-kicker,
.print-guide-450-cta-label { margin:0 0 7px; color:var(--pg450-red); font-size:.92rem; font-weight:800; letter-spacing:.08em; }

.print-guide-450-lead h2,
.print-guide-450-summary h2,
.print-guide-450-toc h2,
.print-guide-450-section>h2,
.print-guide-450-related>h2,
.print-guide-450-cta h2 { color:var(--pg450-navy); line-height:1.45; }

.print-guide-450-lead h2 { margin:0 0 18px; font-size:clamp(1.45rem,3vw,2rem); }

.print-guide-450-summary { margin-bottom:34px; }
.print-guide-450-summary>h2 { margin:0 0 18px; font-size:1.55rem; }
.print-guide-450-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.print-guide-450-summary-card { padding:24px; border:1px solid var(--pg450-line); border-radius:15px; background:#fff; }
.print-guide-450-summary-card>span { display:inline-block; margin-bottom:10px; color:var(--pg450-red); font-size:.8rem; font-weight:900; }
.print-guide-450-summary-card h3,
.print-guide-450-problem-grid h3,
.print-guide-450-method-grid h3,
.print-guide-450-note h3,
.print-guide-450-warning h3,
.print-guide-450-steps h3,
.print-guide-450-resubmit-grid h3,
.print-guide-450-check h3,
.print-guide-450-resource-grid h3 { margin:0 0 8px; color:var(--pg450-navy); }
.print-guide-450-summary-card p,
.print-guide-450-problem-grid p,
.print-guide-450-method-grid p,
.print-guide-450-steps p,
.print-guide-450-resubmit-grid p,
.print-guide-450-resource-grid p { margin:0; }

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

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

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

.print-guide-450-note,
.print-guide-450-warning { padding:24px 26px; margin:26px 0; border-radius:15px; }
.print-guide-450-note { border:1px solid #d3ded8; background:#f8fbf9; }
.print-guide-450-warning { border-left:6px solid #d7973f; background:#fff8ed; }
.print-guide-450-note h3,
.print-guide-450-warning h3 { margin-top:0; }
.print-guide-450-note p:last-child,
.print-guide-450-warning p:last-child { margin-bottom:0; }

.print-guide-450-problem-grid,
.print-guide-450-method-grid,
.print-guide-450-resubmit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }

.print-guide-450-problem-grid>div,
.print-guide-450-method-grid>div,
.print-guide-450-resubmit-grid>div { padding:22px 24px; border-radius:14px; background:var(--pg450-pale); }

.print-guide-450-method-grid>div { position:relative; padding-top:48px; }
.print-guide-450-method-grid>div>span { position:absolute; top:18px; left:22px; color:var(--pg450-red); font-size:.8rem; font-weight:900; }

.print-guide-450-steps { display:grid; gap:15px; margin:25px 0; padding:0; list-style:none; }
.print-guide-450-steps li { display:grid; grid-template-columns:86px minmax(0,1fr); gap:18px; padding:22px 24px; border:1px solid var(--pg450-line); border-radius:14px; background:#fff; }
.print-guide-450-steps li>span { display:inline-flex; align-items:center; justify-content:center; min-height:38px; border-radius:999px; background:var(--pg450-navy); color:#fff; font-size:.78rem; font-weight:900; }

.print-guide-450-check { padding:24px; margin:26px 0; border-radius:15px; background:var(--pg450-warm); }
.print-guide-450-check>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.print-guide-450-check label { display:flex; gap:10px; align-items:flex-start; padding:12px 13px; border-radius:9px; background:#fff; }
.print-guide-450-check input { width:18px; height:18px; margin-top:.32em; accent-color:var(--pg450-red); }

.print-guide-450-resource-grid,
.print-guide-450-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }
.print-guide-450-resource-grid a,
.print-guide-450-related-grid a { padding:22px 24px; border:1px solid var(--pg450-line); border-radius:14px; background:#fff; color:var(--pg450-text); text-decoration:none; }
.print-guide-450-resource-grid a:hover,
.print-guide-450-related-grid a:hover { border-color:var(--pg450-red); box-shadow:0 8px 22px rgba(38,63,82,.08); }
.print-guide-450-resource-grid span,
.print-guide-450-related-grid span { display:inline-block; margin-bottom:9px; color:var(--pg450-red); font-size:.78rem; font-weight:800; }

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

.print-guide-450-related { margin-bottom:42px; }
.print-guide-450-related-grid a { display:grid; gap:5px; }
.print-guide-450-related-grid strong { color:var(--pg450-navy); }
.print-guide-450-related-grid small { color:var(--pg450-muted); font-size:.86rem; }
.print-guide-450-back-link { margin:22px 0 0; text-align:right; }
.print-guide-450-back-link a { font-weight:800; }

.print-guide-450-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(--pg450-navy); color:#fff; }
.print-guide-450-cta h2 { margin:0 0 12px; color:#fff; font-size:clamp(1.45rem,3vw,2rem); }
.print-guide-450-cta p { margin-bottom:0; }
.print-guide-450-cta-label { color:#e6c6c1; }
.print-guide-450-cta-actions { display:grid; gap:12px; }

.print-guide-450-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; }
.print-guide-450-button:hover { transform:translateY(-2px); }
.print-guide-450-button-main { background:#efaa4a; color:#173241!important; }
.print-guide-450-button-main:hover { background:#ffc66f; color:#173241!important; }
.print-guide-450-button-light { border-color:#fff; color:#fff!important; }
.print-guide-450-button-light:hover { background:#fff; color:var(--pg450-navy)!important; }

@media (max-width:900px) {
    .print-guide-450-summary-grid { grid-template-columns:1fr; }
    .print-guide-450-toc ol,
    .print-guide-450-cta { grid-template-columns:1fr; }
}

@media (max-width:650px) {
    .print-guide-450-page { font-size:15px; line-height:1.85; }
    .print-guide-450-hero { margin-bottom:26px; border-radius:12px; }
    .print-guide-450-lead { padding:25px 22px; }
    .print-guide-450-toc { padding:23px 21px; }
    .print-guide-450-problem-grid,
    .print-guide-450-method-grid,
    .print-guide-450-resubmit-grid,
    .print-guide-450-check>div,
    .print-guide-450-resource-grid,
    .print-guide-450-related-grid { grid-template-columns:1fr; }
    .print-guide-450-steps li { grid-template-columns:1fr; gap:12px; padding:18px; }
    .print-guide-450-steps li>span { width:86px; }
    .print-guide-450-back-link { text-align:left; }
    .print-guide-450-cta { padding:27px 22px; }
    .print-guide-450-button { width:100%; }
}

@media (max-width:480px) {
    .print-guide-450-page { font-size:14px; }
    .print-guide-450-section>h2,
    .print-guide-450-related>h2,
    .print-guide-450-lead h2,
    .print-guide-450-cta h2 { font-size:1.3rem; }
    .print-guide-450-table { min-width:700px; }
}
