/* 地域の航路 hero v1.1.13 — 手機高幀率補間與直排文字修正 */
.hero.geo-route-hero{
  --geo-paper:#f3eee3;
  --geo-ink:#272c26;
  --geo-sage:#74816b;
  --geo-rust:#9c503e;
  --geo-fill:rgba(156,80,62,.15);
  --geo-hair:rgba(39,44,38,.19);
  position:relative;
  width:100%;
  height:100svh;
  min-height:650px;
  overflow:hidden;
  background-color:#f6f5f0;
  background-image:url("./assets/chikusen-preloader-bg.jpg");
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  color:var(--geo-ink);
  isolation:isolate;
  font-family:"HuiwenMinchoHome","HuiwenMincho","Yu Mincho","Noto Serif JP","Noto Serif TC",serif;
}
.home-shop-entry-wrap{
  background:#f6f5f0 url("./assets/chikusen-preloader-bg.jpg") center/cover repeat!important;
}
.home-shop-entry-wrap::before{display:none!important}
.home-shop-foldscreen-panel{background:transparent!important}
.geo-footer{
  position:absolute;
  z-index:12;
  left:50%;
  right:auto;
  font:600 clamp(10px,.82vw,14px)/1.2 system-ui,sans-serif;
  letter-spacing:.16em;
}
.geo-footer{
  bottom:3.4vh;
  display:grid;
  grid-template-columns:clamp(34px,5vw,82px) max-content clamp(34px,5vw,82px);
  gap:clamp(10px,1.4vw,22px);
  align-items:center;
  transform:translateX(-50%);
  color:rgba(39,44,38,.72);
  font-weight:500;
  white-space:nowrap;
}
.geo-footer::before,.geo-footer::after{content:"";height:1px;background:rgba(39,44,38,.28)}
.geo-coordinate-compact{display:none}
.geo-stage{position:absolute;inset:16vh 0 6vh}
.geo-map{position:absolute;z-index:1;pointer-events:none}
.geo-map svg{display:block;width:100%;height:100%;overflow:visible}
.geo-north-map{left:-11vw;bottom:-18vh;width:40vw;height:53vh}
.geo-kyushu-map{right:-9vw;top:-24vh;width:49vw;height:70vh}
.geo-region,.geo-ky-all{
  fill:rgba(116,129,107,.025);
  stroke:var(--geo-ink);
  stroke-width:.56;
  vector-effect:non-scaling-stroke;
  stroke-linejoin:round;
  fill-rule:evenodd;
}
.geo-hsinchu,.geo-kumamoto{
  fill:var(--geo-fill);
  stroke:var(--geo-rust);
  stroke-width:1.65;
  vector-effect:non-scaling-stroke;
  stroke-linejoin:round;
  fill-rule:evenodd;
}
.geo-copy{
  position:absolute;
  z-index:5;
  left:49%;
  top:9%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  transform:translateX(-50%);
}
.geo-copy-lines{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:1.7vw}
.geo-copy p{
  margin:0;
  font-size:clamp(29px,3.1vw,54px);
  line-height:1.18;
  letter-spacing:.08em;
  font-weight:400;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  white-space:nowrap;
}
.geo-city{position:absolute;z-index:6}
.geo-city b{display:block;font-size:clamp(38px,4.4vw,73px);font-weight:400;letter-spacing:.08em}
.geo-city span{display:block;margin-top:7px;font:500 clamp(8px,.68vw,11px)/1.2 system-ui,sans-serif;letter-spacing:.15em;color:#686f65}
.geo-start-city{left:5.5vw;top:56vh;display:flex;flex-direction:column;align-items:flex-start}
.geo-start-city>b{transform:translateX(-3px)}
.geo-end-city{right:10vw;top:0;text-align:center}
.geo-start-city>span,.geo-start-city>.geo-heritage{margin-left:.24em}
.geo-heritage{
  display:block;
  margin-top:clamp(13px,1.5vh,18px);
  padding-top:clamp(11px,1.25vh,15px);
  width:max-content;
  max-width:230px;
  border-top:1px solid rgba(39,44,38,.24);
  color:rgba(39,44,38,.76);
  font:500 clamp(9px,.72vw,12px)/1.65 system-ui,sans-serif;
  letter-spacing:.13em;
  white-space:nowrap;
}
.geo-end-claim{
  margin-left:auto;
  margin-right:auto;
  max-width:240px;
  text-align:center;
}
.geo-route{position:absolute;inset:0;z-index:3;width:100%;height:100%;overflow:visible;pointer-events:none}
.geo-route path{fill:none;vector-effect:non-scaling-stroke}
.geo-route-base{stroke:rgba(39,44,38,.16);stroke-width:1}
.geo-route-progress{stroke:var(--geo-ink);stroke-width:1.45;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1}
.geo-traveller{fill:#fff;stroke:var(--geo-ink);stroke-width:2;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;filter:drop-shadow(0 2px 4px rgba(30,35,29,.13))}
@media(max-width:700px){
  .hero.geo-route-hero{min-height:590px}
  .geo-footer{left:50%;right:auto;bottom:14px;grid-template-columns:18px max-content 18px;gap:8px;font-size:6.5px;letter-spacing:.12em}
  .geo-coordinate-full{display:none}
  .geo-coordinate-compact{display:inline}
  .geo-stage{inset:108px 0 42px}
  .geo-north-map{left:-21vw;bottom:-13vh;width:65vw;height:46vh}
  .geo-kyushu-map{right:-28vw;top:-20vh;width:80vw;height:56vh}
  .geo-copy{left:48%;top:18%;gap:0}
  .geo-copy-lines{gap:7px}
  .geo-copy p{font-size:clamp(19px,5.4vw,23px);line-height:1.1}
  .geo-city b{font-size:27px}
  .geo-city span{font-size:6px;margin-top:3px}
  .geo-start-city{left:7vw;top:60vh}
  .geo-start-city>b{transform:translateX(-2px)}
  .geo-end-city{right:11vw;top:0}
  .geo-heritage{margin-top:8px;padding-top:7px;max-width:150px;font-size:7px;letter-spacing:.08em;white-space:normal}
  .geo-start-city>span,.geo-start-city>.geo-heritage{margin-left:.18em}
  .geo-end-claim{max-width:112px;line-height:1.5}
  .geo-traveller{filter:none}
}
@media(prefers-reduced-motion:reduce){
  .geo-traveller{filter:none}
}
