/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-10-05 15:03:03
========================================================= */

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

/* Block: global_header / sec_1782112078518 */
.global-header {
position:fixed;
top:0;
left:0;
right:0;
z-index:1000;
width:100%;
min-height:82px;
padding:0 4.5%;
display:grid;
grid-template-columns:auto 1fr auto;
gap:30px;
align-items:center;
background:rgba(255,250,241,.96);
border-bottom:1px solid rgba(111,44,32,.10);
box-shadow:0 6px 24px rgba(84,48,34,.07);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
}

.global-header::before {
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:3px;
background:linear-gradient(
90deg,
#6f2c20 0%,
#98412f 35%,
#c93424 70%,
#98412f 100%
);
opacity:.88;
pointer-events:none;
}

.global-header::after {
content:"";
position:absolute;
top:0;
right:5%;
width:90px;
height:100%;
background:
radial-gradient(circle,rgba(152,65,47,.15) 2px,transparent 2.5px);
background-size:14px 14px;
opacity:.24;
pointer-events:none;
}

.header-logo {
position:relative;
z-index:2;
display:flex;
align-items:center;
min-width:0;
color:#6f2c20;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
font-size:24px;
font-weight:900;
line-height:1.2;
letter-spacing:.07em;
text-transform:none;
white-space:nowrap;
text-decoration:none;
}

.header-logo img {
display:block;
width:auto;
max-width:220px;
max-height:54px;
object-fit:contain;
}

.desktop-nav {
position:relative;
z-index:2;
display:flex;
justify-content:center;
align-items:center;
gap:clamp(20px,2.4vw,34px);
min-width:0;
margin:0;
padding:0;
}

.desktop-nav a {
position:relative;
display:inline-flex;
align-items:center;
min-height:42px;
padding:0 2px;
color:#4c3a32;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
font-size:16px;
font-weight:800;
line-height:1.4;
letter-spacing:.045em;
text-transform:none;
white-space:nowrap;
text-decoration:none;
transition:color .25s ease;
}

.desktop-nav a::after {
content:"";
position:absolute;
left:50%;
bottom:1px;
width:0;
height:3px;
border-radius:999px;
background:linear-gradient(
90deg,
#98412f 0%,
#c93424 100%
);
transform:translateX(-50%);
transition:width .25s ease;
}

.desktop-nav a:hover,
.desktop-nav a.active {
color:#c93424;
}

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

.header-btns {
position:relative;
z-index:2;
display:flex;
align-items:center;
gap:12px;
}

.btn-header-tel {
display:inline-flex;
align-items:center;
gap:7px;
color:#6f2c20;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:20px;
font-weight:800;
letter-spacing:.03em;
white-space:nowrap;
text-decoration:none;
}

.btn-header-tel:hover {
color:#c93424;
}

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

.btn-header-reserve,
.course-list-reserve,
.slf-reserve-btn,
.btn-menu-more,
.btn-recruit-link,
.btn-job-apply,
.btn-submit-contact,
.btn-nab-back {
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:46px;
padding:12px 24px;
border:1px solid #c93424;
border-radius:4px;
background:linear-gradient(
135deg,
#98412f 0%,
#c93424 100%
);
color:#fff;
font-family:"Noto Sans JP","Montserrat",sans-serif;
font-size:13px;
font-weight:900;
line-height:1.3;
letter-spacing:.045em;
text-transform:none;
text-decoration:none;
cursor:pointer;
box-shadow:0 7px 20px rgba(153,45,30,.16);
transition:
transform .25s ease,
background .25s ease,
border-color .25s ease,
box-shadow .25s ease;
}

.btn-header-reserve:hover,
.course-list-reserve:hover,
.slf-reserve-btn:hover,
.btn-menu-more:hover,
.btn-recruit-link:hover,
.btn-job-apply:hover,
.btn-submit-contact:hover,
.btn-nab-back:hover {
background:linear-gradient(
135deg,
#6f2c20 0%,
#a6251b 100%
);
border-color:#a6251b;
color:#fff;
transform:translateY(-2px);
box-shadow:0 10px 26px rgba(153,45,30,.24);
}

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

.menu-trigger {
position:relative;
z-index:2100;
display:none;
align-items:center;
justify-content:center;
width:46px;
height:46px;
padding:0;
border:1px solid rgba(152,65,47,.18);
border-radius:50%;
background:#f6e9dc;
color:#98412f;
font-size:24px;
line-height:1;
cursor:pointer;
box-shadow:0 5px 15px rgba(84,48,34,.08);
transition:
background .25s ease,
color .25s ease,
transform .25s ease;
}

.menu-trigger:hover {
background:#98412f;
color:#fff;
transform:scale(1.04);
}

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

.mobile-nav-overlay {
position:fixed;
inset:0;
z-index:2000;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:0;
padding:100px 24px 50px;
overflow-y:auto;
background:
radial-gradient(circle at 88% 12%,rgba(201,52,36,.10),transparent 30%),
radial-gradient(circle at 8% 88%,rgba(152,65,47,.08),transparent 30%),
linear-gradient(180deg,#fffaf0 0%,#f4eadc 100%);
opacity:0;
visibility:hidden;
transform:translateX(100%);
transition:
opacity .35s ease,
visibility .35s ease,
transform .4s cubic-bezier(.22,1,.36,1);
}

.mobile-nav-overlay::before {
content:"MENU";
display:block;
margin:0 0 26px;
color:#c93424;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:900;
line-height:1;
letter-spacing:.20em;
}

.mobile-nav-overlay::after {
content:"";
position:absolute;
right:22px;
bottom:28px;
width:70px;
height:70px;
background:
radial-gradient(circle,rgba(152,65,47,.22) 2px,transparent 2.5px);
background-size:13px 13px;
opacity:.28;
pointer-events:none;
}

.mobile-nav-overlay.active {
opacity:1;
visibility:visible;
transform:translateX(0);
}

.mobile-nav-overlay a {
position:relative;
display:flex;
align-items:center;
justify-content:center;
width:100%;
max-width:320px;
min-height:58px;
padding:10px 16px;
border-bottom:1px solid rgba(111,44,32,.10);
color:#513a31;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
font-size:19px;
font-weight:900;
line-height:1.4;
letter-spacing:.055em;
text-align:center;
text-decoration:none;
}

.mobile-nav-overlay a:first-of-type {
border-top:1px solid rgba(111,44,32,.10);
}

.mobile-nav-overlay a:hover,
.mobile-nav-overlay a.active {
background:rgba(234,216,198,.45);
color:#c93424;
}

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

@media (max-width:1180px) {
.global-header {
padding:0 24px;
gap:20px;
}

.desktop-nav {
gap:18px;
}

.desktop-nav a {
font-size:12px;
}

.header-logo img {
max-width:190px;
}

.btn-header-tel {
font-size:13px;
}

.btn-header-reserve {
padding:11px 18px;
font-size:12px;
}
}

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

@media (max-width:991px) {
.global-header {
min-height:70px;
padding:0 18px;
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
}

.global-header::after {
display:none;
}

.header-logo {
font-size:20px;
}

.header-logo img {
max-width:190px;
max-height:46px;
}

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

.menu-trigger {
display:inline-flex;
margin-left:auto;
}
}

@media (max-width:600px) {
.global-header {
min-height:66px;
padding:0 14px;
}

.header-logo {
max-width:calc(100vw - 82px);
overflow:hidden;
font-size:18px;
text-overflow:ellipsis;
}

.header-logo img {
width:auto;
max-width:min(200px,calc(100vw - 90px));
max-height:43px;
}

.menu-trigger {
width:42px;
height:42px;
font-size:22px;
}

.mobile-nav-overlay {
padding:84px 18px 40px;
}

.mobile-nav-overlay::before {
margin-bottom:20px;
}

.mobile-nav-overlay a {
max-width:300px;
min-height:54px;
font-size:18px;
}
}

@media (max-width:480px) {
.global-header {
min-height:64px;
padding:0 12px;
}

.header-logo {
font-size:17px;
}

.header-logo img {
max-height:41px;
}

.mobile-nav-overlay a {
font-size:17px;
}
}


/* =========================================================
   Page: index / 肉汁うどん赤助｜静岡県伊豆の国市田京のうどん屋・食堂
========================================================= */

/* Block: hero_main / sec_1782110119323 */
.hero-wrapper.hero-has-slider, .hero-wrapper { height: 82svh !important; min-height: 560px !important; }
/* ヒーロー マルチスライド（④ hero_main） */
.hero-wrapper.hero-has-slider::after { z-index: 2; }
.hero-slider { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; }
.hero-slide-img { position: absolute; inset: 0; width: 100%; height: 100%; background-size: cover; background-position: center; background-repeat: no-repeat; }
.hero-slide-caption { position: absolute; z-index: 3; left: 0; right: 0; bottom: 12%; padding: 0 6vw; text-align: center; color: #fff7ea; text-shadow: 0 2px 18px rgba(0,0,0,0.55); }
.hero-slide-catch { font-family: 'Shippori Mincho', serif; font-size: clamp(1.6rem, 4vw, 3rem); font-weight: 900; letter-spacing: 0.08em; line-height: 1.4; margin: 0 0 12px; }
.hero-slide-sub { font-size: clamp(0.85rem, 1.6vw, 1.05rem); line-height: 1.9; letter-spacing: 0.04em; margin: 0; opacity: 0.95; }
/* zoom系はキーフレームでなくトランジションで拡大/縮小。切替時に元サイズへ即戻りせず、
   拡大/縮小したまま次の画像へ滑らかに繋がる（戻りも --hero-zoom-dur で緩やかに動くのでカク付かない）。 */
.hero-slider-zoom .hero-slide-img,
.hero-slider-zoomout .hero-slide-img { transition: transform var(--hero-zoom-dur, 7s) linear; will-change: transform; }
.hero-slider-zoom .hero-slide-img { transform: scale(1); }
.hero-slider-zoom .hero-slide.hero-zoom-on .hero-slide-img { transform: scale(1.12); }
.hero-slider-zoomout .hero-slide-img { transform: scale(1.12); }
.hero-slider-zoomout .hero-slide.hero-zoom-on .hero-slide-img { transform: scale(1); }
/* 1枚のみ（JSなし）は一度きりのゆっくりズーム（切替が無いのでカク付きなし）。 */
.hero-slider.is-single.hero-slider-zoom .hero-slide-img { animation: fcHeroZoom var(--hero-zoom-dur, 7s) ease forwards; }
.hero-slider.is-single.hero-slider-zoomout .hero-slide-img { animation: fcHeroZoomOut var(--hero-zoom-dur, 7s) ease forwards; }
/* 1枚のみ（is-single）は常時表示。 */
.hero-slider.is-single .hero-slide { opacity: 1 !important; transform: none !important; }
.hero-slider-dots { position: absolute; z-index: 4; left: 0; right: 0; bottom: 20px; display: flex; justify-content: center; gap: 9px; }
.hero-wrapper { width: 100%; height: min(78svh, 760px); min-height: 520px; position: relative; overflow: hidden; background: #0b1112; }
.hero-img-window,
.hero-img-window img,
.hero-img-window video { width: 100%; height: 100%; object-fit: cover; }
.hero-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,23,24,.76), rgba(16,23,24,.2) 55%, rgba(16,23,24,.7));
  pointer-events: none;
}
@media (max-width: 768px) {
  .hero-slide-caption { bottom: 14%; padding: 0 8vw; }
  .hero-slider-dots { bottom: 14px; gap: 7px; }
  .hero-wrapper { min-height: 430px; height: 64svh; }
}

/* Block: concept_split / sec_1782110303957 */
.concept-section {
position:relative;
overflow:hidden;
padding:130px 5% 150px;
margin-top:0;
background:
linear-gradient(120deg,rgba(255,250,240,.97) 0%,rgba(247,237,220,.94) 58%,rgba(237,216,195,.90) 100%),
var(--concept-bg-image);
background-size:cover;
background-position:center;
background-repeat:no-repeat;
color:#47352d;
}

.concept-section::before {
content:"";
position:absolute;
top:-120px;
left:-90px;
width:320px;
height:320px;
border-radius:50%;
background:rgba(154,64,45,.06);
pointer-events:none;
}

.concept-section::after {
content:"";
position:absolute;
right:-70px;
bottom:-110px;
width:250px;
height:250px;
border:34px solid rgba(201,52,36,.055);
border-radius:50%;
pointer-events:none;
}

.concept-container {
position:relative;
z-index:2;
width:100%;
max-width:1180px;
margin:0 auto;
display:grid;
grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
gap:86px;
align-items:center;
}

.concept-reverse {
grid-template-columns:minmax(420px,.98fr) minmax(0,1.02fr);
}

.concept-reverse .concept-content {
order:2;
}

.concept-reverse .concept-img-wrapper {
order:1;
}

.concept-content {
position:relative;
min-width:0;
padding:18px 0 18px 34px;
}

