
:root{--black:#030504;--black2:#07100c;--green:#043e2e;--green2:#075b42;--gold:#b9862c;--gold2:#e0b756;--text:#f3efe7;--muted:#bbb9b1;--line:rgba(217,171,74,.46)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--text);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}
.site-header{height:72px;position:fixed;top:0;left:0;right:0;z-index:90;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(2,4,3,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;gap:12px;align-items:center}.brand>span:last-child{display:flex;flex-direction:column}.brand b{font:600 17px Georgia;letter-spacing:.08em}.brand small{font-size:8px;color:#d4b873;letter-spacing:.16em}.brand-mark{width:44px;height:44px;border:1px solid var(--gold2);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-style:italic}
nav{display:flex;gap:20px;align-items:center;font-size:12px}.nav-cta{border:1px solid var(--gold);padding:10px 14px}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:24px}
.hero{height:min(880px,100vh);min-height:720px;position:relative;display:flex;align-items:center;padding:110px 6vw 70px;overflow:hidden;background:#020403}
.hero-stage{position:absolute;inset:0;overflow:hidden}.hero-car-wrap{position:absolute;right:0;top:10%;width:63%;height:76%;overflow:hidden;clip-path:polygon(11% 0,100% 0,100% 100%,0 100%);animation:carMorph 12s ease-in-out infinite alternate}
.hero-car-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.09);filter:saturate(.82) brightness(.83) contrast(1.08);animation:carZoom 12s ease-in-out infinite alternate}
@keyframes carMorph{0%{clip-path:polygon(15% 2%,100% 0,100% 100%,1% 97%);transform:translateX(0)}50%{clip-path:polygon(7% 0,100% 5%,97% 96%,0 100%);transform:translateX(-1.2%)}100%{clip-path:polygon(12% 3%,99% 0,100% 98%,3% 100%);transform:translateX(.8%)}}
@keyframes carZoom{from{transform:scale(1.06) translate(0,0)}to{transform:scale(1.13) translate(-1.4%,.7%)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.72) 39%,rgba(0,0,0,.18) 67%,rgba(0,0,0,.35) 100%)}
.morph-blob{position:absolute;filter:blur(1px);opacity:.5;mix-blend-mode:screen}
.blob-a{left:-14%;bottom:-18%;width:70%;height:38%;background:linear-gradient(90deg,transparent,#036b4c 50%,#c89435);border-radius:42% 58% 60% 40%/60% 45% 55% 40%;animation:blobA 10s ease-in-out infinite alternate}
.blob-b{right:-8%;bottom:-8%;width:62%;height:28%;background:linear-gradient(90deg,#0d6d4f,#d5a23f,transparent);border-radius:60% 40% 30% 70%/50% 55% 45% 50%;animation:blobB 12s ease-in-out infinite alternate}
@keyframes blobA{to{transform:translate(9%,4%) scale(1.08);border-radius:60% 40% 38% 62%/44% 64% 36% 56%}}
@keyframes blobB{to{transform:translate(-7%,-5%) scale(1.12);border-radius:35% 65% 58% 42%/62% 40% 60% 38%}}
.gold-streak{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#ffe295,#b87817,transparent);box-shadow:0 0 16px #d8a344;opacity:.55;animation:streak 8s linear infinite}
.s1{width:65%;left:-40%;top:25%;transform:rotate(-3deg)}.s2{width:55%;right:-42%;bottom:17%;transform:rotate(4deg);animation-delay:-3s}
@keyframes streak{to{transform:translateX(190%) rotate(-3deg)}}
.hero-copy{position:relative;z-index:4;max-width:720px}.eyebrow{font:10px Arial,sans-serif;letter-spacing:.27em;color:var(--gold2)}.hero h1{font-size:clamp(40px,4.2vw,67px);line-height:1.33;font-weight:500;margin:20px 0 20px;text-shadow:0 5px 25px #000}.hero h1 span{display:block}.gold-copy{color:var(--gold2);font-size:17px;line-height:1.8}.subcopy{font-size:13px;line-height:1.9;color:#d7d6d1}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{min-height:50px;padding:0 22px;border:1px solid var(--gold);display:inline-flex;align-items:center;justify-content:center;transition:.3s}.gold{background:linear-gradient(135deg,#93651c,#d6ad51)}.green{background:linear-gradient(135deg,#075d43,#078456);border-color:#278d6a}.outline{background:rgba(0,0,0,.4)}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.hero-badge{position:absolute;z-index:5;right:4.8vw;width:138px;height:138px;border:1px solid var(--gold2);border-radius:50%;background:rgba(0,0,0,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:float 4s ease-in-out infinite}.badge-one{bottom:275px}.badge-two{bottom:120px;animation-delay:-1.5s}.hero-badge small,.hero-badge strong{color:var(--gold2)}.hero-badge strong{font-size:31px}.hero-badge span{font-size:9px}@keyframes float{50%{transform:translateY(-8px)}}
.feature-bar{display:grid;grid-template-columns:repeat(3,1fr);background:linear-gradient(90deg,#042a20,#07503a,#042a20);border-block:1px solid var(--line);position:relative;overflow:hidden}.feature-bar:before{content:"";position:absolute;inset:-50% -20%;background:radial-gradient(ellipse,rgba(231,187,88,.11),transparent 55%);animation:featureGlow 8s linear infinite}@keyframes featureGlow{to{transform:translateX(30%)}}
.feature-bar article{position:relative;display:flex;gap:18px;align-items:center;padding:24px 5vw;border-right:1px solid rgba(255,255,255,.1)}.feature-bar i{font-style:normal;font-size:34px;color:var(--gold2)}.feature-bar h3{margin:0;color:var(--gold2);font-size:17px}.feature-bar p{margin:5px 0 0;font-size:11px;color:#d2d3cf}
.section{padding:78px 6vw;position:relative;overflow:hidden}.morph-section:before{content:"";position:absolute;left:-15%;right:-15%;height:140px;bottom:-80px;background:linear-gradient(90deg,transparent,rgba(8,100,70,.26),rgba(217,168,62,.20),transparent);filter:blur(28px);border-radius:50%;animation:sectionWave 12s ease-in-out infinite alternate}@keyframes sectionWave{to{transform:translateX(9%) scaleY(1.35)}}
.section-title{text-align:center;margin-bottom:35px}.section-title h2,.rental-head h2,.partner h2,.company h2,footer h2{font-size:clamp(29px,3vw,43px);font-weight:500;margin:9px 0}.services{background:linear-gradient(180deg,#050706,#07120e)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.glass-card{position:relative;min-height:230px;padding:30px;background:linear-gradient(135deg,rgba(11,21,17,.93),rgba(15,18,15,.82));border:1px solid var(--gold);box-shadow:inset 0 0 24px rgba(22,90,62,.08);transition:.4s}.glass-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 20px 50px rgba(0,0,0,.35),inset 0 0 35px rgba(13,104,72,.17)}.glass-card small{color:var(--gold2);letter-spacing:.12em}.glass-card h3{font-size:22px}.glass-card p{font-size:12px;line-height:1.9;color:#ddd}.glass-card a{color:var(--gold2);font-size:12px}.ico{position:absolute;right:26px;top:25px;font-size:31px;color:var(--gold2)}
.rental{background:radial-gradient(circle at 73% 16%,rgba(4,91,65,.21),transparent 27%),#050907}.rental-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:30px}.rental-head p{max-width:520px;line-height:1.9;color:#c7c8c4;font-size:13px}.fleet{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.vehicle-card{background:#070a08;border:1px solid var(--gold);text-align:center;overflow:hidden;transition:.35s}.vehicle-card:hover{transform:translateY(-6px)}.vehicle-image{height:165px;overflow:hidden;background:radial-gradient(circle at 50% 70%,rgba(5,93,65,.18),transparent 55%)}.vehicle-image img{width:100%;height:100%;object-fit:contain;filter:brightness(.9) contrast(1.08);transition:.5s}.vehicle-card:hover img{transform:scale(1.06)}.vehicle-card h3{color:var(--gold2);margin:10px 0 4px}.vehicle-card p{font-size:10px;color:#c9c8c4;margin:0 0 13px}
.price-layout{display:grid;grid-template-columns:1.45fr .85fr;gap:13px;margin-top:25px}.price-box,.info-panel,.flow,.map-card,.line-card,.logo-card{border:1px solid var(--gold);background:linear-gradient(135deg,#090d0b,#0f1411)}.price-box{padding:25px}.price-box h3{margin:8px 0 16px}.price-row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:10px 3px;border-bottom:1px solid rgba(255,255,255,.12);font-size:12px}.price-row b{color:var(--gold2)}.side-panels{display:grid;grid-template-columns:1fr;gap:10px}.info-panel{padding:20px}.info-panel h3{color:var(--gold2);margin-top:0}.info-panel p{font-size:12px;line-height:1.8}.info-panel a{font-size:27px}.info-panel strong{display:block;color:var(--gold2);margin-top:6px}
.flow{margin-top:14px;padding:25px}.flow>h3{font-size:24px;color:var(--gold2)}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1)}.flow-grid article{background:#0a0f0c;padding:22px;min-height:145px}.flow-grid b{color:var(--gold2);font-size:29px}.flow-grid h4{color:var(--gold2);margin:8px 0}.flow-grid p{font-size:11px;color:#ccc}
.partner{display:grid;grid-template-columns:1fr 1.25fr;background:#04140e;border-block:1px solid var(--line);position:relative}.partner-copy{padding:60px 7vw}.partner-copy p,.partner-copy li{line-height:1.9}.partner-copy li::marker{color:var(--gold2)}.partner-photo{position:relative;min-height:410px;overflow:hidden}.partner-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.67);transition:7s}.partner-photo.visible img{transform:scale(1.08)}.partner-photo>div{position:absolute;left:7%;bottom:12%;display:flex;flex-direction:column}.partner-photo strong{font:italic 61px Georgia;color:var(--gold2)}.partner-photo span{font-size:17px}
.company{display:grid;grid-template-columns:1fr 1.3fr;gap:22px;background:#030504}.company-info dl{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line);margin-top:20px}.company-info dt,.company-info dd{padding:13px 0;border-bottom:1px solid rgba(217,171,74,.21);margin:0}.company-info dt{color:var(--gold2)}.company-info dd{font-size:12px;line-height:1.7}.access{display:grid;grid-template-columns:1.3fr .8fr;grid-template-areas:"map line" "map logo";gap:11px}.map-card{grid-area:map;padding:15px}.map-card h3{margin:7px 0 10px}.map-card iframe{width:100%;height:335px;border:0;filter:brightness(.72) saturate(.55) contrast(1.1)}.map-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.map-links a{padding:9px;border:1px solid rgba(217,171,74,.5);text-align:center;color:var(--gold2);font-size:11px}.line-card{grid-area:line;padding:15px;display:grid;grid-template-columns:1fr 130px;gap:15px;align-items:center}.line-card h3{margin:5px 0}.line-card p{font-size:11px;line-height:1.7;color:#ccc}.line-card img{width:130px;height:130px;object-fit:contain;background:white}.logo-card{grid-area:logo;padding:13px;text-align:center}.logo-card img{width:100%;height:170px;object-fit:cover}.logo-card p{font-size:11px;color:var(--gold2)}
footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 5vw;background:linear-gradient(90deg,#042b20,#07100c,#052c21);border-top:1px solid var(--line)}footer p{font-size:11px;color:#bbb}.phone{font-size:30px;color:var(--gold2)}.mobile-bar{display:none}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){nav{gap:11px;font-size:10px}.hero-car-wrap{width:68%}.service-grid{grid-template-columns:1fr 1fr}.fleet{grid-template-columns:1fr 1fr}.price-layout{grid-template-columns:1fr}.company{grid-template-columns:1fr}.access{grid-template-columns:1.2fr .8fr}.feature-bar article{padding-inline:3vw}}
@media(max-width:760px){body{padding-bottom:64px}.site-header{height:64px}.site-header nav{display:none}.site-header.open nav{display:flex;position:absolute;top:64px;left:0;right:0;background:#030604;padding:22px 6vw;flex-direction:column;align-items:flex-start;font-size:14px;border-bottom:1px solid var(--gold)}.menu-btn{display:block}.hero{min-height:730px;height:auto;padding:100px 6vw 60px;align-items:flex-start}.hero-car-wrap{width:100%;height:54%;top:9%;right:-22%;opacity:.48}.hero-copy{margin-top:65px}.hero h1{font-size:clamp(30px,9vw,40px)}.hero h1 span{white-space:normal}.gold-copy{font-size:14px}.hero-badge{display:none}.actions{flex-direction:column}.feature-bar,.service-grid,.fleet,.flow-grid{grid-template-columns:1fr}.feature-bar article{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.section{padding:58px 5vw}.rental-head{display:block}.rental-head p{margin-top:15px}.vehicle-image{height:180px}.partner{grid-template-columns:1fr}.partner-photo{min-height:300px}.access{grid-template-columns:1fr;grid-template-areas:"map" "line" "logo"}.map-card iframe{height:250px}.line-card{grid-template-columns:1fr 115px}.line-card img{width:115px;height:115px}.company-info dl{grid-template-columns:1fr}.company-info dt{padding-bottom:4px}.company-info dd{padding-top:0}footer{flex-direction:column;align-items:flex-start;padding-bottom:85px}.mobile-bar{position:fixed;z-index:110;left:0;right:0;bottom:0;height:64px;display:grid;grid-template-columns:1fr 1fr}.mobile-bar a{display:flex;align-items:center;justify-content:center;font-weight:bold}.mobile-bar a:first-child{background:#d0aa59;color:#111}.mobile-bar a:last-child{background:#06c755;color:white}}


/* ===== TOP COPY UPDATE ===== */
.hero-title-new{max-width:900px}
.hero-title-new>span:first-child{
  display:block;
  white-space:nowrap;
}
.hero-title-en{
  display:block;
  margin-top:14px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(16px,1.45vw,24px);
  line-height:1.35;
  font-weight:400;
  letter-spacing:.045em;
  color:var(--gold2);
  white-space:nowrap;
  text-shadow:0 3px 16px rgba(0,0,0,.65);
}
@media(max-width:760px){
  .hero-title-new>span:first-child,
  .hero-title-en{white-space:normal}
  .hero-title-en{font-size:15px;margin-top:12px}
}


/* Rental-car special coverage notice */
.price-special-note{
  margin-top:18px;
  padding:16px 18px;
  border:1px solid rgba(217,171,74,.78);
  background:linear-gradient(135deg,rgba(9,18,14,.96),rgba(15,31,23,.94));
  box-shadow:inset 0 0 24px rgba(217,171,74,.045);
}
.price-special-note strong{
  display:block;
  margin-bottom:7px;
  color:var(--gold);
  font-size:14px;
  letter-spacing:.04em;
}
.price-special-note p{
  margin:0;
  color:#f0ede5;
  font-size:12px;
  line-height:1.9;
}
@media(max-width:760px){
  .price-special-note{padding:14px}
  .price-special-note p{font-size:11px;line-height:1.8}
}


/* ===== OFFICIAL HEADER LOGO FINAL ===== */
.brand-logo{
  width:52px;
  height:52px;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
  border:1px solid rgba(224,183,86,.78);
  box-shadow:0 0 14px rgba(224,183,86,.16);
  flex:0 0 auto;
}
.brand-mark{display:none!important}
@media(max-width:760px){
  .brand-logo{
    width:44px;
    height:44px;
  }
  .brand b{font-size:14px}
  .brand small{font-size:7px}
}


/* ===== COMPANY / MAP AREA REBUILT TO MATCH FINAL REFERENCE ===== */
.company-final{
  position:relative;
  padding:34px 3vw 28px;
  background:
    radial-gradient(circle at 46% 120%, rgba(15,115,78,.15), transparent 38%),
    linear-gradient(180deg,#020403 0%,#04100c 100%);
  overflow:hidden;
}
.company-final:after{
  content:"";
  position:absolute;
  left:-8%; right:-8%; bottom:-44px; height:100px;
  background:linear-gradient(100deg,transparent 0%,rgba(5,81,55,.14) 22%,rgba(215,169,57,.20) 48%,rgba(6,88,59,.18) 72%,transparent 100%);
  filter:blur(16px);
  pointer-events:none;
}
.company-final-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:2.35fr 1.25fr .68fr .72fr;
  gap:8px;
  align-items:stretch;
}
.panel{
  min-width:0;
  border:1px solid rgba(214,164,58,.78);
  background:linear-gradient(145deg,rgba(3,8,6,.97),rgba(7,18,13,.92));
  box-shadow:inset 0 0 24px rgba(9,94,64,.06);
}
.company-info-final{
  padding:18px 20px;
}
.company-info-final h2{
  margin:6px 0 14px;
  font-size:27px;
  font-weight:500;
  color:#f1eee5;
}
.company-info-final dl{
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  margin:0;
  border-top:1px solid rgba(214,164,58,.45);
}
.company-info-final dt,
.company-info-final dd{
  margin:0;
  padding:8px 0;
  border-bottom:1px solid rgba(214,164,58,.25);
  font-size:10px;
  line-height:1.55;
}
.company-info-final dt{
  color:var(--gold2);
}
.company-info-final dd{
  color:#ddd9cf;
  overflow-wrap:anywhere;
}
.location-stack{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:8px;
}
.location-card{
  padding:9px;
  display:flex;
  flex-direction:column;
}
.location-title{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.location-title span{
  color:var(--gold2);
  font-size:13px;
}
.location-title b{
  color:#f1eee5;
  font-size:11px;
  font-weight:500;
}
.location-card iframe{
  width:100%;
  height:128px;
  border:0;
  filter:brightness(.72) saturate(.58) contrast(1.08);
}
.map-open{
  margin-top:6px;
  padding:7px 8px;
  border:1px solid rgba(214,164,58,.55);
  text-align:center;
  color:var(--gold2);
  font-size:9px;
}
.official-stack{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:8px;
}
.official-card{
  padding:9px 8px;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.official-card h3{
  margin:0 0 7px;
  font-size:14px;
  color:var(--gold2);
  font-weight:500;
}
.official-card img{
  width:88px;
  height:88px;
  object-fit:contain;
  background:#fff;
  padding:4px;
}
.official-card a{
  display:block;
  margin-top:6px;
  font-size:8.5px;
  color:#e5dfd2;
}
.brand-panel{
  padding:10px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.brand-panel img{
  width:100%;
  max-height:245px;
  object-fit:contain;
}
.brand-panel p{
  margin:10px 0 0;
  color:var(--gold2);
  font-size:10px;
  line-height:1.7;
}

/* Compact contact strip like the supplied final reference */
footer#contact{
  padding:18px 4vw;
  display:grid;
  grid-template-columns:1.25fr auto auto auto;
  gap:12px;
  align-items:center;
  background:linear-gradient(90deg,#061a12,#020403 48%,#071a12);
  border-top:1px solid rgba(214,164,58,.78);
}
footer#contact h2{
  font-size:23px;
  margin:3px 0;
  color:var(--gold2);
}
footer#contact p{
  margin:0;
}
.phone-wrap{
  min-width:250px;
}
.phone{
  font-size:28px;
  white-space:nowrap;
}
.copyright{
  padding:9px 4vw 12px;
  background:#020403;
  border-top:1px solid rgba(214,164,58,.18);
}

/* Large desktop: keep everything in one compact horizontal block */
@media(min-width:1181px){
  .company-final-grid{min-height:355px}
}

/* Tablet */
@media(max-width:1180px){
  .company-final-grid{
    grid-template-columns:1.6fr 1fr .72fr;
    grid-template-areas:
      "info maps qr"
      "info maps logo";
  }
  .company-info-final{grid-area:info}
  .location-stack{grid-area:maps}
  .official-stack{grid-area:qr}
  .brand-panel{grid-area:logo}
  .brand-panel img{max-height:150px}
  footer#contact{
    grid-template-columns:1fr 1fr;
  }
}

/* Smartphone */
@media(max-width:760px){
  .company-final{
    padding:34px 5vw 26px;
  }
  .company-final-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "info"
      "maps"
      "qr"
      "logo";
  }
  .company-info-final dl{
    grid-template-columns:1fr;
  }
  .company-info-final dt{
    padding-bottom:2px;
    border-bottom:0;
  }
  .company-info-final dd{
    padding-top:0;
  }
  .location-stack{
    grid-template-columns:1fr;
  }
  .location-card iframe{
    height:210px;
  }
  .official-stack{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }
  .official-card img{
    width:105px;
    height:105px;
  }
  .brand-panel img{
    max-height:190px;
  }
  footer#contact{
    grid-template-columns:1fr;
    align-items:flex-start;
    padding-bottom:82px;
  }
  .phone-wrap{
    min-width:0;
    align-items:flex-start;
  }
}


/* ===== VEHICLE IMAGE CLEANUP FINAL ===== */
.vehicle-image{
  height:165px !important;
  padding:0 !important;
  overflow:hidden;
  background:linear-gradient(180deg,#020403,#06100c);
}
.vehicle-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:none !important;
  transform:none !important;
}
.vehicle-card:hover .vehicle-image img{
  transform:scale(1.025) !important;
  transition:transform .45s ease;
}


/* ===== FINAL POLISH v5 ===== */
.fleet-note{
  margin:10px 0 0;
  padding:0 4px;
  color:#cfc9bd;
  font-size:10px;
  line-height:1.7;
  letter-spacing:.02em;
}
.brand-logo{
  object-fit:contain !important;
  background:#020403;
}
@media(max-width:760px){
  .fleet-note{
    font-size:10px;
    margin-top:8px;
  }
}


/* ===== FINAL VISUAL MATCH v6 ===== */
.brand-wide{
  display:flex!important;
  align-items:center;
  width:auto;
  padding:0;
}
.brand-wide-logo{
  width:238px;
  height:52px;
  object-fit:cover;
  object-position:center;
  display:block;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.line-icon svg,
.flow-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.line-icon{
  color:var(--gold2)!important;
  width:44px!important;
  height:44px!important;
  display:grid!important;
  place-items:center!important;
  font-style:normal!important;
}
.glass-card .line-icon{
  width:48px!important;
  height:48px!important;
}
.flow-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}
.flow-icon{
  width:38px;
  height:38px;
  color:var(--gold2);
  display:block;
}
.flow-top b{
  margin:0!important;
}
.fleet-note{
  margin:8px 0 16px!important;
  text-align:center;
  color:#bdb7aa;
  font-size:9px;
}
.section{
  padding-top:46px;
  padding-bottom:46px;
}
.services{
  padding-top:36px!important;
  padding-bottom:36px!important;
}
.rental{
  padding-top:40px!important;
  padding-bottom:36px!important;
}
.flow{
  margin-top:22px!important;
  padding-top:18px!important;
  padding-bottom:18px!important;
}
.partner{
  min-height:0!important;
}
.company-final{
  padding-top:28px!important;
  padding-bottom:22px!important;
}
.company-final-grid{
  min-height:0!important;
}
.vehicle-image{
  height:145px!important;
}
.vehicle-card{
  padding-bottom:8px!important;
}
.vehicle-card h3{
  margin-top:7px!important;
}
.vehicle-card p{
  margin-bottom:5px!important;
}
@media(min-width:1181px){
  .company-final-grid{min-height:0!important}
}
@media(max-width:760px){
  .brand-wide-logo{
    width:185px;
    height:40px;
  }
  .section{
    padding-top:36px;
    padding-bottom:36px;
  }
  .fleet-note{
    text-align:left;
    font-size:10px;
  }
}


/* ===== FINAL VERIFIED VISUAL TUNING v7 ===== */

/* 車両写真：文字なしの車体画像を切らずに表示 */
.vehicle-image{
  height:132px !important;
  padding:4px 8px 0 !important;
  background:linear-gradient(180deg,#020604 0%,#04100b 100%) !important;
}
.vehicle-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#020604;
}

/* ラインナップを完成見本の密度に近づける */
.fleet{
  gap:6px !important;
}
.vehicle-card{
  background:linear-gradient(180deg,#050b08,#020504) !important;
  border-color:rgba(212,162,57,.78) !important;
}
.vehicle-card h3{
  color:var(--gold2) !important;
  font-size:14px !important;
  margin:5px 0 2px !important;
}
.vehicle-card p{
  font-size:9px !important;
  line-height:1.45 !important;
  min-height:26px !important;
}
.fleet-note{
  margin:6px 0 12px !important;
}

/* 料金・NOC・緊急連絡を縦に伸ばしすぎない */
.price-box{
  padding:14px 16px !important;
}
.price-box h3{
  margin:5px 0 10px !important;
}
.price-row{
  padding:5px 0 !important;
}
.price-special-note{
  margin-top:10px !important;
  padding:10px 12px !important;
}
.price-special-note strong{
  font-size:11px !important;
}
.price-special-note p{
  font-size:9px !important;
  line-height:1.65 !important;
}
.side-panels{
  gap:7px !important;
}
.info-panel{
  padding:12px 14px !important;
}
.info-panel h3{
  margin-bottom:6px !important;
}

/* ご利用の流れを横長・コンパクトに */
.flow{
  margin-top:14px !important;
  padding:14px 16px !important;
}
.flow h3{
  margin:0 0 9px !important;
}
.flow-grid{
  gap:0 !important;
}
.flow-grid article{
  padding:8px 13px !important;
}
.flow-top{
  margin-bottom:4px !important;
}
.flow-icon{
  width:31px !important;
  height:31px !important;
}
.flow-grid article p{
  font-size:9px !important;
  line-height:1.5 !important;
}

/* 握手セクションも見本の横長比率に */
.partner{
  min-height:280px !important;
}
.partner-copy{
  padding:28px 4vw !important;
}
.partner-photo img{
  object-fit:cover !important;
  object-position:center !important;
}
.partner-photo strong{
  color:var(--gold2) !important;
}

/* 会社情報〜地図〜QR〜ロゴを1つの横長ブロックとして揃える */
.company-final{
  padding:18px 2.5vw 16px !important;
}
.company-final-grid{
  grid-template-columns:2.2fr 1.15fr .62fr .72fr !important;
  gap:6px !important;
  align-items:stretch !important;
}
.company-info-final{
  padding:12px 14px !important;
}
.company-info-final h2{
  font-size:20px !important;
  margin:3px 0 8px !important;
}
.company-info-final dl{
  grid-template-columns:94px minmax(0,1fr) !important;
}
.company-info-final dt,
.company-info-final dd{
  padding:5px 0 !important;
  font-size:8.6px !important;
  line-height:1.45 !important;
}
.location-stack,
.official-stack{
  gap:6px !important;
}
.location-card{
  padding:6px !important;
}
.location-title{
  margin-bottom:4px !important;
}
.location-title span{
  font-size:10px !important;
}
.location-title b{
  font-size:9px !important;
}
.location-card iframe{
  height:105px !important;
}
.map-open{
  margin-top:4px !important;
  padding:5px !important;
  font-size:8px !important;
}
.official-card{
  padding:7px !important;
}
.official-card h3{
  font-size:11px !important;
  margin-bottom:4px !important;
}
.official-card img{
  width:82px !important;
  height:82px !important;
}
.official-card a{
  font-size:7.5px !important;
  margin-top:4px !important;
}
.brand-panel{
  padding:5px !important;
  overflow:hidden;
}
.brand-panel img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* 最下部お問い合わせ */
footer#contact{
  padding:12px 3vw !important;
}
footer#contact h2{
  font-size:20px !important;
}
footer#contact p,
.phone-wrap small{
  font-size:9px !important;
}
.phone{
  font-size:24px !important;
}
.copyright{
  padding:7px 3vw 9px !important;
}

/* 背景の深緑×ゴールドの流れを全体で統一 */
.rental,
.company-final{
  background:
    radial-gradient(ellipse at 50% 105%,rgba(12,104,70,.14),transparent 42%),
    linear-gradient(180deg,#020504,#04100b) !important;
}
.rental:after,
.company-final:after{
  opacity:.9;
}

@media(max-width:1180px){
  .company-final-grid{
    grid-template-columns:1.55fr 1fr .66fr !important;
  }
}

@media(max-width:760px){
  .vehicle-image{
    height:150px !important;
  }
  .company-final{
    padding:26px 5vw 20px !important;
  }
  .company-final-grid{
    grid-template-columns:1fr !important;
  }
  .company-info-final dt,
  .company-info-final dd{
    font-size:10px !important;
  }
  .location-card iframe{
    height:210px !important;
  }
  .official-card img{
    width:108px !important;
    height:108px !important;
  }
  .brand-panel img{
    max-height:290px !important;
    object-fit:contain !important;
  }
}


/* ===== FINISH v8 : address readability + clear brand ===== */

/* 会社情報は小さすぎないように再調整 */
.company-final-grid{
  grid-template-columns:2.45fr 1.15fr .62fr .78fr !important;
}
.company-info-final{
  padding:15px 17px !important;
}
.company-info-final h2{
  font-size:24px !important;
  margin:4px 0 11px !important;
}
.company-info-final dl{
  grid-template-columns:104px minmax(0,1fr) !important;
}
.company-info-final dt{
  padding:7px 0 !important;
  font-size:10.5px !important;
  font-weight:700;
  letter-spacing:.025em;
}
.company-info-final dd{
  padding:7px 0 !important;
  font-size:10.5px !important;
  line-height:1.55 !important;
  font-weight:500;
}
.company-info-final .address-value{
  font-size:11.6px !important;
  line-height:1.62 !important;
  color:#f1eee5;
  font-weight:600;
  letter-spacing:.01em;
}
.company-info-final .contact-value{
  font-size:11.5px !important;
  color:#f0eadc;
  font-weight:600;
}
.company-info-final dd a{
  color:inherit;
}

/* 右端ロゴは画像内文字を使わず、HTML文字で鮮明表示 */
.brand-panel-clear{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center;
  padding:12px 10px !important;
  background:
    radial-gradient(circle at 50% 30%,rgba(210,160,52,.08),transparent 44%),
    linear-gradient(180deg,#010302,#06100b) !important;
}
.brand-panel-clear .brand-mark-clear{
  width:88% !important;
  height:auto !important;
  max-height:150px !important;
  object-fit:contain !important;
  object-position:center !important;
  border:0 !important;
  background:#010302;
}
.brand-name-clear{
  margin-top:7px;
  color:#e0b757;
  font-family:Georgia,"Times New Roman",serif;
  font-size:29px;
  line-height:.95;
  letter-spacing:.02em;
  text-shadow:0 0 9px rgba(224,183,87,.16);
}
.brand-message-clear{
  margin-top:12px;
  color:#f0ede5;
  font-size:10.5px;
  line-height:1.75;
  font-weight:600;
}

/* 地図・QRとの高さを揃えて、下部全体を締める */
.company-final-grid{
  align-items:stretch !important;
}
.location-card iframe{
  min-height:110px;
}
.official-card img{
  image-rendering:auto;
}

/* PCで読みやすさを優先しつつ、完成見本の一枚感を維持 */
@media(min-width:1181px){
  .company-final{
    padding-top:20px !important;
    padding-bottom:18px !important;
  }
}

/* タブレット */
@media(max-width:1180px){
  .company-final-grid{
    grid-template-columns:1.6fr 1fr .7fr !important;
  }
  .company-info-final dd,
  .company-info-final dt{
    font-size:10.5px !important;
  }
  .company-info-final .address-value{
    font-size:11.4px !important;
  }
}

/* スマホ */
@media(max-width:760px){
  .company-final-grid{
    grid-template-columns:1fr !important;
  }
  .company-info-final dl{
    grid-template-columns:1fr !important;
  }
  .company-info-final dt{
    font-size:11px !important;
    padding:8px 0 2px !important;
  }
  .company-info-final dd,
  .company-info-final .address-value,
  .company-info-final .contact-value{
    font-size:13px !important;
    line-height:1.65 !important;
    padding:0 0 9px !important;
  }
  .brand-panel-clear .brand-mark-clear{
    max-height:180px !important;
    width:72% !important;
  }
  .brand-name-clear{
    font-size:34px;
  }
  .brand-message-clear{
    font-size:12px;
  }
}


/* ===== FINAL FIVE CARS + DARK MAP v9 ===== */
.fleet{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
}
.vehicle-card{
  background:linear-gradient(180deg,#020504 0%,#07110c 100%) !important;
  border:1px solid rgba(215,166,58,.80) !important;
  overflow:hidden !important;
}
.vehicle-image{
  height:180px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#020403 !important;
}
.vehicle-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:none !important;
  transform:none !important;
}
.vehicle-card h3{
  color:var(--gold2) !important;
  font-size:15px !important;
  margin:8px 0 2px !important;
}
.vehicle-card p{
  color:#f0ede6 !important;
  font-size:10px !important;
  margin:0 0 9px !important;
  min-height:0 !important;
}

/* Google Mapを完成イメージの黒マップ風に */
.location-card iframe,
.map-card iframe{
  filter:grayscale(1) invert(.88) contrast(1.16) brightness(.62) sepia(.16) hue-rotate(92deg) saturate(.72) !important;
  background:#020403 !important;
}
.location-card,
.map-card{
  background:linear-gradient(180deg,#020504,#06100b) !important;
}

/* 会社情報の住所をPCでも読みやすく */
.company-info-final dt{
  font-size:11px !important;
}
.company-info-final dd{
  font-size:11.5px !important;
  line-height:1.62 !important;
}
.company-info-final .address-value{
  font-size:12.2px !important;
  font-weight:650 !important;
}

/* 最後のロゴ・文字をくっきり */
.brand-panel-clear{
  background:#020403 !important;
}
.brand-panel-clear .brand-mark-clear{
  filter:contrast(1.08) brightness(1.05) !important;
}
.brand-name-clear{
  color:#e4bb61 !important;
  text-shadow:0 0 7px rgba(228,187,97,.22) !important;
}
.brand-message-clear{
  color:#f6f1e7 !important;
  font-weight:650 !important;
}

@media(max-width:980px){
  .fleet{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:560px){
  .fleet{
    grid-template-columns:1fr !important;
  }
  .vehicle-image{
    height:210px !important;
  }
}


/* ===== v10 REFERENCE MATCH FINISH ===== */
:root{
  --pm-black:#030504;
  --pm-green:#06160f;
  --pm-green-2:#0a2419;
  --pm-gold:#c89a3c;
  --pm-gold2:#e1b75a;
  --pm-white:#f4f1e9;
}

/* レンタカー欄を基準画像寄りに */
.rental{
  background:
    radial-gradient(circle at 50% 100%, rgba(9,89,57,.15), transparent 42%),
    linear-gradient(180deg,#020403 0%,#04100b 100%) !important;
}
.rental-head{
  margin-bottom:20px !important;
}
.fleet{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:7px !important;
}
.vehicle-card{
  border:1px solid rgba(213,164,58,.88) !important;
  background:#020403 !important;
  box-shadow:inset 0 0 28px rgba(200,154,60,.025) !important;
}
.vehicle-image{
  height:205px !important;
  padding:0 !important;
  background:#020403 !important;
}
.vehicle-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:none !important;
}
.vehicle-card h3{
  color:var(--pm-gold2) !important;
  font-size:15px !important;
  margin:8px 0 2px !important;
}
.vehicle-card p{
  color:#eee9df !important;
  font-size:10px !important;
  margin:0 0 10px !important;
  min-height:0 !important;
}
.fleet-note{
  color:#d9d3c7 !important;
  font-size:10px !important;
  margin:8px 0 15px !important;
  text-align:center !important;
}

/* 料金・NOCを黒ベースで統一 */
.price-layout{
  grid-template-columns:minmax(0,2.05fr) minmax(260px,.95fr) !important;
  gap:8px !important;
}
.price-box,
.info-panel,
.flow{
  background:linear-gradient(180deg,#020403,#07140e) !important;
  border-color:rgba(210,160,55,.78) !important;
}
.price-row{
  border-color:rgba(232,225,210,.24) !important;
}
.price-row b,
.info-panel h3,
.flow h3{
  color:var(--pm-gold2) !important;
}

/* 黒系の地図風サムネイル */
.location-card{
  background:linear-gradient(180deg,#020403,#06100b) !important;
  border-color:rgba(210,160,55,.72) !important;
}
.dark-map-thumb{
  position:relative;
  height:118px;
  overflow:hidden;
  border:1px solid rgba(210,160,55,.46);
  background:
    linear-gradient(32deg,transparent 44%,rgba(118,124,120,.18) 45%,rgba(118,124,120,.18) 47%,transparent 48%) 0 0/78px 58px,
    linear-gradient(-28deg,transparent 45%,rgba(118,124,120,.13) 46%,rgba(118,124,120,.13) 48%,transparent 49%) 0 0/96px 67px,
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 34px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 27px),
    radial-gradient(circle at 52% 47%,rgba(15,52,36,.7),transparent 45%),
    #0a0d0c;
}
.dark-map-thumb:after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 42px rgba(0,0,0,.72);
  pointer-events:none;
}
.map-road{
  position:absolute;
  height:2px;
  width:145%;
  left:-22%;
  background:rgba(158,164,159,.15);
  transform-origin:center;
}
.map-road.r1{top:37%;transform:rotate(13deg)}
.map-road.r2{top:61%;transform:rotate(-16deg)}
.map-road.r3{top:73%;transform:rotate(4deg)}
.map-pin{
  position:absolute;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%);
  width:25px;
  height:34px;
  border-radius:50% 50% 50% 0;
  transform-origin:center;
  rotate:-45deg;
  background:linear-gradient(135deg,#f0c96b,#b77d21);
  color:transparent;
  box-shadow:0 0 16px rgba(226,183,90,.28);
  z-index:2;
}
.map-pin:after{
  content:"";
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#111;
  left:8px;
  top:8px;
}
.dark-map-thumb small{
  position:absolute;
  z-index:3;
  left:9px;
  bottom:7px;
  color:#e8e1d5;
  font-size:9px;
  letter-spacing:.04em;
}
.map-open{
  background:#020403 !important;
  color:var(--pm-gold2) !important;
  border-color:rgba(210,160,55,.72) !important;
}

/* 下部は会社情報・地図・QR・ロゴを揃える */
.company-final{
  background:
    radial-gradient(circle at 15% 100%,rgba(8,92,58,.18),transparent 35%),
    linear-gradient(180deg,#030504,#06130d) !important;
}
.company-final-grid{
  grid-template-columns:2.15fr 1fr .72fr .92fr !important;
  gap:7px !important;
}
.company-info-final,
.official-card,
.brand-panel-final{
  background:linear-gradient(180deg,#020403,#07130d) !important;
  border-color:rgba(210,160,55,.72) !important;
}
.company-info-final .address-value{
  font-size:12px !important;
  color:#f4f0e7 !important;
  font-weight:650 !important;
}
.company-info-final dd,
.company-info-final dt{
  line-height:1.55 !important;
}
.official-card img{
  background:#fff;
  border-radius:2px;
  padding:3px;
}

/* 最後のロゴ：重複なし */
.brand-panel-final{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:18px 12px !important;
}
.brand-panel-final img{
  width:94% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  filter:contrast(1.08) brightness(1.06) !important;
}
.brand-panel-final p{
  margin:14px 0 0 !important;
  color:#f4efe5 !important;
  font-size:11px !important;
  line-height:1.8 !important;
  font-weight:650 !important;
}

/* 参考画像のようにフッターを締める */
footer#contact{
  background:linear-gradient(90deg,#04130d,#020403 55%,#06150f) !important;
  border-top:1px solid rgba(210,160,55,.72) !important;
}
.phone{
  color:var(--pm-gold2) !important;
}

/* レスポンシブ */
@media(max-width:1180px){
  .company-final-grid{
    grid-template-columns:1.65fr 1fr .72fr !important;
  }
  .brand-panel-final{
    grid-column:1/-1;
    min-height:180px;
  }
  .brand-panel-final img{
    width:min(420px,90%) !important;
  }
}
@media(max-width:980px){
  .fleet{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .price-layout{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:760px){
  .fleet{
    grid-template-columns:1fr !important;
  }
  .vehicle-image{
    height:230px !important;
  }
  .company-final-grid{
    grid-template-columns:1fr !important;
  }
  .brand-panel-final{
    grid-column:auto;
  }
  .dark-map-thumb{
    height:170px;
  }
}


/* ===== v11 FINAL PHOTO CLARITY ===== */
.vehicle-image{
  height:210px !important;
  background:#020403 !important;
}
.vehicle-image img{
  object-fit:contain !important;
  object-position:center center !important;
  background:
    radial-gradient(circle at 50% 62%, rgba(25,54,40,.25), transparent 55%),
    #020403 !important;
  image-rendering:auto !important;
}

/* 地図ボタンを明確に */
.map-open{
  font-weight:650 !important;
  letter-spacing:.02em !important;
}


/* ===== v13 map-link safety fix ===== */
.map-note{
  margin:6px 2px 0;
  color:#cfc8bb;
  font-size:8.5px;
  line-height:1.5;
}
.map-open{
  cursor:pointer;
}
@media(max-width:760px){
  .map-note{
    font-size:10px;
  }
}


/* ===== v14 map-safe clarification ===== */
.map-note{
  grid-column:1 / -1;
  margin:7px 2px 0 !important;
  color:#d9d1c3 !important;
  font-size:9px !important;
  line-height:1.55 !important;
}
.map-open{
  font-weight:700 !important;
  color:var(--pm-gold2) !important;
}


/* ===== v17 REFERENCE MATCH ===== */
.rental{
  background:
    radial-gradient(circle at 50% 100%,rgba(10,82,55,.20),transparent 44%),
    linear-gradient(180deg,#020403 0%,#040907 55%,#07140e 100%) !important;
}
.fleet{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:6px !important;
  align-items:stretch !important;
}
.vehicle-card{
  background:#020403 !important;
  border:1px solid rgba(205,154,54,.92) !important;
  box-shadow:inset 0 0 28px rgba(212,166,68,.035) !important;
  min-width:0 !important;
}
.vehicle-image{
  height:205px !important;
  background:#020403 !important;
  padding:0 !important;
}
.vehicle-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:none !important;
  transform:none !important;
}
.vehicle-card h3{
  margin:8px 0 2px !important;
  color:#deb452 !important;
  font-size:15px !important;
  font-weight:700 !important;
}
.vehicle-card p{
  margin:0 0 10px !important;
  color:#f1ece1 !important;
  font-size:10px !important;
  letter-spacing:.04em !important;
}
.fleet-note{
  margin:7px 0 12px !important;
  color:#d8d1c5 !important;
  font-size:9px !important;
}
.price-box,.info-panel,.flow,.company-info-final,.location-card,.official-card,.brand-panel-final{
  background:linear-gradient(180deg,#020403,#06110c) !important;
  border-color:rgba(205,154,54,.78) !important;
}
@media(max-width:980px){
  .fleet{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:560px){
  .fleet{grid-template-columns:1fr !important;}
  .vehicle-image{height:220px !important;}
}

/* ===== v18 TOP + FLEET FINAL POLISH ===== */
/* トップは現行デザインを維持し、右バッジと車の見切れだけ微調整 */
.hero-car-wrap{
  right:-1.5% !important;
  width:61.5% !important;
  top:9.5% !important;
}
.hero-car-wrap img{
  object-position:54% center !important;
  transform:scale(1.045) !important;
}
.hero-badge{
  right:2.7vw !important;
}
.badge-one{bottom:282px !important;}
.badge-two{bottom:124px !important;}

/* 下部の明るい緑を抑え、黒緑＋ゴールド主体へ */
.feature-bar{
  background:
    linear-gradient(180deg,rgba(4,20,14,.97),rgba(2,8,6,.99)) !important;
  border-top:1px solid rgba(205,154,54,.55) !important;
  border-bottom:1px solid rgba(205,154,54,.45) !important;
}

/* 5台の写真サイズ・背景・位置を完全統一 */
.vehicle-image{
  height:205px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#020403 !important;
  overflow:hidden !important;
}
.vehicle-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#020403 !important;
  filter:none !important;
  transform:none !important;
}
.vehicle-card:hover .vehicle-image img{
  transform:scale(1.025) !important;
}
@media(max-width:760px){
  .hero-car-wrap{
    width:100% !important;
    right:-20% !important;
    top:9% !important;
  }
  .vehicle-image{height:220px !important;}
}


/* ===== v19 CAR TOP-CROP FIX ===== */
.vehicle-image{
  height:215px !important;
  padding:10px 8px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  background:#020403 !important;
}
.vehicle-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  filter:none !important;
}
.vehicle-card:hover .vehicle-image img{
  transform:scale(1.015) !important;
}
@media(max-width:760px){
  .vehicle-image{
    height:230px !important;
    padding:12px 10px !important;
  }
}


/* ===== v20 CURRENT MODEL VEHICLES ===== */
.vehicle-image{
  height:220px !important;
  padding:8px !important;
  box-sizing:border-box !important;
  background:#020403 !important;
  overflow:hidden !important;
}
.vehicle-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#020403 !important;
  transform:none !important;
  filter:none !important;
}
.vehicle-card:hover .vehicle-image img{
  transform:scale(1.012) !important;
}
@media(max-width:760px){
  .vehicle-image{height:240px !important;}
}


/* =========================================================
   v22 PREMIUM MOTION
   上品・ゆっくり・軽量。レイアウトは変更しない。
   ========================================================= */

/* revealを少し上質に */
.reveal{
  opacity:0;
  transform:translate3d(0,22px,0);
  filter:blur(2px);
  transition:
    opacity .82s cubic-bezier(.22,.61,.36,1),
    transform .82s cubic-bezier(.22,.61,.36,1),
    filter .82s ease;
  transition-delay:var(--motion-delay,0ms);
  will-change:opacity,transform;
}
.reveal.visible{
  opacity:1;
  transform:translate3d(0,0,0);
  filter:blur(0);
}

/* トップ車両：ごくゆっくり浮遊 */
.hero-car-wrap{
  animation:pmHeroFloat 7s ease-in-out infinite;
  transform-origin:55% 60%;
}
@keyframes pmHeroFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-7px,0)}
}

/* トップ画像に薄い光が横切る */
.hero-stage::after{
  content:"";
  position:absolute;
  inset:-20% auto -20% -34%;
  width:22%;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,rgba(255,214,118,0) 28%,rgba(255,214,118,.10) 50%,rgba(255,214,118,0) 72%,transparent 100%);
  transform:skewX(-17deg);
  animation:pmHeroSheen 9s ease-in-out infinite 2s;
  z-index:4;
}
@keyframes pmHeroSheen{
  0%,58%{left:-34%;opacity:0}
  62%{opacity:.7}
  85%{left:115%;opacity:.25}
  100%{left:115%;opacity:0}
}

/* 即日・長期バッジ：ゆっくりゴールド発光 */
.hero-badge{
  animation:pmBadgeGlow 3.8s ease-in-out infinite;
}
.badge-two{animation-delay:.75s}
@keyframes pmBadgeGlow{
  0%,100%{box-shadow:0 0 0 1px rgba(210,160,55,.35),0 0 14px rgba(210,160,55,.10)}
  50%{box-shadow:0 0 0 1px rgba(232,190,84,.70),0 0 28px rgba(220,171,60,.22)}
}

/* 車両カード：順番に出て、hoverはほんの少し持ち上がる */
.vehicle-card{
  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease !important;
}
.vehicle-card:hover{
  transform:translateY(-4px);
  border-color:rgba(230,184,76,.95) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.28), inset 0 0 30px rgba(212,166,68,.045) !important;
}
.vehicle-card .vehicle-image img{
  transition:transform .6s cubic-bezier(.22,.61,.36,1) !important;
}
.vehicle-card:hover .vehicle-image img{
  transform:scale(1.025) !important;
}

/* 料金表：各行を左→右へ静かに表示 */
.price-row{
  opacity:0;
  transform:translateX(-12px);
  transition:
    opacity .55s ease,
    transform .55s ease,
    background-color .3s ease;
  transition-delay:calc(var(--row-index,0) * 65ms);
}
.price-box.visible .price-row{
  opacity:1;
  transform:translateX(0);
}
.price-row:hover{
  background:rgba(205,154,54,.045);
}

/* 金額だけ微かな存在感 */
.price-row b{
  transition:text-shadow .3s ease, transform .3s ease;
}
.price-row:hover b{
  text-shadow:0 0 14px rgba(225,183,90,.28);
  transform:translateX(-2px);
}

/* ご利用の流れ：01→04の順に表示 */
.flow > *{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s ease, transform .6s ease;
  transition-delay:calc(var(--flow-index,0) * 120ms);
}
.flow.visible > *{
  opacity:1;
  transform:translateY(0);
}

/* 握手画像：スクロール時にゆっくりズーム */
.partner-photo{
  overflow:hidden;
}
.partner-photo img{
  transform:scale(1.035);
  transition:transform 1.4s cubic-bezier(.22,.61,.36,1), filter 1s ease;
}
.partner-photo.visible img{
  transform:scale(1);
}
.partner-photo:hover img{
  transform:scale(1.018);
}

/* Trust文字 */
.partner-photo strong{
  text-shadow:0 0 0 rgba(221,178,72,0);
  transition:text-shadow .7s ease;
}
.partner-photo.visible strong{
  text-shadow:0 0 24px rgba(221,178,72,.18);
}

/* CTAボタンにごく薄いゴールドの流れ */
.cta,
.map-open,
.contact-btn,
.partner a{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.cta::after,
.map-open::after,
.contact-btn::after,
.partner a::after{
  content:"";
  position:absolute;
  top:-60%;
  bottom:-60%;
  left:-45%;
  width:24%;
  background:linear-gradient(90deg,transparent,rgba(255,235,174,.18),transparent);
  transform:skewX(-20deg);
  transition:left .75s ease;
  pointer-events:none;
}
.cta:hover::after,
.map-open:hover::after,
.contact-btn:hover::after,
.partner a:hover::after{
  left:125%;
}

/* ゴールド枠が一瞬だけ整う演出 */
.price-box.visible,
.info-panel.visible,
.flow.visible{
  animation:pmBorderSet .9s ease both;
}
@keyframes pmBorderSet{
  from{border-color:rgba(205,154,54,.28)}
  to{border-color:rgba(205,154,54,.78)}
}

/* ユーザーが動きを減らす設定の場合は完全停止 */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
  .reveal,
  .price-row,
  .flow > *{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}

/* スマホは動きをさらに控えめに */
@media(max-width:760px){
  .hero-car-wrap{
    animation:pmHeroFloatMobile 8s ease-in-out infinite;
  }
  @keyframes pmHeroFloatMobile{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(0,-3px,0)}
  }
  .hero-stage::after{display:none}
  .vehicle-card:hover{transform:none}
}

@media(min-width:761px){
  .partner-photo img{
    translate:0 var(--photo-y,0px);
  }
}


/* =========================================================
   v23 INTRO SPLASH
   Prime → Mobility → Home
   ========================================================= */
.pm-intro{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 58%, rgba(12,76,50,.16), transparent 42%),
    #020403;
  opacity:1;
  visibility:visible;
  transition:opacity .85s ease, visibility .85s ease;
}
.pm-intro-inner{
  position:relative;
  min-width:min(82vw,760px);
  text-align:center;
  padding:40px 24px 48px;
}
.pm-intro-word{
  font-family:Georgia, "Times New Roman", serif;
  letter-spacing:.035em;
  line-height:1;
  opacity:0;
  transform:translateY(16px);
  filter:blur(8px);
  will-change:opacity,transform,filter;
}
.pm-prime{
  color:#e2b75a;
  font-size:clamp(58px,8.5vw,126px);
  animation:pmPrimeIn 1.15s cubic-bezier(.22,.61,.36,1) .30s forwards;
}
.pm-mobility{
  margin-top:12px;
  color:#f4efe5;
  font-size:clamp(42px,6vw,88px);
  animation:pmMobilityIn 1.05s cubic-bezier(.22,.61,.36,1) 1.48s forwards;
}
.pm-intro-line{
  width:0;
  height:1px;
  margin:24px auto 0;
  background:linear-gradient(90deg,transparent,#d5a33e,transparent);
  opacity:0;
  animation:pmIntroLine 1s ease 2.25s forwards;
}
@keyframes pmPrimeIn{
  0%{opacity:0;transform:translateY(16px) scale(.985);filter:blur(10px)}
  65%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes pmMobilityIn{
  0%{opacity:0;transform:translateY(14px);filter:blur(9px)}
  70%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes pmIntroLine{
  0%{width:0;opacity:0}
  40%{opacity:.9}
  100%{width:min(320px,54vw);opacity:.5}
}
.pm-intro.is-exiting{
  opacity:0;
  visibility:hidden;
}
body.pm-intro-active{
  overflow:hidden;
}
body.pm-intro-complete{
  overflow:auto;
}
body.pm-intro-active main,
body.pm-intro-active header,
body.pm-intro-active footer{
  opacity:0;
}
body.pm-intro-complete main,
body.pm-intro-complete header,
body.pm-intro-complete footer{
  opacity:1;
  transition:opacity .75s ease;
}

/* トップ画面がイントロ後に柔らかく立ち上がる */
body.pm-home-enter .hero-content{
  animation:pmHomeContentIn .95s cubic-bezier(.22,.61,.36,1) both;
}
body.pm-home-enter .hero-car-wrap{
  animation:
    pmHomeCarIn 1.15s cubic-bezier(.22,.61,.36,1) both,
    pmHeroFloat 7s ease-in-out 1.15s infinite;
}
@keyframes pmHomeContentIn{
  from{opacity:0;transform:translateY(18px);filter:blur(4px)}
  to{opacity:1;transform:none;filter:blur(0)}
}
@keyframes pmHomeCarIn{
  from{opacity:0;transform:translateX(36px) scale(.985);filter:blur(3px)}
  to{opacity:1;transform:none;filter:blur(0)}
}

@media(max-width:760px){
  .pm-intro-inner{min-width:88vw}
  .pm-mobility{margin-top:9px}
}

/* 動きを減らす設定では短時間で表示 */
@media (prefers-reduced-motion: reduce){
  .pm-intro-word,
  .pm-intro-line{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}


/* =========================================================
   v24 PC READY - Final visual tuning
   ========================================================= */

/* Intro: logo -> Prime -> Mobility */
.pm-intro-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
}
.pm-intro-logo{
  width:clamp(88px,8vw,128px) !important;
  height:auto !important;
  object-fit:contain !important;
  opacity:0;
  transform:translateY(10px) scale(.94);
  filter:blur(6px);
  animation:pmLogoIn 1s cubic-bezier(.22,.61,.36,1) .15s forwards;
  margin-bottom:14px !important;
  mix-blend-mode:screen;
}
.pm-prime,
.pm-mobility{
  color:#dfb052 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-weight:500 !important;
  letter-spacing:.015em !important;
}
.pm-prime{
  font-size:clamp(58px,7vw,104px) !important;
  animation-delay:1.0s !important;
}
.pm-mobility{
  font-size:clamp(46px,5.6vw,82px) !important;
  margin-top:6px !important;
  animation-delay:1.85s !important;
}
.pm-intro-line{
  animation-delay:2.55s !important;
}
@keyframes pmLogoIn{
  from{opacity:0;transform:translateY(10px) scale(.94);filter:blur(7px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

/* Rate table: significantly larger and easier to read */
.price-box{
  padding:20px 22px 18px !important;
}
.price-box .small-en,
.price-box .section-en{
  font-size:12px !important;
  letter-spacing:.13em !important;
}
.price-box h3,
.price-box h2{
  font-size:27px !important;
  line-height:1.25 !important;
  margin-bottom:12px !important;
}
.price-row{
  min-height:38px !important;
  padding:7px 4px !important;
  align-items:center !important;
  border-bottom:1px solid rgba(255,255,255,.28) !important;
}
.price-row span{
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:650 !important;
}
.price-row b{
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
}
.price-note,
.rental-note{
  padding:12px 14px !important;
  margin-top:12px !important;
}
.price-note strong,
.rental-note strong{
  font-size:13px !important;
}
.price-note p,
.rental-note p{
  font-size:11px !important;
  line-height:1.55 !important;
}

/* Compact the flow so pricing gets more visual priority */
.flow{
  padding:12px 16px 13px !important;
  min-height:0 !important;
  margin-top:10px !important;
}
.flow-title,
.flow > h3{
  font-size:20px !important;
  margin:0 0 8px !important;
}
.flow-step,
.flow-item{
  padding:5px 12px !important;
  min-height:84px !important;
}
.flow .step-no,
.flow .num,
.flow strong{
  font-size:15px !important;
  line-height:1.2 !important;
}
.flow h4,
.flow .step-title{
  font-size:13px !important;
  margin:4px 0 !important;
  line-height:1.25 !important;
}
.flow p{
  font-size:9.5px !important;
  line-height:1.45 !important;
}

/* Partner title wraps intentionally and cleanly */
.partner-copy h2,
.partner h2{
  line-height:1.35 !important;
  max-width:600px !important;
}

/* Keep desktop balance stable */
@media(min-width:1000px){
  .rental-grid{
    align-items:stretch !important;
  }
  .price-box{
    min-height:100% !important;
  }
}

/* Mobile readability */
@media(max-width:760px){
  .price-box h3,
  .price-box h2{
    font-size:23px !important;
  }
  .price-row span{
    font-size:14px !important;
  }
  .price-row b{
    font-size:16px !important;
  }
  .flow{
    padding:10px 12px !important;
  }
}


/* =========================================================
   v26 IMAGE1 INTRO FIX
   ロゴマーク → Prime → Mobility → トップ
   ========================================================= */
.pm-intro{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:grid !important;
  place-items:center !important;
  background:
    radial-gradient(circle at 50% 56%,rgba(145,91,18,.12),transparent 34%),
    radial-gradient(circle at 50% 65%,rgba(6,55,37,.10),transparent 42%),
    #020302 !important;
  overflow:hidden !important;
}

.pm-intro-scene{
  position:relative !important;
  width:min(92vw,1180px) !important;
  min-height:330px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.pm-intro-brand{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:22px !important;
  white-space:nowrap !important;
}

.pm-intro-logo{
  width:clamp(120px,13vw,210px) !important;
  height:auto !important;
  margin:0 !important;
  object-fit:contain !important;
  mix-blend-mode:screen !important;
  opacity:0;
  transform:translateY(12px) scale(.92);
  filter:blur(9px) drop-shadow(0 0 0 rgba(230,180,73,0));
  animation:pmLogoImage1 1.15s cubic-bezier(.22,.61,.36,1) .18s forwards !important;
}

.pm-intro-word{
  display:inline-block !important;
  color:#e0ae46 !important;
  background:linear-gradient(180deg,#fff0af 0%,#e8b950 35%,#a76918 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  font-family:"Segoe Script","Lucida Handwriting","Brush Script MT","Apple Chancery",cursive !important;
  font-style:italic !important;
  font-weight:600 !important;
  letter-spacing:-.035em !important;
  line-height:1 !important;
  opacity:0;
  filter:blur(10px);
  text-shadow:none !important;
  will-change:opacity,transform,filter;
}

.pm-prime{
  font-size:clamp(64px,8vw,128px) !important;
  transform:translateX(-15px) translateY(10px);
  animation:pmPrimeImage1 1.05s cubic-bezier(.22,.61,.36,1) 1.12s forwards !important;
}

.pm-mobility{
  font-size:clamp(64px,8vw,128px) !important;
  margin:0 !important;
  transform:translateX(-15px) translateY(10px);
  animation:pmMobilityImage1 1.05s cubic-bezier(.22,.61,.36,1) 2.05s forwards !important;
}

.pm-intro-light{
  position:absolute !important;
  left:50% !important;
  bottom:78px !important;
  width:min(720px,70vw) !important;
  height:2px !important;
  transform:translateX(-50%) scaleX(.08);
  transform-origin:center;
  opacity:0;
  background:linear-gradient(90deg,transparent,#9e6419 15%,#ffd873 50%,#9e6419 85%,transparent);
  box-shadow:
    0 0 10px rgba(255,200,82,.55),
    0 0 30px rgba(255,183,43,.28),
    0 0 70px rgba(255,174,28,.15);
  animation:pmIntroGoldLine 1.15s ease 2.55s forwards !important;
}

.pm-intro-scene::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:60px;
  width:280px;
  height:70px;
  transform:translateX(-50%);
  background:radial-gradient(ellipse,rgba(255,181,45,.20),transparent 70%);
  filter:blur(12px);
  opacity:0;
  animation:pmIntroGlow 1.3s ease 2.55s forwards;
}

@keyframes pmLogoImage1{
  0%{opacity:0;transform:translateY(12px) scale(.92);filter:blur(9px) drop-shadow(0 0 0 rgba(230,180,73,0))}
  68%{opacity:1;filter:blur(0) drop-shadow(0 0 18px rgba(230,180,73,.22))}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0) drop-shadow(0 0 14px rgba(230,180,73,.17))}
}
@keyframes pmPrimeImage1{
  0%{opacity:0;transform:translateX(-15px) translateY(10px);filter:blur(10px)}
  72%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translateX(0) translateY(0);filter:blur(0)}
}
@keyframes pmMobilityImage1{
  0%{opacity:0;transform:translateX(-15px) translateY(10px);filter:blur(10px)}
  72%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translateX(0) translateY(0);filter:blur(0)}
}
@keyframes pmIntroGoldLine{
  0%{opacity:0;transform:translateX(-50%) scaleX(.08)}
  40%{opacity:1}
  100%{opacity:.82;transform:translateX(-50%) scaleX(1)}
}
@keyframes pmIntroGlow{
  from{opacity:0;transform:translateX(-50%) scale(.7)}
  to{opacity:1;transform:translateX(-50%) scale(1)}
}

/* v24の縦並びイントロ指定を打ち消す */
.pm-intro-inner{display:none !important;}

/* スマホでは1行を維持しつつ少し縮小 */
@media(max-width:760px){
  .pm-intro-scene{min-height:250px !important;}
  .pm-intro-brand{gap:10px !important; transform:scale(.78);}
  .pm-intro-logo{width:105px !important;}
  .pm-prime,.pm-mobility{font-size:52px !important;}
  .pm-intro-light{bottom:52px !important;width:78vw !important;}
}

/* 動きを減らす設定 */
@media(prefers-reduced-motion:reduce){
  .pm-intro-logo,
  .pm-intro-word,
  .pm-intro-light{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}


/* =========================================================
   v28 CINEMATIC LUXURY INTRO
   ロゴ中央 → Prime → Mobility → トップ
   ========================================================= */

.pm-intro{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 50% 52%, rgba(19,52,38,.22), transparent 37%),
    radial-gradient(circle at 50% 62%, rgba(164,101,20,.12), transparent 42%),
    linear-gradient(180deg,#010201 0%,#030705 58%,#010201 100%) !important;
  transition:opacity .95s ease, visibility .95s ease !important;
}

.pm-intro-ambient{
  position:absolute;
  inset:-15%;
  background:
    radial-gradient(circle at 50% 52%,rgba(255,204,92,.10),transparent 22%),
    radial-gradient(circle at 25% 65%,rgba(11,75,50,.12),transparent 26%),
    radial-gradient(circle at 76% 38%,rgba(116,72,18,.10),transparent 24%);
  filter:blur(30px);
  animation:pmAmbient 5.8s ease-in-out infinite alternate;
}

.pm-intro-stars{
  position:absolute;
  inset:0;
  opacity:.40;
  background-image:
    radial-gradient(circle, rgba(239,192,92,.70) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgba(255,231,170,.35) 0 1px, transparent 1.3px);
  background-size:110px 110px,170px 170px;
  background-position:10% 20%,67% 44%;
  mask-image:linear-gradient(to bottom,transparent 5%,black 35%,black 72%,transparent 96%);
  animation:pmStarsDrift 14s linear infinite;
}

.pm-intro-stage{
  position:relative !important;
  z-index:3 !important;
  width:min(92vw,1200px) !important;
  min-height:430px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.pm-emblem-wrap{
  position:absolute;
  left:50%;
  top:48%;
  width:clamp(150px,14vw,220px);
  aspect-ratio:1/1;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  opacity:0;
  animation:
    pmEmblemIn 1.15s cubic-bezier(.18,.72,.24,1) .15s forwards,
    pmEmblemShift 1.05s cubic-bezier(.22,.61,.36,1) 1.42s forwards;
}

.pm-intro-logo{
  position:relative;
  z-index:3;
  width:84% !important;
  height:auto !important;
  margin:0 !important;
  object-fit:contain !important;
  opacity:0;
  transform:scale(.84);
  filter:
    drop-shadow(0 0 8px rgba(229,177,65,.18))
    drop-shadow(0 0 26px rgba(229,177,65,.10));
  animation:pmLogoBloom 1.15s cubic-bezier(.18,.72,.24,1) .22s forwards !important;
}

.pm-emblem-ring{
  position:absolute;
  inset:5%;
  border:1px solid rgba(222,170,65,.0);
  border-radius:50%;
  box-shadow:0 0 0 rgba(221,170,65,0);
  animation:pmRingBloom 1.2s ease .30s forwards;
}

.pm-emblem-glow{
  position:absolute;
  width:105%;
  height:44%;
  bottom:-4%;
  background:radial-gradient(ellipse,rgba(255,193,66,.32),rgba(188,115,18,.09) 38%,transparent 72%);
  filter:blur(18px);
  opacity:0;
  animation:pmGlowBloom 1.2s ease .35s forwards;
}

.pm-wordmark{
  position:absolute;
  left:50%;
  top:48%;
  transform:translate(-35%,-50%);
  display:flex;
  align-items:baseline;
  gap:22px;
  white-space:nowrap;
  pointer-events:none;
}

.pm-intro-word{
  display:inline-block !important;
  font-family:"Monotype Corsiva","Segoe Script","Apple Chancery","Lucida Handwriting",cursive !important;
  font-style:italic !important;
  font-weight:400 !important;
  letter-spacing:-.035em !important;
  line-height:.92 !important;
  background:linear-gradient(180deg,#fff0b2 0%,#e8b852 38%,#a86b19 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:#d8a442 !important;
  opacity:0;
  filter:blur(10px);
  transform:translateY(12px);
  will-change:opacity,transform,filter;
}

.pm-prime{
  font-size:clamp(72px,8.4vw,136px) !important;
  animation:pmWordReveal 1.0s cubic-bezier(.22,.61,.36,1) 1.62s forwards !important;
}

.pm-mobility{
  font-size:clamp(72px,8.4vw,136px) !important;
  margin:0 !important;
  animation:pmWordReveal 1.0s cubic-bezier(.22,.61,.36,1) 2.45s forwards !important;
}

.pm-intro-sweep{
  position:absolute;
  left:50%;
  top:69%;
  width:min(620px,64vw);
  height:1px;
  transform:translateX(-50%) scaleX(.03);
  transform-origin:center;
  opacity:0;
  background:linear-gradient(90deg,transparent,#a86b19 12%,#ffd878 50%,#a86b19 88%,transparent);
  box-shadow:
    0 0 8px rgba(255,198,73,.50),
    0 0 24px rgba(255,184,42,.20);
  animation:pmSweep 1.25s cubic-bezier(.22,.61,.36,1) 2.92s forwards;
}

.pm-intro-caption{
  position:absolute;
  left:50%;
  top:73%;
  transform:translateX(-50%) translateY(6px);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(9px,.75vw,12px);
  letter-spacing:.34em;
  color:rgba(227,184,92,.72);
  white-space:nowrap;
  opacity:0;
  animation:pmCaptionIn .8s ease 3.24s forwards;
}

.pm-intro.is-exiting .pm-intro-stage{
  animation:pmStageExit .85s ease forwards;
}

/* トップへのつなぎ */
body.pm-home-enter .hero{
  animation:pmHeroSceneIn 1.15s cubic-bezier(.22,.61,.36,1) both;
}
body.pm-home-enter .hero-content{
  animation:pmHomeContentIn 1.05s cubic-bezier(.22,.61,.36,1) .08s both;
}
body.pm-home-enter .hero-car-wrap{
  animation:
    pmHomeCarIn 1.18s cubic-bezier(.22,.61,.36,1) .10s both,
    pmHeroFloat 7s ease-in-out 1.28s infinite !important;
}

@keyframes pmEmblemIn{
  from{opacity:0;transform:translate(-50%,-50%) scale(.90)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
@keyframes pmEmblemShift{
  from{left:50%}
  to{left:25%}
}
@keyframes pmLogoBloom{
  0%{opacity:0;transform:scale(.84);filter:blur(8px) drop-shadow(0 0 0 rgba(229,177,65,0))}
  68%{opacity:1;filter:blur(0) drop-shadow(0 0 20px rgba(229,177,65,.24))}
  100%{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 12px rgba(229,177,65,.15))}
}
@keyframes pmRingBloom{
  0%{border-color:rgba(222,170,65,0);transform:scale(.72);opacity:0}
  45%{border-color:rgba(222,170,65,.48);opacity:1}
  100%{border-color:rgba(222,170,65,.14);transform:scale(1.10);opacity:.55;box-shadow:0 0 34px rgba(221,170,65,.08)}
}
@keyframes pmGlowBloom{
  from{opacity:0;transform:scale(.65)}
  to{opacity:1;transform:scale(1)}
}
@keyframes pmWordReveal{
  0%{opacity:0;filter:blur(10px);transform:translateY(12px) scale(.985)}
  72%{opacity:1;filter:blur(0)}
  100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}
}
@keyframes pmSweep{
  0%{opacity:0;transform:translateX(-50%) scaleX(.03)}
  35%{opacity:1}
  100%{opacity:.86;transform:translateX(-50%) scaleX(1)}
}
@keyframes pmCaptionIn{
  from{opacity:0;transform:translateX(-50%) translateY(6px)}
  to{opacity:.82;transform:translateX(-50%) translateY(0)}
}
@keyframes pmStageExit{
  from{opacity:1;transform:scale(1)}
  to{opacity:0;transform:scale(1.025);filter:blur(3px)}
}
@keyframes pmAmbient{
  from{transform:scale(1) translateY(0)}
  to{transform:scale(1.04) translateY(-1.2%)}
}
@keyframes pmStarsDrift{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-30px,18px,0)}
}
@keyframes pmHeroSceneIn{
  from{opacity:0;filter:blur(4px)}
  to{opacity:1;filter:blur(0)}
}

/* 旧イントロ指定を無効化 */
.pm-intro-inner,
.pm-intro-brand,
.pm-intro-light{display:none !important;}

@media(max-width:760px){
  .pm-intro-stage{min-height:330px !important;}
  .pm-emblem-wrap{
    width:120px;
    animation:
      pmEmblemIn 1.15s cubic-bezier(.18,.72,.24,1) .15s forwards,
      pmEmblemShiftMobile 1.05s cubic-bezier(.22,.61,.36,1) 1.42s forwards;
  }
  .pm-wordmark{
    transform:translate(-24%,-50%);
    gap:8px;
  }
  .pm-prime,.pm-mobility{font-size:50px !important;}
  .pm-intro-sweep{top:67%;width:74vw;}
  .pm-intro-caption{top:71%;font-size:8px;letter-spacing:.22em;}
}
@keyframes pmEmblemShiftMobile{
  from{left:50%}
  to{left:18%}
}

@media(prefers-reduced-motion:reduce){
  .pm-emblem-wrap,
  .pm-intro-logo,
  .pm-intro-word,
  .pm-intro-sweep,
  .pm-intro-caption{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
  .pm-emblem-wrap{left:20% !important;transform:translate(-50%,-50%) !important;}
}


/* =========================================================
   v29 - cursive terminal clipping fix
   ========================================================= */
.pm-wordmark{
  overflow:visible !important;
  padding:18px 42px 22px 16px !important;
  box-sizing:content-box !important;
}

.pm-intro-word{
  overflow:visible !important;
  padding-right:.12em !important;
  padding-bottom:.08em !important;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}

.pm-prime{
  margin-right:.03em !important;
}

.pm-mobility{
  margin-right:.08em !important;
}

/* Ensure the complete script glyphs remain inside the viewport */
@media(min-width:761px){
  .pm-wordmark{
    max-width:72vw !important;
    transform:translate(-34%,-50%) !important;
  }
  .pm-prime,.pm-mobility{
    font-size:clamp(68px,7.7vw,126px) !important;
  }
}

@media(max-width:760px){
  .pm-wordmark{
    padding-right:24px !important;
    max-width:78vw !important;
  }
  .pm-prime,.pm-mobility{
    font-size:46px !important;
  }
}

/* v32: user-requested title color only */
.requested-gold-title{color:var(--gold2) !important;}


/* v34 LATEST PC — v32を土台に指定箇所のみ修正 */

/* 下段の各枠内だけ黒背景 */
.company-final .company-info-final,
.company-final .location-card,
.company-final .official-card,
.company-final .brand-panel-final{
  background:#050505 !important;
}

/* 右端ロゴ：切り抜き感をなくした透明ロゴ＋縦型文字 */
.brand-panel-final{
  background:#050505 !important;
  overflow:hidden !important;
}
.brand-panel-final .brand-final-mark{
  display:block !important;
  width:min(76%,220px) !important;
  height:auto !important;
  max-height:190px !important;
  object-fit:contain !important;
  margin:0 auto 8px !important;
  filter:none !important;
}
.brand-panel-final .brand-final-name{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  color:var(--gold2) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:clamp(28px,2.25vw,43px) !important;
  line-height:1.08 !important;
}
.brand-panel-final p{
  margin:22px 0 0 !important;
  color:#fff !important;
  font-size:clamp(12px,1vw,16px) !important;
  line-height:1.85 !important;
  font-weight:700 !important;
}

/* レンタカー特約の案内を読みやすく */
.price-special-note{
  padding:13px 15px !important;
  margin-top:11px !important;
}
.price-special-note strong{
  font-size:14px !important;
  line-height:1.45 !important;
  margin-bottom:5px !important;
}
.price-special-note p{
  font-size:12px !important;
  line-height:1.72 !important;
  color:#f4f1e9 !important;
}

/* ご利用の流れ：高さを短くし、文字を読みやすく */
.flow{
  padding:11px 15px !important;
  margin-top:12px !important;
}
.flow h3{
  margin:0 0 7px !important;
  font-size:22px !important;
}
.flow-grid article{
  min-height:102px !important;
  padding:8px 13px !important;
}
.flow-top{
  margin-bottom:2px !important;
}
.flow-icon{
  width:29px !important;
  height:29px !important;
}
.flow-grid b{
  font-size:25px !important;
}
.flow-grid h4{
  margin:3px 0 4px !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
.flow-grid article p{
  margin:0 !important;
  font-size:11px !important;
  line-height:1.48 !important;
  color:#f0eee8 !important;
}


/* =========================================================
   v35 MOBILE FIX ONLY
   PC版はv34のまま。スマホ表示だけ調整。
   ========================================================= */
.mobile-title-break{display:none;}
.mobile-gold-line{display:inline;}

@media(max-width:760px){

  /* 1) オープニングの Prime Mobility が右にはみ出さない */
  .pm-intro-stage{
    width:100vw !important;
    max-width:100vw !important;
    min-height:330px !important;
    overflow:hidden !important;
  }
  .pm-emblem-wrap{
    width:104px !important;
    animation:
      pmEmblemIn 1.15s cubic-bezier(.18,.72,.24,1) .15s forwards,
      pmEmblemShiftMobileV35 1.05s cubic-bezier(.22,.61,.36,1) 1.42s forwards !important;
  }
  .pm-wordmark{
    left:31% !important;
    top:48% !important;
    transform:translateY(-50%) !important;
    gap:6px !important;
    width:auto !important;
    max-width:67vw !important;
    padding:14px 14px 18px 4px !important;
    white-space:nowrap !important;
  }
  .pm-prime,
  .pm-mobility{
    font-size:34px !important;
    margin-right:0 !important;
    padding-right:.06em !important;
  }
  .pm-intro-sweep{
    top:66% !important;
    width:72vw !important;
  }
  .pm-intro-caption{
    top:70% !important;
    font-size:7px !important;
    letter-spacing:.18em !important;
  }

  /* 2) 大見出しを自然な2行に固定 */
  .mobile-title-break{
    display:block !important;
  }
  .hero h1.hero-title-new{
    font-size:clamp(31px,8.5vw,39px) !important;
    line-height:1.48 !important;
    letter-spacing:.01em !important;
  }
  .hero-title-new>span:first-child{
    line-height:1.48 !important;
  }

  /* 3) 連携文で「る」だけ次の行に落ちないようにする */
  .gold-copy{
    font-size:13px !important;
    line-height:1.85 !important;
    letter-spacing:.01em !important;
  }
  .mobile-gold-line{
    display:block !important;
  }
  .gold-copy > span:nth-child(2){
    white-space:nowrap !important;
  }

  /* 4) 固定の電話/LINEバーと本文が重なりにくい余白 */
  body{
    padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important;
  }
  .hero{
    padding-bottom:calc(118px + env(safe-area-inset-bottom)) !important;
  }
  .mobile-bar{
    height:64px !important;
    padding-bottom:env(safe-area-inset-bottom);
    box-sizing:content-box !important;
  }
  .actions{
    margin-bottom:18px !important;
  }
}

@keyframes pmEmblemShiftMobileV35{
  from{left:50%}
  to{left:17%}
}


/* v36: 車両写真上の説明文だけPCで1行表示 */
@media (min-width:761px){
  .rental-head > p{
    max-width:none !important;
    white-space:nowrap !important;
    flex-shrink:0 !important;
  }
}
