.ftcc{--ftcc-main:#1d4ed8;--ftcc-accent:#2563eb;--ftcc-border:#d7e2f1;max-width:760px;margin:2rem auto;color:#1e293b;font-size:16px}
.ftcc *{box-sizing:border-box}
.ftcc [hidden]{display:none!important}
.ftcc__panel,.ftcc__result,.ftcc__share,.ftcc__history{padding:clamp(18px,4vw,32px);border:1px solid var(--ftcc-border);border-radius:14px;background:#fff;box-shadow:0 5px 24px rgba(29,78,216,.09)}
.ftcc__lead{margin:0 0 24px;line-height:1.7}
.ftcc__step-card{margin:0 0 18px;padding:18px;border:1px solid var(--ftcc-border);border-radius:10px;background:#f3f7fd}
.ftcc__step-card h3{margin:0 0 18px;font-size:18px;line-height:1.5;color:var(--ftcc-main)}
.ftcc label{display:block;margin-bottom:18px;font-weight:700}
.ftcc input[type="text"],.ftcc input[type="number"],.ftcc select{width:100%;min-height:48px;margin-top:7px;padding:9px 12px;border:1px solid #aebcb5;border-radius:7px;background:#fff;color:#202723;font:inherit}
.ftcc input[readonly]{background:#eef2f7;color:#475569}
.ftcc input:focus,.ftcc select:focus{outline:3px solid rgba(59,130,246,.28);border-color:var(--ftcc-main)}
.ftcc__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.ftcc__map-button,.ftcc__calculate{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:10px 16px;border:0;border-radius:8px;font:700 17px/1.4 inherit;cursor:pointer;text-align:center;text-decoration:none}
.ftcc__map-button{background:var(--ftcc-main);color:#fff}
.ftcc__map-button:visited{color:#fff}
.ftcc__calculate{background:var(--ftcc-accent);color:#fff}
.ftcc__calculate-card{border:2px solid #f59e0b;background:#fff8e6;box-shadow:0 5px 18px rgba(245,158,11,.16)}
.ftcc__calculate-card h3{color:#b45309}
.ftcc__calculate-card .ftcc__trip-type{border-color:#f5c96a;background:#fffdf7}
.ftcc__calculate-card .ftcc__trip-type input{accent-color:#ea580c}
.ftcc__calculate-card .ftcc__calculate{background:#ea580c}
.ftcc__map-button:hover,.ftcc__calculate:hover{filter:brightness(.96)}
.ftcc__hint{margin:8px 0 0;color:#59645e;font-size:13px;line-height:1.65}
.ftcc__map-tools{margin-top:18px}
.ftcc__map-target{display:flex;align-items:center;gap:18px;margin:0 0 12px;padding:12px 14px;border:1px solid var(--ftcc-border);border-radius:8px;background:#fff}
.ftcc__map-target legend{padding:0 6px;font-weight:700}
.ftcc__map-target label{display:flex;align-items:center;gap:7px;margin:0;font-weight:600;cursor:pointer}
.ftcc__map-target input{width:18px;height:18px;margin:0;accent-color:var(--ftcc-main)}
.ftcc__map{width:100%;height:380px;border:1px solid var(--ftcc-border);border-radius:8px;background:#e5e7eb}
.ftcc__map-confirmation{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;color:#334155;font-size:13px;font-weight:700}
.ftcc__ic-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px;padding:12px 14px;border:1px solid #bfd1eb;border-radius:8px;background:#fff}
.ftcc__ic-info div{display:flex;flex-direction:column;gap:3px}.ftcc__ic-info span{color:#59645e;font-size:13px}.ftcc__ic-info strong{color:#1e3a8a}
.ftcc__navigation-address{margin:0 0 14px;padding:14px;border:1px solid #bfd1eb;border-radius:8px;background:#f8fbff}
.ftcc__navigation-address>span{display:block;margin-bottom:7px;color:#59645e;font-size:13px}.ftcc__navigation-address>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.ftcc__navigation-address strong{color:#1e3a8a;line-height:1.6}.ftcc__navigation-address button{flex:0 0 auto;padding:8px 12px;border:0;border-radius:6px;background:var(--ftcc-main);color:#fff;font:700 13px/1.4 inherit;cursor:pointer}.ftcc__navigation-address p{margin:9px 0 0;color:#59645e;font-size:12px;line-height:1.6}.ftcc__navigation-address small{display:block;min-height:1.4em;margin-top:4px;color:var(--ftcc-main)}
.ftcc__map-status{min-height:1.5em;margin:8px 0 0;color:var(--ftcc-main);font-size:13px;line-height:1.6}
.ftcc__save,.ftcc__manual{display:flex!important;align-items:flex-start;gap:8px;font-weight:400!important}
.ftcc__save input,.ftcc__manual input{margin-top:5px}
.ftcc__clear{margin:-8px 0 14px;padding:0;border:0;background:transparent;color:var(--ftcc-main);font:inherit;text-decoration:underline;cursor:pointer}
.ftcc__privacy{margin:0;color:#59645e;font-size:13px;line-height:1.65}
.ftcc__trip-type{display:flex;align-items:center;gap:18px;margin:0 0 14px;padding:14px 16px;border:1px solid var(--ftcc-border);border-radius:8px;background:#eef4fc}
.ftcc__trip-type legend{padding:0 6px;font-weight:700}
.ftcc__trip-type label{display:flex;align-items:center;gap:7px;margin:0;font-weight:600;cursor:pointer}
.ftcc__trip-type input{width:18px;height:18px;margin:0;accent-color:var(--ftcc-main)}
.ftcc__status{min-height:1.5em;margin:12px 0 0;color:#b0382e}
.ftcc__result{margin-top:20px;border-top:5px solid var(--ftcc-main)}
.ftcc__result h3,.ftcc__history h3{margin-top:0}
.ftcc__result dl{margin:0}
.ftcc__result dl div{display:flex;justify-content:space-between;gap:20px;padding:12px 2px;border-bottom:1px solid var(--ftcc-border)}
.ftcc__result dt{font-weight:400}
.ftcc__result dd{margin:0;font-weight:700}
.ftcc__result dl div:last-child dd{color:var(--ftcc-main);font-size:1.15em}
.ftcc__result-save{margin-top:22px;padding-top:20px;border-top:1px solid var(--ftcc-border)}
.ftcc__result-save button{width:100%;min-height:48px;border:0;border-radius:8px;background:var(--ftcc-main);color:#fff;font:700 16px/1.4 inherit;cursor:pointer}
.ftcc__save-status{min-height:1.5em;margin:10px 0 0;color:var(--ftcc-main)}
.ftcc__share{margin-top:22px}
.ftcc__share h3{margin:0 0 16px;font-size:20px;color:var(--ftcc-main)}
.ftcc__share-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ftcc__share-buttons button{min-height:46px;padding:9px 10px;border:0;border-radius:7px;color:#fff;font:700 14px/1.4 inherit;cursor:pointer}
.ftcc__share-line{background:#06c755}.ftcc__share-sns{background:#2563eb}.ftcc__share-copy{background:#475569}
.ftcc__share-note{margin:9px 0 0;color:#59645e;font-size:12px}
.ftcc__share-status{min-height:1.5em;margin:8px 0 0;color:var(--ftcc-main);font-size:13px}
.ftcc__history{margin-top:20px}
.ftcc__history-empty{margin:0;color:#59645e}
.ftcc__history details{margin-bottom:10px;border:1px solid var(--ftcc-border);border-radius:8px;background:#fff}
.ftcc__history summary{padding:14px 16px;font-weight:700;cursor:pointer}
.ftcc__history-card{padding:0 16px 16px}
.ftcc__history-card dl{margin:0 0 14px}
.ftcc__history-card dl div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #edf1ef}
.ftcc__history-card dt{color:#59645e}.ftcc__history-card dd{margin:0;text-align:right;font-weight:600}
.ftcc__history-delete{padding:7px 10px;border:1px solid #b0382e;border-radius:6px;background:#fff;color:#b0382e;font:inherit;cursor:pointer}
@media(max-width:600px){.ftcc__grid,.ftcc__ic-info{grid-template-columns:1fr}.ftcc__share-buttons{grid-template-columns:1fr}.ftcc__map{height:320px}.ftcc__map-target,.ftcc__navigation-address>div{align-items:flex-start;flex-direction:column;gap:8px}.ftcc__navigation-address button{width:100%}.ftcc__panel,.ftcc__result,.ftcc__share,.ftcc__history{border-radius:10px}}
