:root{--ink:#233129;--green:#386742;--mint:#eaf2e6;--cream:#f8f6ef;--line:#dce5da}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Noto Sans JP',Meiryo,sans-serif;color:var(--ink);line-height:1.9;background:#fff}a{color:inherit}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}.container{width:min(1100px,calc(100% - 40px));margin-inline:auto}.skip{position:absolute;top:-80px;left:10px;background:#fff;padding:10px;z-index:30}.skip:focus{top:10px}.site-header{position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:78px}.brand{display:flex;align-items:center;text-decoration:none;font-size:21px;font-weight:800;letter-spacing:.08em}.brand img{width:128px;max-height:64px;object-fit:contain}.nav{display:flex;gap:19px;align-items:center}.nav a{font-size:13px;text-decoration:none;font-weight:700}.nav a:hover,.nav a:focus{color:var(--green)}.menu-toggle{display:none}.hero{position:relative;background:#203b2a;min-height:540px;display:grid;place-items:center;color:#fff;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,40,20,.81),rgba(15,60,27,.16)),url('../images/mainImg.jpg') center/cover no-repeat}.hero-content{position:relative;z-index:1;padding-block:95px;text-shadow:0 2px 10px #17271955}.eyebrow{letter-spacing:.24em;font-size:13px;font-weight:800}.hero h1{font-size:clamp(32px,5vw,63px);line-height:1.4;letter-spacing:.04em;margin:24px 0}.hero p{max-width:570px;font-size:17px}.btn{display:inline-block;text-decoration:none;background:var(--green);color:white;padding:10px 24px;border-radius:4px;font-weight:700;transition:.2s}.btn:hover{background:#234b2e}.btn-outline{background:#fff;color:var(--green);border:1px solid var(--green)}.section{padding:95px 0;scroll-margin-top:80px}.section.alt{background:var(--cream)}.section-head{text-align:center;margin-bottom:42px}.section-head .eyebrow{color:var(--green)}.section h2,.article h1{font-size:clamp(26px,3vw,39px);line-height:1.45;margin:10px 0 20px}.section-lead{text-align:center;max-width:790px;margin:0 auto 33px}.intro-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.intro-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px}.crop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.crop-card{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.crop-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.crop-card div{padding:20px}.crop-card h3{font-size:20px}.crop-card p{font-size:14px;margin:0}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.product-card{padding:16px;background:#fff;border:1px solid var(--line);border-radius:8px}.product-card img{width:100%;height:310px;object-fit:cover}.product-card h3{margin:14px 0 0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.feature-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.feature-grid figure{margin:0}.feature-grid figcaption{font-size:14px;margin-top:8px}.job-table{width:100%;border-collapse:collapse;font-size:15px}.job-table th,.job-table td{text-align:left;vertical-align:top;padding:15px 16px;border-bottom:1px solid var(--line)}.job-table th{width:23%;background:#ecf3eb}.notice{background:#eef5e8;border-left:4px solid var(--green);padding:24px;margin:28px 0}.contact{background:#244633;color:white}.contact a{color:inherit}.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:32px}.contact img{border-radius:8px}.footer{padding:30px 20px;text-align:center;font-size:12px;background:#192e20;color:white}.article{padding:75px 0;max-width:900px}.article h2{font-size:24px;margin-top:40px}.article p{margin-bottom:25px}.article-photo{width:100%;max-height:450px;object-fit:contain;background:#f5f5f5}.small{font-size:13px;color:#617168}.article .back{margin-top:45px}a:focus-visible,button:focus-visible{outline:3px solid #e0ab49;outline-offset:3px}@media(max-width:960px){.nav{gap:9px}.nav a{font-size:12px}.crop-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.header-inner{min-height:68px}.brand img{width:100px}.menu-toggle{display:block;background:transparent;border:1px solid #b0bdaf;padding:8px 12px;border-radius:4px;font-size:16px;cursor:pointer}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:18px 20px 24px;box-shadow:0 10px 20px #0002;flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{font-size:16px;padding:11px 4px;border-bottom:1px solid var(--line)}.hero{min-height:490px}.hero-content{padding-block:80px}.hero p{font-size:15px}.section{padding:65px 0}.intro-grid,.two-col,.contact-panel{grid-template-columns:1fr;gap:22px}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.product-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.job-table th,.job-table td{display:block;width:100%;padding:9px 13px}.job-table td{padding-bottom:20px}.crop-grid{gap:12px}.crop-card div{padding:12px}.crop-card h3{font-size:18px}.crop-card p{font-size:13px}.product-card img{height:auto;max-height:380px;object-fit:contain}}@media(max-width:400px){.container{width:min(100% - 26px,1100px)}.crop-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}}

/* ============================================================
   lowcost.html から移設した追加スタイル
   元の <style> ブロック順を維持し、既存 style.css より後に適用
   ============================================================ */

/* 大濱屋のお野菜：ブロッコリーのみの1カラム・中央配置 */
#vegetables .crop-grid.crop-grid--single {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  max-width: 680px;
  margin-inline: auto;
}
/* 大濱屋のお野菜：2カラム・写真の白枠と影（既存CSSの後から適用） */
#vegetables .crop-grid.crop-grid--two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 52px);
  align-items: stretch;
  max-width: 1040px;
  margin-inline: auto;
}
#vegetables .crop-card.crop-card--framed {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}
#vegetables .crop-card__photo {
  background: #fff;
  padding: 10px;
  border-radius: 7px;
  box-shadow: 0 12px 28px rgba(21, 41, 29, .18), 0 2px 7px rgba(21, 41, 29, .08);
}
#vegetables .crop-card__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 3px;
}
#vegetables .crop-card__body {
  padding: 22px 10px 0;
  text-align: center;
  flex: 1;
}
#vegetables .crop-card__body h3 {
  margin: 0 0 12px;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  line-height: 1.45;
}
#vegetables .crop-card__body p {
  margin: 0;
  line-height: 1.9;
  text-align: left;
}
@media (max-width: 680px) {
  #vegetables .crop-grid.crop-grid--two { grid-template-columns: 1fr; gap: 38px; }
  #vegetables .crop-card__photo { padding: 8px; }
  #vegetables .crop-card__body { padding: 18px 5px 0; }
}

