:root{font-family:system-ui,-apple-system,"Segoe UI","Meiryo",sans-serif;background:#f5f7f0;color:#263e34;line-height:1.8}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #d6dfd0}header>div{max-width:980px;padding:16px 24px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:10px}.brand{font-weight:800}.private{font-size:11px;border:1px solid #b6c5ad;border-radius:6px;padding:4px 8px}main,footer{max-width:850px;padding:30px 24px;margin:auto}footer{font-size:12px;color:#52664d;border-top:1px solid #d6dfd0;margin-top:32px}h1{white-space:pre-line;font-size:clamp(28px,4vw,42px);line-height:1.45;margin:0 0 20px}h2{font-size:23px;line-height:1.6}h3{font-size:16px}p{margin:0 0 14px}.eyebrow{color:#4b684d;font-size:13px;font-weight:750;letter-spacing:.03em}.lead{font-size:18px}.hero{padding:20px 0 30px}.small{font-size:13px;color:#51664e}.field,fieldset,.panel,.card{padding:24px;background:#fff;border:1px solid #d3dfcb;border-radius:16px;margin:20px 0}.field>label,legend{font-weight:700;font-size:18px}fieldset{min-width:0}legend{padding:0 8px}.number-row{display:flex;gap:10px;align-items:center;margin:14px 0}.number-row input{min-width:0;width:65%;height:48px;border:1px solid #829b77;border-radius:8px;padding:8px 12px;font:inherit}.option,.check{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:12px;cursor:pointer}.option{border:1px solid #b0c0a6;border-radius:10px;margin:10px 0}.option:has(input:checked){border:2px solid #315f42;background:#edf3e8}input[type=checkbox],input[type=radio]{flex:0 0 auto;width:18px;height:18px;margin-top:6px;accent-color:#315f42}.scope{font-size:14px}.check{font-weight:400!important}.notice,.why,.saving{padding:18px;background:#eaf1e4;border-radius:12px;margin:18px 0}.notice{font-size:14px}.saving{background:#fff5d9}.saving strong{display:block;font-size:19px}.prices{background:#f1f5ed;padding:18px;border-radius:12px}.prices p{margin:10px 0}.prices span{font-size:14px;display:block}dl{margin:22px 0}dt{font-size:13px;color:#53664d;font-weight:700;margin-top:12px}dd{margin:3px 0 0}button,.official{min-height:44px}button{font:inherit;border:1px solid #829b77;background:#fff;color:#263e34;padding:11px 18px;border-radius:10px;cursor:pointer;line-height:1.65}button:hover{background:#edf3e8}.primary{background:#315f42;color:#fff;font-weight:700;width:100%;padding:16px}.primary:hover{background:#234b33}.choice{display:block;width:100%;text-align:left;margin:12px 0}.back{margin-bottom:24px}.official{display:flex;align-items:center;color:#23563b;padding:10px 0;text-underline-offset:4px}.error{color:#913b25}.panel{white-space:pre-line}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #176db2;outline-offset:4px}h1:focus{outline:none}.skip{position:absolute;top:-100px;left:12px;background:white;padding:12px}.skip:focus{top:0}input:disabled{background:#e5e9df}@media(max-width:600px){main,footer{padding:24px 16px}header>div{padding:14px 16px}.brand{font-size:15px}.private{font-size:10px}.field,fieldset,.panel,.card{padding:17px}.hero{padding:8px 0 20px}h2{font-size:21px}.field>label,legend{font-size:17px}.number-row input{width:67%}.option{padding:12px}.scope{font-size:13px}.prices,.notice,.saving,.why{padding:15px}}
/* 2026-09-27: static guide below the diagnosis (outside main, which app.js replaces). */
.telecom-guide{max-width:850px;margin:auto;padding:0 24px}.telecom-guide>section{padding:24px;background:#fff;border:1px solid #d3dfcb;border-radius:16px;margin:20px 0}.telecom-guide h2{margin:0 0 12px}.telecom-guide h3{margin:18px 0 6px}.telecom-guide ul,.telecom-guide ol{margin:0 0 14px;padding-left:1.4em}.telecom-guide li{margin:6px 0}.telecom-table{overflow-x:auto}.telecom-table table{width:100%;border-collapse:collapse;font-size:14px}.telecom-table th,.telecom-table td{padding:8px;border-bottom:1px solid #e1e8dc;text-align:left;vertical-align:top}.telecom-table thead th{font-size:13px;color:#53664d}@media(max-width:600px){.telecom-guide{padding:0 16px}.telecom-guide>section{padding:17px}}
.telecom-table th[scope=row]{white-space:nowrap}

/* Mobile plan list: one plan per full-width card; desktop table is unchanged. */
@media(max-width:600px){
 .telecom-table{overflow:visible}
 .telecom-table table,.telecom-table tbody{display:block;width:100%;max-width:100%;min-width:0}
 .telecom-table table{font-size:15px;line-height:1.75}
 .telecom-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .telecom-table tbody tr{display:block;width:100%;min-width:0;margin:0 0 12px;padding:14px;border:1px solid #d3dfcb;border-radius:12px;background:#fff}
 .telecom-table tbody tr:last-child{margin-bottom:0}
 .telecom-table tbody th[scope=row],.telecom-table tbody td{display:block;width:100%;max-width:100%;min-width:0;padding:0;border:0;white-space:normal;word-break:normal;overflow-wrap:anywhere}
 .telecom-table tbody th[scope=row]{font-size:13px;color:#4b684d;margin-bottom:4px}
 .telecom-table tbody td:nth-child(2){font-size:16px;font-weight:700}
 .telecom-table tbody td:nth-child(2) p{font-size:15px;font-weight:400;line-height:1.75;margin:10px 0 0}
 .telecom-table tbody td:nth-child(3){font-size:15px;margin-top:12px;padding-top:10px;border-top:1px solid #e1e8dc}
 .telecom-table tbody td:nth-child(3)::before{content:"サポート：";display:block;font-size:13px;font-weight:700;color:#53664d;margin-bottom:2px}
}
