/* ===== 下層ページ共通コンポーネント ===== */
.page-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;min-height:300px;display:flex;align-items:flex-end}
.page-hero .bg{position:absolute;inset:0}
.page-hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.9}
.page-hero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,27,51,.55) 0%,rgba(13,27,51,.15) 40%,rgba(13,27,51,.85) 100%)}
.page-hero .wrap{position:relative;z-index:2;padding:60px 0 30px}
.crumb{font-size:10px;letter-spacing:.08em;opacity:.85;display:flex;gap:6px;align-items:center;margin-bottom:12px}
.crumb a:hover{text-decoration:underline}
.crumb .ms{font-size:12px}
.page-hero h1{font-size:44px;font-weight:900;line-height:1.1;letter-spacing:.02em}
.page-hero h1 small{display:block;font-family:"Oswald",sans-serif;font-weight:500;font-size:14px;letter-spacing:.16em;text-transform:uppercase;opacity:.85;margin-top:8px}
.page-hero .lead{font-size:13px;margin-top:12px;max-width:560px;line-height:1.7;opacity:.95}
.page-hero.sm{min-height:200px}
.page-hero.sm .wrap{padding:44px 0 24px}
.page-hero.sm h1{font-size:34px}

.pg{padding:38px 0 0}
.pg:last-of-type{padding-bottom:60px}
.pg-h{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.pg-h h2{font-size:26px;font-weight:600;letter-spacing:.03em;line-height:1.05}
.pg-h h2 small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--sub);margin-top:6px}
.pg-h .count{font-size:11px;color:var(--sub)}
.pg-h .count b{color:var(--ink);font-size:16px;margin-right:2px}

