/*
  kentei-common.css
  ------------------------------------------------------------
  読み込み対象:
    ai-kentei.html
    ai-kentei-trial.html

  必須:
    <body class="kentei-page">        検定案内ページ
    <body class="trial-page">         お試し設問ページ
*/

body.kentei-page,
body.trial-page {
  font-family: "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  color: var(--text);
  line-height: 1.8;
  letter-spacing: 0.03em;
  background:
    radial-gradient(circle at 20% 20%, rgba(212, 176, 106, 0.08), transparent 28%),
    radial-gradient(circle at 80% 0%, rgba(122, 215, 198, 0.08), transparent 20%),
    linear-gradient(180deg, #0b0d11 0%, #11151b 45%, #0d1015 100%);
}

body.kentei-page,
body.trial-page {
  --bg-main: #0f1115;
  --bg-sub: #171b22;
  --gold: #d4b06a;
  --gold-deep: #a77b2d;
  --accent: #7ad7c6;
  --accent-soft: rgba(122, 215, 198, 0.12);
  --radius: 22px;
}

body.kentei-page {
  --bg-card: rgba(255, 255, 255, 0.06);
  --line: rgba(255, 255, 255, 0.12);
  --text: #f5f1e8;
  --muted: #c7c0b3;
  --shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
  --max: 1200px;
}

body.trial-page {
  --bg-card: rgba(255, 255, 255, 0.05);
  --line: rgba(255, 255, 255, 0.10);
  --text: #f6f2ea;
  --muted: #c8c1b5;
  --danger: #ff9c9c;
  --ok: #95e5b3;
  --shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
  --max: 1100px;
  background:
    radial-gradient(circle at 18% 14%, rgba(212, 176, 106, 0.08), transparent 24%),
    radial-gradient(circle at 82% 0%, rgba(122, 215, 198, 0.08), transparent 18%),
    linear-gradient(180deg, #0b0d11 0%, #11151b 50%, #0d1015 100%);
}

.kentei-page a,
.trial-page a {
  color: inherit;
  text-decoration: none;
}

.kentei-page .wrap,
.trial-page .wrap {
  width: min(100% - 32px, var(--max));
  margin-inline: auto;
}

.kentei-page .site-header,
.trial-page .site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(14px);
  background: rgba(10, 12, 17, 0.72);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.kentei-page .site-header-inner,
.trial-page .site-header-inner {
  width: min(100% - 32px, var(--max));
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
}

.kentei-page .brand,
.trial-page .brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.kentei-page .brand-mark,
.trial-page .brand-mark {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #f1d59a, #b88737);
  color: #1a1a1a;
  font-size: 1.1rem;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(212, 176, 106, 0.28);
}

.kentei-page .brand-text,
.trial-page .brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.kentei-page .brand-text strong,
.trial-page .brand-text strong {
  font-size: 1rem;
  letter-spacing: 0.08em;
}

.kentei-page .brand-text span,
.trial-page .brand-text span {
  font-size: 0.78rem;
  color: var(--muted);
}

.kentei-page .hero-copy,
.kentei-page .hero-card,
.trial-page .hero-copy,
.trial-page .hero-side {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03));
  box-shadow: var(--shadow);
}

.kentei-page .hero-copy,
.trial-page .hero-copy {
  padding: 40px;
  position: relative;
  overflow: hidden;
}

.kentei-page .hero-copy::after,
.trial-page .hero-copy::after {
  content: "";
  position: absolute;
  right: -60px;
  top: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(122, 215, 198, 0.12), transparent 68%);
  pointer-events: none;
}

.kentei-page .eyebrow,
.trial-page .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(212, 176, 106, 0.22);
  background: rgba(212, 176, 106, 0.08);
  color: #f1d59a;
  margin-bottom: 18px;
}

.kentei-page .eyebrow::before,
.trial-page .eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f1d59a;
  box-shadow: 0 0 10px rgba(241, 213, 154, 0.8);
}

.kentei-page .hero h1 span,
.trial-page .hero h1 span {
  display: block;
  margin-top: 10px;
  color: var(--gold);
  font-size: 0.5em;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.kentei-page .hero p,
.trial-page .hero p {
  color: var(--muted);
  max-width: 58ch;
}

.kentei-page .section-title,
.trial-page .section-title {
  margin-bottom: 26px;
}

.kentei-page .section-title small,
.trial-page .section-title small {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--gold);
  letter-spacing: 0.14em;
  font-weight: 700;
}