/* ACCESS / CONTACT: Googleマップと企業情報 */
#contact .access-map-wrap {width:100%; margin: 24px 0 30px; overflow:hidden; border-radius:12px; background:#e8ede8; box-shadow:0 8px 25px rgba(0,0,0,.12);}
#contact .access-map {display:block; width:100%; height:380px; border:0;}
#contact .contact-info-row {display:flex; align-items:center; justify-content:space-between; gap:40px; padding:28px 0 8px;}
#contact .contact-info {min-width:0; flex:1;}
#contact .contact-info h3 {margin:0 0 18px; font-size:clamp(1.15rem,2.2vw,1.5rem);}
#contact .contact-info p {margin:0 0 15px; line-height:1.9;}
#contact .contact-action {flex:0 0 auto;}
#contact .contact-call-btn {display:inline-flex; justify-content:center; align-items:center; gap:12px; text-align:center; min-width:240px; padding:16px 24px; text-decoration:none;}
@media(max-width:767px){
  #contact .access-map-wrap {margin:20px 0 24px; border-radius:8px;}
  #contact .access-map {height:300px;}
  #contact .contact-info-row {flex-direction:column; align-items:stretch; gap:18px; padding-top:10px;}
  #contact .contact-action, #contact .contact-call-btn {width:100%;}
  #contact .contact-call-btn {min-width:0;}
}

/* 取り組み商品：出荷形態2点の見出しを写真の中央に揃える */
#products .product-grid .product-card h3 {
  text-align: center;
}

