.mwbtm-page{width:100vw;margin-left:50%;transform:translateX(-50%);padding:0 0 56px;background:#f7f9fc}
.mwbtm-page .by-article-list{width:100vw;margin-left:50%;transform:translateX(-50%);margin-top:0;margin-bottom:0;padding:56px 0 32px;background:transparent!important;font-family:'ヒラギノ角ゴ ProN','Meiryo','メイリオ',sans-serif}
.mwbtm-page .by-article-list-header{max-width:960px;margin:0 auto;padding:0 16px;text-align:center}
.mwbtm-page__inner{max-width:1140px;margin:0 auto;padding:0 20px}
.mwbtm-quote{max-width:none;margin:0 auto;font-family:'Hiragino Kaku Gothic ProN','Meiryo','メイリオ',sans-serif;color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.06)}

.mwbtm-quote__head{display:none;margin-bottom:16px}
.mwbtm-quote__title{margin:0;font-size:24px;line-height:1.4;color:#111827}
.mwbtm-quote__layout{display:grid;gap:16px}
.mwbtm-quote__form,.mwbtm-quote__result{min-width:0}
.mwbtm-card,.mwbtm-resultCard{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:16px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.mwbtm-card + .mwbtm-card{margin-top:14px}
.mwbtm-card__head{margin-bottom:12px}
.mwbtm-card__head h4,.mwbtm-resultCard__head h4{margin:0;font-size:18px;line-height:1.5;color:#111827}
.mwbtm-grid{display:grid;gap:12px}
.mwbtm-routeBlocks{display:grid;gap:10px}
.mwbtm-routeBlock{padding:12px;border:1px solid #e5e7eb;border-radius:18px;background:#fff}
.mwbtm-routeBlock__label{margin:0 0 8px;font-size:14px;font-weight:700;color:#111827}
.mwbtm-field label{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#374151}
.mwbtm-field select,.mwbtm-field input[type="text"]{width:100%;min-height:48px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;font-size:16px;color:#111827;appearance:none}
.mwbtm-field select:focus,.mwbtm-field input[type="text"]:focus{outline:none;border-color:#03408c;box-shadow:0 0 0 4px rgba(3,64,140,.12)}
.mwbtm-field select:disabled{background:#f3f4f6;color:#6b7280}
.mwbtm-submit{margin-top:14px}
.mwbtm-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:14px 18px;border:0;border-radius:16px;background:#03408c;color:#fff;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 10px 24px rgba(3,64,140,.18)}
.mwbtm-button:hover{opacity:.95}
.mwbtm-resultCard{position:relative}
.mwbtm-resultCard__placeholder{margin:0;font-size:14px;line-height:1.8;color:#6b7280}
.mwbtm-summary{display:grid;gap:8px;margin-bottom:14px}
.mwbtm-summaryRow{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#f8fafc;font-size:13px;line-height:1.6}
.mwbtm-summaryRow span:first-child{color:#475569}
.mwbtm-summaryRow strong{color:#111827;text-align:right}
.mwbtm-totalWrap{padding:16px;border-radius:18px;background:linear-gradient(135deg,#03408c 0%,#0b5ed7 100%);color:#fff}
.mwbtm-totalWrap__label{margin:0 0 6px;font-size:13px;opacity:.92}
.mwbtm-totalWrap__price{margin:0;font-size:32px;font-weight:800;line-height:1.2;letter-spacing:.01em}
.mwbtm-applyWrap{margin-top:14px}
.mwbtm-button--apply{min-height:50px;background:linear-gradient(135deg,#d62828 0%,#ef4444 100%);box-shadow:0 10px 24px rgba(220,38,38,.22)}
.mwbtm-button--apply:hover{opacity:.96}
.mwbtm-resultCard__error{margin-top:12px;padding:12px 14px;border-radius:14px;background:#fef2f2;color:#b91c1c;font-size:14px;line-height:1.7}
@media (min-width: 768px){
  .mwbtm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mwbtm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width: 1024px){
  .mwbtm-quote{padding:24px}
  .mwbtm-quote__layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px}
  .mwbtm-quote__result{position:sticky;top:24px}
  .mwbtm-routeBlocks{gap:12px}
  .mwbtm-routeBlock{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end;padding:0;border:0;border-radius:0;background:transparent}
  .mwbtm-routeBlock__label{margin:0 0 12px;align-self:center;font-size:16px}
  .mwbtm-routeBlock .mwbtm-grid{display:contents}
  .mwbtm-routeBlock .mwbtm-field label{white-space:nowrap}
}
@media (max-width: 767px){
  .mwbtm-quote{padding:12px;border-radius:18px}
  .mwbtm-quote__head{margin-bottom:12px}
  .mwbtm-quote__title{font-size:20px}
  .mwbtm-card,.mwbtm-resultCard{padding:12px;border-radius:16px}
  .mwbtm-card + .mwbtm-card{margin-top:10px}
  .mwbtm-card__head{margin-bottom:10px}
  .mwbtm-card__head h4,.mwbtm-resultCard__head h4{font-size:17px}
  .mwbtm-routeBlocks{gap:8px}
  .mwbtm-routeBlock{padding:10px;border-radius:16px}
  .mwbtm-routeBlock__label{margin-bottom:6px;font-size:13px}
  .mwbtm-routeBlock .mwbtm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mwbtm-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mwbtm-grid--3 > .mwbtm-field:last-child{grid-column:1 / -1}
  .mwbtm-bikeQuickSearch{margin-bottom:10px}
  .mwbtm-field label{margin-bottom:5px;font-size:12px}
  .mwbtm-field select,.mwbtm-field input[type="text"]{min-height:44px;padding:10px 12px;border-radius:12px;font-size:15px}
  .mwbtm-submit{margin-top:12px}
  .mwbtm-button{min-height:48px;border-radius:14px;font-size:15px}
  .mwbtm-summary{gap:6px;margin-bottom:12px}
  .mwbtm-summaryRow{padding:8px 10px;border-radius:10px;font-size:12px}
  .mwbtm-totalWrap{padding:14px;border-radius:16px}
  .mwbtm-totalWrap__price{font-size:28px}
  .mwbtm-applyWrap{margin-top:12px}
  .mwbtm-modelSearchResults{max-height:220px;padding:6px;border-radius:14px}
  .mwbtm-modelSearchItem{padding:10px 12px}
  .mwbtm-modelSearchItem__main{font-size:13px}
  .mwbtm-modelSearchItem__sub{font-size:11px}
}

.mwbtm-bikeQuickSearch{margin-bottom:14px}
.mwbtm-field--search{position:relative}
.mwbtm-modelSearchResults{position:absolute;left:0;right:0;top:calc(100% - 2px);z-index:20;max-height:280px;overflow:auto;padding:8px;border:1px solid #cbd5e1;border-radius:16px;background:#fff;box-shadow:0 20px 40px rgba(15,23,42,.12)}
.mwbtm-modelSearchItem{display:block;width:100%;padding:12px 14px;border:0;border-radius:12px;background:#fff;text-align:left;cursor:pointer}
.mwbtm-modelSearchItem:hover,.mwbtm-modelSearchItem:focus{background:#f8fbff;outline:none}
.mwbtm-modelSearchItem + .mwbtm-modelSearchItem{margin-top:4px}
.mwbtm-modelSearchItem__main{display:block;font-size:14px;font-weight:700;line-height:1.5;color:#111827}
.mwbtm-modelSearchItem__sub{display:block;margin-top:2px;font-size:12px;line-height:1.5;color:#6b7280}
.mwbtm-modelSearchEmpty{padding:12px 14px;font-size:13px;line-height:1.6;color:#6b7280}
.mwbtm-applyForm{margin-top:14px}
.mwbtm-applyForm__intro{margin:0 0 14px;font-size:13px;line-height:1.8;color:#475569}
.mwbtm-applySection + .mwbtm-applySection{margin-top:18px;padding-top:18px;border-top:1px solid #e5e7eb}
.mwbtm-applySection__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.mwbtm-applySection__title{margin:0 0 10px;font-size:16px;line-height:1.5;color:#111827}
.mwbtm-applySection__head .mwbtm-applySection__title{margin-bottom:0}
.mwbtm-field--full{grid-column:1 / -1}
.mwbtm-field input[readonly],.mwbtm-field textarea[readonly],.mwbtm-field .is-readonly{background:#f3f4f6;color:#6b7280}
.mwbtm-field textarea{width:100%;min-height:120px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;font-size:16px;color:#111827;resize:vertical}
.mwbtm-field textarea:focus{outline:none;border-color:#03408c;box-shadow:0 0 0 4px rgba(3,64,140,.12)}
.mwbtm-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#374151;cursor:pointer}
.mwbtm-check input{width:16px;height:16px}
.mwbtm-applyActions{margin-top:18px}
.mwbtm-applyNotice{margin-top:12px;padding:12px 14px;border-radius:14px;font-size:14px;line-height:1.7}
.mwbtm-applyNotice.is-success{background:#ecfdf5;color:#166534}
.mwbtm-applyNotice.is-error{background:#fef2f2;color:#b91c1c}
@media (max-width: 767px){
  .mwbtm-applyForm{margin-top:12px}
  .mwbtm-applyForm__intro{margin-bottom:12px;font-size:12px}
  .mwbtm-applySection + .mwbtm-applySection{margin-top:14px;padding-top:14px}
  .mwbtm-applySection__title{font-size:15px}
  .mwbtm-field textarea{min-height:110px;padding:10px 12px;border-radius:12px;font-size:15px}
  .mwbtm-applyNotice{font-size:13px}
}


@media (max-width: 767px){
  .mwbtm-page{padding:0 0 44px}
  .mwbtm-page .by-article-list{padding:40px 0 24px}
  .mwbtm-page__inner{padding:0 16px}
}


.mwcts-checkField{border-top:1px solid #e5e7eb;padding-top:14px;margin-top:14px}.mwcts-checkField:first-child{border-top:0;padding-top:0;margin-top:0}.mwcts-checkLabel{display:block;font-weight:700;margin-bottom:8px}.mwcts-checkOptions{display:flex;gap:16px;flex-wrap:wrap}.mwcts-note{margin-top:16px;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;background:#fff7ed;line-height:1.8}


/* v2.1.7: 離島時の表示調整 */
.mwbtm-page{
  padding-top: 28px;
}

.mwbtm-totalWrap__price{
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.15;
}

.mwcts-note{
  line-height: 1.8;
}



.mwcts-note{
  margin-top: 12px;
  font-size: 14px;
}

.mwbtm-debug{margin-top:12px;padding:12px 14px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc}
.mwbtm-debug__head{margin:0 0 10px;font-size:13px;font-weight:700;color:#0f172a}
.mwbtm-debug__row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid #e5e7eb;font-size:12px;line-height:1.6}
.mwbtm-debug__row:first-of-type{border-top:0;padding-top:0}
.mwbtm-debug__row span{color:#475569}
.mwbtm-debug__row strong{color:#111827;text-align:right;white-space:pre-wrap}


.mwbtm-totalWrap__price.is-contact-only{
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
  font-size: clamp(20px, 2.6vw, 34px);
  line-height: 1.3;
}
/* v3.0 ステップ式自動車陸送料金検索 */
.mwbtm-wizard{max-width:1180px;margin:0 auto;background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:18px;box-shadow:0 14px 40px rgba(15,23,42,.07);color:#111827}.mwbtm-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.mwbtm-progress span{padding:10px 8px;border-radius:999px;background:#eef2f7;text-align:center;font-size:12px;font-weight:700;color:#64748b}.mwbtm-progress span.is-active{background:#03408c;color:#fff}.mwbtm-wizard__layout{display:grid;gap:20px}.mwbtm-step{display:none}.mwbtm-step.is-active{display:block}.mwbtm-step h3{margin:0 0 16px;font-size:22px}.mwbtm-choiceGrid,.mwbtm-checkGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mwbtm-choice{min-height:100px;padding:18px;border:2px solid #dbe3ed;border-radius:18px;background:#fff;text-align:left;cursor:pointer}.mwbtm-choice strong,.mwbtm-choice small{display:block}.mwbtm-choice strong{font-size:17px}.mwbtm-choice small{margin-top:6px;color:#64748b}.mwbtm-choice.is-selected{border-color:#03408c;background:#f0f6ff;box-shadow:0 0 0 3px rgba(3,64,140,.1)}.mwbtm-checkCard{display:flex;align-items:center;gap:12px;min-height:64px;padding:14px;border:1px solid #cbd5e1;border-radius:15px;background:#fff;font-weight:700;cursor:pointer}.mwbtm-checkCard input{width:20px;height:20px}.mwbtm-length{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:16px;border-radius:16px;background:#f8fafc}.mwbtm-length label{font-weight:700}.mwbtm-nav{display:flex;gap:10px;justify-content:space-between;margin-top:18px}.mwbtm-back{min-height:48px;padding:0 18px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;font-weight:700;cursor:pointer}.mwbtm-side{padding:18px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0}.mwbtm-side h4{margin:0 0 12px}.mwbtm-side p{margin:0 0 14px;line-height:1.7}.mwbtm-help{color:#64748b;line-height:1.7}.mwbtm-contactActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.mwbtm-button--phone{background:#0f766e}.mwbtm-button--mail{background:#03408c}.mwbtm-phoneText{text-align:center;font-weight:700}.mwbtm-mailModal{position:fixed;inset:0;z-index:99999;padding:20px;background:rgba(15,23,42,.68);overflow:auto}.mwbtm-mailPanel{position:relative;max-width:900px;margin:20px auto;padding:24px;border-radius:22px;background:#fff}.mwbtm-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:32px;cursor:pointer}.mwbtm-mailPanel h4{margin:24px 0 10px;border-bottom:1px solid #e5e7eb;padding-bottom:8px}.mwbtm-mailPanel input,.mwbtm-mailPanel select,.mwbtm-mailPanel textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;font-size:16px}.mwbtm-agree{display:flex;gap:10px;margin:18px 0;line-height:1.7}.mwbtm-agree input{width:18px;min-height:auto}.mwbtm-modal-open{overflow:hidden}
@media(min-width:980px){.mwbtm-wizard__layout{grid-template-columns:minmax(0,1fr) 300px}.mwbtm-side{position:sticky;top:24px;align-self:start}}
@media(max-width:767px){.mwbtm-wizard{padding:12px;border-radius:18px}.mwbtm-progress{gap:4px}.mwbtm-progress span{font-size:10px;padding:8px 3px}.mwbtm-step h3{font-size:19px}.mwbtm-choiceGrid,.mwbtm-checkGrid{grid-template-columns:1fr}.mwbtm-choice{min-height:82px;padding:14px}.mwbtm-contactActions{grid-template-columns:1fr}.mwbtm-side{display:none}.mwbtm-mailModal{padding:8px}.mwbtm-mailPanel{margin:8px auto;padding:18px 14px}.mwbtm-grid--2{grid-template-columns:1fr!important}.mwbtm-nav .mwbtm-button{width:auto;flex:1}.mwbtm-length{display:grid;gap:12px}.mwbtm-totalWrap__price{font-size:32px}}

/* v3.1 日本地図と都道府県プルダウンの双方向連動 */
.mwbtm-mapPicker{margin:0 0 18px;border:1px solid #dbe3ed;border-radius:20px;background:#f8fafc;overflow:hidden}
.mwbtm-mapPicker__tabs{display:grid;grid-template-columns:1fr 1fr;background:#e8edf4}
.mwbtm-mapTab{min-height:52px;padding:10px 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:#475569;font-size:15px;font-weight:700;cursor:pointer}
.mwbtm-mapTab.is-active{border-bottom-color:#03408c;background:#fff;color:#03408c}
.mwbtm-mapPicker__body{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;padding:16px;background:#fff}
.mwbtm-japanMap{min-width:0}
.mwbtm-japanMap svg{display:block;width:100%;height:auto;max-height:520px;margin:auto}
.mwbtm-japanMap .prefecture{fill:#e8edf4!important;stroke:#64748b!important;stroke-width:1.2!important;cursor:pointer;transition:fill .15s ease,opacity .15s ease,filter .15s ease}
.mwbtm-japanMap .prefecture:hover,.mwbtm-japanMap .prefecture:focus{fill:#cfe0f7!important;outline:none;filter:drop-shadow(0 1px 1px rgba(15,23,42,.25))}
.mwbtm-japanMap .prefecture.is-selected{fill:#03408c!important;stroke:#022c63!important}
.mwbtm-japanMap .prefecture.is-disabled{fill:#f1f3f6!important;stroke:#cbd5e1!important;opacity:.42;cursor:not-allowed;filter:none}
.mwbtm-mapPicker__guide{align-self:start;padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}
.mwbtm-mapPicker__current{margin:0 0 10px;font-size:16px;line-height:1.7}
.mwbtm-mapPicker__current strong{color:#03408c}
.mwbtm-mapPicker__gate{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#fff7ed;color:#9a3412;font-size:13px;line-height:1.7}
@media(max-width:767px){
  .mwbtm-mapPicker{border-radius:16px}
  .mwbtm-mapTab{min-height:48px;padding:8px 6px;font-size:13px}
  .mwbtm-mapPicker__body{grid-template-columns:1fr;padding:10px;gap:10px}
  .mwbtm-japanMap svg{max-height:none}
  .mwbtm-mapPicker__guide{padding:10px 12px}
  .mwbtm-mapPicker__current{font-size:14px}
}


/* v3.1.2 引取先・納車先の色分けと地図／プルダウン同時選択 */
.mwbtm-mapPicker__tabs{gap:12px;padding:14px;background:#f1f5f9;align-items:stretch}
.mwbtm-mapTab{position:relative;min-height:68px;padding:14px 18px;border:2px solid #d7dee8;border-radius:16px;background:#e5e7eb;color:#475569;font-size:17px;line-height:1.35;text-align:center;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}
.mwbtm-mapTab:first-child::after{content:'→';position:absolute;right:-21px;top:50%;z-index:2;transform:translateY(-50%);color:#94a3b8;font-size:24px;font-weight:700;pointer-events:none}
.mwbtm-mapTab.is-active{border-bottom-width:2px}
.mwbtm-mapTab.is-origin-active{border-color:#f59e0b;background:#f59e0b;color:#fff;box-shadow:0 0 0 4px rgba(245,158,11,.15)}
.mwbtm-mapTab.is-dest-active{border-color:#2563eb;background:#2563eb;color:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.14)}
.mwbtm-mapPicker__current strong{color:#111827}
.mwbtm-japanMap .prefecture.is-origin-selected{fill:#f59e0b!important;stroke:#b45309!important;opacity:1}
.mwbtm-japanMap .prefecture.is-dest-selected{fill:#2563eb!important;stroke:#1d4ed8!important;opacity:1}
.mwbtm-japanMap .prefecture.is-origin-selected.is-dest-selected{fill:#7c3aed!important;stroke:#5b21b6!important}
.mwbtm-japanMap .prefecture.is-current-target{filter:drop-shadow(0 2px 2px rgba(15,23,42,.28))}
.mwbtm-japanMap .prefecture.is-disabled:not(.is-origin-selected):not(.is-dest-selected){fill:#f1f3f6!important;stroke:#cbd5e1!important;opacity:.36;cursor:not-allowed;filter:none}
.mwbtm-routeBlocks{display:grid;gap:14px}
.mwbtm-routeBlock{border:2px solid #e2e8f0;border-radius:18px;padding:16px;background:#fff}
.mwbtm-routeBlock:first-child{border-color:#fed7aa;background:#fffaf2}
.mwbtm-routeBlock:last-child{border-color:#bfdbfe;background:#f8fbff}
.mwbtm-routeBlock__label{margin:0 0 12px;font-size:17px;font-weight:800}
.mwbtm-routeBlock:first-child .mwbtm-routeBlock__label{color:#b45309}
.mwbtm-routeBlock:last-child .mwbtm-routeBlock__label{color:#1d4ed8}
@media(max-width:767px){
  .mwbtm-mapPicker__tabs{grid-template-columns:1fr;gap:10px;padding:10px}
  .mwbtm-mapTab{min-height:60px;padding:12px 14px;font-size:15px}
  .mwbtm-mapTab:first-child::after{content:'↓';right:auto;left:50%;top:auto;bottom:-21px;transform:translateX(-50%)}
}


/* v3.1.3 PCは地図左・選択欄右、スマホは地図下に選択欄 */
.mwbtm-mapPicker__body{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:20px}
.mwbtm-mapPicker__guide{position:sticky;top:18px;padding:0;border:0;background:transparent}
.mwbtm-mapPicker__guide .mwbtm-routeBlocks{gap:12px}
.mwbtm-mapPicker__guide .mwbtm-routeBlock{padding:16px;border-width:2px;opacity:.72;transition:opacity .15s ease,box-shadow .15s ease,transform .15s ease}
.mwbtm-mapPicker__guide .mwbtm-routeBlock.is-active-route{opacity:1;box-shadow:0 8px 22px rgba(15,23,42,.08);transform:translateY(-1px)}
.mwbtm-mapPicker__guide .mwbtm-routeBlock .mwbtm-grid{grid-template-columns:1fr;gap:12px}
.mwbtm-mapNext{margin-top:14px}
@media(max-width:767px){
  .mwbtm-mapPicker__body{grid-template-columns:1fr;gap:12px;padding:10px}
  .mwbtm-mapPicker__guide{position:static;top:auto}
  .mwbtm-mapPicker__guide .mwbtm-routeBlock{padding:12px}
  .mwbtm-mapPicker__guide .mwbtm-routeBlock:not(.is-active-route){display:none}
  .mwbtm-mapNext{margin-top:10px}
}


/* v3.1.4 選択欄を最小限・見やすく整理 */
.mwbtm-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.mwbtm-mapPicker__guide .mwbtm-routeBlock{padding:16px}
.mwbtm-mapPicker__guide .mwbtm-routeBlock .mwbtm-grid{gap:10px}
.mwbtm-mapPicker__guide .mwbtm-field select{min-height:54px;padding:13px 42px 13px 16px;border-radius:14px;font-size:16px;font-weight:600;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.mwbtm-mapPicker__guide .mwbtm-field{min-width:0}
@media(max-width:767px){
  .mwbtm-mapPicker__guide .mwbtm-routeBlock{padding:12px}
  .mwbtm-mapPicker__guide .mwbtm-field select{min-height:52px;padding:12px 40px 12px 14px;font-size:16px}
}


/* v3.1.5 選択欄レイアウト崩れ修正 */
@media(min-width:768px){
  .mwbtm-mapPicker__body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
  .mwbtm-mapPicker__guide{position:sticky;top:18px;min-width:0}
}
.mwbtm-mapPicker__guide .mwbtm-routeBlock .mwbtm-grid{display:grid;grid-template-columns:1fr;gap:10px}
.mwbtm-mapPicker__guide .mwbtm-field{display:block;width:100%;min-width:0}
.mwbtm-mapPicker__guide .mwbtm-field select{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}
.mwbtm-mapPicker__guide .mwbtm-routeBlock__label{margin:0 0 10px}
@media(max-width:767px){
  .mwbtm-mapPicker__body{display:grid;grid-template-columns:1fr}
  .mwbtm-mapPicker__guide{width:100%}
}


/* v3.1.6 右側サマリー削除・地図と選択欄へ幅を集約 */
.mwbtm-wizard{max-width:1240px}
.mwbtm-wizard__layout{display:block}
.mwbtm-side{display:none!important}
@media(min-width:980px){
  .mwbtm-wizard__layout{display:block;grid-template-columns:none}
}
@media(min-width:768px){
  .mwbtm-mapPicker__body{grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr);gap:24px;padding:18px}
  .mwbtm-mapPicker__guide{position:sticky;top:18px;min-width:0;width:100%}
  .mwbtm-mapPicker__guide .mwbtm-routeBlock{display:block!important;grid-template-columns:none!important;padding:18px!important}
  .mwbtm-mapPicker__guide .mwbtm-routeBlock .mwbtm-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%}
  .mwbtm-mapPicker__guide .mwbtm-field{display:block!important;width:100%!important;min-width:0!important}
  .mwbtm-mapPicker__guide .mwbtm-field select{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:56px;padding:14px 44px 14px 16px;font-size:16px;box-sizing:border-box}
  .mwbtm-mapPicker__guide .mwbtm-routeBlock__label{display:block;margin:0 0 12px;font-size:18px}
  .mwbtm-japanMap svg{max-height:600px}
}
@media(max-width:767px){
  .mwbtm-mapPicker__guide .mwbtm-routeBlock{display:block!important}
  .mwbtm-mapPicker__guide .mwbtm-routeBlock .mwbtm-grid{display:grid!important;grid-template-columns:1fr!important}
  .mwbtm-mapPicker__guide .mwbtm-field select{width:100%!important;max-width:none!important}
}

/* v3.2.0 区間選択画面を全面再設計 */
.mwbtm-page__inner{
  max-width:1440px;
}
.mwbtm-wizard{
  max-width:1360px;
  padding:22px;
}
.mwbtm-mapPicker{
  border-radius:24px;
  background:#fff;
}
.mwbtm-mapPicker__tabs{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  padding:16px;
}
.mwbtm-mapTab{
  min-height:72px;
  font-size:18px;
}
.mwbtm-mapPicker__body{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(360px,1fr);
  gap:28px;
  align-items:stretch;
  padding:22px;
}
.mwbtm-japanMap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:560px;
  padding:6px;
  border:1px solid #e2e8f0;
  border-radius:20px;
  background:#fff;
}
.mwbtm-japanMap svg{
  width:100%;
  max-width:780px;
  max-height:650px;
}
.mwbtm-mapPicker__guide{
  position:static;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
  min-width:0;
  padding:22px;
  border:1px solid #dbe3ed;
  border-radius:20px;
  background:#f8fafc;
}
.mwbtm-mapPicker__guide .mwbtm-routeBlocks{
  display:block;
}
.mwbtm-mapPicker__guide .mwbtm-routeBlock{
  display:none!important;
  width:100%;
  min-width:0;
  padding:24px!important;
  border-radius:18px;
  opacity:1;
  transform:none;
  box-shadow:none;
}
.mwbtm-mapPicker__guide .mwbtm-routeBlock.is-active-route{
  display:block!important;
}
.mwbtm-mapPicker__guide .mwbtm-routeBlock__label{
  margin:0 0 18px;
  font-size:22px;
  line-height:1.4;
}
.mwbtm-mapPicker__guide .mwbtm-routeBlock .mwbtm-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.mwbtm-mapPicker__guide .mwbtm-field,
.mwbtm-mapPicker__guide .mwbtm-field select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
.mwbtm-mapPicker__guide .mwbtm-field select{
  min-height:62px;
  padding:15px 48px 15px 18px;
  border-radius:15px;
  font-size:17px;
  font-weight:600;
  text-overflow:clip;
}
.mwbtm-mapNext{
  margin-top:18px;
  min-height:58px;
  font-size:17px;
}
.mwbtm-mapNext:disabled{
  background:#cbd5e1;
  color:#64748b;
  box-shadow:none;
  cursor:not-allowed;
  opacity:1;
}
.mwbtm-mapPicker__gate{
  margin-top:14px;
}

@media (max-width: 979px){
  .mwbtm-mapPicker__body{
    grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);
    gap:18px;
    padding:16px;
  }
  .mwbtm-japanMap{
    min-height:500px;
  }
}

@media (max-width: 767px){
  .mwbtm-page__inner{padding:0 12px}
  .mwbtm-wizard{padding:12px}
  .mwbtm-mapPicker__tabs{
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:10px;
  }
  .mwbtm-mapTab{
    min-height:58px;
    padding:10px 8px;
    font-size:14px;
  }
  .mwbtm-mapTab:first-child::after{
    content:'→';
    right:-15px;
    left:auto;
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    font-size:18px;
  }
  .mwbtm-mapPicker__body{
    grid-template-columns:1fr;
    gap:12px;
    padding:10px;
  }
  .mwbtm-japanMap{
    min-height:auto;
    padding:4px;
    border-radius:16px;
  }
  .mwbtm-japanMap svg{
    max-height:none;
  }
  .mwbtm-mapPicker__guide{
    padding:10px;
    border-radius:16px;
  }
  .mwbtm-mapPicker__guide .mwbtm-routeBlock{
    padding:16px!important;
  }
  .mwbtm-mapPicker__guide .mwbtm-routeBlock__label{
    margin-bottom:12px;
    font-size:18px;
  }
  .mwbtm-mapPicker__guide .mwbtm-field select{
    min-height:56px;
    font-size:16px;
  }
  .mwbtm-mapNext{
    min-height:54px;
  }
}

/* v3.2.1 layout rebuild */
.mwbtm-wizard{max-width:1240px}
.mwbtm-mapPicker{border:1px solid #e2e8f0;border-radius:24px;overflow:hidden;background:#fff}
.mwbtm-mapPicker__tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.mwbtm-mapTab{position:relative;min-height:58px;padding:0 18px;border:2px solid #d7dee8;border-radius:16px;background:#eef2f7;color:#475569;font-size:17px;font-weight:800;cursor:pointer;transition:.15s ease}
.mwbtm-mapTab.is-origin-active{background:#f59e0b;color:#fff;border-color:#f59e0b}
.mwbtm-mapTab.is-dest-active{background:#2563eb;color:#fff;border-color:#2563eb}
.mwbtm-mapTab:first-child::after{content:'→';position:absolute;right:-15px;top:50%;transform:translateY(-50%);font-size:28px;color:#94a3b8;pointer-events:none}
.mwbtm-mapPicker__body{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(360px,.95fr)!important;gap:18px!important;padding:16px!important;align-items:start!important}
.mwbtm-japanMap{display:flex!important;align-items:center;justify-content:center;min-height:420px!important;padding:12px!important;border:1px solid #e2e8f0;border-radius:20px;background:#fff}
.mwbtm-japanMap svg{display:block;width:100%;height:auto;max-width:760px;max-height:420px!important;margin:auto}
.mwbtm-mapPicker__guide{display:flex!important;flex-direction:column;gap:12px;min-width:0;padding:0!important;border:0!important;background:transparent!important}
.mwbtm-liveCard{padding:14px 16px;border:1px solid #dbe3ed;border-radius:18px;background:#f8fafc}
.mwbtm-liveCard h4{margin:0 0 10px;font-size:16px;font-weight:800;color:#0f172a}
.mwbtm-liveSummary{display:grid;gap:8px}
.mwbtm-liveSummary__row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5}
.mwbtm-liveSummary__row span{color:#64748b;font-weight:700;white-space:nowrap}
.mwbtm-liveSummary__row strong{color:#0f172a;text-align:right;font-weight:800}
.mwbtm-routeBlocks{display:grid!important;gap:12px!important}
.mwbtm-routeBlock,.mwbtm-mapPicker__guide .mwbtm-routeBlock{display:block!important;width:100%;min-width:0;padding:14px 16px!important;border-radius:18px;background:#fff;opacity:1!important;transform:none!important;box-shadow:none!important}
.mwbtm-routeBlock[data-route-target="origin"]{border:2px solid #f7c67c;background:#fffaf1}
.mwbtm-routeBlock[data-route-target="dest"]{border:2px solid #bfdbfe;background:#f8fbff}
.mwbtm-routeBlock.is-active-route[data-route-target="origin"]{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.mwbtm-routeBlock.is-active-route[data-route-target="dest"]{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.mwbtm-routeBlock__label,.mwbtm-mapPicker__guide .mwbtm-routeBlock__label{margin:0 0 10px!important;font-size:16px!important;font-weight:800;line-height:1.4}
.mwbtm-routeBlock[data-route-target="origin"] .mwbtm-routeBlock__label{color:#b45309}
.mwbtm-routeBlock[data-route-target="dest"] .mwbtm-routeBlock__label{color:#1d4ed8}
.mwbtm-routeBlock .mwbtm-grid,.mwbtm-mapPicker__guide .mwbtm-routeBlock .mwbtm-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.mwbtm-routeBlock .mwbtm-field,.mwbtm-routeBlock .mwbtm-field select{width:100%!important;min-width:0!important;max-width:none!important}
.mwbtm-routeBlock .mwbtm-field select,.mwbtm-mapPicker__guide .mwbtm-field select{min-height:52px!important;padding:12px 42px 12px 14px!important;border:1px solid #cbd5e1;border-radius:14px;background:#fff;font-size:16px!important;font-weight:700;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.mwbtm-routeBlock .mwbtm-field select:disabled{background:#f1f5f9;color:#94a3b8}
.mwbtm-mapPicker__gate{margin-top:2px;color:#64748b;font-size:13px}
.mwbtm-mapNext{min-height:52px!important;margin-top:0!important;border-radius:14px;font-size:16px!important}
.mwbtm-mapNext:disabled{background:#cbd5e1!important;color:#64748b!important;box-shadow:none!important;cursor:not-allowed}

@media (max-width: 1024px){
  .mwbtm-mapPicker__body{grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr)!important;gap:14px!important}
  .mwbtm-japanMap{min-height:380px!important}
  .mwbtm-japanMap svg{max-height:380px!important}
}

@media (max-width: 767px){
  .mwbtm-mapPicker__tabs{padding:10px;gap:8px}
  .mwbtm-mapTab{min-height:54px;font-size:14px;padding:0 10px}
  .mwbtm-mapTab:first-child::after{right:-13px;font-size:20px}
  .mwbtm-mapPicker__body{grid-template-columns:1fr!important;gap:12px!important;padding:12px!important}
  .mwbtm-japanMap{min-height:auto!important;padding:8px!important}
  .mwbtm-japanMap svg{max-height:none!important}
  .mwbtm-liveSummary__row{display:grid;gap:2px}
}


/* v3.2.2 current selection moved below route selectors */
.mwbtm-mapPicker__guide .mwbtm-liveCard{order:3}
.mwbtm-mapPicker__guide .mwbtm-mapPicker__gate{order:4}
.mwbtm-mapPicker__guide .mwbtm-mapNext{order:5}
.mwbtm-liveCard{margin-top:2px}

/* v3.2.3 persistent summary and city-selection guidance */
.mwbtm-stepSummary{margin:0 0 16px;padding:12px 16px;border:1px solid #dbe3ed;border-radius:16px;background:#f8fafc}
.mwbtm-stepSummary h4{margin:0 0 8px;font-size:15px;font-weight:800;color:#0f172a}
.mwbtm-stepSummary .mwbtm-liveSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mwbtm-stepSummary .mwbtm-liveSummary__row{display:grid;gap:3px;padding-right:10px;border-right:1px solid #e2e8f0}
.mwbtm-stepSummary .mwbtm-liveSummary__row:last-child{padding-right:0;border-right:0}
.mwbtm-stepSummary .mwbtm-liveSummary__row span{font-size:12px}
.mwbtm-stepSummary .mwbtm-liveSummary__row strong{text-align:left;font-size:14px}
.mwbtm-field.is-next-action select{border-width:2px!important;box-shadow:0 0 0 4px rgba(245,158,11,.12)}
.mwbtm-routeBlock[data-route-target="dest"] .mwbtm-field.is-next-action select{box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.mwbtm-nextHint{margin:7px 2px 0;font-size:13px;font-weight:800;line-height:1.4}
.mwbtm-nextHint.is-origin{color:#b45309}
.mwbtm-nextHint.is-dest{color:#1d4ed8}

@media(max-width:767px){
  .mwbtm-stepSummary .mwbtm-liveSummary{grid-template-columns:1fr;gap:7px}
  .mwbtm-stepSummary .mwbtm-liveSummary__row{padding:0 0 7px;border-right:0;border-bottom:1px solid #e2e8f0}
  .mwbtm-stepSummary .mwbtm-liveSummary__row:last-child{padding-bottom:0;border-bottom:0}
}
