:root{--plan-deep:#176b78;--plan-sea:#1f9bad;--plan-sand:#fff8e9;--plan-ink:#18333a;--plan-line:#d8e7e9;--plan-warn:#fff2cf;--plan-danger:#b44a3a}
.plan-v2{max-width:1060px;margin:0 auto;padding:0 16px 96px;color:var(--plan-ink)}
.plan-v2 [hidden]{display:none!important}.plan-hero{padding:28px 0 18px}.plan-hero__title{margin:2px 0 7px;font-size:clamp(1.8rem,5vw,2.55rem)}.plan-hero__lead{margin:0;color:#567078}.miyako-eyebrow,.plan-kicker{margin:0;color:var(--plan-sea);font-weight:800;font-size:.76rem;letter-spacing:.12em}
.plan-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.plan-mode{min-height:72px;padding:11px 8px;border:1px solid var(--plan-line);border-radius:14px;background:#fff;color:var(--plan-ink);cursor:pointer}.plan-mode strong,.plan-mode span{display:block}.plan-mode span{margin-top:3px;font-size:.72rem;color:#6d7e82}.plan-mode.is-active{border-color:var(--plan-deep);background:#eaf8f8;box-shadow:0 0 0 2px rgba(23,107,120,.12)}
.plan-intro{display:grid;gap:10px;margin:0 0 18px}.voice-row{display:flex;gap:10px;align-items:flex-start}.voice-avatar{flex:0 0 48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#dff4f3;font-weight:800;font-size:.68rem}.avatar-yun{background:#fff0dc}.voice-bubble{position:relative;flex:1;padding:11px 14px;border-radius:13px;background:#f4f9f9}.voice-bubble p{margin:3px 0 0;line-height:1.65}.voice-role{font-size:.72rem;font-weight:800;color:var(--plan-deep)}.plan-intro-dismiss,.plan-intro-reopen{justify-self:end;padding:6px 10px;border:0;background:transparent;color:var(--plan-deep);font-size:.76rem;text-decoration:underline;cursor:pointer}.plan-intro-reopen{display:block;margin-top:7px}
.plan-setup{margin-bottom:22px;border:1px solid #c9e0e2;border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(24,51,58,.07);overflow:hidden}.plan-setup__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:linear-gradient(135deg,#e7f8f7,#fff9e9)}.plan-setup__head h2{margin:2px 0 0;font-size:1.2rem}.plan-setup__toggle{border:0;background:transparent;color:var(--plan-deep);font-weight:700}.plan-setup__body{padding:17px}.plan-field label,.plan-mini-panel label,.plan-auto-settings label{display:grid;gap:6px;font-weight:700}.plan-v2 select,.plan-v2 input[type=date],.plan-v2 input[type=time],.plan-v2 input[type=datetime-local],.plan-v2 input[type=text]{width:100%;min-height:43px;padding:8px 10px;border:1px solid #bed2d5;border-radius:9px;background:#fff;font:inherit;color:var(--plan-ink)}.plan-field--stay select{max-width:240px;font-weight:800}.plan-field__hint{margin:6px 0 0;font-size:.78rem;color:#687a7f}.plan-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.plan-check{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--plan-line);border-radius:11px;cursor:pointer}.plan-check:has(input:checked){border-color:var(--plan-sea);background:#effafa}.plan-check input{accent-color:var(--plan-deep)}
.plan-flight-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-mini-panel,.plan-hotel-settings,.plan-auto-settings{padding:14px;border-radius:12px;background:#f4f8f8}.plan-mini-panel h3,.plan-setting-title h3{margin:0 0 10px}.plan-mini-panel label+label{margin-top:10px}.plan-setting-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-setting-title button,#plan-add-hotel{padding:7px 10px;border:1px solid var(--plan-deep);border-radius:8px;background:#fff;color:var(--plan-deep);font-weight:700}.plan-hotel-row{display:grid;grid-template-columns:1fr 110px 110px 38px;gap:7px;margin-top:8px}.plan-hotel-remove{border:0;border-radius:8px;background:#fff;color:var(--plan-danger);font-size:1.1rem}.plan-night-row{display:grid;grid-template-columns:100px 1fr;gap:8px;align-items:center;margin-top:8px}.plan-night-row.is-unassigned{color:var(--plan-danger)}.plan-auto-settings{margin-top:12px}.plan-auto-build{margin-top:10px;padding:10px 14px;border:0;border-radius:9px;background:#4e5ab8;color:#fff;font-weight:800}.plan-auto-settings p{margin:7px 0 0;font-size:.76rem}.plan-start{display:block;width:100%;max-width:400px;margin:18px auto 0;padding:13px;border:0;border-radius:999px;background:var(--plan-deep);color:#fff;font-size:1rem;font-weight:800;cursor:pointer}
.plan-loading,.plan-error,.plan-empty{text-align:center;padding:36px 16px;border-radius:15px;background:#f5f9f9}.plan-empty__btn,.plan-error__retry{display:inline-block;margin-top:12px;padding:11px 20px;border:0;border-radius:9px;background:var(--plan-deep);color:#fff;text-decoration:none}.plan-summary{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}.plan-summary span{padding:6px 10px;border-radius:999px;background:#eef6f6;font-size:.78rem}.plan-route-help{margin:0 0 14px;padding:10px 12px;border-left:4px solid var(--plan-sea);background:#f2fafa;font-size:.78rem;line-height:1.55}
.plan-day{margin-bottom:18px;border:1px solid var(--plan-line);border-radius:16px;background:#fff;overflow:hidden}.plan-day__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;background:#cfe9e8}.plan-day__title{display:flex;align-items:center;gap:8px}.plan-day__title h2{margin:0;font-size:1.08rem}.plan-day__date{max-width:148px}.plan-day__meta{display:flex;gap:6px;align-items:center;font-size:.73rem}.plan-busy{display:block;padding:6px 8px;border-radius:7px;background:var(--plan-warn);color:#755b18;font-size:.76rem}.plan-day__stay{font-weight:700}.plan-day__content{padding:12px}.plan-period{margin-bottom:10px;border:1px dashed #d4e1e2;border-radius:11px;overflow:hidden}.plan-period__title{margin:0;padding:7px 10px;background:#f6f9f9;font-size:.85rem}.plan-period[data-period=morning] .plan-period__title{background:#fff6d6}.plan-period[data-period=afternoon] .plan-period__title{background:#e7f7ef}.plan-period[data-period=evening] .plan-period__title{background:#edeafd}.plan-day__empty{padding:22px;text-align:center;color:#7b8c90}.plan-day__weather{margin:7px 0 0;font-size:.76rem}.plan-flight-block{margin-top:8px;padding:9px 11px;border-radius:8px;background:#eaf1ff;color:#2d4775;font-size:.8rem;font-weight:700}.plan-day__hotel{margin-top:8px;padding:8px 10px;border-radius:8px;background:#f5f2ec;font-size:.78rem}.plan-day__hotel.is-warning{background:var(--plan-warn);color:#755214}.plan-load-warning{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff0e1;color:#7f4b18;font-size:.76rem}
.plan-item{--cat-bg:#edf5f6;display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:12px;background:var(--cat-bg);border:1px solid rgba(0,0,0,.04)}.plan-item+.plan-item{margin-top:8px}.plan-item__thumb{width:70px;height:64px;border-radius:9px;object-fit:cover;background:#dfe8e9}.plan-item__body{min-width:0}.plan-item__title{display:block;overflow:hidden;color:var(--plan-ink);font-weight:800;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.plan-item__meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:5px;font-size:.72rem}.plan-item__cat{padding:3px 7px;border-radius:999px;background:var(--cat-bg);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.plan-item__time{margin-top:5px;font-size:.7rem;color:#61767c}.plan-item__actions{display:grid;grid-template-columns:repeat(2,32px);gap:4px}.plan-item__actions button{width:32px;height:32px;border:0;border-radius:8px;background:rgba(255,255,255,.8);font-weight:800}.plan-item__remove{color:var(--plan-danger)}
.cat-beach{--cat-bg:#dff4fb}.cat-view{--cat-bg:#e9e2fa}.cat-island{--cat-bg:#dff2e7}.cat-sightseeing{--cat-bg:#fff0cf}.cat-food{--cat-bg:#ffe2d9}.cat-hotel{--cat-bg:#e5e8fa}.cat-activity{--cat-bg:#dcf4ef}.cat-shopping{--cat-bg:#f7e1ef}
.plan-leg{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;padding:7px 4px}.plan-leg__mode{display:flex;gap:3px}.plan-leg__mode button{min-width:36px;min-height:36px;padding:4px 6px;border:1px solid var(--plan-line);border-radius:7px;background:#fff;opacity:.55}.plan-leg__mode button.is-active{border-color:var(--plan-deep);opacity:1}.plan-leg__map{padding:7px 10px;border-radius:999px;background:#fff;color:var(--plan-deep);font-size:.76rem;font-weight:800;text-decoration:none;box-shadow:0 1px 4px rgba(0,0,0,.08)}.plan-leg--verify{background:#fff8e8;border-radius:9px}.plan-parking-alert{margin-top:7px;padding:7px 9px;border-radius:8px;background:var(--plan-warn);font-size:.72rem}.plan-parking-alert a{color:#85620f;font-weight:800}.plan-unscheduled{margin-top:22px;padding:14px;border-radius:15px;background:#f4f7f7}.plan-unscheduled__head{display:flex;justify-content:space-between;align-items:center}.plan-unscheduled__head h2{margin:0 0 10px;font-size:1rem}.plan-add-day,.plan-share button{width:100%;padding:12px;border:1px dashed var(--plan-deep);border-radius:11px;background:#fff;color:var(--plan-deep);font-weight:800}.plan-share{margin-top:18px;text-align:center}.plan-share button{max-width:420px;border-style:solid}.plan-share p{font-size:.76rem}.plan-footer-cta{text-align:center;margin-top:22px}.plan-footer-cta a{color:var(--plan-deep);font-weight:800}
.plan-toast{position:fixed;z-index:10010;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:12px;align-items:center;max-width:calc(100vw - 28px);padding:10px 14px;border-radius:999px;background:#173a42;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.25)}.plan-toast button{border:0;background:transparent;color:#8fe5ee;font-weight:800}.plan-modal-overlay{position:fixed;z-index:10020;inset:0;background:rgba(0,0,0,.45)}.plan-modal{position:fixed;z-index:10021;inset:auto 12px 18px;max-height:82vh;overflow:auto}.plan-modal__inner{max-width:520px;margin:0 auto;padding:18px;border-radius:16px;background:#fff}.plan-modal__inner h2{margin-top:0}.plan-modal__actions{display:flex;gap:8px;margin-top:15px}.plan-modal__actions button{flex:1;padding:11px;border:0;border-radius:9px}.plan-modal__primary{background:var(--plan-deep);color:#fff}.plan-modal__cancel{background:#edf2f2}.plan-preview-list{max-height:44vh;overflow:auto;padding-left:20px}
@media(max-width:680px){.plan-v2{padding-inline:12px}.plan-modes{gap:5px}.plan-mode{padding:8px 3px}.plan-mode strong{font-size:.82rem}.plan-mode span{font-size:.62rem}.plan-checks{grid-template-columns:1fr}.plan-flight-settings{grid-template-columns:1fr}.plan-hotel-row{grid-template-columns:1fr 1fr 1fr 44px}.plan-hotel-row input:first-child{grid-column:1/-2}.plan-hotel-remove{min-width:44px;min-height:44px}.plan-day__head{align-items:flex-start}.plan-day__title{display:block}.plan-day__date{margin-top:5px}.plan-item{grid-template-columns:52px 1fr auto;padding:8px}.plan-item__thumb{width:52px;height:52px}.plan-item__actions{grid-template-columns:repeat(2,44px)}.plan-item__actions button{width:44px;height:44px}.plan-leg{justify-content:center}.plan-leg__mode button{min-width:40px;min-height:40px;font-size:.78rem;padding:3px 5px}.plan-leg__map{font-size:.72rem}.voice-avatar{flex-basis:42px;height:42px}}

/* 2026-09-16 私のプラン：かんたん・おまかせ版 */
.plan-modes{grid-template-columns:1fr 1fr}.voice-avatar{object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.plan-booking-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.plan-booking-links a{padding:8px 12px;border:1px solid var(--plan-sea);border-radius:999px;background:#fff;color:var(--plan-deep);font-weight:800;text-decoration:none}
.plan-period__title{font-weight:800}.plan-day__hotel a{color:var(--plan-deep);font-weight:800}.plan-leg__label{font-size:.74rem;font-weight:800;color:#61767c}.plan-item__arrival{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}.plan-item__arrival label{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:800}.plan-item__arrival input{width:92px!important;min-height:34px!important;padding:4px 6px!important}.plan-time-now{border:1px solid var(--plan-sea);border-radius:7px;background:#fff;color:var(--plan-deep);font-size:.68rem;font-weight:800;padding:6px 8px}.plan-time-conflict{margin-top:5px;padding:5px 7px;border-radius:7px;background:var(--plan-warn);color:#755214;font-size:.7rem}
.plan-unscheduled__tools{margin:0 0 12px;padding:10px;border-radius:11px;background:#fff}.plan-unscheduled__tools p{margin:0 0 6px}.plan-unscheduled__tools div{display:flex;gap:5px}.plan-unscheduled__tools button{padding:7px 9px;border:1px solid var(--plan-line);border-radius:8px;background:#fff;color:var(--plan-ink);font-weight:700}.plan-unscheduled__tools button.is-active{border-color:var(--plan-deep);background:#eaf8f8}.plan-unscheduled__tools .plan-unscheduled-auto{width:100%;margin-top:8px;background:var(--plan-deep);color:#fff}.plan-unscheduled__tools small{display:block;margin-top:5px;color:#687a7f}
@media(min-width:900px){.plan-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px}.plan-summary,.plan-route-help,.plan-share,.plan-footer-cta{grid-column:1/-1}.plan-unscheduled{grid-column:1;grid-row:3;align-self:start;position:sticky;top:20px;margin-top:0}.plan-days{grid-column:2;grid-row:3}.plan-add-day{grid-column:2}}
@media(max-width:680px){.plan-modes{grid-template-columns:1fr 1fr}.plan-mode{min-height:78px}.plan-item{grid-template-columns:64px 1fr}.plan-item__thumb{width:64px;height:64px}.plan-item__actions{grid-column:1/-1;display:flex;justify-content:flex-end}.plan-leg__label{width:100%;text-align:center}}


/* 2026-09-17 私のプラン：カード簡素化・滞在時間編集 */
.plan-item{position:relative;padding-right:48px}
.plan-item__remove{
  position:absolute;top:4px;right:4px;z-index:3;
  width:44px;height:44px;margin:0;padding:0;
  border:0!important;border-radius:0!important;background:transparent!important;
  color:#8b4d4d;font-size:25px;line-height:44px;font-weight:500;
  box-shadow:none!important;text-align:center
}
.plan-item__remove:hover,.plan-item__remove:focus-visible{color:#b52c2c;background:rgba(181,44,44,.07)!important;outline:2px solid rgba(181,44,44,.28);outline-offset:-4px}
.plan-stay-duration{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:.75rem;font-weight:800;color:var(--plan-ink)}
.plan-stay-duration__input{width:54px!important;min-width:54px!important;max-width:54px!important;min-height:32px!important;padding:3px 4px!important;border:1px solid var(--plan-line)!important;border-radius:7px!important;background:#fff!important;text-align:center;font-weight:800}
.plan-item--unscheduled{grid-template-columns:64px minmax(0,1fr);align-items:start}
.plan-item--unscheduled .plan-item__thumb{width:64px;height:64px}
.plan-item__media{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.plan-item__calendar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;border:0!important;border-radius:6px;background:transparent!important;box-shadow:none!important;color:var(--plan-deep);font-size:1rem;line-height:1;cursor:pointer}
.plan-item__calendar:hover,.plan-item__calendar:focus-visible{background:rgba(255,255,255,.8)!important;outline:2px solid #9edce2;outline-offset:1px}
.plan-item--unscheduled .plan-item__actions,.plan-item--unscheduled .plan-item__arrival,.plan-item--unscheduled + .plan-leg{display:none!important}
.plan-item--unscheduled .plan-parking-alert{margin-top:7px}
.plan-time-conflict{line-height:1.55}
.plan-modal__primary.plan-remove-confirm{background:#a94242}
@media(max-width:680px){
  .plan-item{padding:10px 48px 10px 10px}
  .plan-item__remove{top:2px;right:2px}
  .plan-item--unscheduled{grid-template-columns:58px minmax(0,1fr)}
  .plan-item--unscheduled .plan-item__thumb{width:58px;height:58px}
  .plan-stay-duration{font-size:.72rem}
}


/* 2026-09 plan card refinements */
.plan-day__head{position:relative;padding-right:2.6rem}
.plan-day__remove{position:absolute;top:.55rem;right:.65rem;border:0!important;background:transparent!important;color:#8b5b5b!important;font-size:1.45rem;line-height:1;padding:.2rem;box-shadow:none!important}
.plan-item{position:relative;padding-top:2.1rem!important;background:#f7fbfb!important}
.plan-item.cat-food,.plan-item.cat-gourmet{background:#fffaf0!important}
.plan-item.cat-beach,.plan-item.cat-sea{background:#f2fbfd!important}
.plan-item.cat-hotel,.plan-item.cat-stay{background:#f7f6ff!important}
.plan-item.cat-activity,.plan-item.cat-experience{background:#f5fbf8!important}
.plan-item__up,.plan-item__down,.plan-item__move{position:absolute;border:0!important;background:transparent!important;box-shadow:none!important;color:#2e5960!important;padding:.25rem!important;min-width:0!important;height:auto!important;line-height:1.2}
.plan-item__up{left:.55rem;top:.45rem;font-size:1.25rem}
.plan-item__down{left:.55rem;bottom:.45rem;font-size:1.25rem}
.plan-item__move{right:.65rem;bottom:.55rem;font-size:.78rem;text-decoration:underline;text-underline-offset:3px}
.plan-item__remove{top:.45rem!important;right:.55rem!important;border:0!important;background:transparent!important;box-shadow:none!important}
.plan-item__details{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.45rem}
.plan-note-input-wrap{flex:1;min-width:150px}
.plan-note-input{width:100%;border:1px solid #d4e6e8;border-radius:8px;padding:.48rem .65rem;background:#fff}
.plan-note-display{margin-top:.55rem;padding:.55rem .7rem;border-left:3px solid #9edce2;background:rgba(255,255,255,.72);font-size:.86rem}
.plan-note-edit{margin-left:.7rem;border:0!important;background:transparent!important;color:#16839a!important;text-decoration:underline;padding:0!important}
.plan-item__time{font-size:.76rem;color:#527078;font-weight:600}
.plan-item__time--arrival{position:absolute;top:.55rem;left:2.35rem}
.plan-item__time--departure{margin-top:.55rem;padding-bottom:1.2rem}
.plan-leg{display:flex!important;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap}
.plan-leg__mode{order:4;display:flex;gap:.3rem}
.plan-leg-mode{color:#25555e!important}
.plan-primary,.plan-button--primary,.plan-modal__primary,#plan-auto-build,#plan-share-text{color:#fff!important}
@media (min-width:769px){
  .plan-stay-duration{flex:0 0 auto}
  .plan-note-input-wrap{max-width:320px}
}
@media (max-width:768px){
  .plan-item{padding-left:1.15rem!important;padding-right:1.15rem!important}
  .plan-item__details{display:block}
  .plan-note-input-wrap{display:block;margin-top:.55rem}
  .plan-item__time--arrival{left:2.15rem}
  .plan-leg{justify-content:flex-start!important}
}


/* 2026-09-17 compact memo and aligned times */
.plan-day__stay{display:none!important}
.plan-item{padding-bottom:2.2rem!important}
.plan-note-add{border:0!important;background:transparent!important;color:#257487!important;padding:.25rem .15rem!important;font-weight:700;white-space:nowrap;box-shadow:none!important;cursor:pointer}
.plan-item__time--arrival,.plan-item__time--departure{position:absolute!important;left:2.35rem!important;margin:0!important;padding:0!important;font-size:.76rem!important;color:#527078!important;font-weight:600!important}
.plan-item__time--arrival{top:.55rem!important}
.plan-item__time--departure{bottom:.55rem!important}
@media(max-width:768px){
  .plan-item__time--arrival,.plan-item__time--departure{left:2.15rem!important}
}

/* 2026-09-18 ホテル滞在を日程のヘッダー・フッター風に表示 */
.plan-hotel-event{grid-template-columns:34px 1fr!important;margin:8px 10px!important;padding:9px 12px!important;border-radius:9px!important;background:#f5f2ff!important;border:1px solid #ddd8f3!important}
.plan-hotel-event__icon{display:grid;place-items:center;font-size:1.05rem}
.plan-hotel-event .plan-item__title{white-space:normal;font-size:.86rem}
.plan-hotel-event__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;font-size:.75rem}
.plan-hotel-event-time{width:128px;min-height:36px;padding:5px 8px;border:1px solid #cfc9e8;border-radius:7px;background:#fff}
.plan-day__hotel--stay{margin:8px 10px;text-align:center;background:#f8f5ff;color:#5c5278;border:1px solid #e3def3}


/* 2026-09-18 下部操作の中央揃え */
.plan-add-day,.plan-share,.plan-footer-cta{width:100%;max-width:650px;margin-left:auto!important;margin-right:auto!important;text-align:center}
.plan-share{display:flex;flex-direction:column;align-items:center}
#plan-share-text{display:inline-flex;align-items:center;justify-content:center;width:min(100%,370px);margin:0 auto!important}
.plan-footer-cta{display:flex;justify-content:center;align-items:center}
.plan-footer-cta a{display:inline-flex;align-items:center;justify-content:center;margin:0 auto}
@media(max-width:768px){.plan-add-day,.plan-share,.plan-footer-cta{max-width:100%}}

/* MJN_PLAN_BOTTOM_ACTIONS_20260918C */
.plan-bottom-actions{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:18px 0 0;
}
.plan-bottom-actions .plan-share,
.plan-bottom-actions .plan-footer-cta{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
.plan-bottom-actions #plan-share-text{
  width:auto!important;
  min-width:260px!important;
  max-width:none!important;
  margin:0!important;
}
@media(min-width:900px){
  .plan-workspace .plan-bottom-actions{grid-column:2}
}
@media(max-width:600px){
  .plan-bottom-actions{flex-direction:column;gap:12px}
  .plan-bottom-actions #plan-share-text{width:100%!important;min-width:0!important}
}


/* 2026-09-18 私のプラン分岐ページ */
.plan-hub{max-width:980px;margin:0 auto;padding:70px 20px 90px}
.plan-hub__hero{text-align:center;margin-bottom:28px}
.plan-hub__guide{max-width:720px;margin:0 auto 28px;padding:20px 24px;border:1px solid #c8e6ed;border-radius:16px;background:linear-gradient(135deg,#eefbfe,#fffaf0);text-align:center}
.plan-hub__guide p{margin:0}
.plan-hub__guide-title{margin-bottom:6px!important;color:#075f76;font-size:1.08rem;font-weight:700}
.plan-hub__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plan-hub-card{display:flex;min-height:255px;flex-direction:column;padding:24px;border:1px solid #b9dfe8;border-radius:18px;background:#fff;color:#164f5e!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(30,112,131,.08);transition:transform .2s ease,box-shadow .2s ease}
.plan-hub-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(30,112,131,.14)}
.plan-hub-card--easy{background:#fff}
.plan-hub-card__number{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;margin-bottom:22px;border-radius:50%;background:#8dcfe0;color:#fff;font-weight:700}
.plan-hub-card h2{margin:0 0 10px;color:#075f76;font-size:1.35rem}
.plan-hub-card p{margin:0 0 24px;color:#4d6970;line-height:1.8}
.plan-hub-card__action{display:block;margin-top:auto;padding:12px 14px;border-radius:999px;background:#8dcfe0;color:#fff;text-align:center;font-weight:700}
.plan-hub__saved{margin-top:28px;padding:25px;border:1px solid #d5e8ec;border-radius:16px;background:#fff;text-align:center}
.plan-hub__saved h2{margin:0 0 8px;color:#075f76;font-size:1.18rem}
.plan-hub__saved p{margin:0}
.plan-hub__saved-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.plan-hub__saved-links a,.plan-detail-nav a{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border:1px solid #b9dfe8;border-radius:999px;background:#f5fcfe;color:#075f76!important;font-weight:700;text-decoration:none!important}
.plan-detail-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:768px){
 .plan-hub{padding:45px 18px 65px}
 .plan-hub__choices{grid-template-columns:1fr}
 .plan-hub-card{min-height:0}
 .plan-hub__guide{text-align:left}
 .plan-hub__saved-links,.plan-detail-nav{flex-direction:column}
 .plan-hub__saved-links a,.plan-detail-nav a{width:100%}
}

/* 2026-09-19 予定追加・移動時間の理由表示 */
.plan-leg__reason{max-width:360px;font-size:.74rem;line-height:1.45;color:#755214;text-align:center}



/* ============================================================
   MJN_PLAN_TARGETED_LAYOUT_FIX_20260925
   実クラス確認済み：
   - 左右カラム = .plan-workspace
   - 未定欄 = .plan-unscheduled
   - 日程欄 = .plan-days
   変更は「左右幅・縦線/矢印・戻るボタン」だけ
   ============================================================ */

/* PC：未定欄を約2倍（280px→420px）、右の日程欄をその分細く */
@media(min-width:900px){
  .plan-workspace{
    grid-template-columns:420px minmax(0,1fr)!important;
    gap:18px!important;
  }
  .plan-unscheduled{
    grid-column:1!important;
    grid-row:3!important;
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
  }
  .plan-days{
    grid-column:2!important;
    grid-row:3!important;
    min-width:0!important;
  }
  .plan-add-day{grid-column:2!important}
  .plan-workspace .plan-bottom-actions{grid-column:2!important}
}

/* 実時刻は残す。タイムライン風の縦棒・丸は作らない */
.plan-day__content::before,
.plan-item::before,
.plan-item::after,
.plan-leg::before,
.plan-leg::after{
  display:none!important;
  content:none!important;
}

/* カード左上/左下の上下操作を小さく控えめに */
.plan-item__up,
.plan-item__down{
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #c9dadd!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#476a71!important;
  font-size:.78rem!important;
  line-height:1!important;
  box-shadow:none!important;
}
.plan-item__up{left:.5rem!important;top:.5rem!important}
.plan-item__down{left:.5rem!important;bottom:.5rem!important}

/* 到着・出発時刻は現在の位置・表示をそのまま明瞭に */
.plan-item__time--arrival,
.plan-item__time--departure{
  color:#365e67!important;
  font-weight:700!important;
}

/* スマホは従来どおり1列 */
@media(max-width:899px){
  .plan-workspace{display:block!important}
}


/* ============================================================
   MJN_PLAN_CARD_TIGHTEN_20260925
   変更対象は2点だけ：
   1) 未定スポットを1件ずつ枠で囲む
   2) 決定済みカードの画像周りの余白を最小限にする
   ============================================================ */

/* 左：まだ予定を決めていない — 各スポットを独立カード化 */
#plan-unscheduled-items .plan-item--unscheduled{
  border:1px solid #d7e5e8!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:8px 30px 8px 8px!important;
  margin:0 0 8px!important;
  box-shadow:none!important;
}

/* 右：決まった予定 — 画像と本文の間の余白だけ縮める */
#plan-days .plan-item:not(.plan-item--unscheduled){
  column-gap:6px!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__thumb{
  margin:0!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__media{
  gap:2px!important;
  margin:0!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__info{
  margin:0!important;
  padding-left:0!important;
}


/* ============================================================
   MJN_PLAN_SCHEDULED_BALANCE_FIX_20260925
   左の未定リストは変更しない。
   右の決定済みカードだけを整える。
   ============================================================ */

/* 決定済みカード：画像列を必要最小限に固定し、本文を画像のすぐ右へ */
#plan-days .plan-item:not(.plan-item--unscheduled){
  grid-template-columns:44px minmax(0,1fr)!important;
  column-gap:8px!important;
  row-gap:2px!important;
  align-items:center!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__media{
  width:44px!important;
  min-width:44px!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  align-self:center!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__thumb{
  display:block!important;
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0!important;
  border-radius:7px!important;
  object-fit:cover!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__body{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

/* お気に入りへ戻す：小さな○ボタンへ戻す */
#plan-days .plan-item__return{
  position:absolute!important;
  left:8px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:4!important;
  width:22px!important;
  min-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  padding:0!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #9fbfc5!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#355e66!important;
  box-shadow:none!important;
  font-size:12px!important;
  line-height:1!important;
}

/* 戻るボタンと画像が重ならない分だけ、カード左側に最低限の余白 */
#plan-days .plan-item:not(.plan-item--unscheduled){
  padding-left:38px!important;
}


/* ============================================================
   MJN_PLAN_THUMB_MATCH_INFO_HEIGHT_20260925
   決定済み側のみ：アイキャッチを右側の情報ブロックの高さに近づける
   他のレイアウト・時刻・未定リスト・戻るボタンは変更しない
   ============================================================ */

/* 右側の文字情報（名称＋カテゴリ＋滞在時間＋設備表示）に合わせて約64pxへ */
#plan-days .plan-item:not(.plan-item--unscheduled){
  grid-template-columns:64px minmax(0,1fr)!important;
  column-gap:8px!important;
  align-items:center!important;
}

#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__media{
  width:64px!important;
  min-width:64px!important;
  height:64px!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
}

#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__thumb{
  display:block!important;
  width:64px!important;
  min-width:64px!important;
  height:64px!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  border-radius:8px!important;
}

/* 文字ブロックは画像と中央を揃える。行間は現状を維持 */
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__body{
  align-self:center!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}


/* ============================================================
   MJN_PLAN_SCHEDULED_CARD_DENSITY_20260925
   決定済み側のみ：
   ・アイキャッチ拡大
   ・右側情報の行間を圧縮
   ・カード背景を薄い水色に統一
   ============================================================ */

/* 決定済みカードはカテゴリに関係なく薄い水色 */
#plan-days .plan-item:not(.plan-item--unscheduled){
  background:#f2fbfc!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  column-gap:8px!important;
  row-gap:0!important;
}

/* アイキャッチを情報ブロックに近い存在感まで拡大 */
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__media{
  width:76px!important;
  min-width:76px!important;
  height:76px!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__thumb{
  width:76px!important;
  min-width:76px!important;
  height:76px!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  border-radius:8px!important;
}

/* 右側の文字情報を一段詰める */
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__body{
  margin:0!important;
  padding:0!important;
  line-height:1.18!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__title{
  margin:0 0 2px!important;
  line-height:1.2!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__meta,
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__details,
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-item__controls{
  margin-top:2px!important;
  margin-bottom:0!important;
  line-height:1.15!important;
}
#plan-days .plan-item:not(.plan-item--unscheduled) .plan-parking-alert{
  margin-top:3px!important;
  margin-bottom:0!important;
  padding-top:2px!important;
  padding-bottom:2px!important;
  line-height:1.15!important;
}

/* カテゴリの色分けは既存のまま残す */


/* =========================================================
   2026-09-25 PC左右同高 + 左だけスクロール / スマホ縦並び
   ========================================================= */

/* 新しい2カラム構造 */
.plan-workspace{
  align-items:start!important;
}
.plan-workspace > .plan-summary{
  grid-column:1 / -1!important;
}
.plan-decided{
  min-width:0;
}
.plan-decided__footer{
  margin-top:16px;
}

/* 左候補欄 */
.plan-unscheduled__scroll{
  min-height:0;
}

/* 右下：移動時間 */
.plan-route-help{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin:0 0 12px!important;
  padding:10px 13px!important;
  border:0!important;
  border-left:3px solid #118caf!important;
  border-radius:8px!important;
  background:#eef9fa!important;
  color:#4f6f76!important;
  font-size:.76rem!important;
  line-height:1.65!important;
  box-shadow:none!important;
}
.plan-route-help strong{
  flex:0 0 auto;
  color:#0b7185;
}
.plan-route-help span{
  min-width:0;
}

/* 保存・共有 */
.plan-share-card{
  margin:0!important;
  padding:16px!important;
  border:1px solid #d7e9ec!important;
  border-radius:14px!important;
  background:#f8fcfd!important;
}
.plan-share-card h2{
  margin:0 0 4px!important;
  color:#173f47!important;
  font-size:1rem!important;
}
.plan-share-card > p{
  margin:0 0 10px!important;
  color:#637b80!important;
  font-size:.78rem!important;
  line-height:1.6!important;
}
.plan-share{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
}
#plan-share-text,
#plan-share-pdf{
  appearance:none!important;
  min-height:40px!important;
  margin:0!important;
  padding:8px 16px!important;
  border-radius:999px!important;
  font:inherit!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
#plan-share-text{
  border:1px solid #118caf!important;
  background:#118caf!important;
  color:#fff!important;
}
#plan-share-pdf{
  border:1px solid #118caf!important;
  background:#fff!important;
  color:#0b7185!important;
}
#plan-share-status{
  flex:0 0 100%;
  min-height:0!important;
  margin:5px 0 0!important;
  color:#39727d!important;
  font-size:.72rem!important;
}
.plan-footer-cta{
  margin:10px 0 0!important;
  text-align:right!important;
}
.plan-footer-cta a{
  display:inline-block!important;
  color:#0b7185!important;
  font-size:.78rem!important;
  font-weight:800!important;
  text-decoration:none!important;
}

/* PC：左右を同じ高さに見せ、左の中身だけスクロール */
@media (min-width:900px){
  .plan-workspace{
    display:grid!important;
    grid-template-columns:420px minmax(0,1fr)!important;
    gap:18px!important;
  }

  .plan-unscheduled{
    grid-column:1!important;
    grid-row:2!important;
    position:sticky!important;
    top:18px!important;
    display:flex!important;
    flex-direction:column!important;
    max-height:calc(100vh - 36px)!important;
    overflow:hidden!important;
  }

  .plan-unscheduled__head{
    flex:0 0 auto!important;
  }

  .plan-unscheduled__scroll{
    flex:1 1 auto!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    padding-right:4px;
    scrollbar-gutter:stable;
  }

  .plan-decided{
    grid-column:2!important;
    grid-row:2!important;
  }
}

/* スマホ・タブレット：内部スクロールを使わず自然な縦並び */
@media (max-width:899px){
  .plan-workspace{
    display:flex!important;
    flex-direction:column!important;
  }

  .plan-summary{
    order:1;
  }
  .plan-decided{
    display:contents;
  }
  .plan-days{
    order:2;
  }
  .plan-add-day{
    order:3;
  }
  .plan-unscheduled{
    order:4;
    position:static!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .plan-unscheduled__scroll{
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
  }
  .plan-decided__footer{
    display:contents;
  }
  .plan-route-help{
    order:5;
    display:block!important;
    margin-top:14px!important;
  }
  .plan-route-help strong{
    display:block;
    margin-bottom:2px;
  }
  .plan-share-card{
    order:6;
    margin-top:0!important;
  }
  .plan-footer-cta{
    order:7;
    text-align:center!important;
  }
  .plan-share{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  #plan-share-text,
  #plan-share-pdf{
    width:100%!important;
  }
}

/* =========================================================
   2026-09-25 PC：左右カラム重なり修正
   右側フッターの見た目・スマホ版は変更しない
   ========================================================= */
@media (min-width:900px){
  .plan-workspace{
    grid-template-columns:minmax(0,420px) minmax(0,1fr)!important;
    align-items:start!important;
  }

  .plan-workspace > .plan-unscheduled{
    width:100%!important;
    max-width:420px!important;
    min-width:0!important;
    box-sizing:border-box!important;
    justify-self:stretch!important;
    overflow:hidden!important;
  }

  .plan-unscheduled__head,
  .plan-unscheduled__scroll,
  #plan-unscheduled-items,
  #plan-unscheduled-items .plan-item,
  #plan-unscheduled-items .plan-item--unscheduled{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .plan-unscheduled__scroll{
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  .plan-workspace > .plan-decided{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    justify-self:stretch!important;
    overflow:visible!important;
  }

  .plan-decided .plan-days,
  .plan-decided .plan-day,
  .plan-decided .plan-add-day,
  .plan-decided .plan-decided__footer{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}

/* =========================================================
   2026-09-26 旅行OS 共通ヘッダー・切り替えUI
   ========================================================= */
:root{
  --os-main:#118caf;
  --os-dark:#0b6272;
  --os-ink:#183b43;
  --os-muted:#63777c;
  --os-line:#cfe6e9;
  --os-aqua:#eefbfe;
  --os-cream:#fffaf0;
}

/* 見出し */
.plan-v2 .miyako-eyebrow{display:none!important}
.plan-v2 .plan-hero,
.plan-v2.plan-hub .plan-hub__hero{
  width:100%;
  max-width:820px;
  margin:0 auto 14px;
  padding:28px 22px;
  box-sizing:border-box;
  border:1px solid var(--os-line);
  border-radius:20px;
  background:linear-gradient(135deg,var(--os-aqua),var(--os-cream));
  text-align:center;
}
.plan-v2 .plan-hero__title{
  margin:0 0 9px!important;
  color:var(--os-dark)!important;
  font-size:clamp(1.65rem,4vw,2.3rem)!important;
  line-height:1.35!important;
  font-weight:800!important;
}
.plan-v2 .plan-hero__lead{
  max-width:620px;
  margin:0 auto!important;
  color:var(--os-muted)!important;
  font-size:.95rem!important;
  line-height:1.8!important;
}

/* 3モード切り替え */
.os-mode-switch{
  width:100%;
  max-width:820px;
  margin:0 auto 20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  box-sizing:border-box;
}
.os-mode-switch a{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:9px 12px;
  box-sizing:border-box;
  border:1px solid var(--os-main);
  border-radius:999px;
  background:#fff;
  color:var(--os-dark)!important;
  text-decoration:none!important;
  font-size:.9rem;
  font-weight:800;
  line-height:1.35;
}
.os-mode-switch a.is-active{
  background:var(--os-main);
  color:#fff!important;
}

/* 私のプラン入口 */
.plan-hub{padding-top:28px!important}
.plan-hub__guide,
.plan-hub__choices,
.plan-hub__saved{
  width:100%;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box;
}
.plan-hub__guide{
  margin-bottom:20px!important;
  padding:16px 20px!important;
  border:1px solid var(--os-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  text-align:center;
}
.plan-hub__choices{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.plan-hub-card{
  border-color:var(--os-line)!important;
  border-radius:18px!important;
  box-shadow:0 6px 22px rgba(21,121,138,.07)!important;
}
.plan-hub-card__number{background:#8dcfe0!important}
.plan-hub-card h2{color:var(--os-dark)!important}
.plan-hub-card__action{
  min-height:44px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  background:var(--os-main)!important;
}
.plan-hub__saved{
  border-color:var(--os-line)!important;
  border-radius:18px!important;
  box-shadow:0 6px 22px rgba(21,121,138,.05);
}

@media(max-width:768px){
  .plan-v2 .plan-hero,
  .plan-v2.plan-hub .plan-hub__hero{
    padding:24px 16px;
    margin-bottom:12px;
  }
  .plan-v2 .plan-hero__lead{font-size:.9rem!important}
  .os-mode-switch{gap:6px;margin-bottom:16px}
  .os-mode-switch a{padding:8px 5px;font-size:.82rem}
  .plan-hub{padding-top:28px!important}
  .plan-hub__choices{grid-template-columns:1fr!important}
}

/* =========================================================
   2026-09-26 PC版：4画面のタイトル枠上端を完全に揃える
   基準：おまかせ版／見本プランの現在位置
   ========================================================= */
@media (min-width:769px){
  /* /my-plan/ は現在の表示位置から40px上へ */
  .plan-v2.plan-hub{
    position:relative!important;
    top:-40px!important;
  }

  /* /plan-custom/ は現在の表示位置から17px上へ */
  .plan-v2:not(.plan-hub){
    position:relative!important;
    top:-17px!important;
  }
}

/* =========================================================
   2026-09-26 PC版：4ページ上部の外寸・位置を完全共通化
   hero = 820px × 170px / 同一中央軸
   ========================================================= */
@media (min-width:769px){
  .plan-v2 .plan-hero,
  .plan-v2.plan-hub .plan-hub__hero{
    width:820px!important;
    max-width:820px!important;
    height:170px!important;
    min-height:170px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:28px 22px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }

  /* スクリーンショット実測差を解消して同じ上端へ */
  .plan-v2.plan-hub{
    top:-49px!important;
  }
  .plan-v2:not(.plan-hub){
    top:-22px!important;
  }

  .os-mode-switch{
    width:820px!important;
    max-width:820px!important;
    box-sizing:border-box!important;
  }
}
/* 2026-09-28 作りこみ版：自動整列・戻す・進む */
.plan-history-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:10px;margin:14px 0 22px;padding:12px;border:1px solid #cfe6e9;border-radius:14px;background:#f8fcfd}
.plan-history-actions button{min-height:44px;border:1px solid #118caf;border-radius:999px;background:#fff;color:#0b6272;font-weight:800;cursor:pointer}
.plan-history-actions .plan-history-actions__auto{background:#118caf;color:#fff}
.plan-history-actions button:disabled{opacity:.38;cursor:not-allowed}
@media(max-width:520px){.plan-history-actions{grid-template-columns:1.35fr 1fr 1fr;gap:6px;padding:9px}.plan-history-actions button{font-size:.82rem;padding:8px 5px}}

/* 2026-10-08 白紙予定 */
.plan-blank-tools{margin:10px 0 14px;padding:12px 14px;background:#fff;border:1px dashed #8bbdc8;border-radius:12px}
.plan-blank-tools p{margin:7px 0 0;font-size:12px;color:#667}
.plan-blank-add,.ep-blank-add{appearance:none;border:0;border-radius:999px;background:#0b7285;color:#fff;font-weight:700;padding:9px 15px;cursor:pointer}
.plan-blank-search-results{margin-top:10px;display:grid;gap:7px}
.plan-blank-result{width:100%;text-align:left;border:1px solid #d8e4e8;background:#fff;border-radius:9px;padding:9px 10px;cursor:pointer}
.plan-blank-result small{display:block;color:#68777c;margin-top:2px}
.plan-blank-manual{margin-top:12px;padding-top:12px;border-top:1px solid #e6ecee}
.plan-blank-notice{font-size:12px;line-height:1.6;color:#735c00;background:#fff8dc;border-radius:8px;padding:8px 10px;margin-top:8px}
.plan-item--manual-event .plan-item__cat:after{content:'・利用者入力';font-size:11px;color:#777}
.plan-leg--manual-max .plan-leg__reason{font-weight:600}
.plan-empty__choice--button{font:inherit;cursor:pointer;text-align:left;width:100%}

/* 2026-10-09 朝ごはん */
.plan-breakfast{margin:8px 0 10px;padding:10px 12px;border:1px dashed #e8c66a;border-radius:10px;background:#fffaf0}
.plan-breakfast__toggle{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;cursor:pointer}
.plan-breakfast__choices{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px}
.plan-breakfast__choice{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.plan-breakfast-spot{max-width:100%;min-width:0;font-size:13px;padding:4px 6px}
.plan-breakfast__hint,.plan-breakfast__note{flex-basis:100%;margin:2px 0 0;font-size:12px;line-height:1.6;color:#735c00}

.plan-day__end{margin-top:10px}
/* 2026-10-09 昼食・夕食の枠 */
.plan-meal-slot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:6px 0;padding:10px 12px;border-radius:10px;background:#fff8e6;border:1px solid #f1dfb0;font-size:13px}
.plan-meal-slot__label{flex:1 1 auto;min-width:0}
.plan-meal-pick{max-width:100%;font-size:13px;padding:4px 6px}
.plan-meal-slot__search{font-size:12px;white-space:nowrap}
/* 2026-10-09 ×ボタンの選択肢・観光の無い日 */
.plan-modal__actions--remove{flex-wrap:wrap}
.plan-modal__actions--remove button{flex:1 1 160px}
.plan-modal__danger{background:#a94242;color:#fff!important}
.plan-day__find{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:8px 0;padding:12px;border:1px dashed #9fd0d6;border-radius:10px;background:#f4fbfc;font-size:13px}
.plan-day__find span{flex-basis:100%;color:#476066}
.plan-day__find-btn{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #9fd0d6;font-weight:700;text-decoration:none}

/* 2026-10-09 バスの区間案内 */
.plan-leg--bus .plan-leg__bus{flex:1 1 260px;font-size:13px;line-height:1.6;text-align:left}
.plan-leg--bus .plan-leg__bus small{color:#5a6b70}
/* 2026-10-09 バス停を予定の行として表示 */
.plan-leg--bus-ok{justify-content:space-between}
.plan-bus-steps{margin:4px 0 8px;padding:8px 12px;border-left:3px solid #2a8c9a;background:#f4fbfc;border-radius:0 10px 10px 0;font-size:13px}
.plan-bus-step{display:flex;align-items:baseline;gap:10px;padding:3px 0;line-height:1.5}
.plan-bus-step small{margin-left:6px;color:#5a6b70;font-size:11px}
.plan-bus-step--stop{font-weight:700}
.plan-bus-step__time{min-width:52px;font-variant-numeric:tabular-nums;color:#0a6075}
.plan-bus-step--walk,.plan-bus-step--ride{padding-left:62px;color:#476066}
.plan-bus-steps__note{margin:4px 0 0;font-size:11px;color:#5a6b70}

/* 2026-10-09 夕食が居酒屋・バーの日の運転代行案内 */
.plan-daiko-hint{margin:6px 0;padding:8px 12px;border-radius:10px;background:#fff8e6;border:1px solid #f1dfb0;font-size:13px}
/* 2026-10-09 雨の日の差し替え案 */
.plan-rain{margin:6px 0 10px;padding:10px 12px;border-radius:10px;background:#eef4fb;border:1px solid #c9dbef;font-size:13px;line-height:1.6}
.plan-rain p{margin:4px 0}
.plan-rain__list{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.plan-rain-add{padding:6px 10px;border-radius:999px;border:1px solid #9fbfe0;background:#fff;font-size:12px;cursor:pointer}
.plan-rain__search{font-size:12px}
