/* Scoped styles: course selection appears only on explicitly included pages. */
.gp-guide, .gp-guide-cta, .gp-guide-float {font-family: -apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;color:#182c42;line-height:1.75;box-sizing:border-box;}
.gp-guide *, .gp-guide-cta *, .gp-guide-float * {box-sizing:border-box;}
.gp-guide [hidden], .gp-guide-float[hidden] {display:none!important;}
.gp-guide-cta {max-width:1120px;margin:28px auto 44px;padding:30px 32px;border:1px solid #c5dadd;border-radius:22px;background:linear-gradient(115deg,#eff8f8,#f4f7fd);display:flex;gap:24px;align-items:center;box-shadow:0 8px 28px #163e5510;}
.gp-guide-cta-mark {width:56px;height:56px;flex-shrink:0;border:1px solid #b5d4d9;color:#076b70;background:#fff;border-radius:18px;font-size:32px;text-align:center;}
.gp-guide-eyebrow {color:#17646b;font-size:12px;font-weight:750;letter-spacing:.13em;margin:0 0 8px;}
.gp-guide-cta h2 {font-size:clamp(20px,2vw,25px);font-weight:750;margin:0 0 9px;line-height:1.5;}
.gp-guide-cta p:not(.gp-guide-eyebrow) {font-size:14px;margin:0;}
.gp-guide-cta-copy {flex:1;}
.gp-guide-button {display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#0a626b;color:#fff!important;border:1px solid #0a626b;border-radius:12px;padding:14px 21px;font-size:16px;line-height:1.5;font-weight:700;text-decoration:none!important;cursor:pointer;min-height:48px;box-shadow:0 4px 0 #084b53;transition:background .15s;}
.gp-guide-button:hover {background:#084c54;border-color:#084c54;}
.gp-guide-cta-action {flex-shrink:0;}
.gp-guide-cta-action small {display:block;font-size:11px;color:#526277;text-align:center;margin-top:12px;}
.gp-guide-home {margin:32px auto;}
.gp-guide-float {position:fixed;right:24px;bottom:28px;z-index:999;max-width:284px;border:1px solid #bfd6db;background:#fff;border-radius:18px;box-shadow:0 8px 30px #173d5326;padding:19px 22px 16px;}
.gp-guide-float a {display:block;color:#14535f;font-weight:750;font-size:15px;padding-top:6px;}
.gp-guide-float small {display:block;font-size:11px;color:#4f6176;margin-bottom:4px;}
.gp-guide-close {position:absolute;right:0;top:-18px;width:44px;height:44px;min-width:44px;border:1px solid #b8c8cc;background:#fff;border-radius:50%;color:#324555;font-size:24px;cursor:pointer;}
.gp-guide {max-width:900px;margin:0 auto;padding:30px 24px 60px;}
.gp-guide-intro {max-width:730px;margin:0 auto 26px;}
.gp-guide-intro p {margin-bottom:12px;}
.gp-guide .gp-guide-privacy {font-size:13px;margin-top:12px;}
.gp-guide .gp-guide-privacy summary {font-size:13px;font-weight:500;padding:10px 14px;}
.gp-guide .gp-guide-privacy > div {padding:0 14px 14px;}
.gp-guide-recording {display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;}
.gp-guide-muted, .gp-guide-footnote {font-size:13px;color:#536477;}
.gp-guide-panel {padding:34px 40px;border:1px solid #d6e1e6;background:#fff;border-radius:22px;box-shadow:0 12px 40px #193d5110;}
.gp-guide-progress-label {display:flex;justify-content:space-between;font-size:12px;color:#536477;margin-bottom:8px;gap:10px;}
.gp-guide-progress-label span:first-child {color:#17646b;font-weight:750;}
.gp-guide progress {display:block;width:100%;height:6px;appearance:none;border:0;border-radius:4px;background:#e7edef;margin-bottom:30px;}
.gp-guide progress::-webkit-progress-bar {background:#e7edef;border-radius:4px;}
.gp-guide progress::-webkit-progress-value {background:#16818a;border-radius:4px;}
.gp-guide progress::-moz-progress-bar {background:#16818a;border-radius:4px;}
.gp-guide fieldset {border:0;padding:0;margin:0;min-width:0;}
.gp-guide legend {font-size:25px;line-height:1.5;font-weight:750;width:100%;margin-bottom:8px;}
.gp-guide .gp-guide-hint {font-size:14px;color:#536477;margin:0 0 22px;}
.gp-guide-options {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.gp-guide-option {display:flex;align-items:center;gap:12px;min-height:64px;padding:14px 18px;border:1px solid #c7d5dc;border-radius:12px;background:#fff;font-size:15px;cursor:pointer;line-height:1.5;margin:0;}
.gp-guide-option:has(input:checked) {border:2px solid #137580;padding:13px 17px;background:#edf8f7;color:#07535c;}
.gp-guide-option:hover {border-color:#137580;}
.gp-guide input {accent-color:#0a626b;width:19px;height:19px;flex-shrink:0;margin:0;}
.gp-guide select {display:block;width:100%;min-height:48px;padding:10px 14px;margin-top:8px;border:1px solid #b1c4ce;border-radius:8px;background:#fff;color:#20364c;font-size:16px;}
.gp-guide-field {display:block;font-size:14px;font-weight:650;margin-top:22px;}
.gp-guide-field small {display:block;font-weight:400;color:#536477;}
.gp-guide-controls {display:flex;justify-content:space-between;gap:14px;margin-top:28px;}
.gp-guide-secondary {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 20px;border:1px solid #bacbd5;background:#fff;border-radius:10px;color:#23475d;font-size:15px;font-weight:650;cursor:pointer;}
.gp-guide-secondary:hover {background:#f0f6f8;}
.gp-guide-secondary:disabled {opacity:.5;cursor:default;}
.gp-guide-links {display:flex;justify-content:space-between;gap:12px;margin-top:22px;}
.gp-guide-links button {background:none;border:0;color:#315b70;font-size:13px;text-decoration:underline;min-height:44px;padding:6px 0;cursor:pointer;}
.gp-guide-footnote {padding:24px 8px;}
.gp-guide details {border:1px solid #d4e0e6;border-radius:12px;margin-top:20px;background:#fff;}
.gp-guide summary {cursor:pointer;padding:16px 20px;font-weight:650;color:#224a60;min-height:48px;}
.gp-guide details > div {padding:0 20px 20px;}
.gp-guide-result-head {padding:0 0 16px;border-bottom:1px solid #d4e0e6;}
.gp-guide h1, .gp-guide h2 {font-size:25px;font-weight:750;line-height:1.5;margin:0 0 16px;}
.gp-guide h3 {display:block;text-align:left;font-size:18px;line-height:1.5;font-weight:700;margin:0 0 12px;}
.gp-guide p {line-height:1.8;}
.gp-guide-result-head p:last-child {margin-bottom:0;}
.gp-guide-result-section {margin-top:28px;}
.gp-guide-courses {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.gp-guide-course {padding:23px;border:1px solid #d1e0e5;border-radius:15px;background:#fff;}
.gp-guide-course p {font-size:14px;}
.gp-guide-course .gp-guide-price {font-weight:700;color:#0b626b;}
.gp-guide a:not(.gp-guide-button) {color:#126378;text-decoration:underline;}
.gp-guide-course a {display:inline-flex;align-items:center;min-height:44px;font-weight:700;}
.gp-guide .gp-guide-recommendations > h2 {font-size:16px;color:#315b70;margin:0 0 14px;}
.gp-guide-recommendations .gp-guide-course {border:1px solid #93bcc2;border-top:4px solid #0a626b;background:linear-gradient(150deg,#f0f8f7,#fff 65%);box-shadow:0 6px 20px #193d5110;}
.gp-guide .gp-guide-recommendations .gp-guide-course h3 {font-size:24px;color:#123f48;line-height:1.55;}
.gp-guide-recommendations .gp-guide-courses:has(> :only-child) {grid-template-columns:1fr;}
.gp-guide-recommendations .gp-guide-course .gp-guide-button {font-size:14px;margin-top:4px;}
.gp-guide .gp-guide-result-head h2 {font-size:18px;}
.gp-guide-result-head p, .gp-guide-result-summary {font-size:14px;color:#536477;}
.gp-guide-result-summary {margin:16px 0 0;}
.gp-guide-badge {display:inline-block;border-radius:6px;background:#fff3d7;color:#704e17;padding:3px 9px;font-size:12px;margin-bottom:12px;}
.gp-guide-package-badge {background:#e1f0e9;color:#21593c;font-weight:700;}
.gp-guide .gp-guide-benefits {padding:16px 20px 12px 36px;margin:14px 0;border-radius:12px;background:#fff;border:1px solid #c2dace;font-size:15px;color:#224f40;}
.gp-guide .gp-guide-benefits li:first-child {font-size:18px;font-weight:750;}
.gp-guide .gp-guide-value {font-weight:650;color:#285348;}
.gp-guide li {margin-bottom:10px;}
.gp-guide ol, .gp-guide ul {padding-left:24px;}
.gp-guide-actions {display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.gp-guide-action {border:1px solid #d2e0e6;border-radius:14px;padding:20px;background:#f8fbfc;}
.gp-guide-action p {font-size:13px;margin:8px 0 0;}
.gp-guide-action a {display:inline-flex;min-height:44px;align-items:center;font-weight:700;}
.gp-guide-notice {padding:20px;background:#f3f7fa;border:1px solid #cedce4;border-radius:12px;font-size:14px;}
.gp-guide-feedback {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;font-size:14px;}
.gp-guide :focus-visible, .gp-guide-cta :focus-visible, .gp-guide-float :focus-visible {outline:3px solid #ba7004;outline-offset:4px;}
@media (max-width:1199px) {.gp-guide-cta {margin-left:24px;margin-right:24px;flex-wrap:wrap;}.gp-guide-cta-action {flex-basis:100%;text-align:center;}.gp-guide-float {display:none!important;}}
@media (max-width:600px) {.gp-guide {padding:24px 16px 36px;}.gp-guide-cta {margin:20px 16px 28px;padding:24px 20px;gap:14px;}.gp-guide-cta-mark {display:none;}.gp-guide-cta .gp-guide-button {font-size:14px;padding:14px 15px;width:100%;gap:10px;}.gp-guide-desktop-break {display:none;}.gp-guide-panel {padding:24px 20px;border-radius:16px;}.gp-guide legend, .gp-guide h2 {font-size:21px;}.gp-guide-options,.gp-guide-courses,.gp-guide-actions {grid-template-columns:1fr;}.gp-guide-option {min-height:56px;}.gp-guide-links {flex-direction:column;gap:0;align-items:center;}.gp-guide .gp-guide-recommendations .gp-guide-course h3 {font-size:22px;}.gp-guide-progress-label {font-size:11px;}}
@media (prefers-reduced-motion:reduce) {.gp-guide *, .gp-guide-cta *, .gp-guide-float * {transition:none!important;scroll-behavior:auto!important;}}

.gp-guide-panel, #guide-result {scroll-margin-top:94px;}

#guide-result, .gp-guide-result-section, .gp-guide-recommendations {background:transparent;}
#services5-4j {padding-top:12px;}
/* Keep the existing course-card rows inside the mobile page below the new entry. */
@media (max-width:600px) {#services5-4j .row {margin-left:0;margin-right:0;} #services5-4j .top-line {flex-direction:column;gap:12px;} #services5-4j .top-line .card-title {width:100%;} #services5-4j .top-line .cost {margin-left:0!important;} #services5-4j .card-wrapper .card-box {padding:24px 16px;}}
.gp-guide-comparison { margin-top:1.4rem; padding:1.25rem; border:1px solid #b9cccf; border-radius:14px; background:#fff; }
.gp-guide-comparison h4 { font-size:1.05rem; font-weight:700; margin:1.25rem 0 .6rem; }
.gp-guide-comparison h4:first-child { margin-top:0; }
.gp-guide-comparison-result { padding:.75rem 1rem; background:#f2f7f7; border-radius:10px; overflow-wrap:anywhere; }
.gp-guide-comparison .gp-guide-field input { display:block; width:100%; min-height:44px; padding:.6rem; border:1px solid #a7b7bb; border-radius:8px; font:inherit; }
.gp-guide-comparison select { max-width:100%; }
.gp-guide-comparison .gp-guide-field input:focus-visible { outline:3px solid #177b9a; outline-offset:3px; }
