

.hero { position: relative; height: 200vh; }
.hero__stage { position: sticky; top: 0; height: 100vh; overflow: hidden; background: #3d5663; }
.hero__vid { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__move { position: absolute; inset: 0; color: #fff; will-change: transform; }
.hero__tag { position: absolute; left: 6rem; top: calc(50% - 2.2rem); width: 19rem; font: italic 500 1.8rem/2.2rem var(--serif); }
.hero__film { position: absolute; left: 119.2rem; top: calc(50% - 2.2rem); width: 18.8rem; height: 4.4rem; color: #fff; display: flex; align-items: center; justify-content: space-between; padding: 0 3.8rem 0 3.2rem; border-top: 1px solid rgba(255,255,255,.3); border-bottom: 1px solid rgba(255,255,255,.3); transition: height .6s var(--ease2), top .6s var(--ease2), border-color .4s, padding .6s var(--ease2); overflow: hidden; border-radius: 2px; }
.hero__film::before { content: ""; position: absolute; inset: 0; background: url(../img/map-film.jpg) center/cover; opacity: 0; transform: scale(1.15); transition: opacity .5s var(--ease2), transform .8s var(--ease2); }
.hero__film span, .hero__film svg { position: relative; }
.hero__film svg { width: 0.9rem; height: 1.1rem; }
.hero__film:hover { height: 21.2rem; top: calc(50% - 10.6rem); border-color: transparent; padding: 0 4.8rem 0 3.8rem; }
.hero__film:hover::before { opacity: 1; transform: none; }
.hero__h1 { position: absolute; left: 0; right: 0; bottom: 2.4rem; text-align: center; font: 400 25.6rem/25.6rem var(--cond); text-transform: uppercase; will-change: filter, transform; }
.hero__clouds { position: absolute; left: 0; right: 0; top: 131vh; z-index: 2; pointer-events: none; }
.hero__clouds .c1 { position: absolute; left: 0; top: 0; width: 100%; opacity: .9; -webkit-mask-image: linear-gradient(#000 55%, transparent 95%); mask-image: linear-gradient(#000 55%, transparent 95%); }
.hero__clouds .c2 { position: absolute; left: 0; top: 16rem; width: 100%; }
.hero__clouds .c3 { position: absolute; left: 0; right: 0; top: 70rem; height: 70rem; background: #fff; }

.intro { position: relative; z-index: 3; height: 78.6rem; }
.intro__label { position: absolute; left: 48.4rem; top: 32rem; color: var(--navy); }
.intro__label em { font: italic 500 1.8rem/2.2rem var(--serif); white-space: nowrap; }
.intro__scr { position: absolute; left: -6.8rem; top: -4.1rem; width: 23rem; color: rgba(31,42,68,.55); }
.intro__big { position: absolute; left: 48.4rem; top: 37.5rem; width: 70.8rem; font: 400 4.2rem/4.2rem var(--serif); text-transform: uppercase; text-indent: 23.6rem; color: var(--navy); }
.paint .w { color: #dfe2e8; transition: color .35s linear; }
.paint .w.lit { color: var(--navy); }

.season { position: relative; z-index: 3; height: 150vh; overflow: hidden; }
.season__img { position: absolute; left: 0; right: 0; top: 0; height: 100%; overflow: hidden; }
.season__img img { position: absolute; left: 0; top: -8%; width: 100%; height: 116%; object-fit: cover; will-change: transform; }
.season__img::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 45%; background: linear-gradient(#fff 0%, #fff 30%, rgba(255,255,255,.6) 65%, rgba(255,255,255,0) 100%); }
.season__txt { position: absolute; left: 24.8rem; top: 32rem; width: 23.6rem; z-index: 2; will-change: transform; }
.season__txt h4 { font: 500 1.8rem/2.16rem var(--cond); text-transform: uppercase; }
.season__txt p { margin-top: 2rem; font-size: 1.4rem; line-height: 2.1rem; font-weight: 500; }

.ttl { position: relative; z-index: 3; height: 60vh; background: #fff; }
.ttl__h { position: absolute; left: 0; right: 0; top: 31.4rem; text-align: center; font: 400 6rem/6rem var(--serif); text-transform: uppercase; }
.ttl__scr { position: absolute; left: 47.4rem; top: 38.2rem; width: 52.9rem; color: var(--navy); }

.trips { position: relative; z-index: 45; height: 76.5rem; }
.trips__row { position: absolute; left: 1.2rem; right: 1.2rem; top: 0; bottom: 0; display: flex; }
.trip { position: relative; flex: 0 0 17.7rem; overflow: hidden; color: #fff; transition: flex-basis .9s var(--ease2); }
.trip.on { flex-basis: 70.8rem; }
.trip img { position: absolute; top: 0; left: 50%; width: 70.8rem; height: 100%; object-fit: cover; transform: translateX(-50%) scale(1.12); filter: blur(10px); transition: filter .9s var(--ease2), transform .9s var(--ease2); }
.trip.on img { filter: none; transform: translateX(-50%); }
.trip::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 40%; background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.12)); pointer-events: none; }
.trip__in { position: absolute; left: 4.4rem; top: 0; width: 60rem; height: 100%; z-index: 2; opacity: 0; transition: opacity .35s; }
.trip.on .trip__in { opacity: 1; transition: opacity .6s .35s; }
.trip h3 { position: absolute; top: 4.4rem; font: italic 500 4.2rem/4.2rem var(--serif); }
.trip__meta { position: absolute; top: 61.3rem; display: flex; align-items: center; font-size: 1.6rem; }
.trip__meta b { font-weight: 600; }
.trip__meta i { width: 1px; height: 1.6rem; background: rgba(255,255,255,.7); margin: 0 1.8rem; }
.trip p { position: absolute; top: 65.3rem; width: 34.4rem; font-size: 1.6rem; line-height: 2.24rem; font-weight: 500; }

.quote { position: relative; z-index: 3; height: 95.6rem; }
.quote__in { position: absolute; left: 48.4rem; top: 30.4rem; width: 47.2rem; color: var(--navy); }
.quote__mark { display: block; font: italic 500 2.6rem/2.6rem var(--serif); }
.quote__txt { margin-top: 0.3rem; font: italic 500 2.2rem/2.64rem var(--serif); text-indent: 8rem; }
.quote__dash { display: block; margin-top: 2rem; font-size: 1.4rem; }
.quote__sig { display: block; margin: 0.4rem 0 0 -2rem; width: 37.8rem; height: 6.9rem; color: var(--navy); }
.quote__name { margin-top: 2.6rem; font-size: 1.4rem; font-weight: 500; line-height: 2.1rem; }
.quote__role { font-size: 1.4rem; font-weight: 500; line-height: 2.1rem; color: #8c93a0; }

.camps { height: 949rem; }
.camps__pin { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.camps__p1 { position: absolute; inset: 0; overflow: hidden; will-change: clip-path; }
.camps__p1 img { width: 100%; height: 100%; object-fit: cover; }
.camps__title { position: absolute; left: 0; right: 0; top: calc(50vh - max(4.4rem, 44px)); text-align: center; font: 400 max(8.2rem, 82px)/max(8.2rem, 82px) var(--serif);  text-transform: uppercase; color: #fff; }
.camps__polar { position: absolute; left: 95.6rem; top: calc(50vh - 14.4rem); width: 23.6rem; color: #fff; transition: opacity .6s var(--ease); }
.camps__polar h4 { font: 500 1.8rem/2.16rem var(--cond); text-transform: uppercase; }
.camps__polar p { margin-top: 1.2rem; font-size: 1.4rem; line-height: 2.1rem; font-weight: 500; }
.camps__polar.off { opacity: 0; }
.camps__ice { position: absolute; inset: 0; }
.camps__ice > div { position: absolute; top: 0; bottom: 0; overflow: hidden; }
.camps__ice > div img { position: absolute; top: 0; height: 100%; width: 100vw; max-width: none; object-fit: cover; }
.camps__track { position: absolute; z-index: 3; left: 0; top: calc(50vh - 27rem); height: 54rem; will-change: transform; }
.ccard { position: absolute; top: 0; width: 72rem; height: 54rem; padding: 2rem; border-radius: 2px; background: rgba(255,255,255,.14); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; }
.ccard:nth-child(1) { left: 0; } .ccard:nth-child(2) { left: 92rem; } .ccard:nth-child(3) { left: 184rem; }
.ccard__img { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 1px; }
.ccard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.ccard:hover .ccard__img img { transform: scale(1.05); }
.ccard__txt { position: absolute; left: 2rem; right: 2rem; top: 2rem; bottom: 2rem; text-align: center; }
.ccard__txt h3 { position: absolute; left: 0; right: 0; top: 4.2rem; font: 400 4.2rem/4.2rem var(--serif); text-transform: uppercase; }
.ccard__txt p { position: absolute; left: 10rem; right: 10rem; top: 11.6rem; font-size: 1.4rem; line-height: 2rem; font-weight: 500; }
.ccard__txt span { position: absolute; left: 0; right: 0; top: 43.8rem; font: 500 1.4rem/1.96rem var(--cond); }
.camps__p3 { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; will-change: transform; }
.camps__p3 > img { width: 100vw; height: 100%; object-fit: cover; }
.cn { position: absolute; left: 0; right: 0; top: calc(50vh - 18rem); text-align: center; color: #fff; }
.cn img { width: 11.8rem; margin: 0 auto; }
.cn span { display: block; margin-top: 5rem; font: italic 500 3.2rem/3.2rem var(--serif); }
.cn p { width: 47rem; margin: 5.4rem auto 0; font: italic 500 3.2rem/3.85rem var(--serif); }
.cn i { display: block; font-style: normal; margin-top: 1.4rem; font-size: 1.4rem; }
.cn b { display: block; margin-top: 1.6rem; font-size: 1.4rem; font-weight: 600; letter-spacing: 0.245rem; text-transform: uppercase; }

.cpt { height: calc(200vh + 20rem); margin-top: -100vh; }
.cpt__bg { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.cpt__bg img { width: 100%; height: 100%; object-fit: cover; }
.cpt__q { z-index: 2; }
.cpt__word { position: absolute; left: 0; right: 0; top: 0; z-index: 2; text-align: center; font: 400 32rem/32rem var(--cond); color: rgba(255,255,255,.55); white-space: nowrap; will-change: transform; letter-spacing: 0.4rem; }
.cpt__mist { position: absolute; left: 0; right: 0; bottom: 0; height: 120rem; z-index: 3; background: linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,.75) 80%, #fff 98%); }

.toend { height: 42rem; background: #fff; margin-top: -1px; }
.toend__line { position: absolute; left: 1.2rem; right: 1.2rem; top: 17.3rem; border-top: 1px dashed #8a8f99; }
.toend__co { position: absolute; top: 18.3rem; font: 400 1.4rem/1.75rem var(--cond); color: #8a8f99; }
.toend__co b, .toend__co span { display: block; font-weight: 400; }
.toend__co.l { left: 1.2rem; } .toend__co.r { right: 1.2rem; text-align: right; }
.toend h3 { position: absolute; left: 0; right: 0; top: 18.5rem; width: 50rem; margin: 0 auto; text-align: center; font: 400 4.2rem/4.2rem var(--serif); text-transform: uppercase; }
.toend p { position: absolute; left: 0; right: 0; top: 29rem; width: 46.4rem; margin: 0 auto; text-align: center; font-size: 1.4rem; line-height: 2.1rem; font-weight: 500; color: var(--navy); opacity: .55; }

.map { height: 172.1rem; background: #090b10; overflow: hidden; }
.map__img { position: absolute; left: 0; top: 0; width: 100%; height: 172.1rem; object-fit: cover; }

.map__path { position: absolute; left: 60.8rem; top: 27.5rem; width: 11.7rem; height: 58.9rem; }
.map__path svg { width: 100%; height: 100%; overflow: visible; }
.map__path path { stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.map__dot { position: absolute; left: 0; top: 0; width: 0; height: 0; }
.map__dot i { position: absolute; left: 50%; top: 50%; border-radius: 50%; transform: translate(-50%,-50%); }
.map__dot i:nth-child(1) { width: 1.4rem; height: 1.4rem; background: #6af0ff; box-shadow: 0 0 1.2rem rgba(106,240,255,.8); }
.map__dot i:nth-child(2) { width: 3rem; height: 3rem; border: 1px solid rgba(106,240,255,.6); }
.map__dot i:nth-child(3) { width: 4.8rem; height: 4.8rem; border: 1px solid rgba(106,240,255,.3); animation: ping 2.2s ease-out infinite; }
@keyframes ping { 0% { transform: translate(-50%,-50%) scale(.5); opacity: 1; } 100% { transform: translate(-50%,-50%) scale(1.3); opacity: 0; } }
.map__pin { position: absolute; width: 0.7rem; height: 0.7rem; border-radius: 50%; transform: translate(-50%,-50%); }
.map__pin.a { left: 60.4%; top: 0; background: #6af0ff; }
.map__pin.b { left: 99%; top: 100%; background: #fff; }
.map__lbl { position: absolute; text-align: center; width: 30rem; margin-left: -15rem; }
.map__lbl em { display: block; font: italic 500 1.8rem/2.2rem var(--serif); color: #8e939c; }
.map__lbl b { display: block; margin-top: 0.8rem; font: 400 1.6rem/2rem var(--cond); text-transform: uppercase; color: #fff; }
.map__lbl.ct { left: 75.8rem; top: 31rem; }
.map__lbl.wf { left: 76rem; top: 89.5rem; }
.map__lbl.wf em { color: #3a4560; } .map__lbl.wf b { color: var(--navy); }
.map__ocean { position: absolute; font: 400 1.4rem/1.9rem var(--cond); text-transform: uppercase; color: rgba(255,255,255,.32); text-align: center; }
.map__ocean.sa { left: 35.5rem; top: 60.2rem; } .map__ocean.io { left: 100.8rem; top: 62.8rem; }
.map__img, .map__path, .map__lbl, .map__ocean { will-change: transform; }
.map__stick { position: absolute; left: 4rem; top: 0; width: 44.5rem; will-change: transform; }
.map__card { position: relative; padding: 3.2rem 2rem; background: rgba(20,22,30,.55); border: 1px solid rgba(255,255,255,.08); border-radius: 2px; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; }
.map__card > div { display: flex; flex-direction: column; gap: .5rem; }
.map__card > div + div { margin-top: 2.3rem; padding-top: 2.4rem; border-top: 1px dashed rgba(255,255,255,.3); }
.map__card em { display: block; font: italic 500 1.8rem/2.16rem var(--serif); }
.map__card h3 { font: 400 4.2rem/6.3rem var(--sans); text-transform: uppercase; }
.map__stick2 { position: absolute; left: 95.5rem; top: 0; width: 33rem; will-change: transform; }
.map__vid { position: relative; display: flex; align-items: center; justify-content: center; gap: 7rem; width: 33rem; height: 19.5rem; padding: 1rem; background: rgba(20,22,30,.7); border: 1px solid rgba(255,255,255,.08); border-radius: 2px; color: #fff; overflow: hidden; }
.map__vid img { position: absolute; left: 1rem; top: 1rem; width: calc(100% - 2rem); height: calc(100% - 2rem); object-fit: cover; transition: transform .8s var(--ease); }
.map__vid:hover img { transform: scale(1.04); }
.map__vid span, .map__vid svg { position: relative; }
.map__vid svg { width: 0.9rem; height: 1.1rem; }

.map + .cta { margin-top: 0; }

@media (max-width: 767px) {
  .hero { height: 160rem; }
  .hero__tag { left: 0; right: 0; width: 22rem; margin: 0 auto; top: 44.6rem; text-align: center; font-size: 1.9rem; line-height: 2.4rem; }
  .hero__film { left: 6rem; width: 25.6rem; top: 65.2rem; height: 4.4rem; padding: 0 4rem 0 3.4rem; }
  .hero__film:hover { height: 4.4rem; top: 65.2rem; }
  .hero__h1 { font-size: 8.9rem; line-height: 8.9rem; bottom: 1.6rem; }
  .hero__clouds { top: 100rem; }
  .intro { height: 60rem; }
  .intro__label { left: 6rem; top: 2rem; }
  .intro__scr { left: -6rem; top: -3.4rem; width: 20rem; }
  .intro__big { left: 6rem; top: 8rem; width: 29.4rem; font-size: 2.9rem; line-height: 2.6rem; text-indent: 7.6rem; }
  .season { height: 108rem; }
  .season__txt { left: 6rem; top: 0; width: 25.8rem; }
  .season__txt p { font-size: 1.5rem; line-height: 2.1rem; margin-top: 2.4rem; }
  .season__img { top: 42rem; height: 66rem; }
  .season__img::after { height: 40%; }
  .ttl { height: 32rem; }
  .ttl__h { top: 14rem; font-size: 4.2rem; line-height: 4.2rem; }
  .ttl__scr { left: 5rem; top: 18.5rem; width: 27rem; }
  .trips { height: auto; }
  .trips__row { position: static; display: block; padding: 0 1.2rem; }
  .trip { display: block; height: 65rem; margin-bottom: 1rem; }
  .trip img { width: 100%; left: 0; transform: none; filter: none; }
  .trip.on img, .trip img { transform: none; }
  .trip__in { opacity: 1; left: 2rem; width: auto; right: 2rem; }
  .trip h3 { top: 2.4rem; font-size: 3.6rem; line-height: 3.6rem; }
  .trip__meta { top: auto; bottom: 16rem; }
  .trip p { top: auto; bottom: 3.6rem; width: auto; font-size: 1.5rem; line-height: 2.2rem; }
  .quote { height: 66rem; }
  .quote__in { left: 6rem; top: 10rem; width: 29rem; }
  .quote__txt { font-size: 2.2rem; line-height: 2.4rem; text-indent: 4rem; }
  .quote__sig { width: 28rem; height: 5.1rem; margin-left: -1rem; }
  .camps { height: 700rem; }
  .camps__title { font-size: 4rem; line-height: 4rem; top: calc(50vh - 2rem); }
  .camps__polar { left: 6rem; width: 25.6rem; top: auto; bottom: 6rem; }
  .camps__track { top: calc(50vh - 20rem); height: 40rem; }
  .ccard { width: 25.6rem; height: 40rem; padding: 1rem; }
  .ccard:nth-child(2) { left: 29.6rem; } .ccard:nth-child(3) { left: 59.2rem; }
  .ccard__txt { left: 1rem; right: 1rem; top: 1rem; bottom: 1rem; }
  .ccard__txt h3 { top: 3.6rem; font-size: 2.6rem; line-height: 2.6rem; }
  .ccard__txt p { left: 1.6rem; right: 1.6rem; top: 7.6rem; font-size: 1.3rem; line-height: 1.8rem; }
  .ccard__txt span { top: auto; bottom: 3rem; }
  .cn { top: calc(50vh - 14rem); }
  .cn span { margin-top: 3rem; }
  .cn p { width: 30rem; margin-top: 2.4rem; font-size: 2.2rem; line-height: 2.8rem; }
  .cpt { height: 150rem; }
  .cpt__word { font-size: 11rem; line-height: 10rem; white-space: normal; padding: 0 2rem; }
  .cpt__mist { height: 80rem; }
  .toend { height: 38rem; }
  .toend__line { top: 1rem; }
  .toend__co { top: 1.6rem; font-size: 1.3rem; }
  .toend h3 { top: 11.4rem; width: 26rem; font-size: 3rem; line-height: 2.6rem; }
  .toend p { top: 19rem; width: 26rem; font-size: 1.5rem; line-height: 2.1rem; }
  .map { height: 90rem; }
  .map__img { opacity: 0; }
  .map__path { left: 15.5rem; top: 6.4rem; width: 3.2rem; height: 15.4rem; }
  .map__lbl { width: 16rem; margin-left: -8rem; }
  .map__lbl em { font-size: 1rem; line-height: 1.2rem; }
  .map__lbl b { font-size: 1rem; line-height: 1.2rem; margin-top: .6rem; }
  .map__lbl.ct { left: 22.7rem; top: 7.4rem; }
  .map__lbl.wf { left: 21rem; top: 22.4rem; }
  .map__lbl.wf em { color: rgba(255,255,255,.35); } .map__lbl.wf b { color: #3a4f7a; }
  .map__ocean { font-size: 1rem; line-height: 1.3rem; }
  .map__ocean.sa { left: 3.8rem; top: 14.8rem; } .map__ocean.io { left: 28rem; top: 15.8rem; }
  .map__stick { left: 1.2rem; right: 1.2rem; width: auto; top: 44rem; bottom: 0; }
  .map__card { position: static; }
  .map__card h3 { font-size: 3rem; line-height: 4.2rem; }
  .map__stick2 { display: none; }
  .map + .cta { margin-top: 0; }
}



.hero__stage { background: #1b2c38; }
.hero__stage::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(rgba(6,14,22,.16), rgba(6,14,22,.34) 52%, rgba(6,14,22,.60)); pointer-events: none; }
.hero__move { z-index: 2; }

.hero__tag, .hero__h1, .hero__film span { text-shadow: 0 1px 14px rgba(6,14,22,.6), 0 0 3px rgba(6,14,22,.35); }

.hero__clouds .c3::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 82rem; background: linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,.28) 40%, rgba(255,255,255,.72) 72%, #fff 100%); }
.hero__film::before { background: url(../img/map-film.jpg) center/cover; }

html[lang="ja"] .hero__h1 { font-family: var(--sans); font-weight: 500; font-size: 20.6rem; line-height: 20.6rem; letter-spacing: -0.02em; }
html[lang="ja"] .hero__tag { width: 24rem; font-size: 1.9rem; line-height: 3rem; }
html[lang="ja"] .intro__big { font-size: 3.8rem; line-height: 6.1rem; text-indent: 7.6rem; }
html[lang="ja"] .ttl__h { font-size: 5.2rem; }
html[lang="ja"] .trip h3 { font-size: 3.6rem; line-height: 4.8rem; }
html[lang="ja"] .ccard__txt h3 { font-size: 3.4rem; line-height: 4.4rem; }
html[lang="ja"] .camps__title { font-size: 6.4rem; }
html[lang="ja"] .toend h3 { font-size: 3.6rem; width: 62rem; }
html[lang="ja"] .cta h3 { font-size: 3.6rem; line-height: 5.2rem; }
html[lang="ja"] .map__card h3 { font-size: 3.4rem; line-height: 6.3rem; }
html[lang="ja"] .cn p { font-size: 2.6rem; line-height: 4.4rem; width: 62rem; }

html[lang="ja"] .cpt__word { font-family: var(--sans); font-weight: 400; letter-spacing: 0.02em; }
@media (min-width: 768px) {
  html[lang="ja"] .cpt__word { font-size: 16rem; line-height: 16rem; }
  html[lang="en"] .cpt__word { font-size: 25rem; line-height: 25rem; }
}
@media (max-width: 767px) {
  html[lang="ja"] .cpt__word { font-size: 7.6rem; line-height: 8.6rem; }
  html[lang="en"] .cpt__word { font-size: 9rem; line-height: 9.6rem; }
}

.camps__p3::after, .cpt__bg::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(rgba(6,14,22,.62), rgba(6,14,22,.34) 52%, rgba(6,14,22,.62)); }
.camps__p3 .cn { z-index: 2; }
.camps__p1::after { content: ""; position: absolute; inset: 0; background: radial-gradient(62% 42% at 50% 46%, rgba(6,14,22,.52), rgba(6,14,22,.14) 70%, rgba(6,14,22,0) 100%); }

.ccard__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(6,14,22,.48), rgba(6,14,22,.22) 46%, rgba(6,14,22,.5)); }
.cta__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(8,18,28,.28), rgba(8,18,28,.62)); }

.cn span { display: none; }
.cn i { display: none; }
.cn b { letter-spacing: 0.12rem; opacity: .8; }

.map__img { opacity: .34; filter: saturate(.6) brightness(.7); }
.map::before { content: ""; position: absolute; inset: 0; z-index: 1; background: radial-gradient(120% 60% at 50% 30%, rgba(8,16,25,.25), rgba(8,16,25,.9) 75%); pointer-events: none; }
.map__path, .map__lbl, .map__ocean, .map__stick, .map__stick2 { z-index: 2; }
html[lang="ja"] .map__ocean { font-family: var(--sans); font-size: 1.3rem; letter-spacing: .04em; color: rgba(255,255,255,.5); }
html[lang="ja"] .map__lbl b { font-family: var(--sans); font-size: 1.5rem; }

.faq { position: relative; z-index: 45; background: #fff; padding: 12rem 0 14rem; }
.faq__in { position: relative; width: 119.2rem; margin: 0 auto; display: grid; grid-template-columns: 23.6rem 1fr; gap: 0 9.6rem; }
.faq__label { font: 500 1.8rem/2.16rem var(--cond); text-transform: uppercase; color: var(--navy); }
.faq__label span { display: block; margin-top: 1.4rem; font: 400 1.4rem/2.1rem var(--sans); color: var(--grey); text-transform: none; }
.faq__list { display: block; }
.faq__q { border-top: 1px solid rgba(18,40,58,.16); padding: 3.2rem 0 3.4rem; }
.faq__q:last-child { border-bottom: 1px solid rgba(18,40,58,.16); }
.faq__q h3 { font: 400 2.4rem/3.6rem var(--serif); color: var(--navy); }
.faq__q p { margin-top: 1.4rem; font-size: 1.4rem; line-height: 2.4rem; font-weight: 500; color: var(--grey); max-width: 72rem; }
@media (max-width: 767px) {
  .faq { padding: 7rem 0 8rem; }
  .faq__in { width: auto; margin: 0 1.2rem; grid-template-columns: 1fr; gap: 3.2rem; }
  .faq__q h3 { font-size: 2rem; line-height: 3.2rem; }
  html[lang="ja"] .hero__h1 { font-size: 6.4rem; line-height: 7rem; }
  html[lang="ja"] .intro__big { font-size: 2.6rem; line-height: 4.4rem; text-indent: 5.2rem; }
  html[lang="ja"] .cn p { width: auto; font-size: 2rem; line-height: 3.4rem; }
  html[lang="ja"] .toend h3 { width: auto; font-size: 2.8rem; }
  html[lang="ja"] .camps__title { font-size: 4rem; }
}
.map + .faq { margin-top: 0; }
.faq + .cta { margin-top: 0; }

.cta { scroll-margin-top: 8rem; }
.tours-anchor, .fields-anchor, .route-anchor, .voice-anchor, .faq-anchor { scroll-margin-top: 8rem; }

.ccard__txt span::before { content: "["; margin-right: 0.8em; }
.ccard__txt span::after { content: "]"; margin-left: 0.8em; }

.camps__title, .camps__polar h4, .camps__polar p, .ccard__txt h3, .ccard__txt p, .ccard__txt span { text-shadow: 0 1px 12px rgba(6,14,22,.8), 0 0 4px rgba(6,14,22,.55); }
@media (max-width: 767px) {
  html[lang="en"] .camps__title { font-size: 3.2rem; line-height: 3.4rem; }
  .camps__polar { background: linear-gradient(rgba(6,14,22,0), rgba(6,14,22,.42) 22%, rgba(6,14,22,.5)); }
}
