// ------------------------------------------------------------
// © 2026 Yuko Hasegawa — All Rights Reserved
// Written on: March 5, 2026
// ------------------------------------------------------------
 body{font-family:"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Meiryo,メイリオ,sans-serif;background-color:#f5f5f5;padding:20px;line-height:1.6}.container_0305{max-width:1200px;margin:0 auto;background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.ttl01{color:#036;border-bottom:3px solid #036;padding-bottom:10px;margin-bottom:20px;font-size:2rem;font-weight:700}.intro{background-color:#f0f8ff;padding:15px;border-left:4px solid #036;margin-bottom:30px;font-size:14px}.step-title{background-color:#e0e0e0;padding:10px 15px;margin:20px 0 15px 0;font-weight:700;border-radius:4px;display:flex;align-items:center}.step-number{background-color:#036;color:#fff;padding:5px 15px;margin-right:15px;border-radius:4px;font-size:14px}.form-group{margin:15px 0;padding:0 20px}.form-label{font-weight:700;margin-bottom:8px;display:block;color:#333}select,input[type="text"],input[type="button"]{padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:14px}select{background:#fff}input[type="text"]{width:60px;text-align:center;background:#f9f9f9}input[type="button"]{background:#f0f0f0;cursor:pointer;margin:2px}input[type="button"]:hover{background:#e0e0e0}.date-buttons{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0;justify-content:center}.date-select{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin-top:15px}.arrow{text-align:center;font-size:24px;color:#666;margin:10px 0}.radio-group{margin:15px 0}.radio-group label{margin-right:20px;cursor:pointer}.calculate-btn{text-align:center;margin:30px 0}.calculate-btn input{background:#036;color:#fff;padding:12px 40px;font-size:16px;font-weight:700;border:0;border-radius:4px;cursor:pointer}.calculate-btn input:hover{background:#048}.result-box{background:#d0d0d0;padding:20px;margin:30px 0;border-radius:4px;max-width:100%;overflow:hidden}.result-row{margin:15px 0;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.result-row span{word-break:keep-all}.result-row input[type="text"]{width:150px;background:#fff;font-weight:700;font-size:16px;text-align:center}@media (max-width:600px){.result-box{padding:15px 10px}.result-row{flex-direction:column;gap:5px;margin:10px 0}.result-row span{font-size:14px;text-align:center}.result-row input[type="text"]{width:130px;font-size:15px}.ttl01{font-size:1.2rem}}.note{background:#fff9e6;padding:15px;margin-top:10px;border-radius:4px;font-size:13px}sup{font-size:.7em;vertical-align:super}.note2 {background: #003366;color: #fff;padding: 15px;margin-top: 10px;border-radius: 4px;font-size: 13px}.note2 a{color: #fff;font-weight: bold}sup{font-size:.7em;vertical-align:super}.reg{font-size:.6em}.popup-banner{position:fixed;right:16px;bottom:116px;z-index:9999;display:none}.popup-banner__panel{background:#036;color:#fff;width:70px;min-height:120px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}.popup-banner__header{display:flex;align-items:center;justify-content:flex-end;padding:4px 4px 0 4px;background:rgba(255,255,255,.06)}.popup-banner__close{appearance:none;background:transparent;border:none;color:#fff;width:24px;height:24px;border-radius:6px;cursor:pointer;font-size:16px;line-height:1}.popup-banner__close:hover{background:rgba(255,255,255,.12)}.popup-banner__body{padding:5px 5px 0;font-size:11px;line-height:1.35;word-break:break-word}.popup-banner__body strong{display:block;font-size:11px;line-height:1.7;color:#fff}.popup-banner__body strong a{color:#fff;text-decoration:none}.popup-banner__cta{margin:6px;margin-top:8px;display:flex}.popup-banner__btn{flex:1;appearance:none;border:0;border-radius:8px;padding:8px 8px;font-size:12px;font-weight:700;cursor:pointer;background:#00a3ff;color:#036;box-shadow:0 2px 0 rgba(0,0,0,.15) inset;text-align:center;text-decoration:none}@media (prefers-reduced-motion:no-preference){.popup-banner[data-show="true"] .popup-banner__panel{animation:right-slim-in 180ms ease-out both}@keyframes right-slim-in{from{opacity:0;transform:translateY(6px) translateX(10px)}to{opacity:1;transform:translateY(0) translateX(0)}}}@media (max-width:600px){.popup-banner{right:12px;bottom:96px}}