:root{--navy:#172b4d;--blue:#2563eb;--surface:#f5f7fa;--text:#1f2937;--muted:#64748b;--line:#e5e7eb;--max:1180px}*{box-sizing:border-box}body{margin:0;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-top{height:88px;display:flex;align-items:center;gap:22px}.logo{font-size:44px;font-weight:900;letter-spacing:-3px;color:var(--navy)}.logo span{color:var(--blue)}.header-top p{font-size:13px;font-weight:700}.search{margin-left:auto;background:var(--surface);border:0;padding:10px;border-radius:8px}.menu{display:none}nav{border-top:1px solid #f3f4f6}nav .wrap{display:flex;justify-content:space-between}nav a{padding:12px 4px;font-size:13px;font-weight:700}.hero{background:linear-gradient(105deg,#f7fbfd,#e7f2f7)}.hero-grid{min-height:350px;display:grid;grid-template-columns:1fr 1fr}.hero-copy{padding:55px 30px}.hero h1{font-size:48px;line-height:1.35;color:var(--navy);margin:0}.hero h1 strong{font-size:1.2em;color:var(--blue)}.hero p{font-weight:700;color:var(--navy)}.hero-image{background:center/cover no-repeat}.button{display:inline-block;border:0;border-radius:7px;background:var(--blue);color:#fff;padding:9px 23px;font-weight:700}.section{padding:38px 0}.section-title{color:var(--navy);font-size:20px;border-left:3px solid var(--blue);padding-left:10px}.center{text-align:center;border:0;display:flex;justify-content:center;gap:20px}.center i{width:22px;height:2px;background:var(--blue);margin-top:16px}.category-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:9px}.category{padding:13px 7px;text-align:center;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 12px #172b4d10}.category small{color:#55a5c5;font-weight:800}.icon{height:43px;color:var(--blue);font-size:29px}.category h3{font-size:14px;color:var(--navy);margin:3px 0}.category p{font-size:10px;color:var(--muted);line-height:1.5}.layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:28px}.featured{display:grid;grid-template-columns:1fr 1fr;gap:18px}.featured-img{min-height:210px;background:center/cover;border-radius:6px}.featured h3{font-size:21px;color:var(--navy)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.card{min-width:0}.card-img{height:125px;background:var(--surface) center/cover;border-radius:6px}.card h3{font-size:14px;line-height:1.5;color:var(--navy)}.card p{font-size:11px;color:var(--muted)}time{font-size:11px;color:var(--muted)}.side-box,.newsletter{border:1px solid var(--line);border-radius:8px;padding:17px;margin-bottom:18px}.side-box h2{font-size:16px;color:var(--navy);margin-top:0}.rank{list-style:none;padding:0;margin:0}.rank li{display:grid;grid-template-columns:25px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.newsletter{background:#eaf1ff;color:var(--navy)}.newsletter b{font-size:19px}.newsletter span{font-size:14px;color:var(--blue)}.cats{list-style:none;padding:0}.cats li{border-bottom:1px solid var(--line);padding:5px;font-size:13px}footer{background:var(--navy);color:#fff;padding:40px 0 15px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:30px}.footer-grid .logo{color:#fff}.footer-grid a{display:block;color:#d2deeb;font-size:13px}.footer-grid p{font-size:12px;color:#d2deeb}.copyright{text-align:center;border-top:1px solid #fff3;margin-top:30px;padding-top:12px;font-size:12px;color:#d2deeb}@media(max-width:900px){.category-grid{grid-template-columns:repeat(4,1fr)}.layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.wrap{width:calc(100% - 28px)}.header-top{height:70px}.header-top p,.search{display:none}.menu{display:block;margin-left:auto}nav .wrap{display:block}nav a{display:inline-block;margin-right:10px}.hero-grid{grid-template-columns:1fr}.hero-image{min-height:200px;order:-1}.hero-copy{padding:30px 0}.hero h1{font-size:34px}.category-grid{grid-template-columns:repeat(2,1fr)}.featured{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}}
