:root{--ib-purple:#6a1b9a;--ib-soft:#f5eef9;--ib-ink:#2f2634}body{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ib-ink);font-size:18px;line-height:1.85;background:#fff}*{box-sizing:border-box}.ib-main{max-width:960px;margin:0 auto;padding:28px 24px 64px}.ib-main h1{font-size:clamp(28px,5vw,42px);line-height:1.4;margin:12px 0 22px}.ib-main h2{font-size:26px;line-height:1.5;margin:38px 0 16px}.ib-main h3{font-size:21px}.ib-main a{color:#621b83;text-underline-offset:4px}.ib-kicker{font-size:16px;color:#634573;font-weight:700}.ib-lead{font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.65}.ib-hero{padding:30px;border-radius:20px;background:linear-gradient(130deg,#f7effa,#edf7f3);border:1px solid #e5d9eb}.ib-hero h1{margin-top:0}.ib-main section{margin-bottom:30px}.ib-box,.ib-intro{background:#faf7fc;border:1px solid #e2d4e9;padding:22px;border-radius:14px}.ib-box h2,.ib-intro h2{margin-top:0}.ib-btn,.ib-main button{display:inline-block;border:2px solid #762795;border-radius:9px;padding:10px 16px;min-height:46px;background:#fff;color:#571574;font:inherit;font-size:17px;font-weight:700;text-decoration:none;cursor:pointer;margin:5px 3px 5px 0}.ib-primary{background:#6a1b9a;color:#fff!important}.ib-main a:focus-visible,.ib-main summary:focus-visible,.ib-main button:focus-visible,.ib-main select:focus-visible,.ib-main textarea:focus-visible{outline:3px solid #207b66;outline-offset:4px}.ib-main button:hover,.ib-btn:hover{background:#efe2f6}.ib-primary:hover{background:#4d106c}.ib-cards{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.ib-cards li{margin:0;min-width:0}.ib-cards a{height:100%;display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid #dcc9e5;border-radius:12px;background:#fff;text-decoration:none;color:var(--ib-ink)}.ib-cards a:hover{background:#f9f3fc;border-color:#6a1b9a}.ib-cards strong{font-size:21px;color:#581879}.ib-cards span{font-size:17px}.ib-main details{margin:18px 0;border:1px solid #d9c7e2;border-radius:10px;background:white;padding:0 18px}.ib-main summary{padding:14px 0;font-weight:700;cursor:pointer;font-size:18px}.ib-main details[open]{padding-bottom:18px}.ib-figure{margin:16px auto;max-width:490px}.ib-figure svg{width:100%;height:auto;display:block}.ib-figure figcaption,.ib-note{font-size:16px;color:#594e61}.ib-equation{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;padding:18px;background:#f6f1f9;border-radius:10px;font-size:23px}.ib-question-math{padding:26px}.ib-main math{font-family:"Yu Gothic",Meiryo,sans-serif;font-size:1.12em;max-width:100%}.ib-problems{padding-left:25px}.ib-problems li{margin:10px 0;padding-left:5px}.ib-problems a{display:flex;flex-wrap:wrap;align-items:center;gap:15px;padding:15px;border-bottom:1px solid #e8ddee;text-decoration:none}.ib-problems a:hover{background:#faf4fc}.ib-saved{font-size:16px;color:#4e3b5b}.ib-tip{border-left:5px solid #c47a16;background:#fff8e9;padding:20px;margin:28px 0}.ib-tip p{margin:6px 0}.ib-chips{display:flex;flex-wrap:wrap;gap:9px}.ib-chips a{padding:6px 12px;border:1px solid #ddd1e3;border-radius:7px;font-size:16px}.ib-steps{padding-left:28px}.ib-steps li{padding:8px 0;font-size:22px}.ib-main textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #887593;border-radius:8px;font:inherit;font-size:18px;resize:vertical;min-height:120px}.ib-actions{display:flex;flex-wrap:wrap}.ib-record{padding:18px;background:#f6f8f5;border-radius:12px}.ib-record h2{margin-top:0}.ib-main button[aria-pressed=true]{background:#e2f0e8;border-color:#237048;color:#174c32}.ib-next{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:30px}.ib-status{min-height:1.8em}.ib-print-controls{padding:16px;border:1px solid #d9c7e2;border-radius:10px}.ib-main select{font:inherit;font-size:17px;max-width:100%;padding:10px;margin:8px}.ib-writing-space{height:70px;border-bottom:1px dashed #bbb}.ib-sheet li{break-inside:avoid;padding:8px 0}.ib-sheet{break-before:page}.ib-formulas{list-style:none;padding:0}.ib-formulas li{margin:15px 0} [hidden]{display:none!important}body[data-print-mode=questions] .ib-answer-key{display:none}body[data-print-mode=answers] .ib-worksheet-questions{display:none}
@media(max-width:600px){.ib-main{padding:20px 16px 40px}.ib-cards{grid-template-columns:1fr}.ib-hero,.ib-box,.ib-intro{padding:20px}.ib-main h2{font-size:24px}.ib-equation{font-size:20px;padding:14px}.ib-problems a{gap:10px}.ib-actions button{width:100%}.ib-next .ib-btn{font-size:16px;padding:9px 12px}.ib-cards a{padding:18px}.ib-steps li{font-size:20px}}
@media print{@page{size:A4;margin:15mm}header,footer,body>nav,body>section,.breadcrumb,.skip-link,.ib-no-print,.ib-print-controls,.ib-next{display:none!important}body{font-size:11pt;background:#fff;color:#111;line-height:1.6}.ib-main{width:100%;max-width:none;padding:0}.ib-main h1{font-size:22pt}.ib-main h2{font-size:17pt;margin:0 0 10px}.ib-main h3{font-size:15pt}.ib-equation{background:#fff;padding:5px;font-size:15pt}.ib-main p{margin:5px 0}.ib-main section{margin-bottom:10px}.ib-sheet>ol{padding-left:23px}.ib-sheet li{padding:4px 0}.ib-writing-space{height:48px}.ib-main math{font-size:1.05em}.ib-answer-key>h2{break-before:page}.ib-sheet{break-before:page}.ib-main a{color:inherit;text-decoration:none}}

.ib-main math mi,.ib-main math mn,.ib-main math mo{font-family:"Yu Gothic",Meiryo,sans-serif;font-style:normal}
@media screen and (max-width:400px){.ib-steps li{font-size:16px}}
body:has(.ib-main){margin:0}
body:has(.ib-main)>.skip-link{position:absolute;left:16px;top:0;transform:translateY(-120%);z-index:100;background:#fff;padding:10px;border:2px solid #6a1b9a}
body:has(.ib-main)>.skip-link:focus{transform:translateY(0)}
body:has(.ib-main)>.breadcrumb{max-width:960px;margin:0 auto;padding:16px 24px 0;font-size:16px;line-height:1.6}
body:has(.ib-main)>.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;padding:0;margin:0}
body:has(.ib-main)>.breadcrumb li+li:before{content:'›';margin-right:8px;color:#756680}
body:has(.ib-main)>.breadcrumb a{color:#621b83;text-underline-offset:3px}
