/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-09-17 16:40:31
========================================================= */

/* =========================================================
   Page: header / HEADER ページ
========================================================= */

/* Block: global_header / sec_1782112078518 */
/* =========================================================
   GLOBAL HEADER
   Snack Bena
   White × Logo Color × Heart × Pop
========================================================= */

.global-header {
position:fixed !important;
top:0 !important;
left:0 !important;
z-index:1000 !important;

width:100% !important;
min-height:84px !important;

padding:0 4.5% !important;

display:flex !important;
align-items:center !important;
justify-content:space-between !important;

gap:30px !important;

background:rgba(255,255,255,.96) !important;

border-bottom:
1px solid rgba(122,7,54,.12) !important;

box-shadow:
0 5px 24px rgba(43,32,40,.08) !important;

backdrop-filter:blur(14px) !important;
-webkit-backdrop-filter:blur(14px) !important;
}


/* =========================================================
   HEADER BOTTOM LINE
========================================================= */

.global-header::before {
content:"" !important;

position:absolute !important;

left:0 !important;
right:0 !important;
bottom:0 !important;

display:block !important;

height:3px !important;

background:
linear-gradient(
90deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

opacity:.95 !important;

pointer-events:none !important;
}


/* =========================================================
   HEADER HEART DECORATION
========================================================= */

.global-header::after {
content:"♥" !important;

position:absolute !important;

top:17px !important;
right:7% !important;

display:block !important;

width:auto !important;
height:auto !important;

background:none !important;

color:rgba(122,7,54,.08) !important;

font-family:Arial,sans-serif !important;
font-size:26px !important;
font-weight:900 !important;
line-height:1 !important;

opacity:1 !important;

transform:rotate(13deg) !important;

text-shadow:
-31px 20px 0 rgba(141,5,21,.055),
-62px -2px 0 rgba(104,6,90,.04) !important;

pointer-events:none !important;
}


/* =========================================================
   LOGO
========================================================= */

.header-logo {
position:relative !important;
z-index:2 !important;

display:flex !important;
align-items:center !important;

flex:0 0 auto !important;

margin:0 !important;

color:#7a0736 !important;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif !important;

font-size:27px !important;
font-weight:700 !important;
line-height:1.3 !important;

letter-spacing:.07em !important;

white-space:nowrap !important;

text-decoration:none !important;
}


.header-logo span {
color:#8d0515 !important;
}


.header-logo img {
display:block !important;

width:auto !important;
max-width:230px !important;
max-height:56px !important;

object-fit:contain !important;
}


/* =========================================================
   DESKTOP NAV
========================================================= */

.desktop-nav {
position:relative !important;
z-index:2 !important;

display:flex !important;
align-items:center !important;
justify-content:center !important;

gap:
clamp(22px,2.4vw,38px) !important;

margin:0 !important;
padding:0 !important;

list-style:none !important;
}


.desktop-nav li {
margin:0 !important;
padding:0 !important;
}


.desktop-nav a {
position:relative !important;

display:inline-flex !important;
align-items:center !important;

min-height:42px !important;

padding:0 2px !important;

color:#51434b !important;

font-family:
"Noto Sans JP",
"Montserrat",
sans-serif !important;

font-size:14px !important;
font-weight:600 !important;
line-height:1.4 !important;

letter-spacing:.055em !important;

text-decoration:none !important;
text-transform:none !important;

white-space:nowrap !important;

transition:
color .3s ease !important;
}


/* NAV UNDERLINE */
.desktop-nav a::after {
content:"" !important;

position:absolute !important;

left:50% !important;
bottom:2px !important;

width:0 !important;
height:3px !important;

border-radius:999px !important;

background:
linear-gradient(
90deg,
#68065a 0%,
#7a0736 55%,
#8d0515 100%
) !important;

opacity:1 !important;

transform:
translateX(-50%) !important;

transform-origin:center !important;

transition:
width .3s ease !important;
}


.desktop-nav a:hover,
.desktop-nav a.active {
color:#7a0736 !important;
}


.desktop-nav a:hover::after,
.desktop-nav a.active::after {
width:28px !important;
}


/* =========================================================
   HEADER BUTTON AREA
========================================================= */

.header-btns {
position:relative !important;
z-index:2 !important;

display:flex !important;
align-items:center !important;

gap:18px !important;

flex:0 0 auto !important;
}


/* =========================================================
   TEL
========================================================= */

.global-header .btn-header-tel {
display:inline-flex !important;
align-items:center !important;

gap:7px !important;

color:#7a0736 !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:16px !important;
font-weight:700 !important;
line-height:1.4 !important;

letter-spacing:.035em !important;

white-space:nowrap !important;

text-decoration:none !important;

transition:
color .25s ease !important;
}


.global-header .btn-header-tel:hover {
color:#8d0515 !important;
}


/* =========================================================
   RESERVE BUTTON
========================================================= */

.global-header .btn-header-reserve {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

gap:8px !important;

min-width:132px !important;
min-height:48px !important;

padding:0 24px !important;

border:0 !important;
border-radius:999px !important;

background:
linear-gradient(
110deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

color:#fff !important;

font-family:
"Noto Sans JP",
"Montserrat",
sans-serif !important;

font-size:14px !important;
font-weight:700 !important;
line-height:1.2 !important;

letter-spacing:.05em !important;

text-decoration:none !important;

box-shadow:
0 7px 20px rgba(104,6,90,.22) !important;

transition:
transform .25s ease,
box-shadow .25s ease,
background .25s ease !important;
}


.global-header .btn-header-reserve:hover {
background:
linear-gradient(
110deg,
#57044c 0%,
#68065a 52%,
#7a0736 100%
) !important;

color:#fff !important;

transform:
translateY(-2px) !important;

box-shadow:
0 10px 25px rgba(104,6,90,.30) !important;
}


/* =========================================================
   MENU TRIGGER
========================================================= */

.menu-trigger {
position:relative !important;
z-index:1100 !important;

display:none !important;
align-items:center !important;
justify-content:center !important;

width:48px !important;
height:48px !important;

margin:0 !important;
padding:0 !important;

border:
1px solid rgba(122,7,54,.20) !important;

border-radius:50% !important;

background:#fff !important;

color:#7a0736 !important;

font-size:25px !important;
font-weight:400 !important;
line-height:1 !important;

cursor:pointer !important;

box-shadow:
0 5px 16px rgba(104,6,90,.10) !important;

transition:
background .25s ease,
color .25s ease,
transform .25s ease !important;
}


.menu-trigger:hover {
background:#7a0736 !important;

color:#fff !important;

transform:
scale(1.04) !important;
}


/* =========================================================
   MOBILE NAV OVERLAY
========================================================= */

.mobile-nav-overlay {
position:fixed !important;

inset:0 !important;

z-index:1050 !important;

display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;

gap:0 !important;

padding:
100px 26px 50px !important;

overflow-y:auto !important;

background:
linear-gradient(
135deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

opacity:1 !important;

visibility:visible !important;

transform:
translateX(100%) !important;

transition:
transform .45s
cubic-bezier(.25,1,.5,1) !important;
}


.mobile-nav-overlay.active {
transform:
translateX(0) !important;
}


/* =========================================================
   MOBILE MENU TITLE
========================================================= */

.mobile-nav-overlay::before {
content:"MENU" !important;

display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

flex:0 0 auto !important;

min-height:27px !important;

margin:
0
0
28px !important;

padding:
5px
14px !important;

border-radius:999px !important;

background:#fff !important;

color:#7a0736 !important;

font-family:
"Montserrat",
sans-serif !important;

font-size:11px !important;
font-weight:700 !important;
line-height:1 !important;

letter-spacing:.22em !important;

text-align:center !important;

box-shadow:
0 5px 16px rgba(0,0,0,.10) !important;
}


/* =========================================================
   MOBILE HEART DECORATION
========================================================= */

.mobile-nav-overlay::after {
content:"♥" !important;

position:absolute !important;

right:24px !important;
bottom:30px !important;

width:auto !important;
height:auto !important;

background:none !important;

color:rgba(255,255,255,.11) !important;

font-family:Arial,sans-serif !important;
font-size:40px !important;
font-weight:900 !important;
line-height:1 !important;

opacity:1 !important;

transform:
rotate(14deg) !important;

text-shadow:
-56px -38px 0 rgba(255,255,255,.065),
-112px 6px 0 rgba(255,255,255,.045),
-172px -27px 0 rgba(255,255,255,.04) !important;

pointer-events:none !important;
}


/* =========================================================
   MOBILE CLOSE BUTTON
========================================================= */

.mobile-nav-overlay .menu-trigger {
position:fixed !important;

top:12px !important;
right:20px !important;
left:auto !important;
bottom:auto !important;

z-index:2200 !important;

display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

width:48px !important;
height:48px !important;

margin:0 !important;
padding:0 !important;

border:
1px solid rgba(255,255,255,.30) !important;

border-radius:50% !important;

background:#fff !important;

color:#7a0736 !important;

font-size:26px !important;
font-weight:400 !important;
line-height:1 !important;

box-shadow:
0 5px 18px rgba(0,0,0,.14) !important;

transform:none !important;
}


.mobile-nav-overlay .menu-trigger:hover {
background:#68065a !important;

border-color:#68065a !important;

color:#fff !important;

transform:none !important;
}


/* =========================================================
   MOBILE NAV LINKS
========================================================= */

.mobile-nav-overlay a {
position:relative !important;

display:flex !important;
align-items:center !important;
justify-content:center !important;

width:100% !important;
max-width:320px !important;
min-width:0 !important;

margin:0 !important;

padding:
15px
14px !important;

border-bottom:
1px solid rgba(255,255,255,.15) !important;

color:#fff !important;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
serif !important;

font-size:19px !important;
font-weight:700 !important;
line-height:1.45 !important;

letter-spacing:.065em !important;

text-align:center !important;

text-decoration:none !important;
text-transform:none !important;

transition:
color .25s ease,
background .25s ease !important;
}


.mobile-nav-overlay a:first-of-type {
border-top:
1px solid rgba(255,255,255,.15) !important;
}


.mobile-nav-overlay a:hover,
.mobile-nav-overlay a.active {
background:
rgba(255,255,255,.10) !important;

color:#fff !important;
}


/* ハートアクセント */
.mobile-nav-overlay a:not([class*="reserve"])::after {
content:"♥" !important;

position:absolute !important;

right:10px !important;

color:
rgba(255,255,255,.20) !important;

font-family:
Arial,
sans-serif !important;

font-size:10px !important;
font-weight:900 !important;
line-height:1 !important;

transform:
rotate(12deg) !important;

pointer-events:none !important;
}


/* =========================================================
   MOBILE RESERVE
========================================================= */

.mobile-nav-overlay a.btn-header-reserve,
.mobile-nav-overlay a.btn-mobile-reserve,
.mobile-nav-overlay a.mobile-reserve-btn,
.mobile-nav-overlay a[class*="reserve"] {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

gap:9px !important;

width:100% !important;
max-width:320px !important;

min-height:58px !important;

margin:
18px
auto
0 !important;

padding:
0
24px !important;

border:1px solid #fff !important;
border-radius:999px !important;

background:#fff !important;

color:#7a0736 !important;

font-family:
"Noto Sans JP",
"Montserrat",
sans-serif !important;

font-size:16px !important;
font-weight:800 !important;
line-height:1.2 !important;

letter-spacing:.065em !important;

text-align:center !important;

text-decoration:none !important;

text-shadow:none !important;

box-shadow:
0 10px 28px rgba(0,0,0,.18) !important;
}


/* 予約ボタンの中身 */
.mobile-nav-overlay a.btn-header-reserve span,
.mobile-nav-overlay a.btn-header-reserve i,
.mobile-nav-overlay a.btn-mobile-reserve span,
.mobile-nav-overlay a.btn-mobile-reserve i,
.mobile-nav-overlay a.mobile-reserve-btn span,
.mobile-nav-overlay a.mobile-reserve-btn i,
.mobile-nav-overlay a[class*="reserve"] span,
.mobile-nav-overlay a[class*="reserve"] i {
color:#7a0736 !important;

opacity:1 !important;
}


/* 予約ボタンには通常リンク用ハートを付けない */
.mobile-nav-overlay a.btn-header-reserve::after,
.mobile-nav-overlay a.btn-mobile-reserve::after,
.mobile-nav-overlay a.mobile-reserve-btn::after,
.mobile-nav-overlay a[class*="reserve"]::after {
display:none !important;
}


/* HOVER */
.mobile-nav-overlay a.btn-header-reserve:hover,
.mobile-nav-overlay a.btn-header-reserve.active,
.mobile-nav-overlay a.btn-mobile-reserve:hover,
.mobile-nav-overlay a.btn-mobile-reserve.active,
.mobile-nav-overlay a.mobile-reserve-btn:hover,
.mobile-nav-overlay a.mobile-reserve-btn.active,
.mobile-nav-overlay a[class*="reserve"]:hover,
.mobile-nav-overlay a[class*="reserve"].active {
background:#68065a !important;

border-color:#fff !important;

color:#fff !important;
}


.mobile-nav-overlay a.btn-header-reserve:hover span,
.mobile-nav-overlay a.btn-header-reserve:hover i,
.mobile-nav-overlay a.btn-header-reserve.active span,
.mobile-nav-overlay a.btn-header-reserve.active i,
.mobile-nav-overlay a.btn-mobile-reserve:hover span,
.mobile-nav-overlay a.btn-mobile-reserve:hover i,
.mobile-nav-overlay a.btn-mobile-reserve.active span,
.mobile-nav-overlay a.btn-mobile-reserve.active i,
.mobile-nav-overlay a.mobile-reserve-btn:hover span,
.mobile-nav-overlay a.mobile-reserve-btn:hover i,
.mobile-nav-overlay a.mobile-reserve-btn.active span,
.mobile-nav-overlay a.mobile-reserve-btn.active i,
.mobile-nav-overlay a[class*="reserve"]:hover span,
.mobile-nav-overlay a[class*="reserve"]:hover i,
.mobile-nav-overlay a[class*="reserve"].active span,
.mobile-nav-overlay a[class*="reserve"].active i {
color:#fff !important;
}


/* =========================================================
   1180px
========================================================= */

@media (max-width:1180px) {

.global-header {
padding:
0
24px !important;

gap:
22px !important;
}


.desktop-nav {
gap:
20px !important;
}


.desktop-nav a {
font-size:
13px !important;
}


.header-btns {
gap:
12px !important;
}


.global-header .btn-header-tel {
font-size:
14px !important;
}


.global-header .btn-header-reserve {
min-width:
115px !important;

padding:
0
18px !important;

font-size:
13px !important;
}

}


/* =========================================================
   TABLET / MOBILE NAV
========================================================= */

@media (max-width:992px) {

.global-header {
min-height:
72px !important;

padding:
0
20px !important;

gap:
18px !important;
}


/* ヘッダー内ハートはSPでは非表示 */
.global-header::after {
display:
none !important;
}


.header-logo {
font-size:
21px !important;
}


.header-logo img {
max-width:
200px !important;

max-height:
50px !important;
}


.desktop-nav,
.header-btns {
display:
none !important;
}


.global-header > .menu-trigger {
display:
inline-flex !important;

margin-left:
auto !important;
}


.mobile-nav-overlay .menu-trigger {
display:
inline-flex !important;

top:
12px !important;

right:
20px !important;

margin:
0 !important;
}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width:600px) {

.global-header {
min-height:
68px !important;

padding:
0
16px !important;
}


.header-logo {
max-width:
calc(100vw - 82px) !important;

overflow:
hidden !important;

font-size:
19px !important;

text-overflow:
ellipsis !important;
}


.header-logo img {
width:
auto !important;

max-width:
min(210px,calc(100vw - 92px)) !important;

max-height:
47px !important;
}


.global-header > .menu-trigger {
width:
44px !important;

height:
44px !important;

font-size:
23px !important;
}


/* =========================================================
   MOBILE OVERLAY
========================================================= */

.mobile-nav-overlay {
padding:
84px
20px
42px !important;
}


.mobile-nav-overlay::before {
margin-bottom:
24px !important;
}


.mobile-nav-overlay::after {
right:
8px !important;

bottom:
18px !important;

font-size:
28px !important;

text-shadow:
-42px -30px 0 rgba(255,255,255,.055),
-86px 4px 0 rgba(255,255,255,.04) !important;
}


.mobile-nav-overlay .menu-trigger {
position:
fixed !important;

top:
12px !important;

right:
16px !important;

width:
44px !important;

height:
44px !important;

margin:
0 !important;

font-size:
24px !important;
}


.mobile-nav-overlay a {
width:
100% !important;

max-width:
320px !important;

min-width:
0 !important;

padding:
14px
12px !important;

font-size:
19px !important;
}


.mobile-nav-overlay a.btn-header-reserve,
.mobile-nav-overlay a.btn-mobile-reserve,
.mobile-nav-overlay a.mobile-reserve-btn,
.mobile-nav-overlay a[class*="reserve"] {
min-height:
58px !important;

margin-top:
18px !important;

padding:
0
20px !important;

font-size:
16px !important;
}

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width:480px) {

.global-header {
min-height:
66px !important;

padding:
0
14px !important;
}


.header-logo {
font-size:
18px !important;
}


.header-logo img {
max-height:
44px !important;
}


.global-header > .menu-trigger {
width:
44px !important;

height:
44px !important;
}


.mobile-nav-overlay {
padding:
80px
18px
36px !important;
}


.mobile-nav-overlay .menu-trigger {
top:
11px !important;

right:
14px !important;

width:
44px !important;

height:
44px !important;
}


.mobile-nav-overlay a {
font-size:
18px !important;
}


.mobile-nav-overlay a.btn-header-reserve,
.mobile-nav-overlay a.btn-mobile-reserve,
.mobile-nav-overlay a.mobile-reserve-btn,
.mobile-nav-overlay a[class*="reserve"] {
min-height:
58px !important;

font-size:
16px !important;
}

}


/* =========================================================
   PAGE EYEBROW
========================================================= */

.header-page-eyebrow {
top:0px;
}


/* =========================================================
   Page: index / 甲府市中小河原のスナックなら｜スナック Bena（ベナ）
========================================================= */

/* Block: hero_main / sec_1782110119323 */
.hero-wrapper {
position:relative !important;
display:block !important;
visibility:visible !important;
opacity:1 !important;
width:100% !important;
height:calc(98vh - 78px) !important;
min-height:500px !important;
margin-top:78px !important;
padding:0 !important;
overflow:hidden !important;
background:#fff !important;
}

.hero-img-window {
position:absolute !important;
inset:0 !important;
display:block !important;
visibility:visible !important;
opacity:1 !important;
width:100% !important;
height:100% !important;
margin:0 !important;
padding:0 !important;
overflow:hidden !important;
}

.hero-img-window img,
.hero-img-window video {
display:block !important;
visibility:visible !important;
opacity:1 !important;
width:100% !important;
height:100% !important;
margin:0 !important;
padding:0 !important;
object-fit:cover !important;
object-position:center center !important;
filter:none !important;
}

.hero-wrapper::before,
.hero-wrapper::after,
.hero-img-window::before,
.hero-img-window::after {
display:none !important;
content:none !important;
background:none !important;
}

.hero-yt-bg {
display:none !important;
visibility:hidden !important;
opacity:0 !important;
background:none !important;
background-image:none !important;
filter:none !important;
transform:none !important;
}

.hero-wrapper.hero-has-yt {
background:#fff !important;
}

.hero-wrapper.hero-has-yt .hero-yt-cover {
overflow:hidden !important;
background:#fff !important;
}

.hero-wrapper.hero-has-yt .hero-yt-cover iframe {
border:0 !important;
}

@media (max-width:992px) {
.hero-wrapper:not(.hero-has-yt) {
height:calc(100vh - 68px) !important;
min-height:480px !important;
margin-top:68px !important;
}
}

@media (max-width:768px) {
.hero-wrapper:not(.hero-has-yt) {
height:calc(100vh - 68px) !important;
min-height:430px !important;
margin-top:68px !important;
}

.hero-wrapper.hero-has-yt {
position:relative !important;
display:block !important;
visibility:visible !important;
opacity:1 !important;
width:100% !important;
height:auto !important;
min-height:0 !important;
margin-top:68px !important;
padding:0 !important;
overflow:hidden !important;
background:#fff !important;
}

.hero-wrapper.hero-has-yt .hero-img-window {
position:relative !important;
display:block !important;
visibility:visible !important;
opacity:1 !important;
inset:auto !important;
width:100% !important;
height:auto !important;
min-height:0 !important;
margin:0 !important;
padding:0 !important;
overflow:hidden !important;
background:#fff !important;
}

.hero-wrapper.hero-has-yt .hero-yt-bg {
display:none !important;
visibility:hidden !important;
opacity:0 !important;
width:0 !important;
height:0 !important;
background:none !important;
background-image:none !important;
filter:none !important;
transform:none !important;
}

.hero-wrapper.hero-has-yt .hero-yt-cover {
position:relative !important;
display:block !important;
inset:auto !important;
width:100% !important;
height:calc(100vw * 9 / 16) !important;
min-height:0 !important;
margin:0 !important;
padding:0 !important;
overflow:hidden !important;
background:#fff !important;
}

.hero-wrapper.hero-has-yt .hero-yt-cover iframe {
position:absolute !important;
top:0 !important;
left:0 !important;
display:block !important;
width:100% !important;
height:100% !important;
min-width:0 !important;
min-height:0 !important;
margin:0 !important;
padding:0 !important;
border:0 !important;
transform:none !important;
}
}

@media (max-width:600px) {
.hero-wrapper:not(.hero-has-yt) {
height:calc(100vh - 68px) !important;
min-height:430px !important;
margin-top:68px !important;
}

.hero-wrapper.hero-has-yt {
height:auto !important;
min-height:0 !important;
margin-top:68px !important;
}

.hero-wrapper.hero-has-yt .hero-yt-cover {
height:calc(100vw * 9 / 16) !important;
}
}

@media (max-width:480px) {
.hero-wrapper:not(.hero-has-yt) {
height:calc(100vh - 68px) !important;
min-height:410px !important;
margin-top:68px !important;
}

.hero-wrapper.hero-has-yt {
height:auto !important;
min-height:0 !important;
margin-top:68px !important;
}

.hero-wrapper.hero-has-yt .hero-yt-cover {
height:calc(100vw * 9 / 16) !important;
}
}

/* Block: latest_news_bar / sec_1788506262363 */
/* =========================================================
   LATEST NEWS
   Snack Bena
   Logo Color × White × Heart × Pop
========================================================= */

.news-bar-section,
.latest-news-bar {
position:relative !important;
overflow:hidden !important;
padding:28px 5% !important;

background:
linear-gradient(
135deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

color:#fff !important;

border-top:1px solid rgba(255,255,255,.12) !important;
border-bottom:1px solid rgba(255,255,255,.12) !important;

text-align:left !important;
}


/* =========================================================
   BACKGROUND HEART DECORATION
========================================================= */

/* 右上のハート群 */
.news-bar-section::before,
.latest-news-bar::before {
content:"♥" !important;

position:absolute !important;
top:12px !important;
right:4% !important;
z-index:0 !important;

display:block !important;

color:rgba(255,255,255,.11) !important;

font-family:Arial,sans-serif !important;
font-size:54px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(13deg) !important;

text-shadow:
-62px 38px 0 rgba(255,255,255,.070),
-126px -4px 0 rgba(255,255,255,.045),
28px 74px 0 rgba(255,255,255,.055) !important;

pointer-events:none !important;
}


/* 左下のハート群 */
.news-bar-section::after,
.latest-news-bar::after {
content:"♥" !important;

position:absolute !important;
left:3% !important;
bottom:10px !important;
z-index:0 !important;

display:block !important;

color:rgba(255,255,255,.09) !important;

font-family:Arial,sans-serif !important;
font-size:30px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(-13deg) !important;

text-shadow:
48px -28px 0 rgba(255,255,255,.060),
102px 5px 0 rgba(255,255,255,.045),
158px -20px 0 rgba(255,255,255,.04) !important;

pointer-events:none !important;
}


/* =========================================================
   CONTAINER
========================================================= */

.news-bar-container {
position:relative !important;
z-index:1 !important;

width:100% !important;
max-width:1100px !important;

margin:0 auto !important;
}


/* =========================================================
   NEWS CARD
========================================================= */

.news-bar-link {
position:relative !important;

display:flex !important;
align-items:center !important;
justify-content:flex-start !important;

gap:26px !important;

width:100% !important;
min-height:76px !important;

padding:15px 26px !important;

overflow:hidden !important;

background:rgba(255,255,255,.97) !important;

border:1px solid rgba(255,255,255,.30) !important;
border-radius:16px !important;

color:#2b2028 !important;

box-shadow:
0 10px 30px rgba(43,32,40,.18) !important;

text-align:left !important;

transform:none !important;

transition:
transform .3s ease,
box-shadow .3s ease,
border-color .3s ease,
background .3s ease !important;
}


/* 左端アクセント */
.news-bar-link::before {
content:"" !important;

position:absolute !important;
top:0 !important;
left:0 !important;

width:5px !important;
height:100% !important;

background:
linear-gradient(
180deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;
}


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


.news-bar-link:hover {
background:#fff !important;

border-color:rgba(255,255,255,.55) !important;

color:#7a0736 !important;

box-shadow:
0 14px 36px rgba(43,32,40,.24) !important;

transform:translateY(-2px) !important;
}


/* =========================================================
   LEFT
========================================================= */

.news-bar-left,
.ln-left {
display:flex !important;
align-items:center !important;
justify-content:flex-start !important;

gap:14px !important;

flex-wrap:nowrap !important;

width:auto !important;

flex-shrink:0 !important;
}


/* =========================================================
   DATE
========================================================= */

.news-date,
.ln-date {
color:#7a0736 !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:16px !important;
font-weight:600 !important;
line-height:1.4 !important;

letter-spacing:.08em !important;

white-space:nowrap !important;
}


/* =========================================================
   BADGE
========================================================= */

.news-badge,
.ln-badge {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

gap:5px !important;

min-height:28px !important;

padding:4px 13px !important;

border:0 !important;
border-radius:999px !important;

background:
linear-gradient(
110deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

color:#fff !important;

font-family:
"Noto Sans JP",
sans-serif !important;

font-size:12px !important;
font-weight:700 !important;
line-height:1 !important;

letter-spacing:.08em !important;

white-space:nowrap !important;
}


/* 小さいハート */
.news-badge::before,
.ln-badge::before {
content:"♥" !important;

display:inline-block !important;

color:#fff !important;

font-family:Arial,sans-serif !important;
font-size:9px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(-8deg) !important;

opacity:.9 !important;
}


/* =========================================================
   TITLE
========================================================= */

.news-title,
.ln-title {
min-width:0 !important;

margin:0 !important;

color:#352831 !important;

font-family:
"Noto Sans JP",
sans-serif !important;

font-size:16px !important;
font-weight:500 !important;
line-height:1.8 !important;

letter-spacing:.03em !important;

text-align:left !important;

transition:color .25s ease !important;
}


.news-bar-link:hover .news-title,
.news-bar-link:hover .ln-title {
color:#7a0736 !important;
}


/* =========================================================
   ARROW
========================================================= */

.news-arrow,
.ln-arrow {
display:flex !important;
align-items:center !important;
justify-content:center !important;

width:34px !important;
height:34px !important;

margin-left:auto !important;

flex:0 0 34px !important;

border:1px solid rgba(122,7,54,.20) !important;
border-radius:50% !important;

background:#fff !important;

color:#7a0736 !important;

font-size:0 !important;

transition:
background .25s ease,
color .25s ease,
transform .25s ease !important;
}


.news-arrow::before,
.ln-arrow::before {
content:"→" !important;

font-size:14px !important;

font-family:
"Montserrat",
sans-serif !important;

font-weight:500 !important;
}


.news-bar-link:hover .news-arrow,
.news-bar-link:hover .ln-arrow {
background:#7a0736 !important;

color:#fff !important;

transform:translateX(2px) !important;
}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width:768px) {

.news-bar-section,
.latest-news-bar {
padding:20px 18px !important;
}


/* 背景ハート */
.news-bar-section::before,
.latest-news-bar::before {
top:8px !important;
right:-3px !important;

font-size:40px !important;

text-shadow:
-46px 34px 0 rgba(255,255,255,.065),
-88px -2px 0 rgba(255,255,255,.04) !important;
}


.news-bar-section::after,
.latest-news-bar::after {
left:5px !important;
bottom:6px !important;

font-size:23px !important;

text-shadow:
36px -22px 0 rgba(255,255,255,.055),
74px 3px 0 rgba(255,255,255,.04) !important;
}


/* CARD */
.news-bar-link {
display:grid !important;

grid-template-columns:1fr auto !important;

gap:8px 12px !important;

min-height:0 !important;

padding:17px 17px 17px 21px !important;

border-radius:13px !important;
}


.news-bar-left,
.ln-left {
grid-column:1 / 2 !important;

gap:10px !important;

flex-wrap:wrap !important;
}


.news-title,
.ln-title {
grid-column:1 / 2 !important;

font-size:16px !important;
line-height:1.7 !important;
}


.news-arrow,
.ln-arrow {
grid-column:2 !important;
grid-row:1 / 3 !important;

align-self:center !important;

width:32px !important;
height:32px !important;

flex-basis:32px !important;
}

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width:480px) {

.news-bar-section,
.latest-news-bar {
padding:16px 14px !important;
}


.news-bar-link {
padding:15px 14px 15px 19px !important;
}


.news-date,
.ln-date {
font-size:11px !important;
}


.news-badge,
.ln-badge {
min-height:25px !important;

padding:3px 10px !important;

font-size:9px !important;
}


.news-badge::before,
.ln-badge::before {
font-size:7px !important;
}


.news-title,
.ln-title {
font-size:16px !important;
}

}

/* Block: concept_split / sec_1782110303957 */
/* =========================================================
   concept_split
   ロゴカラー × ハート × ポップデザイン
========================================================= */

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

/* ---------------------------------------------------------
   偶数セクションは「淡い紫」ではなくロゴ色を使用
--------------------------------------------------------- */
.concept-section:nth-of-type(even) {
  background:
    linear-gradient(
      135deg,
      #68065a 0%,
      #7a0736 52%,
      #8d0515 100%
    ) !important;
  color: #fff !important;
}


/* =========================================================
   背景ハート装飾
========================================================= */

/* 右上の大きめハート群 */
.concept-section::before {
  content: "♥" !important;
  position: absolute !important;
  top: 28px !important;
  right: 4% !important;
  z-index: 0 !important;

  display: block !important;

  color: rgba(122, 7, 54, .11) !important;

  font-family: Arial, sans-serif !important;
  font-size: 74px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: rotate(13deg) !important;

  text-shadow:
    -90px 75px 0 rgba(141, 5, 21, .07),
    -185px -10px 0 rgba(104, 6, 90, .055),
    30px 135px 0 rgba(122, 7, 54, .065) !important;

  pointer-events: none !important;
}

/* 左下のハート群 */
.concept-section::after {
  content: "♥" !important;
  position: absolute !important;
  left: 4% !important;
  bottom: 38px !important;
  z-index: 0 !important;

  display: block !important;

  color: rgba(141, 5, 21, .10) !important;

  font-family: Arial, sans-serif !important;
  font-size: 38px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: rotate(-14deg) !important;

  text-shadow:
    58px -54px 0 rgba(122, 7, 54, .075),
    124px 8px 0 rgba(104, 6, 90, .055),
    205px -42px 0 rgba(141, 5, 21, .05) !important;

  pointer-events: none !important;
}


/* ---------------------------------------------------------
   ロゴ色背景ではハートを白系に
--------------------------------------------------------- */
.concept-section:nth-of-type(even)::before {
  color: rgba(255, 255, 255, .11) !important;

  text-shadow:
    -90px 75px 0 rgba(255, 255, 255, .065),
    -185px -10px 0 rgba(255, 255, 255, .045),
    30px 135px 0 rgba(255, 255, 255, .06) !important;
}

.concept-section:nth-of-type(even)::after {
  color: rgba(255, 255, 255, .10) !important;

  text-shadow:
    58px -54px 0 rgba(255, 255, 255, .06),
    124px 8px 0 rgba(255, 255, 255, .045),
    205px -42px 0 rgba(255, 255, 255, .05) !important;
}


/* =========================================================
   コンテナ
========================================================= */

.concept-container,
.concept-container.concept-reverse {
  position: relative !important;
  z-index: 2 !important;

  width: 100% !important;
  max-width: 1160px !important;
  margin: 0 auto !important;

  display: flex !important;
  align-items: center !important;
  gap: 72px !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-container::before {
  content: "♥" !important;
  position: absolute !important;
  top: -35px !important;
  left: 48% !important;
  z-index: -1 !important;

  color: rgba(122, 7, 54, .08) !important;

  font-size: 30px !important;
  line-height: 1 !important;

  transform: rotate(-18deg) !important;

  pointer-events: none !important;
}

.concept-container::after {
  content: "♥" !important;
  position: absolute !important;
  right: 2% !important;
  bottom: -28px !important;
  z-index: -1 !important;

  color: rgba(141, 5, 21, .08) !important;

  font-size: 24px !important;
  line-height: 1 !important;

  transform: rotate(18deg) !important;

  pointer-events: none !important;
}

.concept-section:nth-of-type(even) .concept-container::before,
.concept-section:nth-of-type(even) .concept-container::after {
  color: rgba(255, 255, 255, .10) !important;
}


/* =========================================================
   テキスト
========================================================= */

.concept-content {
  position: relative !important;

  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  color: #40353c !important;
  text-align: left !important;
}

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

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


/* ---------------------------------------------------------
   EYEBROW
--------------------------------------------------------- */

.concept-content p.concept-eyebrow {
  display: inline-flex !important;
  align-items: center !important;

  width: auto !important;

  margin: 0 0 16px !important;
  padding: 6px 15px !important;

  border-radius: 999px !important;

  background: #7a0736 !important;
  color: #fff !important;

  font-family:
    "Noto Sans JP",
    "Montserrat",
    sans-serif !important;

  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: .12em !important;

  text-align: left !important;

  box-shadow:
    0 5px 15px rgba(104, 6, 90, .12) !important;
}


/* ロゴ背景側 */
.concept-section:nth-of-type(even)
.concept-content p.concept-eyebrow {
  background: #fff !important;
  color: #7a0736 !important;

  box-shadow:
    0 5px 15px rgba(0, 0, 0, .10) !important;
}


/* =========================================================
   TITLE
========================================================= */

.concept-title,
.concept-content h2,
.concept-content h3 {
  position: relative !important;

  display: block !important;
  width: 100% !important;

  margin: 0 0 26px !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(27px, 3vw, 32px) !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;

  letter-spacing: .055em !important;

  text-align: left !important;
}


/* 見出し下線 */
.concept-title::after,
.concept-content h2::after,
.concept-content h3::after {
  content: "" !important;

  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;

  display: block !important;

  width: 64px !important;
  height: 5px !important;

  margin: 0 !important;

  border-radius: 999px !important;

  background:
    linear-gradient(
      90deg,
      #68065a 0%,
      #7a0736 52%,
      #8d0515 100%
    ) !important;

  transform: none !important;
}


/* 偶数背景 */
.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-title::after,
.concept-section:nth-of-type(even) .concept-content h2::after,
.concept-section:nth-of-type(even) .concept-content h3::after {
  background: #fff !important;
}


/* =========================================================
   BODY TEXT
========================================================= */

.concept-text,
.concept-content p {
  max-width: 620px !important;

  margin: 0 !important;

  color: #54484f !important;

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    Arial,
    sans-serif !important;

  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 2.05 !important;

  letter-spacing: .025em !important;

  text-align: left !important;
}

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

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

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


/* =========================================================
   BUTTON
========================================================= */

.concept-content .btn,
.concept-content button,
.concept-content .concept-btn,
.concept-content .btn-more {
  margin-left: 0 !important;
  margin-right: auto !important;
}


/* =========================================================
   IMAGE
========================================================= */

.concept-img-wrapper {
  position: relative !important;

  flex: 1 1 0 !important;

  width: auto !important;
  min-width: 0 !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::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: 0 !important;
  border-radius: 24px !important;

  background:
    linear-gradient(
      135deg,
      #68065a 0%,
      #7a0736 55%,
      #8d0515 100%
    ) !important;

  pointer-events: none !important;
}


/* ---------------------------------------------------------
   写真横のハート
--------------------------------------------------------- */
.concept-img-wrapper::before {
  content: "♥" !important;

  position: absolute !important;
  top: -24px !important;
  right: -18px !important;

  z-index: 3 !important;

  display: block !important;

  color: #8d0515 !important;

  font-family: Arial, sans-serif !important;
  font-size: 42px !important;
  line-height: 1 !important;

  transform: rotate(15deg) !important;

  text-shadow:
    -30px -6px 0 rgba(122, 7, 54, .30),
    10px 38px 0 rgba(104, 6, 90, .16) !important;

  pointer-events: none !important;
}


/* ロゴ色背景側は白ハート */
.concept-section:nth-of-type(even)
.concept-img-wrapper::before {
  color: #fff !important;

  text-shadow:
    -30px -6px 0 rgba(255, 255, 255, .34),
    10px 38px 0 rgba(255, 255, 255, .18) !important;
}


/* ロゴ背景側は白い画像裏 */
.concept-section:nth-of-type(even)
.concept-img-wrapper::after {
  background: #fff !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: 0 !important;
  border-radius: 24px !important;

  filter: none !important;

  box-shadow:
    0 14px 34px rgba(104, 6, 90, .16) !important;
}

.concept-section:nth-of-type(even)
.concept-img-wrapper img,
.concept-section:nth-of-type(even)
.concept-img-wrapper video {
  box-shadow:
    0 14px 34px rgba(0, 0, 0, .20) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

  .concept-container,
  .concept-container.concept-reverse {
    gap: 48px !important;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

  .concept-section {
    padding: 72px 18px !important;
  }


  /* ハートをSP用に少し小さく */
  .concept-section::before {
    top: 20px !important;
    right: -5px !important;

    font-size: 54px !important;

    text-shadow:
      -60px 64px 0 rgba(122, 7, 54, .07),
      -115px -4px 0 rgba(104, 6, 90, .05) !important;
  }

  .concept-section:nth-of-type(even)::before {
    text-shadow:
      -60px 64px 0 rgba(255, 255, 255, .07),
      -115px -4px 0 rgba(255, 255, 255, .05) !important;
  }


  .concept-section::after {
    left: 12px !important;
    bottom: 20px !important;

    font-size: 28px !important;

    text-shadow:
      48px -40px 0 rgba(122, 7, 54, .06),
      105px 0 0 rgba(141, 5, 21, .05) !important;
  }

  .concept-section:nth-of-type(even)::after {
    text-shadow:
      48px -40px 0 rgba(255, 255, 255, .06),
      105px 0 0 rgba(255, 255, 255, .05) !important;
  }


  .concept-container,
  .concept-container.concept-reverse {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    gap: 34px !important;
  }


  .concept-container::before,
  .concept-container::after {
    display: none !important;
  }


  .concept-content,
  .concept-container.concept-reverse .concept-content {
    order: 2 !important;

    width: 100% !important;

    padding: 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 {
    margin-bottom: 13px !important;
    padding: 5px 12px !important;

    font-size: 10px !important;
  }


  .concept-title,
  .concept-content h2,
  .concept-content h3 {
    margin-bottom: 21px !important;
    padding-bottom: 14px !important;

    font-size: 25px !important;
    line-height: 1.55 !important;

    letter-spacing: .045em !important;

    text-align: left !important;
  }


  .concept-title::after,
  .concept-content h2::after,
  .concept-content h3::after {
    left: 0 !important;

    width: 54px !important;
    height: 4px !important;

    transform: none !important;
  }


  .concept-text,
  .concept-content p {
    max-width: none !important;

    font-size: 16px !important;
    line-height: 1.95 !important;

    letter-spacing: .02em !important;

    text-align: left !important;
  }


  .concept-img-wrapper::after {
    top: 12px !important;
    left: 12px !important;

    border-radius: 18px !important;
  }


  .concept-img-wrapper::before {
    top: -18px !important;
    right: -5px !important;

    font-size: 32px !important;

    text-shadow:
      -24px -3px 0 rgba(122, 7, 54, .24),
      7px 28px 0 rgba(104, 6, 90, .13) !important;
  }

  .concept-section:nth-of-type(even)
  .concept-img-wrapper::before {
    text-shadow:
      -24px -3px 0 rgba(255, 255, 255, .30),
      7px 28px 0 rgba(255, 255, 255, .16) !important;
  }


  .concept-img-wrapper img,
  .concept-img-wrapper video {
    border-radius: 18px !important;

    box-shadow:
      0 10px 26px rgba(104, 6, 90, .14) !important;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

  .concept-section {
    padding: 60px 16px !important;
  }


  .concept-container,
  .concept-container.concept-reverse {
    gap: 28px !important;
  }


  .concept-title,
  .concept-content h2,
  .concept-content h3 {
    font-size: 20px !important;

    letter-spacing: .04em !important;
  }


  .concept-text,
  .concept-content p {
    font-size: 16px !important;
    line-height: 1.9 !important;

    letter-spacing: .015em !important;
  }


  .concept-img-wrapper img,
  .concept-img-wrapper video {
    aspect-ratio: 4 / 3 !important;
  }

}


.fc-block-btn {
  font-size: 16px;
}

/* Block: big_calendar / sec_1788506292054 */
/* =========================================================
   BIG CALENDAR
   Snack Bena
   Logo Color × White × Heart × Pop
========================================================= */

.big-calendar-section {
position:relative !important;
overflow:hidden !important;

padding:85px 5% !important;

background:
linear-gradient(
135deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

color:#fff !important;
}


/* =========================================================
   BACKGROUND HEART DECORATION
========================================================= */

/* 左上ハート群 */
.big-calendar-section::before {
content:"♥" !important;

position:absolute !important;
top:30px !important;
left:4% !important;
z-index:0 !important;

display:block !important;

color:rgba(255,255,255,.10) !important;

font-family:Arial,sans-serif !important;
font-size:72px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(-14deg) !important;

text-shadow:
78px 54px 0 rgba(255,255,255,.065),
158px -8px 0 rgba(255,255,255,.045),
218px 90px 0 rgba(255,255,255,.050) !important;

pointer-events:none !important;
}


/* 右下ハート群 */
.big-calendar-section::after {
content:"♥" !important;

position:absolute !important;
right:4% !important;
bottom:30px !important;
z-index:0 !important;

display:block !important;

color:rgba(255,255,255,.10) !important;

font-family:Arial,sans-serif !important;
font-size:40px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(14deg) !important;

text-shadow:
-58px -44px 0 rgba(255,255,255,.065),
-124px 6px 0 rgba(255,255,255,.045),
-190px -32px 0 rgba(255,255,255,.040) !important;

pointer-events:none !important;
}


/* =========================================================
   CONTAINER
========================================================= */

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


.bc-container {
position:relative !important;
z-index:1 !important;
}


/* =========================================================
   CALENDAR CARD
========================================================= */

.calendar-card {
position:relative !important;

padding:38px 42px 42px !important;

background:#fff !important;

border:1px solid rgba(255,255,255,.30) !important;
border-radius:18px !important;

box-shadow:
0 16px 42px rgba(0,0,0,.18) !important;
}


/* カード右上の小さいハート */
.calendar-card::before {
content:"♥" !important;

position:absolute !important;
top:18px !important;
right:22px !important;
z-index:0 !important;

color:rgba(122,7,54,.10) !important;

font-family:Arial,sans-serif !important;
font-size:32px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(14deg) !important;

text-shadow:
-24px 13px 0 rgba(141,5,21,.070) !important;

pointer-events:none !important;
}


/* 左下の小さいハート */
.calendar-card::after {
content:"♥" !important;

position:absolute !important;
left:22px !important;
bottom:18px !important;
z-index:0 !important;

color:rgba(104,6,90,.07) !important;

font-family:Arial,sans-serif !important;
font-size:22px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(-12deg) !important;

text-shadow:
18px -10px 0 rgba(141,5,21,.055) !important;

pointer-events:none !important;
}


/* =========================================================
   HEADER
========================================================= */

.calendar-header-box,
.bc-header,
.big-calendar-section .section-header {
position:relative !important;
z-index:1 !important;

margin-bottom:28px !important;

text-align:center !important;
}


/* =========================================================
   TITLE
========================================================= */

.cal-main-title,
.bc-title,
.big-calendar-section h2 {
position:relative !important;

display:inline-block !important;

margin:0 0 14px !important;
padding:0 0 14px !important;

color:#7a0736 !important;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
serif !important;

font-size:clamp(26px,3vw,38px) !important;
font-weight:700 !important;
line-height:1.5 !important;

letter-spacing:.1em !important;
}


.cal-main-title::after,
.bc-title::after,
.big-calendar-section h2::after {
content:"" !important;

position:absolute !important;
left:50% !important;
bottom:0 !important;

display:block !important;

width:52px !important;
height:3px !important;

margin:0 !important;

border-radius:999px !important;

background:
linear-gradient(
110deg,
#68065a 0%,
#7a0736 48%,
#8d0515 100%
) !important;

transform:translateX(-50%) !important;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.cal-sub-text,
.bc-desc,
.big-calendar-section .calendar-header-box p {
max-width:680px !important;

margin:0 auto !important;

color:#66515f !important;

font-family:
"Noto Sans JP",
sans-serif !important;

font-size:16px !important;
font-weight:400 !important;
line-height:1.9 !important;

letter-spacing:.03em !important;

text-transform:none !important;
}


/* =========================================================
   MONTH NAVIGATION
========================================================= */

.bc-month-nav {
position:relative !important;
z-index:1 !important;

display:flex !important;
align-items:center !important;
justify-content:space-between !important;

gap:20px !important;

margin:0 0 20px !important;
padding:14px 0 18px !important;

border-bottom:
1px solid rgba(122,7,54,.16) !important;
}


.bc-month-label {
color:#7a0736 !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:22px !important;
font-weight:700 !important;
line-height:1.4 !important;

letter-spacing:.05em !important;
}


/* =========================================================
   MONTH BUTTON
========================================================= */

.bc-month-btn {
display:flex !important;
align-items:center !important;
justify-content:center !important;

width:38px !important;
height:38px !important;

padding:0 !important;

border:1px solid #7a0736 !important;
border-radius:50% !important;

background:#7a0736 !important;

color:#fff !important;

cursor:pointer !important;

box-shadow:
0 5px 14px rgba(104,6,90,.15) !important;

transition:
background .25s ease,
color .25s ease,
border-color .25s ease,
transform .25s ease !important;
}


.bc-month-btn:hover:not(:disabled) {
background:#68065a !important;

border-color:#68065a !important;

color:#fff !important;

transform:scale(1.05) !important;
}


.bc-month-btn:disabled {
opacity:.3 !important;

cursor:default !important;
}


/* =========================================================
   CALENDAR GRID
========================================================= */

.bc-calendar,
.bc-grid,
.big-calendar-grid {
position:relative !important;
z-index:1 !important;

display:grid !important;

grid-template-columns:
repeat(7,minmax(0,1fr)) !important;

gap:5px !important;

width:100% !important;

overflow:visible !important;

background:transparent !important;

border:0 !important;
border-radius:0 !important;
}


/* =========================================================
   DAY HEADER
========================================================= */

.bc-day-head {
display:flex !important;
align-items:center !important;
justify-content:center !important;

min-height:30px !important;

padding:0 0 8px !important;

background:transparent !important;

border:0 !important;

color:#7a0736 !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:16px !important;
font-weight:700 !important;
line-height:1 !important;

letter-spacing:.06em !important;
}


/* =========================================================
   DAY
========================================================= */

.bc-day {
position:relative !important;

display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;

gap:3px !important;

height:62px !important;
min-height:62px !important;

aspect-ratio:auto !important;

padding:5px 4px !important;

overflow:hidden !important;

background:#fff !important;

border:
1px solid rgba(122,7,54,.14) !important;

border-radius:9px !important;

color:#45333f !important;

transition:
background .2s ease,
border-color .2s ease,
transform .2s ease,
box-shadow .2s ease !important;
}


/* =========================================================
   EMPTY
========================================================= */

.bc-empty {
background:transparent !important;

border-color:transparent !important;

box-shadow:none !important;
}


/* =========================================================
   OPEN
========================================================= */

.bc-day.is-open {
background:#7a0736 !important;

border-color:#7a0736 !important;

cursor:pointer !important;
}


.bc-day.is-open:hover {
background:#68065a !important;

border-color:#68065a !important;

box-shadow:
0 5px 15px rgba(104,6,90,.22) !important;

transform:translateY(-1px) !important;
}


/* =========================================================
   LIMITED
========================================================= */

.bc-day.is-limited {
background:#fff6ea !important;

border-color:
rgba(190,122,37,.22) !important;
}


.bc-day.is-limited:hover {
border-color:#bd7d31 !important;
}


/* =========================================================
   FULL
========================================================= */

.bc-day.is-full {
background:#faf8f9 !important;

border-color:
rgba(43,32,40,.5) !important;

opacity:.62 !important;
}


/* =========================================================
   DATE NUMBER
========================================================= */

.bc-date-num {
color:#45333f !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:16px !important;
font-weight:700 !important;
line-height:1.1 !important;
}


/* =========================================================
   MARK
========================================================= */

.bc-date-mark {
display:flex !important;
align-items:center !important;
justify-content:center !important;

min-height:18px !important;

font-family:
"Noto Sans JP",
sans-serif !important;

font-size:15px !important;
font-weight:800 !important;
line-height:1 !important;

text-shadow:none !important;
}


.mark-ok,
.mark-warn,
.mark-ng,
.bc-mark-open,
.bc-mark-limited,
.bc-mark-full {
font-size:16px !important;
font-weight:800 !important;
line-height:1 !important;
}


/* 予約可能 */
.mark-ok,
.bc-mark-open {
color:#fff !important;
}


/* 残りわずか */
.mark-warn,
.bc-mark-limited {
color:#bd7d31 !important;
}


/* 満席 */
.mark-ng,
.bc-mark-full {
color:#a999a2 !important;
}


/* =========================================================
   WEEKEND COLOR
========================================================= */

.color-sun {
color:#a80d32 !important;
}

.color-sat {
color:#68065a !important;
}


/* =========================================================
   STATUS DATE
========================================================= */

.bc-day.is-open .bc-date-num {
color:#fff !important;
}

.bc-day.is-limited .bc-date-num {
color:#8b591d !important;
}

.bc-day.is-full .bc-date-num {
color:#8f848a !important;
}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width:768px) {

.big-calendar-section {
padding:65px 18px !important;
}


/* 背景ハート */
.big-calendar-section::before {
top:18px !important;
left:4px !important;

font-size:50px !important;

text-shadow:
54px 44px 0 rgba(255,255,255,.060),
108px -4px 0 rgba(255,255,255,.040) !important;
}


.big-calendar-section::after {
right:5px !important;
bottom:16px !important;

font-size:28px !important;

text-shadow:
-42px -32px 0 rgba(255,255,255,.060),
-88px 4px 0 rgba(255,255,255,.040) !important;
}


.calendar-card {
padding:28px 20px 30px !important;

border-radius:15px !important;
}


/* カード内ハート */
.calendar-card::before {
top:13px !important;
right:14px !important;

font-size:24px !important;

text-shadow:
-18px 10px 0 rgba(141,5,21,.060) !important;
}


.calendar-card::after {
left:13px !important;
bottom:12px !important;

font-size:17px !important;

text-shadow:
14px -8px 0 rgba(141,5,21,.050) !important;
}


.calendar-header-box,
.bc-header,
.big-calendar-section .section-header {
margin-bottom:22px !important;
}


.cal-main-title,
.bc-title,
.big-calendar-section h2 {
font-size:26px !important;

padding-bottom:12px !important;
}


.cal-sub-text,
.bc-desc,
.big-calendar-section .calendar-header-box p {
font-size:16px !important;

line-height:1.8 !important;
}


.bc-month-nav {
margin-bottom:16px !important;

padding:10px 0 15px !important;
}


.bc-month-label {
font-size:18px !important;
}


.bc-month-btn {
width:34px !important;
height:34px !important;
}


.bc-calendar,
.bc-grid,
.big-calendar-grid {
gap:3px !important;
}


.bc-day-head {
min-height:25px !important;

padding-bottom:6px !important;

font-size:14px !important;
}


.bc-day {
height:52px !important;
min-height:52px !important;

padding:4px 1px !important;

gap:2px !important;

border-radius:7px !important;
}


.bc-date-num {
font-size:14px !important;
}


.bc-date-mark,
.mark-ok,
.mark-warn,
.mark-ng,
.bc-mark-open,
.bc-mark-limited,
.bc-mark-full {
font-size:13px !important;
}


.bc-date-mark {
min-height:15px !important;
}

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width:480px) {

.big-calendar-section {
padding:55px 12px !important;
}


.calendar-card {
padding:24px 12px 26px !important;

border-radius:13px !important;
}


.cal-main-title,
.bc-title,
.big-calendar-section h2 {
font-size:23px !important;
}


.cal-sub-text,
.bc-desc,
.big-calendar-section .calendar-header-box p {
font-size:16px !important;
}


.bc-month-label {
font-size:17px !important;
}


.bc-month-btn {
width:32px !important;
height:32px !important;
}


.bc-calendar,
.bc-grid,
.big-calendar-grid {
gap:2px !important;
}


.bc-day-head {
font-size:14px !important;
}


.bc-day {
height:47px !important;
min-height:47px !important;

padding:3px 1px !important;

border-radius:6px !important;
}


.bc-date-num {
font-size:14px !important;
}


.bc-date-mark,
.mark-ok,
.mark-warn,
.mark-ng,
.bc-mark-open,
.bc-mark-limited,
.bc-mark-full {
font-size:12px !important;
}


.bc-date-mark {
min-height:14px !important;
}

}

/* Block: recruit_banner / sec_1788506908799 */
/* =========================================================
   RECRUIT BANNER
   Snack Bena / Logo Color × Heart × Pop
   PC：中央揃え
   SP：テキスト左揃え

   ※ セクション背景は別途画像を設定するため
      background はここでは指定しない
========================================================= */

.recruit-banner-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 100px 5% !important;
  color: #40353c !important;
}


/* =========================================================
   BACKGROUND HEART DECORATION
========================================================= */

/* 右上のハート群 */
.recruit-banner-section::before {
  content: "♥" !important;
  position: absolute !important;
  top: 32px !important;
  right: 5% !important;
  z-index: 0 !important;

  display: block !important;

  color: rgba(122, 7, 54, .34) !important;

  font-family: Arial, sans-serif !important;
  font-size: 64px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: rotate(12deg) !important;

  text-shadow:
    -74px 54px 0 rgba(141, 5, 21, .25),
    -142px 5px 0 rgba(104, 6, 90, .18),
    18px 108px 0 rgba(122, 7, 54, .20) !important;

  pointer-events: none !important;
}


/* 左下のハート群 */
.recruit-banner-section::after {
  content: "♥" !important;
  position: absolute !important;
  left: 5% !important;
  bottom: 30px !important;
  z-index: 0 !important;

  display: block !important;

  color: rgba(141, 5, 21, .30) !important;

  font-family: Arial, sans-serif !important;
  font-size: 38px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: rotate(-14deg) !important;

  text-shadow:
    58px -46px 0 rgba(122, 7, 54, .22),
    122px 8px 0 rgba(104, 6, 90, .16),
    190px -34px 0 rgba(141, 5, 21, .15) !important;

  pointer-events: none !important;
}


/* =========================================================
   BANNER
========================================================= */

.recruit-banner,
.recruit-banner-container {
  position: relative !important;
  z-index: 1 !important;

  width: 100% !important;
  max-width: 900px !important;

  margin: 0 auto !important;
  padding: 64px 54px !important;

  overflow: hidden !important;

  background: rgba(255, 255, 255, .96) !important;

  border: 1px solid rgba(122, 7, 54, .18) !important;
  border-radius: 24px !important;

  box-shadow:
    0 18px 46px rgba(43, 32, 40, .18) !important;

  text-align: center !important;
}


/* 上部ロゴカラーライン */
.recruit-banner::after,
.recruit-banner-container::after {
  content: "" !important;

  position: absolute !important;
  top: 0 !important;
  left: 0 !important;

  width: 100% !important;
  height: 6px !important;

  background:
    linear-gradient(
      90deg,
      #68065a 0%,
      #7a0736 52%,
      #8d0515 100%
    ) !important;

  pointer-events: none !important;
}


/* 背景 RECRUIT */
.recruit-banner-container::before {
  content: "RECRUIT" !important;

  position: absolute !important;
  top: 22px !important;
  right: 26px !important;

  display: block !important;

  color: rgba(122, 7, 54, .075) !important;

  font-family:
    "Montserrat",
    "Noto Sans JP",
    sans-serif !important;

  font-size: clamp(42px, 7vw, 82px) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .06em !important;

  pointer-events: none !important;
}


/* =========================================================
   CONTENT
========================================================= */

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

  width: 100% !important;
  max-width: 700px !important;

  margin: 0 auto !important;

  text-align: center !important;
}


/* =========================================================
   TITLE
========================================================= */

.recruit-title {
  position: relative !important;

  display: inline-block !important;

  margin: 0 0 24px !important;
  padding: 0 0 16px !important;

  color: #7a0736 !important;

  font-family:
    "Shippori Mincho",
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: clamp(26px, 3vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  letter-spacing: .06em !important;

  text-align: center !important;
}


.recruit-title::after {
  content: "" !important;

  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;

  width: 56px !important;
  height: 4px !important;

  border-radius: 999px !important;

  background:
    linear-gradient(
      90deg,
      #68065a 0%,
      #7a0736 52%,
      #8d0515 100%
    ) !important;

  transform: translateX(-50%) !important;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.recruit-desc {
  max-width: 650px !important;

  margin: 0 auto 32px !important;

  color: #54484f !important;

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    Arial,
    sans-serif !important;

  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: .025em !important;

  text-align: center !important;

  word-break: auto-phrase !important;
  text-wrap: pretty !important;
}


/* =========================================================
   BUTTON
========================================================= */

.btn-recruit-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 8px !important;

  min-width: 220px !important;
  min-height: 50px !important;

  padding: 0 34px !important;

  border: 1px solid transparent !important;
  border-radius: 999px !important;

  background:
    linear-gradient(
      110deg,
      #68065a 0%,
      #7a0736 55%,
      #8d0515 100%
    ) !important;

  color: #fff !important;

  font-family:
    "Noto Sans JP",
    "Montserrat",
    sans-serif !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .06em !important;

  text-align: center !important;
  text-decoration: none !important;

  box-shadow:
    0 8px 22px rgba(104, 6, 90, .22) !important;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    opacity .25s ease !important;
}


.btn-recruit-link:hover {
  background:
    linear-gradient(
      110deg,
      #57044c 0%,
      #68065a 52%,
      #7a0736 100%
    ) !important;

  border-color: transparent !important;

  color: #fff !important;

  box-shadow:
    0 12px 28px rgba(104, 6, 90, .30) !important;

  transform: translateY(-2px) !important;
}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 768px) {

  .recruit-banner-section {
    padding: 72px 18px !important;
  }


  /* ハート */
  .recruit-banner-section::before {
    top: 20px !important;
    right: -4px !important;

    font-size: 48px !important;

    text-shadow:
      -54px 48px 0 rgba(141, 5, 21, .22),
      -105px 2px 0 rgba(104, 6, 90, .15) !important;
  }


  .recruit-banner-section::after {
    left: 10px !important;
    bottom: 18px !important;

    font-size: 28px !important;

    text-shadow:
      42px -34px 0 rgba(122, 7, 54, .20),
      90px 5px 0 rgba(104, 6, 90, .14) !important;
  }


  /* -------------------------
     CARD
  ------------------------- */

  .recruit-banner,
  .recruit-banner-container {
    padding: 48px 26px !important;

    border-radius: 18px !important;

    text-align: left !important;
  }


  .recruit-banner-container::before {
    top: 18px !important;
    right: 16px !important;

    font-size: 44px !important;
  }


  .recruit-content-inner {
    max-width: none !important;

    margin: 0 !important;

    text-align: left !important;
  }


  /* -------------------------
     TITLE
  ------------------------- */

  .recruit-title {
    display: block !important;

    width: fit-content !important;
    max-width: 100% !important;

    margin: 0 0 22px !important;
    padding-bottom: 14px !important;

    font-size: 25px !important;
    line-height: 1.55 !important;
    letter-spacing: .055em !important;

    text-align: left !important;
  }


  .recruit-title::after {
    left: 0 !important;

    width: 48px !important;
    height: 3px !important;

    transform: none !important;
  }


  /* -------------------------
     DESCRIPTION
  ------------------------- */

  .recruit-desc {
    max-width: none !important;

    margin: 0 0 30px !important;

    font-size: 16px !important;
    line-height: 1.95 !important;
    letter-spacing: .02em !important;

    text-align: left !important;
  }


  /* -------------------------
     BUTTON
  ------------------------- */

  .btn-recruit-link {
    width: 100% !important;
    max-width: 320px !important;

    min-height: 52px !important;

    padding: 0 22px !important;

    font-size: 14px !important;

    text-align: center !important;
  }

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width: 480px) {

  .recruit-banner-section {
    padding: 60px 16px !important;
  }


  .recruit-banner,
  .recruit-banner-container {
    padding: 43px 21px 42px !important;

    border-radius: 16px !important;
  }


  .recruit-banner-container::before {
    top: 15px !important;
    right: 10px !important;

    font-size: 38px !important;
  }


  .recruit-title {
    margin-bottom: 21px !important;

    font-size: 18px !important;
    line-height: 1.55 !important;
    letter-spacing: .045em !important;
  }


  .recruit-desc {
    margin-bottom: 27px !important;

    font-size: 16px !important;
    line-height: 1.9 !important;
    letter-spacing: .015em !important;
  }


  .btn-recruit-link {
    max-width: none !important;

    font-size: 14px !important;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .btn-recruit-link {
    transition-duration: .01ms !important;
  }

}

/* Block: image_grid / sec_1788508895325 */
/* =========================================================
   IMAGE GRID / GALLERY
   Snack Bena
   Logo Color × Heart × Pop
========================================================= */

.image-grid-section {
  position: relative;
  overflow: hidden;
  padding: 100px 20px 115px;
  background: #fff;
  color: #40353c;
}


/* =========================================================
   BACKGROUND HEART DECORATION
========================================================= */

/* 左上ハート群 */
.image-grid-section::before {
  content: "♥";
  position: absolute;
  top: 38px;
  left: 4%;
  z-index: 0;

  display: block;

  color: rgba(122, 7, 54, .09);

  font-family: Arial, sans-serif;
  font-size: 72px;
  font-weight: 900;
  line-height: 1;

  transform: rotate(-15deg);

  text-shadow:
    82px 54px 0 rgba(141, 5, 21, .065),
    168px -8px 0 rgba(104, 6, 90, .045),
    220px 88px 0 rgba(122, 7, 54, .05);

  pointer-events: none;
}


/* 右下ハート群 */
.image-grid-section::after {
  content: "♥";
  position: absolute;
  right: 5%;
  bottom: 38px;
  z-index: 0;

  display: block;

  color: rgba(141, 5, 21, .10);

  font-family: Arial, sans-serif;
  font-size: 42px;
  font-weight: 900;
  line-height: 1;

  transform: rotate(14deg);

  text-shadow:
    -60px -42px 0 rgba(122, 7, 54, .075),
    -132px 8px 0 rgba(104, 6, 90, .055),
    -196px -34px 0 rgba(141, 5, 21, .045);

  pointer-events: none;
}


/* =========================================================
   CONTAINER
========================================================= */

.image-grid-container {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 1120px;

  margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.image-grid-header {
  position: relative;

  max-width: 760px;

  margin: 0 auto 52px;

  text-align: center;
}


.image-grid-title {
  position: relative;

  display: inline-block;

  margin: 0 0 18px;
  padding: 0 0 17px;

  color: #7a0736;

  font-family:
    "Shippori Mincho",
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: clamp(1.65rem, 3.2vw, 2.5rem);
  font-weight: 700;
  line-height: 1.5;

  letter-spacing: .06em;

  text-align: center;
}


/* 見出し下線 */
.image-grid-title::before {
  content: "";

  position: absolute;
  left: 50%;
  bottom: 0;

  width: 64px;
  height: 5px;

  border-radius: 999px;

  background:
    linear-gradient(
      90deg,
      #68065a 0%,
      #7a0736 52%,
      #8d0515 100%
    );

  transform: translateX(-50%);
}


/* タイトル横ハート */
.image-grid-title::after {
  content: "♥";

  position: absolute;
  right: -32px;
  top: -9px;

  width: auto;
  height: auto;

  color: #8d0515;

  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;

  background: none;
  border-radius: 0;

  transform: rotate(13deg);

  box-shadow: none;

  text-shadow:
    12px 13px 0 rgba(122, 7, 54, .25);
}


.image-grid-desc {
  max-width: 650px;

  margin: 0 auto;

  color: #62545c;

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.95;

  letter-spacing: .025em;

  text-align: center;
}


/* =========================================================
   GRID
========================================================= */

.image-grid {
  position: relative;

  display: grid;

  gap: 34px 28px;

  align-items: start;
}


/* =========================================================
   IMAGE ITEM
========================================================= */

.image-grid-item {
  position: relative;
  z-index: 1;

  overflow: visible;

  isolation: isolate;
}


/* ---------------------------------------------------------
   写真裏のカラー面
   淡いピンクではなくロゴカラー
--------------------------------------------------------- */

.image-grid-item::before {
  content: "";

  position: absolute;
  z-index: -1;

  top: 12px;
  left: 12px;

  width: 100%;
  height: 100%;

  border-radius: 20px;

  background:
    linear-gradient(
      135deg,
      #68065a 0%,
      #7a0736 55%,
      #8d0515 100%
    );

  pointer-events: none;

  transition:
    transform .35s ease,
    background .35s ease;
}


/* 2枚目系 */
.image-grid-item:nth-child(3n+2)::before {
  top: 10px;
  left: -10px;

  background:
    linear-gradient(
      135deg,
      #7a0736 0%,
      #8d0515 100%
    );
}


/* 3枚目系 */
.image-grid-item:nth-child(3n+3)::before {
  top: -8px;
  left: 10px;

  background:
    linear-gradient(
      135deg,
      #68065a 0%,
      #7a0736 100%
    );
}


/* ---------------------------------------------------------
   各写真にハート
--------------------------------------------------------- */

.image-grid-item::after {
  content: "♥";

  position: absolute;
  top: -17px;
  right: -11px;
  z-index: 3;

  display: block;

  color: #8d0515;

  font-family: Arial, sans-serif;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;

  transform: rotate(14deg);

  text-shadow:
    -20px 5px 0 rgba(122, 7, 54, .25);

  pointer-events: none;
}


.image-grid-item:nth-child(3n+2)::after {
  top: auto;
  right: auto;
  left: -13px;
  bottom: -12px;

  color: #68065a;

  font-size: 25px;

  transform: rotate(-14deg);

  text-shadow:
    20px -8px 0 rgba(141, 5, 21, .20);
}


.image-grid-item:nth-child(3n+3)::after {
  top: -13px;
  right: 10px;

  color: #7a0736;

  font-size: 22px;

  transform: rotate(8deg);

  text-shadow:
    18px 13px 0 rgba(104, 6, 90, .18);
}


/* =========================================================
   RANDOM HEIGHT EFFECT
========================================================= */

.image-grid-item:nth-child(4n+2) {
  margin-top: 18px;
}

.image-grid-item:nth-child(4n+4) {
  margin-top: 10px;
}


/* =========================================================
   IMAGE
========================================================= */

.image-grid-item img {
  position: relative;
  z-index: 1;

  display: block;

  width: 100%;
  height: auto;

  border: 1px solid rgba(122, 7, 54, .10);
  border-radius: 20px;

  background: #fff;

  box-shadow:
    0 12px 28px rgba(104, 6, 90, .12);

  transition:
    transform .4s cubic-bezier(.25, 1, .5, 1),
    box-shadow .4s ease;
}


.image-grid-item:hover img {
  transform: translateY(-4px);

  box-shadow:
    0 18px 38px rgba(104, 6, 90, .18);
}


.image-grid-item:hover::before {
  transform: translate(3px, 3px);

  background:
    linear-gradient(
      135deg,
      #57044c 0%,
      #68065a 48%,
      #7a0736 100%
    );
}


/* =========================================================
   SQUARE
========================================================= */

.image-grid-shape-square .image-grid-item img {
  aspect-ratio: 1 / 1;

  height: auto;

  object-fit: cover;

  border-radius: 18px;
}


.image-grid-shape-square .image-grid-item::before {
  border-radius: 18px;
}


/* =========================================================
   CIRCLE
========================================================= */

.image-grid-shape-circle .image-grid-item {
  padding: 8px;
}


.image-grid-shape-circle .image-grid-item img {
  aspect-ratio: 1 / 1;

  height: auto;

  object-fit: cover;

  border-radius: 50%;
}


.image-grid-shape-circle .image-grid-item::before {
  top: 14px;
  left: 14px;

  width: calc(100% - 16px);
  height: calc(100% - 16px);

  border-radius: 50%;
}


/* =========================================================
   ROUNDED
========================================================= */

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


.image-grid-shape-rounded .image-grid-item::before {
  border-radius: 24px;
}


/* =========================================================
   FREE
========================================================= */

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


.image-grid-shape-free .image-grid-item::before {
  border-radius: 16px;
}


/* =========================================================
   EMPTY
========================================================= */

.image-grid-empty {
  position: relative;

  max-width: 720px;

  margin: 0 auto;
  padding: 46px 24px;

  border: 1px dashed rgba(122, 7, 54, .36);
  border-radius: 20px;

  background: #fff;

  color: #66515f;

  font-family:
    "Noto Sans JP",
    sans-serif;

  font-size: 13px;
  line-height: 1.8;

  text-align: center;

  box-shadow:
    0 10px 26px rgba(104, 6, 90, .08);
}


/* =========================================================
   TABLET / SMARTPHONE
========================================================= */

@media (max-width: 768px) {

  .image-grid-section {
    padding: 72px 15px 82px;
  }


  /* 背景ハート */
  .image-grid-section::before {
    top: 25px;
    left: 8px;

    font-size: 50px;

    text-shadow:
      58px 46px 0 rgba(141, 5, 21, .06),
      118px -5px 0 rgba(104, 6, 90, .04);
  }


  .image-grid-section::after {
    right: 6px;
    bottom: 22px;

    font-size: 30px;

    text-shadow:
      -46px -32px 0 rgba(122, 7, 54, .065),
      -98px 5px 0 rgba(104, 6, 90, .045);
  }


  .image-grid-header {
    margin-bottom: 38px;
  }


  .image-grid-title {
    margin-bottom: 15px;
    padding-bottom: 14px;

    font-size: 25px;
  }


  .image-grid-title::before {
    width: 54px;
    height: 4px;
  }


  .image-grid-title::after {
    right: -24px;
    top: -5px;

    font-size: 16px;

    text-shadow:
      9px 10px 0 rgba(122, 7, 54, .22);
  }


  .image-grid-desc {
    font-size: 13px;
    line-height: 1.9;
  }


  .image-grid {
    gap: 24px 18px;
  }


  .image-grid-item:nth-child(4n+2),
  .image-grid-item:nth-child(4n+4) {
    margin-top: 0;
  }


  .image-grid-item::before {
    top: 8px;
    left: 8px;

    border-radius: 16px;
  }


  .image-grid-item:nth-child(3n+2)::before {
    top: 8px;
    left: -6px;
  }


  .image-grid-item:nth-child(3n+3)::before {
    top: -5px;
    left: 7px;
  }


  /* 写真横ハート */
  .image-grid-item::after {
    top: -12px;
    right: -5px;

    font-size: 22px;

    text-shadow:
      -14px 4px 0 rgba(122, 7, 54, .20);
  }


  .image-grid-item:nth-child(3n+2)::after {
    left: -6px;
    bottom: -8px;

    font-size: 19px;

    text-shadow:
      14px -5px 0 rgba(141, 5, 21, .16);
  }


  .image-grid-item:nth-child(3n+3)::after {
    top: -9px;
    right: 5px;

    font-size: 18px;

    text-shadow:
      13px 9px 0 rgba(104, 6, 90, .15);
  }


  .image-grid-item img {
    border-radius: 16px;

    box-shadow:
      0 9px 22px rgba(104, 6, 90, .11);
  }


  .image-grid-item:hover img {
    transform: none;
  }


  .image-grid-shape-rounded .image-grid-item img,
  .image-grid-shape-rounded .image-grid-item::before {
    border-radius: 18px;
  }

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width: 480px) {

  .image-grid-section {
    padding: 60px 14px 70px;
  }


  .image-grid-header {
    margin-bottom: 32px;
  }


  .image-grid-title {
    font-size: 22px;
    letter-spacing: .045em;
  }


  .image-grid-desc {
    font-size: 13px;
    line-height: 1.85;
  }


  .image-grid {
    gap: 20px 14px;
  }


  .image-grid-item::before {
    top: 7px;
    left: 7px;
  }


  .image-grid-item::after {
    font-size: 19px;
  }

}

/* Block: instagram_feed / sec_1788508950308 */
/* =========================================================
   INSTAGRAM
   Snack Bena
   Logo Color × Heart × Pop
========================================================= */

.fc-instagram-embed-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 100px 20px 110px !important;
  background: #fff !important;
  color: #40353c !important;
}


/* =========================================================
   BACKGROUND HEART DECORATION
========================================================= */

/* 右上ハート群 */
.fc-instagram-embed-section::before {
  content: "♥" !important;

  position: absolute !important;
  top: 32px !important;
  right: 4% !important;
  z-index: 0 !important;

  display: block !important;

  width: auto !important;
  height: auto !important;

  border-radius: 0 !important;

  background: none !important;

  color: rgba(122, 7, 54, .10) !important;

  font-family: Arial, sans-serif !important;
  font-size: 72px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: rotate(14deg) !important;

  text-shadow:
    -72px 56px 0 rgba(141, 5, 21, .070),
    -150px -8px 0 rgba(104, 6, 90, .050),
    22px 122px 0 rgba(122, 7, 54, .055) !important;

  pointer-events: none !important;
}


/* 左下ハート群 */
.fc-instagram-embed-section::after {
  content: "♥" !important;

  position: absolute !important;
  left: 5% !important;
  bottom: 34px !important;
  z-index: 0 !important;

  display: block !important;

  width: auto !important;
  height: auto !important;

  background: none !important;

  color: rgba(141, 5, 21, .10) !important;

  font-family: Arial, sans-serif !important;
  font-size: 40px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  opacity: 1 !important;

  transform: rotate(-13deg) !important;

  text-shadow:
    58px -46px 0 rgba(122, 7, 54, .070),
    126px 6px 0 rgba(104, 6, 90, .050),
    194px -34px 0 rgba(141, 5, 21, .045) !important;

  pointer-events: none !important;
}


/* =========================================================
   INNER
========================================================= */

.fc-instagram-embed-inner {
  position: relative !important;
  z-index: 1 !important;

  width: 100% !important;
  max-width: 1180px !important;

  margin: 0 auto !important;

  text-align: center !important;
}


/* =========================================================
   HEADING
========================================================= */

.fc-instagram-embed-heading {
  position: relative !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: 760px !important;

  margin: 0 auto 46px !important;

  text-align: center !important;
}


/* 見出し左ハート */
.fc-instagram-embed-heading::before {
  content: "♥" !important;

  position: absolute !important;
  top: 6px !important;
  left: 7% !important;

  color: #8d0515 !important;

  font-family: Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: rotate(-15deg) !important;

  text-shadow:
    20px 13px 0 rgba(122, 7, 54, .22) !important;

  pointer-events: none !important;
}


/* 見出し右ハート */
.fc-instagram-embed-heading::after {
  content: "♥" !important;

  position: absolute !important;
  top: 28px !important;
  right: 8% !important;

  color: #68065a !important;

  font-family: Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: rotate(16deg) !important;

  text-shadow:
    -16px 14px 0 rgba(141, 5, 21, .18) !important;

  pointer-events: none !important;
}


/* =========================================================
   LABEL
========================================================= */

.fc-instagram-embed-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: max-content !important;
  max-width: 100% !important;
  min-height: 28px !important;

  margin: 0 auto 14px !important;
  padding: 5px 14px !important;

  border-radius: 999px !important;

  background:
    linear-gradient(
      110deg,
      #68065a 0%,
      #7a0736 55%,
      #8d0515 100%
    ) !important;

  color: #fff !important;

  font-family:
    "Montserrat",
    "Noto Sans JP",
    sans-serif !important;

  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow:
    0 5px 16px rgba(104, 6, 90, .16) !important;
}


/* =========================================================
   TITLE
========================================================= */

.fc-instagram-embed-heading h2 {
  position: relative !important;

  display: block !important;

  width: max-content !important;
  max-width: 100% !important;

  margin: 0 auto 18px !important;
  padding: 0 0 16px !important;

  color: #7a0736 !important;

  font-family:
    "Shippori Mincho",
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: clamp(1.7rem, 3.5vw, 2.55rem) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;

  letter-spacing: .055em !important;

  text-align: center !important;
}


.fc-instagram-embed-heading h2::after {
  content: "" !important;

  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;

  width: 62px !important;
  height: 5px !important;

  border-radius: 999px !important;

  background:
    linear-gradient(
      90deg,
      #68065a 0%,
      #7a0736 50%,
      #8d0515 100%
    ) !important;

  transform: translateX(-50%) !important;
}


.fc-instagram-embed-heading p {
  display: block !important;

  width: 100% !important;
  max-width: 680px !important;

  margin: 0 auto !important;

  color: #62545c !important;

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    Arial,
    sans-serif !important;

  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.95 !important;

  letter-spacing: .025em !important;

  text-align: center !important;
}


/* =========================================================
   SINGLE EMBED CARD
========================================================= */

.fc-instagram-embed-card {
  position: relative !important;

  display: flex !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: 620px !important;

  margin: 0 auto !important;
  padding: 14px !important;

  overflow: hidden !important;

  background: #fff !important;

  border: 1px solid rgba(122, 7, 54, .14) !important;
  border-radius: 20px !important;

  box-shadow:
    0 14px 38px rgba(104, 6, 90, .12) !important;
}


/* 上部ロゴカラーライン */
.fc-instagram-embed-card::before {
  content: "" !important;

  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  height: 4px !important;

  background:
    linear-gradient(
      90deg,
      #68065a 0%,
      #7a0736 52%,
      #8d0515 100%
    ) !important;

  z-index: 2 !important;

  pointer-events: none !important;
}


/* カード右上ハート */
.fc-instagram-embed-card::after {
  content: "♥" !important;

  position: absolute !important;
  top: 13px !important;
  right: 15px !important;
  z-index: 4 !important;

  color: rgba(141, 5, 21, .55) !important;

  font-family: Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: rotate(12deg) !important;

  text-shadow:
    -15px 11px 0 rgba(122, 7, 54, .16) !important;

  pointer-events: none !important;
}


/* =========================================================
   LEGACY
========================================================= */

.fc-instagram-embed-card--legacy {
  max-width: 1120px !important;

  width: min(100%, 1120px) !important;

  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: none !important;
}


.fc-instagram-embed-card--legacy::before,
.fc-instagram-embed-card--legacy::after {
  display: none !important;
}


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


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

  border-radius: 14px !important;

  box-shadow: none !important;
}


/* =========================================================
   GRID / SLIDER
========================================================= */

.fc-instagram-post-grid,
.fc-instagram-slider {
  width: 100% !important;
  max-width: 1180px !important;

  margin: 0 auto !important;
}


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


/* =========================================================
   POST CARD
========================================================= */

.fc-instagram-post-card {
  position: relative !important;

  min-width: 0 !important;

  padding: 10px !important;

  overflow: hidden !important;

  background: #fff !important;

  border: 1px solid rgba(122, 7, 54, .13) !important;
  border-radius: 18px !important;

  box-shadow:
    0 12px 30px rgba(104, 6, 90, .10) !important;

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease !important;
}


/* ロゴカラーライン */
.fc-instagram-post-card::before {
  content: "" !important;

  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  height: 3px !important;

  background:
    linear-gradient(
      90deg,
      #68065a 0%,
      #7a0736 52%,
      #8d0515 100%
    ) !important;

  z-index: 3 !important;

  pointer-events: none !important;
}


/* カードの小さいハート */
.fc-instagram-post-card::after {
  content: "♥" !important;

  position: absolute !important;
  top: 13px !important;
  right: 13px !important;
  z-index: 4 !important;

  color: rgba(141, 5, 21, .48) !important;

  font-family: Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform: rotate(14deg) !important;

  pointer-events: none !important;
}


.fc-instagram-post-card:nth-child(3n+2)::before {
  background:
    linear-gradient(
      90deg,
      #7a0736 0%,
      #8d0515 60%,
      #68065a 100%
    ) !important;
}


.fc-instagram-post-card:nth-child(3n+3)::before {
  background:
    linear-gradient(
      90deg,
      #8d0515 0%,
      #68065a 48%,
      #7a0736 100%
    ) !important;
}


.fc-instagram-post-card:nth-child(3n+2)::after {
  color: rgba(104, 6, 90, .48) !important;

  transform: rotate(-12deg) !important;
}


.fc-instagram-post-card:nth-child(3n+3)::after {
  color: rgba(122, 7, 54, .48) !important;

  transform: rotate(8deg) !important;
}


.fc-instagram-post-card:hover {
  transform: translateY(-5px) !important;

  border-color: rgba(122, 7, 54, .28) !important;

  box-shadow:
    0 18px 40px rgba(104, 6, 90, .16) !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;
}


/* =========================================================
   LARGE
========================================================= */

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

  border-radius: 22px !important;
}


/* =========================================================
   PHOTO MODE
========================================================= */

.fc-instagram-display-photo .fc-instagram-post-card {
  position: relative !important;

  aspect-ratio: 1 / .955 !important;

  padding: 0 !important;

  overflow: hidden !important;

  background: #fff !important;

  border-radius: 18px !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;
}


/* =========================================================
   SLIDER
========================================================= */

.fc-instagram-slider {
  position: relative !important;

  padding: 0 52px 38px !important;
}


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

  padding: 8px 0 12px !important;
}


.fc-instagram-slider-track {
  gap: 22px !important;

  align-items: stretch !important;
}


/* =========================================================
   SLIDER ARROW
========================================================= */

.fc-instagram-slider-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 5 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 42px !important;
  height: 42px !important;

  padding: 0 !important;

  border: 1px solid #7a0736 !important;
  border-radius: 50% !important;

  background: #fff !important;

  color: #7a0736 !important;

  box-shadow:
    0 8px 24px rgba(104, 6, 90, .14) !important;

  transform: translateY(-50%) !important;

  transition:
    background .25s ease,
    color .25s ease,
    border-color .25s ease,
    transform .25s ease,
    box-shadow .25s ease !important;
}


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


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


.fc-instagram-slider-arrow:hover {
  background: #7a0736 !important;
  border-color: #7a0736 !important;

  color: #fff !important;

  box-shadow:
    0 10px 28px rgba(104, 6, 90, .22) !important;
}


.fc-instagram-slider-arrow:disabled {
  opacity: .28 !important;

  cursor: default !important;

  box-shadow: none !important;
}


/* =========================================================
   DOTS
========================================================= */

.fc-instagram-slider-dots {
  position: absolute !important;

  left: 50% !important;
  bottom: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 7px !important;

  transform: translateX(-50%) !important;
}


.fc-instagram-slider-dot {
  display: block !important;

  width: 8px !important;
  height: 8px !important;

  padding: 0 !important;

  border: 0 !important;
  border-radius: 999px !important;

  background: rgba(122, 7, 54, .22) !important;

  cursor: pointer !important;

  transition:
    width .25s ease,
    background .25s ease !important;
}


.fc-instagram-slider-dot.is-active {
  width: 24px !important;

  background:
    linear-gradient(
      90deg,
      #68065a 0%,
      #7a0736 52%,
      #8d0515 100%
    ) !important;
}


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


/* =========================================================
   ACTION
========================================================= */

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

  text-align: center !important;
}


.fc-instagram-embed-action a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 9px !important;

  min-width: 220px !important;
  min-height: 50px !important;

  padding: 0 32px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background:
    linear-gradient(
      110deg,
      #68065a 0%,
      #7a0736 55%,
      #8d0515 100%
    ) !important;

  color: #fff !important;

  font-family:
    "Noto Sans JP",
    "Montserrat",
    sans-serif !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: .05em !important;

  text-decoration: none !important;

  box-shadow:
    0 8px 22px rgba(104, 6, 90, .22) !important;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    opacity .25s ease !important;
}


.fc-instagram-embed-action a:hover {
  background:
    linear-gradient(
      110deg,
      #57044c 0%,
      #68065a 50%,
      #7a0736 100%
    ) !important;

  color: #fff !important;

  opacity: 1 !important;

  transform: translateY(-2px) !important;

  box-shadow:
    0 12px 28px rgba(104, 6, 90, .30) !important;
}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 768px) {

  .fc-instagram-embed-section {
    padding: 72px 15px 82px !important;
  }


  /* 背景ハート */
  .fc-instagram-embed-section::before {
    top: 22px !important;
    right: -4px !important;

    font-size: 50px !important;

    text-shadow:
      -54px 46px 0 rgba(141, 5, 21, .060),
      -108px -3px 0 rgba(104, 6, 90, .045) !important;
  }


  .fc-instagram-embed-section::after {
    left: 8px !important;
    bottom: 20px !important;

    font-size: 29px !important;

    text-shadow:
      44px -34px 0 rgba(122, 7, 54, .060),
      94px 4px 0 rgba(104, 6, 90, .045) !important;
  }


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


  .fc-instagram-embed-heading::before {
    left: 1% !important;

    font-size: 17px !important;

    text-shadow:
      14px 10px 0 rgba(122, 7, 54, .18) !important;
  }


  .fc-instagram-embed-heading::after {
    top: 20px !important;
    right: 2% !important;

    font-size: 15px !important;

    text-shadow:
      -11px 10px 0 rgba(141, 5, 21, .15) !important;
  }


  .fc-instagram-embed-label {
    margin: 0 auto 12px !important;

    font-size: 9px !important;
  }


  .fc-instagram-embed-heading h2 {
    margin: 0 auto 15px !important;
    padding-bottom: 14px !important;

    font-size: 25px !important;
  }


  .fc-instagram-embed-heading h2::after {
    width: 52px !important;
    height: 4px !important;
  }


  .fc-instagram-embed-heading p {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }


  .fc-instagram-embed-card {
    padding: 10px !important;

    border-radius: 16px !important;
  }


  .fc-instagram-embed-card::after {
    top: 10px !important;
    right: 10px !important;

    font-size: 15px !important;
  }


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


  .fc-instagram-post-card {
    padding: 6px !important;

    border-radius: 14px !important;
  }


  .fc-instagram-post-card::after {
    top: 9px !important;
    right: 9px !important;

    font-size: 13px !important;
  }


  .fc-instagram-post-card:hover {
    transform: none !important;
  }


  .fc-instagram-display-photo .fc-instagram-post-card {
    padding: 0 !important;

    aspect-ratio: 1 / .955 !important;

    border-radius: 14px !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 38px !important;
  }


  .fc-instagram-slider-viewport {
    padding: 5px 0 10px !important;
  }


  .fc-instagram-slider-track {
    gap: 12px !important;
  }


  .fc-instagram-slider-arrow {
    top: auto !important;
    bottom: -2px !important;

    width: 32px !important;
    height: 32px !important;

    transform: none !important;
  }


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


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


  .fc-instagram-slider-dots {
    bottom: 8px !important;
  }


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


  .fc-instagram-embed-action a {
    width: 100% !important;
    max-width: 320px !important;

    min-height: 50px !important;

    padding: 0 22px !important;
  }

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width: 480px) {

  .fc-instagram-embed-section {
    padding: 60px 14px 70px !important;
  }


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


  .fc-instagram-embed-heading h2 {
    font-size: 22px !important;

    letter-spacing: .045em !important;
  }


  .fc-instagram-embed-heading p {
    font-size: 13px !important;
    line-height: 1.85 !important;
  }


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


  .fc-instagram-slider-track {
    gap: 10px !important;
  }

}

/* Block: custom_html / sec_1788507012712 */
/* =========================================================
STORE GUIDE / 店舗案内
Logo Color × White × Heart
余白整理・フォントサイズ調整版
========================================================= */

.store-guide-section,
.store-guide-section * {
box-sizing:border-box;
}

.store-guide-section {
position:relative;
width:100%;
overflow:hidden;
padding:88px 20px 96px;
background:
linear-gradient(
135deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
);
color:#fff;
}


/* =========================================================
BACKGROUND HEART DECORATION
========================================================= */

.store-guide-section::before {
content:"♥";
position:absolute;
top:34px;
left:4%;
width:auto;
height:auto;
border-radius:0;
background:none;
color:rgba(255,255,255,.10);
font-family:Arial,sans-serif;
font-size:72px;
font-weight:900;
line-height:1;
transform:rotate(-14deg);
text-shadow:
78px 54px 0 rgba(255,255,255,.065),
158px -8px 0 rgba(255,255,255,.045),
218px 88px 0 rgba(255,255,255,.05);
pointer-events:none;
}

.store-guide-section::after {
content:"♥";
position:absolute;
right:4%;
bottom:32px;
width:auto;
height:auto;
background:none;
color:rgba(255,255,255,.10);
font-family:Arial,sans-serif;
font-size:40px;
font-weight:900;
line-height:1;
opacity:1;
transform:rotate(14deg);
text-shadow:
-58px -44px 0 rgba(255,255,255,.065),
-122px 6px 0 rgba(255,255,255,.045),
-190px -32px 0 rgba(255,255,255,.04);
pointer-events:none;
}


.store-guide-inner {
position:relative;
z-index:1;
width:100%;
max-width:1180px;
margin:0 auto;
}


/* =========================================================
HEADING
========================================================= */

.store-guide-heading {
position:relative;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
width:100%;
max-width:760px;
margin:0 auto 38px;
text-align:center;
}


/* 英字ラベル */
.store-guide-en {
display:inline-flex;
align-items:center;
justify-content:center;
width:max-content;
max-width:100%;
min-height:26px;
margin:0 auto 10px;
padding:4px 12px;
border-radius:999px;
background:#fff;
color:#7a0736;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:11px;
font-weight:700;
line-height:1;
letter-spacing:.16em;
text-align:center;
box-shadow:0 5px 16px rgba(0,0,0,.10);
}


/* タイトル */
.store-guide-title {
position:relative;
display:block;
width:max-content;
max-width:100%;
margin:0 auto;
padding:0 0 14px;
color:#fff;
font-family:"Shippori Mincho","Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
font-size:clamp(30px,4vw,40px);
font-weight:700;
line-height:1.4;
letter-spacing:.06em;
text-align:center;
}

.store-guide-title::after {
content:"";
position:absolute;
bottom:0;
left:50%;
width:56px;
height:4px;
border-radius:999px;
background:#fff;
transform:translateX(-50%);
}


/* =========================================================
GRID
========================================================= */

.store-guide-grid {
display:grid;
grid-template-columns:minmax(0,1.03fr) minmax(400px,.97fr);
gap:36px;
align-items:stretch;
}


/* =========================================================
INFO
========================================================= */

.store-guide-info {
position:relative;
width:100%;
padding:24px 28px;
overflow:hidden;
background:#fff;
border:1px solid rgba(255,255,255,.24);
border-radius:20px;
box-shadow:0 16px 38px rgba(0,0,0,.18);
}


/* 上部ロゴカラーライン */
.store-guide-info::before {
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:5px;
background:
linear-gradient(
90deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
);
}


/* 背景 INFO */
.store-guide-info::after {
content:"INFO";
position:absolute;
top:15px;
right:17px;
color:rgba(122,7,54,.065);
font-family:"Montserrat",sans-serif;
font-size:38px;
font-weight:800;
line-height:1;
letter-spacing:.04em;
pointer-events:none;
}


.store-guide-list {
position:relative;
z-index:1;
margin:0;
}


/* =========================================================
ROW
========================================================= */

.store-guide-row {
display:grid;
grid-template-columns:120px minmax(0,1fr);
gap:18px;
align-items:start;
padding:14px 5px;
border-bottom:1px solid rgba(122,7,54,.10);
}

.store-guide-row:last-child {
border-bottom:0;
}

.store-guide-row dt,
.store-guide-row dd {
margin:0;
}


/* =========================================================
LABEL
========================================================= */

.store-guide-row dt {
display:inline-flex;
align-items:center;
width:max-content;
max-width:100%;
min-height:27px;
padding:4px 10px;
border-radius:999px;
background:#7a0736;
color:#fff;
font-family:"Noto Sans JP",sans-serif;
font-size:13px;
font-weight:700;
line-height:1.5;
letter-spacing:.035em;
}


/* =========================================================
VALUE
========================================================= */

.store-guide-row dd {
padding-top:2px;
color:#50434b;
font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
font-size:16px;
font-weight:400;
line-height:1.75;
letter-spacing:.02em;
word-break:auto-phrase;
text-wrap:pretty;
}

.store-guide-row dd a {
color:#7a0736;
font-weight:600;
text-decoration:none;
transition:color .25s ease;
}

.store-guide-row dd a:hover {
color:#8d0515;
}


/* =========================================================
MAP
========================================================= */

.store-guide-map {
position:relative;
z-index:1;
width:100%;
min-height:100%;
padding:0 12px 12px 0;
overflow:visible;
background:transparent;
}


/* MAPラベル */
.store-guide-map::before {
content:"MAP";
position:absolute;
top:-12px;
right:0;
z-index:3;
display:inline-flex;
align-items:center;
justify-content:center;
min-height:28px;
padding:4px 12px;
border-radius:999px;
background:#fff;
color:#7a0736;
font-family:"Montserrat",sans-serif;
font-size:9px;
font-weight:700;
line-height:1;
letter-spacing:.15em;
box-shadow:0 6px 15px rgba(0,0,0,.15);
pointer-events:none;
}


/* MAP背面 */
.store-guide-map::after {
content:"";
position:absolute;
top:12px;
left:12px;
right:0;
bottom:0;
z-index:-1;
border-radius:20px;
background:#fff;
pointer-events:none;
}


/* MAP */
.store-guide-map iframe {
position:relative;
z-index:1;
display:block;
width:100%;
height:100%;
min-height:540px;
border:1px solid rgba(122,7,54,.12);
border-radius:20px;
background:#fff;
box-shadow:0 14px 34px rgba(0,0,0,.18);
}


/* =========================================================
TABLET
========================================================= */

@media (max-width:960px) {

.store-guide-section {
padding:76px 20px 84px;
}

.store-guide-heading {
margin-bottom:34px;
}

.store-guide-grid {
grid-template-columns:1fr;
gap:34px;
}

.store-guide-info {
padding:24px 26px;
}

.store-guide-map {
min-height:420px;
}

.store-guide-map iframe {
height:420px;
min-height:420px;
}

}


/* =========================================================
SMARTPHONE
========================================================= */

@media (max-width:600px) {

.store-guide-section {
padding:58px 15px 64px;
}


/* 背景ハート */
.store-guide-section::before {
top:20px;
left:5px;
font-size:50px;
text-shadow:
54px 44px 0 rgba(255,255,255,.06),
108px -4px 0 rgba(255,255,255,.04);
}

.store-guide-section::after {
right:5px;
bottom:16px;
font-size:28px;
text-shadow:
-42px -32px 0 rgba(255,255,255,.06),
-88px 4px 0 rgba(255,255,255,.04);
}


/* -------------------------
HEADING
------------------------- */

.store-guide-heading {
margin:0 auto 28px;
}

.store-guide-en {
min-height:24px;
margin:0 auto 9px;
padding:4px 10px;
font-size:10px;
letter-spacing:.14em;
}

.store-guide-title {
margin:0 auto;
padding-bottom:12px;
font-size:26px;
line-height:1.4;
letter-spacing:.05em;
}

.store-guide-title::after {
width:48px;
height:3px;
}


/* -------------------------
GRID
------------------------- */

.store-guide-grid {
gap:28px;
}


/* -------------------------
INFO CARD
------------------------- */

.store-guide-info {
padding:18px 16px 15px;
border-radius:16px;
box-shadow:0 10px 26px rgba(0,0,0,.16);
}

.store-guide-info::after {
top:12px;
right:10px;
font-size:30px;
}


/* -------------------------
ROWS
------------------------- */

.store-guide-row {
grid-template-columns:1fr;
gap:6px;
padding:12px 2px;
}


/* -------------------------
LABEL
------------------------- */

.store-guide-row dt {
min-height:25px;
padding:3px 9px;
font-size:12px;
line-height:1.45;
letter-spacing:.03em;
}


/* -------------------------
VALUE
------------------------- */

.store-guide-row dd {
padding-top:0;
font-size:16px;
line-height:1.7;
letter-spacing:.015em;
}


/* -------------------------
MAP
------------------------- */

.store-guide-map {
padding:0 8px 8px 0;
aspect-ratio:4/3;
min-height:0;
}

.store-guide-map::before {
top:-10px;
right:0;
min-height:25px;
padding:4px 10px;
font-size:9px;
}

.store-guide-map::after {
top:8px;
left:8px;
border-radius:16px;
}

.store-guide-map iframe {
width:100%;
height:100%;
min-height:0;
border-radius:16px;
box-shadow:0 10px 24px rgba(0,0,0,.16);
}

}


/* =========================================================
SMALL SMARTPHONE
========================================================= */

@media (max-width:420px) {

.store-guide-section {
padding:52px 14px 58px;
}

.store-guide-heading {
margin-bottom:25px;
}

.store-guide-title {
font-size:25px;
}

.store-guide-info {
padding:16px 14px 14px;
}

.store-guide-row {
padding:11px 2px;
}

.store-guide-row dt {
font-size:12px;
}

.store-guide-row dd {
font-size:16px;
line-height:1.7;
}

.store-guide-grid {
gap:25px;
}

}


/* =========================================================
   Page: recruit / RECRUIT｜甲府市中小河原のスナックなら｜スナック Bena（ベナ）
========================================================= */

/* Block: hero_page / sec_1788508661860 */
/* =========================================================
   hero_page に貼るCSS
========================================================= */

.page-hero-wrapper {
  position: relative !important;
  min-height: 320px !important;
  padding: 160px 5% 80px !important;
  overflow: hidden !important;
  background-color: transparent !important;
  background-size: cover !important;
  background-position: center !important;
  color: #f0e6d2 !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.page-hero-wrapper::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(120, 24, 42, 0.12), transparent 44%),
    rgba(8, 6, 2, 0.42) !important;
  pointer-events: none !important;
}

.page-hero-wrapper::after,
.ph-overlay {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  background:
    linear-gradient(to bottom, rgba(8, 6, 2, 0.3) 0%, rgba(8, 6, 2, 0.55) 60%, rgba(8, 6, 2, 0.92) 100%) !important;
  pointer-events: none !important;
}

.ph-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
}