.kentei-page .section-title h2,
.trial-page .section-title h2 {
  font-size: clamp(1.6rem, 2.4vw, 2.3rem);
  margin-bottom: 10px;
  line-height: 1.35;
}

.kentei-page .section-title p,
.trial-page .section-title p {
  color: var(--muted);
  max-width: 70ch;
}

.kentei-page .btn,
.trial-page .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 700;
  transition: 0.28s ease;
  border: 1px solid transparent;
  cursor: pointer;
}

.kentei-page .btn-primary,
.trial-page .btn-primary {
  background: linear-gradient(135deg, #e3c27f, #b68332);
  color: #16130e;
  box-shadow: 0 12px 24px rgba(180, 131, 50, 0.28);
}

.kentei-page .btn-primary:hover,
.trial-page .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(180, 131, 50, 0.3);
}

.kentei-page .btn-secondary,
.trial-page .btn-secondary {
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--text);
  background: rgba(255, 255, 255, 0.03);
}

.kentei-page .btn-secondary:hover,
.trial-page .btn-secondary:hover {
  transform: translateY(-2px);
  border-color: rgba(212, 176, 106, 0.34);
  background: rgba(255, 255, 255, 0.05);
}

.kentei-page .site-footer,
.trial-page .site-footer {
  padding: 28px 0 36px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 32px;
}