/* メインビジュアル：左を白、右側は完全透明にして人物を見やすく */
.hero {
  background: #edf1e9;
  color: #245b36;
}
.hero::before {
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.84) 24%,
      rgba(255,255,255,.50) 43%,
      rgba(255,255,255,.14) 61%,
      rgba(255,255,255,0) 78%,
      rgba(255,255,255,0) 100%),
    url('../images/mainImg.jpg') center / cover no-repeat;
}
.hero-content { text-shadow: none; }
.hero h1 {
  font-size: clamp(25px, 3.45vw, 45px);
  font-weight: 800;
  line-height: 1.57;
  letter-spacing: .025em;
  color: #245b36;
  margin: 18px 0 22px;
  text-shadow: 0 1px 2px rgba(255,255,255,.9), 0 2px 8px rgba(255,255,255,.75);
}
.hero .eyebrow {
  color: #346846;
  text-shadow: 0 1px 4px rgba(255,255,255,.8);
}
.hero-content > p:not(.eyebrow) {
  color: #2d4938;
  font-weight: 600;
  text-shadow: 0 1px 5px rgba(255,255,255,.9);
}
@media (max-width: 760px) {
  .hero::before {
    background:
      linear-gradient(90deg,
        rgba(255,255,255,.94) 0%,
        rgba(255,255,255,.80) 40%,
        rgba(255,255,255,.36) 70%,
        rgba(255,255,255,0) 100%),
      url('../images/mainImg.jpg') center / cover no-repeat;
  }
  .hero h1 { font-size: clamp(21px, 4.7vw, 31px); line-height: 1.65; letter-spacing: 0; }
}


/* ごあいさつ：写真・ボタンなしの読みやすい1カラム */
#about .intro-grid--text-only {
  display: block;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
#about .intro-grid--text-only > div {
  width: 100%;
  max-width: none;
}
#about .intro-grid--text-only p {
  margin: 0 0 1.4em;
  line-height: 2.1;
  text-align: left;
}
#about .intro-grid--text-only p:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
  #about .intro-grid--text-only { max-width: 100%; }
  #about .intro-grid--text-only p { line-height: 1.9; }
}

/* フローレット事業・FABEX：2カラムの白枠付き写真と中央揃えのキャプション */
#products .feature-heading {
  text-align: center;
  margin: 58px 0 26px;
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  line-height: 1.5;
}
#products .feature-grid.feature-grid--framed {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 36px);
  max-width: 1040px;
  margin: 0 auto;
  align-items: start;
}
#products .feature-grid--framed figure {
  min-width: 0;
  margin: 0;
  text-align: center;
}
#products .feature-grid--framed img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #fff;
  padding: 10px;
  border: 1px solid #e7e9e4;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(21, 41, 29, .17), 0 2px 7px rgba(21, 41, 29, .08);
  box-sizing: border-box;
}
#products .feature-grid--framed figcaption {
  margin: 20px 4px 0;
  text-align: center;
  font-size: clamp(.95rem, 1.6vw, 1.08rem);
  font-weight: 700;
  line-height: 1.7;
}
@media (max-width: 680px) {
  #products .feature-grid.feature-grid--framed { grid-template-columns: 1fr; gap: 34px; }
  #products .feature-heading { margin: 46px 0 22px; }
  #products .feature-grid--framed img { padding: 8px; }
  #products .feature-grid--framed figcaption { margin-top: 15px; }
}