.ph-title {
  display: inline-block !important;
  margin: 0 0 8px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  color: #f0e6d2 !important;
  font-family: "Cormorant Garamond", "Cinzel", "Noto Serif JP", serif !important;
  font-size: clamp(32px, 5vw, 56px) !important;
  font-weight: 300 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  background: linear-gradient(90deg, #f0e6d2 0%, #f0e6d2 35%, #c3963a 50%, #f0e6d2 65%, #f0e6d2 100%) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  animation: titleShimmer 5s linear infinite !important;
}

.ph-title::after {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 1px !important;
  margin: 24px auto 0 !important;
  background: #c3963a !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
}

.ph-desc {
  margin: 20px 0 0 !important;
  color: #a08c6a !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 2.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: none !important;
}

@keyframes titleShimmer {
  0% { background-position: 200% center; }
  100% { background-position: -200% center; }
}

@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height: 280px !important;
    padding: 130px 5% 58px !important;
  }

  .ph-title {
    font-size: 32px !important;
    letter-spacing: 0.16em !important;
  }

  .ph-desc {
    font-size: 12px !important;
    letter-spacing: 0.08em !important;
  }
}

/* Block: free_text_box / sec_1788508703747 */
/* =========================================================
free_text_box に貼るCSS
Snack Bena
Logo Color × White × Heart × Pop
PC：中央揃え
SP：左揃え
========================================================= */
.free-text-section, .free-text-section * {
  box-sizing: border-box !important;
}
.free-text-section {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 110px 5% !important;
  overflow: hidden !important;
  background:
    linear-gradient(135deg, #68065a 0%, #7a0736 52%, #8d0515 100%) !important;
  color: #fff !important;
  text-align: center !important;
}
/* =========================================================
BACKGROUND HEART DECORATION
========================================================= */
/* 左上ハート群 */
.free-text-section::before {
  content: "♥" !important;
  position: absolute !important;
  z-index: 0 !important;
  top: 42px !important;
  left: 5% !important;
  width: auto !important;
  height: auto !important;
  opacity: 1 !important;
  background: none !important;
  color: rgba(255, 255, 255, .10) !important;
  font-family: Arial, sans-serif !important;
  font-size: 66px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transform: rotate(-14deg) !important;
  text-shadow:
    72px 52px 0 rgba(255, 255, 255, .065), 148px -6px 0 rgba(255, 255, 255, .045), 212px 88px 0 rgba(255, 255, 255, .05) !important;
  pointer-events: none !important;
}
/* 右下ハート群 */
.free-text-section::after {
  content: "♥" !important;
  position: absolute !important;
  z-index: 0 !important;
  right: 5% !important;
  bottom: 42px !important;
  width: auto !important;
  height: auto !important;
  opacity: 1 !important;
  background: none !important;
  color: rgba(255, 255, 255, .10) !important;
  font-family: Arial, sans-serif !important;
  font-size: 40px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transform: rotate(14deg) !important;
  text-shadow:
    -58px -42px 0 rgba(255, 255, 255, .065), -124px 6px 0 rgba(255, 255, 255, .045), -188px -30px 0 rgba(255, 255, 255, .04) !important;
  pointer-events: none !important;
}
/* =========================================================
CONTAINER
========================================================= */
.free-text-container {
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 960px) !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  padding:
    clamp(54px, 6vw, 76px) clamp(28px, 6vw, 70px) !important;
  overflow: hidden !important;
  border:
    1px solid rgba(255, 255, 255, .30) !important;
  border-radius: 14px !important;
  background:
    rgba(255, 255, 255, .97) !important;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, .16), 0 3px 10px rgba(0, 0, 0, .06) !important;
  text-align: center !important;
}
/* 上部ロゴカラーライン */
.free-text-container::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 74px !important;
  height: 3px !important;
  transform: translateX(-50%) !important;
  border-radius:
    0 0 10px 10px !important;
  background:
    linear-gradient(90deg, #68065a 0%, #7a0736 52%, #8d0515 100%) !important;
}
/* カード右下ハート */
.free-text-container::after {
  content: "♥" !important;
  position: absolute !important;
  right: 24px !important;
  bottom: 20px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: none !important;
  color: rgba(122, 7, 54, .08) !important;
  font-family: Arial, sans-serif !important;
  font-size: 42px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transform: rotate(14deg) !important;
  text-shadow:
    -28px -14px 0 rgba(141, 5, 21, .055) !important;
  pointer-events: none !important;
}
/* =========================================================
TITLE
========================================================= */
.free-text-title {
  position: relative !important;
  margin: 0 0 28px !important;
  padding-bottom: 21px !important;
  color: #7a0736 !important;
  font-family:
    "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  letter-spacing: .1em !important;
  text-align: center !important;
  word-break: normal !important;
  line-break: strict !important;
  text-wrap: pretty !important;
}
/* タイトル下ライン */
.free-text-title::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 34px !important;
  height: 2px !important;
  transform:
    translateX(-50%) !important;
  background:
    linear-gradient(90deg, #68065a 0%, #7a0736 55%, #8d0515 100%) !important;
}
/* タイトル横ハート */
.free-text-title::before {
  content: "♥" !important;
  position: absolute !important;
  top: -7px !important;
  right: -26px !important;
  color: #8d0515 !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transform: rotate(13deg) !important;
  text-shadow:
    10px 10px 0 rgba(122, 7, 54, .18) !important;
  pointer-events: none !important;
}
/* =========================================================
DESCRIPTION
========================================================= */
.free-text-desc {
  display: block !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  color: #68545f !important;
  font-family:
    "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 2.15 !important;
  letter-spacing: .045em !important;
  text-align: center !important;
  word-break: normal !important;
  line-break: strict !important;
  overflow-wrap: break-word !important;
  text-wrap: pretty !important;
}
.free-text-desc p {
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  word-break: normal !important;
  line-break: strict !important;
  text-wrap: pretty !important;
}
.free-text-desc p + p {
  margin-top: 18px !important;
}
/* =========================================================
LINK / BUTTON
========================================================= */
.free-text-container a {
  display: inline-flex !important;
  min-width: 180px !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 32px !important;
  padding: 10px 26px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background:
    linear-gradient(110deg, #68065a 0%, #7a0736 52%, #8d0515 100%) !important;
  color: #fff !important;
  font-family:
    "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow:
    0 7px 18px rgba(104, 6, 90, .20) !important;
  transition:
    transform .25s ease, box-shadow .25s ease, opacity .25s ease !important;
}
.free-text-container a:hover {
  background:
    linear-gradient(110deg, #57044c 0%, #68065a 52%, #7a0736 100%) !important;
  transform:
    translateY(-2px) !important;
  box-shadow:
    0 10px 22px rgba(104, 6, 90, .28) !important;
  opacity: 1 !important;
}
/* =========================================================
TABLET
========================================================= */
@media (max-width:900px) {
  .free-text-section {
    padding: 90px 5% !important;
  }
  .free-text-container {
    padding: 58px 40px !important;
  }
}
/* =========================================================
SMARTPHONE
========================================================= */
@media (max-width:768px) {
  .free-text-section {
    padding: 68px 16px !important;
    text-align: left !important;
  }
  /* 背景ハート */
  .free-text-section::before {
    top: 22px !important;
    left: 5px !important;
    font-size: 48px !important;
    text-shadow:
      52px 42px 0 rgba(255, 255, 255, .06), 102px -3px 0 rgba(255, 255, 255, .04) !important;
  }
  .free-text-section::after {
    right: 5px !important;
    bottom: 20px !important;
    font-size: 28px !important;
    text-shadow:
      -42px -30px 0 rgba(255, 255, 255, .055), -88px 4px 0 rgba(255, 255, 255, .04) !important;
  }
  /* -------------------------
CONTAINER
------------------------- */
  .free-text-container {
    width: 100% !important;
    padding:
      44px 24px 42px !important;
    border-radius: 12px !important;
    box-shadow:
      0 10px 26px rgba(0, 0, 0, .14) !important;
    text-align: left !important;
  }
  /* 上部ラインはスマホでも中央 */
  .free-text-container::before {
    left: 50% !important;
    transform:
      translateX(-50%) !important;
  }
  /* カード内ハート */
  .free-text-container::after {
    right: 14px !important;
    bottom: 13px !important;
    font-size: 30px !important;
    text-shadow:
      -20px -10px 0 rgba(141, 5, 21, .045) !important;
  }
  /* -------------------------
TITLE
------------------------- */
  .free-text-title {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 22px !important;
    padding-bottom: 15px !important;
    font-size: 24px !important;
    line-height: 1.55 !important;
    letter-spacing: .055em !important;
    text-align: left !important;
    word-break: normal !important;
    line-break: strict !important;
    overflow-wrap: normal !important;
    text-wrap: pretty !important;
  }
  /* 見出し下ライン */
  .free-text-title::after {
    left: 0 !important;
    width: 38px !important;
    height: 2px !important;
    transform: none !important;
  }
  /* 見出しハート */
  .free-text-title::before {
    top: -5px !important;
    right: -22px !important;
    font-size: 14px !important;
    text-shadow:
      8px 8px 0 rgba(122, 7, 54, .15) !important;
  }
  /* -------------------------
DESCRIPTION
------------------------- */
  .free-text-desc {
    max-width: none !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.95 !important;
    letter-spacing: .02em !important;
    text-align: left !important;
    word-break: normal !important;
    line-break: strict !important;
    overflow-wrap: break-word !important;
    text-wrap: pretty !important;
  }
  .free-text-desc p {
    text-align: left !important;
    word-break: normal !important;
    line-break: strict !important;
    overflow-wrap: break-word !important;
    text-wrap: pretty !important;
  }
  .free-text-desc p + p {
    margin-top: 16px !important;
  }
  /* -------------------------
BUTTON
------------------------- */
  .free-text-container a {
    width: min(100%, 240px) !important;
    margin-top: 26px !important;
    font-size: 14px !important;
    text-align: center !important;
  }
}
/* =========================================================
SMALL SP
========================================================= */
@media (max-width:420px) {
  .free-text-section {
    padding: 58px 14px !important;
  }
  .free-text-container {
    padding: 40px 20px 38px !important;
  }
  .free-text-title {
    font-size: 23px !important;
    line-height: 1.5 !important;
    letter-spacing: .045em !important;
  }
  .free-text-desc {
    font-size: 16px !important;
    line-height: 1.9 !important;
    letter-spacing: .015em !important;
  }
}
/* =========================================================
REDUCED MOTION
========================================================= */
@media (prefers-reduced-motion:reduce) {
  .free-text-container a {
    transition-duration: .01ms !important;
  }
}

/* Block: custom_html / sec_1788508812080 */
/* =========================================================
   RECRUIT / 募集要項
   Snack Bena
   Logo Color × White × Heart × Pop

   PC：2カラム
   SP：画像 → 募集内容
========================================================= */


/* =========================================================
   RESET
========================================================= */

.recruit-section,
.recruit-section * {
  box-sizing: border-box;
}


/* =========================================================
   SECTION
========================================================= */

.recruit-section {
  position: relative;
  isolation: isolate;

  width: 100%;

  overflow: hidden;

  padding:
    110px
    24px
    120px;

  background:
    linear-gradient(
      135deg,
      #68065a 0%,
      #7a0736 52%,
      #8d0515 100%
    );

  color: #fff;
}


/* =========================================================
   BACKGROUND HEART DECORATION
========================================================= */

/* 左上のハート群 */
.recruit-section::before {
  content: "♥";

  position: absolute;
  z-index: 0;

  top: 42px;
  left: 4%;

  width: auto;
  height: auto;

  background: none;

  color:
    rgba(255, 255, 255, .10);

  font-family:
    Arial,
    sans-serif;

  font-size: 70px;
  font-weight: 900;
  line-height: 1;

  opacity: 1;

  transform:
    rotate(-14deg);

  text-shadow:
    76px 52px 0 rgba(255, 255, 255, .065),
    154px -7px 0 rgba(255, 255, 255, .045),
    220px 88px 0 rgba(255, 255, 255, .05);

  pointer-events: none;
}


/* 右下のハート群 */
.recruit-section::after {
  content: "♥";

  position: absolute;
  z-index: 0;

  right: 4%;
  bottom: 42px;

  width: auto;
  height: auto;

  background: none;

  color:
    rgba(255, 255, 255, .10);

  font-family:
    Arial,
    sans-serif;

  font-size: 40px;
  font-weight: 900;
  line-height: 1;

  opacity: 1;

  transform:
    rotate(14deg);

  text-shadow:
    -60px -44px 0 rgba(255, 255, 255, .065),
    -126px 6px 0 rgba(255, 255, 255, .045),
    -194px -32px 0 rgba(255, 255, 255, .04);

  pointer-events: none;
}


/* =========================================================
   INNER
========================================================= */

.recruit-inner {
  position: relative;

  z-index: 1;

  width: 100%;
  max-width: 1200px;

  margin: 0 auto;
}


/* =========================================================
   HEADING
   RECRUIT
   募集要項
========================================================= */

.recruit-section .recruit-heading {
  position: relative !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: none !important;

  margin:
    0
    auto
    54px !important;

  padding: 0 !important;

  text-align: center !important;
}


/* =========================================================
   HEADING HEART
========================================================= */

.recruit-section .recruit-heading::before {
  content: "♥" !important;

  position: absolute !important;

  top: 7px !important;
  left:
    calc(50% - 145px) !important;

  z-index: 0 !important;

  color:
    rgba(255, 255, 255, .82) !important;

  font-family:
    Arial,
    sans-serif !important;

  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform:
    rotate(-14deg) !important;

  text-shadow:
    15px 11px 0
    rgba(255, 255, 255, .20) !important;

  pointer-events: none !important;
}


.recruit-section .recruit-heading::after {
  content: "♥" !important;

  position: absolute !important;

  top: 13px !important;
  right:
    calc(50% - 145px) !important;

  z-index: 0 !important;

  color:
    rgba(255, 255, 255, .75) !important;

  font-family:
    Arial,
    sans-serif !important;

  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  transform:
    rotate(14deg) !important;

  text-shadow:
    -12px 10px 0
    rgba(255, 255, 255, .16) !important;

  pointer-events: none !important;
}


/* =========================================================
   RECRUIT LABEL
========================================================= */

.recruit-section
.recruit-heading
.recruit-en {
  position: relative !important;
  z-index: 2 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: max-content !important;
  max-width: 100% !important;

  min-height: 28px !important;

  margin:
    0
    auto
    13px !important;

  padding:
    5px
    14px !important;

  border: 0 !important;
  border-radius: 999px !important;

  background:
    #fff !important;

  color:
    #7a0736 !important;

  font-family:
    "Montserrat",
    "Helvetica Neue",
    Arial,
    sans-serif !important;

  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  letter-spacing:
    .24em !important;

  text-align:
    center !important;

  white-space:
    nowrap !important;

  box-shadow:
    0 5px 16px
    rgba(0, 0, 0, .10) !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
}


/* =========================================================
   TITLE
   募集要項
========================================================= */

.recruit-section
.recruit-heading
.recruit-title {
  position: relative !important;
  z-index: 2 !important;

  display: block !important;

  width: max-content !important;
  max-width: 100% !important;

  margin:
    0
    auto !important;

  padding:
    0
    0
    18px !important;

  background:
    transparent !important;

  color:
    #fff !important;

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size:
    clamp(30px, 4vw, 42px) !important;

  font-weight:
    600 !important;

  line-height:
    1.45 !important;

  letter-spacing:
    .08em !important;

  text-align:
    center !important;

  text-shadow:
    none !important;

  opacity:
    1 !important;

  visibility:
    visible !important;

  transform:
    none !important;
}


/* タイトル下ライン */
.recruit-section
.recruit-heading
.recruit-title::after {
  content: "" !important;

  position: absolute !important;

  left: 50% !important;
  bottom: 0 !important;

  display: block !important;

  width: 46px !important;
  height: 3px !important;

  border-radius:
    999px !important;

  background:
    #fff !important;

  transform:
    translateX(-50%) !important;
}


/* =========================================================
   GRID
========================================================= */

.recruit-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1fr)
    minmax(380px, .9fr);

  gap:
    clamp(48px, 6vw, 72px);

  align-items:
    center;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.recruit-content {
  width: 100%;
}


/* =========================================================
   LEAD COPY
========================================================= */

.recruit-copy {
  margin-bottom:
    34px;
}


/* JOIN OUR TEAM */
.recruit-copy > span {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    max-content;

  min-height:
    26px;

  margin:
    0
    0
    10px;

  padding:
    4px
    11px;

  border-radius:
    999px;

  background:
    #fff;

  color:
    #7a0736;

  font-family:
    "Montserrat",
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size:
    10px;

  font-weight:
    700;

  line-height:
    1.4;

  letter-spacing:
    .18em;

  box-shadow:
    0 5px 16px
    rgba(0, 0, 0, .08);
}


.recruit-copy p {
  margin:
    0;

  color:
    #fff;

  font-family:
    "Noto Serif JP",
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif;

  font-size:
    clamp(18px, 2vw, 23px);

  font-weight:
    500;

  line-height:
    1.9;

  letter-spacing:
    .055em;
}


/* =========================================================
   RECRUIT LIST
========================================================= */

.recruit-list {
  position:
    relative;

  overflow:
    hidden;

  padding:
    8px
    30px
    10px;

  border:
    1px solid
    rgba(255, 255, 255, .30);

  border-top:
    4px solid
    #7a0736;

  border-radius:
    12px;

  background:
    rgba(255, 255, 255, .97);

  box-shadow:
    0 14px 36px
    rgba(0, 0, 0, .16);
}


/* カード内ハート */
.recruit-list::after {
  content:
    "♥";

  position:
    absolute;

  right:
    21px;

  bottom:
    18px;

  width:
    auto;

  height:
    auto;

  border-radius:
    0;

  background:
    none;

  color:
    rgba(122, 7, 54, .06);

  font-family:
    Arial,
    sans-serif;

  font-size:
    54px;

  font-weight:
    900;

  line-height:
    1;

  transform:
    rotate(14deg);

  text-shadow:
    -33px -18px 0
    rgba(141, 5, 21, .04);

  pointer-events:
    none;
}


/* =========================================================
   RECRUIT ITEM
========================================================= */

.recruit-item {
  position:
    relative;

  z-index:
    1;

  display:
    grid;

  grid-template-columns:
    46px
    minmax(0, 1fr);

  gap:
    20px;

  align-items:
    start;

  padding:
    22px
    4px;

  border-bottom:
    1px solid
    rgba(122, 7, 54, .12);
}


.recruit-item:last-child {
  border-bottom:
    0;
}


/* =========================================================
   NUMBER
========================================================= */

.recruit-number {
  padding-top:
    4px;

  color:
    rgba(122, 7, 54, .44);

  font-family:
    "Montserrat",
    "Helvetica Neue",
    Arial,
    sans-serif;

  font-size:
    11px;

  font-weight:
    600;

  letter-spacing:
    .1em;
}


/* =========================================================
   TEXT
========================================================= */

.recruit-text {
  min-width:
    0;
}


/* 項目ラベル */
.recruit-label {
  display:
    inline-flex;

  align-items:
    center;

  width:
    max-content;

  min-height:
    24px;

  margin-bottom:
    7px;

  padding:
    3px
    9px;

  border-radius:
    999px;

  background:
    #7a0736;

  color:
    #fff;

  font-family:
    "Noto Sans JP",
    sans-serif;

  font-size:
    11px;

  font-weight:
    700;

  line-height:
    1.4;

  letter-spacing:
    .1em;
}


.recruit-text p {
  margin:
    0;

  color:
    #594650;

  font-family:
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  font-size:
    16px;

  font-weight:
    400;

  line-height:
    1.9;

  letter-spacing:
    .035em;

  word-break:
    auto-phrase;

  text-wrap:
    pretty;
}


/* =========================================================
   IMAGE WRAP
========================================================= */

.recruit-image-wrap {
  position:
    relative;

  width:
    100%;

  padding:
    0
    0
    18px
    18px;
}


/* =========================================================
   IMAGE HEART
========================================================= */

.recruit-image-wrap::after {
  content:
    "♥";

  position:
    absolute;

  z-index:
    3;

  top:
    -22px;

  right:
    -14px;

  color:
    #fff;

  font-family:
    Arial,
    sans-serif;

  font-size:
    38px;

  font-weight:
    900;

  line-height:
    1;

  transform:
    rotate(14deg);

  text-shadow:
    -25px 5px 0
    rgba(255, 255, 255, .28),
    8px 32px 0
    rgba(255, 255, 255, .16);

  pointer-events:
    none;
}


/* =========================================================
   IMAGE BACK PLATE
========================================================= */

.recruit-image-wrap::before {
  content:
    "";

  position:
    absolute;

  left:
    0;

  bottom:
    0;

  width:
    calc(100% - 18px);

  height:
    calc(100% - 18px);

  border-radius:
    16px;

  background:
    linear-gradient(
      135deg,
      #68065a 0%,
      #7a0736 56%,
      #8d0515 100%
    );

  opacity:
    1;

  box-shadow:
    0 12px 28px
    rgba(0, 0, 0, .14);

  pointer-events:
    none;
}


/* =========================================================
   IMAGE BOX
========================================================= */

.recruit-image {
  position:
    relative;

  z-index:
    1;

  width:
    100%;

  overflow:
    hidden;

  border:
    1px solid
    rgba(255, 255, 255, .28);

  border-radius:
    14px;

  background:
    #fff;

  box-shadow:
    0 16px 38px
    rgba(0, 0, 0, .18);
}


/* 画像上部アクセント */
.recruit-image::before {
  content:
    "";

  position:
    absolute;

  z-index:
    2;

  top:
    0;

  left:
    0;

  width:
    72px;

  height:
    3px;

  background:
    linear-gradient(
      90deg,
      #68065a 0%,
      #7a0736 55%,
      #8d0515 100%
    );

  pointer-events:
    none;
}


.recruit-image img {
  display:
    block;

  width:
    100%;

  height:
    560px;

  object-fit:
    cover;

  object-position:
    center;

  filter:
    brightness(.98)
    saturate(.95);

  transition:
    transform .7s ease,
    filter .5s ease;
}


.recruit-image:hover img {
  transform:
    scale(1.025);

  filter:
    brightness(1)
    saturate(1);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 960px) {

  .recruit-section {
    padding:
      90px
      24px
      100px;
  }


  .recruit-grid {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(320px, .85fr);

    gap:
      42px;
  }


  .recruit-list {
    padding:
      6px
      24px
      8px;
  }


  .recruit-image img {
    height:
      500px;
  }

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width: 700px) {

  .recruit-section {
    padding:
      70px
      16px
      80px;
  }


  /* =======================================================
     背景ハート
  ======================================================= */

  .recruit-section::before {
    top:
      20px;

    left:
      5px;

    font-size:
      48px;

    text-shadow:
      52px 42px 0
      rgba(255, 255, 255, .06),
      102px -3px 0
      rgba(255, 255, 255, .04);
  }


  .recruit-section::after {
    right:
      5px;

    bottom:
      22px;

    font-size:
      28px;

    text-shadow:
      -42px -32px 0
      rgba(255, 255, 255, .055),
      -88px 4px 0
      rgba(255, 255, 255, .04);
  }


  /* =======================================================
     HEADING
  ======================================================= */

  .recruit-section .recruit-heading {
    margin:
      0
      auto
      37px !important;
  }


  .recruit-section
  .recruit-heading::before {
    top:
      5px !important;

    left:
      calc(50% - 115px) !important;

    font-size:
      14px !important;
  }


  .recruit-section
  .recruit-heading::after {
    top:
      12px !important;

    right:
      calc(50% - 115px) !important;

    font-size:
      12px !important;
  }


  .recruit-section
  .recruit-heading
  .recruit-en {
    margin:
      0
      auto
      10px !important;

    font-size:
      9px !important;

    letter-spacing:
      .20em !important;
  }


  .recruit-section
  .recruit-heading
  .recruit-title {
    padding-bottom:
      15px !important;

    font-size:
      28px !important;

    letter-spacing:
      .065em !important;

    text-align:
      center !important;
  }


  .recruit-section
  .recruit-heading
  .recruit-title::after {
    width:
      42px !important;

    height:
      3px !important;
  }


  /* =======================================================
     GRID
  ======================================================= */

  .recruit-grid {
    display:
      flex;

    flex-direction:
      column;

    gap:
      38px;
  }


  /* SPでは画像を先 */
  .recruit-image-wrap {
    order:
      1;

    padding:
      0
      0
      11px
      11px;
  }


  .recruit-content {
    order:
      2;
  }


  /* =======================================================
     IMAGE
  ======================================================= */

  .recruit-image-wrap::before {
    width:
      calc(100% - 11px);

    height:
      calc(100% - 11px);

    border-radius:
      12px;
  }


  .recruit-image-wrap::after {
    top:
      -15px;

    right:
      -3px;

    font-size:
      28px;

    text-shadow:
      -19px 4px 0
      rgba(255, 255, 255, .23),
      6px 24px 0
      rgba(255, 255, 255, .14);
  }


  .recruit-image {
    border-radius:
      11px;

    box-shadow:
      0 11px 28px
      rgba(0, 0, 0, .16);
  }


  .recruit-image img {
    height:
      auto;

    aspect-ratio:
      4 / 3;

    object-fit:
      cover;
  }


  /* =======================================================
     COPY
  ======================================================= */

  .recruit-copy {
    margin-bottom:
      27px;
  }


  .recruit-copy > span {
    font-size:
      9px;
  }


  .recruit-copy p {
    font-size:
      18px;

    line-height:
      1.85;
  }


  /* =======================================================
     LIST
  ======================================================= */

  .recruit-list {
    padding:
      5px
      20px
      7px;

    border-top-width:
      3px;

    border-radius:
      10px;

    box-shadow:
      0 10px 26px
      rgba(0, 0, 0, .14);
  }


  .recruit-list::after {
    right:
      12px;

    bottom:
      11px;

    font-size:
      39px;

    text-shadow:
      -24px -12px 0
      rgba(141, 5, 21, .035);
  }


  .recruit-item {
    grid-template-columns:
      34px
      minmax(0, 1fr);

    gap:
      13px;

    padding:
      19px
      1px;
  }


  .recruit-number {
    padding-top:
      3px;

    font-size:
      10px;
  }


  .recruit-label {
    margin-bottom:
      6px;

    font-size:
      10px;
  }


  .recruit-text p {
    font-size:
      16px;

    line-height:
      1.85;

    letter-spacing:
      .025em;
  }

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width: 420px) {

  .recruit-section {
    padding:
      62px
      14px
      72px;
  }


  .recruit-section
  .recruit-heading
  .recruit-title {
    font-size:
      26px !important;
  }


  .recruit-copy p {
    font-size:
      17px;
  }


  .recruit-list {
    padding:
      4px
      17px
      6px;
  }


  .recruit-item {
    grid-template-columns:
      30px
      minmax(0, 1fr);

    gap:
      10px;
  }


  .recruit-text p {
    font-size:
      16px;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

  .recruit-image img {
    transition-duration:
      .01ms !important;
  }

}

/* Block: instagram_feed / sec_1788508833538 */
.fc-instagram-embed-section {
background: var(--bg-base) !important;
color: var(--text-main) !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: "Cinzel", serif !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: "Cinzel", 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(222,197,146,.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;
}
/* Instagram feed multi-post layouts. */
.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(222,197,146,.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 / 0.955 !important;
padding: 0 !important;
background: #050808 !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 / 0.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(16, 23, 24, .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: #101718 !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.is-static {
padding-bottom: 0 !important;
}
@media (max-width: 768px) {
  .fc-instagram-embed-section {
padding: 70px 15px !important;
}
  .fc-instagram-embed-action a {
width: 100% !important;
max-width: 320px !important;
}
  .fc-instagram-embed-card {
padding: 10px !important;
overflow: hidden !important;
}
  .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 / 0.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;
}
}


/* =========================================================
   Page: news / NEWS｜甲府市中小河原のスナックなら｜スナック Bena（ベナ）
========================================================= */

/* Block: news_list_grid / sec_1788571347479 */
/* =========================================================
   NEWS LIST GRID
   Snack Bena
   Logo Color × White × Heart × Pop
========================================================= */

.news-list-grid-section {
position:relative !important;
overflow:hidden !important;
padding:110px 5% 120px !important;

background:
linear-gradient(
135deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

color:#fff !important;
}


/* =========================================================
   BACKGROUND HEART DECORATION
========================================================= */

/* 左下ハート群 */
.news-list-grid-section::before {
content:"♥" !important;

position:absolute !important;
left:4% !important;
bottom:34px !important;
z-index:0 !important;

width:auto !important;
height:auto !important;

background:none !important;

color:rgba(255,255,255,.10) !important;

font-family:Arial,sans-serif !important;
font-size:40px !important;
font-weight:900 !important;
line-height:1 !important;

opacity:1 !important;

transform:rotate(-14deg) !important;

text-shadow:
58px -42px 0 rgba(255,255,255,.065),
124px 6px 0 rgba(255,255,255,.045),
190px -32px 0 rgba(255,255,255,.04) !important;

pointer-events:none !important;
}


/* 右上ハート群 */
.news-list-grid-section::after {
content:"♥" !important;

position:absolute !important;
top:36px !important;
right:4% !important;
z-index:0 !important;

color:rgba(255,255,255,.10) !important;

font-family:Arial,sans-serif !important;
font-size:70px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(14deg) !important;

text-shadow:
-74px 54px 0 rgba(255,255,255,.065),
-152px -6px 0 rgba(255,255,255,.045),
24px 112px 0 rgba(255,255,255,.05) !important;

pointer-events:none !important;
}


/* =========================================================
   HEADER
========================================================= */

.news-section-header {
position:relative !important;
z-index:1 !important;

display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;

max-width:820px !important;

margin:0 auto 54px !important;

text-align:center !important;
}


/* タイトル周辺の小ハート */
.news-section-header::before {
content:"♥" !important;

position:absolute !important;
top:4px !important;
left:18% !important;

color:rgba(255,255,255,.82) !important;

font-family:Arial,sans-serif !important;
font-size:19px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(-14deg) !important;

text-shadow:
16px 12px 0 rgba(255,255,255,.18) !important;

pointer-events:none !important;
}


.news-section-header::after {
content:"♥" !important;

position:absolute !important;
top:24px !important;
right:19% !important;

color:rgba(255,255,255,.74) !important;

font-family:Arial,sans-serif !important;
font-size:16px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(14deg) !important;

text-shadow:
-13px 11px 0 rgba(255,255,255,.15) !important;

pointer-events:none !important;
}


/* =========================================================
   MAIN TITLE
========================================================= */

.news-main-title {
position:relative !important;

display:block !important;

width:max-content !important;
max-width:100% !important;

margin:0 auto 18px !important;
padding:0 0 17px !important;

color:#fff !important;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif !important;

font-size:clamp(30px,4vw,42px) !important;
font-weight:700 !important;
line-height:1.45 !important;

letter-spacing:.06em !important;

text-align:center !important;
}


.news-main-title::after {
content:"" !important;

position:absolute !important;
left:50% !important;
bottom:0 !important;

width:62px !important;
height:5px !important;

margin:0 !important;

border-radius:999px !important;

background:#fff !important;

transform:translateX(-50%) !important;
}


/* =========================================================
   SUB TEXT
========================================================= */

.news-sub-text {
max-width:680px !important;

margin:0 auto !important;

color:rgba(255,255,255,.88) !important;

font-family:
"Noto Sans JP",
-apple-system,
BlinkMacSystemFont,
"Helvetica Neue",
Arial,
sans-serif !important;

font-size:14px !important;
font-weight:400 !important;
line-height:1.95 !important;

letter-spacing:.025em !important;

text-align:center !important;
}


/* =========================================================
   GRID
========================================================= */

.nlg-grid {
position:relative !important;
z-index:1 !important;

width:100% !important;
max-width:1040px !important;

margin:0 auto !important;

display:flex !important;
flex-direction:column !important;

gap:18px !important;
}


/* =========================================================
   CARD
========================================================= */

.nlg-card {
position:relative !important;

display:grid !important;

grid-template-columns:
minmax(260px,34%)
minmax(0,1fr) !important;

min-height:230px !important;

overflow:hidden !important;

background:#fff !important;

border:
1px solid rgba(255,255,255,.28) !important;

border-radius:22px !important;

box-shadow:
0 14px 34px rgba(0,0,0,.16) !important;

color:#40353c !important;

transform:none !important;

transition:
transform .3s ease,
box-shadow .3s ease,
border-color .3s ease !important;
}


/* 左アクセント */
.nlg-card::before {
content:"" !important;

position:absolute !important;
top:0 !important;
left:0 !important;

width:6px !important;
height:100% !important;

background:
linear-gradient(
180deg,
#68065a 0%,
#7a0736 55%,
#8d0515 100%
) !important;

z-index:3 !important;
}


.nlg-card:nth-child(even)::before {
background:
linear-gradient(
180deg,
#8d0515 0%,
#7a0736 55%,
#68065a 100%
) !important;
}


/* 小ハート */
.nlg-card::after {
content:"♥" !important;

position:absolute !important;
right:16px !important;
top:14px !important;
z-index:2 !important;

color:rgba(122,7,54,.075) !important;

font-family:Arial,sans-serif !important;
font-size:24px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(14deg) !important;

text-shadow:
-17px 10px 0 rgba(141,5,21,.045) !important;

pointer-events:none !important;
}


a.nlg-card:hover {
transform:translateY(-4px) !important;

border-color:
rgba(255,255,255,.48) !important;

box-shadow:
0 20px 44px rgba(0,0,0,.21) !important;
}


/* =========================================================
   IMAGE
========================================================= */

.nlg-img,
.nlg-no-img {
position:relative !important;

min-height:230px !important;

background:#f5edf1 !important;

border-right:
1px solid rgba(122,7,54,.09) !important;

border-radius:0 !important;
}


.nlg-img {
overflow:hidden !important;

aspect-ratio:auto !important;
}


.nlg-img::after {
content:"" !important;

position:absolute !important;

inset:0 !important;

background:
linear-gradient(
180deg,
transparent 55%,
rgba(104,6,90,.09) 100%
) !important;

pointer-events:none !important;
}


.nlg-img img {
position:absolute !important;

inset:0 !important;

display:block !important;

width:100% !important;
height:100% !important;

object-fit:cover !important;

filter:none !important;

transform:scale(1) !important;

transition:
transform .55s
cubic-bezier(.25,1,.5,1) !important;
}


.nlg-card:hover .nlg-img img {
transform:scale(1.04) !important;

filter:none !important;
}


/* =========================================================
   NO IMAGE
========================================================= */

.nlg-no-img {
display:flex !important;
align-items:center !important;
justify-content:center !important;

color:#7a0736 !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:11px !important;
font-weight:700 !important;

letter-spacing:.12em !important;
}


/* =========================================================
   BODY
========================================================= */

.nlg-body {
position:relative !important;

min-width:0 !important;

padding:34px 38px !important;

display:flex !important;
flex-direction:column !important;
justify-content:center !important;

text-align:left !important;
}


/* =========================================================
   ARROW
========================================================= */

.nlg-body::after {
content:"→" !important;

position:absolute !important;

right:28px !important;
bottom:22px !important;

display:flex !important;
align-items:center !important;
justify-content:center !important;

width:34px !important;
height:34px !important;

border:
1px solid rgba(122,7,54,.20) !important;

border-radius:50% !important;

background:#fff !important;

color:#7a0736 !important;

font-family:
"Montserrat",
sans-serif !important;

font-size:14px !important;
font-weight:700 !important;

transition:
background .25s ease,
color .25s ease,
transform .25s ease !important;
}


.nlg-card:hover .nlg-body::after {
background:#7a0736 !important;

color:#fff !important;

transform:translateX(3px) !important;
}


/* =========================================================
   META
========================================================= */

.nlg-meta {
margin:
0
0
14px !important;
}


/* =========================================================
   DATE
========================================================= */

.nlg-date {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

min-height:27px !important;

padding:
4px
10px !important;

border:0 !important;

border-radius:999px !important;

background:#7a0736 !important;

color:#fff !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:11px !important;
font-weight:700 !important;
line-height:1.3 !important;

letter-spacing:.08em !important;
}


/* =========================================================
   TITLE
========================================================= */

.nlg-title {
max-width:90% !important;

margin:0 !important;

color:#59424f !important;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif !important;

font-size:
clamp(17px,2vw,21px) !important;

font-weight:700 !important;
line-height:1.75 !important;

letter-spacing:.04em !important;

text-align:left !important;
}


/* =========================================================
   PAGINATION
========================================================= */

.pagination {
position:relative !important;
z-index:1 !important;

display:flex !important;
align-items:center !important;
justify-content:center !important;

gap:8px !important;

margin-top:52px !important;
}


.page-btn {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

min-width:42px !important;
height:42px !important;

padding:0 10px !important;

background:#fff !important;

border:
1px solid rgba(255,255,255,.30) !important;

border-radius:50% !important;

color:#7a0736 !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:11px !important;
font-weight:700 !important;

box-shadow:
0 6px 18px rgba(0,0,0,.12) !important;

transition:
background .25s ease,
color .25s ease,
border-color .25s ease,
transform .25s ease !important;
}


.page-btn.active,
.page-btn:hover {
background:
linear-gradient(
110deg,
#68065a 0%,
#7a0736 55%,
#8d0515 100%
) !important;

border-color:
rgba(255,255,255,.25) !important;

color:#fff !important;

transform:translateY(-2px) !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:900px) {

.news-list-grid-section {
padding:
78px
20px
90px !important;
}


.news-section-header {
margin-bottom:
40px !important;
}


.nlg-grid {
max-width:
720px !important;

gap:
20px !important;
}


.nlg-card {
grid-template-columns:
1fr !important;

min-height:
0 !important;

border-radius:
20px !important;
}


.nlg-card::before {
width:
100% !important;

height:
5px !important;
}


.nlg-img,
.nlg-no-img {
width:
100% !important;

min-height:
0 !important;

aspect-ratio:
16 / 9 !important;

border-right:
0 !important;

border-bottom:
1px solid rgba(122,7,54,.09) !important;
}


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


.nlg-body::after {
right:
20px !important;

bottom:
18px !important;
}


.nlg-title {
max-width:
100% !important;
}

}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width:600px) {

.news-list-grid-section {
padding:
66px
16px
78px !important;
}


/* 背景ハート */
.news-list-grid-section::before {
left:
5px !important;

right:
auto !important;

bottom:
16px !important;

font-size:
27px !important;

text-shadow:
40px -30px 0 rgba(255,255,255,.055),
84px 4px 0 rgba(255,255,255,.04) !important;
}


.news-list-grid-section::after {
top:
20px !important;

right:
-3px !important;

font-size:
48px !important;

text-shadow:
-52px 42px 0 rgba(255,255,255,.06),
-102px -3px 0 rgba(255,255,255,.04) !important;
}


/* HEADER */
.news-section-header {
margin-bottom:
34px !important;
}


.news-section-header::before {
top:
0 !important;

left:
4% !important;

font-size:
14px !important;
}


.news-section-header::after {
top:
18px !important;

right:
5% !important;

font-size:
12px !important;
}


.news-main-title {
padding-bottom:
14px !important;

font-size:
25px !important;
}


.news-main-title::after {
width:
52px !important;

height:
4px !important;
}


.news-sub-text {
font-size:
13px !important;

line-height:
1.9 !important;
}


/* CARD */
.nlg-card {
border-radius:
17px !important;
}


.nlg-card::after {
right:
10px !important;

top:
9px !important;

font-size:
18px !important;
}


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


.nlg-body {
padding:
22px
18px
54px !important;
}


.nlg-date {
font-size:
10px !important;
}


.nlg-title {
font-size:
16px !important;

line-height:
1.7 !important;
}


.nlg-body::after {
right:
16px !important;

bottom:
15px !important;

width:
32px !important;

height:
32px !important;
}


/* PAGINATION */
.pagination {
margin-top:
40px !important;
}


.page-btn {
min-width:
38px !important;

height:
38px !important;
}

}


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

/* Block: news_article_body / sec_1788571650834 */
/* =========================================================
NEWS ARTICLE BODY
Snack Bena
Logo Color × White × Heart × Pop
フォントサイズ調整版
========================================================= */

.news-article-body-section {
position:relative !important;
overflow:hidden !important;
padding:110px 5% 120px !important;

background:
linear-gradient(
135deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

color:#fff !important;
}


/* =========================================================
BACKGROUND HEART DECORATION
========================================================= */

/* 左下ハート群 */
.news-article-body-section::before {
content:"♥" !important;

position:absolute !important;
left:4% !important;
bottom:40px !important;
z-index:0 !important;

width:auto !important;
height:auto !important;

background:none !important;

color:rgba(255,255,255,.10) !important;

font-family:Arial,sans-serif !important;
font-size:40px !important;
font-weight:900 !important;
line-height:1 !important;

opacity:1 !important;

transform:rotate(-14deg) !important;

text-shadow:
58px -42px 0 rgba(255,255,255,.065),
124px 6px 0 rgba(255,255,255,.045),
190px -32px 0 rgba(255,255,255,.04) !important;

pointer-events:none !important;
}


/* 右上ハート群 */
.news-article-body-section::after {
content:"♥" !important;

position:absolute !important;
top:36px !important;
right:4% !important;
z-index:0 !important;

color:rgba(255,255,255,.10) !important;

font-family:Arial,sans-serif !important;
font-size:70px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(14deg) !important;

text-shadow:
-74px 54px 0 rgba(255,255,255,.065),
-152px -6px 0 rgba(255,255,255,.045),
24px 112px 0 rgba(255,255,255,.05) !important;

pointer-events:none !important;
}


/* =========================================================
CONTAINER
========================================================= */

.nab-container {
position:relative !important;
z-index:1 !important;

width:100% !important;
max-width:900px !important;

margin:0 auto !important;
padding:54px 56px 58px !important;

overflow:hidden !important;

background:#fff !important;

border:1px solid rgba(255,255,255,.30) !important;
border-top:0 !important;

border-radius:24px !important;

box-shadow:
0 18px 44px rgba(0,0,0,.18) !important;

color:#40353c !important;
}


/* 上部ロゴカラーライン */
.nab-container::before {
content:"" !important;

position:absolute !important;
top:0 !important;
left:0 !important;

width:100% !important;
height:6px !important;

background:
linear-gradient(
90deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;
}


/* 背景 NEWS */
.nab-container::after {
content:"NEWS" !important;

position:absolute !important;

top:24px !important;
right:28px !important;

color:rgba(122,7,54,.055) !important;

font-family:
"Montserrat",
sans-serif !important;

font-size:clamp(44px,7vw,76px) !important;
font-weight:800 !important;
line-height:1 !important;

letter-spacing:.06em !important;

pointer-events:none !important;
}


/* =========================================================
HEADER
========================================================= */

.nab-header {
position:relative !important;
z-index:1 !important;

padding-bottom:30px !important;
margin-bottom:38px !important;

border-bottom:
1px solid rgba(122,7,54,.12) !important;

text-align:left !important;
}


/* =========================================================
META
========================================================= */

.nab-meta {
margin:
0
0
16px !important;
}


/* =========================================================
DATE
========================================================= */

.nab-date {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

min-height:28px !important;

padding:
4px
11px !important;

border-radius:999px !important;

background:
linear-gradient(
110deg,
#68065a 0%,
#7a0736 55%,
#8d0515 100%
) !important;

color:#fff !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:11px !important;
font-weight:700 !important;
line-height:1.3 !important;

letter-spacing:.08em !important;
}


/* =========================================================
TITLE
========================================================= */

.nab-title {
position:relative !important;
z-index:1 !important;

max-width:760px !important;

margin:0 !important;

color:#7a0736 !important;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif !important;

font-size:
clamp(28px,4vw,40px) !important;

font-weight:700 !important;
line-height:1.6 !important;

letter-spacing:.04em !important;

word-break:normal !important;
line-break:strict !important;
text-wrap:pretty !important;
}


/* =========================================================
MAIN IMAGE
========================================================= */

.nab-main-img-box {
position:relative !important;

margin-bottom:42px !important;

aspect-ratio:16 / 9 !important;

overflow:hidden !important;

background:#fff !important;

border:
1px solid rgba(122,7,54,.12) !important;

border-radius:20px !important;

box-shadow:
0 12px 30px rgba(104,6,90,.10) !important;
}


.nab-main-img-box::after {
content:"" !important;

position:absolute !important;

inset:0 !important;

background:
linear-gradient(
180deg,
transparent 65%,
rgba(104,6,90,.05) 100%
) !important;

pointer-events:none !important;
}


.nab-main-img-box img {
display:block !important;

width:100% !important;
height:100% !important;

object-fit:cover !important;
object-position:center !important;

filter:none !important;

transform:none !important;
}


/* =========================================================
ARTICLE TEXT
========================================================= */

.nab-body-text {
color:#55484f !important;

font-family:
"Noto Sans JP",
-apple-system,
BlinkMacSystemFont,
"Helvetica Neue",
Arial,
sans-serif !important;

font-size:16px !important;
font-weight:400 !important;
line-height:2 !important;

letter-spacing:.02em !important;

word-break:normal !important;
line-break:strict !important;
overflow-wrap:break-word !important;
text-wrap:pretty !important;
}


.nab-body-text p {
margin:
0
0
1.6em !important;
}


.nab-body-text p:last-child {
margin-bottom:0 !important;
}


/* =========================================================
ARTICLE HEADINGS
========================================================= */

.nab-body-text h2,
.nab-body-text h3,
.nab-body-text h4 {
position:relative !important;

margin:
2.2em
0
.9em !important;

padding:
0
0
12px !important;

color:#7a0736 !important;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif !important;

font-weight:700 !important;
line-height:1.55 !important;

letter-spacing:.035em !important;

word-break:normal !important;
line-break:strict !important;
text-wrap:pretty !important;
}


.nab-body-text h2 {
font-size:24px !important;
}


.nab-body-text h3 {
font-size:20px !important;
}


.nab-body-text h4 {
font-size:18px !important;
}


/* 見出し下ライン */
.nab-body-text h2::after,
.nab-body-text h3::after,
.nab-body-text h4::after {
content:"" !important;

position:absolute !important;

left:0 !important;
bottom:0 !important;

width:46px !important;
height:3px !important;

border-radius:999px !important;

background:
linear-gradient(
90deg,
#68065a 0%,
#7a0736 55%,
#8d0515 100%
) !important;
}


/* =========================================================
TEXT ELEMENTS
========================================================= */

.nab-body-text a {
color:#7a0736 !important;

font-weight:600 !important;

text-decoration:underline !important;

text-decoration-color:
rgba(122,7,54,.28) !important;

text-underline-offset:4px !important;

border:0 !important;
}


.nab-body-text a:hover {
color:#8d0515 !important;
}


.nab-body-text strong {
color:#7a0736 !important;

font-weight:700 !important;
}


.nab-body-text ul,
.nab-body-text ol {
margin:
1.3em
0
1.6em !important;

padding-left:
1.6em !important;
}


.nab-body-text li {
margin:
.4em
0 !important;

font-size:
16px !important;

line-height:
1.9 !important;
}


/* =========================================================
BLOCKQUOTE
========================================================= */

.nab-body-text blockquote {
margin:
1.8em
0 !important;

padding:
18px
22px !important;

border-left:
4px solid #7a0736 !important;

border-radius:
0
14px
14px
0 !important;

background:
rgba(122,7,54,.055) !important;

color:#6f5965 !important;

font-size:16px !important;
line-height:1.9 !important;
}


/* =========================================================
FOOTER NAV
========================================================= */

.nab-footer-nav {
margin-top:50px !important;

padding-top:28px !important;

border-top:
1px dashed rgba(122,7,54,.20) !important;

text-align:center !important;
}


/* =========================================================
BACK BUTTON
========================================================= */

.btn-nab-back {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

gap:8px !important;

min-width:220px !important;
min-height:50px !important;

padding:
0
30px !important;

background:#fff !important;

border:
1px solid rgba(122,7,54,.25) !important;

border-radius:999px !important;

box-shadow:
0 8px 20px rgba(104,6,90,.10) !important;

color:#7a0736 !important;

font-family:
"Noto Sans JP",
"Montserrat",
sans-serif !important;

font-size:14px !important;
font-weight:700 !important;
line-height:1.3 !important;

letter-spacing:.04em !important;

text-decoration:none !important;

transition:
background .25s ease,
color .25s ease,
border-color .25s ease,
transform .25s ease,
box-shadow .25s ease !important;
}


.btn-nab-back:hover {
background:
linear-gradient(
110deg,
#68065a 0%,
#7a0736 55%,
#8d0515 100%
) !important;

border-color:transparent !important;

color:#fff !important;

transform:
translateY(-2px) !important;

box-shadow:
0 10px 26px rgba(104,6,90,.22) !important;
}


/* =========================================================
SMARTPHONE
========================================================= */

@media (max-width:768px) {

.news-article-body-section {
padding:
68px
16px
78px !important;
}


/* 背景ハート */
.news-article-body-section::before {
left:
5px !important;

right:
auto !important;

bottom:
18px !important;

font-size:
28px !important;

text-shadow:
42px -32px 0 rgba(255,255,255,.055),
88px 4px 0 rgba(255,255,255,.04) !important;
}


.news-article-body-section::after {
top:
20px !important;

right:
-3px !important;

font-size:
48px !important;

text-shadow:
-52px 42px 0 rgba(255,255,255,.06),
-102px -3px 0 rgba(255,255,255,.04) !important;
}


/* CONTAINER */
.nab-container {
padding:
34px
24px
38px !important;

border-radius:
20px !important;
}


.nab-container::after {
top:
20px !important;

right:
18px !important;

font-size:
46px !important;
}


/* HEADER */
.nab-header {
padding-bottom:
22px !important;

margin-bottom:
28px !important;
}


.nab-meta {
margin-bottom:
13px !important;
}


.nab-date {
min-height:
27px !important;

font-size:
10px !important;
}


.nab-title {
font-size:
25px !important;

line-height:
1.55 !important;

letter-spacing:
.035em !important;
}


/* IMAGE */
.nab-main-img-box {
aspect-ratio:
4 / 3 !important;

margin-bottom:
28px !important;

border-radius:
16px !important;
}


/* BODY */
.nab-body-text {
font-size:
16px !important;

line-height:
1.9 !important;

letter-spacing:
.015em !important;
}


.nab-body-text p {
margin-bottom:
1.5em !important;
}


.nab-body-text h2,
.nab-body-text h3,
.nab-body-text h4 {
margin:
2em
0
.85em !important;

padding-bottom:
10px !important;
}


.nab-body-text h2 {
font-size:
22px !important;
}


.nab-body-text h3 {
font-size:
19px !important;
}


.nab-body-text h4 {
font-size:
17px !important;
}


.nab-body-text li {
font-size:
16px !important;

line-height:
1.85 !important;
}


.nab-body-text blockquote {
padding:
16px
18px !important;

font-size:
16px !important;

line-height:
1.85 !important;
}


.nab-footer-nav {
margin-top:
38px !important;

padding-top:
22px !important;
}


.btn-nab-back {
width:
100% !important;

max-width:
320px !important;

min-height:
50px !important;

font-size:
14px !important;
}

}


/* =========================================================
SMALL SMARTPHONE
========================================================= */

@media (max-width:480px) {

.news-article-body-section {
padding:
58px
14px
66px !important;
}


.nab-container {
padding:
30px
19px
32px !important;

border-radius:
17px !important;
}


.nab-container::before {
height:
5px !important;
}


.nab-container::after {
top:
18px !important;

right:
12px !important;

font-size:
38px !important;
}


.nab-header {
padding-bottom:
20px !important;

margin-bottom:
24px !important;
}


.nab-title {
font-size:
23px !important;

line-height:
1.55 !important;

letter-spacing:
.025em !important;
}


.nab-main-img-box {
margin-bottom:
24px !important;

border-radius:
14px !important;
}


.nab-body-text {
font-size:
16px !important;

line-height:
1.85 !important;

letter-spacing:
.01em !important;
}


.nab-body-text h2 {
font-size:
21px !important;
}


.nab-body-text h3 {
font-size:
19px !important;
}


.nab-body-text h4 {
font-size:
17px !important;
}


.nab-body-text blockquote {
padding:
15px
16px !important;
}

}


/* =========================================================
   Page: concept / CONCEPT｜甲府市中小河原のスナックなら｜スナック Bena（ベナ）
========================================================= */

/* Block: hero_page / sec_1785932055215 */
/* =========================================================
   PAGE HERO
   Snack Bena
   Background Image × Soft Purple Overlay × Heart
   Dark Text
========================================================= */

.page-hero-wrapper {
position:relative !important;

display:flex !important;
align-items:center !important;
justify-content:center !important;

width:100% !important;
min-height:460px !important;

padding:
165px
5%
105px !important;

overflow:hidden !important;

/* 背景画像はHTML・管理画面側の指定をそのまま使用 */
background-color:#f7f2f5 !important;
background-size:cover !important;
background-position:center center !important;
background-repeat:no-repeat !important;

color:#2b2028 !important;

text-align:center !important;
}


/* =========================================================
   SOFT OVERLAY
   背景画像を残しつつ、ほんのり紫
========================================================= */

.page-hero-wrapper::before {
content:"" !important;

position:absolute !important;

inset:0 !important;

z-index:0 !important;

display:block !important;

background:
linear-gradient(
135deg,
rgba(255,255,255,.60) 0%,
rgba(255,250,252,.48) 38%,
rgba(122,7,54,.16) 100%
) !important;

pointer-events:none !important;
}


/* =========================================================
   RIGHT TOP HEARTS
========================================================= */

.page-hero-wrapper::after {
content:"♥" !important;

position:absolute !important;

top:42px !important;
right:5% !important;

z-index:1 !important;

display:block !important;

width:auto !important;
height:auto !important;

background:none !important;

color:
rgba(122,7,54,.14) !important;

font-family:
Arial,
sans-serif !important;

font-size:70px !important;
font-weight:900 !important;
line-height:1 !important;

transform:
rotate(14deg) !important;

text-shadow:
-76px 54px 0 rgba(141,5,21,.09),
-152px -6px 0 rgba(104,6,90,.065),
26px 116px 0 rgba(122,7,54,.075) !important;

pointer-events:none !important;
}


/* =========================================================
   DECORATION LAYER
========================================================= */

.ph-overlay {
position:absolute !important;

inset:0 !important;

z-index:1 !important;

display:block !important;

background:
radial-gradient(
circle at 16% 82%,
rgba(104,6,90,.10) 0%,
rgba(104,6,90,.035) 15%,
transparent 32%
) !important;

pointer-events:none !important;
}


/* 左下ハート群 */
.ph-overlay::before {
content:"♥" !important;

position:absolute !important;

left:5% !important;
bottom:42px !important;

color:
rgba(122,7,54,.13) !important;

font-family:
Arial,
sans-serif !important;

font-size:42px !important;
font-weight:900 !important;
line-height:1 !important;

transform:
rotate(-14deg) !important;

text-shadow:
60px -46px 0 rgba(141,5,21,.08),
128px 6px 0 rgba(104,6,90,.055),
196px -34px 0 rgba(122,7,54,.06) !important;

pointer-events:none !important;
}


/* 左上の小ハート */
.ph-overlay::after {
content:"♥" !important;

position:absolute !important;

top:28% !important;
left:12% !important;

color:
rgba(104,6,90,.12) !important;

font-family:
Arial,
sans-serif !important;

font-size:27px !important;
font-weight:900 !important;
line-height:1 !important;

transform:
rotate(-12deg) !important;

text-shadow:
34px 24px 0 rgba(141,5,21,.07) !important;

pointer-events:none !important;
}


/* =========================================================
   CONTAINER
========================================================= */

.ph-container {
position:relative !important;

z-index:2 !important;

display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;

width:100% !important;
max-width:860px !important;

margin:0 auto !important;

text-align:center !important;
}


/* =========================================================
   TOP ACCENT
========================================================= */

.ph-container::before {
content:"" !important;

display:block !important;

width:34px !important;
height:6px !important;

margin:
0
auto
24px !important;

border-radius:999px !important;

background:
linear-gradient(
90deg,
#68065a 0%,
#7a0736 55%,
#8d0515 100%
) !important;
}


/* =========================================================
   TITLE
========================================================= */

.ph-title {
position:relative !important;

display:block !important;

width:100% !important;
max-width:820px !important;

margin:0 auto !important;
padding:0 !important;

border:0 !important;

background:none !important;

color:#2b2028 !important;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif !important;

font-size:
clamp(36px,5vw,56px) !important;

font-weight:700 !important;
line-height:1.45 !important;

letter-spacing:.08em !important;

text-transform:none !important;

text-align:center !important;

-webkit-background-clip:unset !important;
background-clip:unset !important;

-webkit-text-fill-color:currentColor !important;

animation:none !important;

text-shadow:
0 2px 10px rgba(255,255,255,.48) !important;
}


/* タイトル下ライン */
.ph-title::after {
content:"" !important;

display:block !important;

width:68px !important;
height:4px !important;

margin:
25px
auto
0 !important;

border-radius:999px !important;

background:
linear-gradient(
90deg,
#68065a 0%,
#7a0736 55%,
#8d0515 100%
) !important;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.ph-desc {
display:block !important;

width:100% !important;
max-width:680px !important;

margin:
22px
auto
0 !important;

color:#4f4149 !important;

font-family:
"Noto Sans JP",
-apple-system,
BlinkMacSystemFont,
"Helvetica Neue",
Arial,
sans-serif !important;

font-size:14px !important;
font-weight:500 !important;
line-height:2 !important;

letter-spacing:.04em !important;

text-transform:none !important;

text-align:center !important;

text-shadow:
0 1px 8px rgba(255,255,255,.55) !important;
}


/* =========================================================
   TABLET / SMARTPHONE
========================================================= */

@media (max-width:768px) {

.page-hero-wrapper {
min-height:390px !important;

padding:
125px
20px
78px !important;

background-position:center center !important;
}


/* SPでは少しだけ白を強めて文字を読みやすく */
.page-hero-wrapper::before {
background:
linear-gradient(
135deg,
rgba(255,255,255,.66) 0%,
rgba(255,250,252,.54) 42%,
rgba(122,7,54,.14) 100%
) !important;
}


/* 右上ハート */
.page-hero-wrapper::after {
top:24px !important;
right:-2px !important;

font-size:50px !important;

text-shadow:
-54px 42px 0 rgba(141,5,21,.08),
-106px -3px 0 rgba(104,6,90,.055) !important;
}


/* 左下ハート */
.ph-overlay::before {
left:6px !important;
bottom:20px !important;

font-size:29px !important;

text-shadow:
43px -32px 0 rgba(141,5,21,.075),
90px 4px 0 rgba(104,6,90,.05) !important;
}


.ph-overlay::after {
top:25% !important;
left:6% !important;

font-size:20px !important;

text-shadow:
25px 18px 0 rgba(141,5,21,.05) !important;
}


.ph-container {
max-width:680px !important;
}


.ph-container::before {
width:30px !important;
height:5px !important;

margin-bottom:19px !important;
}


.ph-title {
font-size:32px !important;

line-height:1.45 !important;

letter-spacing:.065em !important;
}


.ph-title::after {
width:56px !important;
height:4px !important;

margin-top:20px !important;
}


.ph-desc {
margin-top:18px !important;

font-size:13px !important;
line-height:1.9 !important;

letter-spacing:.03em !important;
}

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width:480px) {

.page-hero-wrapper {
min-height:370px !important;

padding:
115px
18px
70px !important;
}


.page-hero-wrapper::before {
background:
linear-gradient(
135deg,
rgba(255,255,255,.70) 0%,
rgba(255,250,252,.58) 45%,
rgba(122,7,54,.13) 100%
) !important;
}


.page-hero-wrapper::after {
top:20px !important;

font-size:44px !important;
}


.ph-overlay::before {
font-size:25px !important;
}


.ph-container::before {
margin-bottom:17px !important;
}


.ph-title {
font-size:28px !important;

letter-spacing:.055em !important;
}


.ph-title::after {
width:50px !important;

margin-top:18px !important;
}


.ph-desc {
margin-top:16px !important;

font-size:13px !important;
line-height:1.85 !important;
}

}

/* Block: custom_html / sec_1788507889125 */
/* =========================================================
   SYSTEM / 料金
   Snack Bena
   Logo Color × White × Heart × Pop
========================================================= */

.system-section,
.system-section * {
box-sizing:border-box;
}

.system-section {
position:relative;
width:100%;
overflow:hidden;

padding:110px 24px 120px;

background:
linear-gradient(
135deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
);

color:#fff;
}


/* =========================================================
   BACKGROUND HEART DECORATION
========================================================= */

/* 右上ハート群 */
.system-section::before {
content:"♥";
position:absolute;
top:40px;
right:5%;
z-index:0;

width:auto;
height:auto;

background:none;

color:rgba(255,255,255,.10);

font-family:Arial,sans-serif;
font-size:68px;
font-weight:900;
line-height:1;

opacity:1;

transform:rotate(14deg);

text-shadow:
-72px 52px 0 rgba(255,255,255,.065),
-148px -6px 0 rgba(255,255,255,.045),
22px 112px 0 rgba(255,255,255,.05);

pointer-events:none;
}


/* 左下ハート群 */
.system-section::after {
content:"♥";
position:absolute;
left:4%;
bottom:32px;
z-index:0;

width:auto;
height:auto;

border:0;
border-radius:0;

color:rgba(255,255,255,.10);

font-family:Arial,sans-serif;
font-size:40px;
font-weight:900;
line-height:1;

transform:rotate(-14deg);

text-shadow:
58px -42px 0 rgba(255,255,255,.065),
124px 7px 0 rgba(255,255,255,.045),
188px -30px 0 rgba(255,255,255,.04);

pointer-events:none;
}


/* =========================================================
   INNER
========================================================= */

.system-inner {
position:relative;
z-index:1;

width:100%;
max-width:920px;

margin:0 auto;
}


/* =========================================================
   HEADING
========================================================= */

.system-heading {
position:relative;

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

width:100%;

margin:0 auto 52px;

text-align:center;
}


/* 見出し周りの小ハート */
.system-heading::before {
content:"♥";
position:absolute;
top:4px;
left:17%;

color:rgba(255,255,255,.80);

font-family:Arial,sans-serif;
font-size:20px;
font-weight:900;
line-height:1;

transform:rotate(-14deg);

text-shadow:
18px 13px 0 rgba(255,255,255,.18);

pointer-events:none;
}

.system-heading::after {
content:"♥";
position:absolute;
top:24px;
right:18%;

color:rgba(255,255,255,.74);

font-family:Arial,sans-serif;
font-size:17px;
font-weight:900;
line-height:1;

transform:rotate(14deg);

text-shadow:
-14px 12px 0 rgba(255,255,255,.16);

pointer-events:none;
}


/* =========================================================
   EN LABEL
========================================================= */

.system-en {
display:inline-flex;
align-items:center;
justify-content:center;

width:max-content;
min-height:28px;

margin:0 auto 13px;
padding:5px 14px;

border-radius:999px;

background:#fff;

color:#7a0736;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif;

font-size:10px;
font-weight:700;
line-height:1;

letter-spacing:.16em;

text-align:center;

box-shadow:
0 5px 16px rgba(0,0,0,.10);
}


/* =========================================================
   TITLE
========================================================= */

.system-title {
position:relative;

display:flex;
align-items:center;
justify-content:center;
flex-wrap:wrap;

gap:10px;

width:max-content;
max-width:100%;

margin:0 auto;
padding:0 0 17px;

color:#fff;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif;

font-size:clamp(28px,4vw,40px);
font-weight:700;
line-height:1.45;

letter-spacing:.06em;

text-align:center;
}


.system-title::after {
content:"";

position:absolute;
left:50%;
bottom:0;

width:62px;
height:5px;

border-radius:999px;

background:#fff;

transform:translateX(-50%);
}


/* =========================================================
   TAX
========================================================= */

.system-tax {
display:inline-flex;
align-items:center;
justify-content:center;

min-height:24px;

padding:3px 9px;

border-radius:999px;

background:#fff;

color:#7a0736;

font-family:
"Noto Sans JP",
sans-serif;

font-size:10px;
font-weight:700;
line-height:1;

letter-spacing:.03em;

white-space:nowrap;
}


/* =========================================================
   CARD
========================================================= */

.system-card {
position:relative;

display:grid;

gap:14px;

width:100%;

margin:0;
padding:0;

border:0;

background:transparent;
}


.system-card::before,
.system-card::after {
display:none;
}


/* =========================================================
   ROW
========================================================= */

.system-row {
position:relative;

display:grid;

grid-template-columns:
minmax(0,1fr) auto;

gap:28px;

align-items:center;

min-height:88px;

padding:20px 24px 20px 28px;

overflow:hidden;

border:
1px solid rgba(255,255,255,.24);

border-radius:20px;

background:#fff;

box-shadow:
0 12px 32px rgba(0,0,0,.16);

transition:
transform .3s ease,
box-shadow .3s ease,
border-color .3s ease;
}


/* 左アクセント */
.system-row::before {
content:"";

position:absolute;
top:0;
left:0;

width:6px;
height:100%;

border-radius:
20px 0 0 20px;

background:
linear-gradient(
180deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
);
}


/* 偶数行 */
.system-row:nth-child(even) {
background:#fff;
}


.system-row:nth-child(even)::before {
background:
linear-gradient(
180deg,
#8d0515 0%,
#7a0736 55%,
#68065a 100%
);
}


.system-row:hover {
transform:translateX(4px);

border-color:
rgba(255,255,255,.50);

box-shadow:
0 16px 38px rgba(0,0,0,.20);
}


/* =========================================================
   NAME
========================================================= */

.system-name {
display:flex;
align-items:center;

gap:14px;

min-width:0;

color:#59424f;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif;

font-size:clamp(17px,2vw,20px);
font-weight:700;
line-height:1.6;

letter-spacing:.055em;
}


/* =========================================================
   CATEGORY
========================================================= */

.system-category {
position:relative;

display:inline-flex;
align-items:center;

min-height:26px;

padding:4px 10px;

border-radius:999px;

background:#7a0736;

color:#fff;

font-family:
"Noto Sans JP",
sans-serif;

font-size:11px;
font-weight:600;
line-height:1.4;

letter-spacing:.03em;

white-space:nowrap;
}


.system-category::before {
display:none;
}


/* =========================================================
   PRICE
========================================================= */

.system-price {
display:inline-flex;
align-items:baseline;
justify-content:flex-end;

min-width:145px;

padding:9px 15px;

border:
1px solid rgba(122,7,54,.18);

border-radius:14px;

background:
linear-gradient(
135deg,
#fff 0%,
#f9eef4 100%
);

color:#7a0736;

font-family:
"Montserrat",
"Helvetica Neue",
Arial,
sans-serif;

font-size:clamp(24px,3vw,31px);
font-weight:700;
line-height:1.2;

letter-spacing:.01em;

white-space:nowrap;
}


.system-price span {
margin-left:3px;

color:#8d0515;

font-family:
"Noto Sans JP",
sans-serif;

font-size:12px;
font-weight:600;

letter-spacing:.02em;
}


/* =========================================================
   NOTES
========================================================= */

.system-notes {
position:relative;

margin:26px 0 0;

padding:18px 22px 18px 46px;

border-radius:16px;

background:rgba(255,255,255,.96);

box-shadow:
0 10px 28px rgba(0,0,0,.10);

text-align:left;
}


.system-notes::before {
content:"!";

position:absolute;
top:18px;
left:18px;

display:flex;
align-items:center;
justify-content:center;

width:20px;
height:20px;

border-radius:50%;

background:#7a0736;

color:#fff;

font-family:
"Montserrat",
sans-serif;

font-size:11px;
font-weight:800;
line-height:1;
}


.system-notes p {
margin:0;

color:#66515f;

font-family:
"Noto Sans JP",
sans-serif;

font-size:12px;
font-weight:400;
line-height:1.8;

letter-spacing:.025em;
}


.system-notes p + p {
margin-top:5px;
}


/* =========================================================
   TABLET / SMARTPHONE
========================================================= */

@media (max-width:768px) {

.system-section {
padding:76px 18px 84px;
}


/* 背景ハート */
.system-section::before {
top:22px;
right:-3px;

font-size:48px;

text-shadow:
-52px 42px 0 rgba(255,255,255,.06),
-102px -3px 0 rgba(255,255,255,.04);
}


.system-section::after {
left:5px;
bottom:18px;

font-size:28px;

text-shadow:
42px -32px 0 rgba(255,255,255,.055),
88px 4px 0 rgba(255,255,255,.04);
}


/* 見出しハート */
.system-heading::before {
left:3%;

font-size:16px;

text-shadow:
14px 10px 0 rgba(255,255,255,.16);
}


.system-heading::after {
right:4%;

font-size:14px;

text-shadow:
-10px 9px 0 rgba(255,255,255,.14);
}


.system-heading {
margin-bottom:38px;
}


.system-en {
margin-bottom:11px;

font-size:9px;
}


.system-title {
gap:8px;

padding-bottom:14px;

font-size:25px;
}


.system-title::after {
width:52px;
height:4px;
}


.system-tax {
min-height:22px;

padding:3px 8px;

font-size:9px;
}


.system-card {
gap:12px;
}


.system-row {
min-height:82px;

padding:
17px 18px 17px 22px;

gap:16px;

border-radius:17px;
}


.system-row::before {
width:5px;

border-radius:
17px 0 0 17px;
}


.system-row:hover {
transform:none;
}


.system-name {
gap:9px;

font-size:16px;
}


.system-category {
min-height:24px;

padding:3px 8px;

font-size:10px;
}


.system-price {
min-width:125px;

padding:8px 12px;

border-radius:12px;

font-size:22px;
}


.system-price span {
font-size:10px;
}


.system-notes {
margin-top:20px;

padding:
16px 16px 16px 42px;

border-radius:14px;
}


.system-notes::before {
top:16px;
left:15px;

width:19px;
height:19px;
}


.system-notes p {
font-size:11px;

line-height:1.75;
}

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width:480px) {

.system-section {
padding:64px 15px 72px;
}


.system-heading {
margin-bottom:32px;
}


.system-title {
font-size:22px;
}


.system-row {
grid-template-columns:
minmax(0,1fr) auto;

min-height:78px;

padding:
15px 14px 15px 19px;

gap:10px;
}


.system-name {
flex-direction:column;

align-items:flex-start;

gap:4px;

font-size:15px;

line-height:1.45;
}


.system-category {
font-size:9px;
}


.system-price {
min-width:105px;

padding:8px 10px;

font-size:19px;
}


.system-price span {
font-size:9px;
}


.system-notes {
padding:
15px 14px 15px 40px;
}

}


/* =========================================================
   Page: footer / FOOTER ページ
========================================================= */

/* Block: global_footer / sec_1782112173284 */
/* =========================================================
   GLOBAL FOOTER
   Snack Bena
   Logo Color × White × Heart × Pop
========================================================= */

.global-footer {
position:relative !important;
overflow:hidden !important;
padding:88px 5% 72px !important;

background:
linear-gradient(
135deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

color:#fff !important;

border:0 !important;

text-align:center !important;
}


/* =========================================================
   BACKGROUND HEART DECORATION
========================================================= */

/* 右上ハート群 */
.global-footer::before {
content:"♥" !important;

position:absolute !important;
top:34px !important;
right:4% !important;

width:auto !important;
height:auto !important;

border-radius:0 !important;

background:none !important;

color:rgba(255,255,255,.11) !important;

font-family:Arial,sans-serif !important;
font-size:78px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(14deg) !important;

text-shadow:
-82px 58px 0 rgba(255,255,255,.070),
-168px -8px 0 rgba(255,255,255,.045),
24px 124px 0 rgba(255,255,255,.050) !important;

pointer-events:none !important;
}


/* 左下ハート群 */
.global-footer::after {
content:"♥" !important;

position:absolute !important;
left:5% !important;
bottom:34px !important;

width:auto !important;
height:auto !important;

background:none !important;

color:rgba(255,255,255,.10) !important;

font-family:Arial,sans-serif !important;
font-size:42px !important;
font-weight:900 !important;
line-height:1 !important;

opacity:1 !important;

transform:rotate(-14deg) !important;

text-shadow:
60px -46px 0 rgba(255,255,255,.065),
128px 6px 0 rgba(255,255,255,.045),
196px -34px 0 rgba(255,255,255,.040) !important;

pointer-events:none !important;
}


/* =========================================================
   INNER
========================================================= */

.footer-simple-inner {
position:relative !important;
z-index:1 !important;

width:100% !important;
max-width:1100px !important;

margin:0 auto !important;

display:flex !important;
flex-direction:column !important;
align-items:center !important;
justify-content:center !important;

text-align:center !important;
}


.footer-nav-wrap {
display:block !important;
}


/* =========================================================
   BRAND
========================================================= */

.footer-nav-brand {
display:block !important;

width:100% !important;

margin:0 0 38px !important;

text-align:center !important;
}


.footer-nav-brand h2 {
position:relative !important;

display:inline-block !important;

margin:0 !important;
padding:0 0 19px !important;

color:#fff !important;

font-family:
"Shippori Mincho",
"Noto Serif JP",
"Yu Mincho",
"Hiragino Mincho ProN",
serif !important;

font-size:clamp(34px,5vw,52px) !important;
font-weight:700 !important;
line-height:1.4 !important;

letter-spacing:.07em !important;

text-align:center !important;
}


/* 店名下ライン */
.footer-nav-brand h2::after {
content:"" !important;

position:absolute !important;
left:50% !important;
bottom:0 !important;

width:60px !important;
height:4px !important;

border-radius:999px !important;

background:#fff !important;

transform:translateX(-50%) !important;
}


/* 店名横ハート */
.footer-nav-brand h2::before {
content:"♥" !important;

position:absolute !important;
top:-7px !important;
right:-34px !important;

color:rgba(255,255,255,.88) !important;

font-family:Arial,sans-serif !important;
font-size:21px !important;
font-weight:900 !important;
line-height:1 !important;

transform:rotate(14deg) !important;

text-shadow:
13px 13px 0 rgba(255,255,255,.20) !important;

pointer-events:none !important;
}


/* =========================================================
   NAVIGATION
========================================================= */

.footer-nav {
display:flex !important;
flex-wrap:wrap !important;
align-items:center !important;
justify-content:center !important;

gap:12px 30px !important;

width:100% !important;

margin:0 !important;
padding:0 !important;

text-align:center !important;
}


.footer-nav-link {
position:relative !important;

display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

min-height:40px !important;

padding:6px 4px !important;

color:rgba(255,255,255,.88) !important;

font-family:
"Noto Sans JP",
"Montserrat",
sans-serif !important;

font-size:14px !important;
font-weight:600 !important;
line-height:1.4 !important;

letter-spacing:.045em !important;

text-align:center !important;
text-decoration:none !important;

transition:
color .25s ease,
opacity .25s ease !important;
}


.footer-nav-link::after {
content:"" !important;

position:absolute !important;
left:50% !important;
bottom:2px !important;

width:0 !important;
height:3px !important;

border-radius:999px !important;

background:#fff !important;

transform:translateX(-50%) !important;

transition:width .25s ease !important;
}


.footer-nav-link:hover {
color:#fff !important;

opacity:1 !important;
}


.footer-nav-link:hover::after {
width:26px !important;
}


/* =========================================================
   COPYRIGHT
========================================================= */

.footer-copy-text,
.footer-copy {
position:relative !important;
z-index:1 !important;

padding:21px 20px !important;

background:#57044c !important;

color:rgba(255,255,255,.72) !important;

border:0 !important;
border-top:1px solid rgba(255,255,255,.10) !important;

font-family:
"Montserrat",
"Noto Sans JP",
sans-serif !important;

font-size:11px !important;
font-weight:500 !important;
line-height:1.6 !important;

letter-spacing:.07em !important;

text-align:center !important;
}


/* =========================================================
   FLOATING ACTIONS
========================================================= */

.fc-floating-actions {
position:fixed !important;

right:22px !important;
bottom:22px !important;

z-index:1800 !important;

display:flex !important;
flex-direction:column !important;

gap:10px !important;

pointer-events:none !important;
}


.fc-floating-action {
pointer-events:auto !important;

display:inline-flex !important;
align-items:center !important;
justify-content:center !important;

gap:8px !important;

min-width:145px !important;
min-height:48px !important;

padding:0 18px !important;

border:1px solid rgba(122,7,54,.20) !important;
border-radius:999px !important;

background:rgba(255,255,255,.97) !important;

color:#7a0736 !important;

font-family:
"Noto Sans JP",
"Montserrat",
sans-serif !important;

font-size:12px !important;
font-weight:700 !important;
line-height:1.2 !important;

letter-spacing:.04em !important;

text-decoration:none !important;

box-shadow:
0 8px 24px rgba(43,32,40,.14) !important;

backdrop-filter:blur(12px) !important;
-webkit-backdrop-filter:blur(12px) !important;

transition:
transform .25s ease,
box-shadow .25s ease,
background .25s ease,
color .25s ease !important;
}


.fc-floating-action:hover {
background:#fff !important;

color:#68065a !important;

transform:translateY(-2px) !important;

box-shadow:
0 12px 28px rgba(43,32,40,.20) !important;
}


/* =========================================================
   RESERVE
========================================================= */

.fc-floating-reserve {
border-color:transparent !important;

background:
linear-gradient(
110deg,
#68065a 0%,
#7a0736 52%,
#8d0515 100%
) !important;

color:#fff !important;

box-shadow:
0 8px 24px rgba(104,6,90,.24) !important;
}


.fc-floating-reserve:hover {
background:
linear-gradient(
110deg,
#57044c 0%,
#68065a 52%,
#7a0736 100%
) !important;

color:#fff !important;

box-shadow:
0 12px 28px rgba(104,6,90,.30) !important;
}


/* =========================================================
   LINE
   ※ LINEのみサービス固有色を維持
========================================================= */

.fc-floating-line {
border-color:rgba(6,199,85,.28) !important;

color:#079447 !important;
}


.fc-floating-line:hover {
background:#f2fff7 !important;

color:#07883f !important;
}


/* =========================================================
   INSTAGRAM
========================================================= */

.fc-floating-instagram {
border-color:rgba(122,7,54,.22) !important;

color:#7a0736 !important;
}


.fc-floating-instagram:hover {
background:#fff !important;

color:#68065a !important;
}


/* =========================================================
   SMARTPHONE
========================================================= */

@media (max-width:768px) {

.global-footer {
padding:68px 20px 104px !important;
}


/* 背景ハート */
.global-footer::before {
top:20px !important;
right:-3px !important;

font-size:54px !important;

text-shadow:
-56px 46px 0 rgba(255,255,255,.065),
-112px -4px 0 rgba(255,255,255,.040) !important;
}


.global-footer::after {
left:8px !important;
bottom:82px !important;

font-size:30px !important;

text-shadow:
44px -34px 0 rgba(255,255,255,.055),
92px 4px 0 rgba(255,255,255,.040) !important;
}


/* BRAND */
.footer-nav-brand {
margin-bottom:30px !important;
}


.footer-nav-brand h2 {
padding-bottom:16px !important;

font-size:31px !important;
}


.footer-nav-brand h2::after {
width:52px !important;
height:4px !important;
}


.footer-nav-brand h2::before {
top:-5px !important;
right:-27px !important;

font-size:17px !important;

text-shadow:
10px 10px 0 rgba(255,255,255,.18) !important;
}


/* NAV */
.footer-nav {
gap:6px 22px !important;
}


.footer-nav-link {
min-height:36px !important;

font-size:13px !important;
}


/* =========================================================
   MOBILE FLOATING ACTIONS
========================================================= */

.fc-floating-actions {
left:0 !important;
right:0 !important;
bottom:0 !important;

display:flex !important;
flex-direction:row !important;

gap:6px !important;

padding:
8px 8px calc(8px + env(safe-area-inset-bottom)) !important;

background:rgba(255,255,255,.97) !important;

border-top:
1px solid rgba(122,7,54,.12) !important;

box-shadow:
0 -8px 24px rgba(43,32,40,.10) !important;

backdrop-filter:blur(14px) !important;
-webkit-backdrop-filter:blur(14px) !important;
}


.fc-floating-action {
flex:1 1 0 !important;

min-width:0 !important;
min-height:50px !important;

padding:5px 4px !important;

flex-direction:column !important;

gap:3px !important;

border-radius:12px !important;

font-size:10px !important;
line-height:1.2 !important;

box-shadow:none !important;
}


.fc-floating-action i {
font-size:16px !important;
}

}


/* =========================================================
   SMALL SMARTPHONE
========================================================= */

@media (max-width:480px) {

.global-footer {
padding:58px 16px 100px !important;
}


.footer-nav-brand {
margin-bottom:26px !important;
}


.footer-nav-brand h2 {
font-size:27px !important;

letter-spacing:.055em !important;
}


.footer-nav {
gap:3px 16px !important;
}


.footer-nav-link {
font-size:12px !important;
}


.footer-copy-text,
.footer-copy {
padding:19px 14px !important;

font-size:10px !important;
}

}
