:root{font-family:Inter,"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#1c2c43;background:#f8fafd;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#1c2c43;--muted:#667890;--blue:#155ac4;--line:#dae4f1;--surface:#fff;--soft:#eef5fc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #69a9ff;outline-offset:3px}h1,h2,h3,p{overflow-wrap:anywhere}.wrap{width:min(1120px,calc(100% - 42px));margin:0 auto}.skip{position:absolute;top:-120px;left:12px;z-index:10;background:#fff;padding:14px}.skip:focus{top:12px}.sitehead{height:76px;background:rgba(255,255,255,.97);border-bottom:1px solid #e3eaf4}.head-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{display:flex;align-items:center;gap:11px;font-weight:900;font-size:18px;color:#153965;text-decoration:none;letter-spacing:-.025em}.logo-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#0a7ed5,#264ab0);font-size:24px;box-shadow:0 5px 14px #3166ab3d}.mainnav{display:flex;align-items:center;gap:28px}.mainnav a{text-decoration:none;color:#4c5e74;font-size:13px;font-weight:750}.mainnav a:hover{color:var(--blue)}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.18em;color:#2664ba;margin:0 0 13px}.muted{color:var(--muted)}.hero{background:radial-gradient(ellipse at 90% 10%,#dbeeff 0,transparent 52%),linear-gradient(170deg,#f4faff,#f8fafd 77%);border-bottom:1px solid #e4edf7}.hero-inner{display:grid;grid-template-columns:1fr .84fr;align-items:center;min-height:430px;padding:58px 0 62px;gap:62px}.hero h1{font-size:clamp(37px,4.9vw,59px);font-weight:900;line-height:1.27;letter-spacing:-.055em;margin:0 0 19px}.hero h1 span{color:#135ec2}.lead{font-size:16px;line-height:2;color:#566c86;max-width:660px;margin:0}.hero-actions,.button-line{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid transparent;min-height:46px;padding:12px 19px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:800;white-space:normal;text-align:center;line-height:1.45}.btn-primary{background:#175fca;color:white;box-shadow:0 5px 13px #175fca22}.btn-primary:hover{background:#0c4da7}.btn-ghost{border-color:#d3e0f2;color:#225d9b;background:white}.btn-ghost:hover{border-color:#9ebce3}.btn-secondary{background:white;color:#164e9b}.btn-secondary:hover{background:#f3f7ff}.btn-muted{color:#5f6f86;background:#e7edf5;border:1px solid #d3deea;cursor:default}.btn.full{width:100%}.hero-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.hero-badges span{border:1px solid #dae6f4;color:#607893;background:#fff;font-size:11px;border-radius:40px;padding:7px 11px;font-weight:700}.hero-art{height:330px;position:relative;display:grid;place-items:center}.art-glow{width:260px;height:260px;position:absolute;border-radius:999px;background:radial-gradient(circle,#d0e6ff 20%,transparent 67%);filter:blur(7px)}.float-tile{position:absolute;background:#fff;border:1px solid #d4e4fa;border-radius:22px;box-shadow:0 26px 50px #234f8a20}.art-main{width:335px;height:250px;top:21px;right:46px;padding:29px;transform:rotate(-4deg)}.float-icon{display:grid;place-items:center;width:53px;height:53px;border-radius:15px;color:white;font-size:33px;background:#2769c5}.float-head{display:block;position:absolute;left:99px;top:41px;color:#305a8c;font-size:12px;font-weight:900;letter-spacing:.1em}.float-lines{display:block;position:absolute;left:99px;top:66px}.float-lines i{display:block;width:170px;height:7px;border-radius:5px;background:#ecf2fa;margin-bottom:10px}.float-lines i:nth-child(2){width:145px}.float-lines i:nth-child(3){width:102px}.art-icons{display:flex;gap:11px;margin-top:47px}.art-icons b{display:grid;place-items:center;width:60px;height:60px;border-radius:14px;background:#edf5ff;color:#2960ab;font-size:14px}.art-icons b:nth-child(2){background:#f3efff;color:#6750a4}.art-icons b:nth-child(3){background:#e9f8fb;color:#337f91}.art-icons b:nth-child(4){background:#fff0f5;color:#d0597d;font-size:29px}.art-small{right:0;bottom:29px;width:260px;padding:19px 20px;display:flex;justify-content:space-between;font-weight:750;font-size:12px;transform:rotate(4deg);border-radius:14px;color:#36669d}.art-small span{color:#1261c5}.section{padding:70px 0 79px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}.section-head h2{font-size:clamp(24px,2.7vw,31px);margin:0 0 8px;letter-spacing:-.03em}.section-head p:not(.eyebrow){font-size:14px;margin:0;line-height:1.8}.result-count{font-size:13px;color:#6f829a;white-space:nowrap}.search-panel{padding:23px 25px;background:#fff;border:1px solid #dbe5f0;border-radius:17px;box-shadow:0 7px 22px #1f4b7e0a}.search-panel label{display:block;font-size:13px;font-weight:800;margin-bottom:11px}.search-field{display:flex;align-items:center;gap:12px;padding:0 15px;border:1px solid #cfdbeb;border-radius:9px;background:#fbfdff;color:#7284a0}.search-field:focus-within{outline:2px solid #8bb9ef}.search-field input{min-width:0;flex:1;border:0;background:transparent;font-size:16px;color:#243d5c;padding:14px 0;outline:0}.clear-search{border:0;background:transparent;color:#2862ad;font-size:12px;font-weight:750}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px}.filter{border:1px solid #d4e1f0;border-radius:90px;background:white;color:#4c6583;padding:10px 19px;font-size:12px;font-weight:850}.filter:hover{border-color:#8db3e6}.filter.active{background:#1d5fac;color:white;border-color:#1d5fac}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.app-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #dde6f3;border-radius:16px;padding:25px;box-shadow:0 5px 18px #2249770a;transition:transform .15s,box-shadow .15s;min-height:264px}.app-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #234c8120}.card-top{display:flex;justify-content:space-between;gap:8px;align-items:start;margin-bottom:20px}.icon-tile{display:inline-grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:14px;background:#e9f1fe;color:#2965bf;font-size:15px;font-weight:950;letter-spacing:-.025em}.icon-tile.large{width:70px;height:70px;font-size:22px;border-radius:19px}.icon-tile.blue{background:#e7f1ff;color:#2367c4}.icon-tile.teal{background:#e3f7f4;color:#16867f}.icon-tile.indigo{background:#eeeafe;color:#6754bd}.icon-tile.violet{background:#f3edff;color:#8452bd}.icon-tile.sky{background:#e8f6ff;color:#268bb7}.icon-tile.amber{background:#fff4db;color:#b47b18}.icon-tile.rose{background:#ffecf0;color:#cf5b7a}.category,.tag{font-size:11px;font-weight:800;padding:7px 10px;border-radius:90px;background:#f0f5fa;color:#637992}.app-card h3{font-size:19px;letter-spacing:-.025em;line-height:1.45;margin:0 0 12px}.app-card h3 a{text-decoration:none}.app-card h3 a:hover{color:#205fb1}.app-card p{margin:0 0 25px;line-height:1.83;font-size:13px;color:#647690}.card-footer{margin-top:auto}.text-link{font-size:13px;color:#1664c3;font-weight:850;text-decoration:none}.text-link:hover{text-decoration:underline}.empty-state{border:1px dashed #b2c4dd;text-align:center;padding:35px;background:#fff;border-radius:12px;color:#647691}.note-below{font-size:12px;color:#8090a6;line-height:1.8;margin:17px 0 0}.soft-section{background:#eff5fb;border-top:1px solid #e4ecf7;border-bottom:1px solid #e4ecf7}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guide-card{background:#fff;padding:26px;border:1px solid #dce6f3;border-radius:14px}.guide-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px}.mini-category{font-weight:800;color:#34669d}.guide-card h3{font-size:17px;line-height:1.6;margin:0 0 9px}.guide-card h3 a{text-decoration:none}.guide-card h3 a:hover{color:#135bbb}.guide-card p{font-size:13px;color:#647890;line-height:1.8;margin:0 0 18px}.last-section{padding-top:60px;padding-bottom:90px}.message-banner{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:31px 39px;border:1px solid #b9d4f7;border-radius:18px;background:linear-gradient(110deg,#e3f0ff,#2671bf);color:#163a67}.message-banner .eyebrow{color:#2665ad}.message-banner h2{margin:0 0 12px;font-size:25px}.message-banner p:not(.eyebrow){margin:0;line-height:1.9;font-size:14px}.footer{border-top:1px solid #e2eaf3;background:#fff}.foot-grid{display:flex;justify-content:space-between;gap:24px;align-items:start;padding:38px 0 25px}.foot-logo{font-size:17px;font-weight:900;color:#1e4c81;text-decoration:none}.foot-grid p{color:#7b889b;font-size:12px}.foot-grid nav{display:flex;gap:20px;flex-wrap:wrap}.foot-grid nav a{font-size:12px;text-decoration:none;color:#62738a}.foot-grid nav a:hover{color:#115ac1}.foot-bottom{border-top:1px solid #edf1f7;padding:17px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#8793a4}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:38px 0 42px;color:#76889e;font-size:12px}.breadcrumbs a{text-decoration:none;color:#3a6ba2}.breadcrumbs .chevron{color:#96a6b7}.detail-page{padding-bottom:85px}.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:56px;align-items:start;padding:14px 0 53px;border-bottom:1px solid #e1eaf4}.detail-main .tag{display:inline-block;margin-left:14px;vertical-align:middle}.detail-main h1{font-size:clamp(30px,4vw,43px);letter-spacing:-.035em;line-height:1.4;margin:21px 0 12px}.detail-main .subtitle{font-size:18px;font-weight:800;color:#245f9c;line-height:1.7;margin:0 0 15px}.detail-main>p:not(.subtitle):not(.subnote){font-size:15px;line-height:1.9;color:#566a84;max-width:700px}.subnote{font-size:12px;color:#8190a3;margin:14px 0}.quick-facts{border:1px solid #dfe8f3;border-radius:16px;background:white;padding:18px 23px}.fact{padding:15px 0;border-bottom:1px solid #e7edf5;display:flex;flex-direction:column;gap:7px}.fact:last-child{border-bottom:0}.fact span{color:#8492a5;font-size:11px}.fact strong{font-size:14px;line-height:1.6}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;margin-top:32px}.detail-grid>div{display:grid;gap:24px}.content-card,.side-card,.prose-card{background:#fff;border:1px solid #e0e8f2;border-radius:15px;padding:29px}.content-card h2,.side-card h2,.prose-card h2{font-size:20px;line-height:1.5;margin:0 0 19px}.content-card p{color:#5e718b;font-size:14px;line-height:1.9}.feature-list,.plain-list,.check-list{list-style:none;padding:0;margin:0}.feature-list{display:grid;gap:16px}.feature-list li{display:flex;align-items:start;gap:10px;line-height:1.7;font-size:14px}.tick{color:#18806a;background:#e5f6f0;width:23px;height:23px;display:grid;place-items:center;border-radius:40px;flex-shrink:0}.compact-steps{padding-left:22px;line-height:2;color:#566d88;font-size:14px}.side-card{padding:25px;margin-bottom:22px}.side-card h2{font-size:16px}.plain-list{padding-left:19px;list-style:disc;color:#61748c;font-size:13px;line-height:1.95}.plain-list li{margin-bottom:9px}.keywords{display:flex;flex-wrap:wrap;gap:8px}.keywords span{font-size:11px;background:#f1f6fb;padding:7px 10px;color:#56718b;border-radius:7px}.next-links{margin-top:49px;padding:28px 0;border-top:1px solid #e0e8f3}.next-links h2{font-size:19px;margin:0 0 11px}.reading-page{padding-bottom:90px}.reading-head{max-width:850px;margin:0 0 40px}.reading-head h1{font-size:clamp(29px,4vw,40px);letter-spacing:-.035em;line-height:1.55;margin:0 0 15px}.reading-meta{margin-top:20px;font-size:12px;color:#627994}.reading-meta a{color:#185baf;font-weight:750;text-decoration:none}.reading-meta span{padding:0 9px}.reading-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:27px}.reading-main{background:#fff;border:1px solid #e1e9f2;border-radius:15px;padding:35px 41px}.article-intro{background:#f0f6ff;border-radius:12px;padding:21px 23px;color:#4c6583;font-size:13px;line-height:1.85}.article-intro strong{font-size:14px;color:#1c518b}.article-intro p{margin:8px 0 0}.full-steps{list-style:none;counter-reset:step;margin:26px 0 0;padding:0}.full-steps>li{position:relative;padding:26px 0 26px 58px;border-bottom:1px solid #e9eff5;counter-increment:step}.full-steps>li:before{content:counter(step);position:absolute;left:0;top:22px;background:#e7f0ff;color:#2463b4;border-radius:13px;width:40px;height:40px;display:grid;place-items:center;font-weight:900}.full-steps h2{font-size:18px;margin:0 0 11px;line-height:1.5}.full-steps p{font-size:14px;color:#5e738d;line-height:1.95;margin:0}.reading-summary{margin-top:35px;padding:25px;background:#f7f9fc;border:1px solid #e6edf4;border-radius:12px}.reading-summary h2{font-size:17px;margin:0 0 10px}.reading-summary p{font-size:13px;line-height:1.8;color:#65798d;margin:0}.reading-aside .side-card{margin:0}.sticky-card{position:sticky;top:20px}.mini-app{display:flex;align-items:center;gap:13px}.mini-app>div{display:flex;flex-direction:column;gap:3px}.mini-app small{color:#8695a8;font-size:11px}.mini-app strong{font-size:15px}.reading-aside p{font-size:13px;line-height:1.85;color:#647890}.aside-action{margin-top:20px}.simple-page{padding-bottom:88px}.simple-head{max-width:810px;margin-bottom:36px}.simple-head h1{font-size:clamp(29px,4vw,40px);margin:0 0 17px}.simple-head .lead{font-size:15px}.feedback-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:34px;background:#ecf4ff;border:1px solid #d4e5fc;padding:36px;border-radius:18px}.feedback-info{padding:6px 0}.feedback-info h2{font-size:22px;margin:0 0 13px}.feedback-info>p{font-size:14px;color:#5a708b;line-height:1.9}.check-list li{font-size:13px;color:#4b6988;line-height:2;padding-left:23px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:#247dbc;font-weight:900}.notice{background:#fff;border-radius:12px;border:1px solid #d9e7f7;padding:18px;margin-top:27px;font-size:13px;line-height:1.85}.notice strong{color:#4a5a73}.notice p{margin:7px 0 0;color:#72859d}.feedback-panel form{background:#fff;border:1px solid #dce7f5;border-radius:13px;padding:27px}.formrow{margin-bottom:21px}.formrow label,.admin-page label{display:block;font-size:13px;font-weight:800;margin-bottom:9px}.formrow select,.formrow textarea,.admin-auth input{display:block;width:100%;padding:12px 13px;border:1px solid #ccd9e9;border-radius:9px;background:white;color:#233950;font-size:15px}.formrow textarea{resize:vertical;min-height:160px;line-height:1.7}.formrow label .muted{font-weight:400;font-size:11px}.captcha{margin:0 0 14px}.form-status{font-size:12px;color:#77869a;line-height:1.8}.form-status.error{color:#b02436}.form-status.success{color:#15794b}.feedback-panel button:disabled{background:#bccbdb;color:#4d637b;box-shadow:none}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.prose-card{max-width:880px;padding:39px}.prose-card h2:not(:first-child){margin-top:28px}.prose-card p{font-size:14px;color:#62748a;line-height:2}.admin-auth{display:flex;gap:10px}.admin-auth input{max-width:480px}.report-list{display:grid;gap:13px}.report{border:1px solid #d9e5f3;padding:17px;border-radius:10px;background:#fafcff}.report .report-meta{font-size:12px;color:#74849b;margin-bottom:7px}.report p{white-space:pre-wrap;font-size:14px;color:#344960;margin:0}.report-list .empty{font-size:14px}.admin-page .prose-card{max-width:none}[hidden]{display:none!important}
@media(max-width:990px){.hero-inner{grid-template-columns:1fr .7fr;gap:25px}.art-main{right:5px;transform:scale(.87) rotate(-4deg);transform-origin:top right}.art-small{right:-2px;transform:scale(.85) rotate(4deg)}.detail-hero{gap:25px}.detail-grid{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:770px){.hero-inner{grid-template-columns:1fr;min-height:0;padding:54px 0}.hero-art{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-hero,.detail-grid,.reading-grid,.feedback-panel{grid-template-columns:1fr}.reading-aside .sticky-card{position:static}.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-facts .fact{border-bottom:0;padding:4px 0}.detail-grid>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-grid .side-card{margin:0}.feedback-panel{gap:20px}.mainnav{gap:17px}.foot-grid{display:block}.foot-grid nav{margin-top:22px}}
@media(max-width:560px){.wrap{width:min(1120px,calc(100% - 30px))}.sitehead{height:auto}.head-inner{align-items:start;min-height:66px;padding:12px 0;flex-direction:column;gap:15px}.logo{font-size:16px}.logo-mark{width:35px;height:35px;font-size:21px}.mainnav{width:100%;justify-content:space-between;gap:7px;padding-bottom:2px}.mainnav a{font-size:11px}.hero-inner{padding:46px 0}.hero h1{font-size:39px}.lead{font-size:14px}.hero-badges{gap:7px}.hero-badges span{font-size:10px}.hero-actions .btn{min-width:0}.section{padding:50px 0 58px}.section-head h2{font-size:25px}.section-head{align-items:start}.result-count{font-size:12px}.search-panel{padding:17px}.filters{gap:8px}.filter{font-size:11px;padding:9px 12px}.cards,.guide-grid{grid-template-columns:1fr;gap:13px}.app-card{min-height:225px;padding:23px}.guide-card{padding:23px}.message-banner{display:block;padding:25px}.message-banner h2{font-size:22px}.message-banner .btn{margin-top:22px}.footer .foot-bottom{display:block;line-height:1.8}.foot-bottom span{display:block}.breadcrumbs{margin:28px 0}.detail-hero{padding-top:8px}.detail-main h1{font-size:31px}.detail-main .subtitle{font-size:16px}.button-line .btn{width:100%}.quick-facts{grid-template-columns:1fr;gap:0}.quick-facts .fact{padding:10px 0;border-bottom:1px solid #e7edf5}.quick-facts .fact:last-child{border:0}.detail-grid>aside{grid-template-columns:1fr}.content-card,.side-card,.prose-card{padding:23px}.reading-head h1{font-size:29px}.reading-main{padding:23px 18px}.full-steps>li{padding-left:51px}.full-steps h2{font-size:16px}.feedback-panel{padding:16px}.feedback-panel form{padding:18px}.feedback-info{padding:6px}.admin-auth{flex-direction:column}.admin-auth input{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.app-card{transition:none}}
