/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-07-02 10:42:35
========================================================= */

/* =========================================================
   Page: index / INDEX ページ
========================================================= */

/* Block: custom_html / sec_1780922007190 */
.shion-hero {
  position: relative;
  min-height: 88svh;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: #081011;
  color: #fff7ea;
}
.shion-hero__bg,
.shion-hero__shade {
  position: absolute;
  inset: 0;
}
.shion-hero__bg {
  background-image: url('/assets/demo/image/shion_hero.webp');
  background-position: center;
  background-size: cover;
  opacity: .72;
}
.shion-hero__shade {
  background:
    linear-gradient(90deg, rgba(8,16,17,.9) 0%, rgba(8,16,17,.62) 45%, rgba(8,16,17,.22) 100%),
    linear-gradient(180deg, rgba(8,16,17,.14), rgba(8,16,17,.86));
}
.shion-hero__inner {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
  padding: 96px 0 120px;
}
.shion-hero__eyebrow {
  margin: 0 0 22px;
  color: #f6cf7a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}
.shion-hero__title {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(3rem, 8vw, 7rem);
  line-height: 1.05;
  letter-spacing: .08em;
}
.shion-hero__lead {
  max-width: 560px;
  margin: 28px 0 0;
  color: #e0c8a0;
  font-size: 16px;
  line-height: 2;
}
.shion-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}
.shion-hero__actions a {
  min-width: 160px;
  padding: 14px 22px;
  border: 1px solid rgba(255,247,234,.72);
  color: #fff7ea;
  text-align: center;
  text-decoration: none;
  font-weight: 800;
  border-radius: 999px;
}
.shion-hero__actions a:first-child {
  background: #c5a25a;
  border-color: #c5a25a;
  color: #081011;
}
.shion-hero__info {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 2;
  width: min(1120px, calc(100% - 40px));
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(255,247,234,.24);
  border-left: 1px solid rgba(255,247,234,.18);
  background: rgba(8,16,17,.76);
  backdrop-filter: blur(10px);
}
.shion-hero__info span {
  padding: 18px 20px;
  border-right: 1px solid rgba(255,247,234,.18);
  color: #e0c8a0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-align: center;
}
@media (max-width: 768px) {
  .shion-hero { min-height: 760px; }
  .shion-hero__inner { width: calc(100% - 30px); padding: 96px 0 170px; }
  .shion-hero__lead { font-size: 14px; }
  .shion-hero__actions a { width: 100%; }
  .shion-hero__info {
    width: calc(100% - 30px);
    grid-template-columns: 1fr;
  }
  .shion-hero__info span {
    padding: 12px 14px;
  }
}

/* Block: custom_html / sec_1780922219491 */
.shion-problem {
  padding: 96px 20px;
  background: #fff7ea;
  color: #172523;
  text-align: center;
}
.shion-problem__kicker {
  margin: 0 0 16px;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-problem h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  line-height: 1.55;
  letter-spacing: .08em;
}
.shion-problem p:last-child {
  max-width: 680px;
  margin: 28px auto 0;
  color: #4d5a56;
  line-height: 2;
}