/* 年間スケジュール：画像・説明のレスポンシブデザイン */
#schedule{background:#fff}#schedule .section-head{text-align:center}#schedule .section-head h2{font-size:clamp(1.35rem,2.8vw,2rem);line-height:1.6}
.schedule-scroll{overflow-x:auto;background:#fff;border-radius:10px;padding:18px 12px 10px;box-shadow:0 7px 25px rgba(36,75,47,.12);-webkit-overflow-scrolling:touch}
.schedule-scroll img{width:100%;min-width:860px;height:auto;display:block}
.schedule-hint{display:none;font-size:.82rem;color:#66766a;margin:9px 0 0}
.schedule-details{max-width:1050px;margin:42px auto 0;display:grid;gap:32px}
.schedule-item{display:grid;grid-template-columns:155px minmax(0,1fr);gap:28px;padding-bottom:30px;border-bottom:1px solid #dae5dc}
.schedule-item:last-child{border-bottom:0}.schedule-item h3{margin:0;font-size:1.26rem;color:#245b36}
.schedule-copy p{margin:0 0 13px;line-height:1.95}.schedule-copy .variety-count{margin:20px 0 10px;color:#245b36;font-weight:700}
.schedule-varieties{display:grid;gap:5px;margin:0}.schedule-varieties>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;line-height:1.8}
.schedule-varieties dt{font-weight:700;color:#32563c}.schedule-varieties dd{margin:0}
@media(max-width:767px){.schedule-scroll{padding:11px 8px 6px}.schedule-hint{display:block}.schedule-details{margin-top:26px;gap:26px}.schedule-item{grid-template-columns:1fr;gap:12px;padding-bottom:25px}.schedule-varieties>div{grid-template-columns:68px minmax(0,1fr);gap:10px}}

/* レンチンパック紹介：PC 2列／スマホ縦並び */
#renchin {background:#f5f9f3;}
#renchin .renchin-heading{text-align:center;margin:0 auto 30px;}
#renchin .renchin-heading h2{color:#087b3f;font-size:clamp(2rem,4.3vw,3.5rem);line-height:1.35;margin:8px 0 12px;}
#renchin .renchin-subtitle{color:#087b3f;font-size:clamp(1.1rem,2.2vw,1.65rem);line-height:1.6;font-weight:700;margin:0;}
#renchin .renchin-images{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(15px,3vw,45px);max-width:1100px;margin:0 auto;}
#renchin .renchin-images figure{margin:0;min-width:0;}
#renchin .renchin-images img{display:block;width:100%;height:auto;object-fit:contain;}
#renchin .renchin-note{max-width:1030px;margin:30px auto 0;background:#fff;border-left:4px solid #43a36c;border-radius:7px;padding:18px 24px;color:#2d4938;line-height:1.9;}
#renchin .renchin-note p{margin:0;}
#renchin .renchin-note-small{margin-top:7px!important;font-size:.9rem;}
@media(max-width:767px){
 #renchin .renchin-heading{margin-bottom:24px;}
 #renchin .renchin-images{grid-template-columns:minmax(0,1fr);gap:8px;max-width:530px;}
 #renchin .renchin-images figure{width:100%;}
 #renchin .renchin-note{margin-top:17px;padding:15px 16px;}
 #renchin .renchin-note-small br{display:none;}
}

/* レンチンパック：左は文字＋商品画像、右は特長画像1点 */
#renchin .renchin-images{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(22px,4vw,62px);max-width:1120px;margin:0 auto;}
#renchin .renchin-left,#renchin .renchin-right{min-width:0;}
#renchin .renchin-left .renchin-heading{text-align:left;margin:0 0 22px;}
#renchin .renchin-left .renchin-heading h2{font-size:clamp(2rem,3.7vw,3.3rem);margin:0 0 12px;}
#renchin .renchin-left .renchin-subtitle{font-size:clamp(1rem,1.9vw,1.5rem);line-height:1.55;}
#renchin .renchin-left figure,#renchin .renchin-right figure{margin:0;}
#renchin .renchin-left img,#renchin .renchin-right img{display:block;width:100%;height:auto;object-fit:contain;}
@media(max-width:767px){
 #renchin .renchin-images{grid-template-columns:minmax(0,1fr);max-width:530px;gap:20px;}
 #renchin .renchin-left .renchin-heading{margin-bottom:18px;}
 #renchin .renchin-left .renchin-heading h2{font-size:clamp(2rem,8vw,2.7rem);}
 #renchin .renchin-left .renchin-subtitle{font-size:clamp(1rem,4.5vw,1.2rem);}
}

/* レンチンパック：左右の基準線・余白・サイズの最終調整 */
#renchin .container {width:100%;}
#renchin .renchin-images,
#renchin .renchin-note {width:100%;max-width:1120px;margin-left:auto;margin-right:auto;box-sizing:border-box;}
#renchin .renchin-images {
  display:grid;
  grid-template-columns:minmax(0, 47%) minmax(0, 53%);
  column-gap:0;
  align-items:center;
}
#renchin .renchin-left {padding-right:clamp(12px,2vw,28px);box-sizing:border-box;}
#renchin .renchin-right {padding-left:clamp(6px,1vw,16px);box-sizing:border-box;}
#renchin .renchin-left .renchin-heading {margin:0 0 clamp(15px,2.5vw,28px);text-align:left;}
#renchin .renchin-left .renchin-heading .eyebrow {letter-spacing:.13em;}
#renchin .renchin-left .renchin-heading h2 {font-size:clamp(2.15rem,4.0vw,3.65rem);line-height:1.2;margin:10px 0 15px;}
#renchin .renchin-left .renchin-subtitle {font-size:clamp(1.03rem,1.9vw,1.52rem);line-height:1.55;}
#renchin .renchin-left figure,#renchin .renchin-right figure {margin:0;}
#renchin .renchin-left figure img,#renchin .renchin-right figure img {width:100%;height:auto;display:block;object-fit:contain;}
#renchin .renchin-note {margin-top:clamp(25px,3.5vw,44px);padding:22px 28px;}
@media(max-width:767px){
 #renchin .renchin-images {grid-template-columns:minmax(0,1fr);max-width:540px;row-gap:22px;}
 #renchin .renchin-left,#renchin .renchin-right{padding:0;}
 #renchin .renchin-left .renchin-heading{margin-bottom:20px;}
 #renchin .renchin-left .renchin-heading h2{font-size:clamp(2rem,8vw,2.7rem);}
 #renchin .renchin-left .renchin-subtitle {font-size:clamp(1rem,4.5vw,1.25rem);}
 #renchin .renchin-note{margin-top:24px;padding:17px 19px;}
}

/* レンチンパック：中央の余白を詰め、右画像を少し拡大 */
@media (min-width: 768px){
  #renchin .renchin-images,
  #renchin .renchin-note {
    max-width: 1180px;
  }
  #renchin .renchin-images {
    grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    column-gap: 0;
    align-items: end;
  }
  #renchin .renchin-left {
    padding-right: 0;
  }
  #renchin .renchin-right {
    padding-left: 0;
  }
  #renchin .renchin-left figure {
    margin-right: -26px;
  }
  #renchin .renchin-right figure {
    margin-left: -54px;
    margin-bottom: -8px;
  }
  #renchin .renchin-left figure img {
    width: 104%;
    max-width: none;
  }
  #renchin .renchin-right figure img {
    width: 113%;
    max-width: none;
  }
}
@media (max-width: 767px){
  #renchin .renchin-left figure,
  #renchin .renchin-right figure {
    margin: 0;
  }
  #renchin .renchin-left figure img,
  #renchin .renchin-right figure img {
    width: 100%;
    max-width: 100%;
  }
}

