/* LABONITO — sp.css（〜768px） */
body{font-size:14px}
.wrap{padding:0 20px}
.sec{padding:64px 0}
.sec-head{margin-bottom:28px}
.sec-head h2{font-size:21px}
.en-lg{font-size:28px}

/* ヘッダー：ハンバーガー */
.hd-in{height:60px;padding:0 16px}
.hd-logo{font-size:17px}
.hd-cta .btn{display:none}
.hd-cta .lang-sw{display:flex;gap:10px;font-size:12px;margin-right:4px}
.hd-nav .nav-cta .lang-sw{display:none}
.hd-burger{display:block}
.hd-nav{display:none;position:absolute;left:0;right:0;top:60px;background:#fff;border-bottom:1px solid var(--line);padding:16px 20px 24px}
.hd-nav.open{display:block}
.hd-nav ul{flex-direction:column;gap:0}
.hd-nav li a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}
.hd-nav .nav-cta{display:flex;gap:10px;margin-top:16px}
.hd-nav .nav-cta .btn{flex:1}

/* ヒーロー */
.hero-bg{max-height:none;aspect-ratio:4/5}
.hero-pic img{height:100%}
.hero-txt{padding:40px 20px 48px;gap:20px;align-items:flex-start;text-align:left}
.hero-btns{justify-content:flex-start}
.hero-txt .en-it{font-size:15px}

.ph{padding:40px 0 32px}
.ph h1{font-size:22px}

/* ラボ編集調 */
.lab{grid-template-columns:1fr}
.lab-intro{padding:48px 20px;border-right:0;border-bottom:1px solid var(--rule)}
.lab-intro h2{font-size:21px}
.lab-cols{grid-template-columns:1fr}
.lab-col{padding:32px 20px;border-right:0;border-bottom:1px solid var(--line)}
.lab-col:last-child{border-bottom:0}
.num{font-size:40px}

/* グリッド */
.grid-5,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
.card-name{font-size:15px}
.two{grid-template-columns:1fr;gap:28px}
.two-txt h2{font-size:21px}
.two .ph-box{order:-1}

/* 商品詳細 */
.pd{grid-template-columns:1fr;gap:32px}
.pd-info{position:static}
.tabs{overflow-x:auto}
.tabs a{padding:12px 16px;white-space:nowrap}
.price-t{font-size:12px}
.price-t th,.price-t td{padding:9px 4px}

/* 記事 */
.art{grid-template-columns:1fr;gap:32px}
.toc{position:static;border:1px solid var(--line);padding:20px}
.toc ul{border-left:0;padding-left:0}
.body h2{font-size:19px;margin:48px 0 18px;scroll-margin-top:72px}
.body p{font-size:14px;line-height:2.1}
.body .summary{padding:20px}
.body .fig{padding:20px}
.body table{font-size:12px;display:block;overflow-x:auto;white-space:nowrap}
.fig-3,.fig-4c,.fig-cmp{grid-template-columns:1fr}
.fig-4c{grid-template-columns:repeat(2,minmax(0,1fr))}

/* 店舗 */
.shop-card{grid-template-columns:1fr;gap:28px}
.shop-info dl{grid-template-columns:1fr;gap:2px}
.shop-info dt{margin-top:8px}

/* フッター */
.ft{padding:40px 0}
.has-fixcta .ft{padding-bottom:96px} /* 店舗ページ・404 の常時表示 .fix-cta の分 */
.ft-nav{flex-direction:column;gap:24px}
.ft-btm{flex-direction:column;gap:8px}

/* 固定CTA */
.fix-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:10px 12px;gap:8px}
.fix-cta a{flex:1;padding:12px 8px;font-size:11px;letter-spacing:.14em}

/* アフターサービス */
.as-grid{grid-template-columns:1fr;gap:32px}
.as-t{font-size:12px}
.as-t th,.as-t td{padding:10px 6px}
#collection .grid-5 .card:nth-child(5){display:none}
.hero-txt h1{font-size:19px;letter-spacing:.06em;line-height:2}
.lab-col .num{font-size:40px}
.lab-intro h2{font-size:20px;max-width:none;letter-spacing:.08em}
.hero-txt h1{font-size:18px}

.pd-sub{grid-template-columns:1fr 1fr}