.concept-content::before {
content:"";
position:absolute;
top:0;
left:0;
width:7px;
height:100%;
border-radius:999px;
background:linear-gradient(180deg,#8f3b2b 0%,#c93424 58%,#e66f55 100%);
}

.concept-label,
.concept-kicker,
.concept-eyebrow {
display:inline-flex;
align-items:center;
width:max-content;
margin:0 0 22px;
padding:6px 14px;
border-radius:999px;
background:#ead8c6;
color:#9a402d;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
line-height:1;
letter-spacing:.16em;
text-transform:uppercase;
}

.concept-title {
position:relative;
margin:0 0 30px;
padding:0 0 22px;
color:#3b2a23;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
font-size:clamp(28px,3vw,30px);
font-weight:900;
line-height:1.55;
letter-spacing:.06em;
}

.concept-title::after {
content:"";
position:absolute;
left:0;
bottom:0;
width:70px;
height:5px;
border-radius:999px;
background:linear-gradient(90deg,#8f3b2b 0%,#c93424 100%);
}

.concept-text {
max-width:640px;
margin:0;
color:#6a564c;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
font-size:16px;
font-weight:400;
line-height:2.15;
letter-spacing:.025em;
}

.concept-img-wrapper {
position:relative;
min-height:500px;
margin:0;
}

.concept-img-wrapper::before {
content:"";
position:absolute;
top:34px;
left:34px;
width:78%;
height:350px;
background:#9a402d;
border-radius:8px;
opacity:.18;
transform:rotate(-3deg);
pointer-events:none;
}


.concept-bg-illustration {
position:absolute;
right:-50px;
top:40px;
width:180px;
height:180px;
background:
radial-gradient(circle,#c93424 2px,transparent 3px);
background-size:15px 15px;
opacity:.12;
z-index:0;
pointer-events:none;
}

.concept-img-back,
.concept-img-wrapper > img,
.concept-img-wrapper > video {
position:absolute;
top:0;
left:0;
z-index:2;
display:block;
width:82%;
height:365px;
object-fit:cover;
border:10px solid #fffaf0;
border-radius:8px;
box-shadow:0 20px 45px rgba(82,48,34,.18);
transform:rotate(-1.2deg);
}

.concept-img-wrapper > video {
background:#eee1d3;
}

.page-slug-concept .concept-section {
background:
linear-gradient(180deg,#fffaf0 0%,#f5eddd 100%) !important;
}

.page-slug-concept .concept-label,
.page-slug-concept .concept-kicker {
display:none !important;
}

.page-slug-concept .concept-img-wrapper {
min-height:0;
margin-bottom:0;
}

.page-slug-concept .concept-img-back,
.page-slug-concept .concept-img-wrapper > img,
.page-slug-concept .concept-img-wrapper > video {
position:relative;
top:auto;
left:auto;
width:100%;
height:auto;
max-height:520px;
object-fit:cover;
transform:none;
}

@media (max-width:900px) {
.concept-section {
padding:96px 26px 110px;
}

.concept-container,
.concept-reverse {
grid-template-columns:1fr;
gap:54px;
}

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

.concept-content {
padding-left:28px;
}

.concept-img-wrapper {
min-height:440px;
max-width:720px;
width:100%;
margin:0 auto;
}

.concept-img-back,
.concept-img-wrapper > img,
.concept-img-wrapper > video {
width:80%;
height:320px;
}

}

@media (max-width:768px) {
.concept-section {
padding:78px 18px 88px;
}

.concept-container,
.concept-reverse {
gap:40px;
}

.concept-content {
padding:0 0 0 20px;
}

.concept-content::before {
width:5px;
}

.concept-label,
.concept-kicker,
.concept-eyebrow {
margin-bottom:16px;
font-size:9px;
}

.concept-title {
margin-bottom:22px;
padding-bottom:17px;
font-size:26px;
line-height:1.55;
}

.concept-title::after {
width:54px;
height:4px;
}

.concept-text {
font-size:14px;
line-height:2;
}

.concept-img-wrapper {
min-height:355px;
}

.concept-img-wrapper::before {
top:22px;
left:20px;
width:78%;
height:260px;
border-radius:6px;
}

.concept-img-back,
.concept-img-wrapper > img,
.concept-img-wrapper > video {
top:0;
left:0;
width:82%;
height:270px;
border-width:7px;
border-radius:6px;
}

.concept-bg-illustration {
right:-20px;
top:10px;
width:120px;
height:120px;
background-size:12px 12px;
}
}

@media (max-width:520px) {
.concept-section {
padding:68px 16px 76px;
}

.concept-section::before {
top:-80px;
left:-100px;
width:220px;
height:220px;
}

.concept-content {
padding-left:17px;
}

.concept-title {
font-size:23px;
letter-spacing:.045em;
}

.concept-text {
font-size:13px;
line-height:1.95;
}

.concept-img-wrapper {
min-height:300px;
}

.concept-img-wrapper::before {
top:16px;
left:14px;
width:84%;
height:220px;
}

.concept-img-back,
.concept-img-wrapper > img,
.concept-img-wrapper > video {
width:86%;
height:225px;
}
}

/* Block: free_text_box / sec_1788586443579 */
/* =========================================================
   COMMON SECTION
========================================================= */

.menu-section,
.menu-grid-section,
.course-list-section,
.seat-list-full-section,
.ugc-section,
.reviews-archive-section,
.news-list-grid-section,
.news-article-body-section,
.job-list-section,
.recruit-spot-section,
.free-text-section,
.recruit-banner-section,
.contact-form-section,
.big-calendar-section {
box-sizing:border-box;
position:relative;
width:100%;
padding:110px 5%;
}

/* =========================================================
   IMAGE BACKGROUND SECTIONS
========================================================= */

.menu-section,
.course-list-section,
.seat-list-full-section,
.ugc-section,
.reviews-archive-section,
.recruit-spot-section,
.free-text-section,
.recruit-banner-section {
--section-bg-image:none;
position:relative;
overflow:hidden;
background-color:#211713;
background-image:
linear-gradient(
180deg,
rgba(18,13,11,.70) 0%,
rgba(24,15,12,.76) 45%,
rgba(28,15,12,.82) 100%
),
var(--section-bg-image);
background-size:cover;
background-position:center center;
background-repeat:no-repeat;
color:#fff8ed;
}

/* 赤茶の薄い光 */
.menu-section::before,
.course-list-section::before,
.seat-list-full-section::before,
.ugc-section::before,
.reviews-archive-section::before,
.recruit-spot-section::before,
.free-text-section::before,
.recruit-banner-section::before {
content:"";
position:absolute;
top:-160px;
right:-120px;
z-index:0;
width:380px;
height:380px;
border-radius:50%;
background:
radial-gradient(
circle,
rgba(176,61,40,.16) 0%,
rgba(176,61,40,.07) 42%,
transparent 72%
);
pointer-events:none;
}

/* 下部アクセント */
.menu-section::after,
.course-list-section::after,
.seat-list-full-section::after,
.ugc-section::after,
.reviews-archive-section::after,
.recruit-spot-section::after,
.free-text-section::after,
.recruit-banner-section::after {
content:"";
position:absolute;
left:50%;
bottom:0;
z-index:1;
width:min(420px,60%);
height:4px;
border-radius:999px 999px 0 0;
background:linear-gradient(
90deg,
transparent 0%,
#8c3928 20%,
#c93424 50%,
#8c3928 80%,
transparent 100%
);
transform:translateX(-50%);
pointer-events:none;
}

/* =========================================================
   LIGHT SECTIONS
========================================================= */

.menu-grid-section,
.news-list-grid-section,
.news-article-body-section,
.job-list-section,
.contact-form-section,
.big-calendar-section {
position:relative;
overflow:hidden;
background:
radial-gradient(
circle at 92% 10%,
rgba(154,64,45,.07) 0,
rgba(154,64,45,.07) 100px,
transparent 101px
),
linear-gradient(
180deg,
#fffaf0 0%,
#f5ecdc 100%
);
color:#49372f;
}

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

.scroll-container,
.menu-cat-container,
.course-list-grid,
.slf-grid,
.ugc-container,
.reviews-layout-container,
.nlg-grid,
.job-list-container,
.recruit-spot-container,
.free-text-container,
.recruit-banner-container,
.contact-container,
.bc-container,
.calendar-card {
position:relative;
z-index:2;
width:100%;
max-width:1140px;
margin-left:auto;
margin-right:auto;
}

/* =========================================================
   DARK SECTION HEADINGS
========================================================= */

.menu-section .section-header,
.course-list-section .course-list-header,
.seat-list-full-section .slf-header,
.ugc-section .section-header,
.reviews-archive-section .section-header,
.recruit-spot-section .section-header,
.recruit-banner-section .section-header {
position:relative;
z-index:2;
max-width:820px;
margin-left:auto;
margin-right:auto;
text-align:center;
}

.menu-section h2,
.course-list-section h2,
.seat-list-full-section h2,
.ugc-section h2,
.reviews-archive-section h2,
.recruit-spot-section h2,
.recruit-banner-section h2 {
margin-left:auto;
margin-right:auto;
color:#fff8ed !important;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif !important;
font-weight:900 !important;
line-height:1.55 !important;
letter-spacing:.07em !important;
text-align:center !important;
}

/* =========================================================
   DARK SECTION TEXT
========================================================= */

.menu-section .section-header p,
.course-list-section .course-list-desc,
.seat-list-full-section .slf-sub-text,
.ugc-section .section-header p,
.reviews-archive-section .section-header p,
.recruit-spot-section .section-header p,
.recruit-banner-section .section-header p {
max-width:720px;
margin:16px auto 0 !important;
color:rgba(255,248,237,.86) !important;
font-family:"Noto Sans JP",sans-serif !important;
font-size:14px !important;
font-weight:400 !important;
line-height:2 !important;
letter-spacing:.025em !important;
text-align:center !important;
}

/* =========================================================
   FREE TEXT
   背景画像を主役にする中央配置
========================================================= */

.free-text-section {
min-height:440px;
display:flex;
align-items:center;
justify-content:center;
padding-top:120px;
padding-bottom:120px;
text-align:center;
}

.free-text-container {
max-width:900px;
margin:0 auto;
}

.free-text-box {
position:relative;
width:100%;
max-width:820px;
margin:0 auto;
padding:52px 46px;
background:rgba(17,12,10,.34) !important;
border:1px solid rgba(255,244,228,.18) !important;
border-radius:6px !important;
box-shadow:0 20px 50px rgba(0,0,0,.15) !important;
color:#fff8ed !important;
text-align:center !important;
backdrop-filter:blur(2px);
-webkit-backdrop-filter:blur(2px);
}

/* 上部の赤ライン */
.free-text-box::before {
content:"";
position:absolute;
top:0;
left:50%;
width:76px;
height:5px;
border-radius:0 0 999px 999px;
background:linear-gradient(
90deg,
#8f3928 0%,
#d13a28 100%
);
transform:translateX(-50%);
}

.free-text-box h2,
.free-text-box h3,
.free-text-title {
max-width:760px;
margin-left:auto !important;
margin-right:auto !important;
color:#fff8ed !important;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif !important;
font-weight:900 !important;
line-height:1.55 !important;
letter-spacing:.07em !important;
text-align:center !important;
}

.free-text-box h2,
.free-text-title {
margin-top:0 !important;
margin-bottom:22px !important;
font-size:clamp(25px,3vw,36px) !important;
}

.free-text-box h3 {
margin-bottom:18px !important;
font-size:clamp(19px,2.4vw,25px) !important;
}

.free-text-box p,
.free-text-desc {
max-width:450px !important;
margin-left:auto !important;
margin-right:auto !important;
color:rgba(255,248,237,.88) !important;
font-family:"Noto Sans JP",sans-serif !important;
font-size:16px !important;
font-weight:400 !important;
line-height:2.1 !important;
letter-spacing:.025em !important;
text-align:center !important;
}

.free-text-box p + p {
margin-top:12px !important;
}

.free-text-box a:not(.fc-block-btn) {
color:#fff3e5 !important;
font-weight:700 !important;
text-decoration:underline !important;
text-decoration-color:rgba(255,255,255,.45) !important;
text-underline-offset:4px !important;
}

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

.free-text-section .fc-block-btn-wrap,
.menu-section .menu-btn-wrap,
.recruit-spot-section .spot-btn-wrap,
.recruit-banner-section .recruit-btn-wrap,
.ugc-section .ugc-btn-wrap,
.seat-list-full-section .seat-btn-wrap {
display:flex !important;
align-items:center !important;
justify-content:center !important;
width:100% !important;
margin:30px auto 0 !important;
text-align:center !important;
}

.free-text-section .fc-block-btn,
.menu-section .btn-menu-more,
.recruit-spot-section .btn-spot-link,
.recruit-banner-section .btn-recruit-link,
.ugc-section .btn-ugc-more,
.seat-list-full-section .btn-seat-more {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
min-width:200px !important;
min-height:52px !important;
margin:0 auto !important;
padding:0 30px !important;
border:1px solid #b93425 !important;
border-radius:4px !important;
background:linear-gradient(
135deg,
#8f3828 0%,
#b83224 55%,
#c83b28 100%
) !important;
color:#fff !important;
font-family:"Noto Sans JP",sans-serif !important;
font-size:16px !important;
font-weight:900 !important;
line-height:1.3 !important;
letter-spacing:.05em !important;
text-decoration:none !important;
box-shadow:0 8px 22px rgba(80,22,16,.22) !important;
transition:
transform .25s ease,
background .25s ease,
box-shadow .25s ease !important;
}

.free-text-section .fc-block-btn:hover,
.menu-section .btn-menu-more:hover,
.recruit-spot-section .btn-spot-link:hover,
.recruit-banner-section .btn-recruit-link:hover,
.ugc-section .btn-ugc-more:hover,
.seat-list-full-section .btn-seat-more:hover {
background:linear-gradient(
135deg,
#712b20 0%,
#a2251c 100%
) !important;
border-color:#8f2a20 !important;
color:#fff !important;
transform:translateY(-2px) !important;
box-shadow:0 12px 28px rgba(80,22,16,.30) !important;
}

/* =========================================================
   DARK SECTION CARDS
========================================================= */

.menu-section .pickup-item-card,
.course-list-section .course-list-card,
.seat-list-full-section .slf-card,
.ugc-section .ugc-card,
.reviews-archive-section .review-row-card,
.recruit-spot-section .spot-item-card {
position:relative;
z-index:2;
background:rgba(32,23,19,.84) !important;
border:1px solid rgba(230,150,112,.20) !important;
box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
backdrop-filter:blur(4px);
-webkit-backdrop-filter:blur(4px);
}

/* =========================================================
   LIGHT SECTION CARDS
========================================================= */

.menu-grid-section .menu-item-card,
.job-list-section .job-card,
.news-article-body-section .nab-container {
background:#fffaf1 !important;
border:1px solid rgba(108,53,38,.12) !important;
box-shadow:0 14px 36px rgba(87,48,35,.08) !important;
}

/* =========================================================
   FORM / CALENDAR
========================================================= */

.contact-form-section .form-wrapper,
.big-calendar-section .calendar-card {
position:relative;
z-index:2;
padding:42px;
background:#fffaf1 !important;
border:1px solid rgba(108,53,38,.13) !important;
border-radius:8px !important;
box-shadow:0 16px 40px rgba(73,42,31,.09) !important;
color:#45352e !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:768px) {
.menu-section,
.menu-grid-section,
.course-list-section,
.seat-list-full-section,
.ugc-section,
.reviews-archive-section,
.news-list-grid-section,
.news-article-body-section,
.job-list-section,
.recruit-spot-section,
.free-text-section,
.recruit-banner-section,
.contact-form-section,
.big-calendar-section {
padding:76px 16px;
}

.menu-section,
.course-list-section,
.seat-list-full-section,
.ugc-section,
.reviews-archive-section,
.recruit-spot-section,
.free-text-section,
.recruit-banner-section {
background-image:
linear-gradient(
180deg,
rgba(16,11,9,.72) 0%,
rgba(23,14,11,.78) 55%,
rgba(33,16,12,.84) 100%
),
var(--section-bg-image);
background-position:center center;
}

.free-text-section {
min-height:380px;
padding-top:82px;
padding-bottom:82px;
}

.free-text-box {
padding:38px 24px;
background:rgba(17,12,10,.32) !important;
}

.free-text-box h2,
.free-text-title {
font-size:25px !important;
}

.free-text-box p,
.free-text-desc {
font-size:13px !important;
line-height:1.95 !important;
}

.pickup-info,
.course-list-body,
.slf-body,
.ugc-info,
.nlg-body,
.job-body,
.spot-job-body,
.form-wrapper,
.calendar-card {
padding:24px;
}
}

@media (max-width:480px) {
.menu-section,
.menu-grid-section,
.course-list-section,
.seat-list-full-section,
.ugc-section,
.reviews-archive-section,
.news-list-grid-section,
.news-article-body-section,
.job-list-section,
.recruit-spot-section,
.free-text-section,
.recruit-banner-section,
.contact-form-section,
.big-calendar-section {
padding:66px 15px;
}

.free-text-section {
min-height:350px;
padding-top:70px;
padding-bottom:70px;
}

.free-text-box {
padding:32px 18px;
}

.free-text-box h2,
.free-text-title {
font-size:22px !important;
}

.free-text-box p,
.free-text-desc {
font-size:13px !important;
    text-align: left!important;
}

.free-text-section .fc-block-btn {
width:100% !important;
max-width:280px !important;
}
}

/* Block: image_grid / sec_1788586584460 */
.image-grid-section {
position:relative;
overflow:hidden;
padding:110px 5% 120px;
background:
radial-gradient(circle at 8% 14%,rgba(154,64,45,.07) 0 90px,transparent 91px),
radial-gradient(circle at 94% 84%,rgba(201,52,36,.05) 0 120px,transparent 121px),
linear-gradient(180deg,#fffaf0 0%,#f5ecdc 100%);
color:#47372f;
}

.image-grid-section::before {
content:"";
position:absolute;
top:54px;
right:5%;
width:76px;
height:76px;
background:
radial-gradient(circle,rgba(154,64,45,.28) 2px,transparent 2.5px);
background-size:14px 14px;
opacity:.38;
pointer-events:none;
}

.image-grid-section::after {
content:"";
position:absolute;
left:-90px;
bottom:-110px;
width:240px;
height:240px;
border:34px solid rgba(154,64,45,.05);
border-radius:50%;
pointer-events:none;
}

.image-grid-container {
position:relative;
z-index:1;
width:100%;
max-width:1160px;
margin:0 auto;
}

.image-grid-header {
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
max-width:760px;
margin:0 auto 48px;
text-align:center;
}

.image-grid-title {
position:relative;
display:block;
width:max-content;
max-width:100%;
margin:0 auto;
padding:0 0 18px;
color:#3c2b25;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
font-size:clamp(28px,3.8vw,40px);
font-weight:900;
line-height:1.45;
letter-spacing:.07em;
text-align:center;
}

.image-grid-title::before {
content:"GALLERY";
display:block;
width:max-content;
margin:0 auto 11px;
padding:5px 13px;
border-radius:999px;
background:#ead8c6;
color:#9a402d;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
line-height:1;
letter-spacing:.16em;
}

.image-grid-title::after {
content:"";
position:absolute;
left:50%;
bottom:0;
width:62px;
height:5px;
margin:0;
border-radius:999px;
background:linear-gradient(90deg,#8f3928 0%,#c93424 100%);
transform:translateX(-50%);
}

.image-grid-desc {
max-width:680px;
margin:18px auto 0;
color:#746158;
font-family:"Noto Sans JP",sans-serif;
font-size:14px;
font-weight:400;
line-height:2;
letter-spacing:.025em;
text-align:center;
}

.image-grid {
display:grid;
gap:22px;
margin-top:44px;
grid-template-columns:repeat(2,minmax(0,1fr));
align-items:start;
}

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

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

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

.image-grid-item {
position:relative;
overflow:visible;
aspect-ratio:4/3;
background:transparent;
border:0;
}

.image-grid-item::before {
content:"";
position:absolute;
top:14px;
left:14px;
width:100%;
height:100%;
border-radius:8px;
background:#d9c4b2;
opacity:.65;
z-index:0;
}

.image-grid-item:nth-child(even)::before {
top:12px;
left:-12px;
background:#e0bcae;
}

.image-grid-item:nth-child(3n)::before {
top:-10px;
left:12px;
background:#dbc9b8;
}

.image-grid-item img {
position:relative;
z-index:1;
display:block;
width:100%;
height:100%;
object-fit:cover;
border-radius:8px;
box-shadow:0 16px 34px rgba(82,48,34,.13);
filter:none;
transform:none;
transition:
transform .4s ease,
box-shadow .4s ease;
}

.image-grid-item:hover img {
transform:translateY(-4px) scale(1.015);
box-shadow:0 22px 44px rgba(82,48,34,.18);
}

.image-grid-pc-2 .image-grid-item:nth-child(even),
.image-grid-pc-3 .image-grid-item:nth-child(3n+2),
.image-grid-pc-4 .image-grid-item:nth-child(even) {
margin-top:28px;
}

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

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

.image-grid-shape-circle .image-grid-item::before {
border-radius:50%;
}

.image-grid-shape-circle .image-grid-item img {
border-radius:50%;
}

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

.image-grid-shape-free .image-grid-item {
aspect-ratio:auto;
}

.image-grid-shape-free .image-grid-item::before {
display:none;
}

.image-grid-shape-free .image-grid-item img {
height:auto;
border-radius:8px;
}

.image-grid-empty {
padding:56px 20px;
text-align:center;
color:#8a7468;
border:1px dashed rgba(154,64,45,.22);
border-radius:8px;
background:rgba(255,250,240,.7);
font-family:"Noto Sans JP",sans-serif;
font-size:13px;
letter-spacing:.05em;
}

@media (max-width:768px) {
.image-grid-section {
padding:76px 16px 84px;
}

.image-grid-section::before {
top:28px;
right:-4px;
width:54px;
height:54px;
background-size:12px 12px;
}

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

.image-grid-title {
padding-bottom:15px;
font-size:25px;
}

.image-grid-title::before {
font-size:9px;
}

.image-grid-title::after {
width:52px;
height:4px;
}

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

.image-grid {
gap:16px;
margin-top:34px;
}

.image-grid-sp-1 {
grid-template-columns:1fr;
}

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

.image-grid-item {
margin-top:0 !important;
}

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

.image-grid-item:nth-child(even)::before {
top:8px;
left:-8px;
}

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

@media (max-width:480px) {
.image-grid-section {
padding:66px 15px 74px;
}

.image-grid-title {
font-size:22px;
}

.image-grid {
gap:12px;
}

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

.image-grid-item:nth-child(even)::before {
top:7px;
left:-7px;
}

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

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

/* Block: instagram_feed / sec_1788588920330 */
.concept-section,
.menu-section,
.course-list-section,
.seat-list-full-section,
.ugc-section,
.reviews-archive-section,
.fc-instagram-section,
.instagram-section {
position:relative;
}

.fc-instagram-embed-section,
.fc-instagram-section,
.instagram-section {
position:relative;
overflow:hidden;
padding:110px 20px 120px;
background:
radial-gradient(circle at 92% 12%,rgba(152,65,47,.07) 0 110px,transparent 111px),
radial-gradient(circle at 8% 86%,rgba(201,52,36,.045) 0 130px,transparent 131px),
linear-gradient(180deg,#fffaf0 0%,#f4eadc 100%);
color:#3d302a;
text-align:center;
}

.fc-instagram-embed-section::before,
.fc-instagram-section::before,
.instagram-section::before {
content:"INSTAGRAM";
position:absolute;
top:42px;
left:50%;
color:rgba(152,65,47,.045);
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:clamp(70px,12vw,160px);
font-weight:900;
line-height:1;
letter-spacing:.08em;
white-space:nowrap;
transform:translateX(-50%);
pointer-events:none;
}

.fc-instagram-embed-section::after,
.fc-instagram-section::after,
.instagram-section::after {
content:"";
position:absolute;
right:4%;
bottom:36px;
width:78px;
height:78px;
background:
radial-gradient(circle,rgba(201,52,36,.24) 2px,transparent 2.5px);
background-size:14px 14px;
opacity:.35;
pointer-events:none;
}

.fc-instagram-embed-inner {
position:relative;
z-index:1;
width:100%;
max-width:1240px;
margin:0 auto;
}

.fc-instagram-embed-heading,
.fc-instagram-header,
.instagram-section .section-header {
position:relative;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
max-width:780px;
margin:0 auto 54px;
text-align:center;
}

.fc-instagram-embed-label {
display:inline-flex;
align-items:center;
justify-content:center;
width:max-content;
margin:0 auto 12px;
padding:6px 14px;
border-radius:999px;
background:#ead8c6;
color:#98412f;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
line-height:1;
letter-spacing:.16em;
text-transform:uppercase;
}

.fc-instagram-embed-heading h2,
.fc-instagram-title,
.instagram-section h2 {
position:relative;
display:block;
width:max-content;
max-width:100%;
margin:0 auto;
padding:0 0 18px;
color:#6f2c20;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
font-size:clamp(30px,4vw,42px);
font-weight:900;
line-height:1.45;
letter-spacing:.07em;
text-transform:none;
}

.fc-instagram-embed-heading h2::after,
.fc-instagram-title::after,
.instagram-section h2::after {
content:"";
position:absolute;
left:50%;
bottom:0;
width:62px;
height:5px;
border-radius:999px;
background:linear-gradient(90deg,#98412f 0%,#c93424 100%);
transform:translateX(-50%);
}

.fc-instagram-embed-heading p,
.fc-instagram-subtitle,
.instagram-section p {
max-width:680px;
margin:18px auto 0;
color:#66554d;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
font-size:16px!important;
font-weight:400;
line-height:2;
letter-spacing:.025em;
}

.fc-instagram-post-grid {
display:grid;
grid-template-columns:repeat(var(--fc-ig-cols-pc,3),minmax(0,1fr));
gap:22px;
align-items:start;
}

.fc-instagram-grid,
.fc-instagram-slider {
position:relative;
z-index:1;
max-width:1240px;
margin:0 auto;
}

.fc-instagram-post-card,
.fc-instagram-card {
position:relative;
min-width:0;
overflow:hidden;
padding:10px;
background:#fffaf1;
border:1px solid rgba(111,44,32,.12);
border-radius:10px;
box-shadow:0 14px 32px rgba(84,48,34,.08);
transition:
transform .3s ease,
box-shadow .3s ease,
border-color .3s ease;
}

.fc-instagram-post-card::before,
.fc-instagram-card::before {
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:5px;
background:linear-gradient(90deg,#98412f 0%,#c93424 100%);
z-index:2;
}

.fc-instagram-post-card:hover,
.fc-instagram-card:hover {
transform:translateY(-4px);
border-color:rgba(152,65,47,.20);
box-shadow:0 20px 42px rgba(84,48,34,.13);
}

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

.fc-instagram-embed-card {
max-width:1120px;
margin:0 auto;
overflow:hidden;
padding:12px;
background:#fffaf1;
border:1px solid rgba(111,44,32,.12);
border-radius:10px;
box-shadow:0 14px 32px rgba(84,48,34,.08);
}

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

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

.fc-instagram-card iframe,
.fc-instagram-card blockquote {
width:100% !important;
min-width:0 !important;
margin:0 !important;
}

.fc-instagram-embed-action {
margin-top:38px;
text-align:center;
}

.fc-instagram-embed-action a {
display:inline-flex;
align-items:center;
justify-content:center;
min-width:220px;
min-height:50px;
padding:0 30px;
border:1px solid #c93424;
border-radius:4px;
background:linear-gradient(135deg,#98412f 0%,#c93424 100%);
color:#fff;
font-family:"Noto Sans JP","Montserrat",sans-serif;
font-size:16px!important;
font-weight:900;
line-height:1.3;
letter-spacing:.05em;
text-transform:none;
text-decoration:none;
box-shadow:0 8px 20px rgba(153,45,30,.16);
transition:
transform .25s ease,
background .25s ease,
box-shadow .25s ease;
}

.fc-instagram-embed-action a:hover {
background:linear-gradient(135deg,#6f2c20 0%,#a6251b 100%);
border-color:#a6251b;
color:#fff;
transform:translateY(-2px);
box-shadow:0 12px 28px rgba(153,45,30,.24);
}

.fc-instagram-slider {
position:relative;
max-width:1240px;
margin:0 auto;
padding:0 52px 36px;
}

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

.fc-instagram-slider-track {
display:flex;
gap:22px;
align-items:stretch;
transition:transform .55s ease;
will-change:transform;
}

.fc-instagram-slider-item {
flex:0 0 calc(
(100% - (22px * (var(--fc-ig-cols-pc,4) - 1)))
/
var(--fc-ig-cols-pc,4)
);
}

.fc-instagram-slider-arrow {
position:absolute;
top:50%;
z-index:3;
display:inline-flex;
align-items:center;
justify-content:center;
width:42px;
height:42px;
padding:0;
border:1px solid rgba(152,65,47,.28);
border-radius:50%;
background:#fffaf1;
color:#98412f;
box-shadow:0 8px 22px rgba(84,48,34,.10);
transform:translateY(-50%);
cursor:pointer;
transition:
background .25s ease,
color .25s ease,
border-color .25s ease,
transform .25s ease;
}

.fc-instagram-slider-arrow:hover {
background:#98412f;
border-color:#98412f;
color:#fff;
}

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

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

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

.fc-instagram-slider-dot {
width:8px;
height:8px;
padding:0;
border:1px solid rgba(152,65,47,.55);
border-radius:999px;
background:transparent;
cursor:pointer;
transition:
width .25s ease,
background .25s ease;
}

.fc-instagram-slider-dot.is-active {
width:24px;
background:#c93424;
border-color:#c93424;
}

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

@media (max-width:1024px) and (min-width:769px) {
.fc-instagram-post-grid {
grid-template-columns:repeat(var(--fc-ig-cols-tab,3),minmax(0,1fr));
}

.fc-instagram-slider-item {
flex-basis:calc(
(100% - (22px * (var(--fc-ig-cols-tab,3) - 1)))
/
var(--fc-ig-cols-tab,3)
);
}
}

@media (max-width:768px) {
.fc-instagram-embed-section,
.fc-instagram-section,
.instagram-section {
padding:76px 16px 84px;
}

.fc-instagram-embed-section::before,
.fc-instagram-section::before,
.instagram-section::before {
top:28px;
font-size:64px;
}

.fc-instagram-embed-section::after,
.fc-instagram-section::after,
.instagram-section::after {
right:4px;
bottom:18px;
width:54px;
height:54px;
background-size:12px 12px;
}

.fc-instagram-embed-heading,
.fc-instagram-header,
.instagram-section .section-header {
margin-bottom:38px;
}

.fc-instagram-embed-label {
margin-bottom:10px;
font-size:9px;
}

.fc-instagram-embed-heading h2,
.fc-instagram-title,
.instagram-section h2 {
padding-bottom:15px;
font-size:25px;
}

.fc-instagram-embed-heading h2::after,
.fc-instagram-title::after,
.instagram-section h2::after {
width:52px;
height:4px;
}

.fc-instagram-embed-heading p,
.fc-instagram-subtitle,
.instagram-section p {
margin-top:15px;
font-size:13px;
line-height:1.9;
}

.fc-instagram-post-grid {
grid-template-columns:repeat(var(--fc-ig-cols-sp,2),minmax(0,1fr));
gap:12px;
}

.fc-instagram-post-card,
.fc-instagram-card {
padding:6px;
border-radius:7px;
}

.fc-instagram-slider {
padding:0 0 34px;
}

.fc-instagram-slider-track {
gap:12px;
}

.fc-instagram-slider-item {
flex-basis:calc(
(100% - (12px * (var(--fc-ig-cols-sp,2) - 1)))
/
var(--fc-ig-cols-sp,2)
);
}

.fc-instagram-slider-arrow {
top:auto;
bottom:-2px;
width:32px;
height:32px;
transform:none;
}

.fc-instagram-slider-prev {
left:10px;
}

.fc-instagram-slider-next {
right:10px;
}

.fc-instagram-slider-dots {
bottom:7px;
}

.fc-instagram-embed-action {
margin-top:30px;
}

.fc-instagram-embed-action a {
width:100%;
max-width:300px;
}
}

@media (max-width:480px) {
.fc-instagram-embed-section,
.fc-instagram-section,
.instagram-section {
padding:66px 15px 74px;
}

.fc-instagram-embed-section::before,
.fc-instagram-section::before,
.instagram-section::before {
font-size:50px;
}

.fc-instagram-embed-heading h2,
.fc-instagram-title,
.instagram-section h2 {
font-size:22px;
}

.fc-instagram-post-grid {
gap:10px;
}
}

/* Block: custom_html / sec_1788589936988 */
.store-guide-section,
.store-guide-section * {
box-sizing:border-box;
}

.store-guide-section {
--sg-brick:#9a402d;
--sg-brick-dark:#6f2c20;
--sg-red:#c93424;
--sg-red-dark:#a62318;
--sg-cream:#f5eddd;
--sg-cream-light:#fffaf0;
--sg-paper:#f9f3e7;
--sg-brown:#38251f;
--sg-text:#4b3a33;
--sg-sub:#76645b;
position:relative;
overflow:hidden;
width:100%;
padding:110px 5% 120px;
background:
radial-gradient(circle at 8% 18%,rgba(154,64,45,.07) 0 90px,transparent 91px),
radial-gradient(circle at 94% 88%,rgba(201,52,36,.055) 0 130px,transparent 131px),
linear-gradient(180deg,#fffaf0 0%,#f5eddd 100%);
color:var(--sg-text);
}

.store-guide-section::before {
content:"";
position:absolute;
top:54px;
right:5%;
width:82px;
height:82px;
background:
radial-gradient(circle,rgba(154,64,45,.25) 2px,transparent 2.5px);
background-size:14px 14px;
opacity:.42;
pointer-events:none;
}

.store-guide-section::after {
content:"";
position:absolute;
left:-90px;
bottom:-120px;
width:260px;
height:260px;
border:38px solid rgba(154,64,45,.05);
border-radius:50%;
pointer-events:none;
}

.store-guide-inner {
position:relative;
z-index:1;
width:100%;
max-width:1180px;
margin:0 auto;
}

.store-guide-heading {
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
width:100%;
max-width:780px;
margin:0 auto 54px;
text-align:center;
}

.store-guide-en {
display:inline-flex;
align-items:center;
justify-content:center;
width:max-content;
margin:0 auto 12px;
padding:6px 15px;
border-radius:999px;
background:#ead8c6;
color:var(--sg-brick);
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
line-height:1;
letter-spacing:.17em;
}

.store-guide-title {
position:relative;
display:block;
width:max-content;
max-width:100%;
margin:0 auto;
padding:0 0 18px;
color:var(--sg-brown);
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
font-size:clamp(30px,4vw,42px);
font-weight:900;
line-height:1.4;
letter-spacing:.08em;
}

.store-guide-title::after {
content:"";
position:absolute;
left:50%;
bottom:0;
width:64px;
height:5px;
border-radius:999px;
background:linear-gradient(90deg,var(--sg-brick) 0%,var(--sg-red) 100%);
transform:translateX(-50%);
}

.store-guide-desc {
max-width:680px;
margin:18px auto 0;
color:var(--sg-sub);
font-family:"Noto Sans JP",sans-serif;
font-size:16px;
font-weight:400;
line-height:2;
letter-spacing:.025em;
}

.store-guide-grid {
display:grid;
grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);
gap:46px;
align-items:stretch;
}

.store-guide-info {
position:relative;
overflow:hidden;
padding:38px 38px 36px;
background:var(--sg-cream-light);
border:1px solid rgba(111,44,32,.12);
border-radius:8px;
box-shadow:0 18px 45px rgba(82,48,34,.09);
}

.store-guide-info::before {
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:7px;
background:linear-gradient(90deg,var(--sg-brick-dark),var(--sg-brick),var(--sg-red));
}

.store-guide-info::after {
content:"赤助";
position:absolute;
right:-5px;
bottom:-12px;
color:rgba(154,64,45,.035);
font-family:"Noto Sans JP",sans-serif;
font-size:90px;
font-weight:900;
line-height:1;
letter-spacing:.02em;
pointer-events:none;
}

.store-guide-info-head {
position:relative;
z-index:1;
margin-bottom:28px;
padding-bottom:20px;
border-bottom:2px solid rgba(154,64,45,.13);
}

.store-guide-label {
display:block;
margin-bottom:8px;
color:var(--sg-red);
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
letter-spacing:.15em;
}

.store-guide-info-head h3 {
margin:0;
color:var(--sg-brown);
font-family:"Noto Sans JP",sans-serif;
font-size:24px;
font-weight:900;
line-height:1.5;
letter-spacing:.06em;
}

.store-guide-list {
position:relative;
z-index:1;
margin:0;
padding:0;
}

.store-guide-row {
display:grid;
grid-template-columns:105px minmax(0,1fr);
gap:20px;
align-items:start;
padding:17px 0;
border-bottom:1px dashed rgba(111,44,32,.15);
}

.store-guide-row:first-child {
padding-top:0;
}

.store-guide-row dt,
.store-guide-row dd {
margin:0;
}

.store-guide-row dt {
display:inline-flex;
align-items:center;
width:max-content;
min-height:25px;
padding:3px 10px;
border-radius:3px;
background:#ead8c6;
color:var(--sg-brick-dark);
font-family:"Noto Sans JP",sans-serif;
font-weight:800;
line-height:1.4;
}

.store-guide-row dd {
padding-top:2px;
color:var(--sg-text);
font-family:"Noto Sans JP",sans-serif;
font-weight:500;
line-height:1.85;
}

.store-guide-tel {
color:var(--sg-red-dark);
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:18px;
font-weight:800;
letter-spacing:.03em;
text-decoration:none;
}

.store-guide-tel:hover {
color:var(--sg-red);
}

.store-guide-actions {
position:relative;
z-index:1;
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
margin-top:30px;
}

.store-guide-btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:9px;
min-height:54px;
padding:0 18px;
border-radius:4px;
font-family:"Noto Sans JP",sans-serif;
font-size:16px;
font-weight:800;
line-height:1.3;
letter-spacing:.04em;
text-align:center;
text-decoration:none;
transition:
transform .25s ease,
background .25s ease,
color .25s ease,
border-color .25s ease,
box-shadow .25s ease;
}

.store-guide-btn-tel {
border:1px solid var(--sg-red);
background:var(--sg-red);
color:#fff;
box-shadow:0 7px 18px rgba(201,52,36,.16);
}

.store-guide-btn-tel:hover {
background:var(--sg-red-dark);
border-color:var(--sg-red-dark);
color:#fff;
transform:translateY(-2px);
}

.store-guide-btn-icon {
display:inline-flex;
align-items:center;
justify-content:center;
font-family:"Montserrat",sans-serif;
font-size:10px;
font-weight:900;
letter-spacing:.08em;
}

.store-guide-btn-more {
border:1px solid rgba(111,44,32,.38);
background:transparent;
color:var(--sg-brick-dark);
}

.store-guide-btn-more:hover {
background:var(--sg-brick-dark);
border-color:var(--sg-brick-dark);
color:#fff;
transform:translateY(-2px);
}

.store-guide-arrow {
font-family:"Montserrat",sans-serif;
font-size:15px;
transition:transform .25s ease;
}

.store-guide-btn-more:hover .store-guide-arrow {
transform:translateX(4px);
}

.store-guide-map {
position:relative;
display:flex;
flex-direction:column;
padding:14px;
background:var(--sg-brick-dark);
border-radius:8px;
box-shadow:0 20px 48px rgba(82,48,34,.16);
}

.store-guide-map::before {
content:"";
position:absolute;
top:8px;
right:9px;
width:46px;
height:46px;
background:
radial-gradient(circle,rgba(255,255,255,.24) 1.5px,transparent 2px);
background-size:9px 9px;
opacity:.7;
pointer-events:none;
}

.store-guide-map-head {
display:flex;
align-items:center;
min-height:46px;
padding:0 10px;
}

.store-guide-map-head span {
color:#fff6e7;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
letter-spacing:.17em;
}

.store-guide-map-frame {
position:relative;
flex:1;
width:100%;
min-height:500px;
overflow:hidden;
background:#eee5d6;
border-radius:4px;
}

.store-guide-map-frame iframe {
position:absolute;
inset:0;
display:block;
width:100%;
height:100%;
min-height:100%;
border:0;
filter:none;
}

.sp-only {
display:none;
}

@media (max-width:960px) {
.store-guide-grid {
grid-template-columns:1fr;
gap:30px;
}

.store-guide-map-frame {
min-height:440px;
}
}

@media (max-width:600px) {
.store-guide-section {
padding:72px 16px 80px;
}

.store-guide-section::before {
top:30px;
right:-4px;
width:58px;
height:58px;
background-size:12px 12px;
}

.store-guide-heading {
margin-bottom:38px;
}

.store-guide-en {
font-size:9px;
}

.store-guide-title {
padding-bottom:15px;
font-size:26px;
}

.store-guide-title::after {
width:54px;
height:4px;
}

.store-guide-desc {
margin-top:15px;
font-size:13px;
line-height:1.9;
}

.store-guide-info {
padding:30px 20px 24px;
border-radius:6px;
}

.store-guide-info::after {
right:-4px;
bottom:-4px;
font-size:62px;
}

.store-guide-info-head {
margin-bottom:22px;
padding-bottom:17px;
}

.store-guide-info-head h3 {
font-size:21px;
}

.store-guide-row {
grid-template-columns:84px minmax(0,1fr);
gap:13px;
padding:15px 0;
}

.store-guide-row dt {
padding:3px 8px;
font-size:11px;
}

.store-guide-row dd {
font-size:13px;
line-height:1.8;
}

.store-guide-tel {
font-size:16px;
}

.store-guide-actions {
grid-template-columns:1fr;
gap:10px;
margin-top:24px;
}

.store-guide-btn {
min-height:52px;
}

.store-guide-map {
padding:10px;
border-radius:6px;
}

.store-guide-map-head {
min-height:40px;
}

.store-guide-map-frame {
min-height:0;
aspect-ratio:4/3;
}

.sp-only {
display:block;
}
}


/* =========================================================
   Page: news / お知らせ｜肉汁うどん赤助｜静岡県伊豆の国市田京のうどん屋・食堂
========================================================= */

/* Block: news_list_grid / sec_1788601709607 */
.news-list-grid-section {
position:relative;
overflow:hidden;
padding:110px 20px 120px;
background:
radial-gradient(circle at 92% 10%,rgba(152,65,47,.06) 0 110px,transparent 111px),
radial-gradient(circle at 8% 88%,rgba(201,52,36,.04) 0 130px,transparent 131px),
linear-gradient(180deg,#fffaf0 0%,#f4eadc 100%);
color:#3d302a;
text-align:center;
}

.news-list-grid-section::before {
content:"NEWS";
position:absolute;
top:38px;
left:50%;
color:rgba(152,65,47,.045);
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:clamp(68px,10vw,145px);
font-weight:900;
line-height:1;
letter-spacing:.08em;
white-space:nowrap;
transform:translateX(-50%);
pointer-events:none;
}

.news-list-grid-section::after {
content:"";
position:absolute;
right:4%;
bottom:34px;
width:72px;
height:72px;
background:
radial-gradient(circle,rgba(152,65,47,.22) 2px,transparent 2.5px);
background-size:14px 14px;
opacity:.3;
pointer-events:none;
}

.news-list-grid-section .news-section-header {
position:relative;
z-index:1;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
max-width:760px;
margin:0 auto 54px;
text-align:center;
}

.news-list-grid-section .news-main-title {
position:relative;
display:block;
width:max-content;
max-width:100%;
margin:0 auto;
padding:0 0 18px;
color:#6f2c20 !important;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif !important;
font-size:clamp(30px,4vw,42px);
font-weight:900;
line-height:1.45;
letter-spacing:.07em;
text-transform:none;
}

.news-list-grid-section .news-main-title::before {
content:"NEWS";
display:block;
width:max-content;
margin:0 auto 11px;
padding:6px 14px;
border-radius:999px;
background:#ead8c6;
color:#98412f;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
line-height:1;
letter-spacing:.16em;
}

.news-list-grid-section .news-main-title::after {
content:"";
position:absolute;
left:50%;
bottom:0;
width:62px;
height:5px;
border-radius:999px;
background:linear-gradient(
90deg,
#98412f 0%,
#c93424 100%
);
transform:translateX(-50%);
}

.news-list-grid-section .news-sub-text {
max-width:680px;
margin:18px auto 0;
color:#66554d !important;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
font-size:14px;
font-weight:400;
line-height:2;
letter-spacing:.025em;
}

.news-list-grid-section .nlg-grid {
position:relative;
z-index:1;
display:flex !important;
flex-direction:column;
gap:18px;
width:100%;
max-width:1040px;
margin:0 auto 48px;
text-align:left;
}

.news-list-grid-section .nlg-card {
position:relative;
display:grid !important;
grid-template-columns:32% minmax(0,1fr);
min-height:220px;
overflow:hidden;
background:#fffaf1 !important;
border:1px solid rgba(111,44,32,.12) !important;
border-radius:8px !important;
box-shadow:0 12px 30px rgba(84,48,34,.08) !important;
color:#3d302a !important;
text-decoration:none;
transition:
transform .3s ease,
box-shadow .3s ease,
border-color .3s ease;
}

.news-list-grid-section .nlg-card::before {
content:"";
position:absolute;
top:0;
left:0;
z-index:3;
width:6px;
height:100%;
background:linear-gradient(
180deg,
#98412f 0%,
#c93424 100%
);
}

.news-list-grid-section .nlg-card:hover {
transform:translateY(-4px) !important;
background:#fffaf1 !important;
border-color:rgba(152,65,47,.22) !important;
box-shadow:0 18px 40px rgba(84,48,34,.13) !important;
}

.news-list-grid-section .nlg-img {
position:relative;
width:100%;
height:100%;
min-height:220px;
overflow:hidden;
background:#eadfce !important;
aspect-ratio:auto !important;
}

.news-list-grid-section .nlg-img::after {
content:"";
position:absolute;
inset:0;
background:linear-gradient(
90deg,
transparent 60%,
rgba(85,43,31,.06) 100%
);
pointer-events:none;
}

.news-list-grid-section .nlg-img img {
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:transform .5s ease;
}

.news-list-grid-section .nlg-card:hover .nlg-img img {
transform:scale(1.04);
}

.news-list-grid-section .nlg-no-img {
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:100%;
min-height:220px;
background:
linear-gradient(135deg,#efe0d1 0%,#e4cbbb 100%) !important;
color:#98412f !important;
font-size:36px;
}

.news-list-grid-section .nlg-body {
position:relative;
display:flex;
flex-direction:column;
justify-content:center;
padding:30px 42px 30px 34px !important;
}

.news-list-grid-section .nlg-body::after {
content:"→";
position:absolute;
right:24px;
bottom:22px;
display:inline-flex;
align-items:center;
justify-content:center;
width:34px;
height:34px;
border:1px solid rgba(152,65,47,.22);
border-radius:50%;
background:#fffaf1;
color:#98412f;
font-family:"Montserrat",sans-serif;
font-size:15px;
font-weight:700;
transition:
background .25s ease,
color .25s ease,
transform .25s ease;
}

.news-list-grid-section .nlg-card:hover .nlg-body::after {
background:#98412f;
color:#fff;
transform:translateX(3px);
}

.news-list-grid-section .nlg-date {
display:inline-flex !important;
align-items:center;
justify-content:center;
width:max-content;
min-height:26px;
margin:0 0 12px;
padding:5px 10px;
border:1px solid rgba(201,52,36,.10);
border-radius:999px;
background:#f0ddd2 !important;
color:#a6251b !important;
font-family:"Montserrat","Noto Sans JP",sans-serif !important;
font-size:10px !important;
font-weight:900 !important;
line-height:1;
letter-spacing:.08em;
opacity:1 !important;
}

.news-list-grid-section .nlg-title {
display:-webkit-box;
margin:0;
overflow:hidden;
color:#5d2d22 !important;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif !important;
font-size:18px;
font-weight:900;
line-height:1.65;
letter-spacing:.03em;
-webkit-box-orient:vertical;
-webkit-line-clamp:2;
transition:color .25s ease;
}

.news-list-grid-section .nlg-card:hover .nlg-title {
color:#c93424 !important;
}

.news-list-grid-section .nlg-excerpt {
display:-webkit-box;
margin:10px 0 0;
overflow:hidden;
color:#6c5a51 !important;
font-family:"Noto Sans JP",sans-serif;
font-size:13px;
line-height:1.9;
opacity:1 !important;
-webkit-box-orient:vertical;
-webkit-line-clamp:2;
}

.news-list-grid-section .news-more-btn-area {
position:relative;
z-index:1;
display:flex;
justify-content:center;
margin-top:0;
}

.news-list-grid-section .btn-news-viewmore {
display:inline-flex;
align-items:center;
justify-content:center;
min-width:210px;
min-height:50px;
padding:0 34px;
border:1px solid #c93424;
border-radius:4px;
background:linear-gradient(
135deg,
#98412f 0%,
#c93424 100%
);
color:#fff;
font-family:"Noto Sans JP","Montserrat",sans-serif;
font-size:13px;
font-weight:900;
line-height:1.3;
letter-spacing:.05em;
text-decoration:none;
box-shadow:0 8px 20px rgba(153,45,30,.16);
transition:
transform .25s ease,
background .25s ease,
box-shadow .25s ease;
}

.news-list-grid-section .btn-news-viewmore:hover {
background:linear-gradient(
135deg,
#6f2c20 0%,
#a6251b 100%
);
border-color:#a6251b;
color:#fff;
transform:translateY(-2px);
box-shadow:0 12px 28px rgba(153,45,30,.24);
}

/* お知らせ一覧ページ */
.news-page .news-list-grid-section {
padding:90px 20px 110px !important;
background:
radial-gradient(circle at 92% 10%,rgba(152,65,47,.055) 0 110px,transparent 111px),
linear-gradient(180deg,#fffaf0 0%,#f3e8d8 100%) !important;
color:#3d302a !important;
}

.news-page .news-list-grid-section .news-section-header,
.news-page .news-list-grid-section .news-more-btn-area {
display:none !important;
}

.news-page .news-list-grid-section .nlg-grid {
margin-bottom:0;
}

/* ページネーション */
.news-list-grid-section .pagination {
display:flex;
justify-content:center;
gap:8px;
margin-top:34px;
}

.news-list-grid-section .page-btn {
display:inline-flex;
align-items:center;
justify-content:center;
min-width:38px;
height:38px;
padding:0 10px;
border:1px solid rgba(152,65,47,.20);
border-radius:50%;
background:#fffaf1;
color:#6f2c20;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:12px;
font-weight:800;
text-decoration:none;
transition:
background .25s ease,
color .25s ease,
border-color .25s ease;
}

.news-list-grid-section .page-btn.active,
.news-list-grid-section .page-btn:hover {
background:#98412f;
border-color:#98412f;
color:#fff;
}

@media (max-width:900px) {
.news-list-grid-section .nlg-card {
grid-template-columns:260px minmax(0,1fr);
}

.news-list-grid-section .nlg-body {
padding:26px 34px 26px 28px !important;
}
}

@media (max-width:768px) {
.news-list-grid-section,
.news-page .news-list-grid-section {
padding:76px 16px 84px !important;
}

.news-list-grid-section::before {
top:24px;
font-size:64px;
}

.news-list-grid-section::after {
right:5px;
bottom:16px;
width:54px;
height:54px;
background-size:12px 12px;
}

.news-list-grid-section .news-section-header {
margin-bottom:38px;
}

.news-list-grid-section .news-main-title {
padding-bottom:15px;
font-size:25px;
}

.news-list-grid-section .news-main-title::before {
font-size:9px;
}

.news-list-grid-section .news-main-title::after {
width:52px;
height:4px;
}

.news-list-grid-section .news-sub-text {
margin-top:15px;
font-size:13px;
line-height:1.9;
}

.news-list-grid-section .nlg-grid {
gap:16px !important;
margin-bottom:38px;
}

.news-list-grid-section .nlg-card {
display:block !important;
min-height:0;
border-radius:6px !important;
}

.news-list-grid-section .nlg-card::before {
width:5px;
}

.news-list-grid-section .nlg-img,
.news-list-grid-section .nlg-no-img {
width:100%;
height:auto;
min-height:0;
aspect-ratio:16/9 !important;
}

.news-list-grid-section .nlg-body {
padding:24px 24px 58px !important;
}

.news-list-grid-section .nlg-body::after {
right:18px;
bottom:16px;
width:32px;
height:32px;
}

.news-list-grid-section .nlg-date {
margin-bottom:10px;
font-size:9px !important;
}

.news-list-grid-section .nlg-title {
font-size:16px;
line-height:1.6;
}

.news-list-grid-section .nlg-excerpt {
font-size:12px;
line-height:1.8;
}
}

@media (max-width:480px) {
.news-list-grid-section,
.news-page .news-list-grid-section {
padding:66px 15px 74px !important;
}

.news-list-grid-section .news-main-title {
font-size:22px;
}

.news-list-grid-section .nlg-img,
.news-list-grid-section .nlg-no-img {
aspect-ratio:4/3 !important;
}

.news-list-grid-section .nlg-body {
padding:22px 20px 54px !important;
}
}


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

/* Block: hero_page / sec_1788598201927 */
/* ピザ hero_page（下層ページ共通ヒーロー）— 元 style.css より */
.page-hero-wrapper {
  position: relative;
  min-height: 480px;
  padding: 200px 20px 100px;
  overflow: hidden;
  text-align: center;
  color: var(--pure-white);
  background-color: var(--bg-dark);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-hero-wrapper::after,
.ph-overlay {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(10,8,6,.60) 0%, rgba(10,8,6,.18) 45%, rgba(10,8,6,.72) 100%);
  pointer-events: none;
}
.page-hero-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--page-hero-bg);
  background-size: cover;
  background-position: center;
  animation: heroPagePanBg 40s linear infinite alternate;
}
.ph-container {
  position: relative;
  z-index: 3;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 28px;
}
.ph-title {
  display: inline-block;
  margin: 0;
  color: var(--pure-white);
  font-family: var(--font-en), var(--font-sans);
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.2;
  text-shadow: 0 4px 24px rgba(0,0,0,.65);
}
.ph-title::after {
  content: "";
  display: block;
  width: 72px;
  height: 1px;
  margin: 20px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light), transparent);
}
.ph-desc {
  max-width: 580px;
  margin: 22px auto 0;
  color: rgba(240,236,228,.65);
  font-size: .95rem;
  line-height: 2;
  letter-spacing: .04em;
}

/* 07. Global Footer */

@media (max-width: 768px) {
  .page-hero-wrapper { min-height: 340px; padding: 140px 20px 72px; }
  .ph-title { font-size: clamp(1.8rem, 8vw, 2.8rem); }
  .ph-title::after { display: none; }
}

/* Block: news_article_body / sec_1788601772262 */
.news-article-body-section {
position:relative;
overflow:hidden;
padding:110px 20px 120px;
background:
radial-gradient(circle at 92% 10%,rgba(152,65,47,.06) 0 110px,transparent 111px),
radial-gradient(circle at 8% 90%,rgba(201,52,36,.04) 0 130px,transparent 131px),
linear-gradient(180deg,#fffaf0 0%,#f4eadc 100%);
color:#3d302a;
}

.news-article-body-section::before {
content:"NEWS";
position:absolute;
top:38px;
right:4%;
color:rgba(152,65,47,.045);
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:clamp(68px,10vw,145px);
font-weight:900;
line-height:1;
letter-spacing:.08em;
pointer-events:none;
}

.news-article-body-section::after {
content:"";
position:absolute;
left:4%;
bottom:34px;
width:72px;
height:72px;
background:
radial-gradient(circle,rgba(152,65,47,.22) 2px,transparent 2.5px);
background-size:14px 14px;
opacity:.3;
pointer-events:none;
}

.news-detail-page .news-article-body-section {
padding:110px 20px 120px !important;
background:
radial-gradient(circle at 92% 10%,rgba(152,65,47,.06) 0 110px,transparent 111px),
radial-gradient(circle at 8% 90%,rgba(201,52,36,.04) 0 130px,transparent 131px),
linear-gradient(180deg,#fffaf0 0%,#f4eadc 100%) !important;
color:#3d302a !important;
}

.nab-container,
.news-detail-page .nab-container {
position:relative;
z-index:1;
width:100%;
max-width:900px !important;
margin:0 auto !important;
padding:52px 56px 58px !important;
background:#fffaf1 !important;
border:1px solid rgba(111,44,32,.12) !important;
border-radius:8px !important;
box-shadow:0 20px 50px rgba(84,48,34,.10) !important;
color:#3d302a !important;
}

.nab-container::before,
.news-detail-page .nab-container::before {
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:6px;
border-radius:8px 8px 0 0;
background:linear-gradient(
90deg,
#6f2c20 0%,
#98412f 45%,
#c93424 100%
);
}

.nab-header,
.news-detail-page .nab-header {
position:relative;
margin:0 0 38px !important;
padding:0 0 28px !important;
border-bottom:1px solid rgba(111,44,32,.12) !important;
text-align:left !important;
}

.nab-meta {
margin:0 0 14px !important;
}

.nab-date,
.news-detail-page .nab-date {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
width:max-content !important;
min-height:28px !important;
margin:0 !important;
padding:5px 11px !important;
border:1px solid rgba(201,52,36,.12) !important;
border-radius:999px !important;
background:#f0ddd2 !important;
color:#a6251b !important;
font-family:"Montserrat","Noto Sans JP",sans-serif !important;
font-size:10px !important;
font-weight:900 !important;
line-height:1 !important;
letter-spacing:.08em !important;
}

.nab-title,
.news-detail-page .nab-title {
position:relative;
margin:0 !important;
padding:0 0 18px !important;
color:#5d2d22 !important;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif !important;
font-size:clamp(28px,4vw,40px) !important;
font-weight:900 !important;
line-height:1.55 !important;
letter-spacing:.05em !important;
text-align:left !important;
}

.nab-title::after,
.news-detail-page .nab-title::after {
content:"";
position:absolute;
left:0;
bottom:0;
width:62px;
height:4px;
border-radius:999px;
background:linear-gradient(
90deg,
#98412f 0%,
#c93424 100%
);
}

.nab-main-img-box,
.news-detail-page .nab-main-img-box {
position:relative;
overflow:hidden;
width:100% !important;
margin:0 0 46px !important;
aspect-ratio:16/9 !important;
background:#eadfce !important;
border:0 !important;
border-radius:6px !important;
box-shadow:0 14px 34px rgba(84,48,34,.10) !important;
}

.nab-main-img-box img,
.news-detail-page .nab-main-img-box img {
display:block !important;
width:100% !important;
height:100% !important;
object-fit:cover !important;
filter:none !important;
}

.nab-body-text,
.news-detail-page .nab-body-text {
max-width:760px !important;
margin:0 auto !important;
color:#5e4d45 !important;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif !important;
font-size:16px !important;
font-weight:400 !important;
line-height:2.2 !important;
letter-spacing:.025em !important;
text-align:left !important;
}

.nab-body-text p {
margin:0 0 1.8em !important;
}

.nab-body-text h2,
.nab-body-text h3,
.nab-body-text h4 {
position:relative;
margin:2.4em 0 1em !important;
padding:0 0 12px !important;
color:#6f2c20 !important;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif !important;
font-weight:900 !important;
line-height:1.55 !important;
letter-spacing:.04em !important;
text-align:left !important;
}

.nab-body-text h2 {
font-size:24px !important;
}

.nab-body-text h3 {
font-size:20px !important;
}

.nab-body-text h4 {
font-size:17px !important;
}

.nab-body-text h2::after,
.nab-body-text h3::after,
.nab-body-text h4::after {
content:"";
position:absolute;
left:0;
bottom:0;
width:44px;
height:3px;
border-radius:999px;
background:#c93424;
}

.nab-body-text strong {
color:#4a2e25 !important;
font-weight:900 !important;
}

.nab-body-text a {
color:#b42f22 !important;
font-weight:700 !important;
text-decoration:underline !important;
text-decoration-color:rgba(180,47,34,.30) !important;
text-underline-offset:4px !important;
}

.nab-body-text ul,
.nab-body-text ol {
margin:1.5em 0 !important;
padding-left:1.6em !important;
}

.nab-body-text li {
margin:.45em 0 !important;
}

.nab-body-text blockquote {
margin:2em 0 !important;
padding:22px 24px !important;
background:#f6e8dc !important;
border-left:4px solid #98412f !important;
color:#5b493f !important;
}

.nab-body-text img {
display:block;
max-width:100% !important;
height:auto !important;
margin:28px auto !important;
border-radius:6px !important;
}

.nab-body-text table {
width:100% !important;
margin:2em 0 !important;
border-collapse:collapse !important;
background:#fffaf1 !important;
}

.nab-body-text th,
.nab-body-text td {
padding:13px 14px !important;
border:1px solid rgba(111,44,32,.14) !important;
font-size:14px !important;
line-height:1.7 !important;
}

.nab-body-text th {
background:#ead8c6 !important;
color:#6f2c20 !important;
font-weight:900 !important;
}

.nab-body-text td {
color:#5e4d45 !important;
}

.nab-footer-nav {
margin-top:48px !important;
padding-top:30px !important;
border-top:1px dashed rgba(111,44,32,.18) !important;
text-align:center !important;
}

.btn-nab-back,
.news-detail-page .btn-nab-back {
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
gap:9px !important;
min-width:200px !important;
min-height:50px !important;
margin:0 auto !important;
padding:0 28px !important;
border:1px solid #c93424 !important;
border-radius:4px !important;
background:linear-gradient(
135deg,
#98412f 0%,
#c93424 100%
) !important;
color:#fff !important;
font-family:"Noto Sans JP","Montserrat",sans-serif !important;
font-size:16px !important;
font-weight:900 !important;
line-height:1.3 !important;
letter-spacing:.05em !important;
text-decoration:none !important;
box-shadow:0 8px 20px rgba(153,45,30,.16) !important;
transition:
transform .25s ease,
background .25s ease,
box-shadow .25s ease !important;
}

.btn-nab-back:hover,
.news-detail-page .btn-nab-back:hover {
background:linear-gradient(
135deg,
#6f2c20 0%,
#a6251b 100%
) !important;
border-color:#a6251b !important;
color:#fff !important;
transform:translateY(-2px) !important;
box-shadow:0 12px 28px rgba(153,45,30,.24) !important;
}

@media (max-width:768px) {
.news-article-body-section,
.news-detail-page .news-article-body-section {
padding:76px 16px 84px !important;
}

.news-article-body-section::before {
top:24px;
right:-6px;
font-size:64px;
}

.news-article-body-section::after {
left:auto;
right:6px;
bottom:16px;
width:54px;
height:54px;
background-size:12px 12px;
}

.nab-container,
.news-detail-page .nab-container {
padding:34px 24px 38px !important;
border-radius:6px !important;
}

.nab-container::before,
.news-detail-page .nab-container::before {
height:5px;
border-radius:6px 6px 0 0;
}

.nab-header,
.news-detail-page .nab-header {
margin-bottom:30px !important;
padding-bottom:22px !important;
}

.nab-title,
.news-detail-page .nab-title {
padding-bottom:15px !important;
font-size:25px !important;
}

.nab-title::after,
.news-detail-page .nab-title::after {
width:52px;
height:4px;
}

.nab-main-img-box,
.news-detail-page .nab-main-img-box {
margin-bottom:34px !important;
aspect-ratio:4/3 !important;
border-radius:5px !important;
}

.nab-body-text,
.news-detail-page .nab-body-text {
font-size:14px !important;
line-height:2 !important;
}

.nab-body-text h2 {
font-size:21px !important;
}

.nab-body-text h3 {
font-size:18px !important;
}

.nab-body-text h4 {
font-size:16px !important;
}

.nab-body-text blockquote {
padding:18px 18px !important;
}

.nab-body-text th,
.nab-body-text td {
padding:10px !important;
font-size:13px !important;
}

.nab-footer-nav {
margin-top:38px !important;
padding-top:24px !important;
}

.btn-nab-back,
.news-detail-page .btn-nab-back {
width:100% !important;
max-width:280px !important;
}
}

@media (max-width:480px) {
.news-article-body-section,
.news-detail-page .news-article-body-section {
padding:66px 15px 74px !important;
}

.nab-container,
.news-detail-page .nab-container {
padding:28px 18px 32px !important;
}

.nab-title,
.news-detail-page .nab-title {
font-size:22px !important;
}

.nab-body-text,
.news-detail-page .nab-body-text {
font-size:13px !important;
line-height:1.95 !important;
}
}


/* =========================================================
   Page: access / 店舗案内｜肉汁うどん赤助｜静岡県伊豆の国市田京のうどん屋・食堂
========================================================= */

/* Block: hero_page / sec_1785932329448 */
/* ピザ hero_page（下層ページ共通ヒーロー）— 元 style.css より */
.page-hero-wrapper {
  position: relative;
  min-height: 480px;
  padding: 200px 20px 100px;
  overflow: hidden;
  text-align: center;
  color: var(--pure-white);
  background-color: var(--bg-dark);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-hero-wrapper::after,
.ph-overlay {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(10,8,6,.60) 0%, rgba(10,8,6,.18) 45%, rgba(10,8,6,.72) 100%);
  pointer-events: none;
}
.page-hero-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--page-hero-bg);
  background-size: cover;
  background-position: center;
  animation: heroPagePanBg 40s linear infinite alternate;
}
.ph-container {
  position: relative;
  z-index: 3;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 28px;
}
.ph-title {
  display: inline-block;
  margin: 0;
  color: var(--pure-white);
  font-family: var(--font-en), var(--font-sans);
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.2;
  text-shadow: 0 4px 24px rgba(0,0,0,.65);
}
.ph-title::after {
  content: "";
  display: block;
  width: 72px;
  height: 1px;
  margin: 20px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light), transparent);
}
.ph-desc {
  max-width: 580px;
  margin: 22px auto 0;
  color: rgba(240,236,228,.65);
  font-size: .95rem;
  line-height: 2;
  letter-spacing: .04em;
}

/* 07. Global Footer */

@media (max-width: 768px) {
  .page-hero-wrapper { min-height: 340px; padding: 140px 20px 72px; }
  .ph-title { font-size: clamp(1.8rem, 8vw, 2.8rem); }
  .ph-title::after { display: none; }
}

/* Block: custom_html / sec_1788600117349 */
.shop-intro-section {
position:relative;
overflow:hidden;
padding:120px 20px 130px;
background:
linear-gradient(180deg,#fffaf0 0%,#f3e8d8 100%);
color:#3d302a;
}

.shop-intro-section::before {
content:"";
position:absolute;
top:0;
left:50%;
width:1px;
height:72px;
background:rgba(152,65,47,.28);
transform:translateX(-50%);
}

.shop-intro-section::after {
content:"";
position:absolute;
left:50%;
bottom:34px;
width:90px;
height:18px;
background:
repeating-linear-gradient(
90deg,
#98412f 0 12px,
#c93424 12px 24px
);
opacity:.16;
transform:translateX(-50%);
}

.shop-intro-inner {
position:relative;
z-index:1;
width:100%;
max-width:980px;
margin:0 auto;
padding:58px 76px 64px;
background:rgba(255,250,241,.76);
border-top:1px solid rgba(111,44,32,.14);
border-bottom:1px solid rgba(111,44,32,.14);
text-align:center;
}

.shop-intro-inner::before,
.shop-intro-inner::after {
content:"";
position:absolute;
top:54px;
bottom:54px;
width:3px;
border-radius:999px;
background:linear-gradient(
180deg,
transparent 0%,
#98412f 18%,
#c93424 50%,
#98412f 82%,
transparent 100%
);
opacity:.48;
}

.shop-intro-inner::before {
left:24px;
}

.shop-intro-inner::after {
right:24px;
}

.shop-intro-kicker {
display:inline-flex;
align-items:center;
justify-content:center;
margin:0 auto 16px;
padding:6px 14px;
border-radius:999px;
background:#ead8c6;
color:#98412f;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
line-height:1;
letter-spacing:.16em;
}

.shop-intro-title {
position:relative;
width:max-content;
max-width:100%;
margin:0 auto 34px;
padding-bottom:18px;
color:#6f2c20;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
font-size:clamp(30px,4vw,42px);
font-weight:900;
line-height:1.45;
letter-spacing:.07em;
}

.shop-intro-title::after {
content:"";
position:absolute;
left:50%;
bottom:0;
width:64px;
height:5px;
border-radius:999px;
background:linear-gradient(
90deg,
#98412f 0%,
#c93424 100%
);
transform:translateX(-50%);
}

.shop-intro-copy {
max-width:820px;
margin:0 auto;
}

.shop-intro-copy p {
margin:0;
color:#5f4d44;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
font-size:16px;
font-weight:400;
line-height:2.25;
letter-spacing:.03em;
text-align:center;
}

.shop-intro-copy p + p {
margin-top:16px;
}

@media (max-width:768px) {
.shop-intro-section {
padding:82px 16px 92px;
}

.shop-intro-section::before {
height:48px;
}

.shop-intro-inner {
max-width:680px;
padding:44px 34px 48px;
}

.shop-intro-inner::before,
.shop-intro-inner::after {
top:42px;
bottom:42px;
width:2px;
}

.shop-intro-inner::before {
left:12px;
}

.shop-intro-inner::after {
right:12px;
}

.shop-intro-kicker {
margin-bottom:13px;
font-size:9px;
}

.shop-intro-title {
margin-bottom:28px;
padding-bottom:15px;
font-size:25px;
}

.shop-intro-title::after {
width:52px;
height:4px;
}

.shop-intro-copy p {
font-size:14px;
line-height:2;
}

.shop-intro-copy p + p {
margin-top:14px;
}
}

@media (max-width:480px) {
.shop-intro-section {
padding:70px 15px 80px;
}

.shop-intro-inner {
padding:38px 22px 42px;
}

.shop-intro-inner::before {
left:6px;
}

.shop-intro-inner::after {
right:6px;
}

.shop-intro-title {
font-size:22px;
}

.shop-intro-copy p {
font-size:13px;
line-height:1.95;
    text-align: left;
}
    
}

/* Block: custom_html / sec_1788600225139 */
.shop-profile-section {
position:relative;
overflow:hidden;
padding:120px 20px 130px;
background:
radial-gradient(circle at 92% 14%,rgba(152,65,47,.06) 0 120px,transparent 121px),
linear-gradient(180deg,#f4eadc 0%,#fffaf0 100%);
color:#3d302a;
}

.shop-profile-section::before {
content:"";
position:absolute;
left:4%;
top:70px;
width:74px;
height:74px;
background:
radial-gradient(circle,rgba(152,65,47,.23) 2px,transparent 2.5px);
background-size:14px 14px;
opacity:.32;
pointer-events:none;
}

.shop-profile-section::after {
content:"";
position:absolute;
right:-90px;
bottom:-100px;
width:260px;
height:260px;
border:34px solid rgba(201,52,36,.045);
border-radius:50%;
pointer-events:none;
}

.shop-profile-inner {
position:relative;
z-index:1;
display:grid;
grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);
gap:70px;
align-items:center;
width:100%;
max-width:1180px;
margin:0 auto;
}

.shop-profile-info {
position:relative;
padding:46px 42px 42px;
background:#fffaf1;
border:1px solid rgba(111,44,32,.12);
border-radius:8px;
box-shadow:0 18px 44px rgba(84,48,34,.09);
}

.shop-profile-info::before {
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:6px;
border-radius:8px 8px 0 0;
background:linear-gradient(
90deg,
#6f2c20 0%,
#98412f 45%,
#c93424 100%
);
}

.shop-profile-heading {
margin-bottom:30px;
}

.shop-profile-kicker {
display:inline-flex;
align-items:center;
justify-content:center;
margin:0 0 12px;
padding:6px 14px;
border-radius:999px;
background:#ead8c6;
color:#98412f;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
line-height:1;
letter-spacing:.16em;
}

.shop-profile-title {
position:relative;
margin:0;
padding-bottom:18px;
color:#6f2c20;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
font-size:clamp(30px,4vw,40px);
font-weight:900;
line-height:1.45;
letter-spacing:.07em;
}

.shop-profile-title::after {
content:"";
position:absolute;
left:0;
bottom:0;
width:62px;
height:5px;
border-radius:999px;
background:linear-gradient(
90deg,
#98412f 0%,
#c93424 100%
);
}

.shop-profile-list {
margin:0;
padding:0;
}

.shop-profile-row {
display:grid;
grid-template-columns:100px minmax(0,1fr);
gap:22px;
align-items:start;
padding:18px 0;
border-bottom:1px dashed rgba(111,44,32,.16);
}

.shop-profile-row:first-child {
padding-top:0;
}

.shop-profile-row dt,
.shop-profile-row dd {
margin:0;
}

.shop-profile-row dt {
display:inline-flex;
align-items:center;
justify-content:center;
width:max-content;
min-width:72px;
min-height:28px;
padding:4px 10px;
border-radius:3px;
background:#ead8c6;
color:#6f2c20;
font-family:"Noto Sans JP",sans-serif;
font-weight:900;
line-height:1.4;
}

.shop-profile-row dd {
padding-top:3px;
color:#58473f;
font-family:"Noto Sans JP",sans-serif;
font-weight:500;
line-height:1.9;
}

.shop-profile-tel {
color:#a6251b;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:18px;
font-weight:900;
letter-spacing:.02em;
text-decoration:none;
}

.shop-profile-tel:hover {
color:#c93424;
}

.shop-profile-actions {
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
margin-top:30px;
}

.shop-profile-btn {
display:inline-flex;
align-items:center;
justify-content:center;
min-height:52px;
padding:0 20px;
border-radius:4px;
font-family:"Noto Sans JP",sans-serif;
font-size:13px;
font-weight:900;
letter-spacing:.04em;
text-decoration:none;
transition:
transform .25s ease,
background .25s ease,
color .25s ease,
border-color .25s ease;
}

.shop-profile-btn-tel {
background:linear-gradient(
135deg,
#98412f 0%,
#c93424 100%
);
border:1px solid #c93424;
color:#fff;
}

.shop-profile-btn-tel:hover {
background:linear-gradient(
135deg,
#6f2c20 0%,
#a6251b 100%
);
border-color:#a6251b;
color:#fff;
transform:translateY(-2px);
}

.shop-profile-btn-outline {
background:transparent;

border:1px solid rgba(111,44,32,.36);
color:#6f2c20;
}

.shop-profile-btn-outline:hover {
background:#6f2c20;
border-color:#6f2c20;
color:#fff;
transform:translateY(-2px);
}

.shop-profile-image-wrap {
position:relative;
padding:28px 0 0 28px;
}

.shop-profile-image-wrap::before {
content:"";
position:absolute;
top:0;
left:0;
width:76%;
height:78%;
background:#d7bea9;
border-radius:8px;
transform:rotate(-2deg);
opacity:.72;
}

.shop-profile-image-wrap::after {
content:"";
position:absolute;
right:-18px;
bottom:-22px;
width:52%;
height:44%;
border:4px solid rgba(152,65,47,.16);
border-radius:8px;
pointer-events:none;
}

.shop-profile-image {
position:relative;
z-index:1;
overflow:hidden;
width:100%;
aspect-ratio:4/3;
border-radius:8px;
background:#e7d9ca;
box-shadow:0 22px 50px rgba(84,48,34,.16);
}

.shop-profile-image img {
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:transform .55s ease;
}

.shop-profile-image:hover img {
transform:scale(1.035);
}

@media (max-width:900px) {
.shop-profile-section {
padding:90px 20px 100px;
}

.shop-profile-inner {
grid-template-columns:1fr;
gap:46px;
max-width:760px;
}

.shop-profile-image-wrap {
order:-1;
max-width:680px;
width:100%;
margin:0 auto;
}
}

@media (max-width:600px) {
.shop-profile-section {
padding:72px 16px 80px;
}

.shop-profile-info {
padding:36px 22px 28px;
}

.shop-profile-heading {
margin-bottom:24px;
}

.shop-profile-title {
padding-bottom:15px;
font-size:25px;
}

.shop-profile-title::after {
width:52px;
height:4px;
}

.shop-profile-row {
grid-template-columns:82px minmax(0,1fr);
gap:14px;
padding:15px 0;
}

.shop-profile-row dt {
min-width:64px;
font-size:11px;
}

.shop-profile-row dd {
font-size:13px;
line-height:1.8;
}

.shop-profile-tel {
font-size:16px;
}

.shop-profile-actions {
grid-template-columns:1fr;
gap:10px;
margin-top:24px;
}

.shop-profile-image-wrap {
padding:18px 0 0 18px;
}

.shop-profile-image-wrap::after {
right:-8px;
bottom:-12px;
}

.shop-profile-image {
aspect-ratio:4/3;
}
}

@media (max-width:480px) {
.shop-profile-section {
padding:66px 15px 74px;
}

.shop-profile-info {
padding:32px 18px 24px;
}

.shop-profile-title {
font-size:22px;
}
}

/* Block: gmap / sec_1785932342748 */
.gmap-section {
position:relative;
overflow:hidden;
padding:110px 20px 120px;
background:
radial-gradient(circle at 92% 12%,rgba(152,65,47,.06) 0 110px,transparent 111px),
radial-gradient(circle at 8% 88%,rgba(201,52,36,.04) 0 130px,transparent 131px),
linear-gradient(180deg,#fffaf0 0%,#f4eadc 100%);
color:#3d302a;
}

.gmap-section::before {
content:"ACCESS";
position:absolute;
top:34px;
left:50%;
color:rgba(152,65,47,.045);
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:clamp(70px,11vw,150px);
font-weight:900;
line-height:1;
letter-spacing:.08em;
white-space:nowrap;
transform:translateX(-50%);
pointer-events:none;
}

.gmap-section::after {
content:"";
position:absolute;
left:4%;
bottom:34px;
width:76px;
height:76px;
background:
radial-gradient(circle,rgba(152,65,47,.24) 2px,transparent 2.5px);
background-size:14px 14px;
opacity:.32;
pointer-events:none;
}

.gmap-container {
position:relative;
z-index:1;
width:100%;
max-width:1120px;
margin:0 auto;
}

.gmap-header {
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
max-width:760px;
margin:0 auto 46px;
text-align:center;
}

.gmap-title {
position:relative;
display:block;
width:max-content;
max-width:100%;
margin:0 auto;
padding:0 0 18px;
color:#6f2c20;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
font-size:clamp(30px,4vw,42px);
font-weight:900;
line-height:1.45;
letter-spacing:.07em;
}

.gmap-title::before {
content:"ACCESS";
display:block;
width:max-content;
margin:0 auto 11px;
padding:6px 14px;
border-radius:999px;
background:#ead8c6;
color:#98412f;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:800;
line-height:1;
letter-spacing:.16em;
}

.gmap-title::after {
content:"";
position:absolute;
left:50%;
bottom:0;
width:62px;
height:5px;
margin:0;
border-radius:999px;
background:linear-gradient(
90deg,
#98412f 0%,
#c93424 100%
);
transform:translateX(-50%);
}

.gmap-desc {
max-width:680px;
margin:18px auto 0;
color:#66554d;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
font-size:14px;
font-weight:400;
line-height:2;
letter-spacing:.025em;
text-align:center;
}

.gmap-frame-wrap {
position:relative;
width:100%;
min-height:480px;
margin-top:42px;
padding:10px;
overflow:hidden;
background:#fffaf1;
border:1px solid rgba(111,44,32,.12);
border-radius:8px;
box-shadow:0 18px 42px rgba(84,48,34,.10);
}

.gmap-frame-wrap::before {
content:"";
position:absolute;
top:0;
left:0;
z-index:2;
width:100%;
height:6px;
background:linear-gradient(
90deg,
#6f2c20 0%,
#98412f 45%,
#c93424 100%
);
pointer-events:none;
}

.gmap-frame-wrap::after {
content:"MAP";
position:absolute;
top:18px;
right:20px;
z-index:3;
display:inline-flex;
align-items:center;
justify-content:center;
min-height:26px;
padding:5px 11px;
border-radius:999px;
background:rgba(255,250,241,.92);
border:1px solid rgba(111,44,32,.14);
color:#98412f;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:9px;
font-weight:900;
line-height:1;
letter-spacing:.14em;
pointer-events:none;
}

.gmap-frame-wrap iframe {
display:block;
width:100%;
height:100%;
min-height:460px;
border:0;
border-radius:4px;
filter:none;
}

.gmap-placeholder {
display:flex;
align-items:center;
justify-content:center;
min-height:460px;
padding:20px;
background:#efe3d3;
color:#765f55;
font-family:"Noto Sans JP","Montserrat",sans-serif;
font-size:13px;
font-weight:700;
line-height:1.8;
letter-spacing:.05em;
text-align:center;
text-transform:none;
}

@media (max-width:768px) {
.gmap-section {
padding:76px 16px 84px;
}

.gmap-section::before {
top:24px;
font-size:64px;
}

.gmap-section::after {
left:auto;
right:5px;
bottom:16px;
width:54px;
height:54px;
background-size:12px 12px;
}

.gmap-header {
margin-bottom:36px;
}

.gmap-title {
padding-bottom:15px;
font-size:25px;
}

.gmap-title::before {
font-size:9px;
}

.gmap-title::after {
width:52px;
height:4px;
}

.gmap-desc {
margin-top:15px;
font-size:13px;
line-height:1.9;
}

.gmap-frame-wrap {
min-height:360px;
margin-top:32px;
padding:7px;
border-radius:6px;
}

.gmap-frame-wrap iframe,
.gmap-placeholder {
min-height:346px;
}

.gmap-frame-wrap::after {
top:14px;
right:14px;
}
}

@media (max-width:480px) {
.gmap-section {
padding:66px 15px 74px;
}

.gmap-title {
font-size:22px;
}

.gmap-frame-wrap {
min-height:320px;
}

.gmap-frame-wrap iframe,
.gmap-placeholder {
min-height:306px;
}
}


/* =========================================================
   Page: concept / こだわり｜肉汁うどん赤助｜静岡県伊豆の国市田京のうどん屋・食堂
========================================================= */

/* Block: hero_page / sec_1785932055215 */
/* ピザ hero_page（下層ページ共通ヒーロー）— 元 style.css より */
.page-hero-wrapper {
  position: relative;
  min-height: 480px;
  padding: 200px 20px 100px;
  overflow: hidden;
  text-align: center;
  color: var(--pure-white);
  background-color: var(--bg-dark);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-hero-wrapper::after,
.ph-overlay {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(10,8,6,.60) 0%, rgba(10,8,6,.18) 45%, rgba(10,8,6,.72) 100%);
  pointer-events: none;
}
.page-hero-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--page-hero-bg);
  background-size: cover;
  background-position: center;
  animation: heroPagePanBg 40s linear infinite alternate;
}
.ph-container {
  position: relative;
  z-index: 3;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 28px;
}
.ph-title {
  display: inline-block;
  margin: 0;
  color: var(--pure-white);
  font-family: var(--font-en), var(--font-sans);
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 900;
  letter-spacing: .14em;
  line-height: 1.2;
  text-shadow: 0 4px 24px rgba(0,0,0,.65);
}
.ph-title::after {
  content: "";
  display: block;
  width: 72px;
  height: 1px;
  margin: 20px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light), transparent);
}
.ph-desc {
  max-width: 580px;
  margin: 22px auto 0;
  color: rgba(240,236,228,.65);
  font-size: .95rem;
  line-height: 2;
  letter-spacing: .04em;
}

/* 07. Global Footer */

@media (max-width: 768px) {
  .page-hero-wrapper { min-height: 340px; padding: 140px 20px 72px; }
  .ph-title { font-size: clamp(1.8rem, 8vw, 2.8rem); }
  .ph-title::after { display: none; }
}


/* =========================================================
   Page: footer / FOOTER ページ
========================================================= */

/* Block: global_footer / sec_1782112173284 */
.global-footer {
position:relative;
overflow:hidden;
padding:86px 40px 58px;
background:
radial-gradient(circle at 85% 20%,rgba(201,52,36,.16) 0,rgba(201,52,36,.08) 120px,transparent 121px),
linear-gradient(135deg,#2a1913 0%,#4a241b 55%,#6f2c20 100%);
color:#fff8ed;
border-top:0;
text-align:center;
}

.global-footer::before {
content:"";
position:absolute;
left:5%;
bottom:28px;
width:78px;
height:78px;
background:
radial-gradient(circle,rgba(255,255,255,.16) 2px,transparent 2.5px);
background-size:14px 14px;
opacity:.35;
pointer-events:none;
}

.global-footer::after {
content:"";
position:absolute;
left:50%;
top:0;
width:min(420px,60%);
height:4px;
border-radius:0 0 999px 999px;
background:
linear-gradient(
90deg,
transparent 0%,
#b65f37 20%,
#c93424 50%,
#b65f37 80%,
transparent 100%
);
transform:translateX(-50%);
pointer-events:none;
}

.global-footer .info-grid {
display:none !important;
}

.footer-nav-wrap {
position:relative;
z-index:1;
display:flex !important;
flex-direction:column;
align-items:center;
width:100%;
max-width:1140px;
margin:0 auto;
text-align:center;
}

.footer-nav-brand {
order:1;
margin-bottom:34px;
}

.footer-nav {
order:2;
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:12px 30px;
margin:0;
padding:0;
}

.footer-nav-brand h2 {
position:relative;
margin:0;
padding:0 0 20px;
color:#fff8ed;
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
font-size:clamp(28px,3vw,38px);
font-weight:900;
line-height:1.4;
letter-spacing:.08em;
text-transform:none;
}

.footer-nav-brand h2::after {
content:"";
position:absolute;
left:50%;
bottom:0;
width:64px;
height:4px;
border-radius:999px;
background:linear-gradient(90deg,#d68a62 0%,#c93424 100%);
transform:translateX(-50%);
}

.footer-nav-link {
position:relative;
display:inline-flex;
align-items:center;
justify-content:center;
min-height:38px;
padding:0 2px;
color:rgba(255,248,237,.74);
font-family:"Noto Sans JP","Montserrat",sans-serif;
font-size:16px;
font-weight:700;
line-height:1.4;
letter-spacing:.06em;
text-transform:none;
text-decoration:none;
transition:color .25s ease;
}

.footer-nav-link::after {
content:"";
position:absolute;
left:50%;
bottom:1px;
width:0;
height:2px;
border-radius:999px;
background:#d68a62;
transform:translateX(-50%);
transition:width .25s ease;
}

.footer-nav-link:hover {
color:#fff;
}

.footer-nav-link:hover::after {
width:24px;
}

.footer-copy-text,
.footer-copy {
position:relative;
z-index:1;
padding:20px;
background:#251510;
border-top:1px solid rgba(255,255,255,.08);
color:rgba(255,248,237,.52);
text-align:center;
font-family:"Montserrat","Noto Sans JP",sans-serif;
font-size:10px;
font-weight:500;
letter-spacing:.08em;
}

/* =========================================================
   FLOATING ACTIONS / PC
========================================================= */

.fc-floating-actions {
position:fixed;
right:18px;
top:50%;
bottom:auto;
left:auto;
z-index:9999;
display:flex;
flex-direction:column;
gap:10px;
padding:0;
transform:translateY(-50%);
pointer-events:none;
background:none;
border:0;
backdrop-filter:none;
}

.fc-floating-action {
pointer-events:auto;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:9px;
width:70px;
min-width:70px;
min-height:112px;
padding:16px 8px;
border:1px solid rgba(111,44,32,.18);
border-radius:8px;
background:#fffaf1;
color:#6f2c20;
font-family:"Noto Sans JP",sans-serif;
font-weight:800;
letter-spacing:.05em;
box-shadow:0 10px 28px rgba(58,29,20,.16);
backdrop-filter:blur(6px);
-webkit-backdrop-filter:blur(6px);
transition:
transform .25s ease,
background .25s ease,
color .25s ease,
box-shadow .25s ease;
}

.fc-floating-action i {
display:inline-flex;
align-items:center;
justify-content:center;
width:32px;
height:32px;
border:1px solid currentColor;
border-radius:50%;
font-size:13px;
}

.fc-floating-action span {
writing-mode:vertical-rl;
text-orientation:upright;
font-size:12px;
line-height:1.2;
}

.fc-floating-action:hover {
background:#f2e2d3;
color:#98412f;
transform:translateX(-3px);
box-shadow:0 14px 34px rgba(58,29,20,.20);
}

/* 予約だけ強くする */
.fc-floating-reserve {
background:linear-gradient(180deg,#98412f 0%,#c93424 100%);
border-color:transparent;
color:#fff;
box-shadow:0 12px 28px rgba(143,44,28,.26);
}

.fc-floating-reserve:hover {
background:linear-gradient(180deg,#6f2c20 0%,#a6251b 100%);
border-color:transparent;
color:#fff;
}

/* 電話は生成り */
.fc-floating-tel {
background:#fffaf1;
color:#6f2c20;
}

/* LINE */
.fc-floating-line {
background:#fff;
color:#1f8f55;
border-color:rgba(31,143,85,.24);
}

.fc-floating-line:hover {
background:#1f8f55;
color:#fff;
}

/* Instagram */
.fc-floating-instagram {
background:#fffaf1;
color:#a43e56;
border-color:rgba(164,62,86,.24);
}

.fc-floating-instagram:hover {
background:#a43e56;
color:#fff;
}

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

@media (max-width:768px) {
.global-footer {
padding:68px 20px 46px;
}

.global-footer::before {
left:auto;
right:8px;
bottom:20px;
width:56px;
height:56px;
background-size:12px 12px;
}

.footer-nav-brand {
margin-bottom:28px;
}

.footer-nav-brand h2 {
font-size:26px;
padding-bottom:16px;
}

.footer-nav-brand h2::after {
width:54px;
height:3px;
}

.footer-nav {
gap:8px 22px;
}

.footer-nav-link {
min-height:34px;
font-size:11px;
}

body.has-floating-actions {
padding-bottom:76px;
}

.fc-floating-actions {
left:0;
right:0;
top:auto;
bottom:0;
flex-direction:row;
gap:0;
padding:8px 8px calc(8px + env(safe-area-inset-bottom));
background:rgba(255,250,241,.97);
border-top:1px solid rgba(111,44,32,.12);
box-shadow:0 -6px 24px rgba(58,29,20,.10);
transform:none;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
}

.fc-floating-action {
flex:1 1 0;
width:auto;
min-width:0;
min-height:54px;
padding:7px 5px;
flex-direction:column;
gap:4px;
border:0;
border-radius:6px;
background:transparent;
color:#6f2c20;
box-shadow:none;
}

.fc-floating-action i {
width:24px;
height:24px;
font-size:11px;
}

.fc-floating-action span {
writing-mode:horizontal-tb;
text-orientation:mixed;
font-size:10px;
line-height:1.2;
}

.fc-floating-action:hover {
transform:none;
box-shadow:none;
}

/* モバイルでも予約だけ強調 */
.fc-floating-reserve {
background:linear-gradient(135deg,#98412f 0%,#c93424 100%);
color:#fff;
border-radius:6px;
}

.fc-floating-line {
color:#1f8f55;
}

.fc-floating-instagram {
color:#a43e56;
}
}

@media (max-width:480px) {
.global-footer {
padding:60px 16px 40px;
}

.footer-nav {
gap:6px 16px;
}

.footer-nav-link {
font-size:10px;
}

.footer-nav-brand h2 {
font-size:23px;
}

.footer-copy-text,
.footer-copy {
padding:18px 14px;
font-size:9px;
}
}