/* レンチンパック：右画像の右端を基準線に合わせて最終調整 */
@media (min-width: 768px){
  #renchin .renchin-images,
  #renchin .renchin-note {
    max-width: 1180px;
  }
  #renchin .renchin-images {
    grid-template-columns: 46% 54%;
    column-gap: 0;
    align-items: end;
  }
  #renchin .renchin-left,
  #renchin .renchin-right {
    padding: 0;
  }
  #renchin .renchin-left {
    justify-self: stretch;
  }
  #renchin .renchin-right {
    justify-self: stretch;
    display: flex;
    justify-content: flex-end;
  }
  #renchin .renchin-left figure {
    margin-right: -18px;
  }
  #renchin .renchin-right figure {
    width: 100%;
    margin-left: -38px;
    margin-right: 0;
    margin-bottom: -10px;
  }
  #renchin .renchin-left figure img {
    width: 103%;
    max-width: none;
  }
  #renchin .renchin-right figure img {
    width: 108%;
    max-width: none;
    margin-left: auto;
    transform-origin: right bottom;
  }
  #renchin .renchin-note {
    margin-top: 28px;
  }
}
@media (max-width: 767px){
  #renchin .renchin-right {display:block;}
  #renchin .renchin-left figure,
  #renchin .renchin-right figure {
    margin: 0;
    width: 100%;
  }
  #renchin .renchin-left figure img,
  #renchin .renchin-right figure img {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
}

/* レンチンパック：右画像の右端を基準ラインに一致させる最終調整 */
@media (min-width: 768px){
  #renchin .renchin-images,
  #renchin .renchin-note {
    max-width: 1180px;
  }
  #renchin .renchin-images {
    grid-template-columns: 45.5% 54.5%;
    column-gap: 0;
    align-items: end;
  }
  #renchin .renchin-left,
  #renchin .renchin-right {
    padding: 0;
  }
  #renchin .renchin-right {
    display: flex;
    justify-content: flex-end;
    overflow: visible;
  }
  #renchin .renchin-left figure {
    margin-right: -8px;
  }
  #renchin .renchin-right figure {
    width: 100%;
    margin-left: -22px;
    margin-right: -42px;
    margin-bottom: -8px;
  }
  #renchin .renchin-left figure img {
    width: 102%;
    max-width: none;
  }
  #renchin .renchin-right figure img {
    width: 109%;
    max-width: none;
    margin-left: auto;
    transform-origin: right bottom;
  }
}
@media (max-width: 767px){
  #renchin .renchin-right figure {
    margin: 0;
    width: 100%;
  }
  #renchin .renchin-right figure img {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
}

