/* 総進ゼミナール 記事LP */
@font-face{font-family:SoshinSans;src:url('assets/NotoSansJP-subset.woff') format('woff');font-weight:400 700;font-display:swap}

:root{--blue:#09519d;--red:#d62820;--yellow:#fff337;--ink:#222;--line:#ddd;color-scheme:light}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:18px}
body{margin:0;background:#ececec;color:var(--ink);font-family:SoshinSans,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:18px;line-height:1.9;overflow-wrap:anywhere}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed}
a{color:var(--blue);text-underline-offset:4px}
button,a,input,select,textarea,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #257bd6;outline-offset:4px}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3,dl,dd{margin:0}
strong,b{font-weight:700}
p{margin:0 0 1.6em}
p:last-child{margin-bottom:0}
[hidden]{display:none!important}
em{font-style:normal}
.blue{color:var(--blue)}
.red{color:var(--red)}
.marker{background:linear-gradient(transparent 64%,var(--yellow) 64%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.skip-link{position:fixed;z-index:1000;left:8px;top:-100px;background:#fff;padding:8px 12px}
.skip-link:focus{top:8px}
.reading-progress{position:fixed;inset:0 0 auto;z-index:35;height:3px}
.reading-progress span{display:block;width:0;height:100%;background:var(--blue)}
.page-shell{width:min(100%,700px);margin:auto;background:#fff}
.masthead{display:flex;justify-content:space-between;align-items:center;padding:9px 18px;color:#555;font-size:12px;line-height:1.5}
.pr-label{margin-left:10px}
.flow{padding:10px 29px 25px}
.opening>.flow{padding-top:32px}
.flow+.flow{padding-top:0}
.article-image{margin:28px 0 34px}
.article-image img{width:100%}
.hero{margin:0 5px}
.article-head{font-size:26px;line-height:1.65;margin:50px 0 28px;color:#111;font-weight:700}
.line-title{border-left:5px solid #ff9d90;padding-left:16px}
.why-title{padding:20px 10px;background:#333;text-align:center;color:white;font-size:32px;line-height:1.5;margin-left:-5px;margin-right:-5px;text-shadow:2px 2px #000}
.why-title em{background:linear-gradient(transparent 65%,var(--yellow) 65%);color:#fff}
.punch{font-size:24px;line-height:1.8;font-weight:700;text-align:center;margin:35px 0;padding:22px 5px;border-top:2px solid #222;border-bottom:2px solid #222}
.punch strong{color:var(--blue);background:linear-gradient(transparent 68%,var(--yellow) 68%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.summary-punch{border:0;background:#f5fbff;padding:25px 8px;line-height:2;font-size:23px}

.dialogue{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:start;gap:18px;margin:33px 0;--bubble-fill:#fff;--bubble-border:#292929}
.dialogue.answer{grid-template-columns:minmax(0,1fr) 74px}
.speaker{width:74px;padding-top:3px;text-align:center}
.speaker .avatar{height:67px;width:67px;margin:auto;border-radius:50%;background:#f1f4f7;overflow:hidden;border:1px solid #e2e5e8;position:relative}
.speaker img{width:100%;height:100%;object-fit:cover}
.speaker>span{font-size:12px;line-height:1.5;display:block;margin-top:7px;white-space:nowrap}
.answer .speaker{grid-column:2;grid-row:1}
.answer .avatar img{position:absolute;max-width:none;width:170%;height:auto;left:-30%;top:-14%}
.bubble{position:relative;background:var(--bubble-fill);border:1.5px solid var(--bubble-border);border-radius:12px;padding:17px 20px;font-size:18px;line-height:1.9;min-height:71px}
.answer .bubble{grid-column:1;grid-row:1}
.bubble::before,.bubble::after{position:absolute;content:'';width:0;height:0;top:22px;border:10px solid transparent;pointer-events:none}
.question .bubble::before{left:-20px;border-right-color:var(--bubble-border)}
.question .bubble::after{left:-17.5px;border-right-color:var(--bubble-fill)}
.answer .bubble::before{right:-20px;border-left-color:var(--bubble-border)}
.answer .bubble::after{right:-17.5px;border-left-color:var(--bubble-fill)}

.founder-profile{margin:30px 0 32px;border-bottom:5px solid var(--blue)}
.founder-top{min-height:320px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(115deg,#fff 56%,#f0f6fa 56%)}
.founder-top>div{position:relative;width:62%;z-index:1;padding:20px 0 26px 15px}
.founder-top span{font-size:14px}
.founder-top h2{font-size:33px;margin:6px 0 24px;line-height:1.5;display:inline-block;background:linear-gradient(transparent 68%,var(--yellow) 68%)}
.founder-top p{font-size:22px;line-height:1.7;color:var(--blue);font-weight:700;margin:0}
.founder-top>img{position:absolute;width:47%;height:97%;object-fit:contain;object-position:bottom;right:0;bottom:0}
.founder-career{padding:18px 16px 22px;background:#f6f6f6;font-size:15px;line-height:1.9}
.founder-career p{margin-bottom:12px}
.founder-career p:last-child{margin:0}

.notebook-callout{border:2px solid #222;margin:36px 0 40px;padding:24px 24px 17px;background:repeating-linear-gradient(white 0,white 31px,#e6edf2 32px,white 33px);box-shadow:5px 5px 0 #ededed}
.notebook-callout>p{font-size:16px;font-weight:700;margin:0 0 16px}
.notebook-callout>strong{display:block;font-size:26px;line-height:1.8}
.notebook-callout>strong span{color:var(--red);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:7px;text-decoration-thickness:2px}
.notebook-callout ul{margin:20px 0 0;padding:10px 0 0 23px;font-size:18px;line-height:2.1}
.theme-switch{margin:30px 0 35px;border:1.5px solid #333}
.theme-tabs{display:flex;gap:0;border-bottom:1px solid #222}
.theme-tabs button{flex:1;border:0;background:#eee;color:#555;font-size:17px;font-weight:700;padding:13px 5px}
.theme-tabs button[aria-selected=true]{background:#09519d;color:white}
.theme-tabs button+button{border-left:1px solid #222}
.theme-panel{padding:22px 20px;text-align:center}
.theme-start{font-size:18px;font-weight:700;margin:0}
.theme-down{font-size:35px;line-height:1.4;color:var(--red);font-weight:700;margin:5px auto}
.theme-question{font-size:22px;line-height:1.8;margin:0}
.theme-question b{color:var(--blue);background:linear-gradient(transparent 72%,var(--yellow) 72%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.theme-study{font-size:16px;margin:0}
.theme-study strong{font-size:18px;display:block;margin-top:8px}
.writing-example{margin:30px 0 38px}
.writing-before{padding:14px 17px;background:#f4f4f4}
.writing-example span{display:inline-block;font-size:15px;font-weight:700;margin-bottom:9px}
.writing-example p{margin:0;font-size:18px;line-height:1.95}
.writing-before p{font-weight:700;color:#555}
.writing-arrow{text-align:center;font-size:45px;line-height:1.5;font-weight:700;color:var(--red)}
.writing-after{border:2px solid var(--red);padding:18px 20px}
.writing-after span{color:var(--red)}
.writing-after b{color:var(--blue);background:linear-gradient(transparent 69%,var(--yellow) 69%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.interview-note{border-left:4px solid var(--blue);padding:4px 0 4px 20px;margin:25px 0 40px}
.interview-q{font-weight:700;color:var(--blue);font-size:20px;line-height:1.8;margin-bottom:18px}
.interview-note p:last-child{font-size:17px}
.interview-note b{background:linear-gradient(transparent 66%,var(--yellow) 66%)}

.feedback-paper{border:1.5px solid #888;padding:24px 20px 8px;margin:28px 0 36px;box-shadow:5px 5px 0 #eee}
.paper-title{font-weight:700;font-size:19px;margin-bottom:20px}
.feedback-paper>div{display:flex;align-items:baseline;gap:14px;margin:17px 0}
.feedback-paper>div>span{font:bold 22px/1.5 Arial,sans-serif;color:var(--red)}
.feedback-paper>div>p{font-size:18px;line-height:1.85;margin:0}
.feedback-paper b{color:var(--blue)}
.brand-reveal{text-align:center;padding:28px 0 30px;margin:35px -4px;border-top:2px solid var(--blue);border-bottom:2px solid var(--blue)}
.brand-reveal p{font-weight:700;font-size:18px;margin-bottom:24px}
.brand-reveal img{width:72%;max-width:380px;margin:0 auto 27px}
.brand-reveal>strong{font-size:23px;line-height:1.8;color:var(--blue)}
.consult-cta{margin:36px -5px 38px;padding:12px 0;text-align:center}
.cta-lead{font-size:18px;font-weight:700;line-height:1.8;margin:0 0 6px}
.image-cta{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;transition:transform .15s}
.image-cta img{width:100%}
.image-cta:hover{transform:translateY(-2px)}
.image-cta:active{transform:translateY(1px)}
.cta-price{font-size:14px;line-height:1.7;margin:4px 0 0}
.cta-price b{font-size:20px;color:var(--red);margin:0 10px 0 5px}
.cta-price span{color:#555}

.university-wall{margin:32px 0 38px;border-top:5px solid var(--blue);padding-top:20px}
.wall-label{font-size:20px;font-weight:700;text-align:center;color:var(--blue);margin-bottom:22px}
.university-wall h3{font-size:17px;text-align:center;background:#f0f0f0;padding:5px;margin:22px 0 6px}
.logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 16px}
.logo-grid>div{height:72px;display:flex;align-items:center;justify-content:center;padding:8px 0}
.logo-grid img{width:100%;height:100%;object-fit:contain}
.national-universities{text-align:center;font-size:23px;line-height:1.9;margin-top:18px;font-weight:700}
.national-universities small{font-size:14px;font-weight:400}
.selection-paper{border:2px solid var(--blue);padding:20px;text-align:center;margin:32px 0 9px}
.selection-paper .paper-title{font-size:22px;color:var(--blue);margin-bottom:10px}
.selection-paper>p:nth-child(2){font-size:17px;line-height:1.8;margin-bottom:9px}
.selection-paper small{font-size:14px}
.selection-pair{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;margin:10px 0 18px}
.selection-pair>div>span{display:block;font-size:15px}
.selection-pair strong{font-size:43px;color:var(--blue);display:block;line-height:1.6}
.selection-pair .plus{font-size:30px;font-weight:700}
.source-link{font-size:12px;color:#666;margin-bottom:34px}
.source-link a{color:#666}

.learning-steps{margin:30px 0 9px}
.learning-step{display:flex;align-items:flex-start;gap:18px;border:2px solid #b8c8db;background:#f6faff;padding:21px 16px;transition:border-color .3s}
.step-number{font:bold 40px/1.2 Arial,sans-serif;color:#95aac1;margin-top:3px;flex-shrink:0}
.learning-step h3{font-size:22px;line-height:1.6;margin-bottom:7px}
.learning-step p{font-size:16px;line-height:1.85;color:#555;margin:0}
.learning-step.active{border-color:var(--red)}
.learning-step.active .step-number{color:var(--red)}
.learning-step.active h3{color:var(--blue);text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:0;text-decoration-thickness:7px;text-decoration-skip-ink:none}
.moving-arrows{display:flex;flex-direction:column;align-items:center;justify-content:center;height:71px;gap:3px;overflow:hidden}
.moving-arrows i{display:block;width:70px;height:17px;background:#d7d7d7;clip-path:polygon(0 0,50% 53%,100% 0,100% 45%,50% 100%,0 45%)}
.moving-arrows.complete i{background:#e89c98}
.moving-arrows.active i{animation:arrow-run .9s linear infinite}
.moving-arrows.active i:nth-child(2){animation-delay:.15s}
.moving-arrows.active i:nth-child(3){animation-delay:.3s}
@keyframes arrow-run{0%,100%{background:#eed2cb;transform:translateY(-3px)}
45%{background:#e43123;transform:translateY(3px)}
}
.motion-paused .moving-arrows i{animation-play-state:paused!important}
.motion-controls{text-align:right;margin-bottom:32px}
.motion-controls button{border:0;background:transparent;color:#666;font-size:12px;text-decoration:underline;text-underline-offset:3px;padding:8px 0}
.week-note{padding:20px 19px;margin:26px 0 38px;background:#fffdec;border-top:2px solid #e8cb49;border-bottom:2px solid #e8cb49}
.week-note ul{padding:0;margin:0;list-style:none}
.week-note li{font-size:17px;line-height:1.9;margin:12px 0}
.week-note li:last-child{margin-bottom:0}
.week-note li span{font-weight:700;color:var(--blue);display:block}
.week-note .paper-title{font-size:18px;margin-bottom:14px}

.slack-demo{margin:30px 0 33px;border:1px solid #bbb;border-radius:4px;overflow:hidden}
.slack-windowbar{background:#3d1b40;color:#fff;padding:12px 14px;display:flex;align-items:center;gap:15px;font-size:14px;line-height:1.4}
.window-dots{display:flex;gap:5px}
.window-dots i{height:6px;width:6px;border-radius:50%;background:#b8a7ba}
.slack-tabs{display:flex;background:#f8f5f8;padding:8px 10px 0;gap:15px}
.slack-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;font-size:14px;padding:9px 5px 10px;color:#665c69;font-weight:700}
.slack-tabs button[aria-selected=true]{border-color:#3d1b40;color:#3d1b40}
.slack-channel{font-size:15px;font-weight:700;padding:12px 15px;border-bottom:1px solid #e5e5e8}
.slack-panel{padding:22px 15px 14px;min-height:310px}
.chat-message{display:flex;align-items:flex-start;gap:10px;margin-bottom:23px}
.chat-avatar{display:flex;align-items:center;justify-content:center;width:31px;height:31px;flex-shrink:0;border-radius:4px;font-size:15px;font-weight:700;background:#e9cf87;color:#5b491f;margin-top:2px}
.chat-avatar.teacher{background:#dae6ef;color:var(--blue)}
.chat-message>div{min-width:0}
.chat-message strong{font-size:14px}
.chat-message p{font-size:15px;line-height:1.85;margin:3px 0 0}
.document-attachment{display:flex;align-items:center;gap:10px;border:1px solid #d9dbe0;padding:12px;margin-top:13px;border-radius:4px}
.document-attachment>span{background:#bd4438;font:bold 12px Arial,sans-serif;padding:12px 6px;color:white}
.document-attachment p{font-size:13px;margin:0;line-height:1.8}
.support-summary{margin:30px 0 38px;padding:22px 20px;border:2px solid #333}
.support-summary>p{font-size:21px;line-height:1.7;font-weight:700;color:var(--blue);background:linear-gradient(transparent 68%,var(--yellow) 68%);display:inline;margin:0}
.support-summary dl{margin-top:22px}
.support-summary dl>div{border-bottom:1px dashed #ccc;padding:13px 0;display:grid;grid-template-columns:94px minmax(0,1fr);gap:12px;font-size:16px}
.support-summary dl>div:last-child{border:0;padding-bottom:0}
.support-summary dt{font-weight:700}
.support-summary dd{color:#444}
.interest-memo{margin:35px 0 40px;background:#edfbff;padding:25px 20px;text-align:center;border:2px solid #b5d7e1;border-radius:12px}
.interest-memo p{font-size:16px;line-height:1.7;margin-bottom:16px}
.interest-memo strong{font-size:22px;line-height:1.9;color:var(--blue)}
.grade-timeline{margin:30px 0 38px;border-top:2px solid #222;border-bottom:2px solid #222}
.grade-timeline>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:20px;padding:23px 10px}
.grade-timeline>div+div{border-top:1px dashed #aaa}
.grade-timeline span{font-weight:700;font-size:27px;color:var(--blue);line-height:1.6}
.grade-timeline p{font-size:16px;line-height:1.9;margin:0}
.grade-timeline b{font-size:19px;color:#222}

.consult-title{background:var(--blue);color:#fff;text-align:center;padding:19px 13px;margin-left:-8px;margin-right:-8px;font-size:25px}
.consult-topics{border:2px solid var(--blue);padding:23px 22px;margin:30px 0}
.consult-topics>p{font-weight:700;color:var(--blue);font-size:20px;margin-bottom:17px}
.consult-topics label{display:flex;gap:11px;align-items:flex-start;margin:15px 0;cursor:pointer;line-height:1.85;font-size:17px}
.consult-topics input{width:21px;height:21px;accent-color:var(--blue);margin:5px 0 0;flex-shrink:0}
.consult-topics label:last-child{margin-bottom:0}
.bonus-details{margin:25px 0 35px}
.bonus-details>div{padding:15px 0;border-bottom:1px dashed #ccc}
.bonus-details dt{font-weight:700;font-size:20px;color:var(--blue);line-height:1.8;margin-bottom:6px}
.bonus-details dt span{font:700 21px Arial,sans-serif;color:var(--red);margin-right:5px}
.bonus-details dd{font-size:16px;line-height:1.9}
.faq-list{margin:27px 0 38px}
.faq-list details{margin-bottom:23px}
.faq-list summary{list-style:none;display:flex;gap:12px;align-items:baseline;font-size:18px;font-weight:700;line-height:1.8;padding:15px 31px 15px 15px;cursor:pointer;position:relative;border:1px solid #ddd;box-shadow:0 2px 4px #0002;background:#fff;border-radius:5px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{font:700 23px/1 Arial,sans-serif;color:var(--blue)}
.faq-list summary::after{content:'＋';position:absolute;right:10px;top:21px;font-size:16px;line-height:1;font-weight:400;color:#777}
.faq-list details[open] summary::after{content:'−'}
.faq-answer{display:flex;gap:13px;padding:17px 16px;margin-top:10px;background:#ffebec;font-size:16px;line-height:1.9}
.faq-answer>b{color:var(--red);font:700 22px/1.5 Arial,sans-serif}
.postscript{margin:42px 0 34px}
.postscript h2{font-size:30px;margin:0 0 26px;color:var(--red)}
.postscript p{line-height:2.1;margin-bottom:1.8em}
.footer{padding:32px 25px 110px;text-align:center;border-top:1px solid #ddd}
.footer img{width:172px;margin:0 auto 10px}
.footer p{font-size:12px;color:#666}
.sticky-consult{position:fixed;bottom:0;left:0;width:100%;z-index:40;background:#fff;border-top:1px solid #ddd;padding:7px 16px max(9px,env(safe-area-inset-bottom))}
.sticky-consult>div{max-width:650px;margin:auto;display:flex;gap:16px;align-items:center}
.sticky-consult p{font-size:12px;margin:0;flex:1;line-height:1.8}
.sticky-consult button{background:#0762c1;color:white;font-weight:700;font-size:17px;border:1px solid #084888;border-bottom:4px solid #023873;border-radius:6px;padding:11px 18px;min-height:49px}

dialog{padding:0;border:0;border-radius:8px;max-width:540px;width:calc(100% - 28px);max-height:90dvh;color:var(--ink)}
dialog::backdrop{background:#111a}
.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}
.dialog-header img{width:130px}
.dialog-close{border:0;background:transparent;font-size:31px;line-height:1;width:38px;height:38px;color:#444}
.dialog-body{padding:24px 28px 32px}
.form-eyebrow{font-size:14px;margin-bottom:6px;color:#666}
#consult-description{font-size:16px;line-height:1.8}
.form-status{background:#f4f4f4;padding:12px 14px;font-size:14px;line-height:1.75}
.dialog-body label{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:700;margin:22px 0 8px}
.dialog-body label span{font-size:12px;color:#b4342a;font-weight:400}
.dialog-body label .optional{color:#777}
.dialog-body input,.dialog-body select,.dialog-body textarea{display:block;width:100%;min-height:48px;padding:10px 12px;font-size:16px;border:1px solid #bbb;border-radius:4px;background:white;color:#222}
.dialog-body textarea{resize:vertical}
.form-submit{display:block;width:100%;background:#c7cdd4;color:#fff;border:0;border-radius:5px;font-size:16px;font-weight:700;padding:14px;margin-top:28px}

@media(max-width:600px){body{font-size:16px;line-height:1.9;background:#fff}
.masthead{padding:8px 13px;font-size:12px}
.flow{padding:8px 19px 20px}
.opening>.flow{padding-top:27px}
.hero{margin:0 3px}
.article-image{margin:25px -3px 29px}
.article-head{font-size:22px;line-height:1.75;margin:39px 0 25px}
.line-title{padding-left:12px;border-left-width:4px}
.why-title{font-size:28px;line-height:1.5;margin-left:-4px;margin-right:-4px;padding:18px 8px}
.punch{font-size:19px;line-height:1.9;padding:21px 3px;margin:31px 0}
.summary-punch{font-size:20px;line-height:1.9;padding:24px 5px}
.dialogue{grid-template-columns:53px minmax(0,1fr);gap:13px;margin:29px 0}
.dialogue.answer{grid-template-columns:minmax(0,1fr) 53px}
.speaker{width:53px;padding-top:5px}
.speaker .avatar{width:50px;height:50px}
.speaker>span{font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:normal;margin-top:6px}
.bubble{font-size:16px;line-height:1.9;padding:14px 13px;border-radius:10px;min-height:67px}
.bubble::before,.bubble::after{top:20px;border-width:8px}
.question .bubble::before{left:-16px}
.question .bubble::after{left:-13.5px}
.answer .bubble::before{right:-16px}
.answer .bubble::after{right:-13.5px}
.founder-top{min-height:265px}
.founder-top>div{padding:18px 0 22px 8px;width:60%}
.founder-top span{font-size:12px}
.founder-top h2{font-size:28px;margin-bottom:21px}
.founder-top p{font-size:19px}
.founder-top>img{width:48%;height:96%}
.founder-career{padding:16px 13px 19px;font-size:14px}
.notebook-callout{padding:22px 15px 15px;margin:31px 0 36px;box-shadow:3px 3px 0 #eee}
.notebook-callout>p{font-size:14px}
.notebook-callout>strong{font-size:23px;line-height:1.75}
.notebook-callout ul{font-size:16px;margin-top:17px;padding-left:19px}
.theme-tabs button{font-size:16px;padding:12px 4px}
.theme-panel{padding:22px 13px}
.theme-start{font-size:16px}
.theme-question{font-size:20px;line-height:1.9}
.theme-study{font-size:14px}
.theme-study strong{font-size:17px}
.writing-example p{font-size:16px;line-height:1.95}
.writing-after{padding:17px 14px}
.writing-before{padding:13px 14px}
.writing-example span{font-size:14px}
.interview-note{padding-left:15px}
.interview-q{font-size:18px}
.interview-note p:last-child{font-size:16px}
.feedback-paper{padding:20px 14px 7px;box-shadow:3px 3px 0 #eee}
.paper-title{font-size:17px}
.feedback-paper>div{gap:10px}
.feedback-paper>div>span{font-size:20px}
.feedback-paper>div>p{font-size:16px}
.brand-reveal{margin:31px -3px;padding:24px 0}
.brand-reveal p{font-size:16px;margin-bottom:22px}
.brand-reveal>strong{font-size:20px}
.brand-reveal img{width:77%;margin-bottom:25px}
.consult-cta{margin:31px -5px 34px}
.cta-lead{font-size:16px;line-height:1.75}
.cta-price{font-size:12px}
.cta-price b{font-size:18px;margin-right:8px}
.wall-label{font-size:17px}
.logo-grid{gap:2px 10px}
.logo-grid>div{height:59px;padding:7px 0}
.university-wall h3{font-size:16px;margin-top:18px}
.national-universities{font-size:20px;margin-top:14px}
.national-universities small{font-size:12px}
.selection-paper{padding:19px 13px}
.selection-paper .paper-title{font-size:20px}
.selection-paper>p:nth-child(2){font-size:16px}
.selection-pair strong{font-size:37px}
.selection-pair>div>span{font-size:14px}
.source-link{font-size:12px}
.learning-step{gap:13px;padding:18px 12px}
.step-number{font-size:32px;margin-top:4px}
.learning-step h3{font-size:20px;line-height:1.65}
.learning-step p{font-size:15px}
.moving-arrows{height:65px}
.moving-arrows i{width:58px;height:15px}
.week-note{padding:19px 15px}
.week-note .paper-title{font-size:17px}
.week-note li{font-size:16px}
.slack-panel{padding:19px 12px 12px;min-height:350px}
.chat-message{gap:8px}
.chat-avatar{width:28px;height:28px;font-size:14px}
.chat-message p{font-size:14px;line-height:1.9}
.document-attachment{padding:9px;gap:8px}
.document-attachment p{font-size:12px}
.support-summary{padding:20px 15px}
.support-summary>p{font-size:19px;line-height:1.8}
.support-summary dl>div{grid-template-columns:73px minmax(0,1fr);font-size:15px;gap:11px}
.interest-memo{padding:21px 15px}
.interest-memo p{font-size:14px}
.interest-memo strong{font-size:19px;line-height:2}
.grade-timeline>div{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:20px 4px}
.grade-timeline span{font-size:24px}
.grade-timeline p{font-size:15px}
.grade-timeline b{font-size:17px}
.consult-title{font-size:22px;line-height:1.8;padding:19px 10px}
.consult-topics{padding:20px 15px}
.consult-topics>p{font-size:19px;line-height:1.8}
.consult-topics label{font-size:16px;gap:9px}
.consult-topics input{width:19px;height:19px}
.bonus-details dt{font-size:18px}
.bonus-details dt span{font-size:19px}
.bonus-details dd{font-size:15px}
.faq-list summary{font-size:16px;padding:14px 28px 14px 12px;gap:9px}
.faq-list summary>span{font-size:21px}
.faq-answer{padding:16px 13px;font-size:15px;gap:10px}
.postscript h2{font-size:28px}
.sticky-consult{padding:6px 16px max(9px,env(safe-area-inset-bottom))}
.sticky-consult>div{display:block}
.sticky-consult p{font-size:12px;text-align:center;margin-bottom:5px}
.sticky-consult button{width:100%;min-height:49px;padding:10px 12px;font-size:16px}
.dialog-header{padding:16px 19px}
.dialog-body{padding:22px 22px 28px}
}

@media(max-width:350px){.flow{padding-left:15px;padding-right:15px}
.dialogue{grid-template-columns:45px minmax(0,1fr);gap:11px}
.dialogue.answer{grid-template-columns:minmax(0,1fr) 45px}
.speaker{width:45px}
.speaker .avatar{width:43px;height:43px}
.bubble{padding:12px 11px}
.notebook-callout>strong{font-size:21px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
}

.masthead{padding-bottom:7px}
.hero{margin:0}
.question .avatar img{object-fit:cover;object-position:50% 30%}
.image-cta{text-decoration:none}
.slack-panel{min-height:0!important}
.slack-panel+.slack-panel{border-top:1px solid #e0d9e1}
.slack-example-title{font-size:15px;color:#49334c;margin:0 0 18px;padding-bottom:9px;border-bottom:2px solid #efe7ef}
.consult-topics-static{margin:30px 0;padding:24px 22px;background:#f5fbff;border-top:3px solid var(--blue);border-bottom:3px solid var(--blue)}
.consult-topics-static>p{font-size:20px;font-weight:700;color:var(--blue);margin-bottom:17px}
.consult-topics-static ul{padding:0;margin:0;list-style:none}
.consult-topics-static li{position:relative;padding-left:24px;margin:13px 0;font-size:17px;line-height:1.8}
.consult-topics-static li::before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:700}
.consult-flow-section{padding-bottom:35px}
.consult-process{padding:0;margin:30px 0 15px;list-style:none}
.consult-process li{display:flex;align-items:flex-start;gap:19px;padding:18px 18px 20px;margin:0;position:relative;background:#f5f9fe;border-left:5px solid #0963ba}
.consult-process li+li{margin-top:32px}
.consult-process li+li::before{content:'';position:absolute;top:-23px;left:calc(50% - 15px);border-left:15px solid transparent;border-right:15px solid transparent;border-top:15px solid #09519d}
.process-number{color:#0752a0;font:bold 38px/1.25 Arial,sans-serif;min-width:32px}
.consult-process h3{font-size:21px;line-height:1.6;margin-bottom:5px;color:#074884}
.consult-process p{font-size:16px;line-height:1.85;margin:0}
.inline-consult{margin:30px 25px 55px;border:3px solid #0b4a8e;scroll-margin-top:16px;background:#fff}
.inline-consult:focus{outline:0}
.inline-form-heading{padding:26px 17px;text-align:center;background:#07539f;color:white}
.inline-form-heading>p{font-size:16px;font-weight:700;margin-bottom:13px}
.inline-form-heading h2{font-size:31px;line-height:1.55;color:white;margin:0 0 18px}
.consult-cost{display:inline-flex;align-items:center;gap:13px;color:#163c66;background:#fff;padding:6px 32px;font-size:16px;font-weight:700;border-radius:30px}
.consult-cost b{font-size:28px;line-height:1.3;color:#d92f23}
.inline-form-body{padding:29px 29px 31px}
.form-intro{font-size:17px;line-height:1.95;text-align:center;margin-bottom:30px}
.form-field{margin:0 0 25px}
.form-field label{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:700;margin-bottom:9px;line-height:1.7}
.form-field small{font-size:12px;background:#cb382d;color:#fff;padding:1px 7px;font-weight:700;border-radius:2px}
.form-field small.optional{background:#eee;color:#666}
.form-field input,.form-field select,.form-field textarea{width:100%;display:block;border:1px solid #9caaba;border-radius:3px;font-size:17px;line-height:1.7;padding:12px;min-height:51px;background:#fff;color:#222}
.form-field textarea{resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder{color:#808892}
.field-help{font-size:13px;line-height:1.7;color:#555;margin:7px 0 0}
.form-consent{margin:26px 0 22px}
.form-consent label{display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.85;cursor:pointer}
.form-consent input{width:19px;height:19px;margin:4px 0 0;accent-color:#07539f;flex-shrink:0}
.form-consent a{font-size:13px;margin:12px 0 0 30px;display:block}
.inline-form-body .form-status{font-size:14px;line-height:1.8;background:#f2f4f7;color:#555;padding:12px 14px;margin:20px 0}
.inline-form-body .form-status.is-error{background:#fff0ee;color:#ae271e}
.inline-form-body .form-submit{margin:20px 0 0;padding:17px 9px;background:linear-gradient(#1688ec,#064398);border:1px solid #0e68c3;border-bottom:5px solid #052b67;border-radius:8px;color:#fff;font-size:22px;font-weight:700;min-height:68px;line-height:1.65;width:100%}
.inline-form-body .form-submit:disabled{opacity:.58;cursor:not-allowed}
.form-followup{text-align:center;font-size:13px;line-height:1.8;margin:15px 0 0;color:#555}
.sticky-consult a{display:block;text-align:center;text-decoration:none;background:#0762c1;color:#fff;font-weight:700;font-size:17px;border:1px solid #084888;border-bottom:4px solid #023873;border-radius:6px;padding:11px 18px;min-height:49px}
.footer{padding-bottom:45px}

.thanks-page{background:#f1f3f6}
.thanks-shell{width:min(100%,760px);margin:auto;background:white;min-height:100vh}
.thanks-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 30px;border-bottom:1px solid #e2e8ef}
.thanks-header img{width:154px}
.thanks-header>span{font-size:14px;color:#52667b}
.thanks-main{padding:32px 38px 40px}
.thanks-intro{text-align:center;padding:5px 0 30px}
.thanks-eyebrow{font-size:15px;color:var(--blue);font-weight:700;margin:0 0 20px}
.thanks-intro h1{font-size:35px;line-height:1.65;margin:0 0 25px;color:#17334d}
.thanks-intro h1 em{background:linear-gradient(transparent 71%,#ffe683 71%)}
.thanks-intro>p:last-child{font-size:17px;line-height:1.95;max-width:560px;margin:auto}
.phone-next{margin:6px 0 40px;padding:25px 24px 24px;border:2px solid #114e8a;position:relative}
.next-label{display:inline-block;color:#fff;background:#14599b;padding:3px 16px;font-size:15px;font-weight:700;margin:-25px 0 18px;position:relative;top:-1px}
.phone-next h2{font-size:25px;color:#104e8c;line-height:1.6;margin:0 0 18px}
.phone-next>p{font-size:17px;line-height:1.95;margin:0 0 17px}
.phone-next .phone-note{font-size:14px;line-height:1.85;color:#5a626d;margin:0}
.jicoo-booking{padding:27px 25px 25px;margin:0 0 44px;background:#f2f8ff;border-top:5px solid #105baa}
.booking-kicker{font-size:16px;font-weight:700;color:#184d80;margin-bottom:15px}
.jicoo-booking h2{font-size:28px;line-height:1.65;margin:0 0 20px;color:#15364e}
.jicoo-booking h2 span{color:#095aa9}
.jicoo-booking>p:not(.booking-kicker){font-size:16px;line-height:1.95}
.booking-button{display:block;text-align:center;padding:17px 12px;background:linear-gradient(#197eda,#064995);color:#fff;border-radius:7px;border-bottom:4px solid #062f5e;font-size:21px;font-weight:700;line-height:1.7;text-decoration:none;margin:25px 0 12px}
.booking-button[aria-disabled=true]{opacity:.5;cursor:not-allowed;user-select:none}
.jicoo-booking .booking-status{font-size:14px;text-align:center;color:#5c6470;margin:0 0 20px}
.jicoo-booking .booking-after{font-size:14px;line-height:1.9;margin:0;border-top:1px solid #cedbea;padding-top:18px}
.jicoo-embed-container{margin:22px 0;background:#fff}
.jicoo-embed-container iframe{border:0;display:block;width:100%;height:820px}
.thanks-next>h2{font-size:25px;color:#173e64;line-height:1.65;margin-bottom:24px}
.thanks-process{margin-top:0}
.thanks-preparation{padding:32px 0 15px;margin-top:30px;border-top:1px solid #d7e1ec;text-align:center}
.thanks-preparation h2{font-size:23px;line-height:1.8;color:#173e64;margin:0 0 25px}
.thanks-preparation p{font-size:17px;line-height:2}
.back-article{display:block;text-align:center;font-size:15px;margin:23px 0 0}
.thanks-footer{padding:28px 20px;text-align:center;background:#f4f7fa}
.thanks-footer img{width:162px;margin:0 auto 12px}
.thanks-footer p{font-size:12px;color:#666}

@media(max-width:600px){.hero{margin:0}
.consult-topics-static{padding:22px 16px}
.consult-topics-static>p{font-size:18px}
.consult-topics-static li{font-size:16px;padding-left:23px}
.consult-process li{gap:13px;padding:18px 14px}
.process-number{font-size:32px;min-width:24px}
.consult-process h3{font-size:19px}
.consult-process p{font-size:15px;line-height:1.9}
.inline-consult{margin:20px 14px 37px;border-width:2px}
.inline-form-heading{padding:25px 14px}
.inline-form-heading>p{font-size:14px}
.inline-form-heading h2{font-size:28px}
.consult-cost{font-size:15px;padding:5px 28px}
.inline-form-body{padding:25px 19px 28px}
.form-intro{font-size:16px;margin-bottom:26px}
.form-field label{font-size:16px}
.form-field input,.form-field select,.form-field textarea{font-size:16px}
.inline-form-body .form-submit{font-size:19px;padding:16px 8px;min-height:62px}
.form-consent label{font-size:14px}
.form-followup{font-size:12px}
.sticky-consult a{width:100%;font-size:16px;padding:10px 12px}
.thanks-page{background:#fff}
.thanks-header{padding:16px 20px;gap:12px}
.thanks-header img{width:134px}
.thanks-header>span{font-size:12px}
.thanks-main{padding:27px 20px 33px}
.thanks-eyebrow{font-size:14px;line-height:1.8}
.thanks-intro h1{font-size:29px;line-height:1.7}
.thanks-intro>p:last-child{font-size:16px}
.phone-next{padding:23px 17px;margin-bottom:34px}
.phone-next h2{font-size:22px}
.phone-next>p{font-size:16px}
.next-label{font-size:14px;padding:3px 13px;margin-top:-23px}
.jicoo-booking{padding:23px 17px;margin-bottom:35px}
.jicoo-booking h2{font-size:24px;line-height:1.75}
.jicoo-booking>p:not(.booking-kicker){font-size:15px}
.booking-button{font-size:18px;padding:15px 9px}
.jicoo-booking .booking-status,.jicoo-booking .booking-after{font-size:13px}
.jicoo-embed-container iframe{height:850px}
.thanks-next>h2{font-size:23px}
.thanks-preparation h2{font-size:21px}
.thanks-preparation p{font-size:16px}
}


.question .avatar img{position:absolute;max-width:none;width:260%;height:auto;left:-43%;top:-31%;object-fit:initial}


.article-reading-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 17px 11px;background:#fffbe8;border-top:1px solid #eee6ba;border-bottom:1px solid #eee6ba;line-height:1.6}

.article-reading-note p{font-size:14px;margin:0;color:#343434}
.article-reading-note b{color:#c23624;font-weight:800}
.article-reading-note button{flex-shrink:0;border:0;background:transparent;font-size:12px;color:#626262;text-decoration:underline;text-underline-offset:3px;padding:4px 0;cursor:pointer}

.motion-surface{position:relative;isolation:isolate;overflow:hidden;--fall-distance:850px}
.celebration-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.petal{position:absolute;top:-40px;width:clamp(17px,4%,29px);height:33px;background:url('assets/cherry-petal.webp') center/contain no-repeat;animation:petal-drift 8s linear infinite;opacity:0;will-change:transform}
.petal-1{left:3%;--drift:26px;--spin:190deg;animation-delay:-2s}
.petal-2{left:89%;--drift:-34px;--spin:-200deg;animation-duration:9.5s;animation-delay:-6s}
.petal-3{left:8%;--drift:45px;--spin:240deg;animation-duration:10s;animation-delay:-7s;width:20px}
.petal-4{left:94%;--drift:-29px;--spin:180deg;animation-duration:8.6s;animation-delay:-4s}
.petal-5{left:17%;--drift:-40px;--spin:-170deg;animation-duration:11s;animation-delay:-.8s;width:18px}
.petal-6{left:82%;--drift:28px;--spin:270deg;animation-duration:10.8s;animation-delay:-8s;width:19px}

@keyframes petal-drift{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}
8%{opacity:.82}
50%{transform:translate3d(calc(var(--drift)*.4),calc(var(--fall-distance)*.5),0) rotate(calc(var(--spin)*.55));opacity:.65}
90%{opacity:.8}
100%{transform:translate3d(var(--drift),var(--fall-distance),0) rotate(var(--spin));opacity:0}
}

.sparkle{position:absolute;color:#e6b839;text-shadow:0 0 7px #fff;font-size:24px;line-height:1;opacity:0;animation:gentle-glint 3.4s ease-in-out infinite;will-change:transform,opacity}
.sparkle-1{left:7%;top:33%;animation-delay:-.4s}
.sparkle-2{right:8%;top:13%;animation-delay:-1.8s;font-size:19px}
.sparkle-3{left:6%;top:81%;animation-delay:-2.7s;font-size:20px}
.sparkle-4{right:5%;top:66%;animation-delay:-1s;font-size:26px}

@keyframes gentle-glint{0%,60%,100%{opacity:0;transform:scale(.35) rotate(-12deg)}
25%{opacity:.92;transform:scale(1.08) rotate(8deg)}
40%{opacity:.35;transform:scale(.75) rotate(16deg)}
}

.motion-surface:not(.in-view) .petal,.motion-surface:not(.in-view) .sparkle{animation-play-state:paused}
.image-cta,.sticky-consult a,.form-submit:not(:disabled){animation:cta-boing 1.65s ease-out infinite;transform-origin:50% 100%;will-change:transform}
.image-cta{margin:11px 0 6px}
.sticky-consult{padding-top:12px}
.sticky-consult a{animation-duration:1.65s}
.image-cta:focus-visible,.sticky-consult a:focus-visible,.form-submit:focus-visible{animation-play-state:paused}

@keyframes cta-boing{0%,66%,100%{transform:translateY(0) scale(1)}
10%{transform:translateY(2px) scale(1.014,.97)}
26%{transform:translateY(-9px) scale(.995,1.015)}
40%{transform:translateY(0) scale(1.008,.985)}
52%{transform:translateY(-4px) scale(1)}
}

.motion-paused .petal,.motion-paused .sparkle,.motion-paused .image-cta,.motion-paused .sticky-consult a,.motion-paused .form-submit,.page-hidden .petal,.page-hidden .sparkle,.page-hidden .image-cta,.page-hidden .sticky-consult a,.page-hidden .form-submit{animation-play-state:paused!important}

.slack-visual{margin-left:-5px;margin-right:-5px}
.slack-visual>img,.bonus-visual>img{width:100%;height:auto}
.bonus-visual{margin-left:-7px;margin-right:-7px}
.bonus-visual .sparkle{font-size:30px}

.inline-consult .inline-form-heading h2{color:#fff;font-size:31px;font-weight:800;line-height:1.55;letter-spacing:.025em;margin:0 0 18px;background:none;opacity:1;-webkit-text-fill-color:#fff;text-shadow:none;overflow:visible}
.applicant-field{border:0;padding:0;margin:0 0 25px;min-width:0}
.applicant-field legend{font-size:17px;font-weight:700;line-height:1.7;margin-bottom:11px;padding:0}
.applicant-field small{font-size:12px;background:#cb382d;color:#fff;padding:1px 7px;margin-left:10px;border-radius:2px}
.applicant-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.applicant-options label{position:relative;cursor:pointer}
.applicant-options input{position:absolute;top:50%;left:17px;transform:translateY(-50%);width:19px;height:19px;margin:0;accent-color:#07539f}
.applicant-options span{display:block;padding:13px 10px 13px 47px;border:1px solid #9caaba;border-radius:4px;font-weight:700;font-size:17px;line-height:1.7;background:#fff}
.applicant-options input:checked+span{border-color:#07539f;background:#eef6ff;color:#07539f;box-shadow:inset 0 0 0 1px #07539f}
.applicant-options input:focus-visible+span{outline:3px solid #f2bc39;outline-offset:3px}
.grade-field[hidden]{display:none!important}
.form-contact-note{font-size:13px;line-height:1.85;color:#555;margin:24px 0 9px}
.privacy-link{font-size:13px;color:#07539f}
.form-field input:focus,.form-field select:focus{outline:3px solid #f7d266;outline-offset:2px}
.faq-list details{margin-bottom:15px}
.faq-list summary{padding-top:18px;padding-bottom:18px}
.faq-list summary::after{top:24px}
.faq-answer p{margin:0}
.online-booking{text-align:center;border:2px solid #0f5ca7;border-top-width:7px;background:#f5f9ff}
.online-booking h2{font-size:34px;color:#074c91}
.online-booking .booking-button{font-size:23px;margin-bottom:8px}
.online-booking .booking-provider{font-size:13px;color:#536578;margin:0 0 18px}
.online-booking .booking-status{line-height:1.8}
.online-booking .booking-after{text-align:left}

@media(max-width:600px){.article-reading-note{padding:9px 13px;gap:8px;align-items:flex-start}
.article-reading-note p{font-size:13px}
.article-reading-note button{font-size:12px}
.inline-consult .inline-form-heading h2{font-size:clamp(25px,7.2vw,29px);line-height:1.6;letter-spacing:.015em}
.applicant-field legend,.applicant-options span{font-size:16px}
.applicant-options{gap:10px}
.applicant-options span{padding-left:43px}
.applicant-options input{left:14px;width:18px;height:18px}
.slack-visual{margin-left:-6px;margin-right:-6px}
.bonus-visual{margin-left:-7px;margin-right:-7px}
.sticky-consult{padding-top:12px}
.online-booking h2{font-size:28px}
.online-booking .booking-button{font-size:20px}
.petal{width:18px;height:24px}
.sparkle{font-size:19px}
.bonus-visual .sparkle{font-size:24px}
}

@media(prefers-reduced-motion:reduce){.petal,.sparkle{display:none}
.image-cta,.sticky-consult a,.form-submit{animation:none!important;transform:none!important}
}


.motion-surface .petal{left:var(--left);width:var(--size);height:calc(var(--size)*1.25);animation-duration:var(--duration);animation-delay:var(--delay);filter:saturate(1.12)}

@keyframes petal-drift{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}
5%{opacity:.98}
48%{transform:translate3d(calc(var(--drift)*.35),calc(var(--fall-distance)*.48),0) rotate(calc(var(--spin)*.5));opacity:.88}
94%{opacity:.96}
100%{transform:translate3d(var(--drift),var(--fall-distance),0) rotate(var(--spin));opacity:0}
}

.confetti{position:absolute;top:-30px;left:var(--left);width:11px;height:6px;background:var(--color);box-shadow:0 1px 1px #0001;opacity:0;animation:confetti-fall var(--duration) linear var(--delay) infinite;will-change:transform,opacity}

.confetti:nth-of-type(3n){width:7px;height:13px}
.confetti:nth-of-type(4n){width:13px;height:5px;border-radius:1px}

@keyframes confetti-fall{0%{transform:translate3d(0,0,0) rotate(var(--tilt)) rotateY(0deg);opacity:0}
5%{opacity:.96}
50%{transform:translate3d(calc(var(--drift)*.65),calc(var(--fall-distance)*.5),0) rotate(calc(var(--spin)*.5)) rotateY(240deg);opacity:.9}
95%{opacity:.96}
100%{transform:translate3d(var(--drift),var(--fall-distance),0) rotate(var(--spin)) rotateY(540deg);opacity:0}
}

.motion-surface .sparkle{left:var(--left);right:auto;top:var(--top);font-size:var(--size);animation-duration:2.5s;animation-delay:var(--delay);color:#ecc33b;text-shadow:0 0 8px #fff,0 0 13px #fff8}

.motion-surface:not(.in-view) .confetti,.motion-paused .confetti,.page-hidden .confetti{animation-play-state:paused!important}

@media(max-width:600px){.motion-surface .petal{width:calc(var(--size)*.82);height:calc(var(--size)*1.03)}
.motion-surface .sparkle{font-size:calc(var(--size)*.8)}
.confetti{width:9px;height:5px}
}

@media(prefers-reduced-motion:reduce){.confetti{display:none}
}


/* 大学の学びについての補足 */
.university-explainer{margin:32px 0 40px}
.university-explainer .article-head{margin-top:32px}
.textbook-comparison{margin:30px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;text-align:center}
.textbook-stage{border:2px solid #333;padding:18px 12px;background:#f4f4f4}
.textbook-stage>span{display:block;font-size:16px;font-weight:700;line-height:1.5;margin-bottom:10px}
.textbook-stage>strong{display:block;font-size:30px;line-height:1.4;color:#333}
.textbook-stage>p{font-size:16px;line-height:1.6;margin:12px 0 0}
.textbook-research{border:3px solid var(--blue);background:#eef7ff}
.textbook-research>strong{color:var(--blue);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:7px;text-underline-offset:3px}
.textbook-next{font-size:34px;font-weight:700;line-height:1.2;color:var(--blue)}
.university-explainer .research-example{font-size:20px;line-height:1.9;color:var(--blue);font-weight:700}
@media(min-width:540px){.textbook-comparison{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:center;gap:10px}.textbook-next{transform:rotate(-90deg)}}

/* 追加説明の改行と文字組み */
.university-explainer{overflow-wrap:normal;word-break:normal;line-break:strict}
.university-explainer>p{line-height:1.95;text-wrap:pretty}
.university-explainer .article-head{font-size:25px;line-height:1.65;letter-spacing:0}
.university-explainer .explain-unit{display:inline-block;max-width:100%;vertical-align:top}
.university-explainer .university-definition{font-size:20px;line-height:1.8;padding:22px 5px}
.university-definition .explain-line{display:block;font-size:17px;margin-bottom:12px;text-wrap:balance}
.university-definition strong{background:none;display:block}
.university-definition strong .explain-unit{background:linear-gradient(transparent 70%,var(--yellow) 70%)}
.university-explainer .research-example{font-size:19px;line-height:1.9;letter-spacing:0}
.university-explainer .textbook-stage{padding:15px 10px}
.university-explainer .textbook-stage>strong{font-size:27px;line-height:1.45}
@media(max-width:600px){.university-explainer .article-head{font-size:21px;line-height:1.65}.university-explainer .research-example{font-size:17px}.university-explainer .university-definition{font-size:19px}.university-definition .explain-line{font-size:16px}}
@media(max-width:350px){.university-explainer .article-head{font-size:20px}.university-explainer .research-example{font-size:16px}.university-explainer .university-definition{font-size:18px}}
