/* PC 공용 콘텐츠를 모바일·태블릿 화면에 맞춰 배치 */
@media all and (max-width: 1400px) {
    body.main { overflow-x: clip; }
    #section1, #section2, #section3, #section4, #section5 { scroll-margin-top: 6rem; }
    .navi .navi-bg, .navi .depth2 { display: none !important; }
    .main_txt_box { min-height: 100svh; height: auto; box-sizing: border-box; padding: 8rem 1.5rem 7rem; }
    .main_txt_box>div { width: 100%; transform: none; }
    .main_txt_box .main_keyvisual { width: min(32rem, 78vw); max-width: 100%; }
    .main_txt_box .main_logo { width: 14rem; max-width: 62vw; height: auto; }
    .main_sum_box { padding: 6rem 0; background: #1e2614; }
    .main_sum_box>div:first-child { width: 88%; gap: 3rem; }
    .main_sum_box .sum_txt_box { width: 100%; }
    .main_sum_box .sum_txt_box>div { opacity: 1; transform: none; }
    .main_sum_box .sum_sum { opacity: 1; transform: none; }
    .main_sum_box .summary_grid li p { color: rgba(255,255,255,.8); opacity: 1; }
    .location_wrap { display: flex; flex-direction: column; align-items: center; gap: 0; height: auto; padding: 6rem 0 4rem; }
    .location_wrap .location_tit { order: 1; flex: none; width: 90%; height: auto; padding: 0; text-align: left; }
    .location_wrap .location_tit>div { width: 100%; max-width: none; transform: none; }
    .location_wrap .location_map_box { order: 2; flex: none; width: 100%; height: auto; max-width: none; padding: 0; margin-top: 2.5rem; }
    .location_wrap .location_map, .location_wrap .location_map .wraps { width: 100%; height: auto; max-height: none; }
    .location_wrap .location_map .target { width: 100%; height: auto; max-width: 100%; object-fit: contain; }
    .location_wrap .location_inset { order: 3; width: min(76vw, 30rem); margin: 2.5rem auto 0; }
    .location_wrap .location_ori_bt { order: 4; position: relative; right: auto; bottom: auto; margin: 2rem 0 0; }
    .brand_wrap { height: auto; min-height: 0; overflow: hidden; }
    .brand_wrap .brand_tit, .brand_wrap .brand_txt_box { position: relative; width: 88%; height: auto; left: auto; right: auto; top: auto; margin-left: auto; margin-right: auto; }
    .brand_wrap .brand_tit>div, .brand_wrap .brand_txt_box>div { transform: none; }
    .brand_wrap .brand_txt_box { margin-top: 4rem; }
    .brand_wrap .brand_logo { position: relative; display: block; top: auto; right: auto; margin: 0 0 2rem; transform: none; }
    .contact_wrap { padding: 6rem 0; }
    .contact_wrap>div { width: 90%; }
    .contact_wrap .sub_contact_bottom>div { width: 100%; }
    .contact_wrap .sub_contact_box { width: min(100%, 576px); }
    .contact_wrap .sub_contact_map_box, .contact_wrap .sub_contact_txt_box { width: 100%; max-width: 100%; box-sizing: border-box; }
    .contact_wrap .sub_contact_add p { flex-wrap: wrap; }
    .contact_wrap .sub_contact_bt a { min-width: 36px; min-height: 36px; }
    .f_left img { max-width: 100%; height: auto; }
}
@media all and (max-width: 767px) {
    .intro_logo { width: min(48vw, 15rem); height: auto; }
    .main_txt_box { padding: 8rem 6vw 7rem; }
    .main_txt_box .main_keyvisual { width: min(88vw, 30rem); }
    .main_keyvisual .keyvisual_eyebrow { font-size: clamp(15px, 4.5vw, 24px); letter-spacing: .14em; }
    .main_txt_box .main_keyvisual .keyvisual_banner { font-size: clamp(14px, 4vw, 23px); letter-spacing: .02em; }
    .main_txt_box .main_logo { width: min(48vw, 16rem); margin-top: 2.5rem; }
    .main_pop_box, .main_guest { top: auto; bottom: 0; height: calc(3.5rem + env(safe-area-inset-bottom)); box-sizing: border-box; padding-bottom: env(safe-area-inset-bottom); }
    .main_pop_box>div { height: 3.5rem; }
    .main_guest p { display: flex; align-items: baseline; justify-content: center; gap: 2px; white-space: nowrap; }
    .main_guest p .open_number { font-size: 1.6rem; }
    .main_guest p .open_month, .main_guest p .open_caption { font-size: .9rem; }
    .main_sum_box .summary_grid { grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 1.5rem; row-gap: 2.5rem; }
    .main_sum_box .summary_grid li:first-child, .main_sum_box .summary_grid li:last-child { grid-column: 1 / -1; }
    .main_sum_box .summary_grid li h3 { font-size: 15px; }
    .main_sum_box .summary_grid li p { font-size: 13px; }
    .main_sum_box .sum_txt_box h5 { font-size: 13px; }
    .main_sum_box .imgc { font-size: 11px; line-height: 1.65; }
    .location_wrap .location_tit h2, .location_wrap .location_tit h2 .location_headline_line { font-size: clamp(18px, 5.2vw, 26px); }
    .location_wrap .location_tit p { font-size: 13px; word-break: keep-all; }
    .premium_wrap .premium_content_box { padding-top: 3rem; }
    .premium_wrap .premium_content_box>div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); width: 92%; }
    .premium_wrap .premium_content { width: 100%; height: auto; min-height: 20rem; padding: 2rem .5rem; box-sizing: border-box; }
    .premium_wrap .premium_content h3 { font-size: 15px; margin-top: 1.25rem; }
    .premium_wrap .premium_content p { font-size: 12px; margin-top: 1rem; }
    .premium_wrap .premium_icon { width: 68px; height: 68px; }
    .premium_wrap .premium_icon img { width: 50px; height: 50px; }
    .premium_wrap .premium_ori { width: 90%; margin: 2rem auto; font-size: 11px; }
    .brand_wrap .brand_tit h3 { font-size: 2.8rem; }
    .brand_wrap .brand_tit h1 { font-size: clamp(42px, 12vw, 70px); }
    .brand_wrap .brand_tit h4 { font-size: 13px; line-height: 1.6; }
    .brand_wrap .brand_txt_box h2 { font-size: 26px; }
    .brand_wrap .brand_txt_box p { font-size: 13px; line-height: 1.8; }
    .brand_wrap .brand_logo { margin-left: auto; margin-right: auto; }
    .contact_wrap .contact_tit h2 { font-size: clamp(30px, 10vw, 48px); }
    .contact_wrap .contact_tit h5 { font-size: 13px; line-height: 1.6; }
    .contact_wrap .sub_contact_add p { font-size: 13px; }
    .footer { padding-bottom: calc(7rem + env(safe-area-inset-bottom)); }
    .guest_wrap, .guest_wrap2 { max-width: 100vw; box-sizing: border-box; }
}
@media all and (max-width: 359px) {
    .premium_wrap .premium_content_box>div { grid-template-columns: 1fr; }
}