/* レンチンパック：説明ボックス右端と右画像右端を揃え、中央の隙間を解消 */
@media (min-width: 768px){
  #renchin .renchin-images {
    max-width: 1180px;
    grid-template-columns: 44.5% 55.5%;
    column-gap: 0;
    align-items: end;
  }
  #renchin .renchin-left,
  #renchin .renchin-right {
    padding: 0;
  }
  #renchin .renchin-right {
    display: flex;
    justify-content: flex-end;
    overflow: visible;
  }
  #renchin .renchin-left .renchin-heading {
    margin-bottom: 12px;
  }
  #renchin .renchin-left figure {
    margin-right: -22px;
  }
  #renchin .renchin-right figure {
    width: 100%;
    margin-left: -48px;
    margin-right: -46px;
    margin-bottom: -10px;
  }
  #renchin .renchin-left figure img {
    width: 104%;
    max-width: none;
  }
  #renchin .renchin-right figure img {
    width: 112%;
    max-width: none;
    margin-left: auto;
    transform-origin: right bottom;
  }
  #renchin .renchin-note {
    max-width: 1180px;
    width: calc(100% + 46px);
    margin-top: 22px;
    margin-left: auto;
    margin-right: -46px;
    box-sizing: border-box;
  }
}
@media (max-width: 767px){
  #renchin .renchin-left figure,
  #renchin .renchin-right figure {
    margin: 0;
    width: 100%;
  }
  #renchin .renchin-left figure img,
  #renchin .renchin-right figure img {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  #renchin .renchin-note {
    width: 100%;
    margin-right: auto;
  }
}

/* 白い説明ボックスだけを中央揃えに戻す */
#renchin .renchin-note {
  width: 100%;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

/* 大濱屋の取り組み：2カラム、スマホ1カラム */
#initiatives{background:#e2ede9;color:#102c23;overflow:hidden;}
#initiatives .initiatives-container{max-width:1180px;}
#initiatives .initiative-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:center;margin-bottom:clamp(50px,7vw,100px);}
#initiatives .initiative-row:last-child{margin-bottom:0;}
#initiatives .initiative-copy{min-width:0;}
#initiatives .initiative-copy h2{color:#007a39;font-size:clamp(1.75rem,3.4vw,2.6rem);line-height:1.32;margin:0 0 15px;font-weight:800;}
#initiatives .initiative-copy h3{color:#007a39;font-size:clamp(1.15rem,2.05vw,1.6rem);line-height:1.5;margin:0 0 35px;font-weight:750;}
#initiatives .initiative-copy p{font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.95;max-width:37em;margin:0;}
#initiatives .initiative-visuals{display:flex;flex-direction:column;gap:18px;align-items:center;min-width:0;}
#initiatives img{display:block;height:auto;max-width:100%;}
#initiatives .initiative-frozen{width:78%;border-radius:12px;}
#initiatives .initiative-map{width:85%;}
#initiatives .initiative-photo img{width:100%;border-radius:10px;}
#initiatives .initiative-diagram img{width:100%;}
#initiatives .initiative-row-team{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);}
#initiatives .initiative-row-recycle{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);}
@media(max-width:767px){
 #initiatives .initiative-row,#initiatives .initiative-row-team,#initiatives .initiative-row-recycle{grid-template-columns:minmax(0,1fr);gap:23px;margin-bottom:55px;}
 #initiatives .initiative-copy h2{font-size:clamp(1.8rem,7vw,2.25rem);}
 #initiatives .initiative-copy h3{margin-bottom:22px;font-size:clamp(1.08rem,4.3vw,1.3rem);}
 #initiatives .initiative-copy p{font-size:1rem;}
 #initiatives .initiative-frozen{width:85%;}
 #initiatives .initiative-map{width:95%;}
 #initiatives .initiative-row-team .initiative-photo{order:1;}
 #initiatives .initiative-row-team .initiative-copy{order:0;}
}
/* 前回のユーザー調整：レンチンパック右画像はPCで100px左へ */
@media(min-width:768px){#renchin .renchin-right figure{transform:translateX(-100px);}}

/* 画面右下：トップに戻る */
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:1000;width:52px;height:52px;border-radius:50%;background:#177a46;color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;border:2px solid rgba(255,255,255,.9);box-shadow:0 4px 14px rgba(0,0,0,.22);font-size:25px;line-height:1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,visibility .25s,transform .25s,background .25s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover,.back-to-top:focus-visible{background:#0f6036;color:#fff}
.back-to-top:focus-visible{outline:3px solid #e2b94d;outline-offset:3px}
@media(max-width:767px){.back-to-top{right:15px;bottom:18px;width:46px;height:46px;font-size:23px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

/* ヘッダーメニュー：ホバーで緑色の2pxラインがふわっと伸びる */
@media (min-width: 768px) and (hover: hover) {
  #site-nav > a { position: relative; text-decoration: none; }
  #site-nav > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
    height: 2px;
    background: #2c8c57;
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: center;
    opacity: 0;
    transition: transform .32s ease, opacity .32s ease;
    pointer-events: none;
  }
  #site-nav > a:hover::after,
  #site-nav > a:focus-visible::after { transform: scaleX(1); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  #site-nav > a::after { transition: none; }
}

/* レンチンパック：スマートフォンの左右余白を調整 */
@media (max-width: 767px) {
  #renchin > .container {
    width: 100%;
    max-width: 100%;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
  }
  #renchin .renchin-images,
  #renchin .renchin-note {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  #renchin .renchin-left,
  #renchin .renchin-right {
    min-width: 0;
    padding: 0;
  }
  #renchin .renchin-left figure,
  #renchin .renchin-right figure {
    margin: 0;
    width: 100%;
    transform: none;
  }
  #renchin .renchin-left figure img,
  #renchin .renchin-right figure img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
  }
  #renchin .renchin-note {
    margin-left: auto;
    margin-right: auto;
    padding: 18px 20px;
  }
}

