@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/* font-family: "Noto Sans JP", sans-serif; */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
/* font-family: "Noto Serif JP", serif; */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@100;200;300;400;500;600;700&display=swap');
/* font-family: 'Noto Sans', sans-serif; */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@100;200;300;400;500;600;700&display=swap');
/* font-family: 'Noto Serif', serif; */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap');
/* font-family: "Montserrat", sans-serif; */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&display=swap');
/* font-family: "Cinzel", serif; */
@import url('https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400;1,700&display=swap');
/* font-family: "Courier Prime", monospace; */

/* NOTE: 共通 */
body, html { width: 100%; height: 100%;}
html { font-size: 62.5%;}
body { font-size: 1.6em; color: #222; font-family: "Noto Sans JP", sans-serif; font-weight: 400; background-image: url('../images/bg.jpg');}
#wrapper { position: relative; height: 100%;}
.spacer { height: 70px;}
.desktop-only { display: none;}
#onScrollTarget { position: absolute; top: 0; left: 0; width: 0; height: 0; display: block;}

/* NOTE: header */
header { position: fixed; top: 0; left: 0; width: 100%; background: rgba(0, 0, 0, 0.8); z-index: 100; transition: 0.3s;}
#pageHome header.scrolled { opacity: 1; pointer-events: auto;}
header .inner { width: 100%; height: 70px; display: flex; align-items: center; padding-left: 20px;}
header .inner .logo img { width: 200px; height: auto; transform: translateY(-3px);}
header .inner ul { display: none;}

#lang { position: fixed; top: 22px; right: 65px; cursor: pointer; z-index: 102;}
#lang i { color: #fff; font-size: 24px;}
#lang a { display: none; position: absolute; bottom: -40px; left: 50%; transform: translateX(-50%); padding: 3px 10px; background: #fff; text-decoration: none; color: #222; min-width: 80px; text-align: center;}
#lang a:before { content: ""; position: absolute; top: -16px; left: 50%; margin-left: -8px; border: 8px solid transparent; border-bottom: 8px solid #fff;}
#lang i.active + a { display: block;}

/* NOTE: hamburger */
#hamburger { position: fixed; width: 50px; height: 50px; top: 12px; right: 10px; cursor: pointer; z-index: 102; transition: 0.3s;}
#pageHome #hamburger.scrolled { opacity: 1; pointer-events: auto;}
#hamburger span { position: absolute; left: 50%; transform: translateX(-50%); transition: all .3s ease-out;}
#hamburger span:nth-of-type(1) { top: 12px; width: 26px; height: 1px; background: #fff;}
#hamburger span:nth-of-type(2) { top: 21px; width: 26px; height: 1px; background: #fff;}
#hamburger span:nth-of-type(3) { top: 30px; width: 26px; height: 1px; background: #fff;}
/* #hamburger span:nth-of-type(4) { top: 30px; font-size: 0.9rem; color: #fff;} */
#hamburger.active span:nth-of-type(1) { top: 20px; transform: translateX(-50%) translateY(-50%) rotate(-45deg); background: #222;}
#hamburger.active span:nth-of-type(2) { opacity: 0;}
#hamburger.active span:nth-of-type(3) { top: 20px; transform: translateX(-50%) translateY(-50%) rotate(45deg);  background: #222;}

/* NOTE: nav */
nav#global { position: fixed; top: 0; right: -70%; width: 70%; height: 100%; overflow: auto; -webkit-overflow-scrolling: touch; z-index: 101; padding: 70px 30px 30px 30px; transition: 0.3s; background: rgba(255, 255, 255, 0.9);}
nav#global.active { transform: translateX(-100%); transition-duration: 0.3s;}
nav#global ul { list-style: none;}
nav#global ul li { border-bottom: 1px dotted #666;}
nav#global a { font-family: "Montserrat", sans-serif; font-weight: 500; display: block; font-size: 1.6rem; text-decoration: none; color: #444; line-height: 1.2; padding: 20px;}

/* NOTE: footer */
#pagetop { opacity: 0; pointer-events: none; background: rgba(188, 77, 37, 0.9); color: #fff; width: 50px; height: 50px; border-radius: 50%; text-align: center; line-height: 45px; position: fixed; bottom: 20px; right: 10px; cursor: pointer; z-index: 90; transition: 0.3s;}
#pagetop.active { opacity: 1; pointer-events: auto;}
footer { width: 100%; background: #222;}
footer .inner { width: 100%; padding: 30px 20px 50px 20px;}
footer .inner ul { list-style: none; text-align: center; margin-bottom: 50px;}
footer .inner ul li { display: inline-block;}
footer .inner ul li + li { margin-top: 5px;}
footer .inner ul li a { width: 200px; height: 60px; background: #fff; display: flex; justify-content: center; align-items: center; border-radius: 5px;}
footer .inner ul li img { width: 50%;}
footer .inner small { display: block; font-size: 1.1rem; color: #fff; letter-spacing: 3px; text-align: center; display: flex; justify-content: center; align-items: center;}
footer .inner small img { width: 40px; height: auto; margin: 0 5px;}

/* NOTE: breadcrumbs */
/* #breadCrumbs { width: 100%; padding: 10px 0; font-size: 1.3rem; line-height: 1.2; color: #444; background: #f6f6f6;}
#breadCrumbs #breadCrumbsInner { width: 100%; padding: 0 20px;}
#breadCrumbs span { margin: 0 8px;}
#breadCrumbs span:first-child { margin: 0 5px 0 0;}
#breadCrumbs a { color: #444; text-decoration: none;}
#breadCrumbs a:hover { text-decoration: underline;} */

/* NOTE: IntersectionObserver */
.target { transform: translateY(50px); opacity: 0; transition: 0.5s;}
.target.active { transform: none; opacity: 1;}

/* NOTE: pageHome */
#pageHome section.hero { width: 100%; height: 100vh; position: relative;}
#pageHome section.hero .bg1 { width: 100%; height: 100vh; object-fit: cover;}
#pageHome section.hero .overlay { position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.2); z-index: 1;}
#pageHome section.hero .txt { opacity: 0; position: absolute; width: 100%; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; z-index: 2;}
#pageHome section.hero .txt .title { display: inline-block; position: relative; text-align: center;}
#pageHome section.hero .txt .title .ja { font-family: "Cinzel", serif; font-weight: 500; display: inline-block; font-weight: 300; font-size: 7.0rem; line-height: 1.2; color: #fff; clip-path: inset(0 100% 0 0);}
#pageHome section.hero .txt .text { display: inline-block; position: relative; text-align: center; margin-top: 20px;}
#pageHome section.hero .txt .text .ja { font-family: "Montserrat", sans-serif; display: inline-block; font-weight: 400; font-size: 2.0rem; line-height: 1.2; color: #fff; clip-path: inset(0 100% 0 0); letter-spacing: 1px;}

#pageHome section.hero .txt.active { opacity: 1;}
#pageHome section.hero .txt.active .bar { animation: bar-anime 1s 0.5s forwards;}
#pageHome section.hero .txt.active .ja { animation: txt-anime 0.8s 1s forwards;}

#pageHome .block-title { text-align: center; margin-bottom: 50px; position: relative;}
#pageHome .block-title h2 { font-family: "Montserrat", sans-serif; font-weight: 500; display: block; width: 100%; font-size: 3.8rem; color: #222; line-height: 1.0; letter-spacing: 3px; text-align: center;}
#pageHome .block-title span { font-family: "Noto Sans JP", sans-serif; font-weight: 400; display: inline-block; font-size: 1.5rem; color: #222; line-height: 1.3; padding: 0 45px; position: relative;}
#pageHome .block-title span:before, #pageHome .block-title span:after { content: ''; position: absolute; top: 50%; display: inline-block; width: 30px; height: 1px; background: #222;}
#pageHome .block-title span:before { left: 0;}
#pageHome .block-title span:after { right: 0;}

#pageHome section.shop-title { text-align: center; width: 100%; height: 600px; position: relative; display: flex; justify-content: center; align-items: center;}
#pageHome section.shop-title .bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1;}
#pageHome section.shop-title .inner { width: 400px; height: 300px; display: flex; justify-content: center; align-items: center; flex-direction: column; background: rgba(0,0,0,0.5);}
#pageHome section.shop-title h2 { font-family: "Montserrat", sans-serif; font-weight: 500; display: block; width: 100%; font-size: 3.8rem; color: #fff; line-height: 1.0; letter-spacing: 3px; text-align: center;}
#pageHome section.shop-title span { font-family: "Noto Sans JP", sans-serif; font-weight: 400; display: inline-block; font-size: 1.5rem; color: #fff; line-height: 1.3; padding: 0 45px; position: relative;}
#pageHome section.shop-title span:before, #pageHome section.shop-title span:after { content: ''; position: absolute; top: 50%; display: inline-block; width: 30px; height: 1px; background: #fff;}
#pageHome section.shop-title span:before { left: 0;}
#pageHome section.shop-title span:after { right: 0;}

#pageHome section.shop { }
#pageHome section.shop ul { list-style: none; display: flex; flex-wrap: wrap;}
#pageHome section.shop ul li { width: 100%;}
/* #pageHome section.shop ul li:nth-of-type(3n) { margin-right: 0;} */
#pageHome section.shop ul li a { display: block; color: #222; width: 100%; height: 400px;  overflow: hidden; position: relative;}
/* #pageHome section.shop ul li .logo { width: 100%; height: 50px; text-align: center; margin-bottom: 10px;}
#pageHome section.shop ul li .logo img { height: 100%; width: auto;} */
#pageHome section.shop ul li.target:nth-of-type(2) { transition-delay: 0.3s;}
#pageHome section.shop ul li.target:nth-of-type(3) { transition-delay: 0.6s;}
/* #pageHome section.shop ul li .img { position: relative; overflow: hidden;} */
#pageHome section.shop ul li a img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: 0.3s;}
#pageHome section.shop ul li a:hover img.photo { transform: scale(1.05);}
#pageHome section.shop ul li .logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 75%; height: 170px; background: rgba(255,255,255,0.8); padding: 20px; display: flex; justify-content: center; align-items: center; flex-direction: column;}
#pageHome section.shop ul li:nth-of-type(1) .logo img { width: 70%; height: auto;}
#pageHome section.shop ul li:nth-of-type(2) .logo img { width: 70%; height: auto;}
#pageHome section.shop ul li:nth-of-type(3) .logo img { width: 70%; height: auto;}
#pageHome section.shop ul li .logo p { font-family: "Noto Serif JP", serif; color: #444; margin-top: 10px; font-size: 1.5rem; line-height: 1.4; font-weight: 700; font-feature-settings: "palt"; text-align: center;}

#pageHome section.shop .btn span { font-family: "Montserrat", sans-serif; font-weight: 500; display: inline-block; text-decoration: none; text-align: center; font-size: 1.8rem; line-height: 1.0; color: #222; padding: 8px 30px; background: #fff; border-radius: 40px; border: 1px solid #222; transition: .3s;}
#pageHome section.shop .btn span i { margin-left: 5px;}
#pageHome section.shop .btn span:hover { background: #ef6326; color: #fff;}

#pageHome section.about-title { text-align: center; width: 100%; height: 600px; position: relative; display: flex; justify-content: center; align-items: center;}
#pageHome section.about-title .bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1;}
#pageHome section.about-title .inner { display: flex; justify-content: center; align-items: center; flex-direction: column;}
#pageHome section.about-title h2 { font-family: "Montserrat", sans-serif; font-weight: 500; display: block; width: 100%; font-size: 3.8rem; color: #fff; line-height: 1.0; letter-spacing: 3px; text-align: center; margin-bottom: 20px;}
#pageHome section.about-title span { font-family: "Noto Serif JP", serif; font-weight: 500; display: inline-block; font-size: 1.8rem; color: #fff; line-height: 1.3;}
#pageHome section.about-title .btn { text-align: center; margin-top: 50px;}
#pageHome section.about-title .btn a { font-family: "Noto Sans JP", sans-serif; display: inline-block; text-decoration: none; text-align: center; font-size: 1.8rem; line-height: 1.0; color: #222; padding: 15px 30px; background: #fff; border-radius: 40px; border: 1px solid #222; transition: .3s;}
#pageHome section.about-title .btn a i { margin-left: 5px;}
#pageHome section.about-title .btn a:hover { background: #ef6326; color: #fff;}

/* NOTE: topics共通 */
section.topics { padding: 80px 0;}
section.topics > .inner { width: 100%; padding: 0 30px;;}
section.topics ul { list-style: none;;}
section.topics ul li { width: 100%; margin-bottom: 20px; background: #fff; padding: 20px; box-shadow: 0 0 5px #ccc; position: relative;}
section.topics ul li:last-child { margin-bottom: 0;}
section.topics ul li a { display: flex; flex-wrap: wrap; text-decoration: none; color: #222;}
section.topics ul li .img { position: relative; overflow: hidden;}
section.topics ul li .img img.spacer { width: 100%; height: auto;}
section.topics ul li .img img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 3px; transition: 0.3s;}
section.topics ul li .img .logo { position: absolute; top: 0; left: 0; width: 30%; height: 70px; background: rgba(255,255,255,0.9); display: flex; justify-content: center; align-items: center;}
section.topics ul li .img .logo img { width: 70%; height: auto;}
section.topics ul li a:hover .img img.photo { transform: scale(1.05);}
section.topics ul li a:hover .title { text-decoration: underline;}
section.topics ul li .txt { padding: 5px 0;}
section.topics ul li .txt .date { display: inline-block; font-size: 1.1rem; letter-spacing: 2px; line-height: 1.0;}
section.topics ul li .txt .title { margin-top: 5px; font-size: 1.8rem; line-height: 1.2;}
section.topics .btn { text-align: center;}
section.topics .btn a { font-family: "Noto Sans JP", sans-serif; display: inline-block; text-decoration: none; text-align: center; font-size: 1.8rem; line-height: 1.0; color: #222; padding: 15px 30px; background: #fff; border-radius: 40px; border: 1px solid #222; transition: .3s;}
section.topics .btn a i { margin-left: 5px;}
section.topics .btn a:hover { background: #ef6326; color: #fff;}

/* NOTE: pageRestaurant */
body#pageRestaurant { }
#pageRestaurant section.title { width: 100%; height: 350px; position: relative; display: flex; justify-content: center; align-items: center;}
#pageRestaurant section.title img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
#pageRestaurant section.title .back { background: rgba(255,255,255,0.8); width: 50%; height: 110px; padding: 5px; text-align: center; display: flex; justify-content: center; align-items: center; flex-direction: column; position: relative;}
#pageRestaurant section.title.kaku .back { width: auto; height: auto; padding: 5px 10px;}
#pageRestaurant section.title.kaku .back img { width: 120px; margin-bottom: 5px;}
#pageRestaurant section.title .back h2 { font-family: "Montserrat", sans-serif; font-weight: 500; display: block; width: 100%; font-size: 2.8rem; line-height: 1.0; letter-spacing: 1px; text-align: center;}
#pageRestaurant section.title .back p { font-family: "Noto Serif JP", serif; font-weight: 600; display: inline-block; font-size: 1.4rem; color: #222; line-height: 1.3;}
#pageRestaurant section.title .back span { font-weight: 400; display: inline-block; font-size: 1.5rem; color: #222; line-height: 1.3; padding: 0 35px; position: relative;}
#pageRestaurant section.title .back span:before, #pageRestaurant section.title .back span:after { content: ''; position: absolute; top: 50%; display: inline-block; width: 20px; height: 1px; background: #222;}
#pageRestaurant section.title .back span:before { left: 0;}
#pageRestaurant section.title .back span:after { right: 0;}

#pageRestaurant section.brandlist { padding: 20px;}
#pageRestaurant section.brandlist > .inner { width: 100%;}
#pageRestaurant section.brandlist ul { list-style: none; display: flex; flex-wrap: wrap;}
#pageRestaurant section.brandlist ul li { width: 100%; margin-bottom: 20px; background: #fff; padding: 20px; box-shadow: 0 0 5px #ccc; position: relative; outline: 1px dotted #eee; outline-offset: -5px;}
#pageRestaurant section.brandlist ul li:last-child { margin-bottom: 0;}
#pageRestaurant section.brandlist ul li a { text-decoration: none; color: #222;}
#pageRestaurant section.brandlist ul li .img { position: relative; overflow: hidden;}
#pageRestaurant section.brandlist ul li .img img.spacer { width: 100%; height: auto;}
#pageRestaurant section.brandlist ul li .img img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 3px; transition: 0.3s;}
#pageRestaurant section.brandlist ul li a:hover .img img.photo { transform: scale(1.05);}
#pageRestaurant section.brandlist ul li .overlay { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(0, 0, 0, 0.25); z-index: 2; transition: 0.3s;}
#pageRestaurant section.brandlist ul li a:hover .overlay { background: rgba(0, 0, 0, 0.1);}
#pageRestaurant section.brandlist ul li .img .name-en { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 3; background: rgba(255,255,255,0); color: #fff; width: 100%; text-align: center; font-size: 2.0rem; font-weight: 600; line-height: 1.3;}
#pageRestaurant section.brandlist ul li .logo { width: 100%; text-align: center; padding: 15px 0 5px 0;}
#pageRestaurant section.brandlist ul li .logo img { width: 30%; height: auto;}
#pageRestaurant section.brandlist ul li .name-ja { width: 100%; padding: 5px 0; display: block; font-family: "Noto Serif JP", serif; font-size: 1.4rem; font-weight: 500; text-align: center;}

#pageRestaurant section.link { width: 100%; padding: 20px 0 30px 0;}
#pageRestaurant section.link .btn { text-align: center;}
#pageRestaurant section.link .btn a { font-family: "Montserrat", sans-serif; font-weight: 700; display: inline-block; text-decoration: none; text-align: center; font-size: 1.8rem; line-height: 1.0; color: #222; padding: 15px 30px; background: #fff; border-radius: 40px; border: 1px solid #222; transition: .3s;}
#pageRestaurant section.link .btn a i { margin-left: 5px;}
#pageRestaurant section.link .btn a:hover { background: #ef6326; color: #fff;}

/* NOTE: pageSingleRestaurant */
#pageSingleRestaurant .bg { position: fixed; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100vh; object-fit: cover; z-index: -2;}
#pageSingleRestaurant .overlay { opacity: 0; position: fixed; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100vh; background: rgba(255,255,255,0.8); transition: 1s; z-index: -1;}
#pageSingleRestaurant .overlay.active { opacity: 1;}
#pageSingleRestaurant section.hero { width: 100%; height: 100vh; position: relative; display: flex; justify-content: center; align-items: center;}
#pageSingleRestaurant section.hero .back { background: rgba(255,255,255,0.4); padding: 10px; text-align: center; display: flex; justify-content: center; align-items: center; position: relative;}
#pageSingleRestaurant section.hero .back img { width: 120px; margin-bottom: 10px;}
#pageSingleRestaurant section.hero .back h1 { font-family: "Noto Sans JP", sans-serif; font-size: 2.0rem; font-weight: 700; line-height: 1.3;}
#pageSingleRestaurant section.hero .back h1 span { display: inline-block; font-family: "Noto Serif JP", serif; font-size: 1.6rem; font-weight: 600; margin-top: 10px;}

#pageSingleRestaurant section.concept { width: 100%; background: #fff; padding-top: 50px;}
#pageSingleRestaurant section.concept h2 { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 3.2rem; text-align: center; letter-spacing: 1px; position: relative; margin-bottom: 50px;}
#pageSingleRestaurant section.concept h2:after { content: ""; width: 100px; height: 2px; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); border-bottom: 2px dotted #ef6326;}
#pageSingleRestaurant section.concept .hole { background: repeating-linear-gradient(-45deg, #000, #000 3px,#111 3px, #111 7px); color: #fff;}
#pageSingleRestaurant section.concept .hole .img { width: 100%;}
#pageSingleRestaurant section.concept .hole .txt { flex: 1; padding: 50px 50px; display: flex; justify-content: center; align-items: center;}
#pageSingleRestaurant section.concept .hole .txt h3 { font-family: "Noto Sans JP", sans-serif; font-size: 2.2rem; font-weight: 700; line-height: 1.3; letter-spacing: 2px; margin-bottom: 20px;}
#pageSingleRestaurant section.concept .hole .txt p { font-size: 1.5rem; line-height: 1.8; }

#pageSingleRestaurant section.concept ul.thumslider { list-style: none; display: flex; flex-wrap: wrap; margin-top: 20px; padding: 0 20px;}
#pageSingleRestaurant section.concept ul.thumslider li { width: 23%; margin-right: 2.66%; position: relative; margin-bottom: 8px; background: #fff;}
#pageSingleRestaurant section.concept ul.thumslider li img { opacity: 0.7;}
#pageSingleRestaurant section.concept ul.thumslider li.active img { opacity: 1;}
#pageSingleRestaurant section.concept ul.thumslider li:nth-of-type(4n) { margin-right: 0;}
#pageSingleRestaurant section.concept ul.thumslider li img.spacer { width: 100%; height: auto;}
#pageSingleRestaurant section.concept ul.thumslider li img.thum { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
#pageSingleRestaurant section.concept .mainSlider { width: 100%; position: relative;}
#pageSingleRestaurant section.concept .swiper-wrapper { position: relative;}
#pageSingleRestaurant section.concept .swiper-wrapper img.spacer { width: 100%; height: auto;}
#pageSingleRestaurant section.concept .swiper-wrapper img.thum { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}

#pageSingleRestaurant section.concept .hole .txt ul.link { list-style: none; margin-top: 30px;}
#pageSingleRestaurant section.concept .hole .txt ul.link li { width: 100%;}
#pageSingleRestaurant section.concept .hole .txt ul.link li + li { margin-top: 10px;}
#pageSingleRestaurant section.concept .hole .txt ul.link li a { display: block; background: #ef6326; padding: 15px 5px; text-align: center; color: #fff; text-decoration: none; font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 1.8rem;}
#pageSingleRestaurant section.concept .hole .txt ul.link li a i { margin-right: 8px;}
#pageSingleRestaurant section.concept .hole .txt ul.link li a:hover { background: #bc4d25;}

#pageSingleRestaurant section.information { padding: 50px 20px 0 20px;}
#pageSingleRestaurant section.information h2 { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 3.2rem; text-align: center; letter-spacing: 1px; position: relative; margin-bottom: 50px;}
#pageSingleRestaurant section.information h2:after { content: ""; width: 100px; height: 2px; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); border-bottom: 2px dotted #ef6326;}
#pageSingleRestaurant section.information > .inner { width: 100%;}
#pageSingleRestaurant section.information dl { }
#pageSingleRestaurant section.information dl + dl { margin-top: 10px;}
#pageSingleRestaurant section.information dl dt { width: 100%; background: #222; color: #fff; margin-right: 1px; padding: 10px 15px; text-align: center; font-size: 1.5rem; font-weight: 500;}
#pageSingleRestaurant section.information dl dd { width: 100%; padding: 15px 15px; font-size: 1.5rem; font-weight: 500; background: rgba(255,255,255,0.8);}
#pageSingleRestaurant section.information dl dd i { margin-right: 5px;}
#pageSingleRestaurant section.information dl dd a { color: #0066ff; text-decoration: none;}
#pageSingleRestaurant section.information ul { list-style: none; display: flex; justify-content: center; align-items: center; margin-top: 30px;}
#pageSingleRestaurant section.information ul li { width: 49%;}
#pageSingleRestaurant section.information ul li + li { margin-left: 2%;}
#pageSingleRestaurant section.information ul li a { display: block;}
#pageSingleRestaurant section.information ul li a img { width: 100%;}

#pageSingleRestaurant section.location { width: 100%; padding: 50px 20px 0 20px;}
#pageSingleRestaurant section.location > .inner { width: 100%;}
#pageSingleRestaurant section.location h2 { font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 3.2rem; text-align: center; letter-spacing: 1px; position: relative; margin-bottom: 50px;}
#pageSingleRestaurant section.location h2:after { content: ""; width: 100px; height: 2px; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); border-bottom: 2px dotted #ef6326;}
#pageSingleRestaurant section.location iframe { display: block; width: 100%; height: 300px;}

#pageSingleRestaurant section.social { width: 100%; padding: 30px 0 0 0;}
#pageSingleRestaurant section.social > .inner { width: 100%;}
#pageSingleRestaurant section.social ul { list-style: none; display: flex; justify-content: center; align-items: center; margin-top: 30px;}
#pageSingleRestaurant section.social ul li { width: 55px;}
#pageSingleRestaurant section.social ul li + li { margin-left: 30px;}
#pageSingleRestaurant section.social ul li a { display: block;}
#pageSingleRestaurant section.social ul li a img { width: 100%;}

#pageSingleRestaurant section.link { width: 100%; padding: 80px 0;}
#pageSingleRestaurant section.link .btn { text-align: center;}
#pageSingleRestaurant section.link .btn a { font-family: "Montserrat", sans-serif; font-weight: 700; display: inline-block; text-decoration: none; text-align: center; font-size: 1.8rem; line-height: 1.0; color: #222; padding: 15px 30px; background: #fff; border-radius: 40px; border: 1px solid #222; transition: .3s;}
#pageSingleRestaurant section.link .btn a i { margin-left: 5px;}
#pageSingleRestaurant section.link .btn a:hover { background: #ef6326; color: #fff;}

/* NOTE: pageTopics */
#pageTopics section.topics { padding: 30px 0 30px 0;}

/* NOTE: ページャー */
#pager { text-align: center; margin-top: 50px;}
#pager .wp-pagenavi a, #pager .wp-pagenavi span { color: #fff; display: inline-block; font-size: 1.6rem; line-height: 33px; border: none !important; background: #ccc; width: 40px; height: 40px; border-radius: 5px;}
#pager .wp-pagenavi a:hover { background: #ef6326;}
#pager .wp-pagenavi span.current { font-weight: normal; background: #ef6326; border: none !important;}
#pager .wp-pagenavi span.pages,
#pager .wp-pagenavi a.nextpostslink,
#pager .wp-pagenavi a.previouspostslink,
#pager .wp-pagenavi a.last,
#pager .wp-pagenavi a.first { display: none;}

/* NOTE: pageTopicsSingle */
#pageTopicsSingle section.contents {}
#pageTopicsSingle section.contents > .inner { width: 100%; padding: 50px 30px;}
#pageTopicsSingle section.contents .brand { text-align: center; margin-bottom: 50px;}
#pageTopicsSingle section.contents .brand img { width: 100px; height: auto;}
#pageTopicsSingle section.contents .date { display: inline-block; font-size: 1.4rem; letter-spacing: 1px;}
#pageTopicsSingle section.contents h1 { margin-top: 5px;}
#pageTopicsSingle section.contents .btn { margin-top: 50px; text-align: center;}
#pageTopicsSingle section.contents .btn a { font-family: "Noto Sans JP", sans-serif; display: inline-block; text-decoration: none; text-align: center; font-size: 1.8rem; line-height: 1.0; color: #222; padding: 15px 30px; background: #fff; border-radius: 40px; border: 1px solid #222; transition: .3s;}
#pageTopicsSingle section.contents .btn a i { margin-left: 5px;}
#pageTopicsSingle section.contents .btn a:hover { background: #fb4e01; color: #fff;}
#pageTopicsSingle section.contents .addtoany_share_save_container { text-align: right;}

/* NOTE: ネイティブCSS */
.native-block p { display: block; margin: 30px 0; font-size: 1.5rem; line-height: 2.0; word-break: break-all;}
.native-block a { color: #0066ff;}
.native-block strong { font-weight: bold; }
.native-block em { font-style: italic; }
.native-block h1 { font-size: 2.6rem; font-weight: 500; line-height: 1.3; margin-bottom: 50px;}
.native-block h2 { font-size: 2.4rem; font-weight: 500; margin: 50px 0 30px 0; line-height: 1.3; position: relative;}
.native-block h3 { font-size: 2.2rem; font-weight: 500; margin: 30px 0; line-height: 1.3;}
.native-block h4 { font-size: 1.8rem; font-weight: 500; margin: 20px 0; line-height: 1.3;}
.native-block h5 { font-size: 1.6rem; font-weight: 500; line-height: 1.3;}
.native-block ul { padding-left: 20px; line-height: 1.8; margin-bottom: 20px;}
.native-block ol { padding-left: 20px; line-height: 1.8; margin-bottom: 20px;}
.native-block blockquote { display: block; -webkit-margin-before: 1em; -webkit-margin-after: 1em; -webkit-margin-start: 40px; -webkit-margin-end: 40px;}
.native-block .aligncenter { display: block; width: 100%; margin: 0 auto; text-align: center;}
.native-block .alignright { float: right; margin: 0 0 10px 20px;}
.native-block .alignleft { float: left; margin: 0 20px 10px 0;}
.native-block img { max-width: 100%; height: auto;}
.native-block figure figcaption { display: block; width: 100%; text-align: center; font-size: 1.5rem;}
.native-block figure.aligncenter figcaption { display: block; width: 100%; text-align: center; font-size: 1.4rem;}
.native-block hr.wp-block-separator { border-top: 1px solid #ccc; border-bottom: 0;}
.native-block figure.wp-block-table { margin: 30px 0;}

/* NOTE: section.pagetitle */
section.pagetitle { text-align: center; padding: 25px 0; position: relative; background: rgba(217, 122, 89, 0.5);}
section.pagetitle h1 { font-family: "Montserrat", sans-serif; font-weight: 500; display: block; width: 100%; font-size: 2.8rem; color: #fff; line-height: 1.0; letter-spacing: 2px; text-align: center;}
section.pagetitle span { font-family: "Noto Sans JP", sans-serif; font-weight: 400; display: inline-block; font-size: 1.5rem; color: #fff; line-height: 1.3; letter-spacing: 1px; padding: 0 45px; position: relative;}
section.pagetitle span:before, section.pagetitle span:after { content: ''; position: absolute; top: 50%; display: inline-block; width: 30px; height: 1px; background: #fff;}
section.pagetitle span:before { left: 0;}
section.pagetitle span:after { right: 0;}

/* NOTE: pageAbout */
body#pageAbout { background: none;}
#pageAbout .bg { position: fixed; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100vh; object-fit: cover; z-index: -3; opacity: 0.1;}
#pageAbout section.hero { width: 100%; height: 400px; display: flex; justify-content: center; align-items: center; position: relative;}
#pageAbout section.hero img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;}
#pageAbout section.hero .overlay { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(0, 0, 0, 0.1); z-index: -1;}
#pageAbout section.hero .title { font-size: 2.8rem; font-weight: 500; line-height: 1.3; color: #fff; clip-path: inset(0 100% 0 0); letter-spacing: 1px; text-align: center;}
#pageAbout section.hero.active .title { animation: txt-anime 1.3s 0.3s forwards;}
@keyframes txt-anime {
  0% { clip-path: inset(0 100% 0 0); opacity: 0;}
  100% { clip-path: inset(0 0 0 0); opacity: 1;}
}

#pageAbout section.body { width: 100%; padding: 10px 30px;}
#pageAbout section.body p { font-family: "Noto Serif JP", serif; font-size: 1.7rem; line-height: 2.0; font-weight: 500; margin: 30px 0;}
#pageAbout section.body p span { color: #bc4d25; font-family: "Noto Sans JP", sans-serif; font-size: 2.0rem; font-weight: 700;}
#pageAbout section.body .img { width: 100%; background: #fff; padding: 10px; box-shadow: 0 0 5px #ccc;}
#pageAbout section.body .img img { width: 100%; height: auto; border-radius: 5px;}

/* NOTE: pageCompany */
body#pageCompany { }
#pageCompany section.hero { width: 100%; height: 250px; display: flex; justify-content: center; align-items: center; position: relative;}
#pageCompany section.hero img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;}
#pageCompany section.hero .overlay { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(0, 0, 0, 0.25); z-index: -1;}
#pageCompany section.hero h1 { font-family: "Montserrat", sans-serif; font-size: 3.2rem; font-weight: 500; line-height: 1.3; color: #fff; letter-spacing: 1px;}

#pageCompany section.headline { width: 100%; height: 300px; position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; text-align: center;}
#pageCompany section.headline img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; z-index: -2;}
#pageCompany section.headline .overlay { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(0, 0, 0, 0.3); z-index: -1;}
#pageCompany section.headline h2 { font-family: "Montserrat", sans-serif; font-weight: 500; display: block; width: 100%; color: #fff; font-size: 2.6rem; line-height: 1.0; letter-spacing: 1px; text-align: center;}
#pageCompany section.headline span { font-weight: 400; display: inline-block; font-size: 1.5rem; color: #fff; line-height: 1.3; padding: 0 45px; position: relative; background: }
#pageCompany section.headline span:before, #pageCompany section.headline span:after { content: ''; position: absolute; top: 50%; display: inline-block; width: 30px; height: 1px; background: #fff;}
#pageCompany section.headline span:before { left: 0;}
#pageCompany section.headline span:after { right: 0;}
#pageCompany section.headline img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1;}

#pageCompany section.outline > .inner { width: 100%; padding: 30px 20px 0 20px;}
#pageCompany section.outline dl { padding: 10px; font-size: 1.5rem; font-weight: 500; line-height: 2.0; background: #fff; margin-bottom: 5px;}
#pageCompany section.outline dl dt { width: 100%; text-align: left; padding-right: 65px;}
#pageCompany section.outline dl dt span { display: inline-block; font-size: 1.5rem; font-weight: 500; line-height: 1.0; letter-spacing: 1px; padding: 5px 10px; position: relative; color: #fff; background: #ef6326;}
/* #pageCompany section.outline dl dt span:after { content: ''; position: absolute; top: 50%; display: inline-block; width: 50px; height: 1px; background: #ef6326;}
#pageCompany section.outline dl dt span:after { right: -65px;} */
#pageCompany section.outline dl dd { font-family: "Noto Serif JP", serif; width: 100%; text-align: left; padding: 10px 0; font-weight: 500; line-height: 1.3;}
#pageCompany section.map > .inner { width: 100%; padding: 20px;}
#pageCompany section.map iframe { width: 100%; height: 400px;}
#pageCompany section.history > .inner { width: 100%; padding: 30px 20px;}
#pageCompany section.history dl { display: flex; padding: 10px; font-size: 1.5rem; font-weight: 500; line-height: 2.0; background: #fff; margin-bottom: 5px;}
#pageCompany section.history dl dt { width: 35%; text-align: right; padding-right: 35px;}
#pageCompany section.history dl dd { font-family: "Noto Serif JP", serif; flex: 1; text-align: left; padding: 0 10px; font-weight: 500; line-height: 1.3;}
#pageCompany section.history dl dt span { font-family: "Courier Prime", monospace; font-style: italic; font-weight: 400; display: inline-block; font-size: 2.4rem; line-height: 1.0; letter-spacing: 3px; padding: 5px 10px 0 10px; color: #fff; background: #ef6326; position: relative;}
#pageCompany section.history dl dt span:after { content: ''; position: absolute; top: 50%; display: inline-block; width: 25px; height: 1px; background: #ef6326;}
#pageCompany section.history dl dt span:after { right: -25px;}

/* NOTE: フォームリセット */
input, button { all: unset;}
select, textarea { font-size: 1.8rem; margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
select::-ms-expand { display: none; }

input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"] { font-size: 1.8rem; height: 50px; width: 100%; text-indent: 10px; border-radius: 3px; border: 1px solid #ccc; background: #eee; align-items: center;}
textarea { width: 100%; height: 100px; padding: 10px; background: #eee; border-radius: 3px; border: 1px solid #ccc;}
button { font-size: 1.8rem; letter-spacing: 1px; display: inline-block; color: #fff; text-align: center; width: 100%; cursor: pointer; padding: 12px 0; background: #ef6326; border-radius: 30px;}
button.back { background: #666; color: #fff;}
button + button { margin-top: 10px;}
button:hover { background: #bc4d25;}
button.back:hover { background: #555;}
span.error { display: inline-block !important; background: #ffe5e8; margin: 5px 0; padding: 5px 15px; font-weight: 500;}
textarea::placeholder { color: #666; font-size: 1.6rem;}
.hidden-params { display: none;}

/* input[type="radio"],input[type="checkbox"] */
input[type="checkbox"], input[type="radio"] { display: none;}
span.mwform-checkbox-field-text, span.mwform-radio-field-text { position: relative; display: inline-block; padding-left: 30px; font-weight: 400;}
span.mwform-checkbox-field-text::before { content: ""; position: absolute; top: 3px; left: 0; width: 20px; height: 20px; background: #fff; border: 1px solid #ccc;}
span.mwform-radio-field-text::before { content: ""; position: absolute; top: 0; left: 0; width: 20px; height: 20px; border-radius: 50%; background: #fff; border: 1px solid #ccc;}
input[type="checkbox"]:checked + span.mwform-checkbox-field-text::after { content: ""; position: absolute; top: 0; left: 5px; width: 10px; height: 10px; background: #222;}
input[type="radio"]:checked + span.mwform-radio-field-text::after { content: ""; position: absolute; top: 0; left: 5px; width: 10px; height: 10px; border-radius: 50%; background: #222;}
.vertical-item span.mwform-radio-field-text::before { top: 2px;}
.vertical-item input[type="radio"]:checked + span.mwform-radio-field-text::after { top: 7px;}

input[type="text"]#zip1 { width: 70px;}
input[type="text"]#zip2 { width: 100px;}
select { display: block; height: 52px; width: 150px; text-indent: 10px; border-radius: 3px; background: #eee; border: 1px solid #ccc; margin-bottom: 5px; position: relative;}
span.select-hole { display: block; position: relative; margin-right: 5px;}
span.select-hole:before { position: absolute; content:"\f0dd"; font-family: 'Font Awesome 6 Free'; font-weight: 900; right: 10px; top: 45%; transform: translateY(-50%); font-size: 1.0rem; color: #222; z-index: 1;}
select#select2 { width: 100%;}

/* NOTE: pageForm */
body#pageForm { }
#pageForm section.body { font-weight: 500; width: 100%;}
#pageForm section.body > .inner { width: 100%; padding: 30px;}
#pageForm .form { margin-top: 20px;}
#pageForm .form dl { border-bottom: 1px solid #ddd;}
#pageForm .form dl:first-of-type { border-top: 1px solid #ddd;}
#pageForm .form dl dt { line-height: 1.2; width: 100%; padding: 20px 0 0 0;}
#pageForm .form span.required { font-size: 1.1rem; line-height: 1.0; background: #bc4d25; padding: 3px 7px; color: #fff; margin-right: 8px; margin-top: 2px; white-space: nowrap; border-radius: 3px;}
#pageForm .form span.any { font-size: 1.1rem; line-height: 1.0; background: #999; padding: 3px 7px; color: #fff; margin-right: 8px; margin-top: 2px; white-space: nowrap; border-radius: 3px;}
#pageForm .form dl dd { width: 100%; padding: 20px 0;}
#pageForm .form .formbt { padding: 20px 0; text-align: center;}
#pageForm .form .formbt button { font-size: 2.0rem; font-weight: 500; width: 100%;}

/* 確認画面 */
#pageForm section .mw_wp_form_confirm span.required { display: none;}
#pageForm section .mw_wp_form_confirm span.any { display: none;}
#pageForm section .mw_wp_form_confirm dl { padding-bottom: 20px;}
#pageForm section .mw_wp_form_confirm dl dd { font-size: 1.8rem; background: #f6f6f6;  border-radius: 3px; padding: 20px; margin-top: 20px;}
#pageForm section .mw_wp_form_confirm span.select-hole:before { content:"";}

/* 完了画面 */
#pageForm section.thanks { font-weight: 500; text-align: center; font-size: 1.6rem; line-height: 1.6; padding: 100px 30px;}
#pageForm section.thanks .btn { text-align: center; margin-top: 50px;}
#pageForm section.thanks .btn a { display: inline-block; text-decoration: none; text-align: center; font-size: 1.8rem; line-height: 1.0; color: #222; padding: 15px 30px; background: #fff; border-radius: 40px; border: 1px solid #222; transition: .3s;}
#pageForm section.thanks .btn a i { margin-left: 5px;}
#pageForm section.thanks .btn a:hover { background: #ef6326; color: #fff;}

/* NOTE: pageNotfound */
body#pageNotfound { background: #f6f6f6;}
#pageNotfound section.body { text-align: center;}
#pageNotfound section.body > .inner { font-weight: 500; width: 100%; padding: 50px 30px;}
#pageNotfound section.body span { font-size: 3.8rem; color: #ccc; letter-spacing: 2px;}
#pageNotfound section.body h1 { font-size: 1.8rem; font-weight: 500;}
#pageNotfound section.body p { margin: 50px 0; font-size: 1.5rem; line-height: 1.5;}
#pageNotfound section.body .btn { text-align: center;}
#pageNotfound section.body .btn a { display: inline-block; text-decoration: none; text-align: center; font-size: 1.8rem; line-height: 1.0; color: #222; padding: 15px 30px; background: #fff; border-radius: 40px; border: 1px solid #222; transition: .3s;}
#pageNotfound section.body .btn a i { margin-left: 5px;}
#pageNotfound section.body .btn a:hover { background: #ef6326; color: #fff;}
