@charset "UTF-8";
/*
Theme Name: Soba Morozumi
Description: 一杯の蕎麦にいっぱいの心をこめて
Version: 1.0
Author: Thami
*/

:root {
--main-color: #682917;
--bg-color: #F5EAD6;
--max-container-width: 1440px;
}
body {
margin: 0;
padding:0;
height: 100%;
font-family: 'Yuji Syuku', serif;
color: #682917;
background-color: #F5EAD6;
overflow-x: hidden;
}
html { font-size: 62.5%; }
* {
box-sizing: border-box;
}
a[href^="tel"] {
color: inherit;
text-decoration: none;
}
/* =====================
    Main header layout
======================== */
.main-header {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
height: 120px;
background-image: url("assets/images/asanoha-header.png");
background-size: cover;
padding: 0;
gap: 20px;
position: sticky;
top: 0;
z-index: 999;
}
.header-left {
display: flex;
align-items: center;
}
.logo-box {
display: flex;
flex-direction: column;
align-items: center;
padding: 10px;
}
.logo {
height: 80px;
cursor: pointer;
}
.logo-subtext {
font-family: 'Times New Roman', serif;
font-size: 1rem;
letter-spacing: 6px;
color: #494544;
margin-right: 10px;
}

.header-nav {
flex: 1;
display: flex;
justify-content: center;
}
.header-nav ul {
list-style: none;
display: flex;
gap: 60px;
margin: 0;
padding: 0;
color: #4f1b13;
font-size: 2rem;
align-items: center;
justify-content: center;
}
.header-nav li a {
color: inherit;
text-decoration: none;
transition: color 0.3s ease;
display: block;
padding: 10px 0;
cursor: pointer;
}
.header-nav li.current {
color: #fff;
pointer-events: none;
}
.header-nav li.current::after {
transform: translateX(-50%) scaleX(1);
}
.header-nav li {
position: relative;
cursor: pointer;
transition: color 0.15s ease;
}
.header-nav li::after {
content: '';
position: absolute;
left: 50%;
bottom: 8px;
transform: translateX(-50%) scaleX(0);
transform-origin: center;
width: 100%;
height: 1.5px;
background-color: #fff;
transition: transform 0.2s ease;
}
.header-nav li:not(.current):hover::after {
transform: translateX(-50%) scaleX(1);
}
.header-nav li:not(.current):hover {
color: #fff;
}
/* Right: Contact info + hamburger */
.header-right {
display: flex;
justify-content: center;
align-items: center;
width: 240px;
height: 120px;
background-image: url("assets/images/header-right.png");
background-size: cover;
background-position: center;
}
.contact-box {
text-align: center;
}
.contact-title {
font-size: 1.6rem;
margin-bottom: 5px;
}
.phone-number {
font-size: 2.2rem;
font-weight: bold;
line-height: 90%;
text-decoration: none;
transition: color 0.3s ease;
}
.phone-number:hover {
color: #740302;
}
.hours {
margin-top: 4px;
}
.hours,
.holiday {
font-size: 1.4rem;
line-height: 22px;
color: #4f1b13;
}
/* Hamburger menu */
.hamburger {
display: none;
width: 60px;
height: 60px;
background-color: #E2CEB2;
border: none;
border-radius: 50%;
justify-content: center;
align-items: center;
flex-direction: column;
gap: 10px;
cursor: pointer;
padding: 10px;
}
.hamburger span {
display: block;
width: 32px;
height: 1.5px;
background-color: #682917;
}
.header-nav.show {
display: flex;
margin-bottom: 30px;
}
/*=====================
Index -  First view
======================*/
.first-view {
display: flex;
justify-content: center;
width: 100%;
max-width: 1920px;
margin: 0 auto;
}
.side-column {
display: flex;
flex-direction: column;
flex:1;
gap: 10px;
}
.side-img {
width: 100%;
height: 350px;
object-fit: cover;
border-radius: 3px;
}
.middle-column {
width: 470px;
display: flex;
flex-direction: column;
justify-content: center;
}
.middle-img {
display: block;
width: 100%;
height: 710px;
object-fit: cover;
border-radius: 3px;
opacity: 0;
animation: fadeIn 2.5s ease-in-out forwards;
}
@keyframes fadeIn {
from{
    opacity: 0;
    transform: translateY(20px);
}
to{
    opacity: 1;
    transform: translateY(0);
}
}
.message-section {
padding: 80px 0;
}
.message-container {
display: flex;
justify-content: center;
}
.message-wrapper {
position: relative;
width: 1004px;
height: 80px;
}
.message-background {
position: absolute;
top: 20px;
left: 35px;
width: 1004px;
height: 80px;
background-color: #B8A88F;
border-radius: 2px;
z-index: 0;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.message-foreground {
position: relative;
width: 1004px;
height: 80px;
background: linear-gradient(to bottom, #ebd4ac 0%, #E2CEB2 100%);
border-radius: 2px;
display: flex;
align-items: center;
justify-content: center;
font-size: 3.8rem;
color: #4f1b13;
z-index: 1;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
@keyframes fadeInTextOnly {
0% {
    opacity: 0;
}
100% {
    opacity: 1;
}
}
.fade-in-text {
animation: fadeInTextOnly 2.8s ease-in forwards;
opacity: 0;
}
.message-description {
margin: 150px auto;
width: 100%;
max-width: 1004px;
font-size: 1.8rem;
letter-spacing: 0.1em;
line-height: 4;
text-align: center;
opacity: 0;
transform: translateY(30px);
transition: opacity 2.5s ease, transform 2.5s ease;
transition-delay: 0.3s;
}
.message-description.animate {
opacity: 1;
transform: translateY(0);
}
.interior-decor-wrapper {
position: relative;
height: auto;
margin: 100px auto;
display: flex;
justify-content: center;
}
.photo-layer{
position: relative;
height: auto;
}
.interior-decor-photo {
width: 450px;
height: auto;
position: relative;
z-index: 2;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
filter: sepia(100%);
border-radius: 3px;
transition: filter 2.8s ease;
}
.interior-decor-photo.visible {
filter: sepia(0%);
}
.photo-bg-top {
position: absolute;
bottom: 50px;
transform: translateX(-40%);
width: 400px;
height: 100%;
background: #dccaab;
border-radius: 3px;
z-index: 1;
opacity: 0;
transition: opacity 2s ease;
}
.photo-bg-top.visible {
opacity: 1;
}
.photo-bg-bottom {
position: absolute;
top: 50px;
left: 100%;
transform: translateX(-60%);
width: 400px;
height: 100%;
background: #f1dcaa;
border-radius: 3px;
z-index: 1;
opacity: 0;
transition: opacity 2s ease;
}
.photo-bg-bottom.visible {
opacity: 1;
}
.message-description2 {
max-width: 490px;
margin: 120px auto 0 auto;
font-family: 'Noto Sans JP', sans-serif;
font-size: 1.6rem;
line-height: 35px;
text-align: center;
padding: 40px;
text-decoration: underline;
}
.sp-only,
.se-only {
display: none;
}
.news-section {
background-color: #FBF5E5;
width: 100%;
max-width: 1400px;
margin: 20px auto 0 auto;
border-radius: 8px;
padding: 20px 30px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
.news-header-content {
width: 100%;
max-width: 1200px;
display: flex;
flex-direction: column;
padding: 60px;
margin: 0 auto;
}
.news-header {
display: flex;
justify-content: space-between;
align-items: center;
}
.news-heading {
font-size: 2.2rem;
color: #4f1b13;
border-left: 8px solid #740302;
padding-left: 10px;
margin: 0;
height: 40px;
line-height: 40px;
}
.news-button {
display: flex;
padding: 10px 20px;
margin-bottom: 10px;
background-color: #682917;
color: #fff;
font-size: 1.6rem;
border: none;
border-radius: 3px;
cursor: pointer;
align-items: center;
justify-content: center;
gap: 10px;
transition: background-color 0.3s ease, transform 0.3s ease;
text-decoration: none;
outline: 2px solid #682917;
outline-offset: 2px;
}
.news-button .arrow {
font-size: 2rem;
margin-left: 10px;
}
.news-button:hover {
background-color: #740302;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
.news-button:active {
transform: scale(0.98);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.news-border {
border:none;
border-top: double 4px #CCBCA5;
width: 100%;
margin: 10px 0 20px 0;
}
.news-item {
display: flex;
align-items: center;
max-width: 1088px;
letter-spacing: 3px;
margin-top: 20px;
gap: 30px;
}
.news-header-title {
font-size: 1.6rem;
text-decoration: none;
color: #4f1b13;
transition: color 0.3s ease;
margin-bottom: 20px;
}
.news-header-title:hover {
text-decoration: underline;
color: #740302;
}
.menu-section {
margin-top: 150px;
}
.menu-inner {
max-width: 1100px;
margin: 0 auto;
padding: 0 16px;
}
.home-menu-title {
font-size: 2.2rem;
color: #4f1b13;
border-left: 8px solid #740302;
padding-left: 10px;
margin: 0;
height: 40px;
line-height: 40px;
}
.soba-recommendation {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
padding: 30px 16px;
max-width: 1100px;
margin: 20px auto 0 auto;
}
.soba-text h3 {
font-size: 1.6rem;
margin: 20px auto;
color: #42220B;
padding-bottom: 8px;
border-bottom: 2px solid #6C3E1C;
display: inline-block;
}
.soba-paragraphs {
display: flex;
justify-content: center;
gap: 80px;
flex-wrap: wrap;
}
.soba-item {
background: linear-gradient(#F8F1E6,#FBF6E4, #FFEECB);
padding: 20px;
box-shadow: 0 2px 6px rgba(0,0,0,0.05);
width: 280px;
height: auto;
flex-direction: column;
text-align: center;
display: flex;
align-items: center;
border-radius: 6px;
transition: transform .2s ease;
}
.soba-item:hover {
transform: scale(1.1) !important;
}
.soba-icon {
margin-bottom: 20px;
}
.soba-icon img {
width: 60px;
height: 60px;
border: 2px solid #682917;
border-radius: 50px;
}
.soba-item p {
margin: 0;
font-size: 1.6rem;
line-height: 1.6;
}
.small-note {
font-family: 'Noto Sans JP', sans-serif;
font-size: 1.3rem;
color: #4f1b13;
display: block;
margin-top: 6px;
line-height: 1.6;
}
.menu-slider-container {
max-width: 1200px;
width: 100%;
margin: 50px auto;
position: relative;
padding: 0 60px;
box-sizing: border-box;
overflow: hidden;
}
.menu-slider-container,
.menu-slider,
.slick-slide {
background-color: #F5EAD6;
}
.menu-slider .slick-slide,
.menu-item {
will-change: transform, opacity;
transform: translate3d(0, 0, 0);
}
.menu-slider {
background-color: inherit;
display: flex;
justify-content: center;
}
.slide-item {
padding: 30px 20px;
flex: 0 0 auto;
}
.menu-item {
aspect-ratio: 1 / 1;
width: clamp(160px, 28vw, 280px);
border-radius: 50%;
overflow: hidden;
margin: 0 auto;
box-sizing: border-box;
position: relative;
transform: scale(0.8);
opacity: 0.5;
transition: transform 0.2s ease, opacity 0.2s ease;
}
.menu-item.active {
transform: scale(1.05);
opacity: 1;
z-index: 2;
}
.menu-item img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.slider-arrow {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 50px;
height: 50px;
border-radius: 3%;
background-color: rgba(104, 41, 23, 0.7);
border: none;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
z-index: 10;
transition: background-color 0.3s ease, transform 0.3s ease;
}
.slider-arrow:hover {
background-color: rgba(104, 41, 23, 0.9);
transform: translateY(-50%) scale(1.1);
}
.left-arrow {
left: 10px;
}
.right-arrow {
right: 10px;
}
.menu-button-wrapper {
display: flex;
justify-content: center;
margin-top: 40px;
}
.menu-button {
display: flex;
padding: 10px 20px;
background-color: #682917;
color: #fff;
font-size: 1.6rem;
border: none;
border-radius: 3px;
cursor: pointer;
align-items: center;
justify-content: center;
transition: background-color 0.3s ease, transform 0.3s ease;
text-decoration: none;
outline: 2px solid #682917;
outline-offset: 2px;
}
.menu-button .arrow {
font-size: 2rem;
margin-left: 10px;
}
.menu-button:hover {
background-color: #740302;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}
.menu-button:active {
transform: scale(0.98);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.info-section {
margin-top: 100px;
}
.access-container {
max-width: 1100px;
margin: 0 auto;
padding: 0 16px;
}
.access-wrapper {
display: flex;
align-items: center;
justify-content: flex-start;
}
.access-title{
font-size: 2.2rem;
color: #4f1b13;
display: flex;
align-items: center;
margin-left: 10px;
}
.map-wrapper {
display: flex;
justify-content: center;
margin-top: 50px;
}
.map-wrapper iframe {
width: 100%;
max-width: 1100px;
height: 500px;
border: 0;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.info-layout {
display: flex;
justify-content: center;
align-items: center;
margin-top: 60px;
gap: 40px;
padding: 0 16px;
}
.info-container {
background-color: #FBF6E4;
width: 500px;
height: auto;
padding: 50px 30px;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: flex-start;
border-radius: 5px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.info-text-items {
width: 100%;
max-width: 350px;
display: flex;
flex-direction: column;
align-items: center;
}
.restaurant-name {
font-size: 2.2rem;
color: #4f1b13;
align-self: flex-start;
border-left: 8px solid #740302;
padding-left: 10px;
height: 40px;
line-height: 40px;
margin: 0 0 50px 8px;
}
.info-item {
width: 100%;
display: flex;
align-items: flex-start;
gap: 30px;
}
.info-item img {
width: 24px;
height: 24px;
flex-shrink: 0;
}
.info-item .icon-phone,
.info-item .icon-parking {
width: 20px;
height: 20px;
margin-top: 2px;
}
.icon-phone {
margin-left: 4px;
}
.icon-parking {
margin-left: 2px;
}
.info-text {
margin: 0 0 0 20px;
font-size: 1.4rem;
line-height: 1.6;
text-align: left;
font-family: 'Noto Sans JP', sans-serif;
}
.info-divider {
width: 100%;
max-width: 300px;
height: 1px;
background-color: #682917;
opacity: 30%;
margin: 25px 0 25px auto;
}
.info-photo-column {
display: flex;
flex-direction: column;
gap: 50px;
padding: 10px;
flex-wrap: wrap;
}
.info-photo {
width: 100%;
max-width: 470px;
min-width: 300px;
height: 300px;
object-fit: cover;
border-radius: 5px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
transition: transform 0.4s ease;
will-change: transform;
}
.info-photo:hover {
transform: scale(1.1);
}
.site-footer {
background-color: #3C1F1C;
width: 100%;
height: auto;
margin-top: 120px;
display: flex;
flex-direction: column;
align-items: center;
}
.footer-content {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
max-width: 1100px;
padding: 40px 20px;
gap: 40px;
box-sizing: border-box;
}
.footer-company-info p {
font-style: normal;
font-family: 'Yuji Syuku', serif;
text-align: center;
line-height: 2;
font-size: 1.6rem;
color: #fff;
min-width: 200px;
margin: 0.4em 0;
}
.footer-logo-instagram {
display: flex;
align-items: center;
gap: 40px;
}
.footer-logo {
width: 100px;
height: 160px;
object-fit: contain;
}
.instagram-logo {
width: 50px;
cursor: pointer;
transition: transform 0.3s ease, filter 0.3s ease;
}
.instagram-logo:hover {
transform: scale(1.1);
filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.6));
}
.footer-bottom-bar {
height: 40px;
width: 100%;
background-color: #3C1E1C;
display: flex;
justify-content: center;
align-items: center;
}
.footer-bottom-text {
font-family: 'Noto Sans JP', sans-serif;
font-size: 1.4rem;
color: #fff;
display: flex;
align-items: center;
gap: 40px;
margin: 0;
}
.privacy-link {
color: #fff;
text-decoration: none;
transition: color 0.3s ease, text-decoration 0.3s ease;
}
.privacy-link:hover {
text-decoration: underline;
}
.privacy-link:active {
color: rgb(210, 210, 210);
}
/* ======================
        News.html
========================= */
.news-wrapper {
position: relative;
width: 100%;
height: 450px;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
z-index: 1;
}
.news-parallax-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 150%;
background-image: url("assets/images/news-title.jpg");
background-size: cover;
background-position: center top;
z-index: -1;
transform: translateY(0);
transition: transform 0.1s ease-out;
}
.page-title {
color: #fff;
font-size: 3.5rem;
margin: 0;
text-shadow: 4px 4px 2px rgba(0,0,0,0.6);
}
.subtitle {
color: #fff;
font-size: 2rem;
opacity: 0.5;
margin-top: 10px;
}
.notice-message {
color: #fff;
font-size: 1.4rem;
position: absolute;
bottom: 15px;
left: 50%;
transform: translateX(-50%);
margin: 0;
text-align: center;
font-family: 'Noto Sans JP', sans-serif;
}
.breadcrumb {
margin-top: 20px;
padding-left: 20px;
font-size: 1.6rem;
color: #42220B;
}
.breadcrumb a {
text-decoration: none;
color: #682917;
transition: color 0.3s ease;
}
.breadcrumb .separator {
margin: 0 8px;
}
.breadcrumb a:hover {
text-decoration: underline;
}
.breadcrumb a:active {
color: #A0522D;
}
.news-list-section {
margin-top: 80px;
display: flex;
flex-direction: column;
align-items: center;
gap: 60px;
}
.news-container {
background-color: #FDFBF7;
width: 90%;
max-width: 1100px;
padding: 20px 40px 40px;
box-sizing: border-box;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.news-container:hover {
transform: scale(1.02);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.news-title,
.news-date {
font-size: 1.6rem;
color: #4f1b13;
margin: 0 0 20px 0;
}
.news-content {
font-size: 1.4rem;
font-family: 'Noto Sans JP', sans-serif;
color: #682917;
margin-top: 35px;
line-height: 1.6;
}
.news-no-posts {
font-size: 1.6rem;
font-weight: bold;
text-align: center;
padding: 40px 20px;
background-color: #FDFBF7;
border-radius: 8px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.pagination-wrapper {
margin-top: 160px;
display: flex;
gap: 30px;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.pagination-wrapper ul {
display: flex;
gap: 30px;
justify-content: center;
align-items: center;
list-style: none;
padding: 0;
}
.pagination-wrapper ul li a,
.pagination-wrapper ul li span {
font-size: 1.6rem;
width: 26px;
height: 26px;
display: flex;
align-items: center;
justify-content: center;
color: #42220B;
text-decoration: none;
border-radius: 3px;
}
/* Number links */
.page-numbers {
font-size: 1.6rem;
width: 26px;
height: 26px;
display: flex;
align-items: center;
justify-content: center;
color: #42220B;
cursor: pointer;
transition: background-color 0.3s ease, color 0.3s ease;
border-radius: 3px;
text-decoration: none;
}

/* Active page */
.page-numbers.current {
background-color: #B8A88F;
color: #fff;
}

/* Hover effect for non-active links */
.page-numbers:not(.current):hover {
background-color: #42220B;
color: #fff;
}

/* Arrow links (optional) */
.page-numbers.prev,
.page-numbers.next {
font-weight: bold;
}

/*=================
    Menu.html
==================*/
.menu-header-wrapper {
position: relative;
width: 100%;
height: 450px;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
z-index: 1;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.menu-parallax-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 150%;
background-image: url("assets/images/menu-title.png");
background-size: cover;
background-position: center top;
z-index: -1;
transform: translateY(0);
transition: transform 0.1s ease-out;
}
.bg-menu-side-wrap::before {
left: 0;
}
.bg-menu-side-wrap::after {
right: 0;
}
.menu-category {
max-width: 1100px;
margin: 100px auto;
padding: 0 20px;
box-sizing: border-box;
}
.menu-title-tax-group {
display: flex;
flex-direction: column;
gap: 4px;
margin-bottom: 4px;
}
.menu-title-group {
display: flex;
flex-direction: column;
margin-bottom: 26px;
}
.menu-title {
font-size: 2.2rem;
color: #4f1b13;
border-left: 8px solid #740302;
padding-left: 10px;
margin: 0;
height: 40px;
line-height: 40px;
}
.tax-notice {
font-size: 1.2rem;
margin: 0;
font-family: 'Noto Sans JP', sans-serif;
color: #3C1E1C;
}
.menu-container {
width: 100%;
max-width: 1100px;
min-height: 300px;
background: linear-gradient(90deg, #FFEECB,#FBF6E4, #F8F1E6);
box-sizing: border-box;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
border-radius: 8px;
padding: 20px;
display: flex;
justify-content: center;
align-items: center;
position: relative;
gap: 80px;
margin-bottom: 60px;
}
.menu-info {
display: flex;
flex-direction: column;
justify-content:flex-start;
margin-right: 60px;
}
.menu-info.zarusoba {
margin-left: 20px;
}
.menu-info.tamago{
margin-right: 30px;
}
.menu-info.ebi {
margin-right: 50px;
}
.menu-info.yasai {
margin-right: 124px;
}
.menu-info.ice-cream {
margin-right: 32px;
}
.name-price-wrapper {
display: flex;
justify-content: space-between;
width: 450px;
position: relative;
}
.menu-name,
.price {
margin: 0;
font-size: 1.8rem;
color: #4f1b13;
}
.price {
padding-right: 10px;
}
.menu-line {
width: 450px;
border-bottom: 1px dotted #A27B52;
margin: 8px 0 15px 0;
opacity: 0.9;
}
.menu-description {
font-size: 1.4rem;
line-height: 1.8;
font-family: 'Noto Sans JP', sans-serif;
margin: 0;
}
.menu-photo {
width: 350px;
height: auto;
object-fit: cover;
transition: transform .4s ease;
}
.menu-photo:hover {
transform: scale(1.1);
}
.zarusoba-photo {
width: 320px;
margin-left: 10px;
}
.dashimaki-tamago-photo {
width: 280px;
margin-right: 40px;
}
.ebi-tempura-photo {
width: 320px;
margin-right: 20px;
}
.yasai-tempura-photo {
width: 400px;
height: 160px;
margin-left: 20px;
}
.ice-cream-photo {
width: 260px;
margin-right: 70px;
}
.drink-menu-container {
display: flex;
flex-wrap: wrap;
gap: 24px;
width: 100%;
max-width: 1000px;
margin: 0 auto;
box-sizing: border-box;
}
.drink-column {
width: 232px;
flex: 0 0 auto;
}
.drink-header {
background-color: #740302;
color: #fff;
font-size: 1.6rem;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
transition: transform 0.4s ease;
margin-bottom: 10px;
}
.drink-header:hover {
transform: scale(1.1);
}
.drink-item {
display: flex;
justify-content: space-between;
font-size: 1.6rem;
padding: 4px 0;
color: #4f1b13;;
border-bottom: 1px dotted #CCBCA5;
}
.add-menu-container {
width: 100%;
max-width: 1100px;
min-height: 90px;
display: flex;
align-items: center;
padding: 20px;
margin: 0 auto;
box-sizing: border-box;
background: linear-gradient(90deg, #FFEECB, #FBF6E4, #F8F1E6);
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.add-menu-wrapper {
display: flex;
flex-wrap: wrap;
gap: 24px;
max-width: 1000px;
margin: 0 auto;
box-sizing: border-box;
}
.add-menu-box {
width: 232px;
flex: 0 0 auto;
}
.add-menu-item {
display: flex;
justify-content: space-between;
font-size: 1.6rem;
color: #4f1b13;
padding: 4px 0;
border-bottom: 1px dotted #CCBCA5;
}
/*=================
    info.html
==================*/
.info-header-wrapper {
position: relative;
width: 100%;
height: 450px;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
z-index: 1;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.info-parallax-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 150%;
background-image: url("assets/images/restaurant-info-title.png");
background-size: cover;
z-index: -1;
transform: translateY(0);
transition: transform 0.1s ease-out;
}
.interior-title-container {
max-width: 1100px;
margin: 0 auto;
padding: 0 16px;
margin-bottom: 40px;
}
.interior-info-title-wrapper {
display: flex;
align-items: center;
justify-content: flex-start;
margin: 60px 0 20px;
}
.interior-info-title,
.access-title{
font-size: 2.2rem;
color: #4f1b13;
border-left: 8px solid #740302;
padding-left: 10px;
margin: 0;
height: 40px;
line-height: 40px;
}
.interior-bg-section {
position: relative;
z-index: 0;
padding: 80px 20px;
background-image: url("assets/images/bg-beige1.jpg");
background-size: cover;
background-repeat: no-repeat;
overflow: hidden;
}
.interior-bg-section::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(238, 215, 175, 0.7);
z-index: -1;
}
.interior-main-section {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto 100px auto;
}
.interior-main-section {
display: flex;
justify-content: center;
align-items: center;
gap: 40px;
flex-wrap: wrap;
}
.interior-left {
max-width: 500px;
display: flex;
flex-direction: column;
align-items: flex-end;
}
.interior-message {
font-size: 1.6rem;
line-height: 3.2;
text-align: justify;
font-family: 'Noto Sans JP', sans-serif;
padding: 16px;
margin-right: 60px;
}
.logo-box-info {
display: flex;
flex-direction: column;
align-items: center;
padding: 10px;
margin-right: 50px;
}
.logo-interior {
height: 70px;
}
.info-interior-photo {
width: 380px;
height: 466px;
object-fit: cover;
object-position: center bottom;
box-sizing: content-box;
border-radius: 3px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
filter: sepia(100%);
transition: filter 0.3s ease;
}
.info-interior-photo:hover {
filter: sepia(0%);
}
.fade-in-up {
opacity: 0;
transform: translateY(20px);
transition: opacity 1.5s ease, transform 1.5s ease;
}
.fade-in-up.show {
opacity: 1;
transform: translateY(0);
}
.interior-slider {
max-width: 700px;
margin: 0 auto;
position: relative;
}
.interior-slider img,
.slider-for img,
.slider-nav img {
display: block;
margin: 0;
padding: 0;
border-radius: 3px;
line-height: 0;
font-size: 0;
object-fit: cover;
}
.slider-for .slick-slide,
.slider-nav .slick-slide {
display: flex;
align-items: center;
justify-content: center;
padding: 0;
margin: 0;
line-height: 0;
font-size: 0;
}
.slider-nav {
margin-top: 20px;
}
.slider-nav img {
width: 100%;
max-width: 180px;
aspect-ratio: 180 / 118;
object-fit: cover;
border-radius: 3px;
}
.slider-nav .slick-slide {
margin: 0 10px;
}
/* ==================
    Privacy.html
=====================*/
.privacy-header-wrapper {
position: relative;
width: 100%;
height: 450px;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
z-index: 1;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.privacy-parallax-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 110%;
background-image: url("assets/images/privacy-title.png");
background-size: cover;
background-position: center bottom;
z-index: -1;
transform: translateY(0);
transition: transform 0.1s ease-out;
}
.privacy-content {
max-width: 1000px;
margin: 100px auto 0 auto;
padding: 0 20px;
font-family: 'Noto Sans JP', sans-serif;
font-size: 1.6rem;
line-height: 1.75;
color: #682917;
}
.privacy-content section {
margin-top: 30px;
}
.privacy-content h2 {
font-size: 2rem;
margin-bottom: 8px;
color: #4f1b13;
}
.privacy-content h3 {
font-size: 1.6rem;
font-weight: bold;
color: #4f1b13;
}
.privacy-content p {
margin-bottom: 5px;
}
.privacy-content ul {
padding-left: 10px;
margin-bottom: 5px;
}
/*===================
        404.html
====================*/
.notfound-wrapper {
min-height: 60vh;
display: flex;
align-items: center;
justify-content: center;
padding: 60px 20px;
text-align: center;
background-color: #FBF6E4;
}
.notfound-content {
max-width: 600px;
}
.notfound-title {
font-size: 2rem;
font-weight: bold;
color: #682917;
margin-bottom: 20px;
}
.notfound-message {
font-size: 1.6rem;
color: #3C1F1C;
font-family: 'Noto Sans JP', sans-serif;
margin-bottom: 40px;
}
.back-home-btn {
display: inline-block;
background-color: #682917;
color: #fff;
padding: 10px 20px;
text-decoration: none;
border-radius: 6px;
font-size: 1.6rem;
outline: 2px solid #682917;
outline-offset: 2px;
transition: background-color 0.3s;
}
.back-home-btn:hover {
background-color: #4f1b13;
}
/* ===== Tablet View (769px–1024px) ===== */
@media (max-width: 1024px) and (min-width: 769px) {
/*  First View.    */
.middle-column {
    width: 320px;
}
.middle-img {
    height: 500px;
}
.side-img {
    height: 250px;
}
.message-section {
    padding-top: 60px;
}
.message-wrapper {
    width: 90%;
    height: 72px;
}
.message-background,
.message-foreground {
    width: 100%;
    height: 72px;
}
.message-foreground {
    font-size: 3rem;
}
/*  Menu slides  */
.menu-item {
    width: clamp(140px, 24vw, 240px);
    transform: scale(0.75);
}
.menu-item.active {
    transform: scale(1.05);
}
    .info-photo {
    height: auto;
}
.menu-container {
    align-items: center;
    gap: 40px;
    flex-wrap: nowrap;
    overflow-x: auto;
}
.photo-wrapper {
    flex: 0 0 auto;
    margin: 0 auto;
    padding: 0;
}
.menu-info {
    width: 100%;
    max-width: 48%;
    min-width: 0;
    margin: 0;
    text-align: left;
    box-sizing: border-box;
    flex-shrink: 1;
}
.menu-info.zarusoba,
.menu-info.tamago,
.menu-info.ebi,
.menu-info.yasai,
.menu-info.ice-cream {
    margin: 0;
    padding: 0;
}
.name-price-wrapper,
.menu-line {
    width: 100%;
}
.menu-photo {
    margin: 0;
    min-width: 300px;
}
.ebi-tempura-photo,
.dashimaki-tamago-photo {
    min-width: 280px;
}
.dashimaki-tamago-photo {
    padding: 0;
}
.yasai-tempura-photo {
    flex-shrink: 0;
    width: 350px;
    height: auto;
}
.ice-cream-photo {
    flex-shrink: 0;
    min-width: 260px;
    margin-right: 50px;
}
.drink-menu-container,
.add-menu-wrapper {
    justify-content: center;
    padding: 20px;
}
.menu-description br {
    display: none;
}
}
@media screen and (max-width: 920px) {
.main-header {
    height: auto;
    flex-direction: column;
    gap: 10px;
}
.header-left,
.header-nav,
.header-right {
    width: 100%;
    justify-content: center;
}
.header-nav {
    display: none;
}
.hamburger {
    display: flex;
    position: absolute;
    top: 20px;
    right: 20px;
}
.logo {
    height: 60px;
}
.header-nav.show {
    display: flex;
    order: 3;
    width: 100%;
    padding: 10px 0;
}
.header-nav.show ul {
    flex-direction: column;
    gap: 15px;
}
.menu-item {
    width: 100%;
    max-width: 230px;
    height: auto;
    aspect-ratio: 1 / 1;
}
}
@media (max-width: 768px) {
.main-header {
    width: 100%;
    flex-direction: column;
    align-items: center;
    height: auto;
    gap: 0;
}
.header-left {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 120px;
}
.header-nav {
    display: none;
    width: 100%;
    justify-content: center;
    margin: 10px 0;
}
.header-nav ul {
    flex-direction: column;
    gap: 20px;
}
.header-right {
    width: 100%;
    justify-content: center;
}
.hamburger {
    display: flex;
    margin: 10px;
    min-width: 60px;
}
.logo-box {
    margin: 0;
    min-height: 60px;
}
.logo {
    height: 60px;
    margin-right: 20px;
}
.logo-subtext {
    font-size: 0.8rem;
    letter-spacing: 4px;
    margin-right: 20px;
}
.header-contact {
    margin-top:0;
}
.mobile-only {
    display: block;
}
.first-view {
    flex-direction: column;
    padding: 0;
    gap: 0;
}
.left-column {
    order: 1;
}
.middle-column {
    order: 2;
    width: 100%;
}
.right-column {
    order: 3;
}
.side-img {
    height: 206px;
    width: 100%;
    object-fit: cover;
}
.middle-img {
    height: 190px;
    width: 100%;
    object-fit: cover;
}
.message-section {
    padding: 40px 0 0 0;
}
.message-wrapper {
    width: 100%;
    height: 64px;
    padding: 0 16px;
    box-sizing: border-box;
    position: relative;
}
.message-background {
    top: 16px;
    width: 90%;
    height: 64px;
    padding: 0 16px;
}
.message-foreground {
    width: 100%;
    height: 64px;
    font-size: 2rem;
}
.message-description {
    font-size: 1.6rem;
    line-height: 3;
    letter-spacing: 0.05em;
    margin-top: 60px;
    margin-bottom: 60px;
    text-align: justify;
    width: 280px;
}
    .message-description br {
    display: none;
}
.photo-layer {
    width: 90%;
    position: relative;
}
.interior-decor-photo {
    width: 100%;
}
.photo-bg-top,
.photo-bg-bottom {
    width: 100%;
}
.photo-bg-top {
    bottom: 30px;
    left: 50%;
    transform: translateX(-60%);
}
.photo-bg-bottom {
    top: 30px;
    left: 50%;
    transform: translateX(-45%);
}
.interior-decor-wrapper {
    margin-top: 40px;
    margin-bottom: 40px;
}
.message-description2 {
    font-size: 1.4rem;
    line-height: 3;
    text-align: center;
    margin: 20px auto;
    padding: 16px;
}
.sp-only {
    display: inline;
}
.news-section {
    margin-top: 40px;
    width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
}
.news-header-content {
    max-width: 100%;
    padding: 30px 16px;
}
.news-item {
    gap: 20px;
}
.news-heading {
    padding-left: 10px;
}
.news-content{
    padding-top: 40px;
}
.menu-section {
    margin-top: 60px;
}
.menu-inner {
    margin-left: 18px;
}
.soba-paragraphs {
gap: 60px;
}
.menu-slider {
    justify-content: center;
}
.slide-item {
    flex: 0 0 100%;
    display: none;
}
.slide-item .menu-item.active {
    display: block;
    margin: 0 auto;
    transform: scale(1.1);
    opacity: 1;
}
.slider-arrow {
    width: 40px;
    height: 40px;
    background-color: rgba(104, 41, 23, 0.8);
}
.slider-arrow svg {
    width: 20px;
    height: 20px;
}
.menu-button-wrapper {
    margin-top: 10px;
}
.map-wrapper {
    margin-top: 40px;
}
.info-fullscreen-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}
.info-layout {
    flex-direction: column;
    align-items: center;
    gap: 30px;
}
.info-container {
    width: 90%;
    min-width: 360px;
    height: auto;
    padding: 30px 20px;
}
.info-text-items {
    align-items: flex-start;
    width: 100%;
}
.access-container {
    margin-left: 18px;
}
.info-photo-column {
    align-items: center;
}
.info-photo {
    height: 280px;
}
    .site-footer {
    margin-top: 80px;
    justify-content: flex-start;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.footer-content {
    padding: 30px 20px;
    align-items: flex-end;
}
.footer-logo-instagram {
    flex-direction: column;
    min-width: 50px;
    gap: 30px;
}
.footer-logo {
    width: 60px;
    height: 100px;
}
.footer-bottom-bar {
    height: 36px;
}
.footer-bottom-text {
gap: 15px;
}
/*  Mobile news-page  */
.news-wrapper {
    height: 280px;
}
.page-title {
    font-size: 2.8rem;
}
.news-container {
    padding: 20px;
}
.news-title{
    margin-bottom: 30px;
}
.notice-message {
    font-size: 1.2rem;
    width: 90%;
}
.news-content {
    margin-top: 20px;
    padding: 0;
}
.pagination-wrapper {
    margin-top: 100px;
}
/* menu-page */
.menu-header-wrapper {
    height: 280px;
}
.menu-list-section {
    gap: 40px;
    margin-top: 40px;
}
.menu-title {
    font-size: 1.8rem;
    margin-left: 12px;
}
.tax-notice{
    margin-left: 36px;
}
.menu-container {
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    align-items: center;
    overflow: hidden;
}
.menu-info {
    margin: 0 auto;
    width: 100%;
    padding: 0 16px;
}
.menu-name,
.price {
font-size: 1.7rem;
}
.menu-info.zarusoba{
    margin: 0;
    padding: 0 16px;
}
.name-price-wrapper {
    width: 100%;
}
.menu-line {
    width: 100%;
}
.menu-description br {
    display: none;
}
.zarusoba-photo,
.dashimaki-tamago-photo {
    margin: 0;
}
.ebi-tempura-photo{
    margin: 0 0 0 24px;
}
.yasai-tempura-photo {
    margin-right: 40px;
    min-width: 350px;
}
.ice-cream-photo{
    margin-left: 10px;
    width: 260px;
}
.drink-menu-container {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    max-width: 400px;
    padding: 16px;
}
.drink-column {
    width: 100%;
}
.drink-header {
    font-size: 1.6rem;
    height: 32px;
    margin-bottom: 8px;
}
.drink-header:hover {
    transform: scale(1.02);
}
.drink-item {
    font-size: 1.6rem;
    padding: 6px 0;
    margin: 10px 0;
}
.add-menu-container {
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    overflow: hidden;
}
.add-menu-wrapper {
    flex-direction: column;
    gap: 10px;
    padding: 0 16px;
    margin: 10px 0 20px 0;
    width: 100%;
}
.add-menu-box {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 0;
}
.add-menu-item {
    width: 100%;
    font-size: 1.6rem;
    padding: 6px 0;
    box-sizing: border-box;
}
/* info-page */
.info-header-wrapper {
    height: 280px;
}
.interior-title-container {
    margin-left: 18px;
}
.interior-main-section{
    margin-bottom: 60px;
}
.interior-left {
    align-items: center;
    max-width: 100%;
}
.interior-message {
    line-height: 2.4;
    margin-right: 0;
    padding: 12px 20px;
    text-align: justify;
}
.logo-box-info {
    margin-right: 0;
    padding: 8px 0;
}
.logo-interior {
    height: 60px;
}
.interior-right {
    display: flex;
    align-items: center;
    justify-content: center;
}
.info-interior-photo {
    width: 300px;
    height: 380px;
}
.interior-slider {
    max-width: 100%;
    padding: 0 10px;
}
.slider-nav {
    margin-top: 16px;
    padding: 0;
}
.slider-nav .slick-slide {
    margin: 0 5px;
}
.slider-nav img {
    width: 100%;
    max-width: none;
    aspect-ratio: 180 / 118;
    object-fit: cover;
    border-radius: 3px;
}
.slider-for img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
.info-section{
    margin-top: 60px;
}
/*  Privacy Policy  */
.privacy-header-wrapper {
    height: 350px;
}
/* 404 page */
.notfound-wrapper {
    padding: 40px 16px;
}
.notfound-title {
    font-size: 2.4rem;
}
.notfound-message {
    font-size: 1.4rem;
}
.back-home-btn {
    font-size: 1.6rem;
    padding: 10px 16px;
}
}
@media screen and (max-width: 380px) {
.se-only {
    display: inline;
}
}