html{scroll-behavior:smooth}
body {
margin: 0;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
color: #121B0A;
line-height: 1.6;
}
a {
color: #006622;
text-decoration: none;
}
a:hover {
opacity: 0.8;
}
.container {
width: 90%;
max-width: 960px;
margin: auto;
padding: 1rem 0;
}
header {
text-align: center;
background: #f7f7f7;
width: 100%;
margin: auto;
}
header h1 {
margin: 0;
font-size: 2.2rem;
font-weight: 700;
color: #FFF;
}
header p {
font-size: 1.1rem;
margin-top: .6rem;
color: #FFF;
}

.hero {
position: relative;
width: 100%;
height: 60vh;
overflow: hidden;
}

.hero img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.hero-text {
position: absolute;
bottom: 30px;
left: 30px;
color: #fff;
text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}
.catch {
margin: 0 0 0.3em 0;
font-size: 1rem;
letter-spacing: 0.1em;
}
.shop-name {
margin: 0;
font-size: 2.5rem;
letter-spacing: 0.1em;
font-weight: 600;
}
.shop-name span {
display: inline;
}
/* 📱 スマホ用（画面幅768px以下） */
@media screen and (max-width: 768px) {
.hero-text {
top: 50%;
left: 50%;
bottom: auto;
transform: translate(-50%, -50%);
text-align: center;
}
.shop-name {
font-size: 2rem;
}
.shop-name span {
display: block;   /* ← ここで改行される */
}
.catch {
font-size: 0.9rem;
}
}
.message-wrapper {
text-align: center;
margin-top: 1rem;
overflow: hidden;
}
.info {
display: flex;
flex-direction: column;
gap: 1rem;
margin-top: 2rem;
}
.info div {
margin: 1rem;
}
.info h2 {
margin-top: 0;
color: #004d00;
font-size: 1.4rem;
font-weight: 600;
}
.info p {
margin: 0.2rem 0;
}
.info .responsive-img {
max-width: 100%;
height: auto;
display: block;
border-radius: 8px;
}
.shop {
display: flex;
flex-direction: column;
background:#EFF3E5;
gap: 1rem;
margin-top: 1rem;
border-radius: 8px;
box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.shop div {
margin: 1rem;
}
.shop h2 {
margin-top: 0;
font-size: 1.4rem;
font-weight: 600;
}
.shop p {
margin: 0.2rem 0;
}
iframe {
width: 100%;
height: 380px;
border: none;
}
footer {
text-align: center;
padding: 1rem;
margin-top: 1rem;
font-size: .9rem;
color: #777;
}
@media (min-width: 768px) {
.info {
flex-direction: row;
}
.info div {
flex: 1;
}
.shop {
flex-direction: row;
}
.shop div {
flex: 1;
}
}