:root { --green: #29443c; --cream: #deded1; --ink: #171717; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
.header { height: 94px; background: #fff; }
.header-inner { display: flex; align-items: center; justify-content: space-between; width: min(100% - 48px, 940px); height: 100%; margin: auto; }
.logo { display: block; width: 90px; }
.logo img { width: 100%; }
.nav { display: flex; gap: clamp(22px, 4vw, 47px); }
.nav a { font-size: 14px; font-weight: 700; letter-spacing: .16em; transition: opacity .2s; }
.nav a:hover { opacity: .55; }
.main-visual img { width: 100%; height: min(36.1vw, 520px); min-height: 340px; object-fit: cover; object-position: center; }
.greeting, .news { background: var(--green); color: #fff; }
.greeting { padding: 70px 24px; }
.greeting-inner { display: flex; align-items: center; gap: 80px; width: min(100%, 850px); margin: auto; }
.greeting-text { flex: 1; }
.greeting-text h1 { margin: 0 0 42px; transform: translateY(-18px); font-size: 26px; font-weight: 600; line-height: 2.05; letter-spacing: .14em; }
.greeting-text h1 span { display: block; white-space: nowrap; }
.greeting-text p { margin: 0; font-size: 12px; line-height: 2.1; letter-spacing: .03em; }
.greeting-image { flex: 0 0 min(43%, 365px); }
.greeting-image img { aspect-ratio: 1 / 1; object-fit: cover; }
.menu { padding: 40px 24px 58px; background: var(--cream); }
.section-inner { width: min(100%, 760px); margin: auto; }
h2 { margin: 0; font-size: 27px; font-weight: 700; letter-spacing: .2em; text-align: center; }
.menu h2 { margin-bottom: 40px; }
.menu-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.menu-item { overflow: hidden; background: #292929; color: #fff; }
.menu-item img { aspect-ratio: 1.5 / 1; object-fit: cover; transition: transform .3s; }
.menu-item:hover img { transform: scale(1.04); }
.menu-item .menu-label { display: block; padding: 8px; font-size: 16px; letter-spacing: .1em; text-align: center; }
.mobile-label { display: none; }
.news { padding: 36px 24px; }
.news-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; width: min(100%, 840px); margin: auto; }
.news-text h2 { margin-bottom: 20px; text-align: left; }
.news-text p { margin: 0; font-size: 17px; font-weight: 600; line-height: 1.9; letter-spacing: .1em; }
.instagram-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 14px; border-bottom: 1px solid currentColor; font-size: 13px; letter-spacing: .1em; }
.instagram-link img { width: 30px; height: 30px; }
.news-visuals { display: flex; align-items: center; }
.news-sign { width: 135px; max-height: 180px; object-fit: contain; transform: translateX(-28px); }
.shop-image img { height: min(28vw, 405px); min-height: 280px; object-fit: cover; }
.shop { padding: 36px 24px; background: #fff; }
.shop-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; width: min(100%, 800px); margin: auto; }
.shop-logo { width: 150px; }
.shop-logo img { width: 100%; }
.shop-info { flex: 1; font-size: 16px; font-weight: 600; line-height: 1.7; letter-spacing: .08em; }
.shop-info p { margin: 0 0 10px; }
.shop-address { display: flex; align-items: center; gap: 36px; }
.business-hours { display: flex; gap: 40px; }
.shop-instagram img { width: 43px; }
.footer { padding: 13px; background: var(--green); color: #fff; text-align: center; }
.footer small { font-size: 10px; letter-spacing: .08em; }
.menu-page {
padding: 60px 24px;
background: #deded1;
}

.menu-page h1 {
margin: 0 0 40px;
text-align: center;
font-size: 32px;
}

.menu-page img {
width: min(100%, 760px);
height: auto;
margin: 0 auto 40px;
}
@media (min-width: 701px) { .shop-info { position: relative; left: 120px; } }

@media (max-width: 700px) {
  .header { height: auto; }
  .header-inner { flex-direction: column; gap: 16px; padding: 15px 0 18px; }
  .nav { width: 100%; justify-content: space-between; gap: 8px; }
  .nav a { font-size: 11px; }
  .main-visual img { height: 54vw; min-height: 0; }
  .greeting { padding: 50px 24px; }
  .greeting-inner, .news-inner, .shop-inner { flex-direction: column; }
  .greeting-inner { gap: 36px; }
  .greeting-text h1 { margin-bottom: 28px; font-size: 21px; text-align: center; }
  .greeting-text p { font-size: 11px; line-height: 2.2; letter-spacing: .03em; }
  .greeting-image { width: 100%; }
  .menu-list { gap: 16px; }
  .menu-item .menu-label { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 7px; font-size: 13px; line-height: 1.35; }
  .desktop-label { display: none; }
  .mobile-label { display: block; }
  .news { padding: 40px 28px; }
  .news-inner { align-items: flex-start; }
  .news-text p { font-size: 15px; }
  .news-visuals { display: none; }
  .shop-image img { height: 55vw; min-height: 0; }
  .shop-inner { gap: 24px; align-items: flex-start; }
  .shop-info { font-size: 13px; line-height: 1.65; }
  .shop-address { gap: 20px; }
  .business-hours { gap: 22px; }
  .shop-instagram { align-self: center; }
}
.soba-menu { display: flex; justify-content: center; gap: 0px; }
.soba-menu img { width: 35%; margin: 0; }


.soba-page {
max-width: 760px;
margin: 0 auto;
padding: 80px 24px;
}

.soba-page h1 {
text-align: center;
margin-bottom: 60px;
}

.recommend-menu {
margin-bottom: 90px;
}

.recommend-item,
.soba-item {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid var(--cream);
padding: 16px 0;
}

.recommend-item p {
margin: 0;
}

.recommend-item span,
.soba-item span:last-child {
white-space: nowrap;
}

.soba-page h2 {
margin-top: 60px;
margin-bottom: 25px;
}

.cold-title {
color: #4b91d1;
}

.hot-title {
color: #e85b58;
}

.soba-list {
margin-bottom: 45px;
}

.soba-item span:first-child {
letter-spacing: 0.08em;
}

.soba-photo {
text-align: center;
margin: 30px 0 100px;
}

.soba-photo img {
width: 100%;
max-width: 760px;
height: auto;
display: block;
margin: 0 auto;
}

.soba-page { background-color: #4b604d; color: #fff; max-width: 760px; margin: 0 auto; padding: 80px 24px; }
body{ background-color: #4b604d; }

.lunch-title {
text-align: left;
margin-bottom: 5px;
}

.weekday {
text-align: left;
margin-top: 0;
margin-bottom: 25px; color: #d85b5b; font-weight: dold; 
}

.soba-page {
font-size: 20px;
}

.soba-page h1 {
font-size: 38px;
}

.soba-page h2 {
font-size: 30px;
}

.recommend-item {
font-size: 23px;
}

.soba-item {
font-size: 23px;
}

.weekday {
font-size: 25px;
}

.lunch-photos {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
width: 95%;
margin: 30px auto;
}

.lunch-photos img {
width: 100%;
display: block;
}

.lunch-item p {
margin: 10px 0 0;
text-align: center;
font-size: 20px;
font-weight: bold;
}
@media (max-width: 700px) {
.shop-info {
font-size: 12px;
letter-spacing: 0;
}

.business-hours {
gap: 10px;
}
}
@media (max-width: 700px) {
  .business-hours {
    maegin-left: -15px;
  }

.season-title {
color: #fff;
}

.soba-list .soba-item {
border-bottom: 1px solid #deded1;
padding-bottom: 10px;
margin-bottom: 10px;
