:root{--ink:#214b59;--muted:#607982;--aqua:#eef7fa;--line:#0a814d;--red:#c72c36;--border:#d6e7ed;--max:1280px;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.8;background:white}img{display:block;width:100%}a{text-decoration:none;color:inherit}.wrap{width:min(var(--max),calc(100% - 80px));margin:auto}header{position:sticky;top:0;z-index:20;background:#fffffff3;border-bottom:1px solid #e1ecef;backdrop-filter:blur(10px)}.nav{height:86px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:9px}.brand img:first-child{width:48px}.brand img:last-child{width:195px}.nav nav{margin-left:auto;display:flex;gap:22px;font-size:14px}.nav-cta{display:flex;gap:8px}.line,.yt,.insta{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:4px;font-weight:700}.line{background:var(--line);color:white}.yt{border:1px solid #e1afb4;color:var(--red);background:white}.insta{border:1px solid var(--border);background:white}.hero{background:linear-gradient(135deg,#f5fafb,#eef7fa);padding:44px 0}.hero-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}.hero-copy>span,.section-title small,.youtube small,.service small,.store small{font-size:11px;letter-spacing:.18em;color:#6592a2;font-weight:700}.hero h1{font:500 49px/1.55 var(--serif);letter-spacing:.04em;margin:14px 0}.hero h1 b{color:#62a3ba;font-weight:500}.hero p{color:var(--muted);font-size:16px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.contact{font-weight:700;margin-top:18px;line-height:1.7}.hero-photo{position:relative}.hero-photo img{height:550px;object-fit:cover;border-radius:7px;filter:saturate(1.04) contrast(1.02)}.hero-photo span{position:absolute;right:14px;bottom:14px;background:#ffffffdd;padding:5px 9px;font-size:11px}.youtube{padding:70px 0;background:#fff}.youtube-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:56px;align-items:center}.youtube-thumb{position:relative;display:block}.youtube-thumb img{aspect-ratio:16/9;object-fit:cover;border-radius:6px}.youtube-thumb i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#ffffffd9;color:var(--red);font-style:normal;font-size:34px;border:2px solid white;box-shadow:0 5px 24px #183d4b33}.youtube h2,.section-title h2,.store h2{font:500 34px/1.6 var(--serif);margin:9px 0 15px}.youtube p{color:var(--muted);font-size:16px;margin-bottom:24px}.gifts{padding:80px 0;background:#f5fafb}.section-title{margin-bottom:34px}.section-title p{color:var(--muted)}.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.gift-grid article{background:white;border:1px solid var(--border);border-radius:6px;overflow:hidden}.pic{position:relative;background:#f2f5f5}.pic img{aspect-ratio:1.05;object-fit:cover}.pic.hikari img{object-position:center 30%}.pic em{position:absolute;top:12px;left:12px;background:#fff7db;border:1px solid #e6ca78;padding:3px 8px;font-size:11px;font-style:normal}.txt{padding:22px}.txt small{color:#76a4b5;font:16px Georgia,serif}.txt h3{font:500 23px/1.55 var(--serif);margin:6px 0}.txt h3 span{font-family:var(--sans);font-size:14px;color:#5f7881}.txt p{font-size:14px;color:var(--muted);min-height:76px}.txt .line{width:100%;margin-top:8px;font-size:14px}.services{padding:78px 0}.service{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center;padding:52px 0;border-top:1px solid var(--border)}.service.reverse img{order:2}.service.reverse>div{order:1}.service>img,.double-photo{border-radius:6px;overflow:hidden}.service>img{height:450px;object-fit:cover}.service.hospitality>img{object-position:center 48%}.service h3{font:500 30px/1.55 var(--serif);margin:7px 0 15px}.service p{color:var(--muted)}.service .line{margin-top:20px}.double-photo{display:grid;grid-template-columns:1.25fr .75fr;gap:8px;height:450px}.double-photo img{height:100%;object-fit:cover}.double-photo img:last-child{object-position:center 40%}.sub-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}.sub-links a{color:#297e9e;text-decoration:underline;text-underline-offset:4px}.store{padding:70px 0;background:#eef7fa}.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.store-grid>img{height:470px;object-fit:cover;border-radius:6px}.store strong{font-size:25px}.store .actions{margin-top:20px}footer{padding:26px 0}.foot{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6a818a}.foot img{width:185px}.dock{display:none}
@media(max-width:1000px){.nav nav{display:none}.hero-grid,.youtube-grid,.service,.store-grid{grid-template-columns:1fr}.hero-photo img{height:480px}.service.reverse img,.service.reverse>div{order:initial}.gift-grid{grid-template-columns:repeat(2,1fr)}.service>img,.double-photo{height:400px}}
@media(max-width:700px){.wrap{width:calc(100% - 34px)}.nav{height:70px}.brand img:first-child{width:36px}.brand img:last-child{width:150px}.nav-cta{display:none}.hero{padding:28px 0}.hero h1{font-size:35px}.hero-photo img{height:360px}.youtube{padding:42px 0}.youtube-grid{gap:27px}.youtube-thumb i{width:68px;height:68px;font-size:28px}.youtube h2,.section-title h2,.store h2{font-size:28px}.gifts{padding:50px 0}.gift-grid{grid-template-columns:1fr;gap:22px}.pic img{aspect-ratio:1.12}.txt p{min-height:0}.services{padding:48px 0}.service{gap:24px;padding:35px 0}.service>img,.double-photo{height:320px}.service h3{font-size:26px}.store{padding:45px 0}.store-grid>img{height:350px}.foot{padding-bottom:82px}.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--border);display:grid;grid-template-columns:.8fr 1.3fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.dock a{min-height:50px;font-size:12px;padding:10px 8px}}
/* V4.4.1: 現在のmicroCMS 8項目に対応。追加写真・注意事項を表示。 */
.gift-grid article{display:flex;flex-direction:column;min-width:0}.gift-grid .txt{display:flex;flex-direction:column;flex:1}.gift-grid h3 span{display:block;margin-top:6px;line-height:1.8}.gift-grid .pic img{object-fit:contain}.product-description,.product-note{white-space:pre-line;overflow-wrap:anywhere}.txt .product-note{font-size:12px;line-height:1.85;min-height:0;padding-top:12px;border-top:1px solid var(--border);margin-top:4px}.gift-grid .txt>.line{margin-top:auto}.product-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:12px 16px 0}.product-thumbnails button{flex:0 0 62px;padding:3px;border:2px solid transparent;background:#f0f6f7;border-radius:4px;cursor:pointer}.product-thumbnails button[aria-pressed=true]{border-color:#548fa4}.product-thumbnails img{width:100%;height:56px;object-fit:contain}a:focus-visible,button:focus-visible{outline:3px solid #2776a1;outline-offset:4px}html{scroll-padding-top:105px}.hero .contact a:hover,.store-phone:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){html{scroll-padding-top:86px}.gift-grid .txt{padding:22px}.txt h3{font-size:24px}.txt p{font-size:15px}.txt .product-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* V4.4.2: services + site-settings; retain the same LP structure and product columns. */
.cms-copy,.cms-address{white-space:pre-line;overflow-wrap:anywhere}.hero h1{overflow-wrap:anywhere}.youtube-thumb img{object-fit:contain;background:#f3f7f8}.hero-photo>.cms-missing-photo{min-height:440px}.cms-missing-photo{display:grid;place-items:center;min-height:300px;background:#f1f7f9;border:1px dashed #aacbd8;color:#537985;border-radius:6px;text-align:center;padding:20px;box-sizing:border-box}.youtube-thumb>.cms-missing-photo{aspect-ratio:16/9;min-height:0}.service-media{min-width:0}.service-main{position:relative;overflow:hidden;border-radius:6px}.service-main .product-main-image{height:450px;width:100%;object-fit:contain;background:#f3f7f8}.service.reverse>.service-media{order:2}.service.reverse>.service-body{order:1}.service.reverse .service-media img{order:initial}.service-media>.product-thumbnails{padding-inline:0}.service-media .service-note{font-size:12px;line-height:1.9;margin:12px 0 0}.service-placeholder{position:absolute;top:12px;left:12px;background:#fff6d9;border:1px solid #dcca94;border-radius:3px;font-size:12px;padding:4px 9px;font-style:normal}.service-body{min-width:0}.service-subtitle{font-size:21px;font-weight:500;color:#315b69!important}.service-description{font-size:16px}.shop-media{min-width:0}.shop-media>img{height:470px;width:100%;object-fit:contain;background:#edf5f7;border-radius:6px}.shop-media>.cms-missing-photo{min-height:360px}.business-hours,.visit-note{margin-top:22px}.business-hours h3{font-size:16px;margin:0 0 8px}.business-hours p,.visit-note p{margin:0;font-size:15px;line-height:1.95}.store .shop-description{font-size:16px;color:var(--muted)}.nav>nav a{white-space:nowrap}.service-main a:focus-visible{outline-offset:-4px}.service-main a{display:block}.hero-photo{min-width:0}.hero-grid,.youtube-grid,.store-grid,.service{min-width:0}.hero-copy,.youtube-grid>div,.store-grid>div{min-width:0}.hero-copy p,.youtube-grid p{overflow-wrap:anywhere}.dock .yt,.dock .line{box-sizing:border-box}
@media(max-width:1000px){.service.reverse>.service-media,.service.reverse>.service-body{order:initial}.service-main .product-main-image{height:400px}.nav{gap:14px;justify-content:space-between}.shop-media>img{height:400px}}
@media(max-width:700px){.service-main .product-main-image{height:340px}.hero-photo>.cms-missing-photo{min-height:280px}.service-main .cms-missing-photo{min-height:260px}.shop-media>img{height:350px}.service-subtitle{font-size:20px}.service-description{font-size:15px}.foot{gap:20px;align-items:flex-start;flex-wrap:wrap}.youtube-thumb i{width:62px;height:62px}.store .actions a{box-sizing:border-box} }

/* 2026-10-19: トップの水色2行目（CMS入力3行目）だけ字下げする。
   上の「い」のほぼ真下へ。既存の色・文字サイズ・文章は変更しない。
   狭い画面では字下げ幅を小さくし、最後の記号が折り返すのを抑える。
   前回の「入力2行目以降を <b> で水色にする」更新後のHTMLが対象。 */
.hero h1 > b:nth-of-type(2) {
  display: inline-block;
  box-sizing: border-box;
  max-width: 100%;
  padding-inline-start: clamp(0px, calc(100% - 8.65em), 1.4em);
}

/* 2026-10-19: フラワーギフトの写真枚数に関係なく、同じ段の見出しと説明を整列。
   CMSの写真・文章・公開設定には触れず、商品一覧の表示だけを調整する。
   各段で共有する行: 写真 / サムネイル / 番号 / 見出し / 説明 / 注意事項 / LINE。
   サムネイルがない段は、その行の高さが0になる。スマホ1列は従来の表示のまま。 */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 701px) {
    .gift-grid {
      row-gap: 0;
    }
    .gift-grid > article {
      display: grid;
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: subgrid;
      grid-row: span 7;
      row-gap: 0;
      margin-block-end: 26px;
    }
    .gift-grid > article > .pic {
      grid-column: 1;
      grid-row: 1;
      min-width: 0;
    }
    .gift-grid > article > .product-thumbnails {
      grid-column: 1;
      grid-row: 2;
      min-width: 0;
      align-self: start;
      align-items: flex-start;
      overflow-y: hidden;
    }
    .gift-grid > article > .txt {
      display: grid;
      grid-column: 1;
      grid-row: 3 / span 5;
      grid-template-columns: minmax(0, 1fr);
      grid-template-rows: subgrid;
      row-gap: 0;
      min-width: 0;
    }
    .gift-grid > article > .txt > small { grid-row: 1; }
    .gift-grid > article > .txt > h3 { grid-row: 2; align-self: start; }
    .gift-grid > article > .txt > .product-description { grid-row: 3; align-self: start; }
    .gift-grid > article > .txt > .product-note { grid-row: 4; align-self: start; }
    .gift-grid > article > .txt > .line { grid-row: 5; align-self: end; }
  }
}
