:root{
  --ink:#16171d;
  --paper:#fbfaf7;
  --icho:#b1922f;      
  --icho-soft:#efe6c8;
  --asagi:#5f95a8;     
  --grey:#63646b;
  --line:#e4e1d8;
}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.9;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}.serif{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}header{
  position:sticky;top:0;z-index:50;
  background:rgba(251,250,247,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}.nav{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-weight:700;font-size:1.15rem;letter-spacing:.14em;display:flex;align-items:center;gap:.6em}.logo svg{width:22px;height:22px;flex:none}.nav-links{display:flex;gap:2em;font-size:.85rem;letter-spacing:.08em}.nav-links a{color:var(--ink);text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--icho)}.nav-cta{
  background:var(--ink);color:#fff;text-decoration:none;
  padding:.55em 1.4em;font-size:.85rem;letter-spacing:.12em;
  transition:background .2s;
}.nav-cta:hover,.nav-cta:focus-visible{background:var(--icho)}.nav-line{
  display:inline-flex;align-items:center;gap:.45em;
  background:#06C755;color:#fff;text-decoration:none;
  padding:.55em 1.3em;font-size:.85rem;letter-spacing:.08em;
  transition:background .2s;margin-left:.7em;
}.nav-line:hover,.nav-line:focus-visible{background:#05a648}.nav-line svg{width:16px;height:16px;flex:none}.btn-line{
  display:inline-flex;align-items:center;gap:.5em;
  background:#06C755;color:#fff;text-decoration:none;
  letter-spacing:.14em;font-size:.9rem;padding:.85em 2.2em;transition:.2s;
}.btn-line:hover,.btn-line:focus-visible{background:#05a648}.btn-line svg{width:18px;height:18px;flex:none}@media(max-width:760px){.nav-links{display:none}}@media(max-width:480px){
  .nav-cta{padding:.5em .9em;font-size:.78rem}
  .nav-line{padding:.5em .9em;font-size:.78rem;margin-left:.4em}
  .logo{font-size:.95rem}
}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,460px);
  gap:48px;align-items:stretch;padding:72px 0 80px;
}.hero-left{display:flex;gap:40px;align-items:flex-start}.tate{
  writing-mode:vertical-rl;
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;
  font-weight:600;
  font-size:clamp(2rem,4.2vw,3.1rem);
  letter-spacing:.28em;
  line-height:1.55;
  height:auto;
  color:var(--ink);
}.tate em{font-style:normal;color:var(--icho)}.hero-body{padding-top:.4em;max-width:34em}.eyebrow{
  display:inline-flex;align-items:center;gap:.7em;
  font-size:.78rem;letter-spacing:.24em;color:var(--asagi);font-weight:700;
  margin-bottom:1.2em;
}.eyebrow::before{content:"";width:2.4em;height:1px;background:var(--asagi)}.hero-body p{color:var(--grey);font-size:.95rem;margin-bottom:1.4em}.hero-badges{display:flex;flex-wrap:wrap;gap:.6em;margin:1.6em 0 2em}.badge{
  border:1px solid var(--line);background:#fff;
  font-size:.78rem;letter-spacing:.06em;padding:.35em 1em;color:var(--ink);
}.badge b{color:var(--icho);font-weight:700}.hero-actions{display:flex;gap:1em;flex-wrap:wrap}.btn{
  display:inline-block;text-decoration:none;letter-spacing:.14em;
  font-size:.9rem;padding:.85em 2.2em;transition:.2s;
}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover,.btn-primary:focus-visible{background:var(--icho)}.btn-ghost{border:1px solid var(--ink);color:var(--ink)}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--icho);color:var(--icho)}.hero-photo{position:relative;min-height:420px}.hero-photo img{
  width:100%;height:100%;object-fit:cover;object-position:50% 22%;
  display:block;filter:saturate(.96);
}.hero-photo::after{
  content:"東京大学 卒業式にて";
  position:absolute;right:12px;bottom:12px;
  background:rgba(22,23,29,.72);color:#fff;
  font-size:.7rem;letter-spacing:.18em;padding:.4em 1em;
}.icho-mark{
  position:absolute;left:-70px;bottom:-70px;width:260px;height:260px;
  opacity:.07;pointer-events:none;
}@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr;padding:48px 0 56px}
  .hero-left{gap:24px}
  .tate{font-size:1.7rem;letter-spacing:.2em}
  .hero-photo{min-height:340px;order:-1}
}.stats{background:var(--ink);color:var(--paper)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#2c2d35}.stat{background:var(--ink);padding:34px 20px;text-align:center}.stat .num{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-size:2rem;font-weight:600;color:var(--icho-soft);letter-spacing:.04em}.stat .num small{font-size:.55em;margin-left:.15em}.stat .lab{font-size:.75rem;letter-spacing:.16em;color:#a9aab2;margin-top:.4em}@media(max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr)}}section{padding:88px 0}.sec-head{margin-bottom:48px}.sec-head .eyebrow{color:var(--icho)}.sec-head .eyebrow::before{background:var(--icho)}h2{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-weight:600;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:.1em}.lead{color:var(--grey);font-size:.95rem;max-width:38em;margin-top:1em}.policy{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.policy-card{border-top:2px solid var(--icho);padding-top:1.4em}.policy-card h3{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-size:1.1rem;letter-spacing:.1em;margin-bottom:.7em}.policy-card p{font-size:.9rem;color:var(--grey)}@media(max-width:760px){.policy{grid-template-columns:1fr}}.subjects{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.subj-table{width:100%;border-collapse:collapse;font-size:.92rem}.subj-table th,.subj-table td{padding:1em 1.2em;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.subj-table th{width:11em;font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;letter-spacing:.1em;font-weight:600;white-space:nowrap}.subj-table td{color:var(--grey)}.note{font-size:.8rem;color:var(--grey);margin-top:1.2em}.note b{color:var(--ink)}.voices{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.voice-card{border-top:2px solid var(--icho);padding-top:1.4em;display:flex;flex-direction:column;height:100%}.voice-badge{
  display:inline-block;align-self:flex-start;background:var(--icho-soft);color:var(--icho);
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-weight:600;font-size:.82rem;
  padding:.4em 1em;margin-bottom:1em;letter-spacing:.04em;
}.voice-quote{font-size:.92rem;color:var(--ink);line-height:1.9;margin-bottom:1.2em;flex-grow:1}.voice-quote::before{content:"“";color:var(--icho);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-size:1.3em;line-height:0;vertical-align:-.1em}.voice-who{font-size:.78rem;color:var(--grey);margin-bottom:1em}.voice-comment{
  font-size:.82rem;color:var(--grey);background:var(--paper);
  border-left:2px solid var(--asagi);padding:.8em 1em;
}.voice-comment b{color:var(--ink)}@media(max-width:900px){.voice-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}}.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:start}.plan-card{
  background:#fff;border:1px solid var(--line);padding:36px 28px;
  position:relative;transition:.2s;
}.plan-card.featured{
  border:2px solid var(--icho);padding-top:44px;
  box-shadow:0 12px 32px rgba(177,146,47,.14);
}.plan-badge{
  position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);
  background:var(--icho);color:#fff;font-size:.72rem;letter-spacing:.12em;
  padding:.45em 1.2em;white-space:nowrap;
}.plan-name{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-size:1.25rem;font-weight:600;letter-spacing:.06em;margin-bottom:.6em}.plan-desc{font-size:.83rem;color:var(--grey);min-height:3.4em;margin-bottom:1.4em}.plan-price{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-weight:600;color:var(--ink);line-height:1.2;margin-bottom:.3em}.plan-price .yen{font-size:.42em;color:var(--icho);margin-right:.05em}.plan-price .num{font-size:2.3rem}.plan-price .unit{font-size:.42em;color:var(--grey);letter-spacing:.06em;margin-left:.15em}.plan-sub{font-size:.76rem;color:var(--grey);margin-bottom:1.5em}.plan-meta{
  background:var(--paper);border:1px solid var(--line);padding:1.1em 1.3em;
  font-size:.85rem;margin-bottom:1.6em;
}.plan-meta .row{display:flex;justify-content:space-between;padding:.35em 0}.plan-meta .row b{color:var(--ink);font-weight:600}.plan-meta .plus{text-align:center;color:var(--icho);font-size:.8rem;padding:.1em 0}.plan-features{list-style:none;font-size:.83rem;color:var(--ink);margin-bottom:1.8em}.plan-features li{display:flex;gap:.6em;padding:.4em 0;border-top:1px solid var(--line)}.plan-features li:first-child{border-top:none}.plan-features li::before{content:"✓";color:var(--icho);flex:none;font-weight:700}.plan-cta{
  display:block;text-align:center;text-decoration:none;
  padding:.85em 1em;font-size:.86rem;letter-spacing:.08em;
  border:1px solid var(--ink);color:var(--ink);transition:.2s;
}.plan-card.featured .plan-cta{background:var(--icho);border-color:var(--icho);color:#fff}.plan-cta:hover,.plan-cta:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}.plan-card.featured .plan-cta:hover,.plan-card.featured .plan-cta:focus-visible{background:var(--icho-soft);color:var(--ink)}.plans-note{font-size:.8rem;color:var(--grey);margin-top:1.6em;max-width:44em}.plans-note b{color:var(--ink)}@media(max-width:1100px){.plans{grid-template-columns:repeat(2,1fr);max-width:640px;margin:0 auto}}@media(max-width:600px){.plans{grid-template-columns:1fr;max-width:420px}}.flow{counter-reset:step}.flow-item{
  display:grid;grid-template-columns:5em 1fr;gap:24px;
  padding:1.8em 0;border-bottom:1px solid var(--line);
}.flow-item:first-child{border-top:1px solid var(--line)}.flow-num{
  counter-increment:step;
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-size:1.6rem;color:var(--icho);
}.flow-num::before{content:"0" counter(step)}.flow-item h3{font-size:1rem;letter-spacing:.08em;margin-bottom:.3em}.flow-item p{font-size:.88rem;color:var(--grey)}.sample{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.problem-box{
  background:var(--paper);border:1px solid var(--line);
  padding:1.6em 2em;margin-bottom:2.4em;font-size:.95rem;
}.problem-box .tag{
  display:inline-block;background:var(--ink);color:#fff;
  font-size:.7rem;letter-spacing:.18em;padding:.3em 1em;margin-bottom:1em;
}.math{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-style:italic}.kaisetsu{display:grid;grid-template-columns:1fr 1fr;gap:40px}.kaisetsu h3{
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-size:1.05rem;letter-spacing:.1em;
  border-left:3px solid var(--icho);padding-left:.8em;margin-bottom:1em;
}.kaisetsu ol{padding-left:1.4em;font-size:.9rem;color:var(--grey)}.kaisetsu ol li{margin-bottom:1em}.kaisetsu ol li b{color:var(--ink)}.kaisetsu .steps{font-size:.9rem;color:var(--grey)}.kaisetsu .steps p{margin-bottom:.9em}.kaisetsu .ans{
  background:var(--icho-soft);padding:1em 1.4em;font-size:.95rem;color:var(--ink);
  font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;margin-top:.4em;
}.sample-note{
  margin-top:2.4em;padding-top:1.6em;border-top:1px solid var(--line);
  font-size:.88rem;color:var(--grey);max-width:44em;
}.sample-note b{color:var(--ink)}@media(max-width:760px){.kaisetsu{grid-template-columns:1fr}}.faq-item{border-bottom:1px solid var(--line);padding:1.6em 0}.faq-item:first-of-type{border-top:1px solid var(--line)}.faq-item h3{
  font-size:1rem;letter-spacing:.06em;display:flex;gap:.9em;margin-bottom:.5em;
}.faq-item h3::before{content:"Q";color:var(--icho);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;flex:none}.faq-item p{font-size:.9rem;color:var(--grey);display:flex;gap:.9em}.faq-item p::before{content:"A";color:var(--asagi);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-weight:600;flex:none}.contact{background:var(--ink);color:var(--paper);text-align:center}.contact h2{color:var(--paper)}.contact .lead{color:#a9aab2;margin:1em auto 2.4em}.contact .btn-primary{background:var(--icho);color:var(--ink);font-weight:700}.contact .btn-primary:hover,.contact .btn-primary:focus-visible{background:var(--icho-soft)}footer{background:var(--ink);color:#7c7d85;font-size:.75rem;letter-spacing:.1em;text-align:center;padding:28px 0;border-top:1px solid #2c2d35}:focus-visible{outline:2px solid var(--asagi);outline-offset:2px}.hero-title{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-size:clamp(1.3rem,2.25vw,1.8rem);line-height:1.65;letter-spacing:.025em;margin-bottom:1em}.hero-left{min-width:0}.hero-body{min-width:0}.tate{flex-shrink:0}.hero-photo img{aspect-ratio:3/4}.hero-photo picture{display:block;height:100%}.logo{color:var(--ink);text-decoration:none;white-space:nowrap}.nav{gap:12px}.nav-links{gap:1em}.nav-cta,.nav-line{white-space:nowrap;flex-shrink:0}.nav-line{margin-left:0}.skip-link{position:absolute;left:16px;top:-100px;background:#fff;color:var(--ink);padding:10px 18px;z-index:100}.skip-link:focus{top:8px}[id]{scroll-margin-top:88px}.service-link{display:inline-block;color:#785e12;margin-top:1em;text-underline-offset:4px;font-weight:700}.guide-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.guide-card{border-top:2px solid var(--icho);padding-top:20px}.guide-card h3{font-size:1.15rem;margin-bottom:12px;line-height:1.6}.guide-card p{font-size:1rem;color:var(--grey)}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin-bottom:18px}.footer-links a{font-size:.9rem;color:#dddcd7;text-underline-offset:4px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:.6em;list-style:none;font-size:.9rem;margin-bottom:28px;color:var(--grey)}.breadcrumbs a{color:var(--ink)}.detail{max-width:840px;margin:auto;padding:44px 24px 72px}.detail h1{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,Georgia,serif;font-size:clamp(1.9rem,4.5vw,2.8rem);line-height:1.5;margin:16px 0 24px;letter-spacing:.035em}.detail .intro{font-size:1.08rem;color:var(--grey)}.detail .byline{font-size:.9rem;color:var(--grey);margin:20px 0 28px}.detail section{padding:32px 0;border-top:1px solid var(--line)}.detail h2{font-size:1.55rem;line-height:1.65;margin-bottom:20px;letter-spacing:.025em}.detail h3{font-size:1.1rem;margin:24px 0 10px}.detail p{margin:12px 0}.detail ul,.detail ol{padding-left:1.4em;margin:16px 0}.detail li{margin:10px 0}.detail a:not(.btn){color:#785e12;text-underline-offset:4px}.detail .example{background:#fff;border-left:3px solid var(--asagi);padding:18px 22px;margin:24px 0}.detail .example p:first-child{margin-top:0}.detail .example p:last-child{margin-bottom:0}.detail .jump-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0 36px}.detail .cta-box{background:var(--ink);color:var(--paper);padding:28px;margin:32px 0}.detail .cta-box h2{color:var(--paper)}.detail .cta-box p{color:#e0ded6}.detail .cta-box a{color:white}@media(max-width:1060px){.nav-links{display:none}}@media(max-width:760px){.guide-links{grid-template-columns:1fr}.hero-photo{min-height:0;aspect-ratio:3/4;max-height:560px}.hero-photo img{height:100%}}@media(max-width:480px){.wrap{padding-left:18px;padding-right:18px}.hero-left{gap:16px}.tate{font-size:1.35rem;letter-spacing:.12em}.hero-title{font-size:1.3rem}.nav{gap:8px}.nav-line{padding:.5em .75em}.subj-table th,.subj-table td{padding:.8em .55em}.subj-table th{width:auto;white-space:normal}.detail{padding-left:20px;padding-right:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.mobile-menu{display:none}.mobile-menu summary{cursor:pointer;padding:10px 0;font-size:.9rem;color:var(--ink)}.mobile-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:6px 0 18px;max-height:65vh;overflow:auto}.mobile-menu a{color:var(--ink);font-size:.9rem;text-underline-offset:3px}.resource-list{display:grid;gap:24px;margin:24px 0}.resource-card{border:1px solid var(--line);padding:24px;background:#fff}.resource-card h2,.resource-card h3{margin:0 0 12px;font-size:1.25rem;line-height:1.65}.resource-card p{margin:10px 0;font-size:1rem}.resource-card a{color:#785e12;text-underline-offset:4px}.resource-label{color:var(--grey);font-size:.9rem}.table-scroll{overflow-x:auto;margin:24px 0}.guide-table{border-collapse:collapse;width:100%;font-size:.95rem;background:white}.guide-table th,.guide-table td{border:1px solid var(--line);padding:14px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.guide-table th{background:#efe6c8;color:var(--ink)}.answer-box{border-top:3px solid var(--icho);background:white;padding:22px;margin:28px 0}.answer-box p{margin:0}.profile-layout{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:start;margin:28px 0}.profile-layout img{width:100%;height:auto;display:block}.profile-layout dl{margin:0}.profile-layout dt{font-weight:700}.profile-layout dd{margin:0 0 14px}.calculator{background:white;border:1px solid var(--line);padding:24px;margin:24px 0}.calculator label{display:block;margin:14px 0;font-size:1rem}.calculator input{display:block;margin-top:6px;padding:10px;border:1px solid #8b8b8b;font:inherit;width:100%;max-width:200px}.calculator output{display:block;font-weight:700;line-height:1.9;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.worksheet textarea{display:block;width:100%;min-height:72px;border:1px solid #8b8b8b;font:inherit;padding:10px;resize:vertical;background:white;color:var(--ink)}.worksheet label{display:block;margin:20px 0}.print-button{font:inherit;padding:10px 20px;background:var(--ink);color:white;border:0;cursor:pointer;margin:18px 0}.detail .toc{padding:18px 22px;background:#efe6c8;margin:30px 0}.detail .toc ol{margin-bottom:0}.detail .toc a{color:var(--ink)}.detail .updated{font-size:.9rem;color:var(--grey)}@media(max-width:1060px){.mobile-menu{display:block}[id]{scroll-margin-top:132px}}@media(max-width:760px){.hero-photo{order:0}.hero-grid{padding-top:32px}.guide-table{font-size:.875rem}.guide-table th,.guide-table td{padding:9px}.profile-layout{grid-template-columns:1fr}.profile-layout img{max-width:220px}}@media print{header,footer,.skip-link,.cta-box,.jump-links,.toc,.breadcrumbs,.print-button,.calculator{display:none!important}.detail{max-width:none;padding:0}body{background:white;color:black;font-size:11pt}.detail section{padding:16px 0}.worksheet label{break-inside:avoid}.worksheet textarea{min-height:80px;font-size:11pt}a{color:black!important;text-decoration:none}.detail h1{font-size:22pt}.detail h2{font-size:16pt}}.homework-task{border:1px solid var(--line);padding:20px;margin:24px 0;background:#fff}.homework-task legend{font-weight:700;padding:0 8px}.homework-sheet input{width:100%;padding:10px;border:1px solid #aaa;border-radius:0;font:inherit;background:white;color:var(--ink)}.homework-times{display:grid;grid-template-columns:1fr 1fr;gap:16px}.homework-sheet output{display:block;background:#efe6c8;padding:18px;font-weight:700;line-height:1.8}.homework-sheet textarea{resize:vertical}details.answer-box p+p{margin-top:1em}@media print{body:has(.homework-sheet) main>:not(section){display:none!important}body:has(.homework-sheet) main>section:not(:has(.homework-sheet)){display:none!important}.homework-task{break-inside:avoid;padding:10px;margin:12px 0}.homework-sheet textarea{overflow:visible}.homework-sheet input{padding:5px}.homework-sheet .print-button{display:none!important}}body{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}.serif,.logo{font-family:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif}:focus-visible{outline:3px solid var(--asagi);outline-offset:4px}.detail a,.learn-links a,.site-index a{text-underline-offset:.2em}.byline,.editorial-note{color:var(--grey);font-size:.85rem;line-height:1.8}.editorial-note{padding:1rem 1.2rem;border-left:3px solid var(--line);background:#fff;margin:1.5rem 0}.practice-card{padding:1.5rem;border:1px solid var(--line);background:#fff;margin:1.5rem 0;border-radius:8px}.practice-answer{border-top:1px solid var(--line);margin:1.2rem 0;padding-top:.8rem}.practice-answer summary{cursor:pointer;font-weight:700;padding:.4rem 0;color:var(--ink)}.practice-answer[open] summary{margin-bottom:1rem}.practice-answer h4{font-size:1.05rem;margin:1.5rem 0 .6rem}.math-block{font-family:ui-monospace,monospace;font-size:1.1rem;background:var(--paper);padding:1rem;border-left:3px solid var(--icho);overflow-wrap:anywhere}.math-inline{font-variant-numeric:lining-nums;overflow-wrap:anywhere}.review-workspace{border:1px solid var(--line);padding:1.4rem;border-radius:8px;background:#fff}.review-label,.review-row label{display:block;font-size:.92rem;font-weight:600;margin-bottom:1rem}.review-workspace input,.review-workspace textarea,.review-workspace select{display:block;width:100%;max-width:100%;padding:.7rem .8rem;font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:var(--paper);border:1px solid #a3a09b;border-radius:4px;line-height:1.65;margin-top:.35rem}.review-workspace textarea{resize:vertical;min-height:6rem}.review-row{min-width:0;margin:1.5rem 0;padding:1.2rem;border:1px solid var(--line);border-radius:5px}.review-row legend{font-weight:700;padding:0 .5rem}.review-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.review-button{font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;padding:.8rem 1rem;border:1px solid var(--ink);color:var(--paper);background:var(--ink);border-radius:4px;white-space:normal;min-height:44px}.review-button.secondary{background:var(--paper);color:var(--ink)}.review-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.review-summary{display:block;white-space:pre-wrap;overflow-wrap:anywhere;padding:1rem;border-left:3px solid var(--icho);background:var(--paper);margin:1.2rem 0}.review-workspace [aria-invalid=true]{border:2px solid #9b2525}.learn-links{padding:1.3rem 0;border-top:1px solid var(--line)}.learn-links ul{padding-left:1.3rem;margin:.7rem 0}.learn-links li{margin:.55rem 0}.review-workspace>*{max-width:100%}.print-value{display:none}.site-index section{padding:1.4rem 0}.site-index li{margin:.65rem 0}@media(max-width:600px){.review-workspace{padding:1rem}.review-row{padding:.85rem}.practice-card{padding:1.1rem}.review-score-grid{gap:.6rem}.math-block{font-size:1rem}.review-actions{display:grid;grid-template-columns:1fr}.byline{line-height:2}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}@media print{
 body:has(#review-workspace) main>:not(#review-sheet-section):not(h1){display:none!important}
 .practice-answer:not([open])>*:not(summary){display:block!important}
 .practice-answer summary{display:none}
 .review-button,.review-actions,.review-workspace noscript{display:none!important}
 .review-workspace,.review-row{border:1px solid #999;background:#fff;padding:10pt}
 .review-row{break-inside:avoid;page-break-inside:avoid}
 .review-workspace{break-inside:auto}
 .print-value{display:block!important;white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.8em;padding:4pt;font-size:11pt;font-weight:400;border:1px solid #aaa}
 .print-field-original{display:none!important}
 .review-summary{white-space:pre-wrap;font-size:10pt}
 .review-score-grid{display:grid;grid-template-columns:1fr 1fr}
 .detail{max-width:none!important}
 .editorial-note{font-size:9pt}
}html{scroll-padding-top:6rem}body{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif}:focus-visible{outline:3px solid #38616c;outline-offset:4px}a{text-underline-offset:.2em}.summary-box{background:var(--icho-soft,#efe6c8);border-left:4px solid var(--icho,#b1922f);padding:1.3rem 1.5rem;margin:1.7rem 0}.summary-box p:last-child{margin-bottom:0}.r6-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.table-scroll{max-width:100%;overflow-x:auto;margin:1.2rem 0}.r6-table{border-collapse:collapse;width:100%;min-width:600px;font-size:.94rem}.r6-table caption{text-align:left;font-weight:700;margin-bottom:.6rem}.r6-table th,.r6-table td{padding:.9rem 1rem;vertical-align:top;text-align:left;border:1px solid var(--line,#e4e1d8)}.r6-table thead{background:var(--icho-soft,#efe6c8)}.fine-print,.detail .fine-print{color:#53545b;font-size:.91rem;line-height:1.85}.r6-faq{padding:1rem 0;border-bottom:1px solid var(--line,#e4e1d8)}.r6-faq summary{cursor:pointer;font-weight:700;padding:.2rem 0}.r6-faq p{margin:.8rem 0 0}.r6-steps{padding-left:1.6rem}.r6-steps>li{padding-left:.4rem;margin:1.2rem 0}.r6-steps h3{margin-top:0}.r6-form{padding:1.5rem;border:1px solid var(--line,#e4e1d8)}.r6-form label{display:block;margin-bottom:1rem;font-weight:700}.r6-form input,.r6-form textarea,.r6-form select{display:block;width:100%;max-width:100%;padding:.7rem;margin-top:.4rem;border:1px solid #898a91;border-radius:0;font:inherit;font-weight:400;background:white;color:var(--ink,#16171d)}.r6-form textarea{resize:vertical}.r6-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.r6-actions button,#run-check{min-height:44px;cursor:pointer;font:inherit;border:1px solid var(--ink,#16171d);padding:.65rem 1rem}.r6-actions .btn-dark{background:var(--ink,#16171d);color:#fff}#consult-status,#check-status{min-height:1.9rem;overflow-wrap:anywhere}.release-marker{display:block;font-size:.78rem;margin-top:.6rem;letter-spacing:0;color:#53545b}.check-pass{color:#23553d}.check-fail{color:#a52222;font-weight:700}#check-results li{margin:.8rem 0;overflow-wrap:anywhere}.version-info{overflow-wrap:anywhere}@media(max-width:760px){.r6-grid{grid-template-columns:1fr}.r6-form,.summary-box{padding:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}@media print{.table-scroll{overflow:visible}.r6-table{min-width:0;font-size:9pt}.r6-table th,.r6-table td{padding:5pt}.r6-grid{display:block}.r6-actions,.release-marker{display:none}.r6-form{border:0;padding:0}}.r7-example-label{font-size:.9rem!important;line-height:1.85;color:#555449;border-left:3px solid var(--icho,#b1922f);padding:.7rem 1rem;background:#f6f4ed}.r7-example{padding:1.25rem 1.5rem;margin:1.2rem 0;background:#f4f6f7;border:1px solid var(--line,#e4e1d8)}.r7-example p[lang=en]{font-size:1.08rem;line-height:1.85}.r7-agenda{padding-left:1.6rem}.r7-agenda>li{margin:1.3rem 0;padding-left:.35rem}.r7-agenda p{margin:.35rem 0 0}.r7-toc{border:1px solid var(--line,#e4e1d8);background:#f9f8f3;padding:1.2rem 1.4rem;margin:1.8rem 0}.r7-toc ul{margin:.6rem 0 0;padding-left:1.25rem}.r7-toc li{padding:.22rem 0}.r7-toc a{text-decoration:underline;text-underline-offset:.2em}.r7-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.r7-resource-grid article{padding:1.2rem;border:1px solid var(--line,#e4e1d8);min-width:0}.r7-resource-grid h3{margin:0 0 .8rem!important;font-size:1.07rem;line-height:1.65}.r7-resource-grid p{font-size:.96rem}.r7-resource-grid a{font-weight:700;display:inline-block;text-decoration:underline;text-underline-offset:.2em;line-height:1.9}.r7-home-route{border-top:1px solid var(--line,#e4e1d8);padding-top:1.5rem;margin-top:2rem}.r7-home-route p{line-height:2.1}.r7-home-route a{text-decoration:underline;text-underline-offset:.2em}.r7-content [lang=en]{overflow-wrap:anywhere}.r7-content h2,.r7-content h3{overflow-wrap:anywhere}@media(max-width:760px){.r7-resource-grid{grid-template-columns:1fr}.r7-example,.r7-toc{padding:1rem}.r7-agenda{padding-left:1.3rem}}@media print{.r7-toc{display:none}.r7-resource-grid{display:block}.r7-resource-grid article,.r7-example{break-inside:avoid}.r7-example-label{background:none}}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.case-card{border:1px solid #d8d5cd;background:#fff;padding:24px;border-radius:10px}.case-kicker{font-size:.82rem;letter-spacing:.08em;color:#715f24;font-weight:700;margin:0 0 10px}.case-card h3{font-size:1.16rem;line-height:1.55;margin:.2rem 0 .7rem}.case-card p{margin:.55rem 0}.case-note{font-size:.88rem;color:#5f6368;border-top:1px solid #ece8df;padding-top:12px;margin-top:14px}.case-detail{max-width:850px}.case-detail .case-summary{font-size:1.08rem}.case-facts{display:grid;gap:14px;margin:22px 0}.case-fact{padding:18px 20px;background:#f7f5ef;border-left:4px solid #b1922f}.case-cta{margin-top:28px;padding:22px;border:1px solid #ded9cf;background:#fbfaf7}.cases-intro{max-width:850px}.case-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}@media(max-width:800px){.case-grid{grid-template-columns:1fr}.case-card{padding:20px}}html{scroll-padding-top:7rem}.nav{gap:1rem}.nav-links{gap:1rem}.nav-links a{white-space:nowrap}.nav-cta,.nav-line{flex-shrink:0}.logo{flex-shrink:0}.article-subtitle{display:inline-block;font-size:.6em;font-weight:500;line-height:1.65;margin-top:.4em}.r9-routes{padding:1.4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:1.3rem 0}.r9-routes .route-links{display:flex;flex-wrap:wrap;gap:.55rem}.r9-routes a{color:var(--ink);text-decoration:none;display:inline-block;padding:.55rem .8rem;border:1px solid var(--line);background:#fff;min-height:44px}.r9-routes .route-title{font-size:.95rem;font-weight:700;margin:0 0 .6rem}.chord-figure{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);background:white}.chord-figure svg{display:block;width:100%;height:auto;max-width:640px;margin:auto}.chord-figure figcaption{font-size:.9rem;line-height:1.75;margin-top:1rem}.chord-controls{padding:1.3rem;background:var(--paper);border:1px solid var(--line);margin-bottom:2rem}.chord-controls label{display:block;font-weight:700}.chord-controls input[type=range]{width:100%;height:44px;accent-color:#326575}.chord-controls output{display:block;white-space:pre-wrap;font-variant-numeric:tabular-nums;padding:1rem 0;line-height:1.9}.chord-presets{display:flex;flex-wrap:wrap;gap:.5rem}.chord-presets button{font:inherit;font-size:.9rem;min-height:44px;padding:.5rem .7rem;border:1px solid #49616b;background:#fff;color:#183842;cursor:pointer}.chord-controls[hidden]{display:none}.chord-warning{font-weight:700;color:#8c2f27}.cases-scope{font-size:.93rem;padding:1rem;border-left:3px solid var(--icho);background:#fff}.case-related{padding:1rem 0}.case-related a{display:inline-block;margin:.3rem .6rem .3rem 0;min-height:32px}.source-link{font-size:.92rem}.r9-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.r9-card{border:1px solid var(--line);background:white;padding:1.3rem}.r9-card h3{font-size:1.12rem;line-height:1.65;margin:.2rem 0 .7rem}.r9-card p{font-size:.94rem;line-height:1.9}.check-results{list-style:none;padding-left:0}.check-results li{border-bottom:1px solid var(--line);padding:.5rem 0}.byline time{white-space:nowrap}.detail a:not(.btn),.site-index a{text-decoration-thickness:.08em}.detail section{scroll-margin-top:7rem}@media(max-width:1220px){.nav-links{display:none}.mobile-menu{display:block}.nav{flex-wrap:wrap}.nav-cta{margin-left:auto}}@media(min-width:1221px){.mobile-menu{display:none}}@media(max-width:650px){.r9-card-grid{grid-template-columns:1fr}.chord-figure,.chord-controls{padding:.8rem}.nav{gap:.65rem}.nav-line{display:none}.r9-routes a{font-size:.9rem}.article-subtitle{font-size:.64em}}@media print{header,footer,.chord-controls,.r9-routes,.cta-box,.learn-links,.jump-links,.mobile-menu{display:none!important}.chord-figure{break-inside:avoid}.detail section{break-inside:auto}.practice-answer{break-inside:avoid}.article-subtitle{font-size:.7em}.detail{padding-top:0!important}}.r9-routes a:hover,.r9-routes a:focus-visible{border-color:var(--icho);text-decoration:underline}.r9-card a{color:#766019;text-underline-offset:.18em}
/* r10: structured review and a dedicated consultation page. */
.r10-ui[hidden]{display:none!important}
.resource-panel{background:#eef3f1;border:1px solid #b9c8c0;border-left:5px solid #405f4f;border-radius:8px;padding:1.2rem 1.35rem;margin:1.6rem 0}
.resource-panel h2{margin:0 0 .6rem!important;font-size:1.22rem!important}
.resource-panel p:last-child{margin-bottom:0}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0}
.review-item{border:1px solid #cdd5d1;border-radius:8px;padding:1rem;background:white}
.review-item label{display:block;font-weight:700;line-height:1.6;margin-bottom:.4rem}
.review-item small{display:block;font-weight:400;margin-bottom:.55rem}
.review-item select,.r10-ui textarea{box-sizing:border-box;width:100%;max-width:100%;font:inherit;border:1px solid #85998e;border-radius:5px;padding:.65rem;background:white;color:#20352d}
.r10-ui textarea{min-height:7rem;line-height:1.75;resize:vertical}
.r10-ui label{display:block;margin:.5rem 0}
.r10-ui .actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.r10-ui button,.resource-panel .btn{min-height:44px}
.r10-result{border-left:4px solid #537761;padding-left:1rem;margin:1.2rem 0}
.r10-result:empty{display:none}
.r10-status{min-height:2em;font-size:.95rem;overflow-wrap:anywhere}
.editor-note{border-top:1px solid #ddd6c6;margin-top:2rem;padding-top:1rem;font-size:.92rem;color:#54615c}
.contact-flow{counter-reset:step;display:grid;gap:1rem;margin:1.3rem 0}
.contact-flow>div{border:1px solid #d3dcd5;border-radius:6px;padding:1rem 1.2rem;background:#fff}
.contact-flow h3{margin:.2rem 0 .5rem}
.contact-flow p{margin:.5rem 0}
.contact-options{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0}
.recheck-mark{font-size:.9rem;color:#465f51;border-bottom:1px solid #c7d3cc;padding-bottom:.4rem}
@media(max-width:620px){.review-grid{grid-template-columns:1fr}.resource-panel{padding:1rem}.r10-ui button{width:100%}.contact-options .btn{width:100%;justify-content:center;white-space:normal;text-align:center}}
@media print{.r10-ui,.resource-panel .btn,.contact-options{display:none!important}.resource-panel{background:white;border:1px solid #aaa;break-inside:avoid}.editor-note{font-size:9pt}}
/* Match detail-page specificity; generic section styles otherwise erase card padding. */
.detail section.resource-panel{padding:1.2rem 1.35rem}
.btn.btn-dark{background:#263f31;color:#fff;text-decoration:none;white-space:normal;line-height:1.7}
.detail .resource-panel .btn{max-width:100%;padding:.75rem 1rem;white-space:normal;text-align:center}
.detail .r10-ui .btn:not(.btn-dark){color:#263f31;border:1px solid #8fa398;background:#fff}
@media(max-width:620px){.detail section.resource-panel{padding:1rem}.detail .resource-panel .btn{display:block;width:100%;margin:.5rem 0}}

.handout-preview{float:right;width:178px;max-width:42%;margin:0 0 1rem 1.25rem}.handout-preview img{width:100%;height:auto;border:1px solid #c0cdc4;box-shadow:0 2px 8px #0001}.handout-preview figcaption{font-size:.78rem;line-height:1.6}.resource-panel:after{content:"";display:table;clear:both}@media(max-width:520px){.handout-preview{float:none;margin:.8rem auto;width:200px;max-width:78%}}@media print{.handout-preview{display:none}}

/* r11: confined to the weekly planner, not global advertising or animation */
.planner-intro{border-left:4px solid #285c49;padding:1rem 1.2rem;background:#f2f6f1;margin:1.1rem 0}.planner-note{font-size:.88rem;color:#46584d}.planner-tools{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:1rem 0}.planner-tools button,.planner-import-label{font:inherit;min-height:44px;border:1px solid #6a8271;border-radius:4px;padding:.6rem .9rem;background:white;color:#173b2a;cursor:pointer}.planner-tools button:disabled{opacity:.5;cursor:default}.planner-tools button.primary{background:#1f513b;color:#fff}.planner-block{padding:1.25rem;border:1px solid #cad5cc;border-radius:6px;background:#fbfcfa;margin:1.2rem 0}#weekly-planner input,#weekly-planner textarea,#weekly-planner select{font:inherit;width:100%;min-width:0;box-sizing:border-box;background:#fff;border:1px solid #899c8e;border-radius:4px;padding:.55rem .65rem;min-height:44px;color:#152f20}#weekly-planner label{display:block;font-size:.9rem;line-height:1.6}#weekly-planner input:focus-visible,#weekly-planner select:focus-visible,#weekly-planner textarea:focus-visible,#weekly-planner button:focus-visible{outline:3px solid #b98b24;outline-offset:3px}#weekly-planner textarea{min-height:80px;resize:vertical}#weekly-planner [hidden]{display:none!important}.planner-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.6rem;margin:1rem 0}.planner-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.planner-task{min-width:0;padding:1rem;border:1px solid #b9cabe;border-radius:5px;background:#fff;margin:0}.planner-task legend{font-weight:700;padding:0 .4rem}.planner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.planner-fields .wide{grid-column:1/-1}.planner-delete{border:0;background:transparent;text-decoration:underline;min-height:44px;font:inherit;font-size:.8rem;color:#665446}.planner-summary{white-space:pre-line;line-height:1.9;margin:1.1rem 0;padding:1rem;border:1px solid #a8bbaf;background:#eff5ef}.planner-summary[data-over=true]{background:#fff8eb;border-color:#c89c4c}.planner-table{width:100%;border-collapse:collapse;font-size:.9rem}.planner-table th,.planner-table td{padding:.65rem .6rem;border:1px solid #c7d2c9;text-align:left}.planner-table th{background:#edf3ed}.planner-table caption{text-align:left;font-weight:700;margin-bottom:.6rem}.planner-example-card{margin:1.2rem 0;padding:1.1rem;border:1px solid #d2c59d;background:#fffdf7}.planner-example-card p:last-child{margin-bottom:0}.planner-figure{max-width:760px;margin:1.2rem auto}.planner-figure img{max-width:100%;height:auto;border:1px solid #c6d1c8}.planner-figure figcaption{font-size:.82rem;color:#46584d}#planner-print-sheet{display:none}#planner-message{white-space:pre-line;min-height:1.8rem;font-weight:600;color:#61441d}.planner-import-label input{margin-top:.5rem}.planner-count-note{font-size:.8rem}
@media(max-width:740px){.planner-task-list{grid-template-columns:1fr}.planner-days{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-block{padding:1rem .85rem}.planner-table{font-size:.8rem}.planner-table th,.planner-table td{padding:.5rem .35rem}.planner-tools button{flex:1 1 auto}.planner-fields{gap:.7rem}}
@media print{#weekly-planner .planner-tools,#weekly-planner .planner-import-label,#weekly-planner .planner-delete{display:none!important}body.planner-print-only>*:not(#planner-print-sheet){display:none!important}body.planner-print-only #planner-print-sheet{display:block!important;font:11pt/1.65 sans-serif;color:#000;background:white;max-width:none;margin:0;padding:0}#planner-print-sheet>h2:first-child{font-size:20pt;margin:0 0 10pt}#planner-print-sheet h2{font-size:12pt;margin:10pt 0 3pt}#planner-print-sheet p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4pt 0}#planner-print-sheet table{width:100%;border-collapse:collapse}#planner-print-sheet th,#planner-print-sheet td{border:1px solid #999;padding:3pt 5pt;font-size:10pt}#planner-print-sheet section{break-inside:avoid;padding:0;margin:8pt 0;min-height:0;border:0;box-shadow:none;background:transparent}#planner-print-sheet a{color:#000}}

/* Five revised price plans: preserve readable six-digit monthly prices. */
#price .plans{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;max-width:none;gap:22px}
#price .plan-card{display:flex;flex-direction:column;min-width:0;padding:30px 24px}
#price .plan-name{font-size:1.1rem;letter-spacing:.02em;line-height:1.65;margin:0 0 .6em;min-height:3.3em}
#price .plan-price{white-space:nowrap;font-variant-numeric:tabular-nums}
#price .plan-price .num{font-size:2.25rem;letter-spacing:-.02em}
#price .plan-price .yen,#price .plan-price .unit{font-size:.85rem}
#price .plan-meta .row{gap:.6em;flex-wrap:wrap}
#price .plan-features{margin-bottom:1em}
#price .plan-extra{font-size:.8rem;color:var(--grey);line-height:1.8;margin:0 0 1.3em}
#price .plan-cta{margin-top:auto}
#comparison th[scope=row]{min-width:10em}
#comparison .price-amount{white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}
#comparison tr[id]{scroll-margin-top:110px}
@media(max-width:1000px){#price .plans{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:0 auto}}
@media(max-width:600px){#price .plans{grid-template-columns:1fr;max-width:420px}#price .plan-name{min-height:0}#price .plan-card{padding:28px 24px}}
