html { overflow-x: clip; }
  body { margin: 0; overflow-x: clip; max-width: 100%; font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; -webkit-font-smoothing: antialiased; }
  h1, h2, h3, h4, h5, h6 { font-family: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; font-weight: 500; letter-spacing: 0.04em; }
  a { color: #16304f; text-decoration: none; }
  a:hover { color: #22507f; text-decoration: underline; }
  summary::-webkit-details-marker, summary::marker { display: none; content: ''; }
  details summary::after { content: '＋'; margin-left: auto; color: #16304f; font-size: 15px; }
  details[open] > summary::after { content: '−'; }
  .faq-columns details[open] summary { background: #d8e6f3; }
  image-slot { touch-action: pan-x pan-y pinch-zoom; }
  input[type="date"]::-webkit-date-and-time-value { text-align: left; }
  @media (hover: none), (pointer: coarse) {
    image-slot { pointer-events: none; }
  }
  .table tbody tr:hover { background: transparent; }
  @keyframes marqueeLeft { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes marqueeRight { from { transform: translateX(-50%); } to { transform: translateX(0); } }
  @keyframes menuFadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
.scp0:hover { text-decoration: none !important; }
.scp1:hover { color: rgb(22, 48, 79) !important; }
.scp2:hover { text-decoration: none !important; color: rgb(34, 80, 127) !important; }
.scp3:hover { background: rgb(34, 80, 127) !important; color: rgb(255, 255, 255) !important; text-decoration: none !important; }
.scp4:hover { border-color: rgb(22, 48, 79) !important; background: rgb(247, 248, 249) !important; }
.scp5:hover { background: rgb(22, 48, 79) !important; color: rgb(255, 255, 255) !important; }
.scp6:hover { background: rgb(233, 238, 244) !important; color: rgb(22, 48, 79) !important; text-decoration: none !important; }
.scp7:hover { color: rgb(255, 255, 255) !important; text-decoration: none !important; }
.scp8:hover { background: rgb(38, 68, 104) !important; }
.scp9:hover { background: rgb(233, 238, 243) !important; }
:root { --bp-sealyTitle: 25px; --bp-accTable: 17px; --bp-bestRateDisp: inline; --bp-bestRateW: auto; --bp-ctaTel: clamp(26px, 3.4vw, 40px); --bp-sideLead: clamp(12px, 1.2vw, 17px); --bp-sideLeadAlign: right; --bp-sideLeadWrap: nowrap; --bp-snapAlign: start; --bp-snapType: x proximity; --bp-trackPadX: clamp(16px, 4vw, 32px); --bp-arrowsTop: flex; --bp-arrowsBottom: none; --bp-banFadeV: none; --bp-banDisp: block; --bp-banAR: 1400 / 380; --bp-banMin: 240px; --bp-banImgPos: absolute; --bp-banImgW: 66%; --bp-banImgAR: auto; --bp-banFade: block; --bp-banTxtPos: absolute; --bp-banTxtL: clamp(28px, 8%, 116px); --bp-banTxtR: 36%; --bp-banTxtPad: 0; --bp-leadL: 18px; --bp-leadM: 17px; --bp-featTitle: clamp(15px, 1.7vw, 20px); --bp-moreDisp: inline; --bp-moreBreak: none; --bp-roomHeadDir: row; --bp-roomHeadAlign: baseline; --bp-heroLayerPos: fixed; --bp-heroLayerH: 100vh; --bp-heroInFlex: flex; --bp-heroInBlock: block; --bp-heroOutBlock: none; --bp-bookMt: -38px; --bp-heroLogoTop: 36%; --bp-heroLogoW: clamp(345px, 32.4vw, 453px); --bp-heroKick: clamp(17px, 2.3vw, 28px); --bp-heroKickLs: 0.22em; --bp-heroKickMb: 20px; --bp-heroPadB: clamp(40px, 7vw, 64px); --bp-statText: clamp(13px, 1.25vw, 18px); --bp-statNum: clamp(52px, 6vw, 84px); --bp-statUnit: clamp(20px, 2.2vw, 30px); --bp-heroH: 76vh; --bp-heroMin: 520px; --bp-airCard: minmax(110px, 36%) minmax(0, 1fr); --bp-airImgRatio: auto; --bp-roomFiller: block; --bp-book: repeat(4, minmax(0, 1fr)) auto; --bp-bookBtn: auto; --bp-c3: repeat(3, minmax(0, 1fr)); --bp-stats: repeat(3, minmax(0, 1fr)); --bp-statsGap: 40px; --bp-sealy: 300px minmax(0, 1fr); --bp-c2lg: repeat(2, minmax(0, 1fr)); --bp-c2md: repeat(2, minmax(0, 1fr)); --bp-feat: 190px minmax(0, 1fr); --bp-track: calc((100% - 108px) / 4); --bp-trackGap: 36px; --bp-access: repeat(2, minmax(0, 1fr)); --bp-faq: repeat(2, minmax(0, 1fr)); --bp-footer: minmax(0, 1fr) auto; --bp-footLinks: repeat(2, auto); --x-heroTitleSize: clamp(20px, 4.4vw, 58px); --x-heroTitleLh: 1.28; --x-heroLeadSize: clamp(11px, 1.6vw, 21px); --x-heroTitleWrap: nowrap; --x-headerMinHeight: 100px; --x-logoWidth: clamp(138px, 12.5vw, 180px); --x-headerH: 101px; }
@media (max-width: 1439px) { :root { --bp-sealyTitle: 25px; --bp-accTable: 17px; --bp-bestRateDisp: inline; --bp-bestRateW: auto; --bp-ctaTel: clamp(26px, 3.4vw, 40px); --bp-sideLead: clamp(12px, 1.2vw, 17px); --bp-sideLeadAlign: right; --bp-sideLeadWrap: nowrap; --bp-snapAlign: start; --bp-snapType: x proximity; --bp-trackPadX: clamp(16px, 4vw, 32px); --bp-arrowsTop: flex; --bp-arrowsBottom: none; --bp-banFadeV: none; --bp-banDisp: block; --bp-banAR: 1400 / 380; --bp-banMin: 240px; --bp-banImgPos: absolute; --bp-banImgW: 66%; --bp-banImgAR: auto; --bp-banFade: block; --bp-banTxtPos: absolute; --bp-banTxtL: clamp(28px, 8%, 116px); --bp-banTxtR: 36%; --bp-banTxtPad: 0; --bp-leadL: 18px; --bp-leadM: 17px; --bp-featTitle: clamp(15px, 1.7vw, 20px); --bp-moreDisp: inline; --bp-moreBreak: none; --bp-roomHeadDir: row; --bp-roomHeadAlign: baseline; --bp-heroLayerPos: fixed; --bp-heroLayerH: 100vh; --bp-heroInFlex: flex; --bp-heroInBlock: block; --bp-heroOutBlock: none; --bp-bookMt: -38px; --bp-heroLogoTop: 36%; --bp-heroLogoW: clamp(345px, 32.4vw, 453px); --bp-heroKick: clamp(17px, 2.3vw, 28px); --bp-heroKickLs: 0.22em; --bp-heroKickMb: 20px; --bp-heroPadB: clamp(40px, 7vw, 64px); --bp-statText: clamp(13px, 1.25vw, 18px); --bp-statNum: clamp(52px, 6vw, 84px); --bp-statUnit: clamp(20px, 2.2vw, 30px); --bp-heroH: 76vh; --bp-heroMin: 520px; --bp-airCard: minmax(110px, 36%) minmax(0, 1fr); --bp-airImgRatio: auto; --bp-roomFiller: block; --bp-book: repeat(4, minmax(0, 1fr)) auto; --bp-bookBtn: auto; --bp-c3: repeat(3, minmax(0, 1fr)); --bp-stats: repeat(3, minmax(0, 1fr)); --bp-statsGap: 32px; --bp-sealy: 260px minmax(0, 1fr); --bp-c2lg: repeat(2, minmax(0, 1fr)); --bp-c2md: repeat(2, minmax(0, 1fr)); --bp-feat: 160px minmax(0, 1fr); --bp-track: calc((100% - 72px) / 3); --bp-trackGap: 36px; --bp-access: minmax(0, 3fr) minmax(0, 2fr); --bp-faq: minmax(0, 1fr); --bp-footer: minmax(0, 1fr) auto; --bp-footLinks: repeat(2, auto); --x-heroTitleSize: clamp(20px, 4.4vw, 58px); --x-heroTitleLh: 1.28; --x-heroLeadSize: clamp(11px, 1.6vw, 21px); --x-heroTitleWrap: nowrap; --x-headerMinHeight: 100px; --x-logoWidth: clamp(138px, 12.5vw, 180px); --x-headerH: 101px; } }
@media (max-width: 1023px) { :root { --bp-sealyTitle: 25px; --bp-accTable: 17px; --bp-bestRateDisp: inline; --bp-bestRateW: auto; --bp-ctaTel: clamp(26px, 3.4vw, 40px); --bp-sideLead: clamp(12px, 1.2vw, 17px); --bp-sideLeadAlign: right; --bp-sideLeadWrap: nowrap; --bp-snapAlign: start; --bp-snapType: x proximity; --bp-trackPadX: clamp(16px, 4vw, 32px); --bp-arrowsTop: flex; --bp-arrowsBottom: none; --bp-banFadeV: none; --bp-banDisp: block; --bp-banAR: 1400 / 380; --bp-banMin: 240px; --bp-banImgPos: absolute; --bp-banImgW: 66%; --bp-banImgAR: auto; --bp-banFade: block; --bp-banTxtPos: absolute; --bp-banTxtL: clamp(28px, 8%, 116px); --bp-banTxtR: 36%; --bp-banTxtPad: 0; --bp-leadL: 18px; --bp-leadM: 17px; --bp-featTitle: clamp(15px, 1.7vw, 20px); --bp-moreDisp: inline; --bp-moreBreak: none; --bp-roomHeadDir: row; --bp-roomHeadAlign: baseline; --bp-heroLayerPos: fixed; --bp-heroLayerH: 100vh; --bp-heroInFlex: flex; --bp-heroInBlock: block; --bp-heroOutBlock: none; --bp-bookMt: -38px; --bp-heroLogoTop: 36%; --bp-heroLogoW: clamp(345px, 32.4vw, 453px); --bp-heroKick: clamp(17px, 2.3vw, 28px); --bp-heroKickLs: 0.22em; --bp-heroKickMb: 20px; --bp-heroPadB: clamp(40px, 7vw, 64px); --bp-statText: clamp(13px, 1.25vw, 18px); --bp-statNum: clamp(52px, 6vw, 84px); --bp-statUnit: clamp(20px, 2.2vw, 30px); --bp-heroH: 76vh; --bp-heroMin: 520px; --bp-airCard: minmax(110px, 36%) minmax(0, 1fr); --bp-airImgRatio: auto; --bp-roomFiller: none; --bp-book: repeat(2, minmax(0, 1fr)); --bp-bookBtn: 1 / -1; --bp-c3: repeat(2, minmax(0, 1fr)); --bp-stats: repeat(3, minmax(0, 1fr)); --bp-statsGap: 20px; --bp-sealy: 220px minmax(0, 1fr); --bp-c2lg: minmax(0, 1fr); --bp-c2md: repeat(2, minmax(0, 1fr)); --bp-feat: minmax(0, 1fr); --bp-track: calc((100% - 28px) / 2); --bp-trackGap: 28px; --bp-access: minmax(0, 1fr); --bp-faq: minmax(0, 1fr); --bp-footer: minmax(0, 1fr); --bp-footLinks: repeat(2, auto); --x-heroTitleSize: clamp(20px, 4.4vw, 58px); --x-heroTitleLh: 1.28; --x-heroLeadSize: clamp(11px, 1.6vw, 21px); --x-heroTitleWrap: nowrap; --x-headerMinHeight: 64px; --x-logoWidth: 120px; --x-headerH: 65px; } }
@media (max-width: 767px) { :root { --bp-sealyTitle: 20px; --bp-accTable: 15px; --bp-bestRateDisp: block; --bp-bestRateW: 100%; --bp-ctaTel: 34px; --bp-sideLead: 14px; --bp-sideLeadAlign: left; --bp-sideLeadWrap: normal; --bp-snapAlign: center; --bp-snapType: x proximity; --bp-trackPadX: 8%; --bp-arrowsTop: none; --bp-arrowsBottom: flex; --bp-banFadeV: block; --bp-banDisp: flex; --bp-banAR: auto; --bp-banMin: 0px; --bp-banImgPos: relative; --bp-banImgW: 100%; --bp-banImgAR: 16 / 9; --bp-banFade: none; --bp-banTxtPos: relative; --bp-banTxtL: auto; --bp-banTxtR: auto; --bp-banTxtPad: 26px 24px 6px; --bp-leadL: 16px; --bp-leadM: 15px; --bp-featTitle: 20px; --bp-moreDisp: inline-block; --bp-moreBreak: block; --bp-roomHeadDir: column; --bp-roomHeadAlign: flex-start; --bp-heroLayerPos: absolute; --bp-heroLayerH: 100%; --bp-heroInFlex: none; --bp-heroInBlock: none; --bp-heroOutBlock: block; --bp-bookMt: 0px; --bp-heroLogoTop: 30%; --bp-heroLogoW: min(62vw, 250px); --bp-heroKick: min(15px, calc((100vw - 44px) / 20.5)); --bp-heroKickLs: 0.14em; --bp-heroKickMb: 14px; --bp-heroPadB: 76px; --bp-statText: 18px; --bp-statNum: 76px; --bp-statUnit: 28px; --bp-heroH: 75vw; --bp-heroMin: 240px; --bp-airCard: minmax(0, 1fr); --bp-airImgRatio: 16 / 9; --bp-roomFiller: none; --bp-book: minmax(0, 1fr); --bp-bookBtn: 1 / -1; --bp-c3: minmax(0, 1fr); --bp-stats: minmax(0, 1fr); --bp-statsGap: 16px; --bp-sealy: minmax(0, 1fr); --bp-c2lg: minmax(0, 1fr); --bp-c2md: minmax(0, 1fr); --bp-feat: minmax(0, 1fr); --bp-track: 84%; --bp-trackGap: 20px; --bp-access: minmax(0, 1fr); --bp-faq: minmax(0, 1fr); --bp-footer: minmax(0, 1fr); --bp-footLinks: repeat(2, minmax(0, 1fr)); --x-heroTitleSize: min(32px, calc((100vw - 44px) / 12.6)); --x-heroTitleLh: 1.5; --x-heroLeadSize: min(15px, calc((100vw - 44px) / 19.4)); --x-heroTitleWrap: normal; --x-headerMinHeight: 64px; --x-logoWidth: 120px; --x-headerH: 65px; } }
@media (min-width: 1024px) { [data-show="mob"] { display: none !important; } }
@media (max-width: 1023px) { [data-show="desk"] { display: none !important; } }
html:not(.menu-open) [data-js="menu"] { display: none !important; }
html.menu-open [data-burger="1"] { transform: translateY(8.5px) rotate(45deg) !important; }
html.menu-open [data-burger="2"] { opacity: 0 !important; }
html.menu-open [data-burger="3"] { transform: translateY(-8.5px) rotate(-45deg) !important; }
html:not(.lb-open) [data-js="lightbox"] { display: none !important; }
html.sticky-closed [data-js="sticky"] { display: none !important; }
.br-sm { display: none; }
@media (max-width: 767px) { .br-sm { display: inline; } }
img { max-width: 100%; }
[data-ban-txt] { flex-direction: column !important; align-items: stretch !important; justify-content: center; gap: clamp(16px, 1.8vw, 24px); }
@media (min-width: 768px) {
  [data-ban] { aspect-ratio: auto !important; min-height: max(240px, calc(min(100vw, 1400px) * 0.2714)) !important; }
  [data-ban-txt] { position: relative !important; top: auto !important; bottom: auto !important; left: auto !important; right: auto !important; width: 64%; min-height: inherit; box-sizing: border-box; padding: clamp(28px, 3.4vw, 48px) 0 clamp(28px, 3.4vw, 48px) clamp(28px, 6%, 84px) !important; }
}
@media (max-width: 767px) { [data-ban-list] { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; } [data-ban-list] li { padding: 4px 10px !important; font-size: 13px !important; } }

/* スマホMV：画像上に文字を重ねる表示に戻す */
@media (max-width: 767px) { :root { --bp-heroInFlex: flex; --bp-heroInBlock: block; --bp-heroOutBlock: none; --bp-heroH: 72vh; --bp-heroMin: 500px; --bp-bookMt: 24px; } }

/* AUN修正 */
@keyframes heroLogoIn { from { opacity: 0; filter: blur(6px); } to { opacity: 1; filter: blur(0); } }
[data-hero-logo] { animation: heroLogoIn 1.8s cubic-bezier(.22,.61,.36,1) .3s both; }
details[data-faqcat] > summary::-webkit-details-marker { display: none; }
details[data-faqcat] > summary::after { content: '＋'; margin-left: auto; color: #fff; font-size: 20px; font-weight: 300; line-height: 1; }
details[data-faqcat][open] > summary::after { content: '−'; }
[data-footlinks] { grid-template-columns: repeat(4, max-content); grid-auto-flow: column; grid-template-rows: repeat(3, auto); }
[data-footlinks] [data-foot-ig] { grid-row: 1; }
@media (max-width: 767px) { [data-footlinks] { grid-template-columns: repeat(2, minmax(0px, 1fr)); grid-auto-flow: row; grid-template-rows: none; } [data-footlinks] [data-foot-ig] { grid-row: auto; } }

/* ヘッダー 1439px以下で縮小 */
@media (max-width: 1439px) {
  [data-hdname] { gap: 9px !important; }
  [data-hd-name] { font-size: clamp(15px, 1.5vw, 20px) !important; }
  [data-hd-nav] { font-size: clamp(11px, 1vw, 13px) !important; gap: 4px clamp(8px, 1.3vw, 22px) !important; }
  [data-hd-nav] svg { width: 22px; height: 22px; }
  [data-hd-lang] { width: clamp(170px, 14.5vw, 204px) !important; font-size: 11.5px !important; height: 22px !important; }
  [data-hd-tel] { padding: 0px 10px 0px 14px !important; gap: 4px !important; }
  [data-hd-tel] > span:first-child { font-size: 10.5px !important; }
  [data-hd-tel] img { height: 18px !important; }
  [data-hd-tel] > span:last-child > span { font-size: clamp(17px, 1.6vw, 22px) !important; }
  [data-hd-book] { width: clamp(170px, 14.5vw, 204px) !important; height: 44px !important; font-size: 14.5px !important; }
}
@media (min-width: 768px) and (max-width: 1439px) { :root { --x-logoWidth: clamp(120px, 11vw, 158px); } }
@media (max-width: 1023px) { footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; } }
@media (min-width: 768px) { [data-ban-access] [role="img"], [data-ban-access] > div > div[style*="access-banner"] { background-position: center 62% !important; } }
@media (max-width: 767px) { [data-hero-slide] [style*="hero-exterior.webp"] { background-image: url("../img/hero-exterior-sp.webp") !important; background-position: center 30% !important; } }
@media (max-width: 767px) { [data-hero-slide] [style*="hero-1.webp"] { background-size: auto 114% !important; background-position: center bottom !important; } }
@keyframes marqueeLeft { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
@keyframes marqueeRight { from { transform: translate3d(-50%,0,0); } to { transform: translate3d(0,0,0); } }
[style*="marqueeLeft"], [style*="marqueeRight"] { will-change: transform; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
[style*="marqueeLeft"], [style*="marqueeRight"] { animation: none !important; }
[style*="marqueeLeft"] > [data-idx], [style*="marqueeRight"] > [data-idx] { width: clamp(240px, 24vw, 360px) !important; }

/* AUN4 hero text */
@keyframes heroTextIn { from { opacity: 0; transform: translateY(10px); filter: blur(4px); } to { opacity: 1; transform: none; filter: blur(0); } }
[data-hero-title] { animation: heroTextIn 1.4s cubic-bezier(.22,.61,.36,1) 1.1s both; }
[data-hero-sub] { animation: heroTextIn 1.4s cubic-bezier(.22,.61,.36,1) 2.1s both; }
a[data-more-link] { transition: color 200ms; }
a[data-more-link]:hover { text-decoration: none !important; color: #4a86c0 !important; }
