.seat-list-full-section {
padding:100px 20px;
background:#7a0736;
color:#fff;
}

.slf-header {
text-align:center;
margin-bottom:60px;
}

.slf-main-title {
font-family:'Shippori Mincho',serif;
font-size:28px;
font-weight:800;
color:#edc7d8;
letter-spacing:.1em;
margin:0 0 15px;
}

.slf-sub-text {
font-family:'Noto Sans JP',sans-serif;
font-size:14px;
color:#f7e8ef;
line-height:1.8;
letter-spacing:.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,.06);
border-radius:8px;
overflow:hidden;
box-shadow:0 16px 40px rgba(0,0,0,.18);
border:1px solid rgba(237,199,216,.22);
transition:transform .4s ease,box-shadow .4s ease;
}

.slf-card:hover {
transform:translateY(-4px);
box-shadow:0 15px 40px rgba(237,199,216,.18);
}

.slf-img-wrap {
position:relative;
width:100%;
aspect-ratio:4/3;
height:auto;
min-height:0;
overflow:hidden;
background:#68065a;
}

.slf-img-wrap img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .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:.05em;
z-index:2;
box-shadow:0 4px 15px rgba(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:#fff;
margin:0 0 8px;
line-height:1.4;
}

.slf-cap {
font-family:'Noto Sans JP',sans-serif;
font-size:12px;
color:#edc7d8;
font-weight:normal;
}

.slf-desc {
font-size:13px;
color:#f7e8ef;
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 var(--fc-btn-border);
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
font-weight:800;
padding:12px 18px;
cursor:pointer;
}

.slf-reserve-btn:hover {
background:var(--fc-btn-bg-hover);
border-color:var(--fc-btn-bg-hover);
}

@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;
}
}

.menu-section {
padding:100px 20px;
background:#7a0736;
text-align:center;
color:#fff;
}

.section-header {
margin-bottom:50px;
}

.menu-main-title {
font-family:'Shippori Mincho',serif;
font-size:26px;
font-weight:800;
color:#edc7d8;
letter-spacing:.1em;
margin-bottom:15px;
}

.menu-sub-text {
font-family:'Noto Sans JP',sans-serif;
font-size:14px;
color:#f7e8ef;
line-height:1.8;
letter-spacing:.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,.06);
border-radius:8px;
overflow:hidden;
box-shadow:0 16px 40px rgba(0,0,0,.18);
border:1px solid rgba(237,199,216,.22);
text-decoration:none;
color:#fff;
transition:transform .4s cubic-bezier(.25,1,.5,1),box-shadow .4s;
position:relative;
text-align:left;
}

.pickup-item-card:hover {
transform:translateY(-5px);
box-shadow:0 20px 40px rgba(237,199,216,.16);
}

.pickup-badge {
position:absolute;
top:15px;
left:15px;
background:#d590af;
color:#7a0736;
font-size:10px;
font-weight:bold;
font-family:'Montserrat',sans-serif;
letter-spacing:.1em;
padding:4px 12px;
border-radius:4px;
z-index:2;
}

.pickup-img-box {
width:100%;
aspect-ratio:4/3;
overflow:hidden;
background:#68065a;
}

.pickup-img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .6s cubic-bezier(.25,1,.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:#fff;
margin:0 0 10px;
line-height:1.4;
}

.pickup-desc {
font-size:12px;
color:#f7e8ef;
line-height:1.6;
margin:0 0 18px;
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:#edc7d8;
margin:0;
display:flex;
align-items:baseline;
gap:4px;
}

.tax-label {
font-family:'Noto Sans JP',sans-serif;
font-size:11px;
color:#edc7d8;
font-weight:normal;
}

.menu-btn-wrap {
text-align:center;
margin-top:50px;
}

.btn-menu-more {
display:inline-block;
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border:1px solid var(--fc-btn-border);
padding:14px 45px;
font-size:13px;
font-weight:bold;
font-family:'Montserrat','Noto Sans JP',sans-serif;
letter-spacing:.08em;
text-decoration:none;
border-radius:4px;
transition:.3s;
}

.btn-menu-more:hover {
background:var(--fc-btn-bg-hover);
border-color:var(--fc-btn-bg-hover);
color:var(--fc-btn-fg-hover);
box-shadow:0 4px 15px rgba(237,199,216,.3);
}

@media (max-width:768px) {
.menu-section {
padding:70px 15px;
}
.scroll-inner {
grid-template-columns:1fr;
gap:20px;
}
.menu-main-title {
font-size:22px;
}
}

.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 .4s cubic-bezier(.25,1,.5,1),box-shadow .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:420px;
}

.image-banner-slide {
position:absolute;
inset:0;
opacity:0;
pointer-events:none;
transition:opacity .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,.55);
background:rgba(104,6,90,.58);
color:#fff;
display:none;
align-items:center;
justify-content:center;
cursor:pointer;
z-index:3;
transition:.2s;
}

.image-banner-nav:hover {
background:rgba(213,144,175,.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,.8);
background:rgba(255,255,255,.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;
}
}

.menu-grid-section {
padding:100px 20px;
background:#7a0736;
color:#fff;
display:block !important;
height:auto !important;
max-height:none !important;
overflow:visible !important;
opacity:1 !important;
transform:none !important;
}

.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:#edc7d8;
letter-spacing:.15em;
margin:0 0 15px;
}

.menu-sub-text {
font-family:'Noto Sans JP',sans-serif;
font-size:14px;
color:#f7e8ef;
line-height:1.8;
letter-spacing:.05em;
}

.menu-cat-container {
max-width:1000px;
margin:0 auto;
height:auto !important;
max-height:none !important;
overflow:visible !important;
}

.menu-cat-block {
margin-bottom:80px;
height:auto !important;
max-height:none !important;
overflow:visible !important;
}

.menu-cat-empty {
margin-bottom:0;
}

.menu-empty-text {
text-align:center;
color:var(--text-sub);
font-size:14px;
padding:48px 20px;
margin:0;
}

.menu-cat-header {
margin-bottom:30px;
border-bottom:1px solid rgba(237,199,216,.22);
padding-bottom:15px;
}

.menu-cat-name {
font-family:'Shippori Mincho',serif;
font-size:22px;
font-weight:700;
color:#edc7d8;
margin:0 0 10px;
letter-spacing:.05em;
}

.menu-cat-desc {
font-size:13px;
color:#f7e8ef;
line-height:1.6;
margin:0;
}

.menu-items-grid {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(450px,1fr));
gap:30px;
height:auto !important;
max-height:none !important;
overflow:visible !important;
}

.menu-item-card {
display:flex;
gap:20px;
background:rgba(255,255,255,.06);
color:#fff;
padding:20px;
border-radius:8px;
box-shadow:0 16px 40px rgba(0,0,0,.18);
border:1px solid rgba(237,199,216,.22);
transition:transform .3s ease,box-shadow .3s ease;
}

.menu-item-card.no-image {
display:grid;
grid-template-columns:1fr;
padding:14px 0;
background:transparent;
border:0;
border-bottom:1px solid rgba(237,199,216,.18);
border-radius:0;
box-shadow:none;
}

.menu-item-card.no-image:hover {
transform:none;
box-shadow:none;
}

.menu-item-card.no-image .mi-info {
display:grid;
grid-template-columns:minmax(0,1fr) auto;
row-gap:4px;
align-items:baseline;
}

.menu-item-card.no-image .mi-title {
grid-column:1;
margin:0;
font-size:15px;
line-height:1.6;
}

.menu-item-card.no-image .mi-text {
grid-column:1/-1;
margin:0;
font-size:12px;
}

.menu-item-card.no-image .mi-meta {
grid-column:2;
grid-row:1;
display:block;
margin:0 0 0 18px;
padding:0;
border:0;
}

.menu-item-card.no-image .mi-price {
margin:0;
white-space:nowrap;
text-align:right;
}

.menu-item-card.no-image .price-in {
font-size:15px;
}

.menu-item-card:hover {
transform:translateY(-3px);
box-shadow:0 12px 35px rgba(237,199,216,.16);
}

.mi-img-box {
width:120px;
aspect-ratio:4/3;
height:auto;
flex-shrink:0;
border-radius:8px;
overflow:hidden;
position:relative;
background:#68065a;
}

.mi-img-box img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .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,.5);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-family:'Montserrat',sans-serif;
font-weight:bold;
font-size:14px;
letter-spacing:.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:#fff;
margin:0 0 8px;
line-height:1.4;
}

.mi-text {
font-size:12px;
color:#f7e8ef;
line-height:1.6;
margin:0 0 15px;
flex-grow:1;
}

.mi-meta {
display:flex;
justify-content:space-between;
align-items:flex-end;
border-top:1px dashed rgba(237,199,216,.22);
padding-top:12px;
}

.mi-duration {
font-size:11px;
color:#edc7d8;
font-family:'Montserrat','Noto Sans JP',sans-serif;
}

.mi-price {
text-align:right;
}

.mi-tax {
margin-left:6px;
font-size:11px;
font-weight:400;
color:#edc7d8;
font-family:'Montserrat','Noto Sans JP',sans-serif;
}

.price-in {
font-family:'Montserrat',sans-serif;
font-size:18px;
font-weight:800;
color:#edc7d8;
}

@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;
}
}

.course-list-section {
padding:100px 20px;
background:#68065a;
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:.12em;
margin:0 0 14px;
color:#edc7d8;
}

.course-list-desc {
font-size:14px;
line-height:2;
color:#f2dce6;
}

.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,.06);
border:1px solid rgba(237,199,216,.24);
border-radius:8px;
overflow:hidden;
}

.course-list-img {
aspect-ratio:4/3;
background:#68065a;
display:flex;
align-items:center;
justify-content:center;
color:#d590af;
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:#d590af;
letter-spacing:.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:#f7e8ef;
line-height:1.9;
min-height:5em;
}

.course-list-price {
font-size:24px;
color:#edc7d8;
font-weight:800;
margin:18px 0;
}

.course-list-price small {
font-size:11px;
margin-left:6px;
color:#f2dce6;
}

.course-list-reserve {
width:100%;
border:1px solid var(--fc-btn-border);
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
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(237,199,216,.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,.08);
color:#f7e8ef;
}

@media (max-width:768px) {
.course-list-section {
padding:70px 15px;
}
.course-list-title {
font-size:24px;
}
.course-list-body {
padding:22px;
}
}

.course-pickup-section {
padding:100px 20px;
background:#68065a;
color:#fff;
}

.course-pickup-header {
max-width:820px;
margin:0 auto 48px;
text-align:center;
}

.course-pickup-title {
font-family:'Shippori Mincho',serif;
font-size:30px;
letter-spacing:.12em;
margin:0 0 14px;
color:#edc7d8;
}

.course-pickup-desc {
font-size:14px;
line-height:2;
color:#f2dce6;
}

.course-pickup-grid {
max-width:920px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:28px;
}

.course-pickup-card {
background:rgba(255,255,255,.06);
border:1px solid rgba(237,199,216,.24);
border-radius:8px;
overflow:hidden;
}

.course-pickup-img {
aspect-ratio:4/3;
background:#68065a;
display:flex;
align-items:center;
justify-content:center;
color:#d590af;
font-size:42px;
}

.course-pickup-img img {
width:100%;
height:100%;
object-fit:cover;
}

.course-pickup-body {
padding:26px;
}

.course-pickup-kicker {
font-size:11px;
color:#d590af;
letter-spacing:.14em;
margin:0 0 8px;
}

.course-pickup-body h3 {
font-family:'Shippori Mincho',serif;
font-size:21px;
margin:0 0 14px;
}

.course-pickup-text {
font-size:13px;
color:#f7e8ef;
line-height:1.9;
min-height:5em;
}

.course-pickup-price {
font-size:24px;
color:#edc7d8;
font-weight:800;
margin:18px 0;
}

.course-pickup-price small {
font-size:11px;
margin-left:6px;
color:#f2dce6;
}

.course-pickup-reserve {
width:100%;
border:1px solid var(--fc-btn-border);
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
padding:13px 16px;
border-radius:4px;
font-weight:800;
cursor:pointer;
}

