:root{color-scheme:light;--navy:#10233b;--ink:#1a2735;--muted:#536170;--gold:#f4c84b;--line:#d9e0e7;--paper:#f6f8fa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}
a{color:#164b77;text-underline-offset:3px}a:focus-visible{outline:3px solid #c58c00;outline-offset:4px}.wrap{width:min(1040px,calc(100% - 36px));margin-inline:auto}
header{background:var(--navy);color:#fff}.head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0}.brand{font-weight:800;color:#fff;text-decoration:none;white-space:nowrap}nav{display:flex;flex-wrap:wrap;gap:10px 20px}nav a{color:#e3ebf2;text-decoration:none;font-size:.9rem}nav a:hover{text-decoration:underline}
.hero{background:var(--navy);color:#fff;padding:55px 0 64px}.eyebrow{color:var(--gold);font-size:.86rem;font-weight:800;letter-spacing:.08em}h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.3;letter-spacing:-.03em;margin:12px 0 18px;max-width:840px}.lead{color:#dce6ef;font-size:1.08rem;max-width:780px;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.hero .button-secondary{background:transparent;color:#fff;border:1px solid #bacddd}.hero .button-secondary:hover{background:#ffffff1a}.hero-note{color:#cbd9e7;font-size:.83rem;margin:10px 0 0}.hero-note a{color:#fff;font-weight:700}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:9px 20px;border-radius:7px;background:var(--gold);color:var(--navy);font-weight:800;text-decoration:none;line-height:1.4}.button:hover{background:#ffe17c}
main{padding:46px 0 75px}.intro{max-width:760px;margin:0 0 28px;color:var(--muted)}.section-title{font-size:1.8rem;line-height:1.4;margin:0 0 8px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0 48px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;display:block;text-decoration:none;color:var(--ink);box-shadow:0 6px 20px #10233b08}.card:hover{border-color:#8297ab;transform:translateY(-2px)}.card small{display:block;color:#526a80;font-weight:800}.card h2{font-size:1.18rem;line-height:1.5;margin:10px 0}.card p{color:var(--muted);margin:0}.card .more{display:block;color:#164b77;font-weight:800;margin-top:16px}
.article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(24px,5vw,52px);max-width:860px;margin:0 auto}.article h1{font-size:clamp(1.9rem,4vw,2.65rem);margin:10px 0 18px}.article h2{font-size:1.42rem;line-height:1.5;margin:34px 0 10px}.article h3{font-size:1.1rem;margin:23px 0 7px}.article p{margin:12px 0}.article ol,.article ul{padding-left:1.5em}.article li{margin:9px 0}.article .label{color:#516a80;font-weight:800;font-size:.88rem}.article .lead{color:#36495b}.article .byline{color:var(--muted);font-size:.9rem;margin:12px 0 24px}.example{background:#f1f5f8;border-left:4px solid #547996;padding:16px 20px;white-space:pre-wrap}.product{border-left:5px solid var(--gold);background:#f2f5f8;padding:20px 23px;margin:34px 0}.product strong{display:block;font-size:1.07rem}.product p{margin:8px 0 13px}.product a{font-weight:800}.next{border-top:1px solid var(--line);padding-top:22px;margin-top:35px}.breadcrumb{font-size:.9rem;margin-bottom:21px;color:var(--muted)}.breadcrumb a{color:#315d80}
.aside{background:#e8eef4;border-radius:12px;padding:24px 28px;margin-top:10px}.aside h2{font-size:1.4rem;margin:0 0 8px}.aside p{margin:0}.policy{font-size:.9rem;color:var(--muted);margin-top:38px}footer{background:var(--navy);color:#cfdae4;padding:28px 0;font-size:.88rem}footer p{margin:0}
.ad-disclosure{background:#fff5d8;border-left:4px solid #c58c00;padding:9px 13px;font-size:.9rem;font-weight:700}.ad-link{margin:20px 0;padding:18px;background:#f1f5f8;border-radius:8px}.ad-link p{margin:0 0 8px}.ad-link a{font-weight:800}
@media(min-width:761px){.product-choices.temple-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
.product-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:23px 0 47px}.product-choice{background:#fff;border:1px solid var(--line);border-top:5px solid var(--gold);border-radius:9px;padding:20px}.product-choice small{color:#526a80;font-weight:800}.product-choice h3{font-size:1.13rem;line-height:1.5;margin:8px 0}.product-choice p{color:var(--muted);margin:0 0 16px}.product-choice a{font-weight:800}
.choice-guide{background:#e8eef4;border-radius:9px;padding:17px 23px;margin:0 0 25px}.choice-guide h3{font-size:1.08rem;margin:0 0 6px}.choice-guide ul{margin:0;padding-left:1.4em}.choice-guide li{margin:4px 0}
.sample-figure{margin:25px 0}.sample-figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:9px}.sample-figure figcaption{color:var(--muted);font-size:.88rem;margin-top:7px}
.worksheet{background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(20px,4vw,36px);margin:24px 0}.worksheet h2{margin:0 0 12px}.worksheet table{width:100%;border-collapse:collapse}.worksheet th,.worksheet td{border:1px solid #aab9c7;padding:11px;text-align:left;vertical-align:top}.worksheet th{width:27%;background:#f1f5f8}.worksheet .blank{height:44px}.print-action{margin:18px 0 0;border:0;cursor:pointer;font:inherit}.sample-link{background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);padding:18px 22px;margin:0 0 42px}.sample-link p{margin:0}
.memo-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.memo-form label{display:block;font-weight:700}.memo-form input,.memo-form select,.memo-form textarea,.memo-output{display:block;width:100%;margin-top:5px;border:1px solid #8297ab;border-radius:6px;background:#fff;color:var(--ink);font:inherit;padding:9px 11px}.memo-form textarea{min-height:80px}.memo-wide{grid-column:1/-1}.memo-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.memo-actions button{border:0;cursor:pointer;font:inherit}.memo-output{min-height:230px;white-space:pre-wrap}.memo-note{font-size:.9rem;color:var(--muted)}
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.head{align-items:flex-start;flex-direction:column}.cards,.product-choices,.memo-form{grid-template-columns:1fr}.hero{padding:43px 0 51px}.article{padding:25px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card:hover{transform:none}}

.digital-products{border-top:1px solid var(--line);padding-top:34px;margin:0 0 46px}.genre-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.genre-entry{display:flex;flex-direction:column;gap:10px;background:var(--navy);color:#fff;border-radius:9px;padding:22px;text-decoration:none}.genre-entry strong{font-size:1.12rem;line-height:1.5}.genre-entry span{font-size:.92rem;color:#dce6ef}.genre-entry .more{color:var(--gold);font-weight:800;margin-top:auto}.genre-entry:hover{background:#203d5b}.digital-group{margin-top:38px}.digital-group h3{font-size:1.4rem;line-height:1.5;scroll-margin-top:24px;margin:0 0 12px}.digital-group>p{color:var(--muted);margin:8px 0}.digital-spec{background:#e8eef4;border-radius:8px;padding:15px 18px}.digital-card h4{font-size:1.13rem;line-height:1.5;margin:8px 0}.digital-card{display:flex;flex-direction:column}.digital-card a{margin-top:auto}.digital-group .product-choices{margin-bottom:14px}.digital-note{font-size:.9rem;color:var(--muted)}.digital-back{font-size:.9rem}#digital-products-title{scroll-margin-top:24px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.genre-entries{grid-template-columns:1fr}.genre-entry{padding:20px}.digital-card a{min-height:44px;display:flex;align-items:center}.digital-products .product-choices{gap:14px}}

@media print{header,footer,.breadcrumb,.product,.print-action,.next,.print-hide,.memo-tool{display:none!important}body{background:#fff;color:#000;font-size:12pt}main{padding:0}.article{border:0;padding:0;max-width:none}.worksheet{border:0;padding:0;margin:0}.worksheet th,.worksheet td{border-color:#555}.worksheet th{background:#fff}.worksheet .blank{height:55px}}
