/* Scoped to the course/price page; clear hierarchy and readable text. */
.sub-price .pg-content{max-width:1080px;width:86%;color:#173e59;font-size:18px;overflow-wrap:break-word}
.sub-price .pg-content p{font-size:18px;line-height:1.9;margin:14px 0}
.sub-price .pg-content .note{font-size:16px;color:#405d70;line-height:1.85}
.sub-price .pg-content h2{font-size:30px;line-height:1.5;margin:0 0 22px;letter-spacing:0}
.sub-price .pg-content h3{font-size:28px;line-height:1.5;margin:6px 0 18px;letter-spacing:0}
.sub-price .pg-content h4{font-size:17px;line-height:1.6;margin:0 0 12px;font-weight:700}
.sub-price .pg-intro{margin-bottom:64px}
.sub-price .pg-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 22px}
.sub-price .pg-choices a{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #bed4e3;border-top:4px solid #ed7b0d;border-radius:7px;background:#f4f9fc;text-decoration:none;color:#103e62}
.sub-price .pg-choices a:hover{background:#e8f3fa;border-color:#0071ad}
.sub-price .pg-choices a:focus-visible,.sub-price .pg-content a:focus-visible{outline:3px solid #0071ad;outline-offset:4px}
.pg-choice-purpose{font-size:16px;line-height:1.6;color:#36576b}
.pg-choices strong{font-size:23px;line-height:1.5}
.pg-choice-action{font-size:16px;font-weight:700;color:#00639c;margin-top:auto;display:flex;justify-content:space-between}
.pg-more-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding:18px 0;border-bottom:1px solid #dce8ee}
.sub-price .pg-more-links a{font-size:16px;font-weight:700}
.sub-price .pg-section{margin:0 0 64px;scroll-margin-top:100px}
.pg-courses{display:grid;gap:32px}
.pg-course{display:grid;grid-template-columns:31% minmax(0,1fr);border:1px solid #cadde8;border-top:4px solid #ed7b0d;border-radius:8px;overflow:hidden;scroll-margin-top:96px;background:white;position:relative}
.pg-course>.layout-anchor{position:absolute;top:0}
.pg-course-photo{background:#edf5f9}
.pg-course-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}
#machine .pg-course-photo img{object-position:center 30%}
#semi .pg-course-photo img{object-position:center 20%}
.pg-course-body{padding:30px;min-width:0}
.sub-price .pg-content .pg-number{font-size:14px;letter-spacing:.12em;color:#006cae;font-weight:700;margin:0}
.pg-fees{margin-top:24px}
.pg-fees dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.pg-fees dl>div{padding:16px;background:#eef6fb;border-radius:5px;min-width:0}
.pg-fees dt{font-size:17px;line-height:1.6;font-weight:700}
.sub-price .pg-fees dd{margin:8px 0 0;font-family:Arial,Meiryo,sans-serif;font-size:34px;line-height:1.35;font-weight:700;color:#00699f;font-variant-numeric:tabular-nums;white-space:nowrap}
.pg-fees dd small{font-size:17px;letter-spacing:0}
.sub-price .pg-content .course-hours{margin-top:24px;padding:20px;background:#f7f9fa;border-left:3px solid #92bfd8}
.sub-price .pg-content .course-hours p{font-size:17px;margin:8px 0;line-height:1.85}
.sub-price .pg-content .course-hours .note{font-size:16px}
.sub-price .pg-content .text-link,.sub-price .pg-content .pill{font-size:17px;line-height:1.7}
.sub-price .pg-content .text-link{display:inline-block;margin-top:10px}
.sub-price .pg-content .pill{padding:14px 22px}
.sub-price .pg-extra,.sub-price .pg-trial{padding:32px;background:#f7fafc;border:1px solid #d7e5ed;border-radius:8px}
.sub-price .pg-content .table-scroll{margin:24px 0;background:white}
.sub-price .pg-content table{font-size:18px;min-width:0}
.sub-price .pg-content th,.sub-price .pg-content td{font-size:18px;padding:18px;min-width:0;line-height:1.8}
.sub-price .pg-content td:last-child{font-weight:700;color:#00699f}
.sub-price .pg-content th:first-child,.sub-price .pg-content td:first-child{width:34%;min-width:84px}
.sub-price .pg-content .initial-cost{margin:0;padding:32px;font-size:18px}
.sub-price .pg-content .initial-cost p{font-size:18px}
@media(max-width:800px){
 .sub-price .pg-content{width:88%}
 .pg-course{grid-template-columns:1fr}
 .pg-course-photo img{aspect-ratio:2.3;max-height:300px;object-position:center 40%}
 .pg-course-body{padding:28px}
 /* Keep the results link available without covering prices on small screens. */
 .sub-price .layout-results-mascot{position:static;transform:none!important;animation:none!important;margin:0 6% 100px auto}
}
@media(max-width:360px){
 .pg-fees dl{grid-template-columns:1fr}
 .pg-fees dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px}
 .sub-price .pg-fees dd{margin:0}
}
@media(max-width:600px){
 .sub-price .pg-content{width:90%;font-size:17px;margin-top:28px}
 .sub-price .pg-content p,.sub-price .pg-content .initial-cost p{font-size:17px;line-height:1.9}
 .sub-price .pg-content h2{font-size:25px;margin-bottom:18px}
 .sub-price .pg-content h3{font-size:25px}
 .sub-price .pg-content h4{font-size:17px}
 .pg-course-suffix{display:block}
 .sub-price .pg-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
 .sub-price .pg-choices a{padding:12px;gap:8px;min-width:0}
 .pg-choices .pg-choice-purpose{display:none}
 .pg-choices strong{font-size:18px;line-height:1.45}
 .pg-choices strong span{display:block}
 .pg-choice-action{font-size:14px;line-height:1.5;gap:4px}
 .pg-more-links{gap:14px 20px}
 .sub-price .pg-intro,.sub-price .pg-section{margin-bottom:44px}
 .pg-courses{gap:26px}
 .pg-course-body{padding:22px 18px}
 .pg-course-photo img{aspect-ratio:1.65;max-height:240px}
 .pg-fees dl{gap:10px}
 .pg-fees dl>div{padding:13px 10px}
 .pg-fees dt{font-size:16px}
 .sub-price .pg-fees dd{font-size:28px}
 .pg-fees dd small{font-size:16px}
 .sub-price .pg-content .course-hours{padding:16px}
 .sub-price .pg-content .course-hours p{font-size:16px}
 .sub-price .pg-extra,.sub-price .pg-trial,.sub-price .pg-content .initial-cost{padding:22px 18px}
 .sub-price .pg-content td,.sub-price .pg-content th{font-size:16px;padding:12px 10px}
 .sub-price .pg-content .pill,.sub-price .pg-content .text-link{font-size:16px}
 .sub-price .pg-content .pill{padding:13px 16px}
 .pg-course,.sub-price .pg-section{scroll-margin-top:82px}
}

#pg-courses-title span{display:inline-block}
