/* DESIGN TOKENS：白と深緑で植物を際立たせ、ミントは相談導線に集中 */
@font-face{font-family:LeHasard;src:url('../fonts/LeHasardSans-Regular.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:LeHasard;src:url('../fonts/LeHasardSans-Bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--ink:#263a32;--muted:#52645a;--mint:#7fffbf;--pale:#eafbf2;--white:#fff;--line:#c2cec6;--gutter:clamp(24px,6.1vw,88px)}
html{scroll-behavior:smooth;scroll-padding-top:110px;background:var(--white)}body{font:400 16px/1.9 LeHasard,'Noto Sans JP',sans-serif;color:var(--ink);overflow-wrap:anywhere}h1,h2,h3{font-weight:400;line-height:1.5;letter-spacing:.02em}h2{font-size:clamp(26px,2.8vw,40px)}h3{font-size:21px}p{max-width:70ch}a{text-underline-offset:6px}.container{width:min(100% - var(--gutter)*2,1264px);margin-inline:auto}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* ACCESSIBILITY：明確なフォーカスリングと本文スキップ */
:focus-visible{outline:3px solid var(--ink);outline-offset:5px;box-shadow:0 0 0 7px white}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:14px}.skip-link:focus{top:12px}body.is-locked{overflow:hidden}
/* HEADER：写真の上でも文字が読める白の半透明ガラス */
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(38,58,50,.12)}.header__inner{max-width:1440px;margin:auto;padding:16px var(--gutter);display:flex;align-items:center;gap:34px;min-height:88px}.brand{font-size:30px;text-decoration:none;white-space:nowrap;letter-spacing:-.035em}.header__nav{display:flex;gap:20px;margin-left:auto;font-size:14px}.header__nav a{text-decoration:none}.header__nav a:hover{text-decoration:underline}.header__cta{font-size:14px;min-width:230px}.header__toggle{display:none;border:0;background:transparent;width:48px;height:48px;padding:10px}.header__toggle span{display:block;height:2px;background:var(--ink);margin:7px 0}
/* BUTTONS：角を丸めず、細い輪郭と短い影で押せる形を明示 */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 24px;background:var(--mint);border:1px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-size:16px;font-weight:700;line-height:1.6;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease}.button--dark{background:var(--ink);color:white;box-shadow:3px 3px 0 #52645a}.button:hover{transform:scale(1.05);box-shadow:5px 5px 0 var(--ink)}.button:active{transform:scale(.95);box-shadow:1px 1px 0 var(--ink)}.text-link{display:inline-block;padding-block:10px;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s ease}.text-link:hover{border-bottom-color:currentColor}.icon-button{border:1px solid var(--ink);background:white;font-size:28px;line-height:1;width:48px;height:48px}
/* MAIN / HOME HERO：一株を主役とし、左側の静かな空間にコピーを置く */
.hero{position:relative;min-height:680px;display:flex;align-items:center;isolation:isolate}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero__content{padding-block:90px}.hero h1{font-size:clamp(42px,4.2vw,64px);line-height:1.5;letter-spacing:.04em}.hero p{margin:32px 0;color:var(--ink)}.hero__link{display:block;width:fit-content;margin-top:20px}.intro{text-align:center;padding-block:46px 80px}.intro h2{font-size:24px;margin-bottom:14px}.intro p{margin:auto}.intro .muted{margin-top:5px}
/* MAIN / COLLECTION：大小の写真に強弱をつけた、植物の形に沿う非対称配置 */
.collection{display:grid;grid-template-columns:.75fr 1fr 1.1fr;gap:24px;padding-bottom:70px}.collection__heading{padding-top:28px}.collection__heading p{margin-top:24px}.collection__aroid img{height:480px;width:100%;object-fit:cover}.collection__stack{display:grid;gap:22px}.collection__stack img{width:100%;height:200px;object-fit:cover}.collection figcaption{font-size:15px;margin-top:8px}.plant-link{text-decoration:none}.plant-link img{transition:filter .3s}.plant-link:hover img{filter:brightness(.94)}.plant-link figcaption{display:flex;justify-content:space-between;gap:10px}.plant-link figcaption span{font-size:12px;text-decoration:underline}.collection__other{font-size:13px;margin-top:10px}.beginner{background:var(--pale)}.beginner__inner{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-block:42px}.beginner h2{font-size:24px;line-height:1.8}.story{display:grid;grid-template-columns:1fr 1fr;gap:76px;padding-block:100px}.story__image{width:100%;height:340px;object-fit:cover}.story__copy{align-self:center}.story h3{margin:18px 0}.story p{color:var(--muted)}.story .text-link{margin-top:20px}.shop{display:grid;grid-template-columns:.8fr 1.2fr;gap:76px;padding-bottom:84px;align-items:center}.shop h3{margin-top:24px}.shop .muted{font-size:14px;margin-top:16px}.shop__image{height:310px;width:100%;object-fit:cover}.shop__caption{text-align:right;font-size:12px;color:var(--muted);margin-top:6px}
/* MAIN / FAQ：質問と回答を近接させ、detailsでJSなしでも開閉 */
.faq{padding-bottom:72px}.faq--split{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.faq h2{margin-bottom:24px}.faq__item{border-bottom:1px solid var(--line)}.faq__question{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 2px;min-height:56px}.faq__question::-webkit-details-marker{display:none}.faq__question span{font-size:22px;transition:transform .3s}.faq__item[open] .faq__question span{transform:rotate(45deg)}.faq__answer{padding:0 24px 24px 2px;color:var(--muted)}
/* MAIN / PRODUCT：現物写真と購入判断情報を並べ、相談へ集約 */
.breadcrumb{padding-block:26px;font-size:13px;color:var(--muted)}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px}.breadcrumb li+li::before{content:'/';margin-right:10px}.product{display:grid;grid-template-columns:1.14fr .86fr;gap:72px;padding-bottom:70px}.gallery__main{position:relative;display:block;border:0;padding:0;background:var(--pale);width:100%}.gallery__image{width:100%;height:590px;object-fit:cover}.gallery__zoom{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.95);padding:6px 12px;font-size:12px}.gallery__thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.gallery__thumb{border:2px solid transparent;background:white;padding:3px}.gallery__thumb[aria-pressed=true]{border-color:var(--ink)}.gallery__thumb img{height:126px;width:100%;object-fit:cover}.product__copy{padding-top:16px}.product h1{font-size:27px;font-weight:700}.product__latin{color:var(--muted);margin-top:8px}.product h2{font-size:30px;margin:58px 0 18px}.product__price{font-size:38px;margin-top:45px;letter-spacing:-.02em}.product__price span{font-size:16px;margin-left:22px}.product__note{font-size:13px;color:var(--muted);margin-bottom:22px}.product__copy>.button{width:100%;margin-top:34px}.product__visit{display:block;text-align:center;margin-top:16px}.care-strip{background:var(--pale);padding-block:32px}.care-strip__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.care-strip dt{font-size:13px;color:var(--muted);margin-bottom:8px}.care-strip dd{font-size:21px;font-weight:700}.expression{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding-block:64px;align-items:center}.expression p{margin-top:28px}.expression img{width:100%;height:360px;object-fit:cover}.care{padding-bottom:84px}.care__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:64px;margin-top:36px}.care__grid h3{font-size:20px;font-weight:700;margin-bottom:20px}.care__grid p{color:var(--muted)}.aftercare{padding-bottom:84px}.aftercare__inner{display:flex;gap:45px;align-items:center;margin-top:30px}.aftercare img{width:220px;height:170px;object-fit:cover}.aftercare h3{font-weight:700;margin-bottom:16px}
/* FOOTER / CTA：読了後の判断を一つの相談ボタンへ */
.consult{background:var(--mint);padding-block:40px}.consult__inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.consult h2{font-size:32px;margin-bottom:14px}.consult__actions{min-width:290px;display:grid;text-align:center}.footer{padding-block:30px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer p,.footer small{font-size:12px;color:var(--muted)}.back-top{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border:1px solid var(--ink);background:white;color:var(--ink);font-size:24px;z-index:15;box-shadow:3px 3px 0 var(--ink);transition:transform .3s}.back-top:hover{transform:scale(1.05)}.back-top:active{transform:scale(.95)}
/* DIALOGS：モーダルのフォーカス制御はネイティブdialogを利用 */
dialog::backdrop{background:rgba(16,30,22,.45);backdrop-filter:blur(5px)}.drawer{margin:0 0 0 auto;height:100dvh;max-height:none;width:min(90vw,430px);max-width:none;border:0;background:var(--pale);padding:28px}.drawer[open]{animation:drawer-in .3s ease-out}.drawer__head{display:flex;justify-content:space-between;align-items:center}.drawer__head h2{font-size:26px}.drawer__nav{display:grid;margin-block:50px}.drawer__nav a{padding:18px 0;border-bottom:1px solid var(--line);font-size:20px;text-decoration:none}.drawer>p{font-size:13px}.consult-dialog{width:min(90vw,650px);border:1px solid var(--ink);padding:64px 40px 40px;box-shadow:8px 8px 0 var(--ink)}.consult-dialog h2{font-size:28px;margin-bottom:20px}.consult-dialog__close{position:absolute;right:12px;top:12px}.consult-dialog__notice{background:var(--pale);padding:24px;margin-top:24px}.consult-dialog__notice p{margin-top:12px;font-size:14px}.lightbox{border:0;padding:0;background:var(--ink);max-width:92vw;max-height:94dvh}.lightbox__image{max-height:90dvh;width:auto;object-fit:contain}.lightbox__close{position:absolute;right:12px;top:12px}
/* MOTION：視界へ入る一部セクションのみ小さく浮上。本文は常に表示 */
.reveal.is-revealed{animation:rise-in .65s ease both}@keyframes rise-in{from{opacity:.7;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes drawer-in{from{transform:translateX(100%)}to{transform:none}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.24s}
/* TABLET：文字と操作領域を縮めず、列数を減らす */
@media(max-width:1100px){.header__nav{gap:12px}.header__cta{display:none}.header__nav{margin-left:auto}.product{gap:36px}.product h1{font-size:23px}.product h2{font-size:25px}.gallery__image{height:480px}.collection{grid-template-columns:.7fr 1fr 1fr}.story,.shop,.expression{gap:35px}.care__grid{gap:30px}.consult h2{font-size:26px}}
/* MOBILE：375pxで1列の自然な縦スクロール、操作対象は44px以上 */
@media(max-width:767px){html{scroll-padding-top:86px}.header__inner{min-height:74px;padding-block:10px;justify-content:space-between}.brand{font-size:26px}.header__nav{display:none}.header__toggle{display:block}.hero{display:flex;flex-direction:column;min-height:0}.hero__image{position:relative;z-index:auto;order:2;height:340px;object-position:65% center}.hero__content{padding-block:42px 36px}.hero h1{font-size:42px;line-height:1.45}.hero p{font-size:14px;margin:24px 0}.hero__link{font-size:14px;margin-top:18px}.hero .button{width:100%}.intro{padding-block:45px 55px}.intro h2{font-size:20px}.intro p{font-size:15px}.intro .muted{margin-top:16px}.collection{display:block;padding-bottom:46px}.collection__heading{padding-top:0;margin-bottom:28px}.collection__heading p{display:none}.collection__aroid img{height:390px}.collection__stack{margin-top:30px;gap:24px}.collection__stack img{height:205px}.collection__other{font-size:12px}.beginner__inner{display:grid;gap:12px;padding-block:32px}.beginner h2{font-size:20px;margin-bottom:10px}.beginner .text-link{width:fit-content}.story,.shop,.expression{display:flex;flex-direction:column;gap:28px;padding-block:56px}.story__image{height:240px}.story__copy{width:100%}.story h3{font-size:18px}.story p,.expression p{font-size:15px}.story p br,.expression p br{display:none}.shop{padding-top:10px;align-items:stretch}.shop figure{order:-1}.shop__image{height:230px}.shop h3{margin-top:18px}.faq--split{display:block}.faq{padding-bottom:52px}.faq__question{font-size:15px}.faq__answer{font-size:15px}.consult{padding-block:32px}.consult__inner{display:block}.consult h2{font-size:26px}.consult p{font-size:14px}.consult__actions{margin-top:28px;min-width:0}.footer{display:grid;gap:14px;padding-bottom:86px}.back-top{right:18px;bottom:18px}.breadcrumb{font-size:11px;padding-block:20px}.product{display:flex;flex-direction:column;gap:28px;padding-bottom:42px}.gallery__image{height:350px}.gallery__thumbs{gap:9px;margin-top:12px}.gallery__thumb img{height:82px}.product__copy{padding-top:0}.product h1{font-size:23px}.product__latin{font-size:14px}.product h2{font-size:26px;margin-top:32px}.product__copy>.muted{font-size:15px}.product__price{margin-top:28px;font-size:34px}.care-strip__inner{grid-template-columns:1fr;gap:24px}.care-strip dd{font-size:18px}.expression img{height:250px}.expression{padding-block:46px;align-items:stretch}.care{padding-bottom:50px}.care h2{font-size:25px}.care__grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.care__grid h3{font-size:19px;margin-bottom:12px}.care__grid p{font-size:15px}.aftercare{padding-bottom:48px}.aftercare__inner{display:block}.aftercare img{width:100%;height:220px;margin-bottom:22px}.aftercare h3{font-size:19px}.aftercare p{font-size:15px}.consult-dialog{padding:70px 24px 28px}.consult-dialog h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover,.button:active,.back-top:hover,.back-top:active{transform:none}::view-transition-group(*){animation:none!important}}
/* 日本語見出しの最終行が短く残らないよう、行長を均等化 */
h1,h2,h3{text-wrap:balance}
