
:root{
  --ink:#213126; --muted:#617062; --green:#103f2b; --green-2:#1f6a45; --green-soft:#e5f0e6; --cream:#fbf7ed; --paper:#fffdf7; --line:#e9ddc8; --accent:#d99b36; --shadow:0 24px 70px rgba(37,47,34,.12); --radius:26px; --max:1120px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans JP",system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--cream);color:var(--ink);font-size:16px;line-height:1.85;letter-spacing:.02em}img{max-width:100%;display:block}a{color:var(--green-2);text-decoration:none}a:hover{text-decoration:underline}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,5vw,64px);transition:.25s ease;background:rgba(255,253,247,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(233,221,200,.45)}.site-header.is-scrolled{box-shadow:0 12px 30px rgba(0,0,0,.08);background:rgba(255,253,247,.95)}.logo img{width:132px;height:auto}.site-nav{display:flex;gap:28px;align-items:center}.nav-link{font-size:14px;font-weight:700;color:var(--ink)}.nav-link.is-active{color:var(--green-2)}.nav-link:last-child{background:var(--green);color:#fff;padding:10px 16px;border-radius:999px}.nav-toggle{display:none;background:none;border:0;width:42px;height:42px}.nav-toggle span{display:block;height:2px;background:var(--green);margin:7px 4px}.hero{position:relative;min-height:760px;border-radius:0 0 34px 34px;overflow:hidden;margin:0 0 80px}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,34,22,.62),rgba(5,34,22,.30) 52%,rgba(5,34,22,.14)),linear-gradient(0deg,rgba(5,34,22,.10),rgba(5,34,22,.06))}.hero-content{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:220px 24px 80px;color:#fff}.eyebrow,.section-kicker{font-size:12px;font-weight:800;letter-spacing:.18em;color:#69b77b;text-transform:uppercase}.hero h1,.page-hero h1,h2{font-family:"Noto Serif JP",serif;font-weight:700;letter-spacing:.02em}.hero h1{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.18;margin:12px 0 22px}.hero p{max-width:650px}.hero-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 21px;border-radius:999px;font-weight:800;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,var(--green),#1e6141);color:#fff;box-shadow:0 12px 24px rgba(16,63,43,.22)}.btn-light{background:#fff;color:var(--green);border-color:rgba(255,255,255,.55)}.hero-note{position:absolute;z-index:3;right:clamp(24px,8vw,120px);bottom:92px;width:min(330px,38vw);background:rgba(255,253,247,.78);padding:24px;border-radius:22px;box-shadow:0 14px 36px rgba(20,55,32,.12);font-weight:700}.hero-note span{display:inline-block;color:var(--green-2);font-size:12px;margin-bottom:8px}.hero-note p{margin:0;color:var(--ink);font-size:15px}.section{max-width:var(--max);margin:0 auto 100px;padding:0 24px}.section h2,.page-hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.25;margin:.2em 0 .5em}.center{text-align:center}.section-heading{margin-bottom:40px}.wood-panel{background:linear-gradient(rgba(255,253,247,.78),rgba(255,253,247,.82)),url('../images/wood-bg.png') center/360px auto repeat;border:1px solid var(--line);border-radius:var(--radius);padding:58px;box-shadow:var(--shadow)}.about-split,.two-col,.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.photo-card{margin:0;position:relative}.photo-card img{border-radius:24px;box-shadow:var(--shadow);width:100%;aspect-ratio:4/3;object-fit:cover}.photo-card figcaption{position:absolute;left:24px;bottom:-20px;background:var(--green);color:#fff;padding:14px 18px;border-radius:16px;font-size:13px;font-weight:700}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.mini-stats span,.simple-cards span,.simple-cards a{background:#fff8e8;border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center;font-weight:700}.mini-stats b{display:block;font-family:"Noto Serif JP";font-size:22px;color:var(--green);margin-bottom:4px;letter-spacing:.04em}.product-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(37,47,34,.08);transition:.25s ease}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-card img{height:250px;width:100%;object-fit:cover}.product-card div{padding:24px}.product-card h3{font-family:"Noto Serif JP";font-size:1.45rem;margin:10px 0}.season{display:inline-flex;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800;letter-spacing:.04em;border:1px solid transparent}.season-nashi{background:#fdf3cc;color:#7a5c00;border-color:#e8d06a}.season-budou{background:#e8f5d0;color:#3a6010;border-color:#a8d060}.season-kaki{background:#fdecd6;color:#7a3c00;border-color:#e8a060}.news-list{display:grid;gap:18px}.news-list article{display:grid;grid-template-columns:140px 1fr;gap:24px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px}.news-list time{font-weight:800;color:var(--green-2)}.news-list h3{margin:0 0 6px;font-size:1.1rem}.news-list p{margin:0;color:var(--muted)}.order-band{background:radial-gradient(circle at 10% 90%,rgba(255,255,255,.08) 0 90px,transparent 91px),radial-gradient(circle at 92% 12%,rgba(255,255,255,.08) 0 130px,transparent 131px),var(--green);color:#fff;border-radius:var(--radius);padding:58px;display:grid;grid-template-columns:.9fr 1fr;gap:58px;box-shadow:var(--shadow)}.order-band h2{color:#fff}.order-band p{color:#e4f0e5}.order-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px;counter-reset:item}.order-steps li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:17px 20px 17px 60px;position:relative;font-weight:800}.order-steps li:before{counter-increment:item;content:counter(item);position:absolute;left:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center}.page-hero{padding:170px 24px 90px;max-width:var(--max);margin:0 auto}.page-hero.compact div{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:58px;box-shadow:var(--shadow)}.image-hero{max-width:none;margin:0 0 80px;padding:0;min-height:540px;position:relative;overflow:hidden}.image-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,34,22,.7),rgba(5,34,22,.22))}.image-hero div{position:relative;z-index:1;max-width:var(--max);margin:0 auto;color:#fff;padding:190px 24px 80px}.readable{max-width:840px}.info-list{display:grid;grid-template-columns:180px 1fr;gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper)}.info-list dt,.info-list dd{padding:16px 18px;border-bottom:1px solid var(--line);margin:0}.info-list dt{background:#fff8e8;font-weight:800}.info-list dd{background:#fff}.info-list dt:last-of-type,.info-list dd:last-of-type{border-bottom:0}.simple-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tabs{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:52px}.tabs a{background:#fff;border:1px solid var(--line);padding:11px 18px;border-radius:999px;font-weight:800}.product-price-section{max-width:var(--max);margin:0 auto 80px;padding:0 24px;scroll-margin-top:120px}.price-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 35px rgba(37,47,34,.06)}.price-table{width:100%;border-collapse:collapse;min-width:680px}.price-table th,.price-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)}.price-table th{background:#fff8e8;color:var(--green);font-size:14px}.price-table tr:last-child td{border-bottom:0}.price{font-weight:800;white-space:nowrap}.alert-box{background:#fff8e8;border:1px solid var(--line);border-radius:22px;padding:32px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.process-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.process-grid span{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.gallery-grid img{height:260px;width:100%;object-fit:cover}.gallery-grid figcaption{padding:12px 16px;font-weight:700}.contact-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 14px 40px rgba(37,47,34,.08)}.download-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.site-footer{padding:56px clamp(24px,5vw,80px) 28px;border-top:1px solid var(--line)}.wood-footer{background:linear-gradient(rgba(255,253,247,.73),rgba(255,253,247,.80)),url('../images/wood-bg.png') center/360px auto repeat}.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px}.footer-logo{width:128px}.footer-bottom{max-width:var(--max);margin:36px auto 0;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:22px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}.note{color:var(--muted);font-size:14px}.text-link{font-weight:800}@media (max-width:900px){.site-header{padding:12px 18px}.nav-toggle{display:block}.site-nav{position:absolute;top:100%;left:16px;right:16px;display:none;grid-template-columns:1fr;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow)}.site-nav.is-open{display:grid}.nav-link{padding:12px}.nav-link:last-child{display:block;text-align:center}.logo img{width:116px}.hero{min-height:auto;margin-bottom:72px}.hero-content{padding-top:165px;padding-bottom:28px}.hero-actions{margin-top:24px}.hero-actions .btn{flex:1 1 150px}.hero-note{position:relative;right:auto;bottom:auto;margin:24px 24px 36px;width:auto}.about-split,.two-col,.contact-grid,.order-band{grid-template-columns:1fr}.wood-panel,.order-band{padding:32px 22px}.product-cards,.process-grid,.gallery-grid,.footer-grid{grid-template-columns:1fr}.simple-cards,.mini-stats{grid-template-columns:1fr}.news-list article{grid-template-columns:1fr;gap:8px}.info-list{grid-template-columns:1fr}.price-head{display:block}.page-hero.compact div{padding:36px 24px}.footer-bottom{flex-direction:column}.product-card img{height:220px}.hero h1{font-size:2.55rem}.section{margin-bottom:72px}.page-hero{padding-top:120px}.image-hero div{padding-top:150px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.product-card{transition:none}.product-card:hover{transform:none}}


/* Map and shipping images */
.place-content{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 280px;
  gap:32px;
  align-items:center;
}
.map-card,
.shipping-chart{
  margin:0;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px;
  box-shadow:0 14px 35px rgba(37,47,34,.06);
}
.map-card{
  text-align:center;
}
.map-card img{
  width:100%;
  max-width:250px;
  height:auto;
  margin:0 auto;
  border-radius:14px;
}
.map-card figcaption,
.shipping-chart figcaption{
  margin-top:10px;
  color:var(--muted);
  font-size:14px;
  font-weight:700;
}
.shipping-chart{
  overflow-x:auto;
}
.shipping-chart img{
  display:block;
  width:100%;
  min-width:640px;
  height:auto;
  border-radius:8px;
}
.linked-photo{
  display:block;
  color:inherit;
  position:relative;
}
.linked-photo img{
  border-radius:24px;
  box-shadow:var(--shadow);
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.linked-photo .figcaption{
  position:absolute;
  left:24px;
  bottom:-20px;
  background:var(--green);
  color:#fff;
  padding:14px 18px;
  border-radius:16px;
  font-size:13px;
  font-weight:700;
}
@media (max-width:900px){
  .place-content{
    grid-template-columns:1fr;
  }
  .map-card{
    max-width:320px;
  }
  .shipping-chart img{
    min-width:620px;
  }
}

/* Product card link layout */
.product-links{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:18px;
}
.product-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:42px;
  padding:9px 14px;
  border-radius:999px;
  font-weight:800;
  font-size:14px;
  border:1px solid rgba(37,103,66,.18);
  background:#fffdf7;
  color:var(--green-2);
}
.product-links a::after{
  content:"→";
  font-weight:800;
}
.product-links a:first-child{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
}
.product-links a:hover{
  text-decoration:none;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(16,63,43,.12);
}

/* News layout fix: keep body text in the main content column */
.news-list article{
  grid-template-columns: 132px minmax(0, 1fr);
  align-items: start;
}
.news-list article time{
  grid-row: 1 / span 2;
  align-self: start;
}
.news-list article h3{
  grid-column: 2;
}
.news-list article p{
  grid-column: 2;
  max-width: 720px;
}@media (max-width:900px){
  .news-list article{
    grid-template-columns: 1fr;
  }
  .news-list article time,
  .news-list article h3,
  .news-list article p{
    grid-column: auto;
    grid-row: auto;
  }
}


.season-note {
  margin-top: 0.9rem;
  color: var(--green);
  font-size: 0.95rem;
  line-height: 1.8;
}

.season-note strong {
  font-weight: 700;
}


/* v9 refinements */
.product-card{display:flex;flex-direction:column;height:100%;}
.product-card>div{display:flex;flex-direction:column;flex:1;}
.product-card .product-links{margin-top:auto;padding-top:18px;}
.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:var(--max);margin:0 auto;}
.alert-box.soft{background:var(--paper);}
.alert-box h2{margin-top:0;}
.check-list{margin:18px 0 0;padding-left:1.2em;line-height:1.9;}
.category-intro{display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:center;margin-bottom:24px;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 14px 35px rgba(37,47,34,.06);}
.category-intro img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;}
.product-notes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 18px;}
.product-notes span{background:#fff8e8;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.7;}
.fruit-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.fruit-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 14px 35px rgba(37,47,34,.06);display:flex;flex-direction:column;}
.fruit-card img{width:100%;height:220px;object-fit:cover;}
.fruit-card div{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.fruit-card h3{font-family:"Noto Serif JP";font-size:1.35rem;margin:0;}
.fruit-card p{margin:0 0 8px;color:var(--muted);}
.fruit-card .btn{margin-top:auto;align-self:flex-start;}
.photo-process article{padding:0;overflow:hidden;}
.photo-process article img{width:100%;height:190px;object-fit:cover;display:block;}
.photo-process article span,.photo-process article h3,.photo-process article p{margin-left:20px;margin-right:20px;}
.photo-process article span{margin-top:20px;}
.photo-process article p{margin-bottom:22px;}
.center-box{text-align:center;max-width:780px;margin:0 auto;}
.center-box .btn{margin-top:18px;}
.gallery-section{margin-bottom:64px;}
.gallery-section .section-heading{margin-bottom:22px;}
@media (max-width:900px){
  .notice-grid,.category-intro,.fruit-card-grid,.product-notes{grid-template-columns:1fr;}
  .category-intro{padding:16px;}
}

@media (max-width:520px){.hero-content{padding-top:140px}.hero h1{font-size:clamp(2.15rem,11vw,2.85rem)}.hero p{font-size:1rem}.hero-note{padding:22px}.hero-actions{display:grid;grid-template-columns:1fr;max-width:320px}.hero-actions .btn{width:100%}}
