:root{--ink:#18212e;--muted:#5c6876;--navy:#173b67;--blue:#276ed1;--pale:#f4f8ff;--line:#dbe3ed;--orange:#e87526;--shadow:0 7px 24px rgba(20,52,91,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;background:#fff}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav{min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-weight:800;font-size:1.17rem;color:var(--navy);text-decoration:none}.nav nav{display:flex;gap:22px}.nav nav a{color:var(--muted);font-size:.9rem;text-decoration:none;font-weight:700}.hero{background-image:linear-gradient(rgba(5,20,40,.55),rgba(5,20,40,.55)),url("images/hero-kentei.png");background-position:center;background-size:cover;background-repeat:no-repeat;padding:62px 0 55px;text-align:center}.eyebrow{color:var(--blue);font-weight:800;letter-spacing:.05em;font-size:.86rem;margin:0 0 8px}.hero h1{font-size:clamp(2rem,5.5vw,3.25rem);line-height:1.18;color:var(--navy);margin:0}.hero h1+p{margin:7px 0;color:var(--blue);font-weight:800;font-size:1.1rem}.intro{margin:18px 0 25px;color:#354454}.main-search{display:block;text-align:left;width:min(760px,100%);margin:auto;background:#fff;border:2px solid #a5c5ef;border-radius:13px;padding:7px 14px;box-shadow:var(--shadow)}.main-search span{display:block;font-size:.78rem;color:var(--muted);font-weight:700}.main-search input{display:block;border:0;outline:0;width:100%;font:700 1.18rem inherit;color:var(--ink);padding:3px 0}.popular{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.popular button,.chips button{border:1px solid #c7d5e6;background:#fff;color:#29435c;border-radius:999px;padding:7px 12px;font:700 .85rem inherit;cursor:pointer}.popular button:hover,.chips button:hover,.chips button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}.content{padding:35px 0 54px}.filters,.category-section,.kana-section,.interesting{margin-bottom:30px}.filters{background:var(--pale);border:1px solid #dce8f7;padding:22px;border-radius:15px}.filters-title,.results-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.filters h2,.category-section h2,.kana-section h2,.results h2,.interesting h2{font-size:1.35rem;margin:0 0 14px;color:var(--navy)}.text-button{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer}.filter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.filter-grid label{font-size:.86rem;font-weight:800;color:#405064}.filter-grid select{width:100%;margin-top:4px;min-height:42px;border:1px solid #b9c8d8;border-radius:8px;background:#fff;color:var(--ink);padding:7px;font:inherit}.chips{display:flex;gap:9px;flex-wrap:wrap}.results-head{border-bottom:2px solid var(--navy);margin-bottom:18px}.results-head h2{margin:0}.results-head p{margin:0 0 12px;color:var(--muted);font-weight:700}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:13px;padding:19px;background:#fff;box-shadow:0 2px 8px rgba(31,60,91,.04)}.card h3{font-size:1.14rem;line-height:1.45;margin:0 0 12px}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{text-decoration:underline;color:var(--blue)}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tag{font-size:.76rem;line-height:1.25;font-weight:800;color:#285078;background:#eaf3ff;border-radius:99px;padding:5px 8px}.tag.international{background:#fff1e7;color:#a74610}.card dl{display:grid;grid-template-columns:73px 1fr;gap:5px 9px;margin:0 0 16px;font-size:.89rem}.card dt{font-weight:800;color:#536477}.card dd{margin:0;overflow-wrap:anywhere}.primary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:10px 13px;background:var(--blue);color:#fff;text-decoration:none;font-weight:800;margin-top:auto;cursor:pointer}.primary-button:hover{background:#1558b8}.pager{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:30px}.pager button{border:1px solid #b9c8d8;background:#fff;color:var(--navy);padding:7px 11px;border-radius:7px;font:700 .9rem inherit;cursor:pointer}.pager button[disabled]{background:var(--navy);color:#fff;border-color:var(--navy)}.empty{grid-column:1/-1;border:1px dashed #aab9c8;border-radius:10px;padding:35px;text-align:center;color:var(--muted)}.mini{grid-template-columns:repeat(4,minmax(0,1fr))}.mini .card{padding:15px}.mini .card h3{font-size:1rem}.detail-page{padding:28px 0 52px;max-width:900px}.back{color:var(--blue);font-weight:700;text-decoration:none}.detail-card{margin-top:20px;border:1px solid var(--line);border-radius:15px;padding:28px;box-shadow:var(--shadow)}.detail-card h1{font-size:clamp(1.65rem,4vw,2.3rem);line-height:1.35;margin:0 0 16px;color:var(--navy)}.detail-card dl{display:grid;grid-template-columns:180px 1fr;gap:0;margin:22px 0}.detail-card dt,.detail-card dd{padding:12px;border-bottom:1px solid var(--line);margin:0}.detail-card dt{font-weight:800;background:var(--pale)}.disclaimer{margin-top:22px;padding:15px;background:#fff8e9;border-radius:8px}.not-found{width:min(92%,640px);margin:13vh auto;text-align:center}.not-found h1{color:var(--navy)}footer{background:#172a42;color:#eef4fc;padding:30px 0;font-size:.91rem}footer p{color:#d3deea}.sponsor{font-weight:800;color:#fff}@media(max-width:900px){.filter-grid{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mini{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.wrap{width:min(100% - 26px,1160px)}.nav{min-height:57px}.nav nav{gap:12px}.nav nav a:not(:first-child){display:none}.hero{padding:42px 0}.intro{font-size:.94rem}.content{padding-top:25px}.filters{padding:16px}.filter-grid{grid-template-columns:1fr 1fr;gap:10px}.cards,.mini{grid-template-columns:1fr}.card{padding:17px}.detail-card{padding:18px}.detail-card dl{grid-template-columns:1fr}.detail-card dt{padding-bottom:4px;border-bottom:0}.detail-card dd{padding-top:3px}.popular button,.chips button{padding:6px 10px}.results-head{align-items:flex-start;flex-direction:column;gap:0}.results-head p{margin-bottom:8px}}
.hero.hero .eyebrow{color:#dceeff}.hero.hero h1{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.3)}.hero.hero h1+p{color:#fff}.hero.hero .intro{color:#f1f6fc}
