@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
/* font-family: "Noto Sans", sans-serif; */

/* NOTE: TOP画面ニュース */
.top-news-img { position: relative;}
.top-news-img img.spacer { width: 100%; height: auto;}
.top-news-img img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1;}

/* NOTE: 共通 */
ul.store li { box-sizing: border-box;}
ul.store li .inner { border-top: 1px solid #ff9966;}
ul.store li:last-child .inner { border-bottom: 1px solid #ff9966;}

/* NOTE: 店舗紹介 */
.contents-hole { position: relative;}
img.store-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; object-position: top; z-index: -1;}
img.store-bg1 { display: none;}

section.store-hero { position: relative;}
section.store-hero .swiper-wrapper { height: auto;}
section.store-hero ul li { position: relative; width: 100%;}
section.store-hero ul li img.spacer { width: 100%; height: auto;}
section.store-hero ul li img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1;}
section.store-hero ul li .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0); z-index: 2;}
section.store-hero .swiper-pagination { position: absolute; bottom: 20px; z-index: 10;}
section.store-hero .swiper-pagination-bullet { background: #fff; opacity: 0.5; margin: 0 10px;}
section.store-hero .swiper-pagination-bullet-active { background: #fff; opacity: 1;}

section h2.mi { text-align: center; margin-bottom: 40px;}
section h2.mi span.en { display: inline-block; font-family: "Noto Sans", sans-serif; font-weight: 900; color: #d45215; font-size: 5.4rem; text-align: center; transform: scale(0.8, 1);}
section h2.mi span.ja { display: inline-block; font-size: 1.6rem; color: #fff; line-height: 1.3; padding: 0 45px; position: relative;}
section h2.mi span.ja:before, section h2.mi span.ja:after { content: ''; position: absolute; top: 50%; display: inline-block; width: 30px; height: 1px; background: #fff;}
section h2.mi span.ja:before { left: 0;}
section h2.mi span.ja:after { right: 0;}
section h2.mi.target { transform: translateX(-50px); opacity: 0; transition: 0.3s;}
section h2.mi.target.active { transform: none; opacity: 1;}

section.store-info { position: relative;}
section.store-info .inner { width: 100%; padding: 50px 20px;}
section.store-info .name { font-size: 2.2rem; font-weight: 700; text-align: center; margin-bottom: 30px;}
section.store-info table { width: 100%; border-collapse: collapse; margin-bottom: 20px;}
section.store-info th, section.store-info td { border: 1px solid #fff; padding: 10px 20px;}
section.store-info th { width: 30%; font-weight: 700;}
section.store-info td { width: 70%;}
section.store-info td a.tel { display: inline-block; padding: 10px 20px; background: #db971f; color: #fff !important; text-decoration: none !important; border-radius: 3px; margin-top: 5px;}
section.store-info td a:hover { background: #d45215; cursor: pointer;}
section.store-info .inner iframe { width: 100%; height: 300px;}

section.store-message { }
section.store-message .inner { width: 100%; padding: 0 0 50px 0;}
section.store-message .img { position: relative; width: 100%;}
section.store-message .img img.spacer { width: 100%; height: auto;}
section.store-message .img img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; border-radius: 3px;}
section.store-message .body { margin-top: 30px; padding: 0 20px;}

section.store-news { }
section.store-news .inner { width: 100%; padding: 0 20px 50px 20px;}
section.store-news ul {}
section.store-news ul li { padding: 30px; border: 1px solid #fff; border-radius: 3px;}
section.store-news ul li + li { margin-top: 10px;}
section.store-news ul li a { color: #fff !important; text-decoration: none !important;}
section.store-news ul li h3 { font-size: 1.8rem; font-weight: 700; padding-left: 15px; border-left: 10px solid #cc491d;}
section.store-news ul li h3 span { font-size: 1.4rem;}
section.store-news ul li .body { font-size: 1.5rem; margin-top: 20px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
section.store-news .link { text-align: center; margin-top: 30px;}

section.store-takeout { position: relative;}
section.store-takeout .anchor { position: absolute; top: -100px; left: 0;}
section.store-takeout .inner { width: 100%; padding: 0 20px 50px 20px;}
section.store-takeout ul.takeout-menu { display: flex; flex-wrap: wrap;}

@media screen and (max-width:767px) {
section.store-takeout ul.takeout-menu li { width: 33.3%; border-right: 1px solid #000; border-bottom: 1px solid #000;}
}
@media screen and (min-width:768px) {
section.store-takeout ul.takeout-menu li { width: 25%; border-right: 1px solid #000; border-bottom: 1px solid #000;}
}

section.store-takeout ul.takeout-menu li h3 { display: block; background: #d45215; border-radius: 3px; font-size: 1.4rem; color: #fff; padding: 20px 2px; text-align: center; font-feature-settings: "palt"; cursor: pointer;}
section.store-takeout ul.takeout-menu li h3.active { background: #fff; color: #000;}
section.store-takeout .takeout-content { display: none;}
section.store-takeout .takeout-content.active { background: #fff; color: #000; min-height: 150px; padding: 20px; display: block; border-radius: 3px;}
section.store-takeout .takeout-content ul.takeout-list { display: flex; flex-wrap: wrap;}

@media screen and (max-width:767px) {
section.store-takeout .takeout-content ul.takeout-list li { width: 49%; margin-right: 2%; margin-bottom: 10px;}
section.store-takeout .takeout-content ul.takeout-list li:nth-of-type(2n) { margin-right: 0;}
section.store-takeout .takeout-content ul.takeout-list li:nth-of-type(2n) { transition-delay: 0.2s;}
}
@media screen and (min-width:768px) {
section.store-takeout .takeout-content ul.takeout-list li { width: 32%; margin-right: 2%; margin-bottom: 20px;}
section.store-takeout .takeout-content ul.takeout-list li:nth-of-type(3n) { margin-right: 0;}
section.store-takeout .takeout-content ul.takeout-list li:nth-of-type(3n-1) { transition-delay: 0.2s;}
section.store-takeout .takeout-content ul.takeout-list li:nth-of-type(3n) { transition-delay: 0.4s;}
}

section.store-takeout .takeout-content ul.takeout-list li .img { position: relative; width: 100%;}
section.store-takeout .takeout-content ul.takeout-list li .img img.spacer { width: 100%; height: auto;}
section.store-takeout .takeout-content ul.takeout-list li .img img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; border-radius: 3px;}
section.store-takeout .takeout-content ul.takeout-list li .body { margin-top: 10px;}
section.store-takeout .takeout-content ul.takeout-list li .name { font-size: 1.4rem; font-feature-settings: "palt";}
section.store-takeout .takeout-content ul.takeout-list li .price { color: #d45215; font-weight: 700;}

section.store-takeout .method { width: 100%; padding: 20px; margin: 20px auto; border-top: 1px solid #ff9966; border-bottom: 1px solid #ff9966;}
section.store-takeout .method span { display: inline-block; font-weight: 700; margin-bottom: 5px;}
section.store-takeout .tel { width: 100%; margin: 5px auto;}
section.store-takeout .tel a { display: block; text-align: center; padding: 10px; font-size: 1.8rem; color: #fff !important; text-decoration: none !important; background: #db971f; border-radius: 3px; display: flex; justify-content: center; align-items: center; cursor: pointer;}
section.store-takeout .tel a:hover { background: #d45215;}
section.store-takeout .tel a img.icon { width: 25px; height: 25px; margin-right: 5px;}

section.store-delivery { position: relative;}
section.store-delivery .anchor { position: absolute; top: -100px; left: 0;}
section.store-delivery .inner { width: 100%; padding: 0 20px 50px 20px;}
section.store-delivery ul {}
section.store-delivery ul li { }
section.store-delivery ul li + li { margin-top: 10px;}
section.store-delivery ul li a { display: block; text-align: center; padding: 15px 10px; font-size: 1.8rem; color: #fff !important; text-decoration: none !important; background: #db971f; border-radius: 3px; display: flex; justify-content: center; align-items: center; cursor: pointer;}
section.store-delivery ul li a:hover { background: #d45215;}
section.store-delivery ul li a img.icon { width: 25px; height: 25px; margin-right: 5px;}
section.store-delivery .com1 { margin-bottom: 30px;}
section.store-delivery .com2 { margin-top: 30px; text-align: center;}

section.store-faq { }
section.store-faq .inner { width: 100%; padding: 0 20px 50px 20px;}
section.store-faq dl + dl { margin-top: 10px;}
section.store-faq dl dt { position: relative; background: #eee; padding: 15px 35px 15px 15px; color: #000; border-radius: 3px; cursor: pointer;}
section.store-faq dl dt:before { content: 'Q. ';}
section.store-faq dl dt:after { content: '+'; position: absolute; top: 50%; right: 16px; transform: translateY(-50%);}
section.store-faq dl.appear dt:after { content: '-';}
section.store-faq dl dd { display: none; padding: 15px; background: #fff; color: #000; border-radius: 3px;}
section.store-faq dl dd:before { content: 'A .';}
section.store-faq dl.appear dd { display: block; animation: .3s fadeIn;}
@keyframes fadeIn {
  0% { opacity: 0; transform: translateY(-10px);}
  100% { opacity: 1; transform: none;}
}

/* NOTE: breadcrumbs */
#breadCrumbs { width: 100%; height: 50px; font-size: 1.3rem; color: #fff; background: #222; display: flex; align-items: center;}
#breadCrumbs #breadCrumbsInner { width: 100%; padding: 0 10px;}
#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.3s;}
.target.active { transform: none; opacity: 1;}

/* NOTE: テイクアウト・デリバリー */
section.takeout-hero { }
section.takeout-hero .img { width: 100%; position: relative; }
section.takeout-hero img.spacer { width: 100%; height: auto;}
section.takeout-hero img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1;}
section.takeout-hero .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.3); z-index: 2;}
section.takeout-hero .title { width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 3; font-size: 2.2rem; font-weight: 700; text-align: center; text-shadow: 0 0 15px #fff; clip-path: inset(0 100% 0 0); animation: txt-anime 1s 0.5s forwards; padding: 0 10px;}
@keyframes txt-anime {
  0% { clip-path: inset(0 100% 0 0);}
  100% { clip-path: inset(0 0 0 0);}
}

section.takeout-lead {}
section.takeout-lead .inner { width: 100%; padding: 50px 20px;}
section.takeout-lead h2 { font-size: 2.8rem; font-weight: 700; text-align: center;}
section.takeout-lead .txt { font-size: 1.6rem; text-align: center; margin-top: 20px;}

section.takeout-lead h2.target { transform: translateX(-50px); opacity: 0; transition: 0.3s;}
section.takeout-lead h2.target.active { transform: none; opacity: 1;}

section.takeout-list {}
section.takeout-list .inner { width: 100%; padding: 0 20px 0 20px;}
section.takeout-list ul.list-menu { display: flex;}
section.takeout-list ul.list-menu li { flex: 1;}
section.takeout-list ul.list-menu li h3 { display: block; background: #d45215; border-radius: 5px 5px 0 0; font-size: 1.6rem; color: #fff; padding: 20px 2px; text-align: center; cursor: pointer; font-feature-settings: "palt";}
section.takeout-list ul.list-menu li h3.active { background: #fff; color: #000;}
section.takeout-list .list-content { display: none;}
section.takeout-list .list-content#delivery { padding-top: 20px;}
section.takeout-list .list-content.active { background: #fff; color: #000; min-height: 150px; padding: 20px; display: block; border-radius: 0 0 3px 3px;}
section.takeout-list .list-content ul.list { display: flex; flex-wrap: wrap;}

@media screen and (max-width:767px) {
section.takeout-list .list-content ul.list li { width: 49%; margin-right: 2%; margin-bottom: 10px;}
section.takeout-list .list-content ul.list li:nth-of-type(2n) { margin-right: 0;}
section.takeout-list .list-content ul.list li:nth-of-type(2n) { transition-delay: 0.2s;}
}
@media screen and (min-width:768px) {
section.takeout-list .list-content ul.list li { width: 32%; margin-right: 2%; margin-bottom: 20px;}
section.takeout-list .list-content ul.list li:nth-of-type(3n) { margin-right: 0;}
section.takeout-list .list-content ul.list li:nth-of-type(3n-1) { transition-delay: 0.2s;}
section.takeout-list .list-content ul.list li:nth-of-type(3n) { transition-delay: 0.4s;}
}

section.takeout-list .list-content ul.list li .img { position: relative; width: 100%;}
section.takeout-list .list-content ul.list li .img img.spacer { width: 100%; height: auto;}
section.takeout-list .list-content ul.list li .img img.photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; border-radius: 3px;}
section.takeout-list .list-content ul.list li .txt { margin-top: 5px;}
section.takeout-list .list-content ul.list li .name { font-size: 1.5rem; font-weight: 700; font-feature-settings: "palt"; margin-bottom: 5px;}
section.takeout-list .list-content ul.list li .address { font-size: 1.3rem; font-feature-settings: "palt";}
section.takeout-list .list-content ul.list li .hours { font-size: 1.3rem; font-feature-settings: "palt";}
section.takeout-list .list-content ul.list li .link { margin-top: 5px;}
section.takeout-list .list-content ul.list li .link a { display: block; text-align: center; padding: 8px 10px; font-size: 1.5rem; color: #fff !important; text-decoration: none !important; background: #db971f; border-radius: 3px; display: flex; justify-content: center; align-items: center; cursor: pointer;}
section.takeout-list .list-content ul.list li .link a:hover { background: #d45215;}
section.takeout-list .list-content ul.icon { display: flex; margin-top: 5px;}
section.takeout-list .list-content ul.icon li { width: 30px; margin-bottom: 0; margin-right: 0;}
section.takeout-list .list-content ul.icon li + li { margin-left: 5px;}
section.takeout-list .list-content ul.icon li img { width: 100%; height: auto;}