.kentei-page .site-footer-inner,
.trial-page .site-footer-inner {
  width: min(100% - 32px, var(--max));
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.kentei-page .site-footer p,
.trial-page .site-footer p {
  color: var(--muted);
  font-size: 0.9rem;
}

@media (max-width: 720px) {
  .kentei-page .site-header-inner,
  .trial-page .site-header-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .kentei-page .hero-copy,
  .trial-page .hero-copy {
    padding: 28px;
  }
}


/* =============================
   kentei-page
============================= */

.kentei-page .header-nav {
display:flex;
      gap:10px;
      flex-wrap:wrap;
}
.kentei-page .header-nav a {
padding:10px 14px;
      border:1px solid rgba(255,255,255,0.08);
      border-radius:999px;
      color:var(--muted);
      transition:0.25s ease;
      font-size:0.92rem;
}
.kentei-page .header-nav a:hover {
color:var(--text);
      border-color:rgba(212,176,106,0.38);
      background:rgba(255,255,255,0.04);
}
.kentei-page .hero {
position:relative;
      padding:84px 0 56px;
      overflow:hidden;
}
.kentei-page .hero::before {
content:"";
      position:absolute;
      inset:auto -120px -120px auto;
      width:360px;
      height:360px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(212,176,106,0.16), transparent 65%);
      filter:blur(10px);
      pointer-events:none;
}
.kentei-page .hero-grid {
display:grid;
      grid-template-columns:1.12fr 0.88fr;
      gap:28px;
      align-items:stretch;
}
.kentei-page .hero-copy,
.kentei-page .hero-card {
border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
      border-radius:var(--radius);
      box-shadow:var(--shadow);
}
.kentei-page .hero h1 {
font-size:clamp(2rem, 4vw, 3.7rem);
      line-height:1.2;
      margin-bottom:18px;
      letter-spacing:0.06em;
}
.kentei-page .hero-actions {
display:flex;
      flex-wrap:wrap;
      gap:14px;
      margin-bottom:26px;
}
.kentei-page .hero-points {
display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:14px;
}
.kentei-page .point-box {
padding:16px;
      border-radius:18px;
      background:rgba(255,255,255,0.04);
      border:1px solid rgba(255,255,255,0.08);
}
.kentei-page .point-box strong {
display:block;
      color:var(--gold);
      font-size:1.15rem;
      margin-bottom:4px;
}
.kentei-page .point-box span {
color:var(--muted);
      font-size:0.9rem;
      line-height:1.5;
}
.kentei-page .hero-card {
padding:28px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:18px;
      position:relative;
      overflow:hidden;
}
.kentei-page .hero-card::before {
content:"和";
      position:absolute;
      right:24px;
      bottom:8px;
      font-size:7rem;
      font-weight:800;
      color:rgba(212,176,106,0.08);
      line-height:1;
      pointer-events:none;
}
.kentei-page .card-head {
display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding-bottom:14px;
      border-bottom:1px solid rgba(255,255,255,0.08);
}
.kentei-page .card-head strong {
font-size:1rem;
      letter-spacing:0.08em;
}
.kentei-page .status {
display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--accent);
      font-size:0.88rem;
}
.kentei-page .status::before {
content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 12px rgba(122,215,198,0.9);
}
.kentei-page .glass-list {
display:grid;
      gap:14px;
}
.kentei-page .glass-item {
padding:16px 18px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,0.08);
      background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
}
.kentei-page .glass-item strong {
display:block;
      color:var(--text);
      margin-bottom:4px;
      font-size:1rem;
}
.kentei-page .glass-item span {
color:var(--muted);
      font-size:0.92rem;
}
.kentei-page .card-foot {
margin-top:6px;
      padding:18px;
      border-radius:18px;
      background:rgba(122,215,198,0.08);
      border:1px solid rgba(122,215,198,0.18);
      color:#dffcf7;
      font-size:0.95rem;
}
.kentei-page section {
padding:32px 0 24px;
}
.kentei-page .overview-grid {
display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:18px;
}
.kentei-page .overview-card {
padding:24px;
      border-radius:20px;
      border:1px solid var(--line);
      background:rgba(255,255,255,0.04);
      box-shadow:var(--shadow);
}
.kentei-page .overview-card .num {
width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:rgba(212,176,106,0.1);
      color:var(--gold);
      font-weight:700;
      margin-bottom:14px;
}
.kentei-page .overview-card h3 {
font-size:1.05rem;
      margin-bottom:8px;
}
.kentei-page .overview-card p {
color:var(--muted);
      font-size:0.94rem;
      line-height:1.7;
}
.kentei-page .course-box {
display:grid;
      grid-template-columns:1fr 1fr;
      gap:20px;
}
.kentei-page .panel {
padding:28px;
      border-radius:22px;
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
      box-shadow:var(--shadow);
}
.kentei-page .panel h3 {
font-size:1.2rem;
      margin-bottom:12px;
      color:var(--text);
}
.kentei-page .panel ul {
list-style:none;
      display:grid;
      gap:12px;
}
.kentei-page .panel li {
position:relative;
      padding-left:28px;
      color:var(--muted);
}
.kentei-page .panel li::before {
content:"◉";
      position:absolute;
      left:0;
      top:0;
      color:var(--gold);
      font-size:0.9rem;
}
.kentei-page .grade-nav {
display:grid;
      grid-template-columns:repeat(5, 1fr);
      gap:16px;
      margin-bottom:22px;
}
.kentei-page .grade-tab {
border:1px solid var(--line);
      background:rgba(255,255,255,0.04);
      border-radius:22px;
      padding:24px 18px;
      box-shadow:var(--shadow);
      transition:0.28s ease;
      cursor:pointer;
      text-align:left;
      color:var(--text);
      min-height:230px;
}
.kentei-page .grade-tab:hover {
transform:translateY(-4px);
      border-color:rgba(212,176,106,0.26);
      background:rgba(255,255,255,0.06);
}
.kentei-page .grade-tab.active {
border-color:rgba(212,176,106,0.42);
      background:linear-gradient(180deg, rgba(212,176,106,0.15), rgba(255,255,255,0.05));
      box-shadow:0 16px 34px rgba(167,123,45,0.16);
}
.kentei-page .grade-badge {
display:inline-block;
      padding:7px 12px;
      border-radius:999px;
      font-size:0.78rem;
      letter-spacing:0.12em;
      color:#17120b;
      background:linear-gradient(135deg, #ecd39e, #b98634);
      font-weight:700;
      margin-bottom:14px;
}
.kentei-page .grade-tab h3 {
font-size:1.08rem;
      margin-bottom:8px;
      line-height:1.4;
}
.kentei-page .grade-tab p {
color:var(--muted);
      font-size:0.92rem;
      line-height:1.7;
      margin-bottom:16px;
}
.kentei-page .grade-spec-mini {
display:grid;
      gap:8px;
}
.kentei-page .grade-spec-mini li {
list-style:none;
      display:flex;
      justify-content:space-between;
      gap:10px;
      padding:7px 0;
      border-bottom:1px dashed rgba(255,255,255,0.08);
      color:var(--muted);
      font-size:0.85rem;
}
.kentei-page .grade-spec-mini li span {
color:var(--text);
      font-weight:700;
}
.kentei-page .grade-detail-wrap {
position:relative;
}
.kentei-page .grade-detail {
display:none;
      border:1px solid rgba(212,176,106,0.20);
      background:
        radial-gradient(circle at right top, rgba(122,215,198,0.08), transparent 20%),
        linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
      border-radius:28px;
      box-shadow:var(--shadow);
      padding:32px;
      animation:fadeUp .35s ease;
}
.kentei-page .grade-detail.active {
display:block;
}
@keyframes fadeUp {
from{
        opacity:0;
        transform:translateY(10px);
      }
      to{
        opacity:1;
        transform:translateY(0);
      }
}
.kentei-page .detail-head {
display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:20px;
      margin-bottom:20px;
      padding-bottom:18px;
      border-bottom:1px solid rgba(255,255,255,0.08);
}
.kentei-page .detail-title small {
display:inline-block;
      color:var(--gold);
      letter-spacing:0.18em;
      font-size:0.76rem;
      margin-bottom:8px;
}
.kentei-page .detail-title h3 {
font-size:clamp(1.4rem, 2vw, 2rem);
      line-height:1.3;
      margin-bottom:8px;
}
.kentei-page .detail-title p {
color:var(--muted);
      max-width:60ch;
}
.kentei-page .detail-status {
white-space:nowrap;
      padding:10px 16px;
      border-radius:999px;
      border:1px solid rgba(122,215,198,0.22);
      background:rgba(122,215,198,0.08);
      color:var(--accent);
      font-weight:700;
      font-size:0.9rem;
}
.kentei-page .detail-specs {
display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:14px;
      margin-bottom:22px;
}
.kentei-page .spec-card {
padding:18px 16px;
      border-radius:18px;
      background:rgba(255,255,255,0.04);
      border:1px solid rgba(255,255,255,0.08);
      text-align:center;
}
.kentei-page .spec-card small {
display:block;
      color:var(--muted);
      font-size:0.82rem;
      margin-bottom:6px;
      letter-spacing:0.08em;
}
.kentei-page .spec-card strong {
display:block;
      color:var(--gold);
      font-size:1.15rem;
      line-height:1.4;
}
.kentei-page .detail-grid {
display:grid;
      grid-template-columns:1fr 1fr;
      gap:22px;
      margin-bottom:22px;
}
.kentei-page .detail-box {
padding:22px;
      border-radius:20px;
      background:rgba(255,255,255,0.04);
      border:1px solid rgba(255,255,255,0.08);
}
.kentei-page .detail-box h4 {
font-size:1.05rem;
      margin-bottom:12px;
      color:var(--text);
}
.kentei-page .detail-box ul {
list-style:none;
      display:grid;
      gap:10px;
}
.kentei-page .detail-box li {
position:relative;
      padding-left:24px;
      color:var(--muted);
      font-size:0.95rem;
      line-height:1.7;
}
.kentei-page .detail-box li::before {
content:"✓";
      position:absolute;
      left:0;
      top:0;
      color:var(--accent);
      font-weight:700;
}
.kentei-page .detail-foot {
display:flex;
      justify-content:space-between;
      align-items:center;
      gap:16px;
      flex-wrap:wrap;
      padding-top:8px;
}
.kentei-page .detail-note {
color:var(--muted);
      font-size:0.94rem;
}
.kentei-page .mini-btn {
display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:12px 18px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,0.12);
      background:rgba(255,255,255,0.04);
      color:var(--text);
      font-weight:700;
      transition:0.25s;
      cursor:pointer;
}
.kentei-page .mini-btn:hover {
border-color:rgba(212,176,106,0.3);
      background:rgba(255,255,255,0.07);
}
.kentei-page .flow {
display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:18px;
}
.kentei-page .flow-item {
padding:24px 20px;
      border-radius:20px;
      border:1px solid var(--line);
      background:rgba(255,255,255,0.04);
      box-shadow:var(--shadow);
      position:relative;
}
.kentei-page .flow-step {
display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:78px;
      height:32px;
      border-radius:999px;
      background:rgba(122,215,198,0.12);
      border:1px solid rgba(122,215,198,0.24);
      color:var(--accent);
      font-size:0.82rem;
      font-weight:700;
      margin-bottom:14px;
}
.kentei-page .flow-item h3 {
margin-bottom:8px;
      font-size:1.05rem;
}
.kentei-page .flow-item p {
color:var(--muted);
      font-size:0.93rem;
}
.kentei-page .cta {
padding:34px;
      border-radius:28px;
      border:1px solid rgba(212,176,106,0.22);
      background:
        radial-gradient(circle at left top, rgba(212,176,106,0.12), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
      box-shadow:var(--shadow);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      margin:14px 0 50px;
}
.kentei-page .cta-copy h2 {
font-size:clamp(1.45rem, 2.4vw, 2.3rem);
      margin-bottom:10px;
}
.kentei-page .cta-copy p {
color:var(--muted);
      max-width:55ch;
}
.kentei-page .cta-actions {
display:flex;
      gap:12px;
      flex-wrap:wrap;
}
.kentei-page .footer-links {
display:flex;
      gap:14px;
      flex-wrap:wrap;
}
.kentei-page .footer-links a {
color:var(--muted);
      font-size:0.9rem;
}
.kentei-page .footer-links a:hover {
color:var(--gold);
}
@media (max-width: 1180px) {
.kentei-page .hero-grid {
grid-template-columns:1fr;
}
.kentei-page .grade-nav {
grid-template-columns:repeat(3, 1fr);
}
.kentei-page .overview-grid {
grid-template-columns:repeat(2, 1fr);
}
.kentei-page .flow {
grid-template-columns:repeat(2, 1fr);
}
.kentei-page .hero-points {
grid-template-columns:1fr;
}
.kentei-page .detail-specs {
grid-template-columns:repeat(2, 1fr);
}

}
@media (max-width: 820px) {
.kentei-page .course-box,
.kentei-page .detail-grid {
grid-template-columns:1fr;
}
.kentei-page .detail-head {
flex-direction:column;
}
.kentei-page .grade-nav {
grid-template-columns:1fr 1fr;
}

}
@media (max-width: 720px) {
.kentei-page .header-nav {
width:100%;
}
.kentei-page .hero {
padding-top:50px;
}
.kentei-page .hero-copy,
.kentei-page .hero-card,
.kentei-page .panel,
.kentei-page .overview-card,
.kentei-page .flow-item,
.kentei-page .grade-tab,
.kentei-page .grade-detail {
padding:22px;
}
.kentei-page .overview-grid,
.kentei-page .flow,
.kentei-page .cta,
.kentei-page .grade-nav,
.kentei-page .detail-specs {
grid-template-columns:1fr;
        display:grid;
}
.kentei-page .cta {
padding:24px;
}
.kentei-page .btn,
.kentei-page .mini-btn {
width:100%;
}
.kentei-page .hero-actions,
.kentei-page .cta-actions {
display:grid;
        grid-template-columns:1fr;
}

}
.kentei-page .grade-tab {
padding:0;
  overflow:hidden;
}
.kentei-page .grade-tab-button {
width:100%;
  border:none;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  padding:24px 18px 18px;
  font:inherit;
}
.kentei-page .grade-tab-button:focus {
outline:none;
}
.kentei-page .grade-card-actions {
padding:0 18px 18px;
}
.kentei-page .trial-link-btn {
display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(122,215,198,0.24);
  background:rgba(122,215,198,0.10);
  color:var(--accent);
  font-weight:700;
  transition:.25s ease;
}
.kentei-page .trial-link-btn:hover {
background:rgba(122,215,198,0.16);
  border-color:rgba(122,215,198,0.38);
  color:#e9fffb;
}
.kentei-page .detail-action-group {
display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.kentei-page .trial-mini-btn {
border-color:rgba(122,215,198,0.24);
  background:rgba(122,215,198,0.10);
  color:var(--accent);
}
.kentei-page .trial-mini-btn:hover {
background:rgba(122,215,198,0.16);
  border-color:rgba(122,215,198,0.38);
  color:#e9fffb;
}
@media (max-width: 720px) {
.kentei-page .detail-action-group {
display:grid;
    grid-template-columns:1fr;
    width:100%;
}
.kentei-page .detail-action-group .mini-btn {
width:100%;
}

}

/* =============================
   trial-page
============================= */

.trial-page .header-link {
padding:10px 16px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,0.10);
      color:var(--muted);
      transition:.25s ease;
      font-size:.92rem;
}
.trial-page .header-link:hover {
color:var(--text);
      border-color:rgba(212,176,106,0.30);
      background:rgba(255,255,255,0.04);
}
.trial-page .hero {
padding:72px 0 28px;
}
.trial-page .hero-panel {
display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:24px;
      align-items:stretch;
}
.trial-page .hero-copy,
.trial-page .hero-side {
border:1px solid var(--line);
      border-radius:28px;
      background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
      box-shadow:var(--shadow);
}
.trial-page .hero h1 {
font-size:clamp(2rem, 4vw, 3.2rem);
      line-height:1.22;
      margin-bottom:14px;
      letter-spacing:.06em;
}
.trial-page .hero-points {
display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
}
.trial-page .hero-point {
padding:14px;
      border:1px solid rgba(255,255,255,0.08);
      background:rgba(255,255,255,0.04);
      border-radius:18px;
}
.trial-page .hero-point strong {
display:block;
      color:var(--gold);
      margin-bottom:4px;
      font-size:1rem;
}
.trial-page .hero-point span {
color:var(--muted);
      font-size:.88rem;
      line-height:1.55;
}
.trial-page .hero-side {
padding:28px;
      display:flex;
      flex-direction:column;
      gap:16px;
      position:relative;
      overflow:hidden;
}
.trial-page .hero-side::before {
content:"入門";
      position:absolute;
      right:18px;
      bottom:-8px;
      font-size:5.5rem;
      line-height:1;
      color:rgba(212,176,106,0.08);
      font-weight:800;
      pointer-events:none;
}
.trial-page .side-card {
padding:18px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,0.08);
      background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
}
.trial-page .side-card strong {
display:block;
      margin-bottom:6px;
      font-size:1rem;
}
.trial-page .side-card span {
color:var(--muted);
      font-size:.92rem;
      line-height:1.7;
}
.trial-page .trial-section {
padding:18px 0 56px;
}
.trial-page .trial-box {
border:1px solid rgba(212,176,106,0.18);
      border-radius:30px;
      padding:28px;
      background:
        radial-gradient(circle at right top, rgba(122,215,198,0.08), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
      box-shadow:var(--shadow);
}
.trial-page .trial-head {
display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      flex-wrap:wrap;
      padding-bottom:18px;
      border-bottom:1px solid rgba(255,255,255,0.08);
      margin-bottom:24px;
}
.trial-page .trial-meta {
display:flex;
      gap:12px;
      flex-wrap:wrap;
}
.trial-page .meta-chip {
padding:10px 14px;
      border-radius:999px;
      background:rgba(255,255,255,0.04);
      border:1px solid rgba(255,255,255,0.08);
      color:var(--muted);
      font-size:.9rem;
}
.trial-page .meta-chip strong {
color:var(--text);
      margin-left:6px;
}
.trial-page .question-list {
display:grid;
      gap:22px;
}
.trial-page .question-card {
border:1px solid rgba(255,255,255,0.08);
      background:rgba(255,255,255,0.04);
      border-radius:22px;
      padding:24px;
}
.trial-page .question-number {
display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:88px;
      height:32px;
      padding:0 12px;
      border-radius:999px;
      background:rgba(212,176,106,0.10);
      border:1px solid rgba(212,176,106,0.22);
      color:var(--gold);
      font-weight:700;
      font-size:.85rem;
      margin-bottom:14px;
}
.trial-page .question-text {
font-size:1.08rem;
      margin-bottom:16px;
      line-height:1.7;
}
.trial-page .choices {
display:grid;
      gap:12px;
}
.trial-page .choice {
position:relative;
}
.trial-page .choice input[type="radio"] {
position:absolute;
      opacity:0;
      pointer-events:none;
}
.trial-page .choice label {
display:block;
      padding:14px 16px 14px 48px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,0.08);
      background:rgba(255,255,255,0.03);
      color:var(--muted);
      cursor:pointer;
      transition:.2s ease;
      position:relative;
      min-height:56px;
}
.trial-page .choice label::before {
content:"";
      position:absolute;
      left:16px;
      top:50%;
      transform:translateY(-50%);
      width:18px;
      height:18px;
      border-radius:50%;
      border:2px solid rgba(255,255,255,0.28);
      background:transparent;
      transition:.2s ease;
}
.trial-page .choice input[type="radio"]:checked + label {
color:var(--text);
      border-color:rgba(212,176,106,0.34);
      background:rgba(212,176,106,0.10);
}
.trial-page .choice input[type="radio"]:checked + label::before {
border-color:var(--gold);
      background:radial-gradient(circle, var(--gold) 0 45%, transparent 48%);
}
.trial-page .choice label:hover {
border-color:rgba(212,176,106,0.24);
      background:rgba(255,255,255,0.05);
      color:var(--text);
}
.trial-page .actions {
display:flex;
      gap:14px;
      flex-wrap:wrap;
      margin-top:28px;
}
.trial-page .result-box {
display:none;
      margin-top:28px;
      border-radius:24px;
      padding:24px;
      border:1px solid rgba(122,215,198,0.16);
      background:rgba(122,215,198,0.08);
}
.trial-page .result-box.show {
display:block;
      animation:fadeUp .35s ease;
}
.trial-page .result-score {
font-size:1.5rem;
      font-weight:800;
      color:#ecfdf8;
      margin-bottom:6px;
}
.trial-page .result-message {
color:#def8f2;
      margin-bottom:16px;
}
.trial-page .result-summary {
display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
      margin-bottom:18px;
}
.trial-page .summary-card {
padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,0.06);
      border:1px solid rgba(255,255,255,0.08);
      text-align:center;
}
.trial-page .summary-card small {
display:block;
      color:#d4f4ec;
      font-size:.8rem;
      margin-bottom:4px;
}
.trial-page .summary-card strong {
font-size:1.05rem;
      color:#ffffff;
}
.trial-page .answer-review {
display:grid;
      gap:14px;
      margin-top:8px;
}
.trial-page .review-item {
border-radius:18px;
      padding:16px;
      background:rgba(255,255,255,0.05);
      border:1px solid rgba(255,255,255,0.08);
}
.trial-page .review-item.ok {
border-color:rgba(149,229,179,0.28);
      background:rgba(149,229,179,0.10);
}
.trial-page .review-item.ng {
border-color:rgba(255,156,156,0.24);
      background:rgba(255,156,156,0.08);
}
.trial-page .review-head {
display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      margin-bottom:8px;
}
.trial-page .review-title {
font-weight:700;
}
.trial-page .review-status {
padding:6px 12px;
      border-radius:999px;
      font-size:.82rem;
      font-weight:700;
}
.trial-page .review-item.ok .review-status {
background:rgba(149,229,179,0.18);
      color:var(--ok);
}
.trial-page .review-item.ng .review-status {
background:rgba(255,156,156,0.14);
      color:var(--danger);
}
.trial-page .review-body {
color:var(--muted);
      font-size:.94rem;
      line-height:1.75;
}
.trial-page .review-body strong {
color:var(--text);
}
@keyframes fadeUp {
from{
        opacity:0;
        transform:translateY(10px);
      }
      to{
        opacity:1;
        transform:translateY(0);
      }
}
@media (max-width: 980px) {
.trial-page .hero-panel {
grid-template-columns:1fr;
}
.trial-page .hero-points,
.trial-page .result-summary {
grid-template-columns:1fr 1fr;
}

}
@media (max-width: 720px) {
.trial-page .hero {
padding-top:48px;
}
.trial-page .hero-copy,
.trial-page .hero-side,
.trial-page .trial-box,
.trial-page .question-card {
padding:22px;
}
.trial-page .hero-points,
.trial-page .result-summary {
grid-template-columns:1fr;
}
.trial-page .actions {
display:grid;
        grid-template-columns:1fr;
}

}

