@media (max-width:990px) {
  
  .mo-hide { display: none !important }
  .home-mo { display: flex; flex-direction: column; width: 100% }
  
  .mo-section { position: relative; inline-size: 100%; overflow: hidden }
  .mo-kicker { display: inline-block; border: 1px solid var(--brand-1); border-radius: var(--radius-circle); padding: var(--sp-8) var(--sp-20); font-size: var(--fs-16); font-weight: var(--fw-emph) }
  
  .mo-kicker b { color: var(--brand-1); font-weight: var(--fw-head) }
  .mo-pill { display: inline-block; background: var(--brand-1); color: var(--color-text-invert); border-radius: var(--radius-circle); padding: var(--sp-10) var(--sp-24); font-size: var(--fs-19); font-weight: var(--fw-head) }
  
  .mo-pill em { font-style: normal; color: var(--brand-3) }
  .ph-media { position: relative; inline-size: 100% }
  
  .ph-media img { inline-size: 100%; height: auto }
  .ph-media video { display: block; width: 100%; height: auto; object-fit: cover }
  .ph-chip { position: absolute; left: 0; bottom: 0; background: var(--color-overlay-60); color: var(--color-text-invert); font-size: var(--fs-14); padding: var(--sp-4) var(--sp-12) }
  
  .mo-hero { position: relative; text-align: center; padding: 0 }
  .mo-hero .hl-hero-media { aspect-ratio: 39/56; overflow: hidden }
  .mo-hero .hl-hero-media video { width: 100%; height: 100%; object-fit: cover; object-position: center 72% }
  
  .mo-hero .hero-overlay { position: absolute; inset: 0; z-index: 1; pointer-events: none }
  
  .mo-hero .hero-overlay img { display: block; inline-size: 100%; height: 100%; object-fit: cover }
  
  .mo-hero .hero-scene { position: absolute; right: 0; bottom: 0; z-index: 1; width: 58%; pointer-events: none }
  
  .mo-hero .hero-scene img { display: block; inline-size: 100%; height: auto }
  
  .mo-hero .hero-scene.is-bleed img { -webkit-mask-image: linear-gradient(90deg,rgba(0,0,0,0) 0%,#000 22%); mask-image: linear-gradient(90deg,rgba(0,0,0,0) 0%,#000 22%) }
  .mo-hero .hero-badges { display: flex; gap: var(--sp-8); margin-top: var(--sp-8) }
  .mo-hero .hb { display: flex; flex-direction: column; align-items: center; background: #fff; border-radius: 6px; padding: var(--sp-4) var(--sp-10); font-size: 3.1vw; font-weight: var(--fw-head); line-height: 1.25; color: var(--color-text); box-shadow: 0 2px 8px rgba(var(--shadow-rgb),.25) }
  .mo-hero .hb b { color: var(--brand-1); font-weight: var(--fw-head) }
  .mo-hero .hb-red { border: 1.5px solid #c81e1e; color: #c81e1e }
  .mo-hero .hb-red b { color: #c81e1e }
  .mo-hero .hl-hero-copy { position: absolute; left: 4vw; right: 4vw; top: 6vw; display: flex; flex-direction: column; align-items: center; gap: var(--sp-12); z-index: 1 }
  
  .mo-hero .hero-title { inline-size: 100%; margin: 0 }
  .mo-hero .hero-title img { display: block; inline-size: 100%; height: auto }
  
  .mo-scale { background: #fff; font-size: 0 }
  .mo-scale img { display: block; inline-size: 100%; height: auto }
  
  
  .mo-ribbon { background: #fff; font-size: 0 }
  .mo-ribbon img { display: block; inline-size: 100%; height: auto }
  
  .mo-video { background: var(--brand-1); color: var(--color-text-invert); text-align: center; padding: 0 }
  .mo-video .mo-in { padding: var(--sp-40) var(--sp-16) }
  .mo-video .video-copy { font-size: var(--fs-20); font-weight: var(--fw-emph); margin-bottom: var(--sp-16) }
  .mo-video .video-frame { border-radius: 5px; overflow: hidden; margin: 0 var(--sp-16) }
  .mo-video .video-frame video { display: block; inline-size: 100%; height: auto }
  
  .mo-video .sec-frame { position: relative; aspect-ratio: 16/9; margin: 0 var(--sp-16); border-radius: 5px; overflow: hidden; background: #000; pointer-events: none }
  .mo-video .sec-frame video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block }
  
  .mo-premium4 { margin-top: var(--sp-24); font-size: 0 }
  .mo-premium4 img { display: block; inline-size: 100%; height: auto }
  .mo-premium4 .p4-card { background: #fff; color: var(--color-text); border: 2px solid var(--brand-3); padding: var(--sp-12) var(--sp-16) }
  
  .mo-premium4 .p4-label { font-size: var(--fs-12); color: var(--brand-2); letter-spacing: var(--ls-point) }
  .mo-premium4 .p4-copy { font-size: var(--fs-16); font-weight: var(--fw-head); margin-top: var(--sp-4) }
  .mo-premium4 .p4-copy em { font-style: normal; color: var(--brand-1) }
  
  .mo-premium4 .p4-copy small { display: block; margin-top: var(--sp-4); font-size: var(--fs-12); font-weight: var(--fw-regular); line-height: 1.55; color: var(--color-gray-3) }
  
  .mo-unit { background: #f2f2f2; text-align: center; padding: 0 }
  .mo-unit .mo-in { padding: var(--sp-40) var(--sp-16) }
  
  .mo-unit .u-head-img { margin: 0 0 var(--sp-24); font-size: 0 }
  .mo-unit .u-head-img img { display: block; inline-size: 100%; height: auto }
  .mo-unit .u-kicker-mo { letter-spacing: var(--ls-point); color: var(--brand-2); font-size: var(--fs-14) }
  .mo-unit .u-title-mo { font-size: var(--fs-31); font-weight: var(--fw-head); line-height: 1.3; margin: var(--sp-12)0 var(--sp-24) }
  .mo-unit .u-title-mo em { font-style: normal; color: var(--brand-1) }
  
  .mo-unit .u-lb { margin: 0 0 var(--sp-8); font-family: "Noto Serif KR",serif; font-weight: 300; font-size: var(--fs-19); letter-spacing: .02em; color: var(--brand-1); white-space: nowrap }
  .mo-unit .u-cards { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-12) }
  .mo-unit .u-card { background: #fff; border: 1px solid #dfe4ec; padding: var(--sp-12) }
  .mo-unit .u-card h5 { font-size: var(--fs-17); font-weight: var(--fw-emph); letter-spacing: var(--ls-point); margin-bottom: var(--sp-8) }
  
  .mo-interior { background: var(--brand-1) }
  .mo-interior .int-head { color: var(--color-text-invert); padding: var(--sp-24) var(--sp-16) }
  .mo-interior .int-head .int-sub { font-size: var(--fs-19); font-weight: var(--fw-emph); color: var(--brand-3) }
  .mo-interior .int-head h3 { font-size: var(--fs-31); font-weight: var(--fw-head); line-height: 1.3 }
  .mo-interior .int-head h3 em { font-style: normal; color: var(--brand-3) }
  .mo-interior .int-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); padding: 0 var(--sp-8) var(--sp-8) }
  .mo-interior .int-grid .wide { grid-column: 1/-1 }
  
  .mo-value { background: #fff; text-align: center; padding: 0 }
  .mo-value .mo-in { padding: var(--sp-40) var(--sp-16) }
  .mo-value .v-title { font-size: var(--fs-25); font-weight: var(--fw-head); color: var(--brand-1); line-height: 1.35 }
  .mo-value .v-title em { font-style: normal; color: var(--brand-2) }
  .mo-value .v-band { background: var(--brand-1); color: var(--color-text-invert); font-size: var(--fs-17); font-weight: var(--fw-emph); padding: var(--sp-10)0; margin: var(--sp-20)0 }
  
  
  .mo-map { background: #eef2f8; padding: 0; text-align: center }
  .mo-map .mo-in { padding: var(--sp-24) var(--sp-16) }
  .mo-map .map-title { font-size: var(--fs-25); font-weight: var(--fw-head); color: var(--brand-1); margin-top: var(--sp-20) }
  .mo-map .map-title em { font-style: normal; letter-spacing: var(--ls-point) }
  .mo-premium-list { background: #fff; padding: 0 }
  .mo-premium-list .mo-in { padding: var(--sp-24) var(--sp-16); display: flex; flex-direction: column; gap: var(--sp-16) }
  .mo-premium-list .pr-card { border: 1px solid #dfe4ec; padding: var(--sp-20) var(--sp-16) }
  .mo-premium-list .pr-card h4 { font-size: var(--fs-20); font-weight: var(--fw-head); margin-bottom: var(--sp-8); color: var(--brand-2); letter-spacing: .04em }
  .mo-premium-list .pr-card p { font-size: var(--fs-16); line-height: 1.6; color: var(--color-gray-3) }
  
  
  
  .mo-interior .int-head-img { margin: 0; font-size: 0; background: var(--brand-1) }
  .mo-interior .int-head-img img { display: block; inline-size: 100%; height: auto }
  
  .mo-loc { background: var(--brand-1); font-size: 0 }
  .mo-loc .loc-head { padding: var(--sp-24) var(--sp-16) var(--sp-16) }
  .mo-loc .loc-head img { display: block; inline-size: 100%; height: auto }
  .mo-loc .loc-map { display: block; inline-size: 100%; height: auto }
  
  .mo-value, .mo-premium-list { font-size: 0; background: #fff }
  .mo-value img, .mo-premium-list img { display: block; inline-size: 100%; height: auto }
  
  
  .mo-value { padding: var(--sp-32) var(--sp-20) var(--sp-16) }
  .mo-value .value-wrap { position: relative }
  .mo-value .value-wrap img { inline-size: 100%; height: 100% }
  
  .mo-value .vf-dash { position: absolute; left: 29.2%; width: 33.8%; top: 74.16%; height: 3.4%; transform: translateY(-50%); overflow: hidden; pointer-events: none }
  .mo-value .vf-dash::after { content: ""; position: absolute; top: 0; bottom: 0; width: 42%; left: -42%; background: linear-gradient(90deg,rgba(64,150,240,0) 0%,rgba(64,150,240,.55) 45%,rgba(120,190,255,.85) 60%,rgba(64,150,240,0) 100%); mix-blend-mode: screen; animation: vfSweep 2.4s cubic-bezier(.45,0,.55,1) infinite }
  @keyframes vfSweep { 100% { left: 100% } }
  
  .mo-value .vf-glow { position: absolute; left: 71.77%; top: 74.6%; width: 10.2%; aspect-ratio: 1; transform: translate(-50%,-50%); border-radius: 50%; pointer-events: none; animation: vfPulse 1.9s ease-in-out infinite }
  @keyframes vfPulse { 0%, 100% { box-shadow: 0 0 12px 0 rgba(64,150,240,.5) } 50% { box-shadow: 0 0 26px 2px rgba(64,150,240,.92) } }
  
  @media (prefers-reduced-motion:reduce) {
    .mo-value .vf-dash::after, .mo-value .vf-glow { animation: none }
  }
  .mo-premium-list .mo-in { padding: var(--sp-24)0 var(--sp-32) }
  
  
  .mo-amenity-cover { position: relative; background: var(--brand-1); font-size: 0; overflow: hidden }
  .mo-amenity-cover .ac-bg { display: block; width: 100%; height: auto; opacity: .62 }
  
  .mo-amenity-cover .ac-title { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 74%; max-width: 74%; max-height: 88%; height: auto; display: block; object-fit: contain }
  
  
  .mo-final { position: relative }
  .mo-final .final-card { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 76%; height: auto; display: block; z-index: 1; filter: drop-shadow(0 6px 24px rgba(var(--shadow-rgb),.35)) }
  .mo-slab { background: var(--brand-1); font-size: 0 }
  .mo-slab img { display: block; inline-size: 100%; height: auto }
  
  
  .vd--yt { position: absolute; inset: 0; overflow: hidden; background: #000 }
  
  .vd--yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0 }
  .vd--yt::after { content: ""; position: absolute; inset: 0; z-index: 2; background: #000; transition: opacity .35s ease; opacity: 1; pointer-events: none }
  
  .vd--yt.hl-is-ready::after { opacity: 0 }
  
  .vd--yt { pointer-events: none }
  .vd--banner { touch-action: pan-y; user-select: none; -webkit-user-select: none; position: relative; isolation: isolate; width: 94%; max-width: 500px; height: 200px; margin: var(--sp-16) auto; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-card) }
  
  
  .vd--banner .vd--thumb { position: absolute; inset: 0; background: rgb(0 0 0) }
  .vd--banner .vd--thumb .vd--loop { display: block; inline-size: 100%; height: 100%; object-fit: cover }
  .vd--banner .vd--text { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; padding: var(--sp-20); background: linear-gradient(90deg,transparent 40%,rgba(255,255,255,.95) 55%); pointer-events: none }
  .vd--banner .vd--text-inner { margin-left: auto; text-align: right; max-inline-size: 48% }
  .vd--banner .brand-name { font-size: 17px; font-weight: 900; letter-spacing: .06em; color: #1a1a1a }
  .vd--banner .brand-sub { font-size: 11px; color: #888; margin-top: var(--sp-4) }
  .vd--banner .vd--badge { position: absolute; z-index: 6; top: var(--sp-10); right: var(--sp-10); background: var(--brand-1); color: var(--color-text-invert); font-size: 0.7rem; font-weight: var(--fw-head); padding: var(--sp-10); border-radius: 20px }
  .vd--banner .vd--arrow { position: absolute; z-index: 6; right: 14px; bottom: 25px; font-size: 20px; font-weight: 900; color: var(--brand-1) }
  
  .mo-amenity { background: var(--brand-1); padding: 0; text-align: center }
  .mo-amenity .mo-in { padding: var(--sp-40) var(--sp-16) }
  .mo-amenity .am-display { font-family: var(--font-display-en); font-weight: 800; font-size: var(--fs-31); letter-spacing: var(--ls-point); color: transparent; -webkit-text-stroke: 0.4px #fff }
  
  .mo-amenity .am-sub { color: var(--color-text-invert); font-size: var(--fs-17); margin: var(--sp-8)0 var(--sp-20) }
  .mo-amenity .am-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8) }
  .mo-amenity .ph-media { border-radius: var(--radius-btn); overflow: hidden; aspect-ratio: 4/3 }
  
  .mo-amenity .ph-media img { width: 100%; height: 100%; object-fit: cover; object-position: center }
  .mo-amenity .ph-media img.pos-left { object-position: left center }
  
  .mo-final { background: #fff; text-align: center; padding: 0 }
  .mo-final .mo-in { padding: var(--sp-40) var(--sp-16)0 }
  .mo-final .f-kicker { font-size: var(--fs-17); font-weight: var(--fw-emph); color: var(--brand-2) }
  .mo-final .f-title { font-size: var(--fs-31); font-weight: var(--fw-head); line-height: 1.25; margin: var(--sp-12)0 }
  .mo-final .f-title em { font-style: normal; color: var(--brand-1) }
  .mo-final .f-sub { font-size: var(--fs-16); line-height: 1.6; color: #333; margin-bottom: var(--sp-20) }
  .mo-final .f-sub b { color: var(--brand-1) }
  
  .mo-form { background: linear-gradient(rgba(var(--shadow-rgb),.85),rgba(var(--shadow-rgb),.85)),url(../img/contact_bg.jpg)60%center/cover no-repeat; padding: 0 }
  .mo-form .mo-in { padding: var(--sp-24) var(--sp-16) var(--sp-40) }
  
  .home-mo .mo-section[id] { scroll-margin-top: calc(var(--hd-h-mo) + var(--sp-8)) }
  
  .mo-gift { background: var(--glass-bg); border: var(--glass-border); border-radius: var(--glass-radius); padding: var(--sp-20); margin-bottom: var(--sp-16); color: var(--color-text-invert) }
  .mo-gift .gift-title { text-align: center; font-size: var(--fs-20); font-weight: var(--fw-regular); letter-spacing: var(--ls-base); margin-bottom: var(--sp-16) }
  .mo-gift .gift-title b { font-weight: var(--fw-head); color: var(--brand-3) }
  .mo-gift .gift-list { display: flex; flex-direction: column; gap: var(--sp-8) }
  
  .mo-gift .gift-group { font-size: var(--fs-14); font-weight: var(--fw-head); color: var(--brand-3); margin: var(--sp-12)0 var(--sp-8) }
  .mo-gift .gift-title+.gift-group { margin-top: 0 }
  .mo-gift .gift-group small { font-size: var(--fs-13); font-weight: var(--fw-light); color: var(--color-text-invert); opacity: .7; margin-left: var(--sp-4) }
  
  .mo-gift .gift-list li { display: flex; align-items: center; gap: var(--sp-10); background: var(--glass-bg); border-radius: var(--radius-btn-s); padding: var(--sp-10) var(--sp-12); font-size: var(--fs-16) }
  .mo-gift .gift-list i { flex: 0 0 auto; font-style: normal; font-size: var(--fs-17); color: var(--brand-3) }
  .mo-gift .gift-list span { flex: 1 1 auto; min-width: 0; font-weight: var(--fw-light) }
  .mo-gift .gift-list span b { font-weight: var(--fw-head) }
  .mo-gift .gift-list em { flex: 0 0 auto; font-style: normal; font-size: var(--fs-13); opacity: .7 }
  .mo-gift .gift-note { font-size: var(--fs-13); opacity: .7; margin-top: var(--sp-8) }
  .mo-gift .gift-note+.gift-note { margin-top: var(--sp-4) }
  .mo-form .form-box { display: flex; flex-direction: column; gap: var(--sp-12); background: var(--glass-bg); border: var(--glass-border); border-radius: var(--glass-radius); padding: var(--sp-24) var(--sp-20); color: var(--color-text-invert) }
  .mo-form h3 { text-align: center; font-size: var(--fs-24); font-weight: var(--fw-head) }
  .mo-form .form-note { text-align: center; font-size: var(--fs-14); opacity: .7 }
  .mo-form label { font-size: var(--fs-16) }
  .mo-form label.is-req::after { content: " *"; color: rgba(255,255,255,.7) }
  .mo-form input:not([type="checkbox"]):not([type="radio"]), .mo-form textarea, .mo-form select { width: 100%; color: var(--color-text-invert); font-size: 14px; font-family: var(--font-body); background: var(--glass-bg); border: var(--glass-border); border-radius: var(--glass-radius); padding: var(--sp-8); outline: none }
  
  .mo-form input[type="date"], .mo-form select { color-scheme: dark }
  
  .mo-form input[type="date"], .mo-form input[type="time"], .mo-form select { -webkit-appearance: none; appearance: none; min-width: 0; max-width: 100%; box-sizing: border-box; display: block; text-align: left; height: 35px; line-height: 17px }
  
  .mo-form input::placeholder, .mo-form textarea::placeholder { color: rgba(255,255,255,.3); font-weight: var(--fw-light) }
  
  .mo-form .agree-row { display: flex; align-items: center; gap: var(--sp-8); flex-wrap: wrap }
  .mo-form .agree-row .agree { margin: 0 }
  .mo-form .agree-view { background: none; border: 0; padding: 2px 0; color: var(--brand-3); font-size: var(--fs-13); text-decoration: underline; text-underline-offset: 3px; cursor: pointer }
  .mo-form .agree-body { margin-top: var(--sp-8); font-size: var(--fs-12); color: rgba(255,255,255,.75); background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.16); border-radius: 4px; padding: var(--sp-12); line-height: 1.7; text-align: left }
  .mo-form .agree-body dl { margin: 0; display: grid; grid-template-columns: 76px 1fr; gap: 4px var(--sp-8) }
  .mo-form .agree-body dt { font-weight: var(--fw-head); color: rgba(255,255,255,.92) }
  .mo-form .agree-body dd { margin: 0 }
  .mo-form .agree-body p { margin: var(--sp-8)0 0; color: rgba(255,255,255,.6) }
  .mo-form .agree input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--brand-3) }
  .mo-form .agree { display: flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(255,255,255,.9) }
  
  
  .mo-form button.btn-img { background: none; border: 0; padding: 0; width: 100%; height: auto; display: block; margin: var(--sp-16)0 var(--sp-12); filter: drop-shadow(0 4px 12px rgba(var(--shadow-rgb),.4)) }
  
  .mo-form button.btn-img img { display: block; inline-size: 100%; height: auto }
  .mo-form button.btn-img:disabled { opacity: .5 }
  .mo-form .form-status { font-size: var(--fs-14); line-height: 1.6; text-align: center; color: rgba(255,255,255,.85) }
  .mo-form .form-status:empty { display: none }
  .mo-form .form-status.is-ok { color: #fff; font-weight: var(--fw-head) }
  .mo-form .form-status.is-warn { color: #ffb4ab; font-weight: var(--fw-btn) }
  
  .mo-form .form-box { background: #fff; border: 1px solid #e3e7ee; color: #1c2333; box-shadow: 0 8px 28px rgba(var(--shadow-rgb),.28) }
  .mo-form h3 { color: var(--brand-1) }
  .mo-form .form-note { opacity: 1; color: #6b7280 }
  .mo-form label { color: #1c2333 }
  .mo-form label.is-req::after { color: var(--brand-3) }
  .mo-form input:not([type="checkbox"]):not([type="radio"]), .mo-form textarea, .mo-form select { color: #1c2333; background: #f6f7fa; border: 1px solid #d5dbe5 }
  .mo-form input[type="date"], .mo-form select { color-scheme: light }
  .mo-form input::placeholder, .mo-form textarea::placeholder { color: rgba(28,35,51,.4) }
  .mo-form .agree { color: #1c2333 }
  .mo-form .agree-body { color: #4b5563; background: #f6f7fa; border-color: #e3e7ee }
  .mo-form .agree-body dt { color: var(--brand-1) }
  .mo-form .agree-body p { color: #6b7280 }
  .mo-form .form-status { color: #1c2333 }
  .mo-form .form-status.is-ok { color: var(--brand-1) }
  .mo-form .form-status.is-warn { color: #c0392b }
  .mo-form button[type="submit"]:disabled { opacity: .5; cursor: default }
  
  .mo-form button[type="submit"]:not(.btn-img) { width: 100%; height: 64px; background: #fff; color: #000; font-size: var(--fs-19); font-weight: var(--fw-emph); border-radius: var(--radius-btn); display: flex; align-items: center; justify-content: center }
  
  
  .mo-quick { position: fixed; left: 0; bottom: 0; width: 100%; z-index: 2; pointer-events: none }
  .mo-quick .q-btns { position: absolute; left: var(--sp-8); bottom: 21vw; display: flex; flex-direction: column; gap: 5px; pointer-events: auto; z-index: 2 }
  
  .mo-quick .q-btns a, .mo-quick .q-btns button { display: block; width: 20vw; max-width: 86px; padding: 0; border: 0; background: none; filter: drop-shadow(0 3px 8px rgba(var(--shadow-rgb),.35)) }
  .mo-quick .q-btns img { display: block; inline-size: 100%; height: auto }
  
  .mo-quick .q-scene { position: absolute; right: var(--sp-8); bottom: 19vw; width: 33vw; max-width: 150px; pointer-events: none; z-index: 0 }
  
  .mo-quick .q-scene .q-tram { display: block; inline-size: 100%; height: auto }
  
  .mo-quick .q-scene .q-bubble { position: absolute; left: -18%; top: 9%; width: 114%; max-width: none; height: auto; display: block; filter: drop-shadow(0 2px 6px rgba(var(--shadow-rgb),.3)) }
  
  
  .mo-quick .q-scene .q-ribbon { position: absolute; left: -105%; bottom: 2vw; width: 52%; height: auto; display: block; filter: drop-shadow(0 2px 6px rgba(var(--shadow-rgb),.3)) }
  
  .mo-quick .q-banner { position: relative; z-index: 1; display: block; font-size: 0; pointer-events: auto }
  
  .mo-quick .q-banner img { display: block; inline-size: 100%; height: auto }
  
  .pagefoot { background: #f2f2f2; color: #333; padding-bottom: 30vw }
  .pagefoot p, .pagefoot table { color: #333 }
  .pagefoot .ft-logo { color: var(--brand-2) }
  .pagefoot .ft-side { display: flex }
  .pagefoot .ft-side { justify-content: space-between }
  .pagefoot .ft-side { align-items: center }
  #toTopBtn { display: flex; align-items: center; justify-content: center; width: 10vw; height: 10vw; background: var(--brand-1); color: var(--color-text-invert); border-radius: var(--radius-circle); font-size: var(--fs-19) }
  .allmenu { display: block; position: absolute; top: 100%; left: 0; width: 100%; height: 100vh; background: #383a38; transform: translateX(-100%); overflow-y: auto; scrollbar-width: none; padding: 3vw 3vw 80vw; z-index: 1 }
  .pagehead.is-unfold .allmenu { transform: translateX(0) }
  .mega-inner { display: block }
  .mega-col { border-bottom: 1px solid #555 }
  .mega-col h4 { display: block }
  .mega-col h4, .mega-col ul li a { position: relative; display: block; padding: 4vw 8vw; color: var(--color-gray-2); font-size: 4vw }
  .mega-col h4:hover, .mega-col ul li a:hover { background: rgba(0,0,0,.1) }
  .mega-col h4::after { content: ""; position: absolute; right: 6vw; top: 5vw; width: 1.8vw; height: 1.8vw; border-top: 0.6vw solid var(--color-gray-2); border-right: 0.6vw solid var(--color-gray-2); transform: rotate(135deg); transition: 0.3s }
  .mega-col.menu-shown h4::after { transform: rotate(-45deg) }
  .mega-col ul { background: rgba(0,0,0,.2); display: none }
  .mega-col.menu-shown ul { display: block }
  .allmenu .mo-gnb { margin-top: 60px }
  .allmenu .mo-gnb li a, .allmenu .mo-gnb li button { display: block; width: 100%; text-align: center; color: #fff; font-size: 4.5vw; font-weight: var(--fw-emph); padding: 4vw 0 }
  .allmenu .mo-gnb .m-number { background: #4b5055 }
  .allmenu .mo-gnb .m-registration { background: var(--brand-1) }
  .allmenu .mo-gnb .m-close { background: #222; margin-top: var(--sp-10); border-radius: var(--sp-10) }
  .header-dim { display: none }
  
  .pagehead.is-unfold .menu-btn span:nth-child(1) { transform: rotate(45deg); transform-origin: top left }
  .pagehead.is-unfold .menu-btn span:nth-child(2) { opacity: 0 }
  .pagehead.is-unfold .menu-btn span:nth-child(3) { transform: rotate(-45deg); transform-origin: bottom left }
}

@media (max-width:990px) {
  .mo-form .mo-in>button.btn-img { margin: var(--sp-16)0 0; width: 100% }
}

html.is-typing .mo-quick, html.is-typing #toTopBtn, html.is-form-active .mo-quick, html.is-form-active #toTopBtn { display: none !important }
@media (max-width:990px) {
  .mo-interior .int-note { margin: var(--sp-8) var(--sp-8)0; font-size: var(--fs-12); line-height: 1.5; color: #777 }
}

@media (max-width:990px) {
  .mo-video .sec-frame:has(>img) { aspect-ratio: 1173/368 }
  .mo-video .sec-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block }
}
