﻿@charset "utf-8";
/* responsive.css — @media 통합 (sub·common·site·main·reset·legacy responsive) */

/* Wide desktop (≤1919px) */
@media (max-width: 1919px) {
  /* --- layout.css (common) --- */
  .header__inner {
      padding: 0 var(--container-padding);
    }

    .container {
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

  /* --- layout.css (common) --- */
  .footer__inner {
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

  /* --- layout.css (main) --- */
  .brand-intro {
      padding-top: var(--space-100);
      padding-bottom: var(--space-100);
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

    .venue-detail__item {
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

    .halls__inner,
    .notice__inner,
    .facilities__inner {
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

  /* --- layout.css (site shell) --- */
  #header .contain,
    #wrapper.site .sub-page .page-head,
    #wrapper.site .sub-page .gallery,
    #wrapper.site .sub-page .board,
    #wrapper.site .sub-page .board-view {
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

  /* --- layout.css (site shell) --- */
  #wrapper.site #container .brand-intro {
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

  /* --- layout.css (site shell) --- */
  #wrapper.site #footer.footer .footer__inner {
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

  /* --- doc/board --- */
  .page-head,
    .gallery,
    .board,
    .board-view {
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

  /* --- doc/board --- */
  .board,
    .board-view {
      padding-left: var(--container-padding);
      padding-right: var(--container-padding);
    }

}

/* Large tablet (≤1200px) */
@media (max-width: 1200px) {
  /* main */
  .brand-points__list {top: 67%;}
  .feature-slide__item {grid-template-columns: 1fr 50%;;}
  .feature-slide__photo {width: 100%;}
  /* layout */
  .venue-lnb__link {min-height: 56px; border-bottom-width: 3px;}
  /* content */
  .ed-menu-block__grid--portrait {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .ed-fb-intro__body p br {display: none;}
}

/* Landscape tablet (≤1024px) */
@media (max-width: 1024px) {
  html:has(body#main), body#main { scroll-snap-type:none; }
  /* --- layout.css (common) --- */
  :root { --header-height:64px; }
  /* header */
  #wrapper.site #header .sitelogo {flex: 1;}
  #header .sitelogo .sitelogo__img,
  .mobile-navigation .home .sitelogo__img { height: 36px; }
  .header__menu-btn { display: flex; }

    .gnb {
      position: fixed;
      top: var(--header-height);
      left: 0;
      right: 0;
      bottom: 0;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: var(--space-24) var(--container-padding);
      background: var(--color-submenu-bg);
      transform: translateX(100%);
      transition: transform var(--transition-base);
      overflow-y: auto;
    }

    .gnb.is-open { transform: translateX(0); }

    .gnb__item { border-bottom: 1px solid var(--color-border); }

    .gnb__link {
      padding: var(--space-16) 0;
      font-size: var(--font-size-16);
    }

    .gnb__submenu {
      position: static;
      transform: none;
      opacity: 1;
      visibility: visible;
      display: none;
      box-shadow: none;
      padding: 0 0 var(--space-16);
      background: transparent;
    }

    .gnb__item.is-open .gnb__submenu { display: block; }

    .gnb__submenu a { text-align: left; color: var(--color-title); }

    

  /* --- layout.css (main) --- */
  body#main.fp-responsive #container {padding-top: 0 !important;}
  body#main #container > .hero-section, body#main #container > section.section:not(.fp-auto-height) {min-height: auto; padding-top: var(--space-100); padding-bottom: var(--space-100);}
  body#main #container > section.hero:not(.fp-auto-height) {padding: 0;}
  body#main #container > section.brand-points:not(.fp-auto-height),
  body#main #container > section.feature-slide:not(.fp-auto-height),
  body#main #container > section.need:not(.fp-auto-height) {padding-top: var(--space-100) !important;}
  .main-visual {
      height: 60svh;
      min-height: 360px;
      max-height: none;
    }


    

    .feature-slide::before { content: none; }
    .brand-points::after {width: auto; right: calc(var(--frame-right) * 2); background: none; border-left: var(--frame-size) solid var(--color-accent); border-bottom: var(--frame-size) solid var(--color-accent);}
    .brand-points__list { position: relative; top: auto; left: auto; transform: none; margin: 0 auto;}
    .brand-points__inner { flex-direction: column; border-bottom: 0; }
    .feature-slide { background-image: none; border: 0; }

    .brand-intro__inner { grid-template-columns: 1fr; }
    .brand-intro__watermark { display: none; }
    .feature-slide__item:not(.is-active):not(.is-leaving) .feature-slide__photo {opacity: 1;}

    

  /* --- responsive.css --- */
  body, input, textarea, select, button, table {font-size: var(--font-size-15);}	

  	/* header */
  	#gnb {display:none;}
  	.btn-m-menu {display:block;}
  	.mobile-navigation {display:block;}

  	/* main */
    .notice__grid {grid-template-columns: 1fr;}

  	/* footer */
    .footer__top {grid-template-columns: .8fr 2fr;}

  	/* sub layout */

  	/* sub content */

  	/* board */
  	.input {padding: var(--space-5) var(--space-14); height:40px;}
  	textarea.input {padding: var(--space-12) var(--space-14);}

  	.board-search .search input.input {width:240px;}

  	.board-list colgroup col {width:auto !important;}
  	.board-list table thead th {font-size: var(--font-size-15);}
  	.board-list table tbody td {font-size: var(--font-size-15);}

      .simple-list .link-item {padding: var(--space-24) 0;}
      .simple-list .link-item .num {max-width:80px; font-size: var(--font-size-16);}
      .simple-list .link-item .num .notice {width:48px; height:48px;}
      .simple-list .link-item .cnt .tit {font-size: var(--font-size-18);}
      .simple-list .link-item .cnt .info {margin-top: var(--space-12); font-size: var(--font-size-13);}
      .simple-list .link-item .arrow {max-width:80px; font-size: var(--font-size-24);}

  	.gallery-list ul li .tit {font-size: var(--font-size-15);}

  	.card-list {gap: var(--space-32);}
  	.card-list .link-item .info .tit {font-size: var(--font-size-18);}
  	.card-list .link-item .info .txt {font-size: var(--font-size-15);}
  	.card-list .link-item .info .date {font-size: var(--font-size-13);}

  	.news-list .thumb {width:200px;}
  	.news-list .tit {font-size: var(--font-size-17);}
  	.news-list .txt {font-size: var(--font-size-14);}
  	.news-list .date {font-size: var(--font-size-13);}

  	.event-list ul li .tit {font-size: var(--font-size-15);}

  	.faq .tit {font-size: var(--font-size-15);}
  	.faq .tit a {padding: var(--space-9) var(--space-60) var(--space-9) var(--space-12);}
  	.faq .tit a:after {top:14px;}
  	.faq .q {flex:0 0 32px; width:32px; height:32px; font-size: var(--font-size-16); line-height: 2em;}
  	.faq .cnt {padding: var(--space-18) var(--space-25) var(--space-18) var(--space-60);}

  	.calendar-head h3 {font-size: var(--font-size-28); margin: 0 var(--space-30);}
  	.calendar-head .cal-btn {width:40px; height:40px;}
  	.calendar table th {font-size: var(--font-size-15);}
  	.calendar table td {height:110px; font-size: var(--font-size-14);}
  	.calendar ul li:before {top:7px;}

  	.board-white table {font-size: var(--font-size-15);}

  	.board-form table {font-size: var(--font-size-15);}

  	.files-upload-text .upfiles-alt {font-size: var(--font-size-14);}

  	.board-view-tit {padding: var(--space-14) var(--space-6);}
  	.board-view-tit h3 {font-size: var(--font-size-18);}
  	.board-view-info {padding: var(--space-13) var(--space-6); font-size: var(--font-size-13);}
  	.board-view-cnt {padding: var(--space-15) var(--space-6) var(--space-40);}

  	.board-prev-next {font-size: var(--font-size-14);}

  	.btn-pack.medium {height:40px; padding: 0 var(--space-16); font-size: var(--font-size-15); line-height: 2.533em;}
  	.btn-pack.large {min-width:140px; height:50px; font-size: var(--font-size-18); line-height: 2.667em;}

  	.product-list ul li {width:25%;}
  	.product-list ul li .tit {font-size: var(--font-size-15);}
  	.product-image {width:350px;}
  	.product-info .tit {font-size: var(--font-size-25);}

  	.store-search {padding: var(--space-22) 5%;}
  	.store-search .map-area {width:280px;}
  	.store-search .map-img .local {padding: 0 var(--space-10); font-size: var(--font-size-13); line-height: 1.692em;}

  	.result-group .gall li {width:25%;}

  	/* member */
  	.agree-wrap .agree-tit {font-size: var(--font-size-18);}

  	/* shop */
  	.goods-cate-wrap .depth ul li {padding: var(--space-6) var(--space-20);}
  	.goods-cate-wrap .depth ul li a {font-size: var(--font-size-14);}

  	.goods-sort .total {font-size: var(--font-size-13);}
  	.goods-sort .sort ul li a {font-size: var(--font-size-13);}

  	.goods-list ul li .tit {font-size: var(--font-size-18);}

  	.goods-photo {width:45%;}
  	.goods-info .table table tbody th {padding: var(--space-10) 0; font-size: var(--font-size-14);}
  	.goods-info .table table tbody td {padding: var(--space-10) 0; font-size: var(--font-size-14);}
  	.goods-info .btns .row {margin: 0 calc(-1 * var(--space-3));}
  	.goods-info .btns .col {padding: 0 var(--space-3);}
  	.goods-info .btns .btn {font-size: var(--font-size-15); line-height: 3.2em;}
  	.goods-info .btns .btn img {height:48px;}

  	.shop-guide .tit {padding: var(--space-14) var(--space-18); font-size: var(--font-size-14);}
  	.shop-guide .tit h4 {width:130px; font-size: var(--font-size-16);}
  	.shop-guide .cnt {font-size: var(--font-size-14);}
  	.shop-guide .qa dl {padding: var(--space-18) var(--space-18);}
  	.shop-guide .qa dt {width:220px;}

  	.goods-detail-table {font-size: var(--font-size-14);}
  	.goods-detail-table th {padding: var(--space-10);}
  	.goods-detail-table td {padding: var(--space-10);}

  	.total-price {padding: var(--space-30); font-size: var(--font-size-15);}
  	.total-price h3 {font-size: var(--font-size-20);}

  /* --- layout.css (site shell) --- */
  #gnb > ul {
      display: none;
      position: fixed;
      inset: var(--header-height) 0 0 0;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: var(--space-24) var(--container-padding);
      background: var(--color-bg);
      overflow-y: auto;
    }

    #gnb > ul.is-open {
      display: flex;
    }

    #gnb .submenu {
      position: static;
      transform: none;
      opacity: 1;
      visibility: visible;
      display: none;
      box-shadow: none;
      padding: var(--space-12) 0 var(--space-12) var(--space-16);
      background: transparent;
    }

    #gnb > ul > li.is-open .submenu {
      display: block;
    }

  /* --- doc/board --- */
  .ed-brand__inner,
    .ed-vr-grid:not(.ed-vr-grid--showcase) {
      grid-template-columns: 1fr;
    }

    .ed-vr-showcase,
    .ed-vr-showcase--reverse {
      grid-template-columns: 1fr;
    }

    .ed-vr-showcase--reverse .ed-vr-showcase__media,
    .ed-vr-showcase--reverse .ed-vr-showcase__copy {
      order: unset;
    }

    .ed-vr-showcase__copy {
      padding: 0;
    }

  /* --- doc/board --- */
  .gallery__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--space-16);
    }

  /* --- doc/board --- */
  .ed-fb-intro__inner {
      grid-template-columns: 1fr;
      gap: var(--space-32);
    }

    .ed-fb-intro__copy {
      max-width: 100%;
    }

  /* --- doc/board --- */
  .board__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--space-32) var(--space-20);
    }

    #wrapper.site #contArea .contain .gallery-list ul {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--space-32) var(--space-20);
    }

    #wrapper.site #contArea .contain .page-gallery .gallery-list--photo ul {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--space-16);
    }

  /* --- doc/board --- */
  .board-table__head,
    .board-table__row {
      grid-template-columns: 80px 1fr 110px;
    }

    .board-table__col--author,
    .board-table__head .board-table__col--author {
      display: none;
    }

    .board-list table thead th:nth-child(3),
    .board-list table tbody td:nth-child(3) {
      display: none;
    }

  /* --- doc/board --- */
  .sub-content--brand .sub-content__inner.sub-content__split { grid-template-columns:1fr; padding-top:var(--space-80); padding-bottom:var(--space-80); }
  .about-story { grid-template-columns:1fr; gap:var(--space-28); }
  .about-hero { padding-top:var(--space-28); }

    .sub-content--brand .sub-content__media img {
      aspect-ratio: 16 / 10;
    }

  /* --- doc/board --- */
  .contact-inquiry {
      grid-template-columns: 1fr;
      gap: var(--space-48);
    }

    .contact-form__required-note {
      text-align: left;
    }

    .sub-content__split,
    .location-grid--2x2,
    .location-grid--stack,
    .service-types {
      grid-template-columns: 1fr;
    }

    .location-grid--stack .location-card,
    .location-grid--2x2 .location-card {
      grid-template-columns: 1fr;
    }

    .location-card__body {
      min-height: 0;
      padding: var(--space-40) var(--space-32);
    }

    .location-card__meta {
      margin: var(--space-24) 0 var(--space-32);
    }

    .location-card__meta-row {
      grid-template-columns: 64px minmax(0, 1fr);
      gap: var(--space-16);
    }

    

    .company-dl div {
      grid-template-columns: 1fr;
      gap: var(--space-4);
    }

  /* --- doc/board --- */
  .hall-signature__inner,
    .hall-row,
    .hall-facilities__inner {
      grid-template-columns: 1fr;
    }

    .hall-row--reverse .hall-row__media,
    .hall-row--reverse .hall-row__copy {
      order: unset;
    }

    .hall-row__media {
      aspect-ratio: 16 / 10;
    }

    .hall-facilities__media {
      max-height: none;
      aspect-ratio: 16 / 10;
    }

}

