/* top.css — トップページ専用スタイル（旧 index.html の <style> から移設） */
.container{width:min(1180px,calc(100% - 32px));margin:auto}
.hero{
  position:relative;overflow:hidden;
  min-height:440px;
  background:
    linear-gradient(to bottom,rgba(12,55,35,.03),rgba(12,55,35,.06)),
    #cfeecf;
}
.hero-art{
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 600'%3E%3Cdefs%3E%3ClinearGradient id='sky' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23d9f4ff'/%3E%3Cstop offset='1' stop-color='%23f4fff4'/%3E%3C/linearGradient%3E%3ClinearGradient id='hill' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%2389c989'/%3E%3Cstop offset='1' stop-color='%23559f68'/%3E%3C/linearGradient%3E%3Cfilter id='blur'%3E%3CfeGaussianBlur stdDeviation='1'/%3E%3C/filter%3E%3C/defs%3E%3Crect width='1600' height='600' fill='url(%23sky)'/%3E%3Cpath d='M0 330 L250 170 430 330 650 155 850 335 1090 175 1320 330 1600 145 1600 600 0 600Z' fill='%2397c99b' opacity='.72'/%3E%3Cpath d='M0 390 Q260 300 520 390 T1040 385 T1600 390 V600 H0Z' fill='url(%23hill)'/%3E%3Cg fill='%235a9e59' opacity='.75'%3E%3Ccircle cx='80' cy='155' r='85'/%3E%3Ccircle cx='200' cy='110' r='95'/%3E%3Ccircle cx='350' cy='145' r='82'/%3E%3Ccircle cx='1210' cy='120' r='90'/%3E%3Ccircle cx='1370' cy='140' r='115'/%3E%3Ccircle cx='1530' cy='95' r='105'/%3E%3C/g%3E%3Cg fill='%238743ad'%3E%3Ccircle cx='105' cy='100' r='18'/%3E%3Ccircle cx='128' cy='121' r='19'/%3E%3Ccircle cx='90' cy='132' r='17'/%3E%3Ccircle cx='119' cy='151' r='17'/%3E%3Ccircle cx='145' cy='143' r='16'/%3E%3Ccircle cx='1480' cy='92' r='18'/%3E%3Ccircle cx='1510' cy='112' r='19'/%3E%3Ccircle cx='1472' cy='126' r='17'/%3E%3Ccircle cx='1500' cy='146' r='17'/%3E%3C/g%3E%3Cg fill='%23f3a5a8'%3E%3Ccircle cx='350' cy='180' r='31'/%3E%3Ccircle cx='395' cy='160' r='27'/%3E%3Ccircle cx='1260' cy='178' r='30'/%3E%3Ccircle cx='1310' cy='160' r='28'/%3E%3C/g%3E%3Cg fill='%23d8c567'%3E%3Ccircle cx='1080' cy='220' r='32'/%3E%3Ccircle cx='1140' cy='205' r='29'/%3E%3C/g%3E%3Cpath d='M0 505 Q180 440 320 500 T640 495 T960 500 T1280 492 T1600 500 V600 H0Z' fill='%23eaf3bf' opacity='.8'/%3E%3C/svg%3E");
  background-size:cover;background-position:center;
}
.hero-art:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.55) 48%,rgba(255,255,255,.10) 100%);
}
.hero-inner{position:relative;z-index:2;padding:70px 0 62px}
.hero-copy{max-width:710px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;background:rgba(255,255,255,.78);
  border-radius:999px;color:var(--green-dark);font-size:13px;font-weight:800
}
.hero h1{
  font-size:clamp(34px,5vw,58px);
  line-height:1.18;margin:18px 0 10px;letter-spacing:-.02em
}
.hero p{font-size:17px;line-height:1.8;color:#4c6258;margin:0 0 26px}
.search-wrap{
  background:#fff;padding:10px;border-radius:18px;box-shadow:var(--shadow);
  display:flex;gap:10px;max-width:760px
}
.search-wrap input{flex:1;border:0;outline:0;padding:0 14px;font-size:16px;min-width:0}
.search-btn,.gps-btn,.detail-btn{
  border:0;cursor:pointer;border-radius:14px;font-weight:800
}
.search-btn{
  width:54px;background:var(--green);color:#fff;font-size:20px
}
.hero-actions{display:flex;gap:12px;margin-top:14px;max-width:760px}
.gps-btn,.detail-btn{
  flex:1;padding:15px 18px;font-size:15px
}
.gps-btn{background:var(--green);color:#fff}
.detail-btn{background:#fff;color:var(--green-dark);border:1px solid #c9ddd1}
.gps-btn:hover,.search-btn:hover{background:var(--green-dark)}

.section{padding:52px 0}
.section.white{background:#fff}
.section-head{
  display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px
}
.section-title{margin:0;font-size:27px}
.section-sub{margin:6px 0 0;color:var(--muted);font-size:14px}
.more{font-size:14px;font-weight:800;color:var(--green)}

.season-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:14px
}
.fruit-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:20px 10px;text-align:center;transition:.2s;cursor:pointer
}
.fruit-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.fruit-icon{display:block;margin-bottom:8px}
.fruit-icon svg{width:58px;height:58px}
.fruit-card b{font-size:15px}

.fruit-card b{display:block}

.fruit-season{display:block;margin-top:3px;font-size:11px;font-weight:700;color:var(--muted)}

.fruit-card[hidden],.badge[hidden]{display:none}
.badge{
  position:absolute;top:10px;right:10px;background:#ff6a6e;color:#fff;
  border-radius:999px;font-size:10px;font-weight:800;padding:4px 7px
}

.near-card{
  margin-top:20px;border-radius:24px;padding:24px;
  background:linear-gradient(135deg,#e7f7eb,#f7fff8);
  border:1px solid #d2ead9;display:flex;align-items:center;gap:22px
}
.near-visual{
  width:160px;aspect-ratio:1.6;border-radius:18px;
  background:linear-gradient(145deg,#ccebe0,#9fd8b2);
  position:relative;overflow:hidden;flex:none
}
.near-visual:before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.1 6-11a6 6 0 1 0-12 0c0 5.9 6 11 6 11Z' fill='%23238b57'/%3E%3Ccircle cx='12' cy='10' r='2.4' fill='%23fff'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;background-position:center;
}
.near-content{flex:1}
.near-content h3{font-size:22px;margin:0 0 8px}
.near-content p{margin:0 0 14px;color:var(--muted)}

.condition-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.condition-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px 14px;
  text-align:center;font-weight:800;cursor:pointer;transition:.2s
}
.condition-card:hover{border-color:#b7d9c4;transform:translateY(-2px)}
.condition-icon{display:block;margin-bottom:10px}
.condition-icon svg{width:42px;height:42px}

.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.region-card{
  border:1px solid var(--line);background:#fff;border-radius:16px;padding:17px 18px;
  display:flex;justify-content:space-between;align-items:center;font-weight:800
}
.region-card span:last-child{color:var(--green)}

.orchard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.orchard-card{
  position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;
  box-shadow:0 6px 18px rgba(31,65,48,.06)
}
.orchard-thumb{
  height:160px;
  background:
    radial-gradient(circle at 15% 20%,#7041a7 0 4%,transparent 4.2%),
    radial-gradient(circle at 22% 25%,#8d55b8 0 4%,transparent 4.2%),
    linear-gradient(#bfe8ff 0 45%,#88c97f 45% 100%);
  position:relative
}
.orchard-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.orchard-thumb.peach{
  background:
    radial-gradient(circle at 25% 28%,#f0a5a5 0 7%,transparent 7.3%),
    radial-gradient(circle at 38% 22%,#f4b5a5 0 7%,transparent 7.3%),
    linear-gradient(#d8f1ff 0 45%,#8dcb7c 45% 100%);
}
.orchard-thumb.strawberry{
  background:
    radial-gradient(circle at 20% 55%,#e94d57 0 5%,transparent 5.2%),
    radial-gradient(circle at 32% 49%,#ed5962 0 5%,transparent 5.2%),
    radial-gradient(circle at 44% 58%,#e84a54 0 5%,transparent 5.2%),
    linear-gradient(#dff6ff 0 35%,#7ec56d 35% 100%);
}
.orchard-thumb.orange{
  background:
    radial-gradient(circle at 32% 35%,#f1973d 0 7%,transparent 7.3%),
    radial-gradient(circle at 49% 28%,#f5a146 0 7%,transparent 7.3%),
    linear-gradient(#d9f2ff 0 40%,#7fbd65 40% 100%);
}
.orchard-body{padding:15px}
.orchard-title{font-size:17px;font-weight:900;margin:0 0 4px}
.location{font-size:13px;color:var(--muted);margin-bottom:9px}
.rating{font-size:14px;font-weight:800;color:#5f542d;margin-bottom:10px}
.rating strong{color:#e8a413}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{padding:5px 8px;border-radius:999px;background:#f0f5f2;font-size:11px;font-weight:700}
.tag.fruit{background:#fff1f2;color:#b9505b}

.article-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.article-card{
  border-radius:18px;background:#fff;border:1px solid var(--line);overflow:hidden
}
.article-visual{
  height:120px;background:linear-gradient(145deg,#d8f1ce,#f9e8c8);
  display:grid;place-items:center;font-size:48px
}
.article-visual [data-fruit] svg,.article-visual [data-icon] svg{width:56px;height:56px}
.article-body{padding:14px}
.article-body h3{font-size:15px;margin:0 0 6px}
.article-body p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}

@media(max-width:900px){
  .hero{min-height:520px}
  .hero-art:after{background:linear-gradient(to bottom,rgba(255,255,255,.80),rgba(255,255,255,.45))}
  .hero-copy{max-width:none;text-align:center}
  .search-wrap,.hero-actions{margin-left:auto;margin-right:auto}
  .season-grid{grid-template-columns:repeat(3,1fr)}
  .condition-grid{grid-template-columns:repeat(3,1fr)}
  .region-grid{grid-template-columns:repeat(2,1fr)}
  .orchard-grid{grid-template-columns:repeat(2,1fr)}
  .article-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .container{width:min(100% - 22px,1180px)}
  .header-inner{min-height:62px}
  .brand small{display:none}
  .site-header .brand{font-size:15px}
  .hero{min-height:600px}
  .hero-inner{padding:54px 0 38px}
  .eyebrow{font-size:11px}
  .hero h1{font-size:37px;margin-top:14px}
  .hero p{font-size:14px}
  .search-wrap{padding:8px;border-radius:16px}
  .search-wrap input{font-size:14px}
  .hero-actions{flex-direction:column}
  .section{padding:36px 0}
  .section-title{font-size:23px}
  .season-grid{grid-template-columns:repeat(3,1fr);gap:10px}
  .fruit-card{padding:17px 6px}.fruit-icon svg{width:50px;height:50px}
  .near-card{flex-direction:column;text-align:center}.near-visual{width:100%;max-width:300px}
  .condition-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .condition-card{font-size:13px}
  .region-grid{grid-template-columns:1fr 1fr;gap:10px}.region-card{font-size:13px;padding:14px}
  .orchard-grid{grid-template-columns:1fr;gap:14px}
  .orchard-thumb{height:190px}
  .article-grid{grid-template-columns:1fr 1fr;gap:10px}
  .article-visual{height:100px}
  .footer-inner{flex-direction:column}.footer-links{flex-wrap:wrap}
}
.article-visual .article-icon svg{width:56px;height:56px}