.course-pickup-more-wrap {
text-align:center;
margin-top:44px;
}

.btn-course-pickup-more {
display:inline-flex;
align-items:center;
justify-content:center;
min-height:46px;
padding:0 36px;
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border:1px solid var(--fc-btn-border);
border-radius:4px;
font-weight:900;
letter-spacing:.06em;
text-decoration:none;
transition:.3s;
}

.btn-course-pickup-more:hover {
background:var(--fc-btn-bg-hover);
border-color:var(--fc-btn-bg-hover);
color:var(--fc-btn-fg-hover);
}

.image-banner-header {
max-width:820px;
margin:0 auto 28px;
text-align:center;
}

.image-banner-title {
font-family:'Shippori Mincho',serif;
font-size:clamp(1.4rem,3vw,2rem);
font-weight:900;
letter-spacing:.1em;
margin:0 0 10px;
}

.image-banner-desc {
font-size:14px;
line-height:1.9;
opacity:.88;
margin:0;
}

@media (max-width:768px) {
.course-pickup-section {
padding:70px 15px;
}
.course-pickup-title {
font-size:24px;
}
.course-pickup-body {
padding:22px;
}
}

.link-button-section {
padding:40px 20px;
}

.link-button-container {
max-width:820px;
margin:0 auto;
}

.link-button-align-left {
text-align:left;
}

.link-button-align-center {
text-align:center;
}

.link-button-align-right {
text-align:right;
}

.link-button-title {
font-family:'Shippori Mincho',serif;
font-size:clamp(1.4rem,3vw,2rem);
font-weight:900;
letter-spacing:.1em;
margin:0 0 10px;
}

.link-button-desc {
font-size:14px;
line-height:1.9;
opacity:.88;
margin:0 0 22px;
}

.link-button-btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
min-height:50px;
padding:0 44px;
border-radius:4px;
font-size:14px;
font-weight:900;
letter-spacing:.08em;
text-decoration:none;
transition:.3s;
cursor:pointer;
}

.link-button-btn-primary {
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border:1px solid var(--fc-btn-border);
}

.link-button-btn-primary:hover {
background:var(--fc-btn-bg-hover);
color:var(--fc-btn-fg-hover);
border-color:var(--fc-btn-bg-hover);
box-shadow:0 4px 15px rgba(213,144,175,.3);
}

.link-button-btn-outline {
background:transparent;
color:var(--fc-btn-outline-fg);
border:1px solid var(--fc-btn-border);
}

.link-button-btn-outline:hover {
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border-color:var(--fc-btn-bg);
box-shadow:0 4px 15px rgba(213,144,175,.3);
}

.link-button-ext-icon {
font-size:.82em;
opacity:.85;
}

@media (max-width:768px) {
.link-button-section {
padding:30px 15px;
}
.link-button-btn {
width:100%;
padding:0 20px;
}
}

.fc-block-btn-wrap {
margin-top:24px;
}

.fc-block-btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
min-height:50px;
padding:0 44px;
border-radius:4px;
font-size:14px;
font-weight:900;
letter-spacing:.08em;
text-decoration:none;
transition:.3s;
cursor:pointer;
}

.fc-block-btn-primary {
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border:1px solid var(--fc-btn-border);
}

.fc-block-btn-primary:hover {
background:var(--fc-btn-bg-hover);
color:var(--fc-btn-fg-hover);
border-color:var(--fc-btn-bg-hover);
box-shadow:0 4px 15px rgba(213,144,175,.3);
}

.fc-block-btn-outline {
background:transparent;
color:var(--fc-btn-outline-fg);
border:1px solid var(--fc-btn-border);
}

.fc-block-btn-outline:hover {
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border-color:var(--fc-btn-bg);
box-shadow:0 4px 15px rgba(213,144,175,.3);
}

.fc-block-btn-ext {
font-size:.82em;
opacity:.85;
}

@media (max-width:768px) {
.fc-block-btn-wrap {
margin-top:18px;
}
}

.gmap-section {
padding:90px 20px;
background:#7a0736;
color:#fff;
}

.gmap-container {
max-width:1080px;
margin:0 auto;
}

.gmap-header {
max-width:820px;
margin:0 auto 34px;
text-align:center;
}

.gmap-title {
font-family:'Shippori Mincho',serif;
font-size:clamp(1.5rem,3vw,2.2rem);
font-weight:900;
letter-spacing:.1em;
color:var(--gold-light);
margin:0 0 12px;
}

.gmap-desc {
font-size:14px;
line-height:1.9;
color:#f7e8ef;
margin:0;
}

.gmap-frame-wrap {
position:relative;
width:100%;
aspect-ratio:16/9;
min-height:320px;
border-radius:8px;
overflow:hidden;
border:1px solid var(--line);
background:var(--bg-paper);
}

.gmap-frame-wrap iframe {
position:absolute;
inset:0;
width:100%;
height:100%;
border:0;
filter:grayscale(.12) contrast(.97);
}

.gmap-placeholder {
position:absolute;
inset:0;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:20px;
color:var(--text-sub);
font-size:13px;
}

@media (max-width:768px) {
.gmap-section {
padding:64px 15px;
}
.gmap-frame-wrap {
aspect-ratio:4/3;
min-height:260px;
}
}

.hero-wrapper.hero-has-slider::after {
z-index:2;
}

.hero-slider {
position:absolute;
inset:0;
width:100%;
height:100%;
overflow:hidden;
}

.hero-slide {
position:absolute;
inset:0;
z-index:1;
}

.hero-yt-cover {
position:absolute;
inset:0;
overflow:hidden;
pointer-events:none;
}

.hero-yt-cover iframe {
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:100%;
height:100%;
border:0;
}

@supports (width:100cqw) {
.hero-yt-cover {
container-type:size;
}
.hero-yt-cover iframe {
width:max(100cqw,calc(100cqh * 16 / 9));
height:max(100cqh,calc(100cqw * 9 / 16));
}
}

.hero-yt-bg {
position:absolute;
inset:0;
background-position:center;
background-size:cover;
filter:blur(14px) brightness(.7);
transform:scale(1.12);
}

@media (max-width:768px) {
.hero-wrapper.hero-has-yt {
height:auto;
min-height:0;
}
.hero-wrapper.hero-has-yt .hero-img-window {
height:auto;
padding:calc(68px + 24px) 0 24px;
}
.hero-wrapper.hero-has-yt .hero-yt-cover {
position:relative;
inset:auto;
width:100%;
height:calc(100vw * 9 / 16);
}
.hero-wrapper.hero-has-yt .hero-yt-cover iframe {
top:0;
left:0;
transform:none;
width:100%;
height:100%;
}
}

.hero-slide-img {
position:absolute;
inset:0;
width:100%;
height:100%;
background-size:cover;
background-position:center;
background-repeat:no-repeat;
}

.hero-slide-caption {
position:absolute;
z-index:3;
left:0;
right:0;
bottom:12%;
padding:0 6vw;
text-align:center;
color:#fff;
text-shadow:0 2px 18px rgba(0,0,0,.55);
}

.hero-slide-catch {
font-family:'Shippori Mincho',serif;
font-size:clamp(1.6rem,4vw,3rem);
font-weight:900;
letter-spacing:.08em;
line-height:1.4;
margin:0 0 12px;
}

.hero-slide-sub {
font-size:clamp(.85rem,1.6vw,1.05rem);
line-height:1.9;
letter-spacing:.04em;
margin:0;
opacity:.95;
}

.hero-slider-fade .hero-slide,
.hero-slider-zoom .hero-slide,
.hero-slider-zoomout .hero-slide {
opacity:0;
transition:opacity .9s ease;
}

.hero-slider-fade .hero-slide.is-active,
.hero-slider-zoom .hero-slide.is-active,
.hero-slider-zoomout .hero-slide.is-active {
opacity:1;
}

.hero-slider-zoom .hero-slide-img,
.hero-slider-zoomout .hero-slide-img {
transition:transform var(--hero-zoom-dur,7s) linear;
will-change:transform;
}

.hero-slider-zoom .hero-slide-img {
transform:scale(1);
}

.hero-slider-zoom .hero-slide.hero-zoom-on .hero-slide-img {
transform:scale(1.12);
}

.hero-slider-zoomout .hero-slide-img {
transform:scale(1.12);
}

.hero-slider-zoomout .hero-slide.hero-zoom-on .hero-slide-img {
transform:scale(1);
}

.hero-slider.is-single.hero-slider-zoom .hero-slide-img {
animation:fcHeroZoom var(--hero-zoom-dur,7s) ease forwards;
}

.hero-slider.is-single.hero-slider-zoomout .hero-slide-img {
animation:fcHeroZoomOut var(--hero-zoom-dur,7s) ease forwards;
}

@keyframes fcHeroZoom {
from {
transform:scale(1);
}
to {
transform:scale(1.12);
}
}

@keyframes fcHeroZoomOut {
from {
transform:scale(1.12);
}
to {
transform:scale(1);
}
}

.hero-slider-slide .hero-slide {
opacity:0;
transform:translateX(6%);
transition:opacity .8s ease,transform .8s ease;
}

.hero-slider-slide .hero-slide.is-active {
opacity:1;
transform:translateX(0);
}

.hero-slider.is-single .hero-slide {
opacity:1 !important;
transform:none !important;
}

.hero-slider-dots {
position:absolute;
z-index:4;
left:0;
right:0;
bottom:20px;
display:flex;
justify-content:center;
gap:9px;
}

.hero-slider-dot {
width:10px;
height:10px;
padding:0;
border-radius:999px;
border:1px solid rgba(255,255,255,.85);
background:rgba(255,255,255,.35);
cursor:pointer;
transition:.2s;
}

