:root {
  --wplp-blue: #1479c9;
  --wplp-blue-dark: #0d2b45;
  --wplp-pink: #ec4f7c;
  --wplp-cyan: #00b7c9;
  --wplp-text: #3f5b78;
  --wplp-bg-blue: #eef6fb;
  --wplp-white: #fff;
  --wplp-font-label: 19.2px;
  --wplp-font-title: clamp(30.4px, 2.85vw, 44.8px);
  --wplp-font-body: 16.64px;
  --wplp-font-body-lg: 18.56px;
  --wplp-font-card-title: 16px;
  --wplp-font-note: 12.48px;
}

.wplp-preview-body { margin: 0; }
.wplp-page,
.wplp-page * { box-sizing: border-box; }
.wplp-page {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
  color: var(--wplp-text);
  font-family: var(--swl-font_family, 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.wplp-page a { color: var(--wplp-blue); text-decoration: none; }
.wplp-page a:hover { opacity: .78; }
.wplp-page .wplp-button--primary { color: var(--wplp-white); }
.wplp-page .wplp-final-cta__button { color: var(--wplp-white); }
.wplp-page img { max-width: 100%; }
.wplp-page p,
.wplp-page h1,
.wplp-page h2,
.wplp-page h3 { overflow-wrap: anywhere; }

.wplp-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 26px;
  cursor: pointer;
  color: var(--wplp-blue-dark);
  font-size: 17.92px;
  font-weight: 800;
  line-height: 1.6;
  list-style: none;
}
.wplp-faq-item summary::-webkit-details-marker { display: none; }
.wplp-faq-item summary b,
.wplp-faq-item summary i { color: var(--wplp-blue); font-style: normal; }
.wplp-faq-item > div {
  padding: 0 26px 24px;
  color: var(--wplp-text);
  font-size: 16.32px;
  line-height: 1.9;
}

.wplp-section-label {
  display: inline-block;
  margin-bottom: 20px;
  padding: 9px 24px;
  border: 1.5px solid #1479c9;
  border-radius: 999px;
  color: #1479c9;
  font-size: 19.2px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1;
}

.wplp-section-label--light {
  border-color: rgba(255, 255, 255, .7);
  color: #fff;
}

.wplp-section-label--mv {
  margin-bottom: 14px;
  padding: 8px 20px;
  font-size: 18px;
}

@media (max-width: 767px) {
  .wplp-section-label { padding: 8px 18px; font-size: 12.48px; }
  .wplp-section-label--mv { padding: 7px 16px; font-size: 13.12px; }
}

@media (min-width: 768px) {
  .wplp-page .wplp-mv-step {
    padding: 28px 18px;
    gap: 14px;
  }

  .wplp-page .wplp-mv-step img {
    width: 60px;
    height: 60px;
  }
}

@media (max-width: 767px) {
  .wplp-page .wplp-mv-step {
    padding: 18px 12px;
    gap: 10px;
  }

  .wplp-page .wplp-mv-step img {
    width: 34px;
    height: 34px;
  }
}

.wplp-mv-step-meta {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 1px;
}

.wplp-mv-step-number,
.wplp-mv-step-en {
  color: #1479c9;
  font-weight: 700;
}

.wplp-mv-step-number { font-weight: 900; }
.wplp-mv-step-en { letter-spacing: .08em; }
.wplp-mv-step-title { color: #0d2b45; font-weight: 700; white-space: nowrap; }

@media (min-width: 768px) {
  .wplp-mv-step-number { font-size: 26.4px; }
  .wplp-mv-step-en { font-size: 19.2px; }
  .wplp-mv-step-title { font-size: 16px; }
}

@media (max-width: 767px) {
  .wplp-mv-step-number { font-size: 19.52px; }
  .wplp-mv-step-en { font-size: 12.48px; }
  .wplp-mv-step-title { font-size: 14.08px; line-height: 1.45; }
}
.wplp-mv-step-accent { color: #ec4f7c; }

.wplp-hero { position:relative; display:flex; align-items:flex-end; min-height:clamp(320px,46svh,440px); overflow:hidden; background:#04263f; }
.wplp-hero__media, .wplp-hero__overlay { position:absolute; inset:0; }
.wplp-hero__media { overflow:hidden; z-index:0; }
.wplp-hero__image { width:100%; height:100%; object-fit:cover; object-position:70% 30%; }
.wplp-hero__overlay { background:linear-gradient(100deg,rgba(2,28,58,.6) 0%,rgba(2,36,68,.34) 32%,rgba(2,36,68,.06) 55%,transparent 74%); }
.wplp-hero__inner { position:relative; z-index:1; width:100%; max-width:1280px; margin:0 auto; padding:clamp(60px,9vw,80px) clamp(20px,5vw,64px) clamp(48px,6vw,64px); color:#fff; }
.wplp-hero__title { margin:0 0 12px; font-size:clamp(27.2px,4.6vw,43.2px); font-weight:900; line-height:1.22; text-shadow:0 4px 24px rgba(0,0,0,.28); }
.wplp-hero__lead { max-width:32em; margin:0 0 18px; font-size:clamp(13.12px,1.5vw,15.36px); font-weight:500; line-height:1.6; text-shadow:0 2px 12px rgba(0,0,0,.35); }
.wplp-button { display:inline-flex; align-items:center; gap:8px; border-radius:999px; font-weight:700; text-decoration:none; }
.wplp-button--primary { padding:12px 26px; background:linear-gradient(90deg,#ea367f,#fd7e40); color:#fff; box-shadow:0 10px 22px rgba(236,79,124,.4); }
.wplp-hero__stats { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; max-width:480px; margin:18px 0 0 auto; }
.wplp-hero-stat { flex:1 1 88px; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:78px; padding:4px; aspect-ratio:1; border:1px solid rgba(255,255,255,.45); border-radius:50%; background:radial-gradient(circle at 68% 18%,rgba(255,255,255,.42) 0%,rgba(255,255,255,.11) 17%,transparent 36%),linear-gradient(155deg,rgba(55,193,255,.38) 0%,rgba(0,111,190,.42) 44%,rgba(0,45,112,.72) 100%); box-shadow:inset 0 -6px 12px rgba(0,30,70,.4),inset 0 4px 7px rgba(255,255,255,.45),0 6px 14px rgba(0,20,50,.3); text-align:center; backdrop-filter:blur(3px); }
.wplp-hero-stat__value { font-size:clamp(15.2px,1.9vw,17.6px); font-weight:800; line-height:1.1; }.wplp-hero-stat__value small { font-weight:700; }.wplp-hero-stat__label { margin-top:3px; font-size:12.48px; opacity:.92; }
.wplp-arrival { padding:0 clamp(20px,5vw,64px) clamp(16px,2.4vw,22px); background:#eef1f4; }.wplp-mv-steps { display:flex; flex-wrap:wrap; max-width:1200px; margin:0 auto; overflow:hidden; transform:translateY(-28px); border-radius:18px; background:#fff; box-shadow:0 14px 30px rgba(13,43,69,.14); }.wplp-mv-step { flex:1 1 220px; display:flex; align-items:center; }.wplp-mv-step + .wplp-mv-step { border-left:1px solid rgba(13,43,69,.08); }.wplp-mv-step img { flex-shrink:0; object-fit:contain; }
.wplp-intro { padding:clamp(48px,7vw,72px) clamp(20px,5vw,64px) clamp(60px,8vw,92px); background:#fff; }.wplp-intro__inner { max-width:820px; margin:0 auto; text-align:center; }.wplp-intro__title { margin:0 0 22px; color:#0d2b45; font-size:clamp(21.6px,2.9vw,29.6px); font-weight:800; line-height:1.7; }.wplp-intro__text { margin:0; color:#3f5b78; font-size:clamp(14.72px,1.5vw,16.32px); line-height:2.05; }
@media (min-width: 768px) {
  .wplp-hero { min-height: clamp(600px, 52vw, 760px); }
  .wplp-hero__inner { padding-top: clamp(84px, 10vw, 150px); padding-bottom: clamp(92px, 9vw, 130px); }
  .wplp-hero__title { margin-bottom:22px; font-size:clamp(52.8px,5.6vw,88px); line-height:1.16; }
  .wplp-hero__lead { max-width:36em; margin-bottom:28px; font-size:clamp(16.8px,1.65vw,23.2px); line-height:1.75; }
  .wplp-button--primary { padding:17px 34px; font-size:clamp(16.8px,1.55vw,21.6px); }
  .wplp-hero__stats { width:min(48vw,560px); max-width:560px; flex-wrap:nowrap; }
  .wplp-hero-stat { flex:1 1 0; min-width:0; }
  .wplp-hero-stat__value { font-size:clamp(20.8px,2.25vw,32px); }
  .wplp-hero-stat__label { font-size:16px; }
}

@media (max-width: 767px) {
  .wplp-hero__title { font-size:clamp(32px,10vw,43.2px); line-height:1.18; }
  .wplp-hero__lead { font-size:15.2px; line-height:1.75; }
  .wplp-button--primary { padding:14px 24px; font-size:16px; }
  .wplp-hero__stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; max-width:none; gap:0; border:1px solid rgba(255,255,255,.72); }
  .wplp-hero-stat { min-width:0; min-height:74px; aspect-ratio:auto; border:0; border-radius:0; box-shadow:none; background:rgba(12,75,135,.42); }
  .wplp-hero-stat:nth-child(even) { border-left:1px solid rgba(255,255,255,.55); }
  .wplp-hero-stat:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.55); }
}
@media (min-width: 768px) { .wplp-hero-stat--compact .wplp-hero-stat__value { font-size: clamp(17.6px, 1.45vw, 21.6px); line-height: 1.25; } }

.wplp-page { background:#ffffff;overflow-x:hidden; }
.wplp-story { background:#eef6fb;padding:clamp(56px,8vw,96px) clamp(20px,5vw,64px); }
.wplp-container { max-width:1200px;margin:0 auto; }
.wplp-section-head { text-align:center;margin-bottom:clamp(44px,6vw,64px); }
.wplp-section-title { margin:0 0 16px;font-size:clamp(25.6px,3.6vw,37.6px);font-weight:900;color:#0d2b45;line-height:1.5; }
.wplp-section-lead { margin:0;color:#3f5b78;font-size:clamp(14.4px,1.5vw,16.32px);line-height:1.9; }
.wplp-story__item { display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,4vw,48px);margin-bottom:clamp(44px,6vw,64px); }
.wplp-story__media { flex: 1 1 380px; order: 1; border-radius: 20px; overflow: hidden; aspect-ratio: 4/3; box-shadow: 0 16px 32px rgba(13,43,69,.1); width: 506px; height: 300px }
.wplp-story__image { width:100%;height:100%;object-fit:cover;object-position:50% 32%;display:block; }
.wplp-story__content { flex:1 1 320px;order:2; }
.wplp-story__number { font-size:clamp(35.2px,5.6vw,51.2px);font-weight:900;color:#c3e0f2;line-height:1;margin-bottom:14px; }
.wplp-story__title { margin:0 0 12px;font-size:clamp(18.4px,2.2vw,22.4px);font-weight:800;color:#0d2b45; }
.wplp-story__text { margin:0;color:#3f5b78;line-height:1.95;font-size:15.68px; }
.wplp-story__media { flex: 1 1 380px; order: 1; border-radius: 20px; overflow: hidden; aspect-ratio: 4/3; box-shadow: 0 16px 32px rgba(13,43,69,.1); width: 593px; height: 300px }
.wplp-story__image { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; display: block; }
.wplp-story__media { flex: 1 1 380px; order: 1; border-radius: 20px; overflow: hidden; aspect-ratio: 4/3; box-shadow: 0 16px 32px rgba(13,43,69,.1); height: 300px }
.wplp-story__image { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; display: block }
.wplp-story__item { display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,4vw,48px); }
.wplp-story__image { width: 100%; height: 100%; object-fit: cover; object-position: 70% 30%; display: block }
.wplp-reasons { background:#fff;padding:clamp(56px,8vw,96px) clamp(20px,5vw,64px); }
.wplp-container--wide { max-width:1240px;margin:0 auto; }
.wplp-section-head { text-align:center;margin-bottom:clamp(40px,6vw,56px); }
.wplp-section-title { margin:0 0 16px;font-size:clamp(27.2px,3.8vw,38.4px);font-weight:900;color:#0d2b45; }
.wplp-text-accent { color:#1479c9; }
.wplp-reason-grid { display:flex;flex-wrap:wrap;justify-content:center;gap:22px; }
.wplp-reason-card { flex:1 1 200px;max-width:230px;background:#fbfdff;border:1px solid rgba(13,43,69,.06);border-radius:20px;padding:30px 20px;text-align:center;box-shadow:0 10px 26px rgba(13,43,69,.05); }
.wplp-reason-card__icon-wrap { width:92px;height:92px;border-radius:50%;background:#eaf4fb;display:flex;align-items:center;justify-content:center;margin:0 auto 20px; }
.wplp-reason-card__icon { width:50px;height:50px;object-fit:contain; }
.wplp-reason-card__title { margin:0 0 10px;font-size:16.32px;font-weight:800;color:#0d2b45;line-height:1.45; }
.wplp-reason-card__line { width:26px;height:3px;background:#1479c9;margin:0 auto 14px;border-radius:2px; }
.wplp-reason-card__text { margin:0;font-size:13.28px;line-height:1.85;color:#3f5b78; }
.wplp-reason-card__icon { width:56px;height:56px;object-fit:contain; }
.wplp-reason-card__icon { width:52px;height:52px;object-fit:contain; }
.wplp-reason-note-wrap { margin-top:36px;text-align:center; }
.wplp-reason-note { display:inline-flex;align-items:center;gap:10px;background:#fdf1f4;color:#c4396a;padding:14px 26px;border-radius:14px;font-size:13.6px;font-weight:600;margin:0; }
.wplp-reason-note__mark { display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1.5px solid #c4396a;font-size:12px;font-weight:800;flex-shrink:0; }
.wplp-plans__title { margin:0;font-size:clamp(27.2px,3.8vw,38.4px);font-weight:900;color:#0d2b45; }
.wplp-plan-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px; }
.wplp-plan-card { background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 26px rgba(13,43,69,.07);display:flex;flex-direction:column; }
.wplp-card-media { aspect-ratio:4/3;overflow:hidden; }
.wplp-card-image { width:100%;height:100%;object-fit:cover;display:block; }
.wplp-plan-card__body { padding:22px;display:flex;flex-direction:column;flex:1; }
.wplp-plan-card__label { font-size:10.56px;font-weight:800;letter-spacing:.1em;color:#1479c9;margin-bottom:8px; }
.wplp-plan-card__title { margin:0 0 10px;font-size:17.92px;font-weight:800;color:#0d2b45; }
.wplp-plan-card__text { margin:0 0 20px;font-size:13.44px;line-height:1.85;color:#3f5b78;flex:1; }
.wplp-detail-link { align-self:flex-start;font-size:13.28px;font-weight:700;color:#1479c9;border:1.5px solid #1479c9;border-radius:999px;padding:9px 20px; }
.wplp-ocean-hero { position:relative;min-height:clamp(380px,50vw,560px);display:flex;align-items:flex-end;overflow:hidden; }
.wplp-ocean-hero__image { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%; }
.wplp-ocean-hero__overlay { position:absolute;inset:0;background:linear-gradient(180deg, rgba(3,20,36,.5) 0%, rgba(3,20,36,.22) 45%, rgba(3,20,36,.8) 100%); }
.wplp-ocean-hero__content { position:relative;max-width:1200px;margin:0 auto;text-align:center;color:#fff;padding:clamp(48px,8vw,72px) 24px clamp(72px,10vw,104px); }
.wplp-ocean-hero__title { margin:0 0 20px;font-size:clamp(25.6px,4vw,40px);font-weight:900;line-height:1.5;text-shadow:0 4px 20px rgba(0,0,0,.35); }
.wplp-ocean-hero__text { margin:0;font-size:clamp(14.08px,1.6vw,16px);line-height:1.9;text-shadow:0 2px 12px rgba(0,0,0,.4); }
.wplp-spot-section { background:#fff;padding:0 clamp(20px,5vw,64px) clamp(56px,8vw,88px); }
.wplp-spot-grid { max-width:1240px;margin:0 auto;transform:translateY(-56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:20px; }
.wplp-spot-card { background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 14px 32px rgba(13,43,69,.12); }
.wplp-spot-card__body { padding:20px; }
.wplp-spot-card__title { margin:0 0 8px;font-size:16px;font-weight:800;color:#0d2b45; }
.wplp-spot-card__text { margin:0;font-size:12.8px;line-height:1.8;color:#3f5b78; }
.wplp-pricing { background:#fff;padding:clamp(40px,8vw,72px) clamp(20px,5vw,64px) clamp(56px,8vw,96px); }
.wplp-pricing__title { margin:0 0 16px;font-size:clamp(24px,3.4vw,34.4px);font-weight:900;color:#0d2b45; }
.wplp-section-lead { margin:0;color:#3f5b78;font-size:clamp(13.76px,1.4vw,15.68px);line-height:1.9; }
.wplp-pricing-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px; }
.wplp-price-card { background:#fff;border:1px solid rgba(13,43,69,.08);border-radius:18px;overflow:hidden;box-shadow:0 10px 24px rgba(13,43,69,.06);display:flex;flex-direction:column; }
.wplp-price-card__media { aspect-ratio:16/10;overflow:hidden; }
.wplp-price-card__body { padding:24px;display:flex;flex-direction:column;flex:1; }
.wplp-price-card__title { margin:0 0 14px;font-size:18.4px;font-weight:800;color:#0d2b45; }
.wplp-price-row { display:flex;justify-content:space-between;font-size:13.76px;padding:9px 0;border-top:1px solid rgba(13,43,69,.08); }
.wplp-price-row__label { color:#728aa1; }
.wplp-text-strong { font-weight:800;color:#0d2b45; }
.wplp-price-row__value { font-weight:700;color:#0d2b45; }
.wplp-price-row__value--right { font-weight:700;color:#0d2b45;text-align:right; }
.wplp-price-row--last { display:flex;justify-content:space-between;font-size:13.76px;padding:9px 0 16px;border-top:1px solid rgba(13,43,69,.08);border-bottom:1px solid rgba(13,43,69,.08); }
.wplp-price-card__text { margin:16px 0 20px;font-size:13.12px;line-height:1.85;color:#3f5b78;flex:1; }
.wplp-price-row__value--multiline { font-weight:800;color:#0d2b45;text-align:right; }
.wplp-price-note { margin-top:32px;background:#eef6fb;border-radius:14px;padding:16px 24px;text-align:center; }
.wplp-price-note__text { margin:0;font-size:13.28px;color:#3f5b78; }
.wplp-reviews__title { margin:0 0 16px;font-size:clamp(22.4px,3.2vw,33.6px);font-weight:900;color:#0d2b45;line-height:1.5; }
.wplp-review-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px; }
.wplp-review-card { background:#fff;border-radius:18px;padding:30px 26px;box-shadow:0 10px 24px rgba(13,43,69,.06); }
.wplp-review-card__stars { color:#f5a623;font-size:16px;letter-spacing:2px;margin-bottom:14px; }
.wplp-review-card__heading { color:#0d2b45;font-size:13.6px;font-weight:700; }
.wplp-review-card__text { margin:0 0 20px;font-size:14.08px;line-height:1.9;color:#2c4258; }
.wplp-review-card__meta { border-top:1px solid rgba(13,43,69,.08);padding-top:14px; }
.wplp-review-card__tag { display:inline-block;background:#eaf4fb;color:#1479c9;font-size:12.16px;font-weight:700;padding:6px 14px;border-radius:999px; }
.wplp-review-link-wrap { text-align:center;margin-top:36px; }
.wplp-review-link { display:inline-flex;align-items:center;gap:10px;border:1.5px solid #1479c9;color:#1479c9;font-weight:700;font-size:14.72px;padding:13px 28px;border-radius:999px;background:#fff; }
.wplp-safety__container { max-width:1160px;margin:0 auto; }
.wplp-section-head { text-align:center;margin-bottom:clamp(36px,5vw,48px); }
.wplp-safety-list { display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:14px;margin-bottom:clamp(48px,7vw,64px); }
.wplp-safety-item { flex:1 1 190px;max-width:220px;display:flex;align-items:center;justify-content:center;text-align:center;background:#f7fafd;border:1px solid rgba(13,43,69,.07);border-radius:14px;padding:18px 16px;font-size:13.44px;font-weight:700;color:#1479c9;line-height:1.6; }
.wplp-safety-item { flex: 1 1 190px; max-width: 220px; display:flex; align-items:center; justify-content:center; text-align: center; background: #f7fafd; border: 1px solid rgba(13,43,69,.07); border-radius: 14px; padding: 18px 16px; font-size: 13.44px; font-weight: 700; color: #1479c9; line-height: 1.6; text-transform: none; }
.wplp-safety-profile { display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,56px);align-items:flex-start; }
.wplp-safety-profile__photo-wrap { flex:1 1 260px;max-width:320px;border-radius:20px;overflow:hidden;box-shadow:0 16px 34px rgba(13,43,69,.1); }
.wplp-safety-profile__photo { width:100%;aspect-ratio:1;object-fit:cover;display:block; }
.wplp-safety-profile__body { flex:2 1 380px; }
.wplp-safety-profile__title { margin:0 0 8px;font-size:18.4px;font-weight:800;color:#0d2b45; }
.wplp-safety-profile__line { width:32px;height:3px;background:#1479c9;margin-bottom:20px;border-radius:2px; }
.wplp-safety-profile__text { margin:0 0 18px;font-size:15.2px;line-height:2.05;color:#2c4258; }
.wplp-safety-profile__text--last { margin:0 0 26px;font-size:15.2px;line-height:2.05;color:#2c4258; }
.wplp-safety-profile__signature { border-top:1px solid rgba(13,43,69,.1);padding-top:18px;font-size:13.76px;color:#3f5b78; }
.wplp-faq__container { max-width:860px;margin:0 auto; }
.wplp-faq__title { margin:0 0 16px;font-size:clamp(25.6px,3.6vw,36.8px);font-weight:900;color:#0d2b45; }
.wplp-faq-list { display:flex;flex-direction:column;gap:12px; }
.wplp-faq-item { background:#fff;border:1px solid rgba(13,43,69,.08);border-radius:16px;overflow:hidden; }
.wplp-faq-note { text-align:center;margin:36px 0 0;font-size:13.76px;color:#3f5b78;line-height:1.9; }
.wplp-final-cta { position:relative;overflow:hidden;background:#04263f;padding:clamp(64px,9vw,110px) clamp(20px,5vw,64px); }
.wplp-final-cta__image { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 45%; }
.wplp-final-cta__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, #8AA8BF84, rgba(4,38,63,.74) 40%, #2B3D5BD3) }
.wplp-final-cta__inner { position:relative;z-index:1;max-width:960px;margin:0 auto;text-align:center; }
.wplp-final-cta__title { margin:0 0 20px;font-size:clamp(25.6px,4vw,40px);font-weight:900;color:#fff;line-height:1.5; }
.wplp-final-cta__accent { color: #6AF5FF }
.wplp-final-cta__lead { margin:0 0 clamp(36px,6vw,52px);color:rgba(255,255,255,.78);font-size:clamp(14.4px,1.6vw,16.32px);line-height:1.9; }
.wplp-final-cta__actions { background:#fff;border-radius:24px;box-shadow:0 20px 44px rgba(13,43,69,.12);padding:clamp(28px,4vw,40px);display:flex;flex-wrap:wrap;gap:28px;text-align:left; }
.wplp-final-cta__booking { flex:1 1 280px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px; }
.wplp-final-cta__button { display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;background:linear-gradient(90deg,#ea367f,#fd7e40);color:#fff;font-weight:700;font-size:clamp(16px,2vw,18.4px);padding:20px 30px;border-radius:999px;box-shadow:0 14px 28px rgba(236,79,124,0.35); }
.wplp-final-cta__arrow { font-size:1.15em; }
.wplp-final-cta__booking-note { font-size:12.8px;color:rgba(255,255,255,.65);margin:0 auto; }
.wplp-final-cta__phone { flex:1 1 280px;background:#f4f9fc;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:12px;justify-content:center; }
.wplp-final-cta__phone-note { margin:0;font-size:13.6px;color:#2c4258;line-height:1.8; }
.wplp-final-cta__number { display:inline-flex;align-items:center;gap:10px;font-size:clamp(20.8px,2.6vw,25.6px);font-weight:900;color:#0d2b45; }
.wplp-final-cta__hours { display:inline-block;background:#eaf4fb;color:#1479c9;font-size:12.48px;font-weight:700;padding:6px 14px;border-radius:999px;width:fit-content; }
.wplp-final-cta__note { margin:24px 0 0;font-size:13.12px;color:rgba(255,255,255,.55); }

@media (min-width: 768px) {
  .wplp-page section h2 { font-size: var(--wplp-font-title); }
  .wplp-section-label { font-size: var(--wplp-font-label); }
  .wplp-mv-step-title { font-size: var(--wplp-font-card-title); }
}
@media (min-width: 768px) {
  .wplp-page .wplp-safety-list {
    gap: 16px;
  }

  .wplp-page .wplp-safety-item {
    flex: 0 0 auto;
    max-width: none;
    padding: 18px 22px;
    font-size: 19.2px;
    white-space: nowrap;
  }
}

@media (max-width: 767px) {
  .wplp-page .wplp-mv-step {
    padding: 16px 8px;
    gap: 6px;
  }

  .wplp-page .wplp-mv-step img {
    width: 28px;
    height: 28px;
  }

  .wplp-page .wplp-mv-step-number {
    font-size: 17.6px;
  }

  .wplp-page .wplp-mv-step-en {
    font-size: 10.88px;
    letter-spacing: .05em;
  }

  .wplp-page .wplp-mv-step-title {
    font-size: 11.52px;
    white-space: normal;
  }

  .wplp-page .wplp-intro__title {
    overflow-wrap: anywhere;
  }
}
.wplp-br-sp { display: none; }

@media (max-width: 767px) {
  .wplp-br-sp { display: block; }
}
@media (min-width: 768px) {
  .wplp-br-mobile { display: none; }
}

.wplp-price-u25 { display:block; margin-top:4px; font-size:.78em; font-weight:700; color:#ec4f7c; }

.wplp-final-cta__actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:28px;
  padding:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
}
.wplp-final-cta__booking { flex:1 1 330px; gap:12px; }
.wplp-final-cta__button { font-weight:800; }
.wplp-final-cta__booking-note { color:rgba(255,255,255,.78); margin:0; }
.wplp-final-cta__phone {
  flex:1 1 280px;
  padding:8px 0 8px 28px;
  background:transparent;
  border-left:1px solid rgba(255,255,255,.45);
  border-radius:0;
}
.wplp-final-cta__phone-note { color:rgba(255,255,255,.82); }
.wplp-final-cta__number { color:#fff; }
.wplp-final-cta__hours { padding:0; background:transparent; color:#fff; }
@media (max-width: 767px) {
  .wplp-final-cta__phone { border-left:0; border-top:1px solid rgba(255,255,255,.45); padding:20px 0 0; }
}

.wplp-final-cta__booking-note { width:100%; text-align:center; }
@media (min-width: 768px) {
  .wplp-final-cta__phone-note { white-space:nowrap; }
}

@media (max-width: 767px) {
  .wplp-page .wplp-story__media,
  .wplp-page .wplp-story__media,
  .wplp-page .wplp-story__media {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .wplp-page .wplp-story__image,
  .wplp-page .wplp-story__image,
  .wplp-page .wplp-story__image,
  .wplp-page .wplp-story__image {
    width: 100%;
    height: 100%;
    max-width: none;
  }
}

@media (max-width: 767px) {
  .wplp-page .wplp-hero__image {
    object-position: 78% 30%;
  }

  .wplp-page .wplp-section-label--mv {
    padding: 6px 14px;
    font-size: 11.52px;
  }
}
@media (max-width: 767px) {
  .wplp-page .wplp-hero__inner {
    width: 100vw;
    max-width: 100vw;
  }

  .wplp-page .wplp-hero__stats {
    width: calc(100vw - 40px);
    max-width: calc(100vw - 40px);
    margin-left: 0;
    margin-right: 0;
  }
}
.wplp-hero__picture { display:block; width:100%; height:100%; }
@media (max-width: 767px) {
  .wplp-page .wplp-hero__image { object-position:50% 78%; }
}

@media (max-width: 767px) {
  .wplp-page .wplp-hero__image {
    object-position: 50% 0%;
  }

  .wplp-page .wplp-hero__stats {
    margin-top: 104px;
  }
}

@media (max-width: 767px) {
  .wplp-page .wplp-reason-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    width: 100%;
  }

  .wplp-page .wplp-reason-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 16px;
    row-gap: 8px;
    width: 100%;
    max-width: none;
    padding: 22px 18px;
    text-align: left;
  }

  .wplp-page .wplp-reason-card__icon-wrap {
    grid-column: 1;
    grid-row: 1 / 4;
    width: 72px;
    height: 72px;
    margin: 0;
    align-self: start;
  }

  .wplp-page .wplp-reason-card__icon,
  .wplp-page .wplp-reason-card__icon,
  .wplp-page .wplp-reason-card__icon {
    width: 42px;
    height: 42px;
  }

  .wplp-page .wplp-reason-card__title {
    grid-column: 2;
    margin: 0;
  }

  .wplp-page .wplp-reason-card__line {
    grid-column: 2;
    margin: 0;
  }

  .wplp-page .wplp-reason-card__text {
    grid-column: 2;
    margin: 0;
  }
}

@media (max-width: 767px) {
  .wplp-page .wplp-hero__image {
    object-position: 50% 25%;
  }

  .wplp-page .wplp-container--wide,
  .wplp-page .wplp-reason-grid,
  .wplp-page .wplp-reason-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .wplp-page .wplp-reason-card__title,
  .wplp-page .wplp-reason-card__line,
  .wplp-page .wplp-reason-card__text {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

.wplp-intro__visual {
  width: min(100%, 1200px);
  margin: clamp(32px, 5vw, 52px) auto 0;
  overflow: hidden;
  border-radius: 22px;
  aspect-ratio: 16 / 7;
  box-shadow: 0 16px 36px rgba(13, 43, 69, .12);
}

.wplp-intro__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 56%;
}

@media (max-width: 767px) {
  .wplp-intro__visual {
    border-radius: 16px;
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 767px) {
  .wplp-page .wplp-final-cta {
    padding: 56px 20px 48px;
  }

  .wplp-page .wplp-final-cta__image {
    object-position: 68% 45%;
  }

  .wplp-page .wplp-final-cta__inner {
    width: 100%;
    max-width: 100%;
  }

  .wplp-page .wplp-final-cta__title {
    margin-bottom: 16px;
    font-size: clamp(26.4px, 7.5vw, 30.4px);
    line-height: 1.42;
  }

  .wplp-page .wplp-final-cta__lead {
    max-width: 22em;
    margin: 0 auto 30px;
    font-size: 15.2px;
    line-height: 1.8;
  }

  .wplp-page .wplp-final-cta__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 26px;
  }

  .wplp-page .wplp-final-cta__booking {
    flex: 0 0 auto;
    width: 100%;
    align-items: center;
    gap: 10px;
  }

  .wplp-page .wplp-final-cta__button {
    padding: 17px 22px;
    font-size: 16.8px;
  }

  .wplp-page .wplp-final-cta__booking-note {
    width: 100%;
    color: rgba(255,255,255,.82);
    font-size: 13.12px;
    line-height: 1.6;
    text-align: center;
  }

  .wplp-page .wplp-final-cta__phone {
    flex: 0 0 auto;
    width: 100%;
    align-items: center;
    gap: 8px;
    padding: 26px 0 0;
    text-align: center;
  }

  .wplp-page .wplp-final-cta__phone-note {
    max-width: 22em;
    font-size: 14.72px;
    line-height: 1.7;
  }

  .wplp-page .wplp-final-cta__number {
    font-size: 26.4px;
    line-height: 1.3;
  }

  .wplp-page .wplp-final-cta__hours {
    font-size: 13.12px;
  }
}

.wplp-page .wplp-final-cta__hours {
  margin-top: 2px;
  letter-spacing: .04em;
}

@media (min-width: 768px) {
  .wplp-page .wplp-final-cta__phone {
    align-items: flex-start;
  }

  .wplp-page .wplp-final-cta__hours {
    font-size: 14.4px;
  }
}

.wplp-page .wplp-final-cta__title,
.wplp-page .wplp-final-cta__lead,
.wplp-page .wplp-final-cta__booking-note,
.wplp-page .wplp-final-cta__phone-note,
.wplp-page .wplp-final-cta__number,
.wplp-page .wplp-final-cta__hours {
  text-shadow: 0 2px 12px rgba(0, 24, 52, .62);
}

.wplp-page .wplp-final-cta {
  background: #048fb5;
}

.wplp-page .wplp-final-cta__overlay {
  background:
    linear-gradient(180deg,
      rgba(4, 71, 118, .64) 0%,
      rgba(0, 126, 174, .70) 54%,
      rgba(0, 177, 196, .82) 100%);
}

.wplp-page .wplp-final-cta__actions {
  padding: 32px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(0,181,201,.96), rgba(5,128,199,.96));
  box-shadow: 0 18px 38px rgba(0,55,105,.22);
}

@media (max-width: 767px) {
  .wplp-page .wplp-final-cta__actions {
    padding: 24px 18px;
    border-radius: 18px;
  }
}

.wplp-page .wplp-final-cta {
  padding-bottom: 0;
}

.wplp-page .wplp-final-cta__actions {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  padding: 36px max(24px, calc((100vw - 960px) / 2));
  border: 0;
  border-radius: 0;
  background: linear-gradient(110deg, #00b7c9 0%, #0788cf 100%);
  box-shadow: none;
}

@media (max-width: 767px) {
  .wplp-page .wplp-final-cta {
    padding-bottom: 0;
  }

  .wplp-page .wplp-final-cta__actions {
    padding: 30px 20px 34px;
    border-radius: 0;
  }
}

.wplp-page .wplp-final-cta__title,
.wplp-page .wplp-final-cta__lead,
.wplp-page .wplp-final-cta__booking-note,
.wplp-page .wplp-final-cta__phone-note,
.wplp-page .wplp-final-cta__number,
.wplp-page .wplp-final-cta__hours {
  color: #fff;
  opacity: 1;
}
/* Final targeted adjustments for the LP template without SWELL styles. */
.wplp-page .wplp-section-label--mv {
  padding: 7px 18px;
  font-size: 16px;
}

@media (min-width: 768px) {
  .wplp-page .wplp-hero__title {
    margin: 0 0 22px;
    font-size: clamp(57.6px, 5.8vw, 89.6px);
    line-height: 1.14;
  }

  .wplp-page .wplp-spot-grid {
    grid-template-columns: repeat(4, minmax(215px, 280px));
    justify-content: center;
  }

  .wplp-page .wplp-pricing-grid {
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(260px, 360px));
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .wplp-page .wplp-section-label--mv {
    padding: 6px 14px;
    font-size: 11.52px;
  }

  .wplp-page .wplp-hero__title {
    font-size: clamp(36px, 10vw, 44.8px);
  }
}
/* Center the three customer-review cards on desktop. */
@media (min-width: 768px) {
  .wplp-page .wplp-review-grid {
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(260px, 360px));
    justify-content: center;
  }
}
/* Keep numeric hero statistics on one line. */
.wplp-page .wplp-hero-stat__value {
  white-space: nowrap;
}
/* Remove SWELL LP-template gutters; this stylesheet loads only on this LP. */
.lp-content {
  width: 100%;
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}

.lp-content .lp-content__inner {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

.lp-content .lp-content__postContent {
  padding-right: 0;
  padding-left: 0;
}
/* Restore the mobile arrival card to a two-column, two-row layout. */
@media (max-width: 767px) {
  .wplp-page .wplp-mv-step {
    flex: 0 0 50%;
    width: 50%;
    min-width: 0;
    border-left: 0;
  }

  .wplp-page .wplp-mv-step:nth-child(even) {
    border-left: 1px solid rgba(13, 43, 69, .08);
  }

  .wplp-page .wplp-mv-step:nth-child(n + 3) {
    border-top: 1px solid rgba(13, 43, 69, .08);
  }
}
/* Give the SEO H1 enough visual weight on both desktop and mobile. */
.wplp-page .wplp-intro__title {
  font-size: clamp(26.4px, 7vw, 32px);
  line-height: 1.55;
}

@media (min-width: 768px) {
  .wplp-page .wplp-intro__title {
    font-size: clamp(32.8px, 3vw, 39.2px);
    line-height: 1.55;
  }
}
/* Use a clearer Japanese sans-serif stack instead of Yu Gothic. */
.wplp-page {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