/* レンチンパックの注意書きを赤文字に変更 */
#renchin .renchin-note .renchin-note-small { color: #c62828; }

/* 注意書き：2行目以降を「※」の次の文字位置に揃える */
#renchin .renchin-note .renchin-note-small {
  padding-left: 1em;
  text-indent: -1em;
  color: #c62828;
}

/* スマホでもアントシアニンの注意書きの改行を有効にする */
#renchin .renchin-note .renchin-note-small br {
  display: inline;
}

/* フッター：会社情報を見やすい3カラムで整理 */
.footer.footer--company { padding: 0; text-align: left; }
.footer--company .footer-inner { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 48px 0 34px; }
.footer--company .footer-company-name { margin: 0 0 28px; font-size: clamp(1.35rem, 2.3vw, 1.7rem); font-weight: 750; line-height: 1.5; letter-spacing: .04em; color: inherit; }
.footer--company .footer-grid { display: grid; grid-template-columns: 1.15fr 1.15fr 1fr; gap: 24px 38px; }
.footer--company .footer-block { min-width: 0; }
.footer--company .footer-block h3 { margin: 0 0 10px; font-size: 1rem; font-weight: 700; line-height: 1.6; color: inherit; }
.footer--company .footer-block p { margin: 0; font-size: .94rem; line-height: 1.95; overflow-wrap: anywhere; }
.footer--company .footer-block p + p { margin-top: 10px; }
.footer--company a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.footer--company a:hover { opacity: .78; }
.footer--company .footer-copy { margin-top: 34px; padding-top: 18px; border-top: 1px solid currentColor; font-size: .79rem; line-height: 1.7; opacity: .7; text-align: center; }
@media (max-width: 850px) {
  .footer--company .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 30px; }
}
@media (max-width: 580px) {
  .footer--company .footer-inner { width: calc(100% - 40px); padding: 38px 0 25px; }
  .footer--company .footer-company-name { margin-bottom: 24px; }
  .footer--company .footer-grid { grid-template-columns: 1fr; gap: 23px; }
  .footer--company .footer-block p { font-size: .93rem; }
  .footer--company .footer-copy { margin-top: 28px; }
}