.hero-slider-dot.is-active {
background:var(--gold,#d590af);
border-color:var(--gold,#d590af);
}

@media (max-width:768px) {
.hero-slide-caption {
bottom:14%;
padding:0 8vw;
}
.hero-slider-dots {
bottom:14px;
gap:7px;
}
.hero-slider-dot {
width:8px;
height:8px;
}
}

.mega-recommend-section {
position:relative;
overflow:hidden;
padding:110px 40px;
background:#68065a;
color:var(--text-main);
}

.mega-section-header {
max-width:820px;
margin:0 auto 46px;
text-align:center;
}

.mega-section-title {
font-family:'Shippori Mincho',serif;
font-size:clamp(1.5rem,3vw,2.2rem);
font-weight:900;
letter-spacing:.1em;
color:var(--gold-light,#edc7d8);
margin:0 0 12px;
}

.mega-section-desc {
font-size:14px;
line-height:1.9;
color:#f7e8ef;
margin:0;
}

.mega-container {
max-width:1200px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:40px;
align-items:stretch;
}

.mega-left-pickup,
.mega-right-course {
min-width:0;
display:flex;
}

.premium-combo-card.white-border-card {
position:relative;
width:100%;
min-height:100%;
display:flex;
flex-direction:column;
overflow:hidden;
border-radius:6px;
background:rgba(255,255,255,.045);
border:1px solid rgba(237,199,216,.34);
box-shadow:0 20px 45px rgba(0,0,0,.4);
color:var(--text-main);
transition:transform .35s ease,background .35s ease,box-shadow .35s ease,border-color .35s ease;
}

.premium-combo-card.white-border-card:hover {
transform:translateY(-5px);
background:rgba(255,255,255,.07);
border-color:rgba(237,199,216,.6);
box-shadow:0 30px 60px rgba(0,0,0,.55);
}

.mega-card-badge {
position:absolute;
top:0;
left:0;
z-index:2;
padding:8px 18px;
border-radius:0 0 6px;
color:#fff;
font-family:var(--font-en),sans-serif;
font-size:11px;
font-weight:800;
letter-spacing:.15em;
}

.mega-card-badge.badge-recommend {
background:var(--vermilion,#8d0515);
}

.mega-card-badge.badge-course {
background:var(--gold,#d590af);
color:#7a0736;
}

.combo-card-img-box {
width:100%;
height:280px;
overflow:hidden;
background:var(--bg-paper,#68065a);
}

.combo-card-img-box img {
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:transform .5s ease,filter .5s ease;
}

.premium-combo-card.white-border-card:hover .combo-card-img-box img {
transform:scale(1.04);
filter:brightness(1.06);
}

.combo-card-body {
flex:1;
display:flex;
flex-direction:column;
padding:34px 30px 30px;
}

.mega-card-section-title {
margin:0 0 14px;
color:var(--gold-light,#edc7d8);
font-family:var(--font-en),sans-serif;
font-size:13px;
font-weight:800;
letter-spacing:.2em;
text-transform:uppercase;
}

.combo-card-title {
margin:0 0 12px;
font-family:'Shippori Mincho',serif;
color:var(--text-main);
font-size:22px;
font-weight:700;
line-height:1.55;
}

.combo-card-price {
margin:0 0 20px;
color:var(--gold-light,#edc7d8);
font-family:var(--font-en),var(--font-sans),sans-serif;
font-size:24px;
font-weight:900;
}

.combo-card-price .tax-in {
margin-left:6px;
color:rgba(255,255,255,.55);
font-size:13px;
font-weight:400;
}

.combo-card-desc-placeholder {
flex:1;
min-height:30px;
}

.combo-card-actions {
display:flex;
gap:12px;
align-items:center;
width:100%;
margin-top:auto;
}

.btn-combo-reserve,
.btn-news-style-more,
.btn-news-style-more-full {
border-radius:4px;
cursor:pointer;
text-decoration:none;
min-height:50px;
transition:background .28s ease,color .28s ease,border-color .28s ease;
}

.btn-combo-reserve {
flex:1.3;
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:15px;
border:1px solid var(--fc-btn-border);
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
font:inherit;
font-size:13.5px;
font-weight:800;
}

.btn-combo-reserve:hover {
background:var(--fc-btn-bg-hover);
border-color:var(--fc-btn-bg-hover);
color:var(--fc-btn-fg-hover);
}

.btn-news-style-more,
.btn-news-style-more-full {
display:inline-flex;
align-items:center;
justify-content:center;
padding:15px 10px;
border:1px solid var(--fc-btn-border);
background:transparent;
color:var(--fc-btn-outline-fg);
font-family:var(--font-en),sans-serif;
font-size:12px;
font-weight:700;
letter-spacing:.2em;
text-align:center;
}

.btn-news-style-more {
flex:.7;
}

.btn-news-style-more-full {
width:100%;
}

.btn-news-style-more:hover,
.btn-news-style-more-full:hover {
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border-color:var(--fc-btn-bg);
}

@media (max-width:768px) {
.mega-recommend-section {
padding:70px 18px;
}
.mega-container {
grid-template-columns:1fr;
gap:34px;
}
.combo-card-img-box {
height:220px;
}
.combo-card-actions {
flex-direction:column;
}
.btn-combo-reserve,
.btn-news-style-more,
.btn-news-style-more-full {
width:100%;
flex:none;
}
}

.image-grid-section {
padding:90px 20px;
background:#7a0736;
color:#fff;
}

.image-grid-container {
max-width:1120px;
margin:0 auto;
}

.image-grid-header {
max-width:820px;
margin:0 auto 34px;
text-align:center;
}

.image-grid-title {
font-family:'Shippori Mincho',serif;
font-size:clamp(1.5rem,3vw,2.2rem);
font-weight:900;
letter-spacing:.1em;
color:var(--gold-light);
margin:0 0 12px;
}

.image-grid-desc {
font-size:14px;
line-height:1.9;
color:#f7e8ef;
margin:0;
}

.image-grid {
display:grid;
gap:16px;
}

.image-grid-pc-2 {
grid-template-columns:repeat(2,1fr);
}

.image-grid-pc-3 {
grid-template-columns:repeat(3,1fr);
}

.image-grid-pc-4 {
grid-template-columns:repeat(4,1fr);
}

.image-grid-item {
overflow:hidden;
}

.image-grid-item img {
display:block;
width:100%;
height:auto;
}

.image-grid-shape-square .image-grid-item img {
aspect-ratio:1/1;
height:auto;
object-fit:cover;
}

.image-grid-shape-circle .image-grid-item img {
aspect-ratio:1/1;
height:auto;
object-fit:cover;
border-radius:999px;
}

.image-grid-shape-rounded .image-grid-item img {
border-radius:12px;
}

.image-grid-shape-free .image-grid-item img {
border-radius:0;
}

.image-grid-empty {
text-align:center;
color:var(--text-sub);
font-size:13px;
padding:40px 20px;
border:1px dashed var(--line);
border-radius:8px;
}

@media (max-width:768px) {
.image-grid-section {
padding:64px 15px;
}
.image-grid {
gap:12px;
}
.image-grid-sp-1 {
grid-template-columns:1fr;
}
.image-grid-sp-2 {
grid-template-columns:repeat(2,1fr);
}
}

.store-info-section {
padding:90px 20px;
background:#7a0736;
color:#fff;
}

.store-info-container {
max-width:1080px;
margin:0 auto;
}

.store-info-header {
max-width:820px;
margin:0 auto 34px;
text-align:center;
}

.store-info-title {
font-family:'Shippori Mincho',serif;
font-size:clamp(1.5rem,3vw,2.2rem);
font-weight:900;
letter-spacing:.1em;
color:var(--gold-light);
margin:0 0 12px;
}

.store-info-desc {
font-size:14px;
line-height:1.9;
color:#f7e8ef;
margin:0;
}

.store-info-layout {
display:block;
}

.store-info-layout.has-image {
display:grid;
grid-template-columns:1.1fr .9fr;
gap:40px;
align-items:start;
}

.store-info-table {
width:100%;
border-collapse:collapse;
}

.store-info-table th,
.store-info-table td {
padding:16px 4px;
border-bottom:1px solid rgba(255,255,255,.1);
text-align:left;
vertical-align:top;
font-size:14px;
line-height:1.8;
}

.store-info-table th {
width:128px;
color:var(--gold);
font-weight:800;
white-space:nowrap;
}

.store-info-table td {
color:var(--text-sub);
}

.store-info-image {
width:100%;
}

.store-info-image img {
width:100%;
height:100%;
max-height:420px;
object-fit:cover;
border-radius:8px;
border:1px solid var(--line);
}

@media (max-width:768px) {
.store-info-section {
padding:64px 15px;
}
.store-info-layout.has-image {
grid-template-columns:1fr;
gap:24px;
}
.store-info-image {
order:-1;
}
.store-info-table th {
width:96px;
font-size:13px;
}
.store-info-table td {
font-size:13px;
}
}

.contact-form-section {
padding:100px 20px;
background:#7a0736;
color:#fff;
}

.contact-section-header {
text-align:center;
margin-bottom:50px;
}

.contact-main-title {
font-family:'Montserrat','Shippori Mincho',serif;
font-size:28px;
font-weight:800;
color:#edc7d8;
letter-spacing:.15em;
margin:0 0 15px;
}

.contact-sub-text {
font-family:'Noto Sans JP',sans-serif;
font-size:14px;
color:#f7e8ef;
line-height:1.8;
}

.contact-container {
max-width:860px;
margin:0 auto;
}

.form-wrapper {
background:rgba(255,255,255,.06);
border:1px solid rgba(237,199,216,.22);
padding:42px;
border-radius:8px;
box-shadow:0 18px 45px rgba(0,0,0,.2);
}

.form-group {
margin-bottom:30px;
}

.form-group label {
display:flex;
align-items:center;
font-weight:600;
font-size:14px;
color:#fff;
margin-bottom:10px;
}

.form-group .required {
background:#8d0515;
color:#fff;
font-size:10px;
padding:3px 8px;
border-radius:4px;
margin-left:10px;
font-weight:bold;
letter-spacing:.05em;
}

.form-group .optional {
background:rgba(255,255,255,.16);
color:#f7e8ef;
font-size:10px;
padding:3px 8px;
border-radius:4px;
margin-left:10px;
font-weight:bold;
letter-spacing:.05em;
}

.restaurant-contact-form input[type="text"],
.restaurant-contact-form input[type="email"],
.restaurant-contact-form input[type="tel"],
.restaurant-contact-form select,
.restaurant-contact-form textarea {
width:100%;
padding:16px 20px;
border:1px solid rgba(237,199,216,.28);
border-radius:6px;
font-size:15px;
font-family:'Noto Sans JP',sans-serif;
color:#68065a;
background:rgba(255,255,255,.94);
transition:.3s cubic-bezier(.25,1,.5,1);
box-shadow:inset 0 2px 4px rgba(0,0,0,.01);
}

.restaurant-contact-form input:focus,
.restaurant-contact-form select:focus,
.restaurant-contact-form textarea:focus {
outline:none;
border-color:var(--gold);
box-shadow:0 0 0 4px rgba(237,199,216,.18);
background:rgba(255,255,255,.92);
}

.select-wrap {
position:relative;
}

.select-wrap::after {
content:'\f107';
font-family:'Font Awesome 6 Free';
font-weight:900;
position:absolute;
right:20px;
top:50%;
transform:translateY(-50%);
color:#aaa;
pointer-events:none;
}

.restaurant-contact-form select {
appearance:none;
-webkit-appearance:none;
cursor:pointer;
}

.form-submit-wrap {
text-align:center;
margin-top:50px;
}

.btn-submit-contact {
display:inline-block;
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border:1px solid var(--fc-btn-border);
padding:18px 60px;
border-radius:4px;
font-size:15px;
font-weight:bold;
letter-spacing:.1em;
cursor:pointer;
transition:.3s;
box-shadow:0 4px 15px rgba(0,0,0,.1);
}

.btn-submit-contact:hover {
background:var(--fc-btn-bg-hover);
border-color:var(--fc-btn-bg-hover);
transform:translateY(-2px);
box-shadow:0 8px 25px rgba(213,144,175,.3);
}

.contact-success-msg {
background:rgba(255,255,255,.06);
border:1px solid rgba(237,199,216,.22);
color:#fff;
padding:40px;
border-radius:8px;
text-align:center;
margin-bottom:30px;
animation:fadeIn .5s ease;
}

.contact-success-msg i {
font-size:30px;
margin-bottom:15px;
}

.contact-success-msg p {
font-size:15px;
font-weight:bold;
margin:0;
line-height:1.6;
}

@media (max-width:768px) {
.form-wrapper {
padding:40px 20px;
}
.contact-main-title {
font-size:24px;
}
.form-group label {
font-size:13px;
}
.btn-submit-contact {
width:100%;
padding:18px 0;
}
}

.custom-html-wrapper {
padding:0 !important;
margin:0 !important;
max-width:none !important;
background:transparent !important;
color:inherit !important;
}

.custom-html-inner {
width:100% !important;
max-width:none !important;
margin:0 !important;
padding:0 !important;
}

.custom-html-inner > *:first-child {
margin-top:0;
}

.custom-html-inner > *:last-child {
margin-bottom:0;
}

.custom-html-inner img,
.custom-html-inner video,
.custom-html-inner iframe {
max-width:100%;
}

.big-calendar-section {
padding:90px 20px;
background:#7a0736;
color:#fff;
}

.bc-container,
.calendar-card {
max-width:1040px;
margin:0 auto;
}

.calendar-card {
padding:36px;
background:rgba(255,255,255,.06);
border:1px solid rgba(237,199,216,.22);
border-radius:8px;
box-shadow:0 18px 45px rgba(0,0,0,.2);
}

.calendar-header-box {
text-align:center;
margin-bottom:32px;
}

.bc-month-nav {
display:flex;
align-items:center;
justify-content:center;
gap:18px;
margin:0 0 24px;
}

.bc-month-label {
min-width:150px;
color:#edc7d8;
font-family:'Shippori Mincho',serif;
font-size:20px;
font-weight:800;
text-align:center;
letter-spacing:.08em;
}

.bc-month-btn {
width:42px;
height:42px;
display:inline-flex;
align-items:center;
justify-content:center;
border:1px solid rgba(237,199,216,.38);
border-radius:999px;
background:rgba(237,199,216,.08);
color:#edc7d8;
cursor:pointer;
}

.bc-month-btn:hover:not(:disabled) {
background:rgba(237,199,216,.18);
border-color:rgba(237,199,216,.72);
}

.bc-month-btn:disabled {
opacity:.35;
cursor:not-allowed;
}

.cal-main-title {
margin:0 0 12px;
font-family:'Shippori Mincho',serif;
color:#edc7d8;
font-size:28px;
letter-spacing:.12em;
}

.cal-sub-text {
margin:0;
color:#f7e8ef;
line-height:2;
}

.bc-header,
.big-calendar-section .section-header {
text-align:center;
margin-bottom:42px;
}

.bc-title,
.big-calendar-section h2 {
font-family:'Shippori Mincho',serif;
color:#edc7d8;
font-size:28px;
letter-spacing:.12em;
}

.bc-desc,
.big-calendar-section p {
color:#f7e8ef;
line-height:2;
}

.bc-calendar,
.bc-grid,
.big-calendar-grid {
display:grid;
grid-template-columns:repeat(7,minmax(0,1fr));
background:rgba(255,255,255,.05);
border:1px solid rgba(237,199,216,.22);
border-radius:8px;
overflow:hidden;
}

.bc-day-head,
.bc-day {
min-height:78px;
padding:12px 8px;
border-right:1px solid rgba(237,199,216,.16) !important;
border-bottom:1px solid rgba(237,199,216,.16) !important;
}

.bc-day-head {
min-height:auto;
text-align:center;
background:rgba(213,144,175,.16);
color:#edc7d8;
font-family:'Montserrat',sans-serif;
font-size:11px;
font-weight:900;
letter-spacing:.08em;
}

.bc-day {
background:rgba(255,255,255,.03);
color:#fff;
cursor:pointer;
}

.bc-day.is-open {
background:linear-gradient(135deg,rgba(237,199,216,.2),rgba(213,144,175,.08));
box-shadow:inset 0 0 0 1px rgba(237,199,216,.22);
}

.bc-day.is-open:hover {
background:linear-gradient(135deg,rgba(237,199,216,.3),rgba(213,144,175,.14));
}

.bc-day.is-limited {
background:rgba(237,199,216,.11);
}

.bc-day.is-full {
background:rgba(141,5,21,.045);
cursor:default;
}

.bc-empty {
background:rgba(255,255,255,.015);
cursor:default;
}

.bc-date-num {
color:#fff;
font-weight:900;
}

.bc-date-mark {
margin-top:10px;
font-size:18px;
font-weight:900;
}

.mark-ok {
color:#edc7d8;
text-shadow:0 0 16px rgba(237,199,216,.28);
}

.mark-warn {
color:#edc7d8;
}

.mark-ng {
color:#8d0515;
}

.bc-mark-open {
color:#edc7d8;
}

.bc-mark-limited {
color:#edc7d8;
}

.bc-mark-full {
color:#8d0515;
}

@media (max-width:768px) {
.big-calendar-section {
padding:64px 15px;
}
.calendar-card {
padding:22px;
}
.bc-title,
.big-calendar-section h2,
.cal-main-title {
font-size:22px;
}
.bc-day {
min-height:64px;
padding:9px 5px;
}
.bc-day-head {
padding:8px 4px;
font-size:10px;
}
}

.biz-status-wrapper {
padding:48px 20px;
background:#68065a;
color:#fff;
}

.biz-status-box {
max-width:760px;
margin:0 auto;
padding:28px 30px;
border:1px solid rgba(237,199,216,.24);
border-radius:8px;
background:rgba(255,255,255,.05);
text-align:center;
box-shadow:0 18px 45px rgba(0,0,0,.18);
}

.biz-status-message {
color:#f7e8ef !important;
}

.status-badge {
box-shadow:0 8px 22px rgba(0,0,0,.16);
}

@media (max-width:768px) {
.biz-status-wrapper {
padding:36px 15px;
}
.biz-status-box {
padding:24px 18px;
}
}

.policy-section {
padding:72px 20px;
background:#fff8fb;
color:#2b2028;
}

.policy-container {
max-width:860px;
margin:0 auto;
padding:34px 38px;
background:#fff8fb;
border:1px solid rgba(104,6,90,.12);
border-left:4px solid #d590af;
border-radius:8px;
box-shadow:0 16px 38px rgba(104,6,90,.08);
}

.policy-title {
font-family:'Shippori Mincho',serif;
color:#2b2028;
font-size:22px;
letter-spacing:.08em;
margin:0 0 18px;
}

.policy-title i {
color:#d590af;
margin-right:8px;
}

.policy-content {
color:#66515f;
font-size:14px;
line-height:2;
}

.policy-block + .policy-block {
margin-top:30px;
padding-top:28px;
border-top:1px dashed rgba(104,6,90,.16);
}

.policy-steps {
list-style:none;
margin:0;
padding:0;
}

.policy-step {
display:flex;
gap:16px;
align-items:flex-start;
padding:12px 0;
}

.policy-step + .policy-step {
border-top:1px solid rgba(104,6,90,.07);
}

.policy-step-num {
flex:0 0 auto;
width:32px;
height:32px;
border-radius:999px;
background:#d590af;
color:#fff;
font-weight:900;
display:flex;
align-items:center;
justify-content:center;
font-size:15px;
}

.policy-step-title {
font-weight:700;
color:#2b2028;
font-size:15px;
margin-bottom:4px;
}

.policy-step-desc {
color:#66515f;
font-size:13.5px;
line-height:1.9;
}

@media (max-width:768px) {
.policy-section {
padding:56px 15px;
}
.policy-container {
padding:26px 20px;
}
.policy-title {
font-size:19px;
}
.policy-step-num {
width:28px;
height:28px;
font-size:13px;
}
}

.reviews-archive-section {
padding:90px 20px;
background:#7a0736;
color:#fff;
}

.reviews-layout-container {
max-width:1120px;
margin:0 auto;
display:grid;
grid-template-columns:minmax(0,1fr) 320px;
gap:34px;
align-items:start;
}

.reviews-main {
display:flex;
flex-direction:column;
gap:24px;
}

.review-row-card {
display:grid;
grid-template-columns:180px 1fr;
gap:24px;
padding:24px;
background:rgba(255,255,255,.06);
border:1px solid rgba(237,199,216,.22);
border-radius:8px;
box-shadow:0 18px 45px rgba(0,0,0,.2);
}

.review-img-box {
aspect-ratio:4/3;
overflow:hidden;
border-radius:6px;
background:#68065a;
}

.review-img-box img {
width:100%;
height:100%;
object-fit:cover;
}

.review-meta {
display:flex;
justify-content:space-between;
gap:16px;
color:#d590af;
font-size:12px;
margin-bottom:8px;
}

.review-stars {
color:#edc7d8;
letter-spacing:.08em;
margin-bottom:8px;
}

.review-dish {
display:inline-block;
color:#edc7d8;
background:rgba(213,144,175,.16);
border:1px solid rgba(237,199,216,.22);
border-radius:4px;
padding:4px 10px;
font-size:12px;
font-weight:700;
}

.review-text {
margin-top:12px;
color:#f7e8ef;
line-height:2;
}

.reviews-sidebar {
display:flex;
flex-direction:column;
gap:22px;
}

.side-widget {
padding:24px;
background:rgba(255,255,255,.06);
color:#fff;
border:1px solid rgba(237,199,216,.22);
border-radius:8px;
}

.side-title {
font-family:'Shippori Mincho',serif;
color:#edc7d8;
font-size:18px;
margin:0 0 18px;
}

.rank-list {
list-style:none;
margin:0;
padding:0;
}

.rank-item {
display:flex;
align-items:center;
gap:12px;
padding:12px 0;
border-bottom:1px solid rgba(255,255,255,.08);
}

.rank-item:last-child {
border-bottom:none;
}

.rank-num {
color:#edc7d8;
font-weight:900;
}

.rank-img {
width:54px;
height:54px;
object-fit:cover;
border-radius:6px;
}

.rank-name {
margin:0;
color:#fff;
line-height:1.5;
}

.rank-votes {
font-size:12px;
color:#f7e8ef;
}

.pagination {
display:flex;
justify-content:center;
gap:8px;
margin-top:28px;
}

.page-btn {
min-width:38px;
height:38px;
display:inline-flex;
align-items:center;
justify-content:center;
border:1px solid rgba(213,144,175,.35);
color:#2b2028;
border-radius:4px;
}

.page-btn.active,
.page-btn:hover {
background:#d590af;
color:#7a0736;
}

@media (max-width:900px) {
.reviews-layout-container {
grid-template-columns:1fr;
}
.review-row-card {
grid-template-columns:1fr;
}
.review-img-box {
width:100%;
}
}

.ugc-section {
padding:96px 20px;
background:#7a0736;
color:#fff;
}

.ugc-container {
max-width:1120px;
margin:0 auto;
}

.ugc-grid {
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:28px;
}

.ugc-card {
position:relative;
overflow:hidden;
background:rgba(255,255,255,.06);
border:1px solid rgba(237,199,216,.22);
border-radius:8px;
box-shadow:0 18px 45px rgba(0,0,0,.2);
}

.ugc-rank-badge {
position:absolute;
top:14px;
left:14px;
z-index:3;
display:inline-flex;
align-items:center;
justify-content:center;
min-width:58px;
height:32px;
padding:0 12px;
background:#d590af;
color:#7a0736;
font-family:'Montserrat',sans-serif;
font-size:12px;
font-weight:900;
letter-spacing:.08em;
border-radius:4px;
box-shadow:0 8px 20px rgba(0,0,0,.22);
}

.ugc-img-box {
aspect-ratio:4/3;
background:#68065a;
overflow:hidden;
}

.ugc-img-box img {
width:100%;
height:100%;
object-fit:cover;
}

.ugc-info {
padding:24px;
}

.ugc-stars {
color:#edc7d8;
letter-spacing:.08em;
margin-bottom:10px;
}

.ugc-title {
font-family:'Shippori Mincho',serif;
color:#fff;
font-size:18px;
margin:0 0 10px;
}

.ugc-desc {
color:#f7e8ef;
line-height:1.9;
font-size:13px;
}

.ugc-user {
display:flex;
align-items:center;
gap:8px;
margin-top:16px;
color:#edc7d8;
font-size:12px;
}

.ugc-verified {
color:#edc7d8;
}

.ugc-btn-wrap {
text-align:center;
margin-top:42px;
}

.btn-ugc-more {
display:inline-flex;
align-items:center;
justify-content:center;
min-height:46px;
padding:12px 32px;
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border:1px solid var(--fc-btn-border);
border-radius:4px;
font-weight:900;
text-decoration:none;
}

.btn-ugc-more:hover {
background:var(--fc-btn-bg-hover);
border-color:var(--fc-btn-bg-hover);
color:var(--fc-btn-fg-hover);
}

@media (max-width:768px) {
.ugc-section {
padding:70px 15px;
}
.ugc-info {
padding:20px;
}
}

.seats-section {
padding:104px 20px;
background:#68065a;
color:#fff;
}

.seats-section .section-header {
max-width:760px;
margin:0 auto 58px;
text-align:center;
}

.seats-main-title {
font-family:'Shippori Mincho',serif;
font-size:clamp(1.7rem,3vw,2.4rem);
font-weight:900;
color:#edc7d8;
letter-spacing:.12em;
margin:0 0 14px;
}

.seats-sub-text {
color:#f2dce6;
font-size:14px;
line-height:2;
}

.seats-container {
max-width:1080px;
margin:0 auto;
display:flex;
flex-direction:column;
gap:34px;
}

.seat-card {
display:grid;
grid-template-columns:minmax(280px,.9fr) minmax(0,1fr);
gap:36px;
align-items:center;
padding:28px;
background:rgba(255,255,255,.06);
border:1px solid rgba(237,199,216,.22);
border-radius:8px;
box-shadow:0 18px 45px rgba(0,0,0,.2);
}

.seat-card.seat-reverse {
grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);
}

.seat-card.seat-reverse .seat-img-box {
order:2;
}

.seat-card.seat-reverse .seat-info {
order:1;
}

.seat-img-box {
width:100%;
aspect-ratio:4/3;
overflow:hidden;
border-radius:6px;
background:#68065a;
box-shadow:0 16px 38px rgba(0,0,0,.28);
}

.seat-img-box img {
width:100%;
height:100%;
object-fit:cover;
transition:transform .55s ease;
}

.seat-card:hover .seat-img-box img {
transform:scale(1.04);
}

.seat-info {
padding:8px 10px;
}

.seat-title {
font-family:'Shippori Mincho',serif;
color:#fff;
font-size:22px;
font-weight:900;
letter-spacing:.08em;
margin:0 0 10px;
}

.seat-badges {
display:flex;
flex-wrap:wrap;
gap:8px;
margin:0 0 14px;
}

.seat-badge {
display:inline-flex;
align-items:center;
padding:4px 12px;
border-radius:999px;
font-family:'Noto Sans JP',sans-serif;
font-size:12px;
font-weight:700;
letter-spacing:.02em;
background:rgba(237,199,216,.12);
color:var(--gold-light,#edc7d8);
border:1px solid rgba(237,199,216,.4);
white-space:nowrap;
}

.seat-badge.is-open {
background:rgba(213,144,175,.18);
color:var(--gold-light,#edc7d8);
border-color:rgba(237,199,216,.55);
}

.seat-badge.is-full {
background:rgba(141,5,21,.2);
color:#edc7d8;
border-color:rgba(141,5,21,.45);
}

.seat-desc {
color:#f7e8ef;
font-size:14px;
line-height:2;
margin:0;
}

.seat-btn-wrap {
text-align:center;
margin-top:46px;
}

.btn-seat-more {
display:inline-flex;
align-items:center;
justify-content:center;
min-height:46px;
padding:0 32px;
background:var(--fc-btn-bg);
color:var(--fc-btn-fg);
border:1px solid var(--fc-btn-border);
border-radius:4px;
font-weight:900;
letter-spacing:.06em;
text-decoration:none;
transition:.3s;
}

.btn-seat-more:hover {
background:var(--fc-btn-bg-hover);
border-color:var(--fc-btn-bg-hover);
color:var(--fc-btn-fg-hover);
}

.ugc-main-title {
font-family:'Shippori Mincho',serif;
color:#edc7d8;
font-size:clamp(1.7rem,3vw,2.35rem);
font-weight:900;
letter-spacing:.12em;
margin:0 0 14px;
}

.ugc-sub-text {
color:#f7e8ef;
font-size:14px;
line-height:2;
margin:0;
}

.review-body {
min-width:0;
}

.review-author,
.review-date {
color:#d590af;
}

.rank-info {
min-width:0;
}

.fc-modal-overlay {
position:fixed;
inset:0;
z-index:5000;
display:none;
align-items:center;
justify-content:center;
padding:24px;
background:rgba(104,6,90,.72);
backdrop-filter:blur(8px);
}

.fc-modal-overlay.show {
display:flex;
}

.fc-modal-content {
width:min(920px,100%);
max-height:min(88vh,900px);
display:flex;
flex-direction:column;
overflow:hidden;
background:#fff8fb;
color:#68065a;
border:1px solid rgba(237,199,216,.36);
border-radius:8px;
box-shadow:0 28px 90px rgba(0,0,0,.42);
}

.fc-modal-header {
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
padding:22px 26px;
background:#7a0736;
color:#fff;
border-bottom:1px solid rgba(237,199,216,.28);
}

.fc-modal-title {
font-family:'Shippori Mincho',serif;
font-size:22px;
color:#edc7d8;
letter-spacing:.1em;
margin:0;
}

.fc-modal-close {
width:42px;
height:42px;
display:inline-flex;
align-items:center;
justify-content:center;
border:1px solid rgba(237,199,216,.28);
border-radius:999px;
background:rgba(255,255,255,.06);
color:#fff;
cursor:pointer;
}

.fc-step-indicator {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1px;
background:rgba(104,6,90,.12);
}

.fc-step-item {
display:flex;
align-items:center;
justify-content:center;
gap:9px;
min-height:58px;
background:#fff8fb;
color:#947d8a;
font-size:13px;
font-weight:800;
}

.fc-step-item.active {
background:rgba(213,144,175,.16);
color:#7a0736;
}

.fc-step-num {
width:28px;
height:28px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:999px;
background:rgba(104,6,90,.08);
color:inherit;
font-family:'Montserrat',sans-serif;
font-weight:900;
}

.fc-step-item.active .fc-step-num {
background:#d590af;
color:#7a0736;
}

.fc-modal-body {
padding:28px;
overflow:auto;
}

.fc-step {
display:none;
}

.fc-step.active {
display:block;
}

.fc-section-title {
display:flex;
align-items:center;
gap:10px;
margin:0 0 16px;
color:#2b2028;
font-family:'Shippori Mincho',serif;
font-size:18px;
letter-spacing:.06em;
}

.fc-section-title i {
color:#d590af;
}

.fc-course-list {
display:grid;
gap:12px;
}

.fc-course-card {
position:relative;
display:grid;
grid-template-columns:28px minmax(0,1fr);
gap:14px;
align-items:start;
padding:18px 20px;
border:1px solid rgba(104,6,90,.14);
border-radius:6px;
background:#fff;
cursor:pointer;
transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.fc-course-card input {
position:absolute;
opacity:0;
pointer-events:none;
}

.fc-course-card.selected {
border-color:#d590af;
background:rgba(237,199,216,.13);
box-shadow:0 10px 28px rgba(104,6,90,.08);
}

.fc-check-icon {
width:28px;
height:28px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:999px;
border:1px solid rgba(104,6,90,.18);
color:transparent;
}

.fc-course-card.selected .fc-check-icon {
background:#d590af;
border-color:#d590af;
color:#7a0736;
}

.fc-course-name {
margin:0 0 6px;
color:#2b2028;
font-family:'Shippori Mincho',serif;
font-size:16px;
}

.fc-course-price {
margin:0 0 6px;
color:#8d0515;
font-family:'Montserrat',sans-serif;
font-weight:900;
}

.fc-course-desc {
margin:0;
color:#947d8a;
font-size:13px;
line-height:1.8;
}

.fc-date-grid,
.fc-time-grid {
display:grid;
gap:10px;
margin-bottom:18px;
}

.fc-date-grid {
grid-template-columns:repeat(7,minmax(0,1fr));
}

.fc-time-grid {
grid-template-columns:repeat(auto-fit,minmax(86px,1fr));
}

.fc-date-cell,
.fc-time-btn {
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
min-height:58px;
padding:10px 8px;
border:1px solid rgba(104,6,90,.14);
border-radius:6px;
background:#fff;
color:#68065a;
cursor:pointer;
font-weight:800;
}

.fc-date-cell.selected,
.fc-time-btn.selected {
background:#d590af;
border-color:#d590af;
color:#7a0736;
}

.fc-date-cell.disabled,
.fc-time-btn.disabled {
opacity:.42;
cursor:not-allowed;
background:#f7e8ef;
}

.fc-date-day {
font-size:11px;
color:inherit;
}

.fc-date-num {
font-family:'Montserrat',sans-serif;
font-size:20px;
line-height:1.2;
}

.fc-form-group {
margin-bottom:18px;
}

.fc-form-group label {
display:block;
margin-bottom:7px;
color:#2b2028;
font-weight:800;
font-size:13px;
}

.fc-form-control {
width:100%;
min-height:48px;
padding:12px 14px;
border:1px solid rgba(104,6,90,.16);
border-radius:6px;
background:#fff;
color:#68065a;
font-size:15px;
}

.fc-form-control:focus {
outline:none;
border-color:#d590af;
box-shadow:0 0 0 4px rgba(213,144,175,.16);
}

.fc-success-box {
text-align:center;
padding:34px 20px;
}

.fc-success-icon {
font-size:46px;
color:#d590af;
margin-bottom:18px;
}

.fc-modal-footer {
display:flex;
justify-content:space-between;
gap:12px;
padding:18px 26px;
background:#fff8fb;
border-top:1px solid rgba(104,6,90,.12);
}

.fc-btn {
display:inline-flex;
align-items:center;
justify-content:center;
min-height:46px;
padding:0 24px;
border-radius:4px;
border:1px solid transparent;
font-weight:900;
cursor:pointer;
}

.fc-btn-prev {
background:#fff;
color:#68065a;
border-color:rgba(104,6,90,.18);
}

.fc-btn-next {
background:#d590af;
color:#7a0736;
border-color:#d590af;
}

.fc-btn:disabled {
opacity:.45;
cursor:not-allowed;
}

@media (max-width:768px) {
.seats-section {
padding:72px 15px;
}
.seat-card,
.seat-card.seat-reverse {
grid-template-columns:1fr;
padding:22px;
}
.seat-card.seat-reverse .seat-img-box,
.seat-card.seat-reverse .seat-info {
order:initial;
}
.fc-modal-overlay {
padding:10px;
}
.fc-modal-content {
max-height:94vh;
}
.fc-modal-header,
.fc-modal-body,
.fc-modal-footer {
padding:18px;
}
.fc-step-label {
display:none;
}
.fc-date-grid {
gap:6px;
}
.fc-date-cell {
min-height:52px;
padding:8px 4px;
}
.fc-time-grid {
grid-template-columns:repeat(3,minmax(0,1fr));
}
.fc-modal-footer {
flex-direction:column-reverse;
}
.fc-btn {
width:100%;
}
}

.news-bar-section {
padding:34px 20px !important;
background:#68065a !important;
color:var(--text-main) !important;
}

.news-bar-container {
max-width:1040px !important;
}

.news-bar-link {
display:grid !important;
grid-template-columns:auto minmax(0,1fr) auto !important;
gap:18px !important;
align-items:center !important;
justify-items:center !important;
padding:18px 22px !important;
background:rgba(255,255,255,.045) !important;
border:1px solid rgba(237,199,216,.24) !important;
border-radius:6px !important;
color:var(--text-main) !important;
box-shadow:0 14px 34px rgba(0,0,0,.18) !important;
}

.news-bar-link + .news-bar-link {
margin-top:10px !important;
}

.news-bar-link:hover {
background:rgba(237,199,216,.08) !important;
border-color:rgba(237,199,216,.52) !important;
box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
transform:translateY(-2px) !important;
}

.news-bar-left {
display:inline-flex !important;
align-items:center !important;
gap:12px !important;
margin-right:0 !important;
min-width:0 !important;
justify-content:center !important;
}

.news-badge {
background:var(--vermilion) !important;
color:#fff !important;
border:1px solid rgba(255,255,255,.12) !important;
border-radius:4px !important;
font-family:var(--font-en) !important;
font-size:10px !important;
font-weight:900 !important;
letter-spacing:.12em !important;
padding:5px 10px !important;
}

.news-date {
color:var(--gold-light) !important;
font-family:var(--font-en) !important;
font-size:12px !important;
font-weight:800 !important;
letter-spacing:.08em !important;
}

.news-title {
margin:0 !important;
color:var(--text-sub) !important;
font-size:14px !important;
font-weight:700 !important;
line-height:1.8 !important;
text-align:center !important;
}

.news-arrow {
color:var(--gold-light) !important;
}

.concept-section {
position:relative !important;
overflow:hidden !important;
padding:110px 5% !important;
background:#fff !important;
color:#2b2028 !important;
text-align:left !important;
}

.concept-section:nth-of-type(even) {
background:#7a0736 !important;
}

.concept-section::before {
content:"" !important;
position:absolute !important;
top:-120px !important;
right:-120px !important;
display:block !important;
width:320px !important;
height:320px !important;
border-radius:50% !important;
background:rgba(213,144,175,.09) !important;
pointer-events:none !important;
}

.concept-section::after {
content:"" !important;
position:absolute !important;
left:-100px !important;
bottom:-150px !important;
display:block !important;
width:300px !important;
height:300px !important;
border-radius:50% !important;
background:rgba(122,7,54,.04) !important;
pointer-events:none !important;
}

.concept-container,
.concept-container.concept-reverse {
position:relative !important;
z-index:1 !important;
width:100% !important;
max-width:1160px !important;
margin:0 auto !important;
display:flex !important;
grid-template-columns:none !important;
align-items:center !important;
gap:80px !important;
}

.concept-container.concept-reverse {
flex-direction:row-reverse !important;
}

.concept-container.concept-reverse .concept-content,
.concept-container.concept-reverse .concept-img-wrapper {
order:initial !important;
}

.concept-content {
position:relative !important;
flex:1 1 0 !important;
width:auto !important;
min-width:0 !important;
padding:0 !important;
margin:0 !important;
display:block !important;
background:transparent !important;
border:0 !important;
box-shadow:none !important;
color:#2b2028 !important;
text-align:left !important;
}

.concept-content::before {
display:none !important;
}

.concept-content * {
text-align:left !important;
}

.concept-content p.concept-eyebrow {
display:block !important;
width:100% !important;
margin:0 0 12px !important;
padding:0 !important;
color:#7a0736 !important;
font-family:"Montserrat","Noto Sans JP",sans-serif !important;
font-size:12px !important;
font-weight:700 !important;
line-height:1.5 !important;
letter-spacing:.16em !important;
text-align:left !important;
}

.concept-title,
.concept-content h2,
.concept-content h3 {
position:relative !important;
display:block !important;
width:100% !important;
margin:0 0 28px !important;
padding:0 0 18px !important;
color:#7a0736 !important;
font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif !important;
font-size:clamp(26px,3vw,38px) !important;
font-weight:700 !important;
line-height:1.65 !important;
letter-spacing:.08em !important;
text-align:left !important;
}

.concept-title::after,
.concept-content h2::after,
.concept-content h3::after {
content:"" !important;
position:absolute !important;
left:0 !important;
right:auto !important;
bottom:0 !important;
display:block !important;
width:54px !important;
height:3px !important;
margin:0 !important;
border:0 !important;
border-radius:999px !important;
background:linear-gradient(110deg,#68065a 0%,#7a0736 48%,#8d0515 100%) !important;
transform:none !important;
}

.concept-text,
.concept-content p {
display:block !important;
max-width:620px !important;
margin:0 !important;
padding:0 !important;
color:#66515f !important;
font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif !important;
font-size:14px !important;
font-weight:400 !important;
line-height:2.15 !important;
letter-spacing:.035em !important;
text-align:left !important;
}

.concept-text + .concept-text,
.concept-content p + p {
margin-top:16px !important;
}

.concept-content a {
text-align:left !important;
}

.concept-content .btn,
.concept-content button,
.concept-content .concept-btn,
.concept-content .btn-more,
.concept-content .fc-block-btn-wrap {
margin-left:0 !important;
margin-right:auto !important;
text-align:left !important;
}

.concept-img-wrapper {
position:relative !important;
flex:1 1 0 !important;
width:auto !important;
min-width:0 !important;
height:auto !important;
padding:0 18px 18px 0 !important;
margin:0 !important;
overflow:visible !important;
border:0 !important;
border-radius:0 !important;
background:transparent !important;
box-shadow:none !important;
}

.concept-img-wrapper::before {
display:none !important;
}

.concept-img-wrapper::after {
content:"" !important;
position:absolute !important;
top:18px !important;
left:18px !important;
right:0 !important;
bottom:0 !important;
z-index:0 !important;
display:block !important;
border:1px solid rgba(122,7,54,.22) !important;
border-radius:18px !important;
background:#7a0736 !important;
pointer-events:none !important;
}

.concept-img-wrapper img,
.concept-img-wrapper video {
position:relative !important;
z-index:1 !important;
display:block !important;
width:100% !important;
height:auto !important;
aspect-ratio:4/3 !important;
object-fit:cover !important;
object-position:center !important;
border-radius:18px !important;
filter:none !important;
box-shadow:0 14px 38px rgba(104,6,90,.1) !important;
}

.job-list-section,
.news-list-grid-section,
.news-article-body-section {
padding:104px 20px !important;
background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),var(--bg-base) !important;
color:var(--text-main) !important;
}

.job-section-header,
.news-section-header {
max-width:760px !important;
margin:0 auto 56px !important;
text-align:center !important;
}

.job-main-title,
.news-main-title {
margin:0 0 14px !important;
color:var(--gold-light) !important;
font-family:var(--font-serif) !important;
font-size:clamp(1.7rem,3vw,2.35rem) !important;
font-weight:900 !important;
letter-spacing:.12em !important;
}

.job-sub-text,
.news-sub-text {
margin:0 !important;
color:var(--text-sub) !important;
font-size:14px !important;
line-height:2 !important;
}

.job-container {
max-width:1040px !important;
margin:0 auto !important;
display:flex !important;
flex-direction:column !important;
gap:28px !important;
}

.job-card {
overflow:hidden !important;
background:rgba(255,255,255,.055) !important;
color:var(--text-main) !important;
border:1px solid rgba(237,199,216,.22) !important;
border-radius:6px !important;
box-shadow:0 18px 48px rgba(0,0,0,.23) !important;
}

.job-card-header {
padding:26px 30px !important;
background:rgba(0,0,0,.18) !important;
border-bottom:1px solid rgba(237,199,216,.18) !important;
}

.job-type-badge {
display:inline-flex !important;
margin-bottom:12px !important;
padding:5px 12px !important;
background:rgba(141,5,21,.88) !important;
color:#fff !important;
border:1px solid rgba(255,255,255,.12) !important;
border-radius:4px !important;
font-size:11px !important;
font-weight:900 !important;
letter-spacing:.08em !important;
}

.job-title {
margin:0 !important;
color:var(--text-main) !important;
font-family:var(--font-serif) !important;
font-size:22px !important;
line-height:1.5 !important;
}

.job-card-body {
display:grid !important;
grid-template-columns:minmax(220px,280px) minmax(0,1fr) !important;
gap:30px !important;
padding:30px !important;
}

.job-img-box {
width:100% !important;
height:auto !important;
aspect-ratio:4/3 !important;
flex:initial !important;
border-radius:6px !important;
overflow:hidden !important;
background:var(--bg-paper) !important;
}

.job-img-box img {
width:100% !important;
height:100% !important;
object-fit:cover !important;
}

.job-info-box {
min-width:0 !important;
}

.job-table {
width:100% !important;
border-collapse:collapse !important;
}

.job-table th,
.job-table td {
padding:13px 0 !important;
border-bottom:1px solid rgba(255,255,255,.08) !important;
color:var(--text-sub) !important;
font-size:13px !important;
line-height:1.8 !important;
}

.job-table th {
width:116px !important;
padding-right:18px !important;
color:var(--gold) !important;
font-weight:800 !important;
white-space:nowrap !important;
}

.job-salary {
color:var(--gold-light) !important;
font-weight:900 !important;
}

.nlg-grid {
max-width:1120px !important;
margin:0 auto !important;
display:grid !important;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
gap:26px !important;
}

.nlg-card {
overflow:hidden !important;
background:rgba(255,255,255,.055) !important;
color:var(--text-main) !important;
border:1px solid rgba(237,199,216,.22) !important;
border-radius:6px !important;
box-shadow:0 18px 48px rgba(0,0,0,.23) !important;
}

a.nlg-card:hover {
transform:translateY(-4px) !important;
border-color:rgba(237,199,216,.48) !important;
box-shadow:0 24px 56px rgba(0,0,0,.3) !important;
}

.nlg-img,
.nlg-no-img {
background:var(--bg-paper) !important;
}

.nlg-img {
aspect-ratio:4/3 !important;
}

.nlg-img img {
width:100% !important;
height:100% !important;
object-fit:cover !important;
}

.nlg-no-img {
color:var(--gold-light) !important;
}

.nlg-body {
padding:24px !important;
}

.nlg-meta,
.nab-meta {
margin-bottom:12px !important;
}

.nlg-date {
display:inline-flex !important;
align-items:center !important;
background:rgba(213,144,175,.16) !important;
color:var(--gold-light) !important;
border:1px solid rgba(237,199,216,.22) !important;
border-radius:4px !important;
font-family:var(--font-en) !important;
font-size:11px !important;
font-weight:900 !important;
letter-spacing:.08em !important;
}

.nlg-title {
color:var(--text-sub) !important;
font-family:var(--font-serif) !important;
font-size:16px !important;
font-weight:800 !important;
line-height:1.65 !important;
}

.nab-container {
max-width:900px !important;
margin:0 auto !important;
padding:46px !important;
background:rgba(255,255,255,.055) !important;
color:var(--text-main) !important;
border:1px solid rgba(237,199,216,.22) !important;
border-radius:6px !important;
box-shadow:0 20px 54px rgba(0,0,0,.25) !important;
}

.nab-header {
border-bottom:1px solid rgba(237,199,216,.22) !important;
}

.nab-date {
color:var(--gold-light) !important;
font-family:var(--font-en) !important;
font-weight:900 !important;
}

.nab-title {
color:var(--text-main) !important;
font-family:var(--font-serif) !important;
font-size:clamp(1.55rem,3vw,2.35rem) !important;
line-height:1.6 !important;
letter-spacing:.08em !important;
}

.nab-main-img-box {
aspect-ratio:16/9 !important;
border:1px solid rgba(237,199,216,.22) !important;
border-radius:6px !important;
box-shadow:none !important;
background:var(--bg-paper) !important;
}

.nab-main-img-box img {
width:100% !important;
height:100% !important;
object-fit:cover !important;
}

.nab-body-text {
color:var(--text-sub) !important;
font-family:var(--font-serif) !important;
font-size:16px !important;
line-height:2.25 !important;
letter-spacing:.04em !important;
}

.nab-footer-nav {
border-top:1px dashed rgba(237,199,216,.3) !important;
}

.btn-nab-back {
background:transparent !important;
color:var(--fc-btn-outline-fg) !important;
border:1px solid var(--fc-btn-border) !important;
border-radius:4px !important;
}

.btn-nab-back:hover {
background:var(--fc-btn-bg) !important;
color:var(--fc-btn-fg) !important;
box-shadow:none !important;
}

@media (max-width:900px) {
.concept-container,
.concept-container.concept-reverse {
gap:50px !important;
}
}

@media (max-width:768px) {
.news-bar-link {
grid-template-columns:1fr !important;
gap:10px !important;
padding:18px !important;
}
.news-bar-left {
flex-wrap:wrap !important;
}
.concept-section,
.job-list-section,
.news-list-grid-section,
.news-article-body-section {
padding:70px 15px !important;
}
.concept-section {
text-align:left !important;
}
.concept-section::before {
top:-90px !important;
right:-100px !important;
width:240px !important;
height:240px !important;
}
.concept-section::after {
display:none !important;
}
.concept-container,
.concept-container.concept-reverse {
display:flex !important;
flex-direction:column !important;
grid-template-columns:none !important;
align-items:stretch !important;
gap:38px !important;
}
.concept-content,
.concept-container.concept-reverse .concept-content {
order:2 !important;
width:100% !important;
padding:0 !important;
margin:0 !important;
text-align:left !important;
}
.concept-img-wrapper,
.concept-container.concept-reverse .concept-img-wrapper {
order:1 !important;
width:100% !important;
padding:0 12px 12px 0 !important;
}
.concept-content * {
text-align:left !important;
}
.concept-content p.concept-eyebrow {
font-size:11px !important;
text-align:left !important;
}
.concept-title,
.concept-content h2,
.concept-content h3 {
margin-bottom:22px !important;
padding-bottom:15px !important;
font-size:25px !important;
line-height:1.6 !important;
text-align:left !important;
}
.concept-title::after,
.concept-content h2::after,
.concept-content h3::after {
left:0 !important;
right:auto !important;
width:46px !important;
height:3px !important;
transform:none !important;
}
.concept-text,
.concept-content p {
max-width:none !important;
font-size:13px !important;
line-height:2 !important;
text-align:left !important;
}
.concept-img-wrapper::after {
top:12px !important;
left:12px !important;
border-radius:14px !important;
}
.concept-img-wrapper img,
.concept-img-wrapper video {
border-radius:14px !important;
}
.job-card-body {
grid-template-columns:1fr !important;
padding:24px !important;
}
.job-table th,
.job-table td {
display:block !important;
width:100% !important;
padding:8px 0 !important;
}
.nlg-grid {
grid-template-columns:1fr !important;
}
.nab-container {
padding:28px 22px !important;
}
.nab-main-img-box {
aspect-ratio:4/3 !important;
}
.btn-nab-back {
width:100% !important;
justify-content:center !important;
}
}

@media (max-width:480px) {
.concept-section {
padding:62px 16px !important;
}
.concept-container,
.concept-container.concept-reverse {
gap:30px !important;
}
.concept-title,
.concept-content h2,
.concept-content h3 {
font-size:22px !important;
letter-spacing:.06em !important;
}
.concept-text,
.concept-content p {
font-size:13px !important;
line-height:1.95 !important;
letter-spacing:.02em !important;
}
.concept-img-wrapper img,
.concept-img-wrapper video {
aspect-ratio:4/3 !important;
}
}

.recruit-spot-section,
.recruit-banner-section,
.fc-instagram-embed-section {
background:var(--bg-base) !important;
color:var(--text-main) !important;
}

.recruit-spot-section {
padding:96px 20px !important;
}

.main-spot-card {
max-width:920px !important;
margin:0 auto !important;
padding:46px 44px !important;
background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;
border:1px solid rgba(237,199,216,.26) !important;
border-radius:6px !important;
box-shadow:0 22px 58px rgba(0,0,0,.26) !important;
text-align:center !important;
}

.spot-badge {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
margin-bottom:22px !important;
padding:6px 16px !important;
background:rgba(141,5,21,.92) !important;
color:#fff !important;
border:1px solid rgba(255,255,255,.18) !important;
border-radius:4px !important;
font-family:var(--font-en) !important;
font-size:11px !important;
font-weight:900 !important;
letter-spacing:.14em !important;
}

.spot-title {
margin:0 0 18px !important;
color:var(--gold-light) !important;
font-family:var(--font-serif) !important;
font-size:clamp(1.45rem,3vw,2.1rem) !important;
font-weight:800 !important;
line-height:1.55 !important;
letter-spacing:.1em !important;
}

.spot-desc {
max-width:680px !important;
margin:0 auto !important;
color:var(--text-sub) !important;
font-family:var(--font-serif) !important;
font-size:15px !important;
line-height:2.05 !important;
letter-spacing:.04em !important;
}

.spot-card,
.spot-content,
.sic-body,
.fc-course-info {
min-width:0 !important;
}

.spot-btn-wrap {
margin-top:30px !important;
}

.btn-spot-link {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:8px !important;
min-height:46px !important;
padding:0 26px !important;
background:var(--fc-btn-bg) !important;
color:var(--fc-btn-fg) !important;
border:1px solid var(--fc-btn-border) !important;
border-radius:4px !important;
box-shadow:none !important;
font-size:13px !important;
font-weight:900 !important;
letter-spacing:.06em !important;
}

.btn-spot-link:hover {
background:var(--fc-btn-bg-hover) !important;
color:var(--fc-btn-fg-hover) !important;
transform:translateY(-2px) !important;
}

.spot-items-grid {
max-width:1040px !important;
margin:54px auto 0 !important;
}

.spot-grid-title {
display:block !important;
width:auto !important;
margin:0 0 26px !important;
padding-bottom:14px !important;
color:var(--gold-light) !important;
border-bottom:1px solid rgba(237,199,216,.28) !important;
font-family:var(--font-serif) !important;
font-size:18px !important;
font-weight:800 !important;
letter-spacing:.08em !important;
text-align:center !important;
}

.sig-wrapper {
display:grid !important;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;
gap:20px !important;
}

.spot-item-card {
padding:22px !important;
background:rgba(255,255,255,.055) !important;
border:1px solid rgba(237,199,216,.22) !important;
border-radius:6px !important;
box-shadow:0 18px 46px rgba(0,0,0,.22) !important;
}

.spot-item-card.is-full {
opacity:.68 !important;
background:rgba(255,255,255,.035) !important;
border-color:rgba(255,255,255,.12) !important;
filter:saturate(.72) !important;
}

.sic-header {
display:flex !important;
align-items:flex-start !important;
justify-content:space-between !important;
gap:16px !important;
padding-bottom:16px !important;
margin-bottom:16px !important;
border-bottom:1px solid rgba(237,199,216,.18) !important;
}

.sic-date {
display:flex !important;
flex-direction:column !important;
gap:4px !important;
}

.sic-md {
color:var(--gold-light) !important;
font-family:var(--font-en) !important;
font-size:24px !important;
font-weight:900 !important;
line-height:1 !important;
}

.sic-time {
color:var(--text-muted) !important;
font-size:12px !important;
font-weight:700 !important;
}

.sic-status {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-height:30px !important;
padding:0 12px !important;
border-radius:4px !important;
font-size:12px !important;
font-weight:900 !important;
white-space:nowrap !important;
}

.status-open {
background:rgba(213,144,175,.18) !important;
color:var(--gold-light) !important;
border:1px solid rgba(237,199,216,.32) !important;
}

.status-full {
background:rgba(141,5,21,.2) !important;
color:#edc7d8 !important;
border:1px solid rgba(141,5,21,.36) !important;
}

.sic-title {
margin:0 0 12px !important;
color:var(--text-main) !important;
font-family:var(--font-serif) !important;
font-size:18px !important;
font-weight:800 !important;
line-height:1.55 !important;
}

.sic-wage {
margin-bottom:12px !important;
color:var(--text-sub) !important;
font-size:13px !important;
}

.sic-wage strong {
color:var(--gold-light) !important;
font-family:var(--font-en) !important;
font-size:20px !important;
font-weight:900 !important;
}

.sic-desc {
margin:0 !important;
color:var(--text-muted) !important;
font-size:13px !important;
line-height:1.85 !important;
}

.free-text-section {
padding:96px 20px !important;
background:var(--bg-warm) !important;
color:var(--ink) !important;
text-align:center !important;
}

.free-text-container {
max-width:880px !important;
margin:0 auto !important;
padding:42px 46px !important;
background:#7a0736 !important;
border:1px solid rgba(104,6,90,.12) !important;
border-left:4px solid var(--gold) !important;
border-radius:6px !important;
box-shadow:0 18px 46px rgba(104,6,90,.1) !important;
text-align:left !important;
}

.free-text-title {
margin:0 0 22px !important;
color:#2b2028 !important;
font-family:var(--font-serif) !important;
font-size:clamp(1.35rem,2.5vw,1.9rem) !important;
font-weight:800 !important;
line-height:1.55 !important;
letter-spacing:.1em !important;
}

.free-text-desc {
display:block !important;
color:#66515f !important;
font-family:var(--font-serif) !important;
font-size:15px !important;
line-height:2.15 !important;
letter-spacing:.04em !important;
}

.recruit-banner-section {
padding:88px 20px !important;
background:linear-gradient(rgba(104,6,90,.9),rgba(104,6,90,.94)),var(--bg-base) !important;
}

.recruit-banner-container {
max-width:960px !important;
margin:0 auto !important;
padding:54px 40px !important;
background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;
border:1px solid rgba(237,199,216,.26) !important;
border-radius:6px !important;
box-shadow:0 22px 58px rgba(0,0,0,.26) !important;
text-align:center !important;
}

.recruit-banner-container::before {
color:rgba(237,199,216,.08) !important;
font-family:var(--font-en) !important;
letter-spacing:.14em !important;
}

.recruit-content-inner {
position:relative !important;
z-index:1 !important;
}

.recruit-title {
margin:0 0 18px !important;
color:var(--gold-light) !important;
font-family:var(--font-serif) !important;
font-size:clamp(1.55rem,3vw,2.15rem) !important;
font-weight:800 !important;
line-height:1.55 !important;
letter-spacing:.1em !important;
}

.recruit-desc {
max-width:680px !important;
margin:0 auto 30px !important;
color:var(--text-sub) !important;
font-family:var(--font-serif) !important;
font-size:15px !important;
line-height:2.05 !important;
letter-spacing:.04em !important;
}

.btn-recruit-link {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:8px !important;
min-height:46px !important;
padding:0 28px !important;
background:var(--fc-btn-bg) !important;
color:var(--fc-btn-fg) !important;
border:1px solid var(--fc-btn-border) !important;
border-radius:4px !important;
box-shadow:none !important;
font-size:13px !important;
font-weight:900 !important;
letter-spacing:.06em !important;
}

.btn-recruit-link:hover {
background:var(--fc-btn-bg-hover) !important;
color:var(--fc-btn-fg-hover) !important;
transform:translateY(-2px) !important;
}

.fc-instagram-embed-section {
padding:96px 20px !important;
background:var(--bg-base) !important;
color:var(--text-main) !important;
}

.fc-instagram-embed-inner {
max-width:1040px !important;
margin:0 auto !important;
text-align:center !important;
}

.fc-instagram-embed-heading {
margin-bottom:36px !important;
}

.fc-instagram-embed-label {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
margin-bottom:12px !important;
color:var(--gold-light) !important;
font-family:var(--font-en) !important;
font-size:12px !important;
font-weight:900 !important;
letter-spacing:.18em !important;
text-transform:uppercase !important;
}

.fc-instagram-embed-heading h2 {
margin:0 0 14px !important;
color:var(--gold-light) !important;
font-family:var(--font-serif) !important;
font-size:clamp(1.65rem,3.6vw,2.7rem) !important;
font-weight:800 !important;
line-height:1.45 !important;
letter-spacing:.1em !important;
}

.fc-instagram-embed-heading p {
max-width:680px !important;
margin:0 auto !important;
color:var(--text-sub) !important;
font-size:14px !important;
line-height:2 !important;
}

.fc-instagram-embed-card {
display:flex !important;
justify-content:center !important;
max-width:620px !important;
margin:0 auto !important;
padding:18px !important;
background:rgba(255,255,255,.055) !important;
border:1px solid rgba(237,199,216,.22) !important;
border-radius:8px !important;
box-shadow:0 22px 58px rgba(0,0,0,.26) !important;
}

.fc-instagram-embed-card--legacy {
max-width:1120px !important;
width:min(100%,1120px) !important;
padding:0 !important;
background:transparent !important;
border:0 !important;
box-shadow:none !important;
}

.fc-instagram-embed-card--legacy .instagram-media,
.fc-instagram-embed-card--legacy iframe {
max-width:1080px !important;
width:100% !important;
}

.fc-instagram-embed-card .instagram-media {
border-radius:6px !important;
box-shadow:none !important;
}

.fc-instagram-embed-action {
margin-top:28px !important;
}

.fc-instagram-embed-action a {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-width:220px !important;
min-height:46px !important;
padding:0 28px !important;
background:var(--fc-btn-bg) !important;
color:var(--fc-btn-fg) !important;
border:1px solid var(--fc-btn-border) !important;
border-radius:4px !important;
box-shadow:none !important;
font-size:13px !important;
font-weight:900 !important;
letter-spacing:.06em !important;
text-decoration:none !important;
}

.fc-instagram-embed-action a:hover {
background:var(--fc-btn-bg-hover) !important;
color:var(--fc-btn-fg-hover) !important;
opacity:1 !important;
transform:translateY(-2px) !important;
}

@media (max-width:768px) {
.recruit-spot-section,
.recruit-banner-section,
.fc-instagram-embed-section,
.free-text-section {
padding:70px 15px !important;
}
.main-spot-card,
.recruit-banner-container {
padding:34px 22px !important;
}
.spot-title,
.recruit-title {
letter-spacing:.06em !important;
}
.spot-desc,
.recruit-desc {
font-size:14px !important;
line-height:1.9 !important;
}
.btn-spot-link,
.btn-recruit-link,
.fc-instagram-embed-action a {
width:100% !important;
max-width:320px !important;
}
.spot-grid-title {
font-size:16px !important;
}
.sig-wrapper {
grid-template-columns:1fr !important;
}
.sic-header {
align-items:center !important;
}
.free-text-container {
padding:30px 22px !important;
}
.free-text-title {
letter-spacing:.06em !important;
}
.free-text-desc {
font-size:14px !important;
line-height:2 !important;
}
.recruit-banner-container::before {
font-size:46px !important;
top:4px !important;
}
.fc-instagram-embed-card {
padding:10px !important;
overflow:hidden !important;
}
}

.news-bar-section {
text-align:center !important;
}

.news-bar-container {
margin-left:auto !important;
margin-right:auto !important;
}

.news-bar-link {
display:flex !important;
align-items:center !important;
justify-content:center !important;
text-align:center !important;
}

.news-bar-left {
justify-content:center !important;
}

.news-title {
flex:0 1 auto !important;
text-align:center !important;
}

@media (max-width:768px) {
.news-bar-link {
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;
}
.news-bar-left,
.news-title {
width:100% !important;
margin-left:auto !important;
margin-right:auto !important;
}
}

.fc-instagram-embed-section {
padding:96px 20px !important;
background:var(--bg-base) !important;
color:var(--text-main) !important;
}

.fc-instagram-embed-inner {
max-width:1180px !important;
margin:0 auto !important;
text-align:center !important;
}

.fc-instagram-post-grid,
.fc-instagram-slider {
max-width:1180px !important;
margin:0 auto !important;
}

.fc-instagram-post-grid {
gap:18px !important;
}

.fc-instagram-post-card {
min-width:0 !important;
padding:10px !important;
background:rgba(255,255,255,.055) !important;
border:1px solid rgba(237,199,216,.22) !important;
border-radius:8px !important;
box-shadow:0 18px 44px rgba(0,0,0,.22) !important;
overflow:hidden !important;
}

.fc-instagram-post-card .instagram-media,
.fc-instagram-post-card iframe,
.fc-instagram-embed-card .instagram-media,
.fc-instagram-embed-card iframe {
width:100% !important;
min-width:0 !important;
max-width:100% !important;
}

.fc-instagram-embed-card--legacy {
max-width:1120px !important;
width:min(100%,1120px) !important;
padding:0 !important;
background:transparent !important;
border:0 !important;
box-shadow:none !important;
}

.fc-instagram-embed-card--legacy .instagram-media,
.fc-instagram-embed-card--legacy iframe {
max-width:1080px !important;
width:100% !important;
}

.fc-instagram-layout-large .fc-instagram-post-card {
padding:14px !important;
}

.fc-instagram-display-photo .fc-instagram-post-card {
position:relative !important;
aspect-ratio:1/.955 !important;
padding:0 !important;
background:#68065a !important;
}

.fc-instagram-display-photo.fc-instagram-layout-wide .fc-instagram-post-card,
.fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card,
.fc-instagram-display-photo.fc-instagram-layout-slider .fc-instagram-post-card {
aspect-ratio:1/.935 !important;
}

.fc-instagram-display-photo .fc-instagram-post-card .instagram-media,
.fc-instagram-display-photo .fc-instagram-post-card iframe {
position:absolute !important;
top:0 !important;
left:0 !important;
width:100% !important;
height:calc(100% + 170px) !important;
min-height:calc(100% + 170px) !important;
max-height:none !important;
transform:translateY(-72px) !important;
border:0 !important;
border-radius:0 !important;
}

.fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card .instagram-media,
.fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card iframe {
height:calc(100% + 190px) !important;
min-height:calc(100% + 190px) !important;
transform:translateY(-82px) !important;
}

.fc-instagram-slider {
position:relative !important;
padding:0 48px 34px !important;
}

.fc-instagram-slider-viewport {
overflow:hidden !important;
}

.fc-instagram-slider-track {
gap:18px !important;
align-items:stretch !important;
}

.fc-instagram-slider-arrow {
position:absolute !important;
top:50% !important;
z-index:2 !important;
width:38px !important;
height:38px !important;
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
border:1px solid var(--gold) !important;
border-radius:999px !important;
background:rgba(104,6,90,.9) !important;
color:var(--gold-light) !important;
box-shadow:0 14px 32px rgba(0,0,0,.25) !important;
transform:translateY(-50%) !important;
}

.fc-instagram-slider-prev {
left:0 !important;
}

.fc-instagram-slider-next {
right:0 !important;
}

.fc-instagram-slider-arrow:hover {
background:var(--gold) !important;
color:#7a0736 !important;
}

.fc-instagram-slider-arrow:disabled {
opacity:.35 !important;
cursor:default !important;
}

.fc-instagram-slider-dots {
position:absolute !important;
left:50% !important;
bottom:0 !important;
display:flex !important;
gap:8px !important;
justify-content:center !important;
transform:translateX(-50%) !important;
}

.fc-instagram-slider-dot {
width:8px !important;
height:8px !important;
padding:0 !important;
border:1px solid rgba(237,199,216,.75) !important;
border-radius:999px !important;
background:transparent !important;
}

.fc-instagram-slider-dot.is-active {
width:22px !important;
background:var(--gold) !important;
}

.fc-instagram-slider.is-static {
padding-bottom:0 !important;
}

@media (max-width:768px) {
.fc-instagram-post-grid {
gap:10px !important;
}
.fc-instagram-post-card {
padding:6px !important;
border-radius:6px !important;
}
.fc-instagram-display-photo .fc-instagram-post-card {
padding:0 !important;
aspect-ratio:1/.955 !important;
}
.fc-instagram-display-photo .fc-instagram-post-card .instagram-media,
.fc-instagram-display-photo .fc-instagram-post-card iframe {
height:calc(100% + 118px) !important;
min-height:calc(100% + 118px) !important;
transform:translateY(-50px) !important;
}
.fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card .instagram-media,
.fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card iframe {
height:calc(100% + 132px) !important;
min-height:calc(100% + 132px) !important;
transform:translateY(-58px) !important;
}
.fc-instagram-slider {
padding:0 0 32px !important;
}
.fc-instagram-slider-arrow {
top:auto !important;
bottom:-4px !important;
width:32px !important;
height:32px !important;
transform:none !important;
}
.fc-instagram-slider-prev {
left:12px !important;
}
.fc-instagram-slider-next {
right:12px !important;
}
.fc-instagram-slider-dots {
bottom:8px !important;
}
}

.link-button-buttons.link-button-inline {
display:flex;
flex-wrap:wrap;
gap:14px;
justify-content:center;
}

.link-button-align-left .link-button-inline {
justify-content:flex-start;
}

.link-button-align-right .link-button-inline {
justify-content:flex-end;
}

.link-button-grid {
display:grid;
gap:14px;
margin-top:4px;
}

.link-button-grid .link-button-btn {
width:100%;
padding:0 20px;
}

.link-button-pc-1 {
grid-template-columns:1fr;
}

.link-button-pc-2 {
grid-template-columns:repeat(2,1fr);
}

.link-button-pc-3 {
grid-template-columns:repeat(3,1fr);
}

.link-button-pc-4 {
grid-template-columns:repeat(4,1fr);
}

@media (max-width:768px) {
.link-button-sp-1 {
grid-template-columns:1fr;
}
.link-button-sp-2 {
grid-template-columns:repeat(2,1fr);
}
}

.hero-cap-top-left .hero-slide-caption,
.hero-cap-top-center .hero-slide-caption,
.hero-cap-top-right .hero-slide-caption {
top:9%;
bottom:auto;
transform:none;
}

.hero-cap-mid-left .hero-slide-caption,
.hero-cap-mid-center .hero-slide-caption,
.hero-cap-mid-right .hero-slide-caption {
top:50%;
bottom:auto;
transform:translateY(-50%);
}

.hero-cap-bottom-left .hero-slide-caption,
.hero-cap-bottom-center .hero-slide-caption,
.hero-cap-bottom-right .hero-slide-caption {
top:auto;
bottom:12%;
transform:none;
}

.hero-cap-top-left .hero-slide-caption,
.hero-cap-mid-left .hero-slide-caption,
.hero-cap-bottom-left .hero-slide-caption {
text-align:left;
}

.hero-cap-top-center .hero-slide-caption,
.hero-cap-mid-center .hero-slide-caption,
.hero-cap-bottom-center .hero-slide-caption {
text-align:center;
}

.hero-cap-top-right .hero-slide-caption,
.hero-cap-mid-right .hero-slide-caption,
.hero-cap-bottom-right .hero-slide-caption {
text-align:right;
}

.hero-slide-catch {
color:var(--hero-catch-color,#fff);
}

.hero-slide-sub {
color:var(--hero-sub-color,inherit);
}

.hero-catch-sm {
font-size:clamp(1.1rem,2.6vw,1.7rem);
}

.hero-catch-md {
font-size:clamp(1.6rem,4vw,3rem);
}

.hero-catch-lg {
font-size:clamp(2rem,5.2vw,3.8rem);
}

.hero-catch-xl {
font-size:clamp(2.4rem,6.4vw,4.8rem);
}

.hero-sub-sm {
font-size:clamp(.75rem,1.3vw,.9rem);
}

.hero-sub-md {
font-size:clamp(.85rem,1.6vw,1.05rem);
}

.hero-sub-lg {
font-size:clamp(1rem,2vw,1.3rem);
}

.hero-sub-xl {
font-size:clamp(1.15rem,2.6vw,1.6rem);
}

.header-page-eyebrow {
position:absolute;
top:7px;
right:20px;
margin:0;
font-size:11px;
line-height:1.4;
letter-spacing:.03em;
opacity:.6;
font-weight:400;
max-width:58%;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
pointer-events:none;
}

@media (max-width:900px) {
.header-page-eyebrow {
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}
}


/* =========================================================
   Bena / logo color contrast adjustment
   ※ レイアウト・余白・サイズ・フォントは変更せず、色のみ調整
========================================================= */
.concept-section:nth-of-type(even),
.concept-section:nth-of-type(even) .concept-content {
color:#fff !important;
}

.concept-section:nth-of-type(even) .concept-content p.concept-eyebrow,
.concept-section:nth-of-type(even) .concept-title,
.concept-section:nth-of-type(even) .concept-content h2,
.concept-section:nth-of-type(even) .concept-content h3 {
color:#fff !important;
}

.concept-section:nth-of-type(even) .concept-text,
.concept-section:nth-of-type(even) .concept-content p {
color:rgba(255,255,255,.88) !important;
}

.concept-section:nth-of-type(even) .concept-title::after,
.concept-section:nth-of-type(even) .concept-content h2::after,
.concept-section:nth-of-type(even) .concept-content h3::after {
background:#edc7d8 !important;
}

:root {
--brand-purple:#68065a;
--brand-main:#7a0736;
--brand-red:#8d0515;
--brand-pink:#d590af;
--brand-light:#edc7d8;
--brand-pale:#faedf3;
--brand-gradient:linear-gradient(110deg,#68065a 0%,#7a0736 48%,#8d0515 100%);
--brand-gradient-soft:linear-gradient(135deg,rgba(104,6,90,.08) 0%,rgba(213,144,175,.10) 50%,rgba(141,5,21,.06) 100%);
--bg-base:#fff;
--bg-paper:#fff8fb;
--bg-warm:#7a0736;
--ink:#2b2028;
--text-main:#2b2028;
--text-sub:#66515f;
--text-muted:#947d8a;
--text-on-dark:#fff;
--text-on-dark-muted:rgba(255,255,255,.78);
--gold:#7a0736;
--gold-light:#d590af;
--vermilion:#8d0515;
--fc-btn-bg:#7a0736;
--fc-btn-fg:#fff;
--fc-btn-bg-hover:#8d0515;
--fc-btn-fg-hover:#fff;
--fc-btn-border:#7a0736;
--fc-btn-outline-fg:#7a0736;
--line:rgba(122,7,54,.16);
--line-dark:rgba(43,32,40,.13);
--shadow-base:0 16px 45px rgba(104,6,90,.10);
--font-serif:"Shippori Mincho","Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
--font-sans:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
--font-en:"Montserrat",sans-serif;
--ease:cubic-bezier(.25,1,.5,1);
}