/* ==========================================================
   法人向け胡蝶蘭 LP
   ========================================================== */
/* 写真をヘッダーの裏まで通す */
/* ============ ヒーロー（明るい写真＋濃茶の文字） ============ */
.ohero{
  position:relative;overflow:hidden;isolation:isolate;
  --ofb:130px;                     /* 下端をなじませる帯の高さ */
  margin-top:calc(var(--hd-h) * -1);
  /* 写真の比率（2.52:1）に近い高さに収める */
  padding:calc(74px + var(--hd-h)) 0 calc(40px + var(--ofb) * .5);
  margin-bottom:0
}
.ohero-bg{
  position:absolute;inset:0;z-index:-2;
  /* 下端を透過させる */
  --ofade:linear-gradient(to bottom,
    #000 0%, #000 calc(100% - var(--ofb)),
    rgba(0,0,0,.92) calc(100% - var(--ofb) * .82),
    rgba(0,0,0,.78) calc(100% - var(--ofb) * .66),
    rgba(0,0,0,.58) calc(100% - var(--ofb) * .5),
    rgba(0,0,0,.36) calc(100% - var(--ofb) * .34),
    rgba(0,0,0,.18) calc(100% - var(--ofb) * .2),
    rgba(0,0,0,.06) calc(100% - var(--ofb) * .08),
    transparent 100%);
  -webkit-mask-image:var(--ofade);mask-image:var(--ofade);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat
}
/* 写真の縦横比に近い高さで収める */
.ohero-bg img{width:100%;height:100%;object-fit:cover;object-position:74% 42%}
/* 左側の可読性を確保する覆い */
.ohero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(96deg,
    rgba(253,250,243,.86) 0%, rgba(253,250,243,.72) 26%,
    rgba(253,250,243,.4) 46%, rgba(253,250,243,.1) 64%, rgba(253,250,243,0) 78%)}

