/* Content styles for the database-rendered 育成就労 pricing page. */
.ikusei-pricing{--orange:#f28b00;--ink:#202733;--muted:#626b76;--cream:#faf7f2;--line:#e9e3d9}
.ikusei-pricing,
.ikusei-pricing *{box-sizing:border-box}
.ikusei-pricing{margin:0;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--cream);line-height:1.8}
.ikusei-pricing a{color:inherit;text-decoration:none}
.ikusei-pricing button,
.ikusei-pricing a,
.ikusei-pricing summary{-webkit-tap-highlight-color:transparent}
.ikusei-pricing a:focus-visible,
.ikusei-pricing summary:focus-visible{outline:3px solid #225d95;outline-offset:5px}
.ikusei-pricing .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;background:var(--orange);border:1px solid var(--orange);border-radius:8px;color:white;font-weight:700;line-height:1.5}
.ikusei-pricing .btn:hover{background:#d87900}
.ikusei-pricing .outline{background:white;color:#bd6500}
.ikusei-pricing .outline:hover{background:#fff1dd}
.ikusei-pricing .wrap{max-width:1140px;margin:auto;padding:0 26px}
.ikusei-pricing .crumb{font-size:12px;color:var(--muted);padding-top:23px}
.ikusei-pricing .hero{text-align:center;padding:50px 0 33px}
.ikusei-pricing .badge{display:inline-block;background:#fff0d8;color:#ab5d00;border-radius:30px;padding:5px 17px;font-size:13px;font-weight:700}
.ikusei-pricing h1{font-size:43px;line-height:1.4;margin:17px 0 12px;letter-spacing:2px}
.ikusei-pricing .hero p{color:var(--muted);margin:8px 0 22px}
.ikusei-pricing .meta{font-size:13px}
.ikusei-pricing .jump{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px 0 0}
.ikusei-pricing .jump a{border:1px solid var(--line);border-radius:25px;padding:6px 17px;background:white;font-size:13px}
.ikusei-pricing .section{padding:30px 0}
.ikusei-pricing h2{font-size:26px;margin:0 0 22px;line-height:1.5}
.ikusei-pricing h2:before{content:'';display:inline-block;width:5px;height:23px;background:var(--orange);margin-right:12px;vertical-align:-3px}
.ikusei-pricing h3{margin:0 0 12px;font-size:19px}
.ikusei-pricing .sub{color:var(--muted);font-size:13px;margin-top:-12px}
.ikusei-pricing .course-groups{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:18px;margin-top:24px}
.ikusei-pricing .course-group{min-width:0;display:flex;flex-direction:column;border:1px solid #ff9b20;background:#fff3e2;border-radius:14px;padding:25px}
.ikusei-pricing .course-group-passed{border-color:#82c98a;background:#f0f9ed}
.ikusei-pricing .course-group-header{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.ikusei-pricing .course-person{width:32px;height:38px;flex:none;position:relative;margin-top:4px;color:#f28b00}
.ikusei-pricing .course-person:before{content:'';position:absolute;width:18px;height:18px;border-radius:50%;background:currentColor;left:7px;top:0}
.ikusei-pricing .course-person:after{content:'';position:absolute;width:32px;height:17px;border-radius:16px 16px 5px 5px;background:currentColor;left:0;bottom:0}
.ikusei-pricing .course-group-passed .course-person{color:#248335}
.ikusei-pricing .course-group-header h3{font-size:21px;font-weight:800;line-height:1.45;color:#c65a00;margin:0 0 3px}
.ikusei-pricing .course-group-passed .course-group-header h3{color:#146331}
.ikusei-pricing .course-group-header p{font-size:14px;color:#657082;font-weight:600;margin:0}
.ikusei-pricing .course-items{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:10px;align-items:stretch}
.ikusei-pricing .course-card{min-width:0;background:white;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 3px 14px #15244404}
.ikusei-pricing .course-group-passed .course-card{flex:1}
.ikusei-pricing .course-badge{display:inline-block;background:#fff0dc;color:#ad5c00;border-radius:5px;padding:5px 8px;font-size:11px;font-weight:700;line-height:1.5}
.ikusei-pricing .course-group-passed .course-badge{background:#e6f4e7;color:#226d3b}
.ikusei-pricing .course-card h4{font-size:19px;line-height:1.45;margin:14px 0 21px;color:#102449;font-weight:700}
.ikusei-pricing .course-hours,.ikusei-pricing .course-tax{font-size:13px;color:#647083;font-weight:600}
.ikusei-pricing .course-hours{margin:0}
.ikusei-pricing .course-price{font-size:34px;letter-spacing:-1px;font-weight:800;line-height:1.3;white-space:nowrap;margin:14px 0 3px;color:#102449}
.ikusei-pricing .course-price small,.ikusei-pricing .course-total-price small{font-size:16px;letter-spacing:0}
.ikusei-pricing .course-tax{margin:0}
.ikusei-pricing .course-duration{border-top:1px solid var(--line);padding-top:14px;margin:20px 0 0;font-size:13px;font-weight:700;color:#102449}
.ikusei-pricing .course-plus{display:flex;align-items:center;justify-content:center;color:#f28b00;font-size:48px;font-weight:800;line-height:1}
.ikusei-pricing .course-total{margin-top:18px;border-top:1px solid #ffcf97;padding-top:12px;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
.ikusei-pricing .course-total-label{font-size:18px;font-weight:700}
.ikusei-pricing .course-total-price{font-size:35px;line-height:1.3;white-space:nowrap;letter-spacing:-1px;color:#d85b00}
.ikusei-pricing .course-total .course-tax{border-left:1px solid #ffcf97;padding-left:14px}
.ikusei-pricing .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ikusei-pricing .card,
.ikusei-pricing .panel{background:white;border:1px solid var(--line);border-radius:15px;padding:27px}
.ikusei-pricing .card{position:relative;box-shadow:0 5px 18px #46301804}
.ikusei-pricing .tag{font-size:12px;font-weight:700;color:#ad5c00;display:inline-block;background:#fff1dc;border-radius:5px;padding:4px 9px;margin-bottom:15px}
.ikusei-pricing .green{color:#3b6951;background:#eaf4ed}
.ikusei-pricing .card h3{min-height:58px}
.ikusei-pricing .hours{color:var(--muted);font-size:14px}
.ikusei-pricing .price{font-size:36px;font-weight:800;letter-spacing:-1px;line-height:1.3;margin:22px 0 6px}
.ikusei-pricing .price small{font-size:16px;letter-spacing:0}
.ikusei-pricing .period{border-top:1px solid var(--line);padding-top:15px;margin-top:20px;font-size:14px}
.ikusei-pricing .note{font-size:13px;color:var(--muted);line-height:1.9}
.ikusei-pricing .notice{border-left:4px solid var(--orange);background:#fff0dc;border-radius:8px;padding:20px 24px;margin-top:20px}
.ikusei-pricing .discounts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ikusei-pricing .discount{background:#fff4e4;border-radius:12px;padding:20px}
.ikusei-pricing .discount strong{display:block;font-size:28px;color:#ad5c00}
.ikusei-pricing .two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ikusei-pricing .check{padding:0;list-style:none;margin:0}
.ikusei-pricing .check li{padding:7px 0 7px 24px;position:relative;font-size:14px}
.ikusei-pricing .check li:before{content:'✓';color:var(--orange);font-weight:800;position:absolute;left:0}
.ikusei-pricing .muted{color:var(--muted)}
.ikusei-pricing table{width:100%;border-collapse:collapse;font-size:14px}
.ikusei-pricing th,
.ikusei-pricing td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)}
.ikusei-pricing th{background:#faf5ed;font-weight:700}
.ikusei-pricing td:last-child{font-weight:700}
.ikusei-pricing .scroll{overflow:auto}
.ikusei-pricing .optiongrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ikusei-pricing .optiongrid > *{min-width:0}
.ikusei-pricing .amount{font-weight:800;font-size:25px;color:#aa5c00}
.ikusei-pricing .a2{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.ikusei-pricing .a2 .price{margin-top:10px}
.ikusei-pricing .support{background:#fff3e1;padding:21px;border-radius:10px}
.ikusei-pricing .cancel{margin-top:20px}
.ikusei-pricing details.disclosure{margin-top:16px;border-top:1px solid var(--line);padding-top:15px}
.ikusei-pricing #options .panel > table + details.disclosure{border-top:0;padding-top:0}
.ikusei-pricing #options .panel > table + details.disclosure ol{padding-left:0}
.ikusei-pricing details.disclosure summary{cursor:pointer;font-weight:700;font-size:14px}
.ikusei-pricing .contact{margin:35px 0 45px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff0dc;border:0}
.ikusei-pricing .contact p{margin:0;font-size:14px}
.ikusei-pricing .small{font-size:12px}
.ikusei-pricing .wide{grid-column:1/-1}
.ikusei-pricing ol{padding-left:22px;font-size:13px}
.ikusei-pricing .pill{border-radius:5px;padding:2px 7px;background:#f4f1eb;font-size:12px}
@media(max-width:1050px){
.ikusei-pricing .course-groups{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:720px){
.ikusei-pricing .wrap{padding:0 18px}
.ikusei-pricing .hero{padding-top:35px}
.ikusei-pricing h1{font-size:31px}
.ikusei-pricing .grid,
.ikusei-pricing .two,
.ikusei-pricing .a2,
.ikusei-pricing .optiongrid,
.ikusei-pricing .discounts{grid-template-columns:minmax(0,1fr)}
.ikusei-pricing .card h3{min-height:0}
.ikusei-pricing .card{padding:23px}
.ikusei-pricing .contact{flex-direction:column;align-items:flex-start}
.ikusei-pricing .price{font-size:33px}
.ikusei-pricing .section{padding:22px 0}
.ikusei-pricing th,
.ikusei-pricing td{padding:12px 10px}
.ikusei-pricing .scroll table{min-width:530px}
}
@media(max-width:600px){
.ikusei-pricing .course-group{padding:18px}
.ikusei-pricing .course-group-header h3{font-size:19px}
.ikusei-pricing .course-items{grid-template-columns:minmax(0,1fr);gap:9px}
.ikusei-pricing .course-plus{font-size:34px}
.ikusei-pricing .course-price{font-size:33px}
.ikusei-pricing .course-total{gap:10px}
.ikusei-pricing .course-total .course-tax{border-left:0;padding-left:0;width:100%;text-align:center}
}
@media print{
.ikusei-pricing .jump,
.ikusei-pricing .download,
.ikusei-pricing .contact{display:none}
.ikusei-pricing .section{break-inside:avoid}
.ikusei-pricing{background:white}
.ikusei-pricing .card,
.ikusei-pricing .panel{box-shadow:none}
.ikusei-pricing .wrap{max-width:none}
.ikusei-pricing h1{font-size:28px}
.ikusei-pricing .hero{padding:10px 0}
.ikusei-pricing a{color:black}
}
.ikusei-pricing{padding-top:90px}
.ikusei-pricing [id]{scroll-margin-top:105px}
@media(max-width:700px){.ikusei-pricing{padding-top:60px}.ikusei-pricing [id]{scroll-margin-top:75px}}
