:root{
  --wall:#ECEEF2;       /* スタジオの壁 */
  --paper:#FFFFFF;
  --ink:#15171C;
  --ink-2:#4A4F5C;
  --line:#D5D8DF;
  --red:#E2483D; --blue:#2E57D9; --magenta:#C2409F; --yellow:#F2B705; --cyan:#1FA7B8; --green:#2FA05A; --gray:#B9BCC4;
  --display:"Dela Gothic One", "Zen Kaku Gothic New", sans-serif;
  --body:"Zen Kaku Gothic New", "Hiragino Sans", sans-serif;
  --r-box:22px; --r-btn:999px; --r-card:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--wall);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* カラーバー（サイトの署名） */
.bars{display:flex;height:6px}
.bars i{flex:1}
.bars i:nth-child(1){background:var(--gray)}.bars i:nth-child(2){background:var(--yellow)}.bars i:nth-child(3){background:var(--cyan)}
.bars i:nth-child(4){background:var(--green)}.bars i:nth-child(5){background:var(--magenta)}.bars i:nth-child(6){background:var(--red)}.bars i:nth-child(7){background:var(--blue)}

/* ヘッダー */
.site-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}
.logo{font-family:var(--display);font-size:24px;letter-spacing:.01em;text-decoration:none}
.logo span{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--red);margin-left:3px;vertical-align:2px}
.nav{display:flex;gap:6px;flex-wrap:wrap}
.nav a{text-decoration:none;font-size:14px;font-weight:700;padding:7px 14px;border-radius:var(--r-btn)}
.nav a:hover{background:var(--paper)}
.nav a[aria-current="page"]{background:var(--ink);color:#fff}

/* ボタン */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;text-decoration:none;padding:12px 22px;border-radius:var(--r-btn);border:2px solid var(--ink);background:var(--paper);cursor:pointer;font-family:var(--body)}
.btn-solid{background:var(--ink);color:#fff}
.btn-yt{background:var(--red);border-color:var(--red);color:#fff}
.btn-line{background:#06C755;border-color:#06C755;color:#fff}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:18px;height:18px}

/* ヒーロー */
.hero{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:center;padding:28px 0 64px}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(38px,5.4vw,66px);line-height:1.18;margin:0 0 22px;letter-spacing:-.01em}
.hero h1 span{display:inline-block}
.hero .lead{font-size:17px;color:var(--ink-2);max-width:30em;margin:0 0 28px}
.hero .ctas{display:flex;gap:10px;flex-wrap:wrap}
.hero .hint{margin:22px 0 0;font-size:13px;color:var(--ink-2)}
.toybox{position:relative;height:500px;background:var(--paper);border-radius:var(--r-box);overflow:hidden;border:2px solid var(--ink)}
.toybox canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.toybox .bars{position:absolute;left:0;right:0;bottom:0;height:10px}
.toybox .again{position:absolute;top:12px;right:12px;z-index:2;font-size:12px;font-weight:700;padding:6px 12px;border-radius:var(--r-btn);border:1.5px solid var(--line);background:#fff;cursor:pointer;font-family:var(--body);color:var(--ink-2)}
.toybox .again:hover{border-color:var(--ink);color:var(--ink)}

/* ツールの紹介パネル（箱の上に開く） */
.tool-card{position:absolute;left:16px;right:16px;bottom:26px;z-index:3;background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:20px 22px;box-shadow:0 18px 0 -10px rgba(21,23,28,.12);display:none;max-width:460px}
.tool-card.open{display:block;animation:pop .22s ease-out}
@keyframes pop{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
.tool-card .use{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--ink-2)}
.tool-card .use i{width:12px;height:12px;border-radius:4px}
.tool-card h3{font-family:var(--display);font-weight:400;font-size:28px;margin:4px 0 8px;line-height:1.2}
.tool-card p{margin:0 0 8px;font-size:14.5px}
.tool-card .who{color:var(--ink-2)}
.tool-card .note{font-size:13.5px;border-left:3px solid var(--line);padding-left:10px;color:var(--ink-2)}
.tool-card .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.tool-card .close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:none;background:var(--wall);cursor:pointer;font-size:18px;line-height:1}
.pr{font-size:11.5px;font-weight:700;color:var(--ink-2);border:1.5px solid var(--line);border-radius:6px;padding:1px 7px}
.coupon{font-family:var(--body);display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;border:2px dashed var(--ink);border-radius:10px;padding:6px 12px;background:#FFF8DC;cursor:pointer}
.coupon b{font-size:15px;letter-spacing:.06em}
.coupon.copied{background:#E3F6EA;border-color:var(--green)}

/* セクション共通 */
.sec{padding:72px 0;border-top:2px solid var(--ink)}
.sec h2{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,40px);margin:0 0 10px;line-height:1.25}
.sec .sub{color:var(--ink-2);margin:0 0 36px;max-width:42em}

/* Harutaについて */
.about{display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:start}
.about img{width:200px;height:200px;border-radius:50%;border:3px solid var(--ink);object-fit:cover;background:var(--paper)}
.about p{margin:0 0 14px;max-width:38em}
.facts{display:flex;gap:28px;flex-wrap:wrap;margin:22px 0 0;padding:0;list-style:none}
.facts li{font-size:14px;color:var(--ink-2)}
.facts b{display:block;font-family:var(--display);font-weight:400;font-size:26px;color:var(--ink);line-height:1.3}

/* 作りたいものから選ぶ */
.use-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}
.use-tabs button{font-family:var(--body);font-weight:700;font-size:14px;padding:8px 16px;border-radius:var(--r-btn);border:2px solid var(--ink);background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.use-tabs button i{width:10px;height:10px;border-radius:3px}
.use-tabs button[aria-pressed="true"]{background:var(--ink);color:#fff}
.tool-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.tool-row{position:relative;background:var(--paper);border-radius:var(--r-card);padding:20px 22px 20px 30px;display:flex;flex-direction:column;gap:6px}
.tool-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;border-radius:var(--r-card) 0 0 var(--r-card);background:var(--c)}
.tool-row h3{font-family:var(--display);font-weight:400;font-size:22px;margin:0;line-height:1.3}
.tool-row p{margin:0;font-size:14.5px}
.tool-row .who{color:var(--ink-2)}
.tool-row .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.tool-row .btn{padding:8px 16px;font-size:14px}
.disclose{font-size:12.5px;color:var(--ink-2);margin:26px 0 0}

/* 検証カード */
.entries{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.entry{position:relative;display:flex;flex-direction:column;gap:4px;background:var(--paper);border-radius:var(--r-card);padding:20px 22px 22px;text-decoration:none;border:2px solid transparent}
.entry:hover{border-color:var(--ink)}
.entry .tag{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.entry .tag i{width:22px;height:8px;border-radius:3px;background:var(--c)}
.entry h3{font-family:var(--display);font-weight:400;font-size:19px;line-height:1.45;margin:6px 0 0}
.entry .s{font-size:13.5px;font-weight:700;color:var(--ink-2)}
.entry .d{font-size:13.5px;color:var(--ink-2);margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.more{margin:28px 0 0}

/* 検証アーカイブのページ */
.arc-head{padding:36px 0 26px}
.arc-head h1{font-family:var(--display);font-weight:400;font-size:clamp(36px,5vw,56px);margin:0 0 8px;line-height:1.2}
.arc-head p{margin:0;color:var(--ink-2);max-width:40em}
.arc-layout{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start;padding-bottom:80px}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 22px}
.filters button{font-family:var(--body);font-weight:700;font-size:14px;padding:8px 14px;border-radius:var(--r-btn);border:2px solid var(--ink);background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.filters button i{width:10px;height:10px;border-radius:3px}
.filters button small{font-weight:500;opacity:.7}
.filters button[aria-pressed="true"]{background:var(--ink);color:#fff}
.search{flex:1;min-width:200px;font-family:var(--body);font-size:14px;padding:9px 16px;border:2px solid var(--line);border-radius:var(--r-btn);background:#fff}
.search:focus{border-color:var(--ink);outline:none}
.arc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.arc-list .entry{padding-left:30px}
.arc-list .entry::before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;border-radius:var(--r-card) 0 0 var(--r-card);background:var(--c)}
.arc-list .entry .tag i{display:none}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.chips span{font-size:12px;font-weight:700;padding:2px 9px;border-radius:var(--r-btn);background:var(--wall)}
.empty{grid-column:1/-1;background:var(--paper);border-radius:var(--r-card);padding:28px;color:var(--ink-2)}
.side{position:sticky;top:20px;background:var(--paper);border-radius:var(--r-card);padding:22px;border:2px solid var(--ink)}
.side h2{font-family:var(--display);font-weight:400;font-size:20px;margin:0 0 4px}
.side .pr-note{font-size:12px;color:var(--ink-2);margin:0 0 14px}
.side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.side li{border-top:1.5px solid var(--line);padding-top:12px}
.side li b{font-family:var(--display);font-weight:400;font-size:17px;display:block}
.side li p{margin:2px 0 8px;font-size:13px;color:var(--ink-2)}
.side .btn{padding:6px 14px;font-size:13px}
.side .coupon{font-size:12px;padding:4px 10px;margin-left:6px}
.side .coupon b{font-size:13px}

/* フッター */
.site-foot{border-top:2px solid var(--ink);padding:36px 0 48px;font-size:13.5px;color:var(--ink-2)}
.site-foot .cols{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.site-foot a{font-weight:700;color:var(--ink);text-decoration:none;margin-right:16px}

/* スマホ */
@media (max-width:900px){
  .hero{grid-template-columns:1fr;gap:28px;padding-top:12px}
  .toybox{height:380px}
  .tool-list,.entries,.arc-list{grid-template-columns:1fr}
  .about{grid-template-columns:1fr}
  .about img{width:140px;height:140px}
  .arc-layout{grid-template-columns:1fr}
  .side{position:static}
  .nav a{padding:6px 10px;font-size:13px}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .site-head{flex-direction:column;align-items:flex-start;gap:6px}
  .nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;margin-left:-10px}
  .nav a{white-space:nowrap}
  .tool-card{left:10px;right:10px;padding:18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .tool-card.open{animation:none}
  .btn:hover{transform:none}
}
