/* MEDISIA 公式サイトと同じ作り：黒 #181818・白・#f0f0f0・#4e4e4e、Noto Sans JP の極太見出し、
   角を切った形、黒い面にだけドット、ロゴ色（青・藤・桃）は細い線とキラだけに使う */
:root{
  --ink:#181818; --ink-2:#4e4e4e; --paper:#ffffff; --paper-2:#f0f0f0; --muted:#a8a8a8;
  --grad:linear-gradient(90deg,#8cdcfa,#c9bdf5 52%,#f2c2ee);
  --cut:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper-2);color:var(--ink);font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif;line-height:1.75;font-size:15px}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.sparkle{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-right:6px}

.topbar{position:sticky;top:0;z-index:5;background:var(--ink);color:#fff;height:56px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid #2a2a2a}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--grad);opacity:.7}
.brand{font-weight:900;letter-spacing:.08em;text-decoration:none;font-size:15px}

.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:72px 0 80px}
.dots{position:absolute;inset:0;background-image:radial-gradient(#ffffff14 1px,transparent 1.2px);background-size:14px 14px;pointer-events:none}
.hero .wrap{position:relative}
.wordmark{font-weight:900;font-size:clamp(64px,16vw,168px);line-height:.9;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px #4e4e4e;margin-bottom:18px}
.hero h1{font-weight:900;font-size:clamp(26px,5vw,44px);line-height:1.35;letter-spacing:.01em}
.hero h1::after{content:"";display:block;width:72px;height:3px;background:var(--grad);margin-top:18px}
.nw{display:inline-block}
.lead{margin-top:20px;color:#d6d6d6;max-width:36em}

.band{background:var(--paper-2);padding:64px 0 80px}
.shead{margin-bottom:28px}
.shead .en{font-weight:900;font-size:clamp(32px,6vw,52px);line-height:1;letter-spacing:.02em}
.shead h2{font-size:14px;font-weight:700;color:var(--ink-2);margin-top:8px;display:inline-block;border-bottom:2px solid var(--ink);padding-bottom:2px}

.tools{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:720px){.tools{grid-template-columns:1fr}}
.tool{display:flex;flex-direction:column;height:100%;text-decoration:none;background:var(--paper);padding:28px 28px 24px;border:1px solid #dcdcdc;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));transition:background .2s}
.tool:hover{background:#fafafa}
.tool:focus-visible{outline:3px solid #8cdcfa;outline-offset:2px}
.tool-en{font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--ink-2)}
.tool-name{font-weight:900;font-size:24px;line-height:1.4;margin-top:4px}
.tool-name::after{content:"";display:block;width:40px;height:2px;background:var(--grad);margin-top:10px}
.tool-desc{margin-top:14px;color:var(--ink-2);font-size:14px;flex:1}
.tool-go{margin-top:22px;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;font-weight:900;font-size:14px;padding:12px 22px;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.tool-go i{display:block;width:16px;height:1px;background:#fff;position:relative}
.tool-go i::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid #fff;border-right:1px solid #fff;transform:rotate(45deg)}

.btn{display:inline-block;margin-top:28px;background:#fff;color:var(--ink);font-weight:900;text-decoration:none;padding:12px 24px;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}

.foot{background:var(--ink);color:var(--muted);padding:28px 0;font-size:12px}
.foot .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot-link{color:#fff;text-decoration:none;font-weight:700}
.foot-link:hover{text-decoration:underline}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