.ohero .crumbs a{color:#7A6650}
.ohero .crumbs a:hover{color:var(--gold-deep)}
.ohero .crumbs [aria-current]{color:var(--ink-strong)}
.ohero .kicker{display:flex;align-items:center;gap:11px;font-family:var(--en);font-size:12.5px;font-weight:600;
  letter-spacing:.3em;color:#7A5A25;margin:0 0 16px}
.ohero .kicker::before{content:"";width:34px;height:1px;flex:none;background:linear-gradient(90deg,rgba(138,107,51,.15),#9C7A34)}
.ohero h1{
  font-family:var(--mincho);font-weight:600;font-size:clamp(28px,3.7vw,50px);line-height:1.45;
  letter-spacing:.03em;margin:0 0 20px;max-width:18em;
  background:linear-gradient(104deg,#3B2716 0%,#472F1A 28%,#583A1F 60%,#674624 86%,#725029 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 1px 2px rgba(255,252,246,.9))
}
.ohero .lead-o{font-family:var(--serif-jp);font-size:14.5px;line-height:2.05;color:#4A3A26;margin:0 0 30px;max-width:32em;
  text-shadow:0 1px 6px rgba(255,252,246,.85)}
.ohero-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ohero .btn--out{color:var(--gold-deep);border-color:var(--gold-soft);background:rgba(255,253,248,.72);backdrop-filter:blur(3px)}
.ohero .btn--out:hover{background:#fff;border-color:var(--gold)}

/* ヒーロー直下の信頼ポイント帯 */
.trust-band{padding:0 0 6px;position:relative;z-index:1}

/* 信頼ポイント */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:0;
  border-top:1px solid rgba(180,150,95,.34);border-bottom:1px solid rgba(180,150,95,.34)}
.trust div{padding:20px 22px;border-left:1px solid rgba(180,150,95,.2)}
.trust div:first-child{border-left:0;padding-left:0}
.trust b{display:block;font-family:var(--serif-jp);font-weight:600;font-size:13px;color:var(--ink-strong);margin-bottom:5px}
.trust span{font-size:10.5px;line-height:1.75;color:#6E6152}

/* 商品 */
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.prod{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-soft);border-radius:10px;
  overflow:hidden;box-shadow:var(--shadow-s);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.prod:hover{transform:translateY(-5px);box-shadow:var(--shadow-l)}
.prod figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--cream-2);position:relative}
.prod figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.prod:hover figure img{transform:scale(1.06)}
.prod .badge-p{position:absolute;top:12px;left:12px;font-size:10px;letter-spacing:.1em;color:#fff;
  background:linear-gradient(135deg,#B18F51,#8C6C34);padding:5px 12px;border-radius:2px}
.prod .body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.prod h3{font-family:var(--mincho);font-weight:600;font-size:19px;letter-spacing:.05em;color:var(--ink-strong);margin:0 0 8px}
.prod .price{font-family:var(--sans);font-size:12px;color:var(--gold-deep);letter-spacing:.04em;
  font-variant-numeric:tabular-nums;padding:11px 0;margin-bottom:14px;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.prod .price b{font-size:22px;font-weight:600;margin-right:2px}
.prod p{margin:0 0 16px;font-size:11.5px;line-height:1.9;color:var(--ink-mute);flex:1}
.prod ul{list-style:none;margin:0 0 18px;padding:0}
.prod li{display:flex;gap:8px;font-size:11.5px;line-height:1.8;color:#5A4B39;margin-bottom:6px}
.prod li::before{content:"";width:12px;height:7px;flex:none;margin-top:6px;
  border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.prod .btn{justify-content:center}

/* 立札 */
.tag-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:52px;align-items:center}
.tag-fig{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-m)}
.tag-fig img{width:100%;height:100%;object-fit:cover}
.tag-sample{background:linear-gradient(180deg,#FDFBF6,#F9F4EA);border:1px solid var(--line);border-radius:9px;
  padding:24px 26px;margin-top:20px}
.tag-sample p{margin:0 0 10px;font-family:var(--mincho);font-size:15px;line-height:1.9;color:var(--ink-strong);
  letter-spacing:.06em;text-align:center}
.tag-sample p:last-child{margin:0}
.tag-sample .rule{height:1px;background:rgba(200,170,110,.4);margin:14px 0}
.tag-sample small{display:block;text-align:center;font-size:10.5px;color:var(--ink-mute);letter-spacing:.05em}

/* 注文の流れ */
.order4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ostep{position:relative;padding:22px 0 0;border-top:1px solid rgba(196,166,108,.45)}
.ostep .no{display:block;font-family:var(--sans);font-weight:600;font-variant-numeric:tabular-nums;
  font-size:22px;color:var(--gold-soft);line-height:1;margin-bottom:12px}
.ostep h3{font-family:var(--serif-jp);font-weight:600;font-size:13.5px;color:var(--ink-strong);margin:0 0 7px}
.ostep p{margin:0;font-size:11.5px;line-height:1.9;color:var(--ink-mute)}

/* 配送 */
.ship{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(196,166,108,.4);
  border-bottom:1px solid rgba(196,166,108,.4)}
.ship div{padding:26px 24px;border-left:1px solid var(--line-soft)}
.ship div:first-child{border-left:0;padding-left:0}
.ship b{display:flex;align-items:center;gap:9px;font-family:var(--serif-jp);font-weight:600;font-size:13px;
  color:var(--ink-strong);margin-bottom:9px}
.ship b svg{color:var(--gold)}
.ship p{margin:0;font-size:11.5px;line-height:1.9;color:var(--ink-mute)}

@media(max-width:1080px){
  .trust{grid-template-columns:1fr 1fr}
  .trust div:nth-child(3){border-left:0}
  .trust div:nth-child(n+3){border-top:1px solid rgba(232,219,192,.18)}
  .products{grid-template-columns:1fr}
  /* 縦積み時は非表示 */
  .tag-sec{grid-template-columns:1fr;gap:0}
  .tag-fig{display:none}
  .order4{grid-template-columns:1fr 1fr}
  .ship{grid-template-columns:1fr}
  .ship div{border-left:0;padding-left:0;border-top:1px solid var(--line-soft)}
  .ship div:first-child{border-top:0}
}
@media(max-width:720px){
  /* スマホは専用に切り出した画像を使う */
  .ohero{--ofb:110px;padding:calc(26px + var(--hd-h)) 0 calc(40px + var(--ofb) * .5)}
  .ohero h1{font-size:30px;line-height:1.42;margin-bottom:16px}
  .ohero .lead-o{font-size:13.5px;line-height:1.95;margin-bottom:24px}
  .ohero-btns{gap:11px}
  .ohero .btn{width:100%;justify-content:center}
  .ohero-bg img{object-position:62% 30%}
  /* 縦組み用の覆い */
  .ohero-bg::after{background:
    linear-gradient(180deg,rgba(253,250,243,.58) 0%,rgba(253,250,243,.38) 24%,
      rgba(253,250,243,.54) 52%,rgba(252,249,242,.8) 100%)}
  .tel-cta{width:100%;justify-content:flex-start}
  .trust{grid-template-columns:1fr}
  .trust div{border-left:0;padding:16px 0;border-top:1px solid rgba(232,219,192,.18)}
  .trust div:first-child{border-top:0}
  .order4{grid-template-columns:1fr}
}

