/* Preview-only fixes: keep original styles; allow longer, sourced fee labels. */
#main_content .cost-list-border{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0 28px}
#main_content .cost-list-border table{width:100%;margin:0;box-sizing:border-box;border-collapse:collapse}
#main_content .cost-list-border thead th{background:#edf6fc;color:#173d5d;vertical-align:middle}
#main_content .cost-list-border th,#main_content .cost-list-border td{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
#main_content .cost-list-border tbody th{width:28%;background:#f7fafc}
#main_content .cost-list-border tbody tr:last-child th,#main_content .cost-list-border tbody tr:last-child td{border-bottom-width:2px}
#main_content table.fee-data td.data,#main_content table.fee-data_w td.data{white-space:normal;overflow-wrap:anywhere;line-height:1.6;padding:8px}
#main_content table.fee-data th{min-width:80px;width:23%!important;padding:8px}
#main_content .source{font-size:.9rem;color:#49566a}
#main_content .source a{text-decoration:underline}
@media(max-width:768px){
 #main_content .cost-list-border th,#main_content .cost-list-border td{font-size:13px;padding:10px}
 #main_content .cost-list-border table{min-width:540px}
 #main_content .cost-list-border tbody th{width:28%}
 #main_content table.fee-data{width:100%}
 #main_content table.fee-data td.data,#main_content table.fee-data th{font-size:13px!important;padding:6px}
 #main_content p{overflow-wrap:anywhere}
}
#main_content .cost-list-border table{table-layout:fixed}
#main_content .cost-list-border td,#main_content .cost-list-border th{white-space:normal;word-break:normal;overflow-wrap:anywhere}
#main_content .cost-list-border .total th,#main_content .cost-list-border .total td{background:#e3f3fb;font-weight:700}
#main_content .yen-main{display:block;font-size:1.12em;line-height:1.6;color:#183f5c}
#main_content .currency-sub{display:block;color:#65717c;font-size:.86em;font-weight:normal;line-height:1.6}
#main_content td.calculation{color:#65717c;font-size:.86em}
/* Reading layout: preview only. */
#main_content{max-width:760px!important;width:100%!important;margin:0 auto!important;float:none!important;box-sizing:border-box}
#main_content p{line-height:1.95;margin-bottom:20px}
#main_content .article-lead{font-size:1.05rem;line-height:1.9}
#main_content article>.top-img{max-width:560px;margin:20px auto 28px}
#main_content .article-assumptions,#main_content .cost-caption{font-size:.88rem;color:#596570;line-height:1.8}
#main_content .cost-scope{padding:18px 20px;background:#f4f8fb;border-left:4px solid #6cb4e4;margin-bottom:22px}
#main_content .cost-scope p:last-child{margin-bottom:0}
#main_content .cost-exclusions{padding-top:12px;border-top:1px solid #dce5ec}
#main_content .cost-overview table{min-width:0!important}
#main_content .cost-overview tbody th{width:50%}
#main_content .cost-overview .yen-main{font-size:1.35rem}
#main_content details.cost-details{margin:12px 0;border:1px solid #cbd9e3;border-radius:5px}
#main_content details.cost-details>summary{padding:16px;background:#f2f7fa;color:#24455c;display:list-item;list-style:disclosure-closed inside;cursor:pointer;font-size:1rem;line-height:1.6}
#main_content details.cost-details[open]>summary{list-style:disclosure-open inside;border-bottom:1px solid #dce5ec}
#main_content details.cost-details>summary::-webkit-details-marker{display:inline}
#main_content .disclosure-content{padding:16px}
#main_content .disclosure-content p{font-size:.9rem;overflow-wrap:anywhere}
#main_content .disclosure-content .cost-list-border{margin-top:0}
#main_content .disclosure-content>:last-child{margin-bottom:0}
#main_content .section-guide{margin:12px 0 24px 1.4em}
#main_content .section-guide li{margin-bottom:8px;list-style:disc}
@media(max-width:800px){#main_content{max-width:100%!important;padding:0 16px!important}#main_content .cost-scope{padding:14px}#main_content .disclosure-content{padding:10px}#main_content .cost-overview .yen-main{font-size:1.15rem}}
/* Mobile readability fixes, verified in the ToyCatch Chrome profile. */
@media(max-width:600px){
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom))!important}
 #main_content{padding-left:12px!important;padding-right:12px!important}
 #main_content h2{font-size:1.08rem!important;line-height:1.6!important}
 #main_content h3{font-size:1.05rem!important;line-height:1.6!important}
 #main_content p{font-size:16px;line-height:1.85}
 #main_content .cost-caption,#main_content .source,#main_content .article-assumptions{font-size:14px;line-height:1.8}
 #main_content .cost-scope{padding:14px 12px}
 #main_content .cost-overview th,#main_content .cost-overview td{font-size:14px;padding:12px 8px}
 #main_content .cost-overview .yen-main{font-size:1.2rem}
 #main_content details.cost-details>summary{font-size:15px;padding:14px 12px;min-height:44px;box-sizing:border-box}
 #main_content .cost-details .cost-list-border table{display:block;min-width:0!important;width:100%}
 #main_content .cost-details table thead,#main_content .cost-details table tbody{display:block}
 #main_content .cost-details table tr{display:grid;grid-template-columns:46% 54%}
 #main_content .cost-details table th,#main_content .cost-details table td{display:block;box-sizing:border-box;width:auto!important;min-width:0;font-size:14px;padding:10px 8px}
 #main_content .cost-details table thead th:nth-child(3){display:none}
 #main_content .cost-details table td.calculation{grid-column:1 / -1;background:#f7fafc;font-size:13px;line-height:1.7;padding:7px 8px;border-top:0}
 #main_content .cost-details table td.calculation::before{content:'計算：';font-weight:bold}
 #main_content .cost-details .yen-main{font-size:16px}
 #main_content .cost-details .currency-sub{font-size:13px}
 #main_content .cost-details .cost-list-border{overflow:visible}
 #main_content .cost-simple{min-width:0!important}
 #main_content .cost-list-border.is-scrollable::before{content:'表は横にスクロールできます →';display:block;font-size:13px;color:#52697a;padding:6px 0 10px}
 #header{position:relative}
 #header .drawer-hamburger{position:absolute!important;top:0!important;right:0!important}
 #pageTop{display:none!important}
 #fixed-contact-cta .fixed-contact-cta__lead{display:none!important}
 #fixed-contact-cta .fixed-contact-cta__button{min-height:62px!important;height:62px!important;padding:7px 3px!important;gap:3px!important;box-sizing:border-box;font-size:12px!important;line-height:1.3!important}
 #fixed-contact-cta .fixed-contact-cta__button svg{width:19px!important;height:19px!important}
 #fixed-contact-cta .fixed-contact-cta__counseling-label small{font-size:10px!important}
 #fixed-contact-cta{padding-bottom:env(safe-area-inset-bottom)!important}
}
/* Paragraph groups and payment timing: preview only. */
#main_content .note>p,#main_content .source>p,#main_content .cost-caption>p,#main_content .cost-exclusions>p{margin-bottom:14px}
#main_content .note>p:last-child,#main_content .source>p:last-child,#main_content .cost-caption>p:last-child,#main_content .cost-exclusions>p:last-child{margin-bottom:0}
#main_content .source>p,#main_content .cost-caption>p{font-size:14px;line-height:1.85;color:#596570}
#main_content .payment-timing{display:grid;gap:16px;margin:24px 0}
#main_content .payment-card{border:1px solid #c7dce9;border-radius:6px;overflow:hidden;background:#fff}
#main_content .payment-card h3{margin:0!important;border:0!important;border-bottom:1px solid #d5e5ef!important;border-radius:0!important;padding:14px 18px!important;background:#edf6fc!important;color:#254f69!important;font-size:1.05rem!important;line-height:1.6}
#main_content .payment-card ul{margin:0!important;padding:14px 20px!important;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
#main_content .payment-card li{margin:0!important;list-style:none!important;line-height:1.7;padding-left:1em;position:relative}
#main_content .payment-card li::before{content:'・';position:absolute;left:0}
#main_content .payment-warning{padding:16px;background:#fff8e8;border-left:4px solid #d9ab50}
@media(max-width:600px){
 #main_content p{margin-bottom:22px}
 #main_content .payment-card h3{font-size:16px!important;padding:12px 14px!important}
 #main_content .payment-card ul{grid-template-columns:1fr;padding:14px 16px!important;gap:8px}
 #main_content .payment-card li{font-size:16px!important}
 #main_content .payment-warning{font-size:15px!important;padding:14px}
 #main_content #p2 .note{margin:20px 0;padding:14px;overflow-wrap:anywhere}
 #main_content #p2 .note p{font-size:14px;line-height:1.85}
}
/* Match the recent article TOC, with aligned wrapping and full-row targets. */
#main_content #mokuji-menu2{background:rgb(204,255,214);border:1px solid rgb(226,233,229);margin:24px auto;padding:16px 20px;max-width:100%;box-sizing:border-box}
#main_content #mokuji-menu2>p{font-size:1rem;font-weight:700;text-align:center;margin:0 0 10px}
#main_content #mokuji-menu2 ol{counter-reset:toc;list-style:none;margin:0;padding:0}
#main_content #mokuji-menu2 li{list-style:none;margin:0;padding:0;counter-increment:toc}
#main_content #mokuji-menu2 li::before{content:none}
#main_content #mokuji-menu2 a{display:grid;grid-template-columns:2em minmax(0,1fr);column-gap:8px;align-items:start;min-height:44px;padding:10px 6px;box-sizing:border-box;font-size:16px;line-height:1.65;color:#164b32;text-decoration:none;overflow-wrap:anywhere}
#main_content #mokuji-menu2 a::before{content:counter(toc) '.';font-weight:700;text-align:right}
#main_content #mokuji-menu2 li+li{border-top:1px solid rgba(30,100,60,.12)}
#main_content #mokuji-menu2 a:hover{background:rgba(255,255,255,.4)}
#main_content #mokuji-menu2 a:focus-visible{outline:2px solid #256b48;outline-offset:2px}
@media(max-width:600px){#main_content #mokuji-menu2{padding:14px 10px;margin:22px 0}#main_content #mokuji-menu2 a{font-size:15px;padding:12px 4px;min-height:48px;line-height:1.7;column-gap:7px;grid-template-columns:1.8em minmax(0,1fr)}}
#main_content #mokuji-menu2 li,#main_content #mokuji-menu2 a{text-indent:0!important}
#main_content .school-fee-comparison .school-campuses{font-size:14px;font-weight:normal;line-height:1.8}
#main_content .school-fee-comparison tbody th{width:58%}
#main_content .school-fee-comparison .yen-main{font-size:16px}
@media(max-width:600px){#main_content .school-fee-comparison table{min-width:0!important}#main_content .school-fee-comparison th,#main_content .school-fee-comparison td{padding:12px 8px;font-size:14px}#main_content .school-fee-comparison .yen-main{font-size:15px}#main_content .school-fee-comparison .school-campuses{font-size:13px}}