/* filters */
.filters{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;margin-bottom:22px}
.fgroup{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fgroup .lab{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--sub);margin-right:2px;white-space:nowrap}
.chipf{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:600;color:var(--ink);transition:.2s;white-space:nowrap}
.chipf:hover{border-color:var(--navy)}
.chipf.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.sort{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--sub)}
.sort select{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:#fff}

/* card grid */
.cardgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cardgrid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.scard{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;position:relative;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.scard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,27,51,.14)}
.scard .pic{aspect-ratio:4/3;position:relative;overflow:hidden;background:#2b4a72}
.scard .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scard .tag{position:absolute;left:10px;top:10px;background:rgba(13,27,51,.8);color:#fff;font-size:9px;font-weight:700;letter-spacing:.08em;padding:4px 8px;border-radius:999px;display:flex;align-items:center;gap:4px;z-index:2}
.scard .tag .ms{font-size:12px}
.scard .tag.or{background:var(--orange)}
.fav-btn{position:absolute;right:10px;top:10px;z-index:2;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;color:var(--navy);transition:.2s}
.fav-btn:hover{transform:scale(1.1)}
.fav-btn .ms{font-size:16px}
.fav-btn.on{background:var(--orange);color:#fff}
.fav-btn.on .ms{font-variation-settings:"FILL" 1}
.scard .body{padding:12px 14px 14px}
.scard .area{font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--orange);font-family:"Oswald",sans-serif}
.scard h3{font-size:14px;font-weight:700;line-height:1.35;margin:3px 0 2px}
.scard h3 small{display:block;font-family:"Oswald",sans-serif;font-weight:500;font-size:9px;letter-spacing:.12em;color:var(--sub)}
.scard p{font-size:11px;color:var(--sub);line-height:1.55;margin-top:6px}
.scard .meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:10px;color:var(--sub);align-items:center}
.scard .meta .ms{font-size:13px;vertical-align:-3px;margin-right:2px;color:var(--navy)}
.scard .price{margin-left:auto;font-size:14px;font-weight:700;color:var(--ink)}
.scard .price small{font-size:9px;font-weight:500;color:var(--sub)}
.scard.wide{display:grid;grid-template-columns:220px 1fr}
.scard.wide .pic{aspect-ratio:auto;height:100%;min-height:150px}

/* detail layout */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start;padding-top:30px}
.detail .main > *+*{margin-top:28px}
.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:200px 200px;gap:8px;border-radius:18px;overflow:hidden}
.gallery div{position:relative;background:#2b4a72;overflow:hidden}
.gallery div:first-child{grid-row:1/3}
.gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery div:hover img{transform:scale(1.05)}
.gallery .morepic{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;font-size:10px;font-weight:700;padding:5px 10px;border-radius:999px}
.dtitle .area{font-size:10px;letter-spacing:.12em;color:var(--orange);font-weight:700;font-family:"Oswald",sans-serif}
.dtitle h1{font-size:30px;font-weight:900;line-height:1.2;margin-top:4px}
.dtitle h1 small{display:block;font-family:"Oswald",sans-serif;font-weight:500;font-size:12px;letter-spacing:.16em;color:var(--sub);margin-top:4px}
.dtitle .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.dtitle .tags span{font-size:10px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--sub)}
.dtitle .tags span.or{border-color:var(--orange);color:var(--orange)}
.prose{font-size:13px;line-height:1.9;color:#333}
.prose h2{font-size:18px;font-weight:700;margin:0 0 10px;padding-left:12px;border-left:3px solid var(--orange)}
.prose p+p{margin-top:10px}
.infotbl{width:100%;border-collapse:collapse;font-size:12px}
.infotbl th,.infotbl td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.6}
.infotbl th{width:120px;color:var(--sub);font-weight:700;font-size:11px;white-space:nowrap}
.infotbl th .ms{font-size:15px;vertical-align:-3px;margin-right:4px;color:var(--navy)}
.mapbox2{height:300px;border-radius:16px;overflow:hidden;background:#c9dcea;position:relative;border:1px solid var(--line)}
.mapbox2 > div{width:100%;height:100%}
.aside{position:sticky;top:86px;display:grid;gap:14px}
.abox{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.abox h3{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--sub);margin-bottom:10px}
.abox .big{font-size:26px;font-weight:700;line-height:1}
.abox .big small{font-size:11px;font-weight:500;color:var(--sub);margin-left:4px}
.abox .btn{width:100%;margin-top:12px}
.abox .btn-n{background:var(--navy);color:#fff}
.abox .btn-n:hover{background:var(--navy2)}
.abox .btn.on{background:var(--green);color:#fff}
.abox .row{display:flex;justify-content:space-between;font-size:11px;padding:7px 0;border-top:1px solid var(--line)}
.abox .row:first-of-type{border-top:0}
.abox .row b{color:var(--ink)}
.abox ul.links li a{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;padding:8px 0;border-top:1px solid var(--line)}
.abox ul.links li:first-child a{border-top:0}
.abox ul.links .ms{font-size:16px;color:var(--navy)}
.abox ul.links a:hover{color:var(--orange)}
.addbtn{display:inline-flex;align-items:center;gap:6px;background:var(--orange);color:#fff;border-radius:999px;padding:9px 14px;font-size:11px;font-weight:700}
.addbtn.on{background:var(--green)}
.addbtn .ms{font-size:15px}

/* plan builder */
.builder{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;padding-top:30px}
.steps{display:grid;gap:16px}
.step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px}
.step .sh{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.step .num{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:"Oswald",sans-serif;font-weight:600;font-size:14px}
.step .sh h2{font-size:16px;font-weight:700}
.step .sh h2 small{font-family:"Oswald",sans-serif;font-weight:500;font-size:10px;letter-spacing:.14em;color:var(--sub);margin-left:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips .chipf{padding:9px 14px;font-size:12px}
.chips .chipf .ms{font-size:15px;vertical-align:-3px;margin-right:4px}
.daytabs{display:flex;gap:6px;margin-bottom:12px}
.daytabs button{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:11px;font-weight:700;background:#fff}
.daytabs button.on{background:var(--orange);color:#fff;border-color:var(--orange)}
.pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pickcard{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#2b4a72;color:#fff;cursor:pointer;border:2px solid transparent;transition:.2s}
.pickcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pickcard:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 60%)}
.pickcard .t{position:absolute;left:10px;right:10px;bottom:8px;z-index:2;font-size:11px;font-weight:700;line-height:1.3}
.pickcard .t small{display:block;font-size:9px;font-weight:500;opacity:.85}
.pickcard .add{position:absolute;right:8px;top:8px;z-index:2;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center}
.pickcard .add .ms{font-size:16px}
.pickcard.on{border-color:var(--orange)}
.pickcard.on .add{background:var(--orange);color:#fff}
.pickcard:hover{transform:translateY(-2px)}
.tripside{position:sticky;top:86px;background:var(--navy);color:#fff;border-radius:18px;padding:20px}
.tripside h2{font-size:22px;font-weight:600;letter-spacing:.03em;line-height:1}
.tripside .sub{font-size:10px;opacity:.7;margin:6px 0 14px}
.tripside .sum{display:flex;gap:14px;font-size:10px;opacity:.9;margin-bottom:12px}
.tripside .sum b{display:block;font-size:18px;font-weight:600;line-height:1}
.tlist{display:grid;gap:8px;max-height:380px;overflow:auto;padding-right:4px}
.tlist::-webkit-scrollbar{width:4px}
.tlist::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:2px}
.titem{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border-radius:10px;padding:8px}
.titem img{width:52px;height:40px;object-fit:cover;border-radius:6px}
.titem .t{flex:1;font-size:11px;font-weight:700;line-height:1.3}
.titem .t small{display:block;font-size:9px;opacity:.7;font-weight:500}
.titem .day{font-size:9px;font-weight:700;letter-spacing:.06em;background:var(--orange);border-radius:999px;padding:2px 7px}
.titem .rm{opacity:.6}
.titem .rm:hover{opacity:1;color:var(--orange)}
.tlist .empty{font-size:11px;opacity:.7;text-align:center;padding:26px 10px;border:1px dashed rgba(255,255,255,.3);border-radius:10px;line-height:1.7}
.tripside .btn{width:100%;margin-top:14px}
.tripside .btn-w{background:#fff;color:var(--navy)}
.tripside .btn-w:hover{background:var(--cream)}

/* area list */
.areagrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.acard{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;background:#2b4a72;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.acard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.acard:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,18,38,.9) 0%,rgba(8,18,38,.7) 38%,rgba(8,18,38,.25) 70%,rgba(8,18,38,.1) 100%)}
.acard > *{position:relative;z-index:2}
.acard:hover{transform:scale(1.03);box-shadow:0 18px 40px rgba(13,27,51,.3)}
.acard .no{font-family:"Oswald",sans-serif;font-size:11px;letter-spacing:.16em;opacity:.95;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.acard h3{font-size:24px;font-weight:700;line-height:1.15;margin-top:2px;text-shadow:0 1px 3px rgba(0,0,0,.75),0 0 14px rgba(0,0,0,.5)}
.acard h3 small{display:block;font-family:"Oswald",sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.14em;opacity:.95;margin-top:3px;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.acard p{font-size:12.5px;opacity:1;margin-top:8px;line-height:1.55;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 10px rgba(0,0,0,.5)}
.acard .kw{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.acard .kw span{font-size:10px;font-weight:700;background:rgba(8,18,38,.55);border:1px solid rgba(255,255,255,.35);padding:3px 9px;border-radius:999px;backdrop-filter:blur(2px)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}

/* plans */
.plangrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pcard{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.pcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,27,51,.14)}
.pcard .pic{aspect-ratio:16/10;position:relative;overflow:hidden;background:#2b4a72}
.pcard .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pcard .pic .days{position:absolute;left:12px;top:12px;background:var(--orange);color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.06em;display:block}
.pcard .pic h3{position:absolute;left:14px;right:14px;bottom:12px;color:#fff;font-family:"Oswald",sans-serif;font-weight:600;font-size:22px;line-height:1;letter-spacing:.03em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.pcard .body{padding:14px 16px 16px}
.pcard .body b{font-size:13px;display:block}
.pcard .body p{font-size:11px;color:var(--sub);line-height:1.6;margin-top:4px}
.pcard .route{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:10px;font-size:10px;font-weight:700}
.pcard .route .ms{font-size:12px;color:var(--sub)}
.pcard .who{display:flex;gap:5px;margin-top:10px}
.pcard .who span{font-size:9px;border:1px solid var(--line);border-radius:999px;padding:3px 8px;color:var(--sub)}
/* plan detail timeline */
.ptl{position:relative;padding-left:28px}
.ptl:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;border-left:2px dashed #c6c9cf}
.ptl .pday{font-family:"Oswald",sans-serif;font-size:14px;font-weight:600;letter-spacing:.1em;margin:0 0 12px;position:relative}
.ptl .pday:before{content:"";position:absolute;left:-26px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--orange);border:3px solid #fff;box-shadow:0 0 0 2px var(--orange)}
.ptl .pday+.pday{margin-top:24px}
.pstop{display:grid;grid-template-columns:70px 160px 1fr;gap:14px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;position:relative}
.pstop:before{content:"";position:absolute;left:-23px;top:22px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--navy)}
.pstop .tm{font-family:"Oswald",sans-serif;font-weight:600;font-size:16px;line-height:1}
.pstop .tm small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:9px;font-weight:700;color:var(--sub);margin-top:4px}
.pstop .pic{aspect-ratio:16/10;border-radius:8px;overflow:hidden;position:relative;background:#2b4a72}
.pstop .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pstop h4{font-size:14px;font-weight:700}
.pstop h4 small{font-family:"Oswald",sans-serif;font-weight:500;font-size:9px;letter-spacing:.12em;color:var(--sub);margin-left:6px}
.pstop p{font-size:11px;color:var(--sub);line-height:1.6;margin-top:4px}
.pstop .mv{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:10px;font-weight:700;color:var(--navy);background:var(--cream);border-radius:999px;padding:4px 10px}
.pstop .mv .ms{font-size:13px}

/* emergency */
.emg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.emg-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.emg-card.red{border-color:#f1b3a3;background:#fff7f4}
.emg-card h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;margin-bottom:8px}
.emg-card h3 .ms{font-size:22px;color:var(--orange)}
.emg-card .tel{font-family:"Oswald",sans-serif;font-size:30px;font-weight:600;letter-spacing:.04em;color:var(--orange);line-height:1;margin:6px 0}
.emg-card .tel a{display:inline-flex;align-items:center;gap:6px}
.emg-card p{font-size:11px;color:var(--sub);line-height:1.6}
.emg-card ul{margin-top:8px;display:grid;gap:4px}
.emg-card li{font-size:11px;display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:6px}
.emg-card li b{font-family:"Oswald",sans-serif;font-weight:500;letter-spacing:.04em}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.tabs button{padding:10px 16px;font-size:12px;font-weight:700;color:var(--sub);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs button.on{color:var(--ink);border-color:var(--orange)}
.tabpane[hidden]{display:none}

/* video gallery */
.vgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.vgrid .vcard{aspect-ratio:9/16}

/* simple form (login) */
.formbox{max-width:440px;margin:40px auto 60px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}
.formbox h1{font-size:24px;font-weight:900;text-align:center}
.formbox h1 small{display:block;font-family:"Oswald",sans-serif;font-weight:500;font-size:11px;letter-spacing:.16em;color:var(--sub);margin-top:6px}
.field{margin-top:14px}
.field label{display:block;font-size:11px;font-weight:700;margin-bottom:5px}
.field input{width:100%;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:11px 12px}
.field input:focus{outline:2px solid var(--navy);border-color:transparent}
.formbox .btn{width:100%;margin-top:18px}
.formbox .or{text-align:center;font-size:10px;color:var(--sub);margin:16px 0 10px}
.social{display:grid;gap:8px}
.social a{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:12px;font-weight:700}
.social a:hover{background:var(--cream)}

.notice{background:var(--cream);border-radius:12px;padding:12px 16px;font-size:11px;color:var(--sub);display:flex;gap:8px;align-items:flex-start;line-height:1.6}
.notice .ms{font-size:16px;color:var(--orange);flex-shrink:0}

@media (max-width:1100px){
  .cardgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .detail,.builder{grid-template-columns:minmax(0,1fr)}
  .aside,.tripside{position:static}
  .areagrid,.plangrid,.emg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .page-hero{min-height:220px}
  .page-hero .wrap{padding:34px 0 22px}
  .page-hero h1{font-size:30px}
  .page-hero.sm h1{font-size:26px}
  .pg{padding:26px 0 0}
  .pg-h{flex-direction:column;align-items:flex-start;gap:6px}
  .filters{padding:12px;gap:8px 14px;border-radius:12px;overflow:hidden}
  .sort{margin-left:0}
  .cardgrid,.cardgrid.c3,.areagrid,.plangrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .areagrid{grid-template-columns:1fr;gap:12px}
  .acard{aspect-ratio:16/10;padding:16px}
  .acard h3{font-size:22px}
  .acard p{font-size:12px}
  .acard .kw span{font-size:9.5px;padding:2px 8px}
  .emg-grid{grid-template-columns:1fr;gap:10px}
  .emg-card h3{font-size:14px}
  .scard.wide{grid-template-columns:1fr}
  .scard.wide .pic{aspect-ratio:16/9}
  .scard .body{padding:10px}
  .scard h3{font-size:12px}
  .vgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:180px 100px}
  .gallery div:first-child{grid-row:1;grid-column:1/3}
  .dtitle h1{font-size:22px}
  .infotbl th{width:90px}
  .pick{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pstop{grid-template-columns:1fr;gap:8px}
  .pstop .tm{display:flex;gap:8px;align-items:baseline}
  .emg-card .tel{font-size:24px}
  .tripside .tlist{max-height:none}
  .formbox{padding:22px;margin:24px auto 40px}
}

/* ===== 便利情報 詳細（essential.php）リデザイン ===== */
.esd-nav{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;margin:-6px 0 22px;scrollbar-width:none}
.esd-nav::-webkit-scrollbar{display:none}
.esd-nav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--sub);white-space:nowrap;transition:.2s}
.esd-nav a .ms{font-size:17px;color:var(--navy)}
.esd-nav a:hover{border-color:var(--navy);color:var(--ink)}
.esd-nav a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.esd-nav a.on .ms{color:var(--orange2)}
.esd-nav a.emg .ms{color:var(--orange)}
.esd-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:34px}
.esd-fact{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 16px 14px 18px;overflow:hidden;min-height:96px}
.esd-fact:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--navy)}
.esd-fact:nth-child(4n+2):before{background:var(--orange)}
.esd-fact:nth-child(4n+3):before{background:var(--teal)}
.esd-fact:nth-child(4n+4):before{background:var(--yellow)}
.esd-fact .k{display:block;font-size:11px;font-weight:700;color:var(--sub);letter-spacing:.02em;margin-bottom:6px;line-height:1.4}
.esd-fact .v{display:block;font-size:14px;font-weight:700;color:var(--ink);line-height:1.5;word-break:break-word}
.esd-fact .v em{font-style:normal;color:var(--orange);font-size:18px;font-family:"Oswald","Noto Sans JP",sans-serif;letter-spacing:.03em;margin-right:2px}
.esd-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start}
.esd-secs{display:grid;gap:14px}
.esd-sec{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px 20px 18px}
.esd-sec .num{width:56px;height:56px;border-radius:14px;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--navy);line-height:1}
.esd-sec .num small{font-size:8px;font-weight:700;letter-spacing:.12em;color:var(--sub)}
.esd-sec .num b{font-family:"Oswald","Noto Sans JP",sans-serif;font-size:26px;font-weight:400;margin-top:2px}
.esd-sec:nth-child(even) .num{background:var(--navy);color:#fff}
.esd-sec:nth-child(even) .num small{color:rgba(255,255,255,.6)}
.esd-sec h2{font-size:16px;font-weight:700;margin:6px 0 8px;line-height:1.4}
.esd-sec p{font-size:13px;line-height:1.9;color:#333}
.esd-sec p+p{margin-top:8px}
.esd-side{display:grid;gap:14px;position:sticky;top:86px}
.esd-links a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:12px;font-weight:700;color:var(--ink);background:var(--paper);transition:.2s}
.esd-links a+a{margin-top:8px}
.esd-links a .ms{font-size:18px;color:var(--navy);flex-shrink:0}
.esd-links a .ms.ext{margin-left:auto;font-size:15px;color:var(--sub)}
.esd-links a:hover{border-color:var(--navy);background:#fff}
.esd-sos{background:var(--navy);color:#fff;border-radius:16px;padding:18px}
.esd-sos h3{font-size:12px;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.7);margin-bottom:12px}
.esd-sos .tels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
.esd-sos .tels a{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px 4px;color:#fff;transition:.2s}
.esd-sos .tels a:hover{background:var(--orange)}
.esd-sos .tels b{font-family:"Oswald","Noto Sans JP",sans-serif;font-size:24px;font-weight:400;letter-spacing:.04em;line-height:1}
.esd-sos .tels small{font-size:9px;margin-top:4px;opacity:.85}
.esd-sos .hot{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#fff;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08)}
.esd-sos .hot .ms{color:var(--orange2);font-size:18px}
.esd-sos .hot span{display:block;font-size:9px;font-weight:500;opacity:.75}
.esd-others{margin-top:40px}
.esd-others h3{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--sub);margin-bottom:12px}
.esd-others .grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.esd-others a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 8px;text-align:center;font-size:10.5px;font-weight:700;color:var(--ink);line-height:1.4;transition:.2s}
.esd-others a .ms{display:block;font-size:26px;color:var(--navy);margin:0 auto 6px}
.esd-others a small{display:block;font-size:9px;font-weight:500;color:var(--sub);margin-top:2px}
.esd-others a.emg .ms{color:var(--orange)}
.esd-others a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(13,27,51,.10)}
@media (max-width:1100px){
  .esd-grid{grid-template-columns:minmax(0,1fr)}
  .esd-side{position:static}
  .esd-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .esd-others .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:760px){
  .esd-nav{margin:-2px -4% 18px;padding:4px 4% 8px}
  .esd-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:24px}
  .esd-fact{padding:12px 12px 12px 14px;min-height:0;border-radius:12px}
  .esd-fact .k{font-size:10px;margin-bottom:4px}
  .esd-fact .v{font-size:12.5px}
  .esd-grid{gap:18px}
  .esd-sec{grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px 14px 14px 12px;border-radius:14px}
  .esd-sec .num{width:40px;height:40px;border-radius:10px}
  .esd-sec .num small{display:none}
  .esd-sec .num b{font-size:20px;margin:0}
  .esd-sec h2{font-size:14px;margin:0 0 6px}
  .esd-sec p{font-size:12.5px;line-height:1.8}
  .esd-sos .tels b{font-size:20px}
  .esd-others .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .esd-others a{padding:12px 6px}
}

/* ===== Seasonal Events (events.php) ===== */
.ev-page{--sp:#d9587a;--su:#1f8fbf;--au:#d1731f;--wi:#4a6fb8}
.ev-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:34px}
.ev-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;position:relative;transition:transform .2s,box-shadow .2s}
.ev-tab:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(13,27,51,.08)}
.ev-tab .ms{font-size:22px;margin-bottom:4px}
.ev-tab b{font-family:"Oswald","Noto Sans JP",sans-serif;font-size:15px;font-weight:600;letter-spacing:.04em}
.ev-tab small{font-size:11px;color:var(--sub)}
.ev-tab i{position:absolute;right:14px;top:14px;font-style:normal;font-family:"Oswald",sans-serif;font-size:20px;font-weight:600;color:var(--sub)}
.ev-spring .ms,.ev-spring .ico{color:var(--sp)} .ev-summer .ms,.ev-summer .ico{color:var(--su)} .ev-autumn .ms,.ev-autumn .ico{color:var(--au)} .ev-winter .ms,.ev-winter .ico{color:var(--wi)}
.ev-tab.ev-spring{border-top:3px solid var(--sp)} .ev-tab.ev-summer{border-top:3px solid var(--su)} .ev-tab.ev-autumn{border-top:3px solid var(--au)} .ev-tab.ev-winter{border-top:3px solid var(--wi)}
.ev-season{margin:0 0 44px;scroll-margin-top:90px}
.ev-season-h{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:6px}
.ev-season-h .ico{width:36px;height:36px;border-radius:10px;background:var(--cream);display:grid;place-items:center}
.ev-season-h .ico .ms{font-size:20px}
.ev-season-h h3{font-family:"Oswald","Noto Sans JP",sans-serif;font-size:22px;font-weight:600;letter-spacing:.04em;line-height:1}
.ev-season-h h3 small{font-family:"Noto Sans JP",sans-serif;font-size:11px;font-weight:700;color:var(--sub);margin-left:10px;letter-spacing:0}
.ev-season-h .n{margin-left:auto;font-size:12px;color:var(--sub)}
.ev-empty{padding:22px 4px;font-size:13px;color:var(--sub)}
.ev-list{list-style:none;margin:0;padding:0}
.ev-list li{border-bottom:1px solid var(--line)}
.ev-list li a{display:grid;grid-template-columns:150px 150px 1fr 28px;gap:20px;align-items:center;padding:18px 4px;color:inherit;transition:background .2s}
.ev-list li a:hover{background:var(--paper)}
.ev-date b{display:block;font-family:"Oswald",sans-serif;font-size:22px;font-weight:600;letter-spacing:.02em;line-height:1.1;color:var(--ink)}
.ev-date small{display:block;font-size:11px;color:var(--sub);margin-top:6px;line-height:1.5}
.ev-pic{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--cream)}
.ev-pic img{width:100%;height:100%;object-fit:cover;display:block}
.ev-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;font-size:10.5px}
.ev-meta .area{display:inline-flex;align-items:center;gap:2px;color:var(--orange);font-weight:700}
.ev-meta .area .ms{font-size:13px}
.ev-meta .tag{padding:1px 8px;border-radius:999px;background:var(--cream);color:var(--sub);font-weight:700}
.ev-body h4{font-size:17px;font-weight:700;line-height:1.3;margin:0 0 4px}
.ev-body h4 small{display:block;font-family:"Oswald",sans-serif;font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--sub);margin-top:2px}
.ev-body p{font-size:12.5px;line-height:1.7;color:#333;margin:0}
.ev-note{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:11px;color:var(--sub);background:var(--paper);border:1px dashed var(--line);padding:2px 8px;border-radius:6px}
.ev-note .ms{font-size:14px}
.ev-go .ms{font-size:24px;color:var(--sub)}
.ev-foot{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--sub);margin:10px 0 40px}
.ev-foot .ms{font-size:16px}
html[lang=en] .ev-body h4 small{display:none}
@media (max-width:860px){
  .ev-tabs{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:26px}
  .ev-tab{padding:12px 12px 10px} .ev-tab b{font-size:13px}
  .ev-list li a{grid-template-columns:1fr;gap:10px;padding:16px 0;position:relative}
  .ev-date{display:flex;align-items:baseline;gap:10px}
  .ev-date b{font-size:18px} .ev-date small{margin:0}
  .ev-pic{aspect-ratio:16/9}
  .ev-go{position:absolute;right:0;top:16px}
  .ev-season-h h3{font-size:18px}
}

/* ===== 潮汐ウィジェット / 共有旅程 / イベントバッジ / プレビュー ===== */
.tidebox{margin:26px 0 6px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.tide-h{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;margin:0 0 10px}.tide-h .ms{color:var(--blue,#1f8fbf)}.tide-h small{margin-left:auto;font-size:11px;color:var(--sub);font-weight:500}
.tide-wrap{overflow-x:auto}.tidetbl{width:100%;border-collapse:collapse;font-size:12.5px;min-width:420px}
.tidetbl th{font-size:11px;color:var(--sub);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.tidetbl td{padding:7px 8px;border-bottom:1px dashed var(--line);white-space:nowrap}.tidetbl td small{margin-left:4px;font-size:10px;color:var(--sub)}
.tidetbl tr.sat td small{color:var(--blue,#1f8fbf)}.tidetbl tr.sun td small{color:var(--orange)}
.tidetbl td.mk{font-size:16px;font-weight:700;color:var(--orange)}.tidetbl tr.best td{background:#fff3ee}
.tide-note{display:flex;gap:6px;align-items:flex-start;font-size:11px;color:var(--sub);line-height:1.6;margin:10px 0 0}.tide-note .ms{font-size:15px;color:var(--orange);flex-shrink:0}
.tripday{margin:0 0 26px}.tripday-h{display:flex;align-items:baseline;gap:10px;font-family:"Oswald","Noto Sans JP",sans-serif;font-size:20px;font-weight:600;letter-spacing:.04em;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:10px}
.tripday-h small{font-family:"Noto Sans JP",sans-serif;font-size:11px;color:var(--sub);font-weight:700}
.tripday-list{list-style:none;margin:0;padding:0}.tripday-list li{border-bottom:1px solid var(--line)}
.tstop{display:grid;grid-template-columns:28px 120px 1fr 24px;gap:14px;align-items:center;padding:12px 2px;color:inherit}.tstop:hover{background:var(--paper)}
.tstop .no{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:"Oswald",sans-serif;font-weight:600;font-size:13px}
.tstop .pic{aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--cream)}.tstop .pic img{width:100%;height:100%;object-fit:cover;display:block}
.tstop .area{font-size:10px;color:var(--orange);font-weight:700}.tstop b{display:block;font-size:15px;line-height:1.3}.tstop b small{display:block;font-family:"Oswald",sans-serif;font-size:10px;font-weight:500;letter-spacing:.12em;color:var(--sub)}
.tstop p{font-size:12px;color:#333;margin:4px 0 0;line-height:1.6}.tstop .dur{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--sub);margin-top:4px}.tstop .dur .ms{font-size:14px}.tstop .go{color:var(--sub)}
.sharebox{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.sharebox input{flex:1 1 100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:12px;background:#fff;color:var(--ink)}
.sharebox .btn{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:8px;font-size:12px;font-weight:700;border:1px solid var(--line)}.sharebox .openlink{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:9px 6px;color:inherit}
.tripside .sharebox input{color:var(--ink)}.tripside .sharebox .openlink{color:#fff}
.evbadge{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;margin-right:6px;vertical-align:middle;letter-spacing:.04em}.evbadge.now{background:var(--orange);color:#fff}.evbadge.soon{background:var(--navy);color:#fff}
.season li .evbadge{margin:0 0 0 8px}
.preview-bar{display:flex;align-items:center;gap:8px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700;margin-top:16px}.preview-bar .ms{font-size:18px}
html[lang=en] .tstop b small,html[lang="zh-Hans"] .tstop b small,html[lang="zh-Hant"] .tstop b small,html[lang=ko] .tstop b small{display:none}
@media (max-width:760px){.tstop{grid-template-columns:24px 90px 1fr}.tstop .go{display:none}.tstop .no{width:24px;height:24px;font-size:12px}.tidetbl{font-size:12px}}

/* ===== 会員（控えめ） ===== */
.formtabs{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;margin-bottom:18px}
.formtabs a{flex:1;text-align:center;padding:8px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--sub)}.formtabs a.on{background:var(--navy);color:#fff}
.formerr{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;border-radius:10px;padding:9px 12px;font-size:12.5px;margin-bottom:12px}
.formok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;border-radius:10px;padding:9px 12px;font-size:12.5px;margin-bottom:12px}
.formnote{font-size:11.5px;color:var(--sub);line-height:1.7;text-align:center;margin:8px 0 6px}
.formlinks{text-align:center;font-size:11.5px;margin-top:12px}.formlinks a{color:var(--sub);text-decoration:underline}
.formbox .btn-w{background:#fff;color:var(--navy);border:1px solid var(--line)}
.htools .ic-user{color:#fff}.htools .ic-user .ms{color:var(--orange)}
.two-col-acc{display:grid;grid-template-columns:1fr 1.4fr;gap:34px;align-items:start;margin-top:10px}
.acc-h{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--ink)}.acc-h .ms{color:var(--orange)}.acc-h small{margin-left:auto;font-size:11px;color:var(--sub);font-weight:500}
.acc-day{margin-bottom:14px}.acc-day b{font-family:"Oswald",sans-serif;font-size:14px;letter-spacing:.06em}.acc-day ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.acc-day li a{display:flex;align-items:center;gap:10px;padding:6px;border:1px solid var(--line);border-radius:10px;color:inherit}.acc-day li img{width:56px;height:42px;object-fit:cover;border-radius:6px;background:var(--cream)}.acc-day li span{font-size:13px;font-weight:700;line-height:1.3}.acc-day li small{display:block;font-size:10.5px;color:var(--sub);font-weight:500}
.acc-shared{list-style:none;margin:0;padding:0}.acc-shared li a{display:block;padding:9px 0;border-bottom:1px dashed var(--line);font-size:13px;font-weight:700}.acc-shared li small{display:block;font-size:10.5px;color:var(--sub);font-weight:500}
@media (max-width:860px){.two-col-acc{grid-template-columns:1fr;gap:26px}}

/* ===== MY TRIP サイド: 余白と操作ボタンの整理 ===== */
.sharebox[hidden]{display:none}
.tripacts{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;margin-top:14px}
.tripacts .btn{margin-top:0;padding:12px 10px;font-size:12.5px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.tripmore{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:12px;font-size:11.5px;color:#fff;opacity:.8;text-decoration:underline;text-underline-offset:3px}.tripmore .ms{font-size:14px}
.tstay{background:rgba(255,255,255,.06);margin-top:2px}
.tday+.tday{border-top:1px solid rgba(255,255,255,.12);padding-top:10px}
.tday-h b{font-size:13px}
@media (max-width:860px){
  .tripside{padding:16px 14px;border-radius:14px}
  .tripside h2{font-size:20px}
  .tripside .sub{margin:6px 0 10px}
  .tripside .sum{gap:18px;margin-bottom:10px}
  .tripside .sum b{font-size:16px}
  .tripside .tlist{max-height:none;overflow:visible;padding-right:0;gap:6px}
  .titem{padding:7px}.titem img{width:48px;height:38px}
  .tday-h{padding:0 0 6px}
  .tripacts{margin-top:12px}.tripacts .btn{padding:11px 8px;font-size:12px}
  .sharebox{margin-top:8px}
}

/* ===== 旅をつくる: 拠点ステップ・距離バッジ・日別タイムライン ===== */
.stepnote{font-size:12px;color:var(--sub);line-height:1.7;margin:-4px 0 12px}
.baserow{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-top:1px dashed var(--line)}
.baserow:first-child{border-top:0}
.baserow .nlab{flex:none;width:56px;padding-top:9px;font-family:"Oswald","Noto Sans JP",sans-serif;font-size:12px;letter-spacing:.06em;color:var(--navy)}
.baserow .chips .chipf .ms{font-size:14px}
.basenote{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sub)}.basenote .ms{color:var(--orange);font-size:18px}
.basehint{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:var(--sub);line-height:1.6;margin-top:12px}.basehint .ms{font-size:16px;color:#2f6fd6;flex:none}
.daytabs{flex-wrap:wrap}
.daytabs button small{display:block;font-size:9px;font-weight:500;opacity:.85;letter-spacing:.04em}
.picknote{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--sub);margin:-4px 0 10px}.picknote .ms{font-size:15px;color:var(--orange)}.picknote b{color:var(--ink)}
.pickcard .dist{position:absolute;left:8px;top:8px;z-index:2;display:inline-flex;align-items:center;gap:3px;background:rgba(255,255,255,.92);color:var(--navy);border-radius:999px;padding:3px 8px 3px 6px;font-size:9.5px;font-weight:700;letter-spacing:.02em}
.pickcard .dist .ms{font-size:12px}.pickcard .dist.ferry{background:#2f6fd6;color:#fff}
.tday{margin-bottom:10px}.tday-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 6px}
.tday-h b{font-family:"Oswald",sans-serif;font-size:13px;letter-spacing:.1em}
.tbase{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;opacity:.85}.tbase .ms{font-size:13px;color:var(--orange)}
.tday .titem{margin-bottom:6px}
.tstay{display:flex;align-items:center;gap:10px;border:1px dashed rgba(255,255,255,.35);background:rgba(255,255,255,.06);border-radius:10px;padding:8px 10px;color:#fff;font-size:11px;font-weight:700;line-height:1.3;margin-top:2px}
.tstay small{display:block;font-size:9px;opacity:.7;font-weight:500}.tstay .ms{font-size:18px;color:var(--orange)}.tstay .go{margin-left:auto;color:#fff;opacity:.6;font-size:16px}
.tstay:hover{background:rgba(255,255,255,.1)}
.tday .tempty{font-size:10.5px;opacity:.6;padding:4px 2px 2px}
@media (max-width:860px){.baserow{flex-direction:column;gap:6px}.baserow .nlab{width:auto;padding-top:0}}

/* 移動時間: 区間表示・実測タグ・スマホ下余白 */
.tleg{display:flex;align-items:center;gap:5px;font-size:10px;opacity:.75;padding:0 0 4px 12px;position:relative}
.tleg:before{content:"";position:absolute;left:4px;top:-4px;bottom:0;border-left:2px dotted rgba(255,255,255,.35)}
.tleg .ms{font-size:13px;color:var(--orange)}
.realtag{margin-left:6px;font-size:9.5px;font-weight:700;color:#2f6fd6;background:#eaf1fd;border-radius:999px;padding:2px 7px}
@media (max-width:860px){.builder{padding-bottom:40px}.tripside{margin-bottom:8px}}

/* ---- 予約・公式サイト（送客導線） ---- */
.abox--book{border-color:#f0cdbf;background:linear-gradient(180deg,#fff9f6,#fff)}
.abox .btn-book{background:var(--orange);color:#fff;box-shadow:0 8px 18px rgba(233,82,44,.28)}
.abox .btn-book:hover{filter:brightness(.95)}
.abox .btn-official{background:#fff;color:var(--navy);border:1px solid var(--line)}
.abox .btn-official:hover{background:#f7f7f5}
.abox .book-note{margin-top:8px;font-size:10.5px;line-height:1.6;color:var(--sub);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ad-mark{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.08em;color:var(--sub);border:1px solid var(--line);border-radius:4px;padding:1px 5px;background:#fff}