/* Portrait tablet (≤900px) */
@media (max-width: 900px) {
  /* --- responsive.css --- */
  .only-desktop {display:none;}
  	.only-tablet {display:block;}

  	/* header */

  	/* main */
    .hero {max-height: none; height: auto;}
    .hero.hero-section { height:calc(100svh - var(--header-height)); max-height:none; }
    .halls__grid,
    .menu-grid,
    .facilities__grid { grid-template-columns: repeat(2, 1fr); }
    .btn {min-height: auto;}

    .venue-detail__item {min-height: 50vh;}

  	/* footer */
    .footer__top { grid-template-columns: 1fr; }

  	/* sub layout */

  	/* sub content */
    .single-board__row, .single-board__row--flip { grid-template-columns:1fr; }
    .single-board__row--flip .single-board__media { order:-1; }
    .single-board__row--flip .single-board__body {margin-left: 0;}

  	/* board */	
  	.gallery-list ul {margin: 0 calc(-1 * var(--space-10));}
  	.gallery-list ul li {width:33.33333333%; padding: 0 var(--space-10);}

  	.card-list {gap: var(--space-32) var(--space-20);}

  	.event-list ul li {width:50%;}

  	.store-search {padding: var(--space-30); margin-bottom: var(--space-30);}
  	.store-search .map-area {display:none;}
  	.store-search .search-area h3 {text-align:center; margin-bottom: var(--space-30);}

    #wrapper.site #contArea .contain .gallery-list ul li .txt {height: auto;}

  	/* member */

  	/* shop */

  /* --- doc/board --- */
  .ed-menu-block__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  /* --- doc/board --- */
  .ed-menu-block__grid--portrait {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

/* Tablet / mobile (≤768px) */
@media (max-width: 768px) {
  /* --- layout.css (main) --- */
  .notice__grid {
      grid-template-columns: 1fr;
      gap: var(--space-48);
    }

    .notice__item:not(:has(.notice__badge)) {
      padding-left: 0;
    }

  /* --- layout.css (site shell) --- */
  .quick-menu {
      top: auto;
      bottom: 20px;
      right: 12px;
      transform: none;
      align-items: flex-end;
      gap: var(--space-6);
    }

    .quick-menu__item {
      width: 52px;
      height: 52px;
      font-size: var(--font-size-12);
    }

    .quick-menu__icon {
      width: 52px;
      height: 52px;
    }

    .quick-menu__icon svg {
      width: 26px;
      max-height: 26px;
    }

    .quick-menu__icon svg.quick-menu__icon-chat {
      width: 22px;
      height: 34px;
      max-height: none;
    }

    .quick-menu__item:hover,
    .quick-menu__item:focus-visible {
      padding: 0 var(--space-14) 0 var(--space-12);
      font-size: var(--font-size-15);
    }

    .quick-menu__item:hover .quick-menu__label,
    .quick-menu__item:focus-visible .quick-menu__label {
      font-size: var(--font-size-15);
    }

  /* --- doc/board --- */
  .board__head {
      display: none;
    }

    .board__item {
      grid-template-columns: 1fr auto;
      grid-template-rows: auto auto;
      gap: var(--space-8) var(--space-16);
      padding: var(--space-16) 0;
    }

    .board__num {
      display: none;
    }

    .board__title-wrap {
      grid-column: 1;
      grid-row: 1;
    }

    .board__title {
      white-space: normal;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .board__date {
      grid-column: 2;
      grid-row: 1;
      text-align: right;
      align-self: start;
      padding-top: var(--space-2);
    }

  /* --- doc/board --- */
  .board__toolbar {
      flex-direction: column;
      align-items: stretch;
    }

    .board__search {
      width: 100%;
      margin-left: 0;
    }

    .board__search-input {
      flex: 1;
      width: auto;
      min-width: 0;
    }

  /* --- doc/board --- */
  .ed-hero-gallery--premium {
      --ed-hero-gallery-stage-boost: 48px;
      --ed-hero-gallery-main-boost: clamp(20px, 5vw, 40px);
      --ed-hero-gallery-stage: calc(min(42vh, 420px) + var(--ed-hero-gallery-stage-boost));
      --ed-hero-gallery-gap: var(--space-24);
    }

    .ed-hero-gallery--premium .ed-hero-gallery__inner {
      grid-template-columns: minmax(0, 10fr) minmax(0, 80fr) minmax(0, 10fr);
    }

    .ed-hero-gallery--premium .ed-hero-gallery__thumbs {
      grid-template-columns: minmax(0, 10fr) minmax(0, 80fr) minmax(0, 10fr);
    }

    .ed-hero-gallery--premium .ed-hero-gallery__thumb {
      width: clamp(88px, 24vw, 124px);
    }

    .ed-hero-gallery--premium .ed-hero-gallery__nav {
      width: 52px;
      height: 52px;
    }

    .ed-hero-gallery--premium .ed-hero-gallery__nav::after {
      width: 40px;
      height: 40px;
    }

  .venue-spec__row { grid-template-columns:1fr; gap:var(--space-8); }
  .venue-spec__multiline { display:grid; grid-template-columns:5.5em minmax(0,1fr); column-gap:var(--space-12); align-items:start; }
  .venue-spec__multiline .venue-spec__label { min-width:0; margin-right:0; }
  .venue-spec__lines { gap:0.15em; }

}

/* Landscape phone (≤640px) */
@media (max-width: 640px) {
  /* --- reset.css --- */
  .input.datepicker {background-image:url("../images/bbs/datepicker_icon_x2.png"); background-size:22px auto;}

  	.ui-datepicker-prev,
  	.ui-datepicker-next {background-size:8px auto;}
  	.ui-datepicker-prev {background-image:url("../images/bbs/datepicker_prev_x2.png");}
  	.ui-datepicker-next {background-image:url("../images/bbs/datepicker_next_x2.png");}
  	.ui-datepicker-trigger {width:38px; height:38px;}

  /* --- reset.css --- */
  :root {
          --space-container: 16px;
      }

  /* --- responsive.css --- */
  body, input, textarea, select, button, table {font-size: var(--font-size-14);}
  	.only-desktop-tablet {display:none;}
  	.only-tablet {display:none;}
  	.only-mobile {display:block;}

  	/* header */
    .sitelogo__mark {width: 40px; aspect-ratio: 1 / 1; height: auto; flex: 0 0 40px;}

  	/* main */
    .halls__grid {grid-template-columns: 1fr;}
    .notice__title {-webkit-line-clamp:1;}
    .notice__date {font-size: 12px;}
    .brand-points__list {width: 100%; grid-template-columns: 1fr;}
    .feature-slide__text br {display: none;}
    .brand-points {--frame-size: 6px;}
    .brand-points::before {left: 57%;}
    .brand-points::after {height:calc(100% - var(--frame-top) - 145px);}

  	/* footer */
    .footer__venues { grid-template-columns: 1fr; }
    
  	/* sub layout */
    .board__tab, .gallery__tab {padding: var(--space-12) 10px;}
    .venue-lnb {gap: 10px;}

  	/* sub content */
    .location-card__body {padding: 0 0 var(--space-40)}
    .ed-fb-intro__inner {padding: 0;}
    .ed-body__inner {padding: 0;}
    .collection-block__title span {display: block;}

  	/* board */
  	.input {font-size: var(--font-size-14); padding: 0 var(--space-10); height:38px;}
  	select.input {padding-right: var(--space-26); background-position:right 8px center; background-size:12px auto;}
  	textarea.input {padding: var(--space-7) var(--space-10);}

  	#wrapper.site #contArea .contain .board-search {
      flex-direction: column;
      align-items: stretch;
      margin-bottom: var(--space-20);
    }

  	#wrapper.site #contArea .contain .board-search .total-page {order: 3; font-size: var(--font-size-13);}
  	#wrapper.site #contArea .contain .board-search .cate {order: 1; margin-right: 0; margin-bottom: var(--space-8);}
  	#wrapper.site #contArea .contain .board-search .cate .input {width: 100%;}
  	#wrapper.site #contArea .contain .board-search .search {order: 2; width: 100%; margin-left: 0;}
  	#wrapper.site #contArea .contain .board-search .search .input {flex: 1; width: auto; min-width: 0;}

  	.board-search {display:flex; flex-direction:column; margin-bottom: var(--space-10);}
  	.board-search .total-page {order:3; float:none; font-size: var(--font-size-13);}
  	.board-search .cate {float:none; order:1; margin-left: 0; margin-bottom: var(--space-5);}
  	.board-search .cate .input {display:block; width:100%;}
  	.board-search .search {float:none; order:2; display:flex;}
  	.board-search .search .input {flex:1 1 auto; min-width:0; width:1%;}

  	.board-list table thead th:nth-child(3),
  	.board-list table tbody td:nth-child(3) {display: none;}

  	.board-list {display:none;}
  	.board-list-m {display:block;}

      .simple-list .link-item {padding: var(--space-16) 0;}
      .simple-list .link-item .num {max-width:50px; font-size: var(--font-size-14);}
      .simple-list .link-item .num .notice {width:40px; height:40px; font-size: var(--font-size-12);}
      .simple-list .link-item .cnt .tit {font-size: var(--font-size-15);}
      .simple-list .link-item .cnt .info {gap: var(--space-5) var(--space-16); margin-top: var(--space-8); font-size: var(--font-size-12);}
      .simple-list .link-item .arrow {display:none;}

  	.gallery-list {padding-top: var(--space-15);}
  	.gallery-list ul {margin: 0 calc(-1 * var(--space-7));}
  	.gallery-list ul li {width:50%; padding: 0 var(--space-7); margin-bottom: var(--space-27);}
  	.gallery-list ul li .thumb {margin-bottom: var(--space-10);}
  	.gallery-list ul li .tit {font-size: var(--font-size-14);}
  	.gallery-list ul li .date {font-size: var(--font-size-12); margin-top: var(--space-4);}

  	.card-list {grid-template-columns:repeat(2, 1fr); gap: var(--space-24) var(--space-16); margin-bottom: var(--space-32);}
  	.card-list .link-item {border-radius:10px;}
  	.card-list .link-item .info {padding: var(--space-12);}
  	.card-list .link-item .info .tit {font-size: var(--font-size-15);}
  	.card-list .link-item .info .txt {margin-top: var(--space-10); font-size: var(--font-size-13);}
  	.card-list .link-item .info .date {margin-top: var(--space-10); font-size: var(--font-size-12);}

  	.news-list ul li {padding: var(--space-17) 0;}
  	.news-list .thumb {width:38%; margin-right: var(--space-14);}
  	.news-list .tit {font-size: var(--font-size-15); max-height:2.8em; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
  	.news-list .txt {font-size: var(--font-size-13); margin-top: var(--space-3); max-height:3em; -webkit-line-clamp:2;}
  	.news-list .date {display:none;}

  	.event-list {padding-top: var(--space-20);}
  	.event-list ul li {width:100%; margin-bottom: var(--space-32);}
  	.event-list ul li .thumb {margin-bottom: var(--space-10);}
  	.event-list ul li .tit {font-size: var(--font-size-15);}
  	.event-list ul li .date {font-size: var(--font-size-12); margin-top: var(--space-4);}

  	.faq .tit a {padding: var(--space-7) 0 var(--space-7) var(--space-5);}
  	.faq .tit a:after {display:none;}
  	.faq .q {flex:0 0 26px; width:26px; height:26px; font-size: var(--font-size-15); line-height: 1.733em; margin-right: var(--space-10);}
  	.faq .cnt {padding: var(--space-12) var(--space-12) var(--space-12) var(--space-15);}

  	.calendar-head {margin-bottom: var(--space-15);}
  	.calendar-head h3 {font-size: var(--font-size-20); margin: 0 var(--space-17);}
  	.calendar-head .cal-btn {width:34px; height:34px; background-size:9px auto;}
  	.calendar-head .cal-prev {background-image:url("../images/bbs/cal_prev_x2.png");}
  	.calendar-head .cal-next {background-image:url("../images/bbs/cal_next_x2.png");}
  	.calendar table th {padding: var(--space-6) var(--space-4); font-size: var(--font-size-14);}
  	.calendar table td {height:60px; padding: var(--space-5) var(--space-4); font-size: var(--font-size-12);}
  	.calendar ul li {padding-left: 0; margin-bottom: var(--space-6);}
  	.calendar ul li:before {display:none;}
  	.calendar .cal-date {font-size: var(--font-size-10); margin-bottom: var(--space-8);}

  	.board-white table {display:block; border-top:0; border-bottom:0; font-size: var(--font-size-14);}

  	.board-white table tbody {display:block;}
  	.board-white table tr {display:block; padding: var(--space-12) 0;}
  	.board-white table th {display:block; border:0; text-align:left; padding: 0; margin-bottom: var(--space-7); font-size: var(--font-size-16); background:none;}
  	.board-white table td {display:block; border:0; padding: 0;}
  	.board-white .editor {padding: 0; margin-top: calc(-1 * var(--space-12));}
  	.board-white .item {margin: var(--space-3) var(--space-12) var(--space-3) 0;}
  	.board-white #user_name {max-width:100% !important;}
  	.board-white + .buttons {margin-top: var(--space-30);}

  	.board-form table tbody {display:block;}
  	.board-form table tr {display:block; padding: var(--space-12) 0;}
  	.board-form table th {display:block; border:0; text-align:left; padding: 0; margin-bottom: var(--space-7); font-size: var(--font-size-16); background:none;}
  	.board-form table td {display:block; border:0; padding: 0;}
  	.board-form + .buttons {margin-top: var(--space-30);}

  	.form-agree {margin: var(--space-30) 0 var(--space-30);}
  	.form-agree h3 {font-size: var(--font-size-16);}
  	.form-agree .scroll-box {font-size: var(--font-size-12); max-height:110px; overflow:auto;}
  	.form-agree .check {margin-top: var(--space-12); font-size: var(--font-size-14);}

  	.board-view-tit h3 {font-size: var(--font-size-17);}
  	.board-view-info {font-size: var(--font-size-12);}

  	.board-prev-next dl {padding: var(--space-10) var(--space-6);}
  	.board-prev-next dt {width:70px}

  	.buttons {margin: var(--space-15) 0;}

  	.btn-pack.small {height:26px; padding: 0 var(--space-8); font-size: var(--font-size-11); line-height: 2.182em;}
  	.btn-pack.medium {height:38px; padding: 0 var(--space-14); font-size: var(--font-size-14); line-height: 2.571em;}
  	.btn-pack.large {min-width:120px; height:42px; padding: 0 var(--space-18); font-size: var(--font-size-15); line-height: 2.667em;}
  	.btn-pack.xlarge {min-width:120px; height:50px; padding: 0 var(--space-22); font-size: var(--font-size-16); line-height: 3em;}
  	.btn-pack.comment {width:80px; height:32px; font-size: var(--font-size-14);}

  	.paginate {margin-top: var(--space-32); gap: var(--space-4);}
  	.paginate a,
  	.paginate strong {width: 34px; min-width: 34px; height: 34px; font-size: var(--font-size-13);}
  	.paginate a.direction {width: 40px; min-width: 40px; height: 40px; margin: 0 !important;}
  	.paginate a.direction span::before {font-size: var(--font-size-18);}

  	.comment-area {margin-top: var(--space-37);}
  	.comment-total {font-size: var(--font-size-14); margin-bottom: var(--space-12);}
  	.comment-write {position:relative; padding: var(--space-10);}
  	.comment-write .byte {position:absolute; bottom:15px; left:12px; font-size: var(--font-size-12);}
  	.comment-write .write {display:block;}
  	.comment-write .write textarea {display:block; width:100%; height:65px; margin-right: 0;}
  	.comment-write .write .btn {text-align:right; margin-top: var(--space-6);}
  	.comment-item {padding: var(--space-17) var(--space-4);}
  	.comment-item.comment-reply {padding-left: var(--space-25); background-image:url("../images/bbs/icon_reply_x2.png"); background-position:3px 18px; background-size:auto 13px;}
  	.comment-info {font-size: var(--font-size-14);}
  	.comment-info .name {margin-right: var(--space-5);}
  	.comment-info .date {font-size: var(--font-size-11);}
  	.comment-ctr {font-size: var(--font-size-12);}
  	.comment-ctr .bar {vertical-align:middle; margin: -.2em var(--space-4) 0;}
  	.comment-txt {font-size: var(--font-size-14);}
  	.comment-link {font-size: var(--font-size-13);}
  	.comment-input {padding: var(--space-10);}
  	.comment-input textarea {height:48px;}

  	.board-password {padding: var(--space-30) var(--space-20);}

  	.product-list ul {margin: 0 calc(-1 * var(--space-7));}
  	.product-list ul li {width:50%; padding: 0 var(--space-7); margin-bottom: var(--space-27);}
  	.product-list ul li .thumb {margin-bottom: var(--space-10);}
  	.product-list ul li .tit {font-size: var(--font-size-14);}
  	.product-summary {display:block;}
  	.product-image {width:100%; margin-bottom: var(--space-20);}
  	.product-info {width:100%;}
  	.product-info .tit {font-size: var(--font-size-22); padding-bottom: var(--space-14); margin-bottom: var(--space-14);}
  	.product-detail {padding-bottom: var(--space-25); margin-bottom: var(--space-25);}
  	.product-detail .tit {font-size: var(--font-size-17); padding-bottom: var(--space-10); margin-bottom: var(--space-14);}

  	.store-search {padding: 0;}
  	.store-search .search-area h3 {font-size: var(--font-size-16); padding: var(--space-15) var(--space-25); margin-bottom: var(--space-20); background:#f4f4f4;}
  	.store-search .search-area dl {display:block; padding: 0 var(--space-15); margin: var(--space-20) 0;}
  	.store-search .search-area dl dt {width:auto; margin-bottom: var(--space-6); font-size: var(--font-size-15);}
  	.store-search .search-area dl dd {width:auto;}
  	.store-search .search-area input.input {width:calc(100% - 74px); margin-right: var(--space-4);}
  	.store-search .search-area select.input {width:calc(50% - 39px); margin-right: var(--space-4);}
  	.store-search .search-area .btn-pack.medium {width:70px;}

  	.result-top {font-size: var(--font-size-18);}
  	.result-group .gall {margin: 0 calc(-1 * var(--space-7));}
  	.result-group .gall li {width:50%; padding: 0 var(--space-7);}
  	.result-group dl dt {font-size: var(--font-size-15);}
  	.result-group dl dd {font-size: var(--font-size-13);}
  	.result-group dl dd.date {font-size: var(--font-size-12);}

  	/* member */
  	.login-tab {border-bottom-width:2px; margin-bottom: var(--space-35);}
  	.login-tab ul {padding: 0 var(--space-1);}
  	.login-tab ul li {border-width:2px; margin: 0 calc(-1 * var(--space-1));}
  	.login-tab ul li a {font-size: var(--font-size-16); line-height: 2.875em;}
  	.login-content .group .input {height:48px; font-size: var(--font-size-14);}

  	.sns-login .tit {margin-bottom: var(--space-20);}
  	.sns-login .tit span {padding: 0 var(--space-20);}
  	.sns-login a {margin: 0 var(--space-8)}
  	.sns-login img {width:44px;}

  	.agree-wrap {margin-bottom: var(--space-35);}
  	.agree-wrap .group {margin-top: var(--space-30);}
  	.agree-wrap .agree-tit {font-size: var(--font-size-16);}
  	.agree-wrap .agree-tit .checkbox label:before {background-image:url("../images/member/checkbox_x2.png"); background-size:11px auto;}
  	.agree-wrap .agree-tit .checkbox input:checked + label:before {background-image:url("../images/member/checkbox_on_x2.png");}
  	.agree-wrap .agree-box {margin-top: var(--space-7); max-height:130px; padding: var(--space-10) var(--space-13);}
  	.agree-wrap .agree-box .terms-wrap {line-height:1.4em; word-break:break-all;}

  	.terms-wrap .policy-contact {display:block; padding: 0 var(--space-15);}
  	.terms-wrap .policy-contact dl {border-left:0; padding: var(--space-20) var(--space-5); border-top:1px solid #e5e5e5;}
  	.terms-wrap .policy-contact dl:first-child {border-top:0;}

  	.join-form table tbody {display:block;}
  	.join-form table tr {display:block; padding: var(--space-12) 0;}
  	.join-form table th {display:block; border:0; text-align:left; padding: 0; margin-bottom: var(--space-7); font-size: var(--font-size-16); background:none;}
  	.join-form table td {display:block; border:0; padding: 0;}
  	.join-form + .buttons {margin-top: var(--space-30);}
  	.join-form .help-text {display:block; clear:both; padding-top: var(--space-6); margin-left: 0; font-size: var(--font-size-14); line-height:1.5em;}
  	.join-form #user_id {float:left; width:calc(100% - 90px) !important;}
  	.join-form #user_id + .btn-pack {width:90px; text-align:center;}
  	.join-form #user_pw,
  	.join-form #user_pw2,
  	.join-form #user_name {width:100% !important;}

  	.join-complete .tit {font-size: var(--font-size-22); margin-bottom: var(--space-20);}
  	.join-complete .txt {font-size: var(--font-size-16);}
  	.join-complete .icon {width:110px; height:110px; background-size:48px;}

  	.find-tab {border-bottom-width:2px; margin-bottom: var(--space-35);}
  	.find-tab ul {padding: 0 var(--space-1);}
  	.find-tab ul li {border-width:2px; margin: 0 calc(-1 * var(--space-1));}
  	.find-tab ul li a {font-size: var(--font-size-16); line-height: 2.875em;}
  	.find-content .group .input {height:48px; font-size: var(--font-size-14);}
  	.find-result {padding: var(--space-30) var(--space-15); font-size: var(--font-size-16);}
  	.find-result h4 {font-size: var(--font-size-19);}
  	.find-result .name {font-size: var(--font-size-24);}

  	.member-leave .txt {margin-bottom: var(--space-27);}
  	.member-leave .txt .tit {font-size: var(--font-size-18);}
  	.member-leave .form {margin-bottom: var(--space-35); padding: var(--space-35) var(--space-25); font-size: var(--font-size-15);}
  	.member-leave .form .group .label-tt {width:80px;}

  /* --- doc/board --- */
  .gallery__grid {
      grid-template-columns: 1fr;
    }

    #wrapper.site .page-gallery .gallery-list--photo ul,
    #wrapper.site .gallery-list ul {grid-template-columns: repeat(2, 1fr);}
    #wrapper.site .board-search .search input.input {flex: 1; width: auto;}
    #wrapper.site .board-search .search {margin-left: 0; width: 100%;}
    #wrapper.site .board-search {gap: 8px;}
    #wrapper.site .page-gallery .board-search {margin-bottom: 24px; align-items: flex-start;}
    #wrapper.site .board-search .cate {width: 100%; margin: 0;}
    #wrapper.site .board-search .total-page {margin-top: 10px;}
    #wrapper.site .gallery-list ul li .txt  {height: auto;}
    .venue-lnb__link {min-height: 48px; border-width: 2px;}

  /* --- doc/board --- */
  .contact-form__row--half {
      grid-template-columns: 1fr;
    }

    .contact-form--board .contact-form__row {
      grid-template-columns: 1fr;
      gap: var(--space-8);
      padding: var(--space-16) 0;
    }

    .contact-form--board .contact-form__label {
      font-size: var(--font-size-15);
    }

  /* --- doc/board --- */
  .board-table__head,
    .board-table__row {
      grid-template-columns: 72px 1fr 96px;
    }

    .board-table__col {
      padding: var(--space-12) var(--space-16);
    }

    .board-table__head .board-table__col {
      padding: var(--space-12) var(--space-16);
      font-size: var(--font-size-14);
    }

  /* --- doc/board --- */
  .board__grid {
      grid-template-columns: 1fr;
    }

    #wrapper.site #contArea .contain .gallery-list ul {
      grid-template-columns: 1fr;
    }

    #wrapper.site #contArea .contain .page-gallery .gallery-list--photo ul {
      grid-template-columns: 1fr;
    }

    #wrapper.site #contArea .contain .gallery-list ul li .thumb {
      aspect-ratio: auto;
      height: 220px;
    }

    .board-card__thumb {
      height: 220px;
    }

  /* --- doc/board --- */
  .contact-form--inquiry .contact-form__row--pair {
      grid-template-columns: 1fr;
    }

}

/* Small phone (≤560px) */
@media (max-width: 560px) {
  /* --- doc/board --- */
  .ed-menu-block__grid--portrait {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  /* --- doc/board --- */
  .ed-menu-block__grid {margin: 0 calc(var(--work-gutter) * -1);}

}

/* Landscape phones and down (≤320px) */
@media (max-width: 320px) {

}

/* Main — fixed header + hero overlay (all widths) */
body#main #header { position:fixed; top:0; left:0; z-index:100; width:100%; transition:background-color .45s ease; }
body#main:has(.hero-section.active) #header,
body#main.is-hero-inview #header { background:var(--color-header-bg); }
body#main:has(.hero-section.active) #header .sitelogo__link,
body#main:has(.hero-section.active) #header .sitelogo__word,
body#main:has(.hero-section.active) #header .sitelogo__tagline,
body#main:has(.hero-section.active) #gnb > ul > li > a,
body#main.is-hero-inview #header .sitelogo__link,
body#main.is-hero-inview #header .sitelogo__word,
body#main.is-hero-inview #header .sitelogo__tagline,
body#main.is-hero-inview #gnb > ul > li > a { color:#fff; }
body#main:has(.hero-section.active) #header .sitelogo__mark,
body#main.is-hero-inview #header .sitelogo__mark { filter:brightness(0) invert(1); }
body#main:has(.hero-section.active) #header .header__menu-btn span,
body#main.is-hero-inview #header .header__menu-btn span { background:#fff; }
body#main #header .sitelogo__link, body#main #header .sitelogo__word, body#main #header .sitelogo__tagline, body#main #gnb > ul > li > a, body#main #header .header__menu-btn span { transition:color .45s ease, opacity var(--transition-base), background-color .45s ease, filter .45s ease; }
body#main.fp-responsive #container { padding-top:var(--header-height); }

/* Desktop only (≥1025px) */
@media (min-width: 1025px) {
  #header .header__menu-btn { display:none; }
  body#main .brand-points.fp-section { padding-top:calc(var(--header-height) + 3rem) !important; }
}
body.fp-responsive .fp-section:not(.venue-showcase) { height:auto !important; padding-top:0 !important; }
body.fp-responsive .hero.hero-section { height:calc(100svh - var(--header-height)) !important; }

@media (max-width: 1024px) {
  body.fp-responsive .venue-showcase.fp-section,
  body.fp-responsive .venue-showcase.section,
  .venue-showcase { height:min(900px, calc(100svh - var(--header-height))) !important; min-height:min(900px, calc(100svh - var(--header-height))) !important; padding-top:0 !important; overflow:hidden; }
  .venue-showcase .hero__panels { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; }
  .venue-showcase .hero__panels .venue-panel + .venue-panel { margin-left:0; }
  .venue-showcase .hero__panels .venue-panel { flex:1 1 0; min-height:0; width:100%; transition:flex var(--transition-slow); }
  .venue-showcase .hero__panels .venue-panel.is-active,
  .venue-showcase .hero__panels .venue-panel:hover { flex:2.8 1 0; }
  .venue-showcase .hero__panels .venue-panel:not(.is-active):not(:hover) .venue-panel__img,
  .venue-showcase .hero__panels .venue-panel.is-active .venue-panel__img,
  .venue-showcase .hero__panels .venue-panel:hover .venue-panel__img { transform:none; }
  .venue-showcase .venue-panel:not(.is-active):not(:hover) .venue-panel__dim { background:rgba(0,0,0,.25); }
  .venue-showcase .venue-panel.is-active .venue-panel__dim,
  .venue-showcase .venue-panel:hover .venue-panel__dim { background:linear-gradient(to top, rgba(0,0,0,.75) 0%, rgba(0,0,0,.5) 42%, rgba(0,0,0,.38) 100%); }
  .venue-showcase:has(.venue-panel.is-active) .venue-panel:not(.is-active) .venue-panel__dim,
  .venue-showcase:has(.venue-panel:hover) .venue-panel:not(:hover) .venue-panel__dim { background:rgba(0,0,0,.45); }
  .venue-showcase .venue-panel__logo { top:50%; left:50%; bottom:auto; right:auto; transform:translate(-50%,-50%); opacity:1; }
  .venue-showcase .venue-panel.is-active .venue-panel__logo,
  .venue-showcase .venue-panel:hover .venue-panel__logo { opacity:0; }
  .venue-showcase .venue-panel__hover { opacity:0; pointer-events:none; justify-content:center; padding:var(--space-24) var(--work-gutter); align-items: flex-start; justify-self: baseline}
  .venue-showcase .venue-panel.is-active .venue-panel__hover,
  .venue-showcase .venue-panel:hover .venue-panel__hover { opacity:1; pointer-events:auto; align-items: flex-start; justify-self: baseline; align-self: flex-end;}
  .venue-showcase .venue-panel__hover-logo { display:none; }
  .venue-showcase .venue-panel__hover-inner { flex-direction:column; align-items:flex-start; justify-content:center; width:100%; max-width:420px; margin:0 auto; }
  .feature-slide { height:auto; padding-right:0; padding-left:0; background-image:none; border:0; }
  .feature-slide::before { content:none; }
  .feature-slide__frame { flex-direction:column; align-items:stretch; gap:0; width:100%; max-width:none; margin:0; padding:var(--space-28) var(--work-gutter); }
  .feature-slide__items { display:flex; flex-direction:column; align-items:stretch; gap:var(--space-48); grid-template-columns:none; grid-template-rows:none; column-gap:0; }
  .feature-slide__item { position:static; display:flex; flex-direction:column; align-items:stretch; grid-column:auto; grid-row:auto; opacity:1; pointer-events:auto; gap:var(--space-15); }
  .feature-slide__item.is-leaving { opacity:1; }
  .feature-slide__copy { order:1; grid-column:auto; grid-row:auto; padding:0; opacity:1; transform:none; }
  .feature-slide__photo { order:2; grid-column:auto; grid-row:auto; width:100%; height:auto; max-height:420px; }
  .feature-slide__dots { display:none; grid-column:auto; grid-row:auto; }
  
  .need__list { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  
}
@media (max-width: 560px) {
  .occasion__list, .need__list { grid-template-columns:1fr; }
  .need__list {gap: 25px;}
  .occasion__list {grid-template-columns:repeat(2, minmax(0, 1fr)); border-top: 0;}
  .occasion__item:last-child {grid-column:1/-1;}
  .occasion__item { border-top:1px solid var(--occasion-line); border-right: 1px solid var(--occasion-line);}
  .occasion__item:nth-child(2n) {border-left: 0;}
}

/* (prefers-reduced-motion: reduce) */
@media (prefers-reduced-motion: reduce) {
  .brand-points__item { opacity:1; animation:none; }
  .hero-doors { display:none; }
  .hero-section__scroll svg { animation:none; }
  /* --- layout.css (common) --- */
  html { scroll-behavior: auto; }
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      transition-duration: 0.01ms !important;
    }

  /* --- layout.css (main) --- */
  .venue-panel,
    .venue-panel.is-active,
    .venue-panel:hover { flex: 1; }
    .venue-panel.is-active .venue-panel__img,
    .venue-panel:hover .venue-panel__img { transform: none; }

  /* --- layout.css (main) --- */
  .reveal {
      opacity: 1;
      transform: none;
      transition: none;
    }

}

@media (max-width: 1024px) {
  .venue-showcase .hero__panels .venue-panel.is-active,
  .venue-showcase .hero__panels .venue-panel:hover { flex:2.8 1 0; }
}