/* Kentei Common CSS v2 */
.kentei-page, .trial-page {
  background:#f5f7fa;
  min-height:100vh;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial;
}

.question-card {
  background:#fff;
  border-radius:12px;
  padding:24px;
  margin:20px auto;
  max-width:720px;
  box-shadow:0 8px 20px rgba(0,0,0,0.05);
}

.question-card.is-collapsed {
  opacity:.6;
  padding:12px 24px;
}

.question-title {
  font-size:18px;
  font-weight:600;
  margin-bottom:16px;
}

.choice {
  display:block;
  padding:12px 16px;
  border-radius:8px;
  background:#f1f3f5;
  margin-bottom:10px;
  cursor:pointer;
}

.choice:hover { background:#e9ecef; }

.progress-track {
  width:100%;
  height:6px;
  background:#e5e7eb;
  border-radius:3px;
  overflow:hidden;
  margin-bottom:16px;
}

.progress-bar {
  height:100%;
  width:0%;
  background:#4f46e5;
}

.exam-time {
  text-align:right;
  font-size:14px;
  margin-bottom:10px;
  color:#555;
}

.result-panel {
  max-width:720px;
  margin:40px auto;
  padding:24px;
  background:#fff;
  border-radius:12px;
  text-align:center;
  box-shadow:0 8px 20px rgba(0,0,0,0.05);
}
