body{
  margin: 0;
  background-color: #fff;
}
div#containerWrapper{
  background-color: #fff !important;
}
div#contentHeader{
width: 1000px;
margin: 0 auto;
padding-top: 1em;
}
.btn_pagetop_authority {
  width: 950px;
  font-weight: bold;
  margin: 20px auto 30px;
  text-align: right;
  position: relative;
  z-index: 20;
}

/* LP画像：番号順・中央寄せで縦並び表示 */
.vrkyouryuucp2026-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}

.vrkyouryuucp2026-img {
  display: block;
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 0 auto;
}

/* LP_01：中央エリアにsub画像3枚を横並び配置 */
.vrkyouryuucp2026-01-wrap {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.vrkyouryuucp2026-01-wrap .vrkyouryuucp2026-img {
  max-width: 100%;
}

/* LP_01：「キャンペーン概要」テキスト上の規約ボタン */
.vrkyouryuucp2026-kiyaku-btn {
  position: absolute;
  left: 8%;
  width: 84%;
  top: 45.2%;
  height: 4.8%;
  overflow: hidden;
  line-height: 0;
  z-index: 4;
  cursor: pointer;
}

.vrkyouryuucp2026-kiyaku-btn img {
  position: absolute;
  left: 11%;
  top: 55%;
  width: 84%;
  height: auto;
  transform: translateY(-50%);
}

.vrkyouryuucp2026-kiyaku-btn:focus-visible {
  outline: 3px solid #003A93;
  outline-offset: 4px;
}

/* LP_01：「VR恐竜の詳細はこちら」テキストリンク */
.vrkyouryuucp2026-detail-hotspot {
  position: absolute;
  left: 36%;
  top: 77.5%;
  width: 28%;
  height: 2.2%;
  cursor: pointer;
  z-index: 3;
}

.vrkyouryuucp2026-sub-area {
  position: absolute;
  left: 5%;
  right: 5%;
  top: 62%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2%;
  z-index: 2;
}

.vrkyouryuucp2026-sub-row {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.25%;
}

.vrkyouryuucp2026-sub-img {
  display: block;
  width: 32.5%;
  height: auto;
  margin: 0;
}

.vrkyouryuucp2026-sub-banner-link {
  display: block;
  width: 90%;
  margin: 17% 0 0;
  cursor: pointer;
}

.vrkyouryuucp2026-sub-banner {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

/* LP_02：「お部屋を探す」ボタン内の矢印アイコン */
.vrkyouryuucp2026-02-wrap {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.vrkyouryuucp2026-02-wrap .vrkyouryuucp2026-img {
  max-width: 100%;
}

/* LP_02：「キャンペーン利用規約にご同意」テキスト領域のリンク */
.vrkyouryuucp2026-kiyaku-hotspot {
  position: absolute;
  left: 31.8%;
  top: 25.3%;
  width: 23.2%;
  height: 3.2%;
  cursor: pointer;
  z-index: 2;
}

.vrkyouryuucp2026-room-hotspot,
.vrkyouryuucp2026-shop-hotspot {
  position: absolute;
  top: 59%;
  height: 12%;
  cursor: pointer;
  z-index: 3;
}

.vrkyouryuucp2026-room-hotspot {
  left: 5.5%;
  width: 42%;
}

.vrkyouryuucp2026-shop-hotspot {
  left: 53%;
  width: 41%;
}

.vrkyouryuucp2026-request-hotspot {
  position: absolute;
  left: 24.8%;
  top: 80.8%;
  width: 20.2%;
  height: 3%;
  cursor: pointer;
  z-index: 3;
}

.vrkyouryuucp2026-room-icon {
  position: absolute;
  left: 39.5%;
  top: 62.2%;
  width: 5.5%;
  height: auto;
  margin: 0;
}

.vrkyouryuucp2026-shop-icon {
  position: absolute;
  left: 87.5%;
  top: 62.2%;
  width: 4.5%;
  height: auto;
  margin: 0;
}

/* LP_03：ステップ番号アイコン・当選案内アイコン */
.vrkyouryuucp2026-03-wrap {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.vrkyouryuucp2026-03-wrap .vrkyouryuucp2026-img {
  max-width: 100%;
}

.vrkyouryuucp2026-step-icon {
  position: absolute;
  left: 32%;
  transform: translate(-50%, -50%);
  height: auto;
  margin: 0;
}

.vrkyouryuucp2026-step-icon--1 {
  top: 18.13%;
  width: 13.75%;
}

.vrkyouryuucp2026-step-icon--2 {
  top: 32.51%;
  width: 9%;
}

.vrkyouryuucp2026-step-icon--3 {
  top: 46.50%;
  width: 13.75%;
}

.vrkyouryuucp2026-step-icon--4 {
  top: 61.22%;
  width: 11%;
}

.vrkyouryuucp2026-ticket-icon {
  position: absolute;
  left: 24%;
  top: 83.5%;
  transform: translate(-50%, -50%);
  width: 9%;
  height: auto;
  margin: 0;
}

:root{
  --navy:#12245c;      /* ブランド濃紺 */
  --navy-2:#1c3aa0;     /* 見出しリンク */
  --blue:#2f6fed;       /* アクセント */
  --yellow:#ffe000;     /* ハイライト */
  --ink:#1a2233;
  --muted:#59616e;
  --bg:#eef2f8;
  --card:#ffffff;
  --line:#e4e9f2;
  --c-event:#2563eb;
  --c-autumn:#e5731f;
  --c-taiwan:#d5322f;
  --c-xmas:#1f9d55;
  --c-vr:#7c3aed;
  --c-other:#334155;
  --c-spot:#e5399a;
  --radius:16px;
  --shadow:0 10px 30px rgba(18,36,92,.10);
  --shadow-hover:0 18px 44px rgba(18,36,92,.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1240px,92vw);margin-inline:auto}
.list-section{padding-block:52px 72px}
.section-title{font-size:28px;font-weight:900;color:var(--navy);position:relative;padding-left:16px;margin-bottom:28px}
.section-title::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:6px;border-radius:3px;background:var(--blue)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;position:relative;border:1px solid var(--line)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.card:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.card__media{height:168px;position:relative;display:flex;align-items:flex-start}
.card__media .glyph{position:absolute;right:14px;bottom:10px;width:78px;height:78px;opacity:.9}
.card__media .glyph svg{width:100%;height:100%}
.badge{align-self:flex-start;margin:12px;color:#fff;font-size:13px;font-weight:700;padding:5px 14px;border-radius:8px;box-shadow:0 3px 8px rgba(0,0,0,.2)}
.card__body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1;position:relative}
.card__title{font-size:19px;font-weight:900;color:var(--navy);line-height:1.4;min-height:2.8em;margin-bottom:10px;padding-right:26px;display:flex;align-items:flex-start}
.card__text{font-size:14px;color:var(--muted);flex:1}
.card__arrow{position:absolute;right:16px;bottom:16px;color:var(--blue)}
.card__arrow svg{width:22px;height:22px}
.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.card__media .badge{position:relative;z-index:2}
.card__media.has-img::after{display:none}
.card__media.has-img .glyph{display:none}
.area{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;font-size:15px;font-weight:800;color:#fff;padding:8px 15px;border-radius:10px;line-height:1.3;letter-spacing:.02em;box-shadow:0 4px 10px rgba(0,0,0,.14)}
.area svg{width:17px;height:17px;color:#fff;flex:0 0 auto}
.t-event .area{background:var(--c-event)}
.t-autumn .area{background:var(--c-autumn)}
.t-taiwan .area{background:var(--c-taiwan)}
.t-xmas .area{background:var(--c-xmas)}
.t-vr .area{background:var(--c-vr)}
.t-other .area{background:var(--c-other)}
.area.tbd{background:#f4f6fa;color:#8b94a3;border:1.5px dashed #c6cedb;font-weight:700;box-shadow:none}
.area.tbd svg{color:#aab2c0}
.t-event .card__media{background:radial-gradient(120% 140% at 30% 10%,#3b5bd9,#0e1c4d)}
.t-event .badge{background:var(--c-event)}
.t-autumn .card__media{background:radial-gradient(120% 140% at 30% 10%,#f59331,#b8460f)}
.t-autumn .badge{background:var(--c-autumn)}
.t-taiwan .card__media{background:radial-gradient(120% 140% at 30% 10%,#e5443f,#8f150f)}
.t-taiwan .badge{background:var(--c-taiwan)}
.t-xmas .card__media{background:radial-gradient(120% 140% at 30% 10%,#2bbd6b,#0c5c33)}
.t-xmas .badge{background:var(--c-xmas)}
.t-vr .card__media{background:radial-gradient(120% 140% at 30% 10%,#9a5cf0,#4a1e94)}
.t-vr .badge{background:var(--c-vr)}
.t-other .card__media{background:radial-gradient(120% 140% at 30% 10%,#4a5a72,#1e2836)}
.t-other .badge{background:var(--c-other)}
.t-spot .card__media{background:radial-gradient(120% 140% at 30% 10%,#ffd84d,#e58f2e)}
.t-spot .badge{background:var(--c-spot)}
.t-spot .area{background:var(--c-spot)}
.card__media .glyph{color:rgba(255,255,255,.9)}
.card__media::after{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.5),transparent 60%),radial-gradient(2px 2px at 55% 22%,rgba(255,255,255,.35),transparent 60%),radial-gradient(2px 2px at 40% 60%,rgba(255,255,255,.3),transparent 60%);opacity:.7;pointer-events:none}
.hero-banner{display:block;line-height:0;background:#0a1024}
.hero-banner img{width:100%;height:auto;display:block}
.hero-banner:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
@media (max-width:1020px){
  .grid{grid-template-columns:repeat(2,1fr);gap:20px}
}
@media (max-width:640px){
  .grid{grid-template-columns:1fr}
  .section-title{font-size:23px}
}