/* フッター：電話ボタン */
.footer--company .footer-call-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  margin-top: 18px; padding: 14px 20px; min-height: 48px;
  background: #287c49; color: #fff; border-radius: 5px;
  font-size: .94rem; font-weight: 700; text-decoration: none;
  line-height: 1.5; transition: background .2s ease;
}
.footer--company .footer-call-btn:hover,
.footer--company .footer-call-btn:focus-visible { background: #36995e; opacity: 1; }
.footer--company .footer-call-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media(max-width:580px) { .footer--company .footer-call-btn { width:100%; box-sizing:border-box; } }
/* マップの下に住所ブロックを置かないため、下余白を整理 */
#contact .access-map-wrap { margin-bottom: 0; }

/* ごあいさつ：肥料コスト低減の取り組みへのご案内 */
#about .fertilizer-info { margin-top: 38px; padding-top: 30px; border-top: 1px solid #dce7de; text-align: center; }
#about .fertilizer-info h3 { color: #245b36; font-size: clamp(1.1rem, 2.3vw, 1.4rem); line-height: 1.6; margin: 0 0 22px; }
#about .fertilizer-info__btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 200px; min-height: 50px; padding: 12px 28px; box-sizing: border-box; background: #287c49; color: #fff; border-radius: 5px; font-size: 1rem; font-weight: 700; text-decoration: none; transition: background .2s ease; }
#about .fertilizer-info__btn:hover { background: #36995e; }
#about .fertilizer-info__btn:focus-visible { outline: 3px solid #e2b94d; outline-offset: 3px; }
@media(max-width: 580px) { #about .fertilizer-info { margin-top: 28px; padding-top: 26px; } #about .fertilizer-info__btn { width: 100%; } }

/* 肥料コスト低減：記事ページ */
.lowcost-section{background:#fff;padding-top:clamp(56px,8vw,96px);padding-bottom:clamp(60px,8vw,104px)}
.lowcost-head{margin-bottom:clamp(34px,5vw,60px);text-align:center}
.lowcost-head h1{font-size:clamp(1.7rem,3.4vw,2.45rem);line-height:1.45;color:#245b36;margin:10px 0 0}
.lowcost-article{max-width:960px;margin:0 auto;color:#283d2f}
.lowcost-article p{line-height:2.05;margin:0 0 1.4em;overflow-wrap:anywhere}
.lowcost-intro{padding:clamp(22px,4vw,40px);border-radius:12px;background:#f2f8f1;margin-bottom:clamp(45px,6vw,70px)}
.lowcost-intro p:last-child{margin-bottom:0}
.lowcost-block{margin:0 0 60px}
.lowcost-block h2{font-size:clamp(1.3rem,2.5vw,1.75rem);line-height:1.5;color:#16713e;border-left:5px solid #2c8c57;padding-left:16px;margin:0 0 24px}
.lowcost-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.lowcost-photo-grid figure{min-width:0;margin:0}
.lowcost-photo-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;background:white;border:7px solid white;border-radius:8px;box-shadow:0 8px 24px rgba(21,41,29,.14);box-sizing:border-box}
.lowcost-graphs img{object-fit:contain;aspect-ratio:1.2;background:#fff}
.lowcost-photo-grid figcaption{font-size:.87rem;line-height:1.6;margin-top:12px;text-align:center;color:#566a59}
.lowcost-article .lowcost-figcaption{font-size:.88rem;text-align:center;color:#607064;line-height:1.7;margin:16px 0 30px}
.lowcost-conclusion{background:#f2f8f1;border-radius:12px;padding:clamp(22px,4vw,40px)}
.lowcost-conclusion p{margin-bottom:0}
.lowcost-date{text-align:right;font-size:.91rem;color:#5c6b5d}
.lowcost-return{text-align:center;margin-top:32px}
.lowcost-return .fertilizer-info__btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 28px;background:#287c49;color:white;border-radius:5px;text-decoration:none;font-weight:700;min-width:220px}
.lowcost-return .fertilizer-info__btn:hover{background:#36995e}
.lowcost-return .fertilizer-info__btn:focus-visible{outline:3px solid #e2b94d;outline-offset:3px}
#site-nav>a[aria-current="page"]{color:#287c49;font-weight:700}
@media(max-width:680px){.lowcost-photo-grid{grid-template-columns:1fr;gap:24px}.lowcost-block{margin-bottom:44px}.lowcost-photo-grid img{aspect-ratio:auto}.lowcost-article p{line-height:1.9}.lowcost-return .fertilizer-info__btn{width:100%;box-sizing:border-box}}