/* Block: pickup_menu_slider / sec_1781090390937 */
.menu-section {padding: 100px 20px; background: #101718; text-align: center; color: #fff7ea;}
            .section-header {margin-bottom: 50px;}
            .menu-main-title {font-family: 'Shippori Mincho', serif; font-size: 26px; font-weight: 800; color: #f6cf7a; letter-spacing: 0.1em; margin-bottom: 15px;}
            .menu-sub-text {font-family: 'Noto Sans JP', sans-serif; font-size: 14px; color: #e0c8a0; line-height: 1.8; letter-spacing: 0.05em;}
            .scroll-container {max-width: 1140px; margin: 0 auto; padding: 10px 0;}
            .scroll-inner {display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px;}
            .pickup-item-card {display: block; background: rgba(255,255,255,0.06); border-radius: 8px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.18); border: 1px solid rgba(246,207,122,0.22); text-decoration: none; color: #fff7ea; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s; position: relative; text-align: left;}
            .pickup-item-card:hover {transform: translateY(-5px); box-shadow: 0 20px 40px rgba(246, 207, 122, 0.16);}
            .pickup-badge {position: absolute; top: 15px; left: 15px; background: #c5a25a; color: #101718; font-size: 10px; font-weight: bold; font-family: 'Montserrat', sans-serif; letter-spacing: 0.1em; padding: 4px 12px; border-radius: 4px; z-index: 2;}
            .pickup-img-box {width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #172526;}
            .pickup-img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);}
            .pickup-item-card:hover .pickup-img {transform: scale(1.05);}
            .pickup-info {padding: 25px;}
            .pickup-title {font-family: 'Shippori Mincho', serif; font-size: 16px; font-weight: 700; color: #fff7ea; margin: 0 0 10px 0; line-height: 1.4;}
            .pickup-desc {font-size: 12px; color: #e0c8a0; line-height: 1.6; margin: 0 0 18px 0; height: 3.2em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
            .pickup-price {font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 800; color: #f6cf7a; margin: 0; display: flex; align-items: baseline; gap: 4px;}
            .tax-label {font-family: 'Noto Sans JP', sans-serif; font-size: 11px; color: #a79578; font-weight: normal;}
            .menu-btn-wrap {text-align: center; margin-top: 50px;}
            .btn-menu-more {display: inline-block; background: transparent; color: #333; border: 1px solid var(--gold); padding: 14px 45px; font-size: 13px; font-weight: bold; font-family: 'Montserrat', 'Noto Sans JP', sans-serif; letter-spacing: 0.08em; text-decoration: none; border-radius: 4px; transition: 0.3s;}
            .btn-menu-more:hover {background: var(--gold); color: #fff; box-shadow: 0 4px 15px rgba(246, 207, 122, 0.30);}
            @media (max-width: 768px) {.menu-section {padding: 70px 15px;} .scroll-inner {grid-template-columns: 1fr; gap: 20px;} .menu-main-title {font-size: 22px;}}

/* Block: custom_html / sec_1780922412493 */
.shion-scenes {
  padding: 104px 20px;
  background: #081011;
  color: #fff7ea;
}
.shion-scenes__head,
.shion-scenes__grid {
  width: min(1120px, 100%);
  margin: 0 auto;
}
.shion-scenes__head {
  margin-bottom: 42px;
}
.shion-scenes__head p {
  margin: 0 0 12px;
  color: #c5a25a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-scenes__head h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
}
.shion-scenes__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.shion-scenes article {
  min-height: 260px;
  padding: 30px;
  border: 1px solid rgba(255,247,234,.18);
  background: rgba(255,247,234,.04);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.shion-scenes article span {
  color: #c5a25a;
  font-weight: 900;
  margin-bottom: auto;
}
.shion-scenes article h3 {
  margin: 42px 0 14px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 22px;
}
.shion-scenes article p {
  margin: 0;
  color: #e0c8a0;
  font-size: 13px;
  line-height: 1.9;
}
@media (max-width: 768px) {
  .shion-scenes__grid { grid-template-columns: 1fr; }
  .shion-scenes article { min-height: 220px; }
}

/* Block: course_list / sec_1781090628907 */
.course-list-section {padding: 100px 20px; background: #0f1718; color: #fff;}
            .course-list-header {max-width: 820px; margin: 0 auto 48px; text-align: center;}
            .course-list-title {font-family: 'Shippori Mincho', serif; font-size: 30px; letter-spacing: 0.12em; margin: 0 0 14px; color: #f6cf7a;}
            .course-list-desc {font-size: 14px; line-height: 2; color: #d8c7a5;}
            .course-list-grid {max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 28px;}
            .course-list-card {background: rgba(255,255,255,0.06); border: 1px solid rgba(246,207,122,0.24); border-radius: 8px; overflow: hidden;}
            .course-list-img {aspect-ratio: 4 / 3; background: #172526; display: flex; align-items: center; justify-content: center; color: #c5a25a; font-size: 42px;}
            .course-list-img img {width: 100%; height: 100%; object-fit: cover;}
            .course-list-body {padding: 26px;}
            .course-list-kicker {font-size: 11px; color: #c5a25a; letter-spacing: 0.14em; margin: 0 0 8px;}
            .course-list-body h3 {font-family: 'Shippori Mincho', serif; font-size: 21px; margin: 0 0 14px;}
            .course-list-text {font-size: 13px; color: #e0c8a0; line-height: 1.9; min-height: 5em;}
            .course-list-price {font-size: 24px; color: #f6cf7a; font-weight: 800; margin: 18px 0;}
            .course-list-price small {font-size: 11px; margin-left: 6px; color: #d8c7a5;}
            .course-list-reserve {width: 100%; border: 1px solid #c5a25a; background: #c5a25a; color: #111; padding: 13px 16px; border-radius: 4px; font-weight: 800; cursor: pointer;}
            .drink-option-list {max-width: 720px; margin: 48px auto 0; border-top: 1px solid rgba(246,207,122,0.24); padding-top: 26px;}
            .drink-option-row {display: flex; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,0.08); color: #e0c8a0;}
            @media (max-width: 768px) {.course-list-section {padding: 70px 15px;} .course-list-title {font-size: 24px;} .course-list-body {padding: 22px;}}

/* Block: seat_list_full / sec_1781091535534 */
.seat-list-full-section {padding: 100px 20px; background: #101718; color: #fff7ea;}
            .slf-header {text-align: center; margin-bottom: 60px;}
            .slf-main-title {font-family: 'Shippori Mincho', serif; font-size: 28px; font-weight: 800; color: #f6cf7a; letter-spacing: 0.1em; margin: 0 0 15px 0;}
            .slf-sub-text {font-family: 'Noto Sans JP', sans-serif; font-size: 14px; color: #e0c8a0; line-height: 1.8; letter-spacing: 0.05em;}
            .slf-grid {max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; align-items: stretch;}
            .slf-card {display: flex; flex-direction: column; height: 100%; background: rgba(255,255,255,0.06); border-radius: 8px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.18); border: 1px solid rgba(246,207,122,0.22); transition: transform 0.4s ease, box-shadow 0.4s ease;}
            .slf-card:hover {transform: translateY(-4px); box-shadow: 0 15px 40px rgba(246, 207, 122, 0.18);}
            .slf-img-wrap {position: relative; width: 100%; aspect-ratio: 4 / 3; height: auto; min-height: 0; overflow: hidden; background: #172526;}
            .slf-img-wrap img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease;}
            .slf-card:hover .slf-img-wrap img {transform: scale(1.05);}
            .slf-badge {position: absolute; top: 15px; right: 15px; padding: 6px 14px; border-radius: 20px; font-size: 11px; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.05em; z-index: 2; box-shadow: 0 4px 15px rgba(0,0,0,0.1);}
            .slf-badge.is-open {background: #fff; color: var(--gold); border: 1px solid var(--gold);}
            .slf-badge.is-full {background: #aaa; color: #fff; border: 1px solid #aaa;}
            .slf-body {padding: 30px 25px; flex: 1;}
            .slf-title {font-family: 'Shippori Mincho', serif; font-size: 18px; font-weight: 700; color: #fff7ea; margin: 0 0 12px 0; line-height: 1.4;}
            .slf-cap {font-family: 'Noto Sans JP', sans-serif; font-size: 12px; color: #a79578; font-weight: normal;}
            .slf-desc {font-size: 13px; color: #e0c8a0; line-height: 1.8; margin: 0;}
            @media (max-width: 768px) {.seat-list-full-section {padding: 70px 15px;} .slf-main-title {font-size: 24px;} .slf-grid {grid-template-columns: 1fr; gap: 25px;} .slf-body {padding: 25px 20px;}}

/* Block: custom_html / sec_1780922643945 */
.shion-final-cta {
  padding: 104px 20px;
  background: #fff7ea;
  color: #172523;
  text-align: center;
}
.shion-final-cta p {
  margin: 0 0 14px;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-final-cta h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(2rem, 5vw, 3.6rem);
}
.shion-final-cta__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}
.shion-final-cta__actions a {
  min-width: 170px;
  padding: 14px 22px;
  border: 1px solid #172523;
  border-radius: 999px;
  color: #172523;
  text-decoration: none;
  font-weight: 800;
}
.shion-final-cta__actions a:first-child {
  background: #172523;
  color: #fff7ea;
}
@media (max-width: 768px) {
  .shion-final-cta__actions a { width: 100%; }
}

/* Block: image_banner / sec_1781245197125 */
.image-banner-section {padding: 0; background: transparent; text-align: center;}
            .image-banner-container {max-width: none; width: 100%; margin: 0 auto;}
            .banner-link-wrap {display: block;}
            .custom-banner-img {width: 100%; height: auto; border-radius: 0; box-shadow: none; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s;}
            .banner-link-wrap[href]:hover .custom-banner-img {transform: none; box-shadow: none;}
            .image-banner-slider {position: relative; overflow: hidden; border-radius: 0;}
            .image-banner-track {position: relative; aspect-ratio: 16 / 7; min-height: 680px;}
            .image-banner-slide {position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 0.65s ease;}
            .image-banner-slide.is-active {opacity: 1; pointer-events: auto;}
            .image-banner-slide .banner-link-wrap, .image-banner-slide .custom-banner-img {width: 100%; height: 100%;}
            .image-banner-slide .custom-banner-img {object-fit: cover;}
            .image-banner-nav {position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.55); background: rgba(7,18,17,0.58); color: #fff; display: none; align-items: center; justify-content: center; cursor: pointer; z-index: 3; transition: 0.2s;}
            .image-banner-nav:hover {background: rgba(197,162,90,0.88);}
            .image-banner-prev {left: 18px;}
            .image-banner-next {right: 18px;}
            .image-banner-dots {position: absolute; left: 0; right: 0; bottom: 16px; display: flex; justify-content: center; gap: 8px; z-index: 4;}
            .image-banner-dot {width: 9px; height: 9px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.8); background: rgba(255,255,255,0.35); padding: 0; cursor: pointer;}
            .image-banner-dot.is-active {background: var(--gold); border-color: var(--gold);}
            @media (max-width: 768px) {.image-banner-section {padding: 0;} .image-banner-track {aspect-ratio: 4 / 5; min-height: 420px;} .image-banner-nav {width: 34px; height: 34px; font-size: 12px;} .image-banner-prev {left: 10px;} .image-banner-next {right: 10px;} .image-banner-dots {bottom: 12px; gap: 6px;} .image-banner-dot {width: 8px; height: 8px;}}
            .image-banner-nav {  display: none !important;}


/* =========================================================
   Page: menu / MENU ページ
========================================================= */

/* Block: custom_html / sec_1780930727416 */
.shion-menu-hero {
  min-height: 560px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #081011;
  color: #fff7ea;
  overflow: hidden;
}
.shion-menu-hero__image {
  min-height: 560px;
  background-image:
    linear-gradient(90deg, rgba(8,16,17,.08), rgba(8,16,17,.72)),
    url('/assets/demo/image/shion_menu_sashimi.webp');
  background-position: center;
  background-size: cover;
}
.shion-menu-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 96px min(8vw, 90px);
}
.shion-menu-hero__eyebrow {
  margin: 0 0 18px;
  color: #f6cf7a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-menu-hero h1 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(2.3rem, 5vw, 4.6rem);
  line-height: 1.25;
  letter-spacing: .08em;
}
.shion-menu-hero p:last-child {
  max-width: 560px;
  margin: 28px 0 0;
  color: #e0c8a0;
  line-height: 2;
}
@media (max-width: 768px) {
  .shion-menu-hero {
    grid-template-columns: 1fr;
  }
  .shion-menu-hero__image {
    min-height: 320px;
  }
  .shion-menu-hero__content {
    padding: 56px 20px 72px;
  }
}

/* Block: custom_html / sec_1780930799198 */
.shion-order-flow {
  padding: 88px 20px;
  background: #fff7ea;
  color: #172523;
}
.shion-order-flow__head,
.shion-order-flow__grid {
  width: min(1120px, 100%);
  margin: 0 auto;
}
.shion-order-flow__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}
.shion-order-flow__head p {
  margin: 0;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-order-flow__head h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-order-flow__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #d8d3c7;
}
.shion-order-flow article {
  padding: 32px;
  border-right: 1px solid #d8d3c7;
  background: rgba(255,255,255,.42);
}
.shion-order-flow article:last-child {
  border-right: none;
}
.shion-order-flow article span {
  color: #8c6a2d;
  font-weight: 900;
  font-size: 12px;
}
.shion-order-flow article h3 {
  margin: 26px 0 12px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 22px;
}
.shion-order-flow article p {
  margin: 0;
  color: #4f5a57;
  line-height: 1.9;
  font-size: 13px;
}
@media (max-width: 768px) {
  .shion-order-flow__head {
    display: block;
  }
  .shion-order-flow__head h2 {
    margin-top: 12px;
  }
  .shion-order-flow__grid {
    grid-template-columns: 1fr;
  }
  .shion-order-flow article {
    border-right: none;
    border-bottom: 1px solid #d8d3c7;
  }
  .shion-order-flow article:last-child {
    border-bottom: none;
  }
}

/* Block: pickup_menu_slider / sec_1781091648235 */
.menu-section {padding: 100px 20px; background: #101718; text-align: center; color: #fff7ea;}
            .section-header {margin-bottom: 50px;}
            .menu-main-title {font-family: 'Shippori Mincho', serif; font-size: 26px; font-weight: 800; color: #f6cf7a; letter-spacing: 0.1em; margin-bottom: 15px;}
            .menu-sub-text {font-family: 'Noto Sans JP', sans-serif; font-size: 14px; color: #e0c8a0; line-height: 1.8; letter-spacing: 0.05em;}
            .scroll-container {max-width: 1140px; margin: 0 auto; padding: 10px 0;}
            .scroll-inner {display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px;}
            .pickup-item-card {display: block; background: rgba(255,255,255,0.06); border-radius: 8px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.18); border: 1px solid rgba(246,207,122,0.22); text-decoration: none; color: #fff7ea; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s; position: relative; text-align: left;}
            .pickup-item-card:hover {transform: translateY(-5px); box-shadow: 0 20px 40px rgba(246, 207, 122, 0.16);}
            .pickup-badge {position: absolute; top: 15px; left: 15px; background: #c5a25a; color: #101718; font-size: 10px; font-weight: bold; font-family: 'Montserrat', sans-serif; letter-spacing: 0.1em; padding: 4px 12px; border-radius: 4px; z-index: 2;}
            .pickup-img-box {width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #172526;}
            .pickup-img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);}
            .pickup-item-card:hover .pickup-img {transform: scale(1.05);}
            .pickup-info {padding: 25px;}
            .pickup-title {font-family: 'Shippori Mincho', serif; font-size: 16px; font-weight: 700; color: #fff7ea; margin: 0 0 10px 0; line-height: 1.4;}
            .pickup-desc {font-size: 12px; color: #e0c8a0; line-height: 1.6; margin: 0 0 18px 0; height: 3.2em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
            .pickup-price {font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 800; color: #f6cf7a; margin: 0; display: flex; align-items: baseline; gap: 4px;}
            .tax-label {font-family: 'Noto Sans JP', sans-serif; font-size: 11px; color: #a79578; font-weight: normal;}
            .menu-btn-wrap {text-align: center; margin-top: 50px;}
            .btn-menu-more {display: inline-block; background: transparent; color: #333; border: 1px solid var(--gold); padding: 14px 45px; font-size: 13px; font-weight: bold; font-family: 'Montserrat', 'Noto Sans JP', sans-serif; letter-spacing: 0.08em; text-decoration: none; border-radius: 4px; transition: 0.3s;}
            .btn-menu-more:hover {background: var(--gold); color: #fff; box-shadow: 0 4px 15px rgba(246, 207, 122, 0.30);}
            @media (max-width: 768px) {.menu-section {padding: 70px 15px;} .scroll-inner {grid-template-columns: 1fr; gap: 20px;} .menu-main-title {font-size: 22px;}}

/* Block: custom_html / sec_1780930963297 */
.shion-menu-guide {
  padding: 92px 20px;
  background: #081011;
  color: #fff7ea;
}
.shion-menu-guide__inner {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 56px;
  align-items: center;
}
.shion-menu-guide__copy > p:first-child {
  margin: 0 0 14px;
  color: #c5a25a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-menu-guide__copy h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.5;
}
.shion-menu-guide__copy > p:last-child {
  margin: 24px 0 0;
  color: #e0c8a0;
  line-height: 2;
}
.shion-menu-guide__list {
  border-top: 1px solid rgba(255,247,234,.18);
}
.shion-menu-guide__list div {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,247,234,.18);
}
.shion-menu-guide__list span {
  color: #e0c8a0;
}
.shion-menu-guide__list strong {
  color: #f6cf7a;
}
@media (max-width: 768px) {
  .shion-menu-guide__inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

/* Block: menu_category_grid / sec_1781162888272 */
.menu-grid-section {padding: 100px 20px; background: #101718; color: #fff7ea;}
            .menu-section-header {text-align: center; margin-bottom: 60px;}
            .menu-main-title {font-family: 'Montserrat', 'Shippori Mincho', serif; font-size: 28px; font-weight: 800; color: #f6cf7a; letter-spacing: 0.15em; margin: 0 0 15px 0;}
            .menu-sub-text {font-family: 'Noto Sans JP', sans-serif; font-size: 14px; color: #e0c8a0; line-height: 1.8; letter-spacing: 0.05em;}
            .menu-cat-container {max-width: 1000px; margin: 0 auto;}
            .menu-cat-block {margin-bottom: 80px;}
            .menu-cat-header {margin-bottom: 30px; border-bottom: 1px solid rgba(246,207,122,0.22); padding-bottom: 15px;}
            .menu-cat-name {font-family: 'Shippori Mincho', serif; font-size: 22px; font-weight: 700; color: #f6cf7a; margin: 0 0 10px 0; letter-spacing: 0.05em;}
            .menu-cat-desc {font-size: 13px; color: #e0c8a0; line-height: 1.6; margin: 0;}
            .menu-items-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(450px, 1fr)); gap: 30px;}
            .menu-item-card {display: flex; gap: 20px; background: rgba(255,255,255,0.06); color: #fff7ea; padding: 20px; border-radius: 8px; box-shadow: 0 16px 40px rgba(0,0,0,0.18); border: 1px solid rgba(246,207,122,0.22); transition: transform 0.3s ease, box-shadow 0.3s ease;}
            .menu-item-card:hover {transform: translateY(-3px); box-shadow: 0 12px 35px rgba(246, 207, 122, 0.16);}
            .mi-img-box {width: 120px; aspect-ratio: 4 / 3; height: auto; flex-shrink: 0; border-radius: 8px; overflow: hidden; position: relative; background: #172526;}
            .mi-img-box img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease;}
            .menu-item-card:hover .mi-img-box img {transform: scale(1.05);}
            .mi-sold-out {position: absolute; inset: 0; background: rgba(0,0,0,0.5); color: #fff; display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-weight: bold; font-size: 14px; letter-spacing: 0.1em; z-index: 2;}
            .mi-info {flex: 1; display: flex; flex-direction: column;}
            .mi-title {font-family: 'Shippori Mincho', serif; font-size: 16px; font-weight: 700; color: #fff7ea; margin: 0 0 8px 0; line-height: 1.4;}
            .mi-text {font-size: 12px; color: #e0c8a0; line-height: 1.6; margin: 0 0 15px 0; flex-grow: 1;}
            .mi-meta {display: flex; justify-content: space-between; align-items: flex-end; border-top: 1px dashed rgba(246,207,122,0.22); padding-top: 12px;}
            .mi-duration {font-size: 11px; color: #a79578; font-family: 'Montserrat', 'Noto Sans JP', sans-serif;}
            .mi-price {text-align: right;}
            .price-in {font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 800; color: #f6cf7a;}
            @media (max-width: 768px) {.menu-grid-section {padding: 60px 15px;} .menu-main-title {font-size: 24px;} .menu-items-grid {grid-template-columns: 1fr; gap: 20px;} .menu-item-card {padding: 15px; gap: 15px;} .mi-img-box {width: 100px; height: 100px;} .mi-title {font-size: 15px;}}

/* Block: custom_html / sec_1780931051348 */
.shion-menu-next {
  padding: 96px 20px;
  background:
    linear-gradient(90deg, rgba(8,16,17,.88), rgba(8,16,17,.58)),
    url('assets/demo/image/shion_menu_robata.webp');
  background-position: center;
  background-size: cover;
  color: #fff7ea;
}
.shion-menu-next__inner {
  width: min(960px, 100%);
  margin: 0 auto;
}
.shion-menu-next p {
  margin: 0 0 14px;
  color: #f6cf7a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-menu-next h2 {
  max-width: 720px;
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(2rem, 5vw, 3.4rem);
  line-height: 1.45;
}
.shion-menu-next__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}
.shion-menu-next__actions a {
  min-width: 170px;
  padding: 14px 22px;
  border: 1px solid rgba(255,247,234,.72);
  border-radius: 999px;
  color: #fff7ea;
  text-align: center;
  text-decoration: none;
  font-weight: 800;
}
.shion-menu-next__actions a:first-child {
  background: #c5a25a;
  border-color: #c5a25a;
  color: #081011;
}
@media (max-width: 768px) {
  .shion-menu-next__actions a {
    width: 100%;
  }
}


/* =========================================================
   Page: courses / 宴会・コース
========================================================= */

/* Block: custom_html / sec_1781011357344 */
.shion-course-guide {
  padding: 88px 20px;
  background: #fff7ea;
  color: #172523;
}
.shion-course-guide__head,
.shion-course-guide__grid {
  width: min(1120px, 100%);
  margin: 0 auto;
}
.shion-course-guide__head {
  margin-bottom: 34px;
}
.shion-course-guide__head p {
  margin: 0 0 12px;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-course-guide__head h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-course-guide__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #d8d3c7;
}
.shion-course-guide article {
  padding: 32px;
  border-right: 1px solid #d8d3c7;
  background: rgba(255,255,255,.5);
}
.shion-course-guide article:last-child {
  border-right: none;
}
.shion-course-guide article span {
  color: #8c6a2d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}
.shion-course-guide article h3 {
  margin: 22px 0 12px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 22px;
}
.shion-course-guide article p {
  margin: 0 0 20px;
  color: #4f5a57;
  line-height: 1.9;
  font-size: 13px;
}
.shion-course-guide article strong {
  color: #6d4b22;
  font-size: 24px;
}
@media (max-width: 768px) {
  .shion-course-guide__grid {
    grid-template-columns: 1fr;
  }
  .shion-course-guide article {
    border-right: none;
    border-bottom: 1px solid #d8d3c7;
  }
  .shion-course-guide article:last-child {
    border-bottom: none;
  }
}

/* Block: course_list / sec_1781011416360 */
.course-list-section {padding: 100px 20px; background: #0f1718; color: #fff;}
            .course-list-header {max-width: 820px; margin: 0 auto 48px; text-align: center;}
            .course-list-title {font-family: 'Shippori Mincho', serif; font-size: 30px; letter-spacing: 0.12em; margin: 0 0 14px; color: #f6cf7a;}
            .course-list-desc {font-size: 14px; line-height: 2; color: #d8c7a5;}
            .course-list-grid {max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 28px;}
            .course-list-card {background: rgba(255,255,255,0.06); border: 1px solid rgba(246,207,122,0.24); border-radius: 8px; overflow: hidden;}
            .course-list-img {aspect-ratio: 4 / 3; background: #172526; display: flex; align-items: center; justify-content: center; color: #c5a25a; font-size: 42px;}
            .course-list-img img {width: 100%; height: 100%; object-fit: cover;}
            .course-list-body {padding: 26px;}
            .course-list-kicker {font-size: 11px; color: #c5a25a; letter-spacing: 0.14em; margin: 0 0 8px;}
            .course-list-body h3 {font-family: 'Shippori Mincho', serif; font-size: 21px; margin: 0 0 14px;}
            .course-list-text {font-size: 13px; color: #e0c8a0; line-height: 1.9; min-height: 5em;}
            .course-list-price {font-size: 24px; color: #f6cf7a; font-weight: 800; margin: 18px 0;}
            .course-list-price small {font-size: 11px; margin-left: 6px; color: #d8c7a5;}
            .course-list-reserve {width: 100%; border: 1px solid #c5a25a; background: #c5a25a; color: #111; padding: 13px 16px; border-radius: 4px; font-weight: 800; cursor: pointer;}
            .drink-option-list {max-width: 720px; margin: 48px auto 0; border-top: 1px solid rgba(246,207,122,0.24); padding-top: 26px;}
            .drink-option-row {display: flex; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,0.08); color: #e0c8a0;}
            @media (max-width: 768px) {.course-list-section {padding: 70px 15px;} .course-list-title {font-size: 24px;} .course-list-body {padding: 22px;}}

/* Block: custom_html / sec_1781011437794 */
.shion-banquet-flow {
  padding: 96px 20px;
  background: #081011;
  color: #fff7ea;
}
.shion-banquet-flow__inner {
  width: min(980px, 100%);
  margin: 0 auto;
}
.shion-banquet-flow p {
  margin: 0 0 14px;
  color: #f6cf7a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-banquet-flow h2 {
  margin: 0 0 40px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3.1rem);
  line-height: 1.5;
}
.shion-banquet-flow ol {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255,247,234,.18);
}
.shion-banquet-flow li {
  display: grid;
  grid-template-columns: 72px .8fr 1.2fr;
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,247,234,.18);
  align-items: baseline;
}
.shion-banquet-flow span {
  color: #c5a25a;
  font-weight: 900;
}
.shion-banquet-flow strong {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 20px;
}
.shion-banquet-flow em {
  color: #e0c8a0;
  font-style: normal;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .shion-banquet-flow li {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* Block: custom_html / sec_1781011518192 */
.shion-course-cta {
  padding: 96px 20px;
  background: #fff7ea;
  color: #172523;
  text-align: center;
}
.shion-course-cta p {
  margin: 0 0 14px;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-course-cta h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
}
.shion-course-cta__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
.shion-course-cta__actions a {
  min-width: 170px;
  padding: 14px 22px;
  border: 1px solid #172523;
  border-radius: 999px;
  color: #172523;
  text-decoration: none;
  font-weight: 800;
}
.shion-course-cta__actions a:first-child {
  background: #172523;
  color: #fff7ea;
}
@media (max-width: 768px) {
  .shion-course-cta__actions a {
    width: 100%;
  }
}


/* =========================================================
   Page: seats / 席・個室
========================================================= */

/* Block: custom_html / sec_1781011669690 */
.shion-seat-guide {
  padding: 92px 20px;
  background: #fff7ea;
  color: #172523;
}
.shion-seat-guide__head,
.shion-seat-guide__grid {
  width: min(1120px, 100%);
  margin: 0 auto;
}
.shion-seat-guide__head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 34px;
}
.shion-seat-guide__head p {
  margin: 0;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-seat-guide__head h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-seat-guide__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.shion-seat-guide article {
  min-height: 260px;
  padding: 30px;
  border: 1px solid #d8d3c7;
  background: rgba(255,255,255,.48);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.shion-seat-guide article span {
  margin-bottom: auto;
  color: #8c6a2d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}
.shion-seat-guide article h3 {
  margin: 38px 0 12px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 22px;
}
.shion-seat-guide article p {
  margin: 0;
  color: #4f5a57;
  line-height: 1.9;
  font-size: 13px;
}
@media (max-width: 768px) {
  .shion-seat-guide__head {
    display: block;
  }
  .shion-seat-guide__head h2 {
    margin-top: 12px;
  }
  .shion-seat-guide__grid {
    grid-template-columns: 1fr;
  }
}

/* Block: seat_list_full / sec_1781145339197 */
.seat-list-full-section {padding: 100px 20px; background: #101718; color: #fff7ea;}
            .slf-header {text-align: center; margin-bottom: 60px;}
            .slf-main-title {font-family: 'Shippori Mincho', serif; font-size: 28px; font-weight: 800; color: #f6cf7a; letter-spacing: 0.1em; margin: 0 0 15px 0;}
            .slf-sub-text {font-family: 'Noto Sans JP', sans-serif; font-size: 14px; color: #e0c8a0; line-height: 1.8; letter-spacing: 0.05em;}
            .slf-grid {max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; align-items: stretch;}
            .slf-card {display: flex; flex-direction: column; height: 100%; background: rgba(255,255,255,0.06); border-radius: 8px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.18); border: 1px solid rgba(246,207,122,0.22); transition: transform 0.4s ease, box-shadow 0.4s ease;}
            .slf-card:hover {transform: translateY(-4px); box-shadow: 0 15px 40px rgba(246, 207, 122, 0.18);}
            .slf-img-wrap {position: relative; width: 100%; aspect-ratio: 4 / 3; height: auto; min-height: 0; overflow: hidden; background: #172526;}
            .slf-img-wrap img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease;}
            .slf-card:hover .slf-img-wrap img {transform: scale(1.05);}
            .slf-badge {position: absolute; top: 15px; right: 15px; padding: 6px 14px; border-radius: 20px; font-size: 11px; font-weight: bold; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0.05em; z-index: 2; box-shadow: 0 4px 15px rgba(0,0,0,0.1);}
            .slf-badge.is-open {background: #fff; color: var(--gold); border: 1px solid var(--gold);}
            .slf-badge.is-full {background: #aaa; color: #fff; border: 1px solid #aaa;}
            .slf-body {padding: 30px 25px; flex: 1; display: flex; flex-direction: column;}
            .slf-title {font-family: 'Shippori Mincho', serif; font-size: 18px; font-weight: 700; color: #fff7ea; margin: 0 0 12px 0; line-height: 1.4;}
            .slf-cap {font-family: 'Noto Sans JP', sans-serif; font-size: 12px; color: #a79578; font-weight: normal;}
            .slf-desc {font-size: 13px; color: #e0c8a0; line-height: 1.8; margin: 0; flex: 1;}
            .slf-reserve-btn {display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; margin-top: 22px; border-radius: 4px; border: 1px solid #c5a25a; background: #c5a25a; color: #111; font-weight: 800; padding: 12px 18px; cursor: pointer;}
            .slf-reserve-btn:hover {background: #f6cf7a; border-color: #f6cf7a;}
            @media (max-width: 768px) {.seat-list-full-section {padding: 70px 15px;} .slf-main-title {font-size: 24px;} .slf-grid {grid-template-columns: 1fr; gap: 25px;} .slf-body {padding: 25px 20px;}}

/* Block: custom_html / sec_1781011720206 */
.shion-seat-notes {
  padding: 96px 20px;
  background: #081011;
  color: #fff7ea;
}
.shion-seat-notes__inner {
  width: min(920px, 100%);
  margin: 0 auto;
}
.shion-seat-notes p {
  margin: 0 0 14px;
  color: #f6cf7a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-seat-notes h2 {
  margin: 0 0 28px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-seat-notes ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255,247,234,.18);
}
.shion-seat-notes li {
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,247,234,.18);
  color: #e0c8a0;
}
.shion-seat-notes__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
.shion-seat-notes__actions a {
  min-width: 170px;
  padding: 14px 22px;
  border: 1px solid rgba(255,247,234,.72);
  border-radius: 999px;
  color: #fff7ea;
  text-align: center;
  text-decoration: none;
  font-weight: 800;
}
.shion-seat-notes__actions a:first-child {
  background: #c5a25a;
  border-color: #c5a25a;
  color: #081011;
}
@media (max-width: 768px) {
  .shion-seat-notes__actions a {
    width: 100%;
  }
}


/* =========================================================
   Page: recruit / RECRUIT ページ
========================================================= */

/* Block: custom_html / sec_1781012360097 */
.shion-recruit-message {
  padding: 104px 20px;
  background: #fff7ea;
  color: #172523;
}
.shion-recruit-message__inner {
  width: min(920px, 100%);
  margin: 0 auto;
}
.shion-recruit-message p:first-child {
  margin: 0 0 14px;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-recruit-message h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 1.5;
}
.shion-recruit-message p:last-child {
  max-width: 760px;
  margin: 30px 0 0;
  color: #4f5a57;
  line-height: 2;
}

/* Block: custom_html / sec_1781012379930 */
.shion-work-style {
  padding: 96px 20px;
  background: #081011;
  color: #fff7ea;
}
.shion-work-style__head,
.shion-work-style__grid {
  width: min(1120px, 100%);
  margin: 0 auto;
}
.shion-work-style__head {
  margin-bottom: 34px;
}
.shion-work-style__head p {
  margin: 0 0 14px;
  color: #f6cf7a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-work-style__head h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-work-style__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.shion-work-style article {
  min-height: 250px;
  padding: 30px;
  border: 1px solid rgba(255,247,234,.18);
  background: rgba(255,247,234,.04);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.shion-work-style article span {
  margin-bottom: auto;
  color: #c5a25a;
  font-weight: 900;
}
.shion-work-style article h3 {
  margin: 40px 0 12px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 22px;
}
.shion-work-style article p {
  margin: 0;
  color: #e0c8a0;
  line-height: 1.9;
  font-size: 13px;
}
@media (max-width: 768px) {
  .shion-work-style__grid {
    grid-template-columns: 1fr;
  }
}

/* Block: recruit_job_list / sec_1781090920745 */
.job-list-section {padding: 100px 20px; background: #ffffff; color: #333;}
            .job-section-header {text-align: center; margin-bottom: 60px;}
            .job-main-title {font-family: 'Montserrat', 'Shippori Mincho', serif; font-size: 28px; font-weight: 800; color: #111; letter-spacing: 0.15em; margin: 0 0 15px 0;}
            .job-sub-text {font-family: 'Noto Sans JP', sans-serif; font-size: 14px; color: #666; line-height: 1.8;}
            .job-container {max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 40px;}
            .job-card {background: #faf8f6; border: 1px solid rgba(0,0,0,0.03); border-radius: 12px; box-shadow: 0 10px 30px rgba(160, 140, 140, 0.05); overflow: hidden;}
            .job-card-header {padding: 25px 30px; border-bottom: 1px dashed rgba(0,0,0,0.08); background: #fff;}
            .job-type-badge {display: inline-block; background: rgba(195,163,69,0.1); color: #c3a345; font-size: 11px; font-weight: bold; padding: 4px 12px; border-radius: 4px; margin-bottom: 10px;}
            .job-title {font-family: 'Shippori Mincho', serif; font-size: 22px; font-weight: 700; color: #222; margin: 0;}
            .job-card-body {display: flex; padding: 30px; gap: 30px;}
            .job-img-box {width: 250px; flex-shrink: 0; border-radius: 8px; overflow: hidden; background: #eee;}
            .job-img-box img {width: 100%; height: 100%; object-fit: cover;}
            .job-info-box {flex: 1;}
            .job-table {width: 100%; border-collapse: collapse;}
            .job-table th, .job-table td {padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,0.04); font-size: 13px; vertical-align: top; line-height: 1.8;}
            .job-table th {width: 110px; color: #888; font-weight: normal;}
            .job-table td {color: #444;}
            .job-salary {font-size: 15px; color: var(--gold);}
            .job-card-footer {padding: 20px 30px; background: #fff; text-align: right; border-top: 1px solid rgba(0,0,0,0.03);}
            .btn-job-apply {display: inline-block; background: #333; color: #fff; padding: 12px 30px; border-radius: 6px; font-size: 13px; font-weight: bold; text-decoration: none; transition: 0.3s;}
            .btn-job-apply:hover {background: #c3a345;}

/* Block: custom_html / sec_1781012437312 */
.shion-recruit-cta {
  padding: 96px 20px;
  background: #fff7ea;
  color: #172523;
  text-align: center;
}
.shion-recruit-cta p:first-child {
  margin: 0 0 14px;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-recruit-cta h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-recruit-cta p:nth-of-type(2) {
  margin: 20px 0 0;
  color: #4f5a57;
}
.shion-recruit-cta a {
  display: inline-block;
  min-width: 180px;
  margin-top: 32px;
  padding: 14px 24px;
  border-radius: 999px;
  background: #172523;
  color: #fff7ea;
  text-decoration: none;
  font-weight: 800;
}


/* =========================================================
   Page: reviews / REVIEWS ページ
========================================================= */

/* Block: custom_html / sec_1781011965286 */
.shion-review-summary {
  padding: 88px 20px;
  background: #fff7ea;
  color: #172523;
}
.shion-review-summary__copy,
.shion-review-summary__grid {
  width: min(1120px, 100%);
  margin: 0 auto;
}
.shion-review-summary__copy {
  margin-bottom: 34px;
}
.shion-review-summary__copy p {
  margin: 0 0 14px;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-review-summary__copy h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-review-summary__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid #d8d3c7;
}
.shion-review-summary article {
  padding: 32px;
  border-right: 1px solid #d8d3c7;
  background: rgba(255,255,255,.48);
}
.shion-review-summary article:last-child {
  border-right: none;
}
.shion-review-summary strong {
  display: block;
  color: #8c6a2d;
  font-size: 12px;
  letter-spacing: .16em;
}
.shion-review-summary span {
  display: block;
  margin-top: 18px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 22px;
}
@media (max-width: 768px) {
  .shion-review-summary__grid {
    grid-template-columns: 1fr;
  }
  .shion-review-summary article {
    border-right: none;
    border-bottom: 1px solid #d8d3c7;
  }
  .shion-review-summary article:last-child {
    border-bottom: none;
  }
}

/* Block: custom_html / sec_1781012006335 */
.shion-review-cta {
  padding: 96px 20px;
  background:
    linear-gradient(90deg, rgba(8,16,17,.88), rgba(8,16,17,.5)),
    url('assets/demo/image/shion_menu_robata.webp');
  background-position: center;
  background-size: cover;
  color: #fff7ea;
  text-align: center;
}
.shion-review-cta p {
  margin: 0 0 14px;
  color: #f6cf7a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-review-cta h2 {
  max-width: 820px;
  margin: 0 auto;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-review-cta__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
.shion-review-cta__actions a {
  min-width: 170px;
  padding: 14px 22px;
  border: 1px solid rgba(255,247,234,.72);
  border-radius: 999px;
  color: #fff7ea;
  text-decoration: none;
  font-weight: 800;
}
.shion-review-cta__actions a:first-child {
  background: #c5a25a;
  border-color: #c5a25a;
  color: #081011;
}


/* =========================================================
   Page: news / NEWS ページ
========================================================= */

/* Block: custom_html / sec_1781012109350 */
.shion-news-guide {
  padding: 88px 20px;
  background: #fff7ea;
  color: #172523;
}
.shion-news-guide__head,
.shion-news-guide__grid {
  width: min(1120px, 100%);
  margin: 0 auto;
}
.shion-news-guide__head {
  margin-bottom: 34px;
}
.shion-news-guide__head p {
  margin: 0 0 14px;
  color: #8c6a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-news-guide__head h2 {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-news-guide__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.shion-news-guide article {
  min-height: 220px;
  padding: 30px;
  border: 1px solid #d8d3c7;
  background: rgba(255,255,255,.48);
}
.shion-news-guide span {
  color: #8c6a2d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}
.shion-news-guide h3 {
  margin: 36px 0 12px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 22px;
}
.shion-news-guide p:last-child {
  margin: 0;
  color: #4f5a57;
  line-height: 1.9;
  font-size: 13px;
}
@media (max-width: 768px) {
  .shion-news-guide__grid {
    grid-template-columns: 1fr;
  }
}

/* Block: news_list_grid / sec_1781090887261 */
.news-list-grid-section {padding: 80px 20px 100px; background: #ffffff; color: #333;}
            .news-section-header {text-align: center; margin-bottom: 60px;}
            .news-main-title {font-family: 'Montserrat', 'Shippori Mincho', serif; font-size: 28px; font-weight: 800; color: #111; letter-spacing: 0.15em; margin: 0 0 15px 0;}
            .news-sub-text {font-family: 'Noto Sans JP', sans-serif; font-size: 14px; color: #666; line-height: 1.8;}
            .nlg-grid {max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px;}
            .nlg-card {display: flex; flex-direction: column; background: #faf8f6; border-radius: 12px; overflow: hidden; text-decoration: none; color: #333; border: 1px solid rgba(0,0,0,0.03); box-shadow: 0 8px 25px rgba(160, 140, 140, 0.04); transition: transform 0.4s ease, box-shadow 0.4s ease;}
            a.nlg-card:hover {transform: translateY(-5px); box-shadow: 0 15px 35px rgba(246, 207, 122, 0.18);}
            .nlg-img {width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #f1f5f9; position: relative;}
            .nlg-img img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease;}
            a.nlg-card:hover .nlg-img img {transform: scale(1.05);}
            .nlg-no-img {width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 40px; background: rgba(255, 247, 234, 0.92);}
            .nlg-body {padding: 25px; display: flex; flex-direction: column; flex: 1;}
            .nlg-meta {margin-bottom: 10px;}
            .nlg-date {display: inline-block; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: bold; color: #c3a345; background: rgba(195, 163, 69, 0.1); padding: 4px 10px; border-radius: 4px; letter-spacing: 0.05em;}
            .nlg-title {font-family: 'Shippori Mincho', serif; font-size: 15px; font-weight: 700; color: #222; margin: 0; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}
            @media (max-width: 768px) {.news-list-grid-section {padding: 60px 15px;} .news-main-title {font-size: 24px;} .nlg-grid {grid-template-columns: 1fr; gap: 20px;} .nlg-body {padding: 20px;}}

/* Block: custom_html / sec_1781012159917 */
.shion-news-cta {
  padding: 96px 20px;
  background: #081011;
  color: #fff7ea;
  text-align: center;
}
.shion-news-cta p {
  margin: 0 0 14px;
  color: #f6cf7a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
}
.shion-news-cta h2 {
  max-width: 820px;
  margin: 0 auto;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: clamp(1.9rem, 4vw, 3rem);
}
.shion-news-cta__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
.shion-news-cta__actions a {
  min-width: 170px;
  padding: 14px 22px;
  border: 1px solid rgba(255,247,234,.72);
  border-radius: 999px;
  color: #fff7ea;
  text-decoration: none;
  font-weight: 800;
}
.shion-news-cta__actions a:first-child {
  background: #c5a25a;
  border-color: #c5a25a;
  color: #081011;
}


/* =========================================================
   Page: news_detail / NEWS_DETAIL ページ
========================================================= */

/* Block: news_article_body / sec_1780927135757 */
.news-article-body-section {padding: 80px 20px 120px; background: #ffffff; color: #333;}
            .nab-container {max-width: 800px; margin: 0 auto;}
            .nab-header {text-align: center; margin-bottom: 40px; border-bottom: 1px solid #f0e6e8; padding-bottom: 30px;}
            .nab-meta {margin-bottom: 15px;}
            .nab-date {font-family: 'Montserrat', sans-serif; font-size: 13px; color: #c3a345; font-weight: bold; letter-spacing: 0.05em;}
            .nab-date i {margin-right: 5px;}
            .nab-title {font-family: 'Shippori Mincho', serif; font-size: 26px; font-weight: 800; color: #111; line-height: 1.5; letter-spacing: 0.03em;}
            .nab-main-img-box {width: 100%; border-radius: 12px; overflow: hidden; margin-bottom: 50px; box-shadow: 0 15px 40px rgba(160, 140, 140, 0.08);}
            .nab-main-img-box img {width: 100%; height: auto; display: block;}
            .nab-body-text {font-family: 'Noto Serif JP', serif; font-size: 16px; color: #334155; line-height: 2.3; letter-spacing: 0.06em; margin-bottom: 60px;}
            .nab-footer-nav {text-align: center; border-top: 1px dashed rgba(232, 179, 190, 0.4); padding-top: 50px;}
            .btn-nab-back {display: inline-flex; align-items: center; gap: 10px; background: transparent; color: #e8b3be; border: 1px solid #e8b3be; padding: 14px 45px; font-size: 13px; font-weight: bold; font-family: 'Montserrat', 'Noto Sans JP', sans-serif; letter-spacing: 0.08em; text-decoration: none; border-radius: 4px; transition: 0.3s;}
            .btn-nab-back:hover {background: #e8b3be; color: #fff; box-shadow: 0 4px 15px rgba(232, 179, 190, 0.4);}
            .btn-nab-back i {transition: transform 0.3s;}
            .btn-nab-back:hover i {transform: translateX(-4px);}
            @media (max-width: 768px) {.news-article-body-section {padding: 50px 15px 80px;} .nab-title {font-size: 20px;} .nab-body-text {font-size: 15px; line-height: 2.0;} .btn-nab-back {width: 100%; justify-content: center;}}