/* Mobile uses normal document flow, without the desktop on/on2 switch. */
@media(max-width:1400px) {
 #section3, #section3 .premium_wrap, #section3 .premium01 { height:auto; overflow:visible; }
 #section3 .premium_wrap .chance_wrap {
  display:block; position:relative; inset:auto; width:100%; height:auto; min-height:0;
  margin-top:3rem; padding:4rem 5% 3rem; box-sizing:border-box;
  opacity:1; visibility:visible; pointer-events:auto; transform:none; background:#e9ece3;
 }
 #section3 .chance_wrap .chance_grid {
  position:relative; width:100%; height:auto; max-width:900px;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto;
  gap:1.5rem; margin:auto;
 }
 #section3 .chance_wrap .chance_heading { grid-column:1 / -1; grid-row:auto; opacity:1; transform:none; padding-bottom:1rem; }
 #section3 .chance_wrap .chance_heading>p { width:auto; position:static; transform:none; white-space:normal; font-size:1.25rem; }
 #section3 .chance_wrap .chance_heading h2 { font-size:4rem; line-height:1; }
 #section3 .chance_wrap .chance_heading h2 br { display:none; }
 #section3 .chance_wrap .chance_card {
  grid-column:auto; grid-row:auto; justify-self:stretch; width:100%; max-width:none;
  height:auto; min-height:13rem; opacity:1; visibility:visible; transform:none;
  padding:1.5rem; gap:1rem; transition:none;
 }
 #section3 .chance_wrap .chance_card>div { min-width:0; text-align:left; }
 #section3 .chance_wrap .chance_card>img { flex:0 0 6rem; width:6rem; height:8rem; }
 #section3 .chance_wrap .chance_notice { position:relative; inset:auto; margin:2rem auto 0; max-width:900px; text-align:left; font-size:11px; }
 #section3 .chance_wrap .chance_backdrop { display:none; }
}
@media(max-width:767px) {
 #section3 .chance_wrap .chance_grid { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
 #section3 .chance_wrap .chance_card { min-height:12rem; }
 #section3 .chance_wrap .chance_card h3 { font-size:17px; }
 #section3 .chance_wrap .chance_card p { font-size:12px; overflow-wrap:break-word; }
 #section3 .chance_wrap .chance_card p br { display:none; }
}

@media(max-width:1400px) {
 #section3 .premium_content:nth-child(n)::before { display:block; width:0; }
 #section3 .premium_content.active::before { width:90%; transition:width 2s ease; }
 #section2 .location_wrap { position:relative; overflow:visible; }
 #section2 .location-magnifier-connector { display:block; }
 .location-lens-trigger { display:block; height:1px; width:1px; order:3; pointer-events:none; }
}
@media(prefers-reduced-motion:reduce) {
 #section3 .premium_content.active::before { transition:none; }
}
