:root{
  --ink:#0b2542;--blue:#0d426f;--blue2:#123f68;--line:#dce3e9;--muted:#6e7d8e;--light:#f5f8fa;--soft:#eef3f6;--red:#c93236;--purple:#7b3fb3;--local:#135d9c;--gold:#9a7426;
}
*{box-sizing:border-box}html,body{margin:0;background:#fff;color:#132a44;font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}body{min-width:320px}a{color:inherit}.wrap{max-width:1280px;margin:auto;padding:0 32px}
.topbar{height:60px;border-bottom:1px solid #e3e8ec;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:18px;min-width:0}.logo{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:31px;letter-spacing:-1.6px;color:#112a49;white-space:nowrap;text-decoration:none}.tagline{font-size:12px;font-weight:700;color:#50647b;white-space:nowrap}.topnav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700;white-space:nowrap}.topnav a,.catnav a{color:#112a49;text-decoration:none}.searchIcon{font-size:24px;line-height:1;margin-left:-5px}.btn{border:1px solid #17436d;padding:8px 22px;border-radius:2px;text-decoration:none;color:#13385d!important;font-size:12px}.btn.primary{background:#062e52;color:#fff!important}.catbar{height:43px;border-bottom:1px solid #e2e7eb}.catbar .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.catnav{display:flex;height:100%;gap:26px;align-items:center;font-size:12px;font-weight:700;white-space:nowrap}.catnav a{height:100%;display:flex;align-items:center;border-bottom:2px solid transparent}.catnav a.active{border-bottom-color:#0b426e}.motto{font-size:12px;color:#6a7c90;font-weight:600}.mobileMotto{display:none}.crumb{font-size:11px;color:#7b8996;padding:17px 0 0}.crumb a{text-decoration:none;color:#56708a}.pageTitle{font-family:Georgia,"Times New Roman",serif;font-size:34px;letter-spacing:-.6px;margin:16px 0 6px}.pageLead{color:#66798c;font-size:14px;line-height:1.8;margin:0 0 25px}
.sectionHead{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:16px}.sectionHead h2{font-size:19px;margin:0}.sectionHead h2 span{font-size:11px;color:#8a97a4;margin-left:10px;font-weight:500}.sectionHead a{font-size:11px;color:#164b79;text-decoration:none}.tag{display:inline-flex;align-items:center;font-size:10px;font-weight:800;letter-spacing:.3px}.tag.business{color:#164b79}.tag.tech{color:#d13c3f}.tag.food{color:#c65f29}.tag.public{color:#52738d}.tag.local{color:#0c5e9a}.tag.medical{color:#7435ad}.tag.feature{color:#9a7426}
.metaLine{font-size:12px;color:#778797;display:flex;gap:12px;flex-wrap:wrap}.pill{border:1px solid #d3dce3;border-radius:20px;padding:6px 11px;font-size:11px;background:#fff;color:#4a6074}.footer{margin-top:65px;background:#0b2745;color:#d9e3ec}.footer .wrap{padding-top:30px;padding-bottom:30px}.footerTop{display:flex;justify-content:space-between;gap:30px}.footerLogo{font-family:Georgia,serif;font-size:26px;font-weight:700}.footerLinks{display:flex;gap:28px;flex-wrap:wrap;font-size:12px}.footerLinks a{color:#d9e3ec;text-decoration:none}.copyright{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;margin-top:24px;font-size:10px;color:#9fb0c1}
/* article */
.articleLayout{display:grid;grid-template-columns:minmax(0,900px) 320px;gap:54px;padding-top:16px}.articleHeader{padding:20px 0 18px;border-bottom:1px solid var(--line)}.articleHeader h1{font-family:Georgia,"Times New Roman",serif;font-size:40px;line-height:1.36;letter-spacing:-.8px;margin:12px 0 14px;color:#112840}.articleDek{font-size:17px;line-height:1.8;color:#53687c;margin:0 0 18px}.companyBar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.companyIdentity{display:flex;align-items:center;gap:12px}.companyMark{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center;font-weight:800;font-family:Georgia,serif;background:#f8fafb;color:#153b61}.companyName{font-weight:700;font-size:13px}.companySub{font-size:10px;color:#8a98a5;margin-top:3px}.shareGroup{display:flex;gap:7px}.shareBtn{width:33px;height:33px;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;color:#36516d;background:#fff}.articleHero{margin:27px 0 8px;background:#e9eef2;overflow:hidden;height:430px}.articleHero img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:auto}.caption{font-size:10px;color:#8c99a5;margin-top:8px}.articleBody{font-size:16px;line-height:2;color:#2d4053;padding-top:20px}.articleBody h2{font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1.5;color:#122b45;margin:40px 0 12px}.articleBody h3{font-size:19px;color:#173a5d;margin:30px 0 8px}.articleBody p{margin:0 0 21px}.quoteBox{border-left:4px solid #153f68;background:#f6f8fa;padding:18px 22px;margin:28px 0;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.8}.factBox{border:1px solid var(--line);background:#fbfcfd;padding:19px 22px;margin:30px 0}.factBox h3{margin:0 0 13px;font-size:15px}.factGrid{display:grid;grid-template-columns:150px 1fr;font-size:12px}.factGrid div{padding:8px 0;border-top:1px solid #edf0f2}.factGrid div:nth-child(odd){font-weight:700;color:#4f6477}.originBox{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:35px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.originBox b{font-size:13px}.originBox p{font-size:11px;color:#7f8d99;margin:4px 0 0}.linkButton{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:1px solid #183f65;font-size:11px;text-decoration:none;color:#183f65}.articleAside{padding-top:20px}.sideBox{border-top:3px solid #153f68;background:#f6f8fa;padding:18px;margin-bottom:23px}.sideBox h3{font-size:15px;margin:0 0 12px}.sideBox p{font-size:12px;line-height:1.7;color:#5f7182}.sideCompanyLogo{height:95px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font:700 28px Georgia,serif;margin-bottom:12px}.sideList{list-style:none;padding:0;margin:0}.sideList li{border-top:1px solid #dce4e9;padding:12px 0}.sideList li:first-child{border-top:0}.sideList a{text-decoration:none;font-size:12px;line-height:1.5;font-weight:700}.sideList small{display:block;color:#8b99a5;font-size:10px;margin-top:5px}.relatedGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.relatedCard{border-top:1px solid var(--line);padding-top:12px}.relatedCard img{width:100%;height:120px;object-fit:cover}.relatedCard b{font-size:12px;line-height:1.5;display:block;margin-top:8px}.relatedCard small{font-size:10px;color:#8b98a4}
/* listing */
.categoryHero{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;margin-top:17px;border-bottom:1px solid var(--line);padding-bottom:23px}.categoryFeature{display:grid;grid-template-columns:44% 1fr;gap:20px}.categoryFeature img{width:100%;height:250px;object-fit:cover;background:#e8eef2}.categoryFeature h2{font-family:Georgia,serif;font-size:28px;line-height:1.45;margin:7px 0 10px}.categoryFeature p{font-size:13px;color:#66798c;line-height:1.7}.categoryStats{background:#f4f7f9;padding:22px}.statBig{font:700 44px Georgia,serif;margin:5px 0;color:#102b47}.statBig small{font:500 13px sans-serif;margin-left:3px}.statRow{display:flex;justify-content:space-between;border-top:1px solid #dce4e9;padding:12px 0;font-size:12px}.filterBar{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 10px}.filterBar .pill.active{background:#103b62;color:#fff;border-color:#103b62}.listLayout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px}.newsList{border-top:1px solid var(--line)}.newsItem{display:grid;grid-template-columns:165px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.newsItem img{width:165px;height:112px;object-fit:cover;background:#e8eef2}.newsItem h3{font-size:17px;line-height:1.55;margin:5px 0 8px;color:#17324f}.newsItem p{font-size:12px;line-height:1.6;color:#6c7e8f;margin:0 0 7px}.pagination{display:flex;gap:7px;margin-top:24px}.pagination span,.pagination a{width:34px;height:34px;border:1px solid var(--line);display:grid;place-items:center;text-decoration:none;font-size:11px}.pagination .current{background:#123e66;color:#fff;border-color:#123e66}
/* company */
.companyHero{background:#f4f7f9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:18px}.companyHeroInner{display:grid;grid-template-columns:140px 1fr auto;gap:24px;align-items:center;padding-top:30px;padding-bottom:30px}.companyLogoBig{width:140px;height:100px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font:700 22px Georgia,serif;overflow:hidden;text-align:center;padding:6px;word-break:break-all}.companyHero h1{margin:0 0 8px;font-size:26px}.companyHero p{font-size:12px;line-height:1.7;color:#63768a;margin:0}.followBtn{padding:10px 20px;background:#103e67;color:#fff;text-decoration:none;font-size:12px}.companyTabs{display:flex;gap:35px;border-bottom:1px solid var(--line);margin-bottom:25px}.companyTabs a{padding:14px 0 11px;text-decoration:none;font-size:12px;font-weight:700;border-bottom:3px solid transparent}.companyTabs a.active{border-color:#123f68}.companyContent{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:45px}.profileTable{width:100%;border-collapse:collapse;font-size:12px}.profileTable th,.profileTable td{padding:12px 10px;border-top:1px solid var(--line);text-align:left;vertical-align:top}.profileTable th{width:120px;color:#5f7284;background:#f8fafb}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}.metric{background:#f4f7f9;padding:17px}.metric strong{font:700 28px Georgia,serif;display:block}.metric small{font-size:10px;color:#80909e}.releaseMini{padding:14px 0;border-top:1px solid var(--line)}.releaseMini h3{font-size:14px;line-height:1.5;margin:5px 0}.releaseMini p{font-size:11px;color:#7c8c99;margin:0}.companyAsideBox{border-top:3px solid #153f68;background:#f7f9fa;padding:18px;margin-bottom:20px}.companyAsideBox h3{margin:0 0 12px;font-size:15px}.companyAsideBox ul{list-style:none;padding:0;margin:0}.companyAsideBox li{padding:8px 0;border-top:1px solid #e1e7eb;font-size:11px}.companyAsideBox li:first-child{border-top:0}
/* company directory */
.alphaNav{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.alphaNav a{width:34px;height:34px;border:1px solid var(--line);display:grid;place-items:center;text-decoration:none;font-size:11px}.alphaNav a.active{background:#123f68;color:#fff;border-color:#123f68}.companyGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.companyCard{border:1px solid var(--line);padding:18px;text-decoration:none;display:block;background:#fff}.companyCardTop{display:flex;gap:12px;align-items:center}.companyCardMark{width:48px;height:48px;border:1px solid var(--line);background:#f7f9fa;display:grid;place-items:center;font:700 17px Georgia,serif}.companyCard h3{font-size:14px;margin:0 0 4px}.companyCard small{color:#8997a4;font-size:10px}.companyCard p{font-size:11px;line-height:1.6;color:#66798c;margin:12px 0 0}.companyCardFoot{display:flex;justify-content:space-between;border-top:1px solid #edf0f2;margin-top:13px;padding-top:10px;font-size:10px;color:#758697}
/* search */
.searchPanel{background:#f4f7f9;padding:22px;margin:20px 0 25px}.searchForm{display:grid;grid-template-columns:1fr 120px;gap:9px}.searchForm input{height:45px;border:1px solid #bcc9d3;background:#fff;padding:0 14px;font-size:14px}.searchForm button{border:0;background:#113e66;color:#fff;font-weight:700}.searchTabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:8px}.searchTabs a{padding:12px 0;text-decoration:none;font-size:12px;font-weight:700;border-bottom:3px solid transparent}.searchTabs a.active{border-color:#113e66}.resultCount{font-size:12px;color:#718191;margin:15px 0}.searchResult{padding:20px 0;border-top:1px solid var(--line)}.searchResult h3{font-size:17px;line-height:1.5;margin:5px 0 7px}.searchResult p{font-size:12px;line-height:1.7;color:#66798c;margin:0}.matched{background:#fff2b7;padding:0 2px}
/* submit */
.submitIntro{display:grid;grid-template-columns:1fr 360px;gap:38px;margin-top:20px}.submitSteps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 25px}.step{background:#f4f7f9;padding:15px;border-top:3px solid #c7d2db}.step.active{border-color:#123f68}.step b{display:block;font-size:12px}.step span{font-size:10px;color:#7d8c99}.formCard{border:1px solid var(--line);padding:25px}.formRow{margin-bottom:20px}.formRow label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.required{color:#c93236;font-size:10px;margin-left:6px}.formRow input,.formRow textarea,.formRow select{width:100%;border:1px solid #bcc9d3;background:#fff;padding:11px 12px;font:inherit;font-size:13px}.formRow textarea{min-height:125px;resize:vertical}.formHint{font-size:10px;color:#8a98a5;margin-top:6px}.formActions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px}.secondaryBtn{padding:10px 18px;border:1px solid #bcc9d3;background:#fff;font-size:12px}.primaryBtn{padding:10px 22px;border:1px solid #123f68;background:#123f68;color:#fff;font-size:12px}.submitSide{background:#f4f7f9;padding:22px;height:max-content}.submitSide h3{margin:0 0 13px;font-size:17px}.submitSide p{font-size:12px;line-height:1.8;color:#627588}.submitSide ul{padding-left:18px;font-size:11px;line-height:1.9;color:#4f6477}.priceBox{border-top:1px solid #d7e0e7;margin-top:18px;padding-top:15px}.priceBox strong{font:700 30px Georgia,serif}.notice{border-left:3px solid #9a7426;background:#fffaf0;padding:14px 16px;font-size:11px;line-height:1.7;color:#6f5c2f;margin-top:18px}
@media(max-width:1100px){.topnav{gap:14px}.topnav a:not(.btn){display:none}.articleLayout,.listLayout,.companyContent{grid-template-columns:1fr}.articleAside,.companyContent>aside{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.categoryHero{grid-template-columns:1fr}.companyGrid{grid-template-columns:repeat(2,1fr)}.submitIntro{grid-template-columns:1fr}.submitSide{order:-1}.companyHeroInner{grid-template-columns:120px 1fr}.companyHeroInner>.followBtn{grid-column:2}.companyLogoBig{width:120px}}
@media(max-width:760px){.wrap{padding:0 16px}.topbar{height:auto;min-height:58px}.logo{font-size:25px}.tagline{display:none}.btn{padding:7px 11px}.btn:not(.primary){display:none}.catbar{height:auto}.catbar .wrap{display:block}.catnav{gap:22px;overflow:auto;height:42px}.catnav a{flex:0 0 auto}.motto{display:none}.mobileMotto{display:block;color:#708091;font-size:11px;padding:12px 16px 0}.pageTitle{font-size:28px}.articleHeader h1{font-size:29px}.articleDek{font-size:15px}.articleHero{height:250px}.companyBar{align-items:flex-start;flex-direction:column}.articleAside,.companyContent>aside{display:block}.relatedGrid{grid-template-columns:1fr}.categoryFeature{grid-template-columns:1fr}.categoryFeature img{height:210px}.newsItem{grid-template-columns:110px 1fr}.newsItem img{width:110px;height:78px}.companyHeroInner{grid-template-columns:1fr}.companyLogoBig{width:110px;height:78px}.companyHeroInner>.followBtn{grid-column:auto;width:max-content}.metrics{grid-template-columns:1fr}.companyGrid{grid-template-columns:1fr}.searchForm{grid-template-columns:1fr}.searchForm button{height:42px}.submitSteps{grid-template-columns:1fr}.footerTop{flex-direction:column}}

/* v0.2: カテゴリ色プレースホルダ（写真が無い記事のサムネ） */
.thumb{display:block;position:relative;overflow:hidden;background:#e8eef2}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font:800 11px/1.2 Arial,sans-serif;letter-spacing:.5px;text-align:center;padding:6px}
.newsItem .thumb{width:165px;height:112px}
@media(max-width:760px){.newsItem .thumb{width:110px;height:78px}}
/* v0.2: 業界カード（画像に文字を焼き込まない） */
.cards .card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:12px 14px;color:#fff;text-decoration:none;height:90px;overflow:hidden}
.cards .card b{font-size:14px;letter-spacing:.3px}.cards .card small{font-size:10px;opacity:.9;margin-top:2px}
.cards .card:after{content:"→";position:absolute;right:12px;bottom:10px;font-size:14px;opacity:.9}
.filterBar a.pill{text-decoration:none;color:inherit}
