.seo26,body.seopage{--ink:#36252c;--accent:#7c284a;--tint:#fcf3f5;color:var(--ink);font:16px/1.85 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif;overflow-wrap:anywhere}.seo26.vision,.seopage.vision{--accent:#673735;--tint:#faf3eb}.seopage.az{--ink:#322737;--accent:#68436e;--tint:#f8f3fa}.seopage{margin:0;background:#f6f3f1}.seopage>header,.seopage>main,.seopage>footer{max-width:54rem;margin:auto;padding:1rem clamp(1.1rem,4vw,2.7rem);box-sizing:border-box}.seopage>main,.seo26{background:#fff}.seopage>header,.seo26{border-top:4px solid var(--accent)}.seo26{padding:clamp(.9rem,2vw,1.7rem)}.seo26 *,.seopage *{box-sizing:border-box}.seo26 h1,.seo26 h2,.seo26 h3,.seopage h1,.seopage h2,.seopage h3{font-family:serif;line-height:1.5;color:var(--ink);letter-spacing:.025em;margin:1.2em 0 .4em}.seo26 h1,.seopage h1{font-size:clamp(1.48rem,4vw,2.1rem)}.seo26 h2,.seopage h2{font-size:1.35rem;border-left:3px solid var(--accent);padding-left:.6rem}.seo26 h3,.seopage h3{font-size:1.1rem}.seo26 p,.seopage p{margin:.6em 0 1em}.seo26 a,.seopage a{color:var(--accent);text-underline-offset:.2em}.seo26small{font-size:.86rem}.seo26tag{letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--accent)}.seo26cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.7rem;margin:.8em 0 1.4em}.seo26card,.seo26teaser{display:block;border:1px solid #d7c4c5;background:var(--tint);padding:.7em .85em;text-decoration:none;line-height:1.65}.seo26card:hover,.seo26teaser:hover{text-decoration:underline}.seo26card img{float:left;width:64px;height:64px;object-fit:contain;margin:0 .65em .3em 0}.seo26card:after{content:"";display:block;clear:both}.seo26card strong,.seo26teaser strong{display:block}.seo26card small,.seo26teaser small{display:block;color:#594850}.seo26note{padding:.8em 1em;background:var(--tint);border-left:3px solid var(--accent)}.seo26picture{float:right;width:min(32%,190px);height:auto;margin:0 0 1rem 1rem}.seopage table{border-collapse:collapse;margin:1em 0;width:100%}.seopage th,.seopage td{text-align:left;vertical-align:top;border-bottom:1px solid #d8cccf;padding:.5em}.seopage summary,.seo26 summary{cursor:pointer;font-weight:700}.seopage details{border-top:1px solid #ded2d3;padding:.6em 0}.seopage ul,.seopage ol{padding-inline-start:1.6em}.seopage nav a{margin-right:.5em}.seo26charme{display:block;text-align:center;letter-spacing:.05em;background:#583248;color:white!important;padding:.8em 1em;font-weight:700;text-decoration:none}.seopage .archtext img{max-width:100%;height:auto}.seopage .archtext table{display:block;overflow:auto}.archtext{clear:both}.archtext a{overflow-wrap:anywhere}.seopage footer{clear:both}.tagline{font-size:.87rem}.seo26 section{scroll-margin-top:1rem}
.seo26teaser img{display:block;float:right;width:min(32%,76px);height:50px;object-fit:contain;margin:.1em 0 .3em .4em}.seo26teaser:after{content:'';display:block;clear:both}.charme2026:focus-visible,.seo26card:focus-visible,.seo26teaser:focus-visible{outline:3px solid #92517b;outline-offset:3px}
.seo26cards:has(.seo26card){grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}.seo26card{display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:0 .65em;align-items:center}.seo26card img{float:none;grid-column:1;grid-row:1/span 3;width:3.6rem;height:3.6rem;margin:0}.seo26card>*:not(img){grid-column:2}.seo26card:after{display:none}

/* The old theme assigns every #kanteishi portrait a width of 100px. */
.seo26.ranking #kanteishi {
  width: 100%;
  margin-inline: 0;
  padding-inline: 0;
}
.seo26.ranking #kanteishi .seo26cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 286px), 1fr));
  gap: 12px;
}
.seo26.ranking #kanteishi .teacher-summary {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 12px;
  text-align: left;
}
.seo26.ranking #kanteishi .teacher-summary > img {
  grid-column: 1;
  grid-row: 1;
  width: 56px;
  max-width: 100%;
  height: 56px;
  margin: 0;
  object-fit: contain;
}
.teacher-summary .teacher-copy { display: block; min-width: 0; }
.teacher-summary .teacher-copy small,
.teacher-summary .teacher-reading,
.teacher-summary .teacher-action { display: block; font-size: 13px; line-height: 1.5; }
.teacher-summary .teacher-copy strong { display: block; margin: 2px 0; font-size: 18px; line-height: 1.45; }
.teacher-summary .teacher-reading { color: #58434d; }
.teacher-summary .teacher-action { margin-top: 5px; color: #762644; }
@media (max-width: 360px) {
  .seo26.ranking #kanteishi .teacher-summary {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
  }
  .seo26.ranking #kanteishi .teacher-summary > img { width: 48px; height: 48px; }
}

/* Quiet editorial buttons: roughly seven parts text to three parts illustration. */
.atlas-home,.atlas-sidebar,.atlas-topic,.atlas-detail,.atlas-masthead {
  --panel:#fcf7f5; --stroke:#d9c6c4; --strong:#482a33; --minor:#70545c; --mark:#814253;
  --serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
}
.atlas-home.vision,.atlas-sidebar.vision,.atlas-topic.vision,.atlas-detail.atlas-vision,.atlas-masthead {
  --panel:#211925; --stroke:#58485b; --strong:#f3edf4; --minor:#cabaCA; --mark:#e3c9a5;
  --ink:var(--strong); --accent:var(--mark); --tint:var(--panel);
}
.atlas-grid,.atlas-home #site-list .seo26cards {
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:12px;
  margin:12px 0 24px;padding:0;
}
.seo26 .atlas-button {
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);align-items:stretch;
  min-height:90px;box-sizing:border-box;border:1px solid var(--stroke);border-radius:4px;
  background:var(--panel);color:var(--strong);text-align:left;text-decoration:none;overflow:hidden;
}

.atlas-button .atlas-type {grid-column:1;grid-row:1;align-self:center;min-width:0;padding:12px 14px;line-height:1.45}
.atlas-button .atlas-type small,.atlas-hero .atlas-kicker,.atlas-masthead small {
  display:block;margin:0 0 4px;color:var(--minor);font:600 12px/1.5 sans-serif;letter-spacing:.05em;
}
.atlas-button .atlas-type strong {display:block;color:var(--strong);font:600 clamp(16px,2vw,20px)/1.45 var(--serif);overflow-wrap:anywhere}
.atlas-button .atlas-action {display:block;margin-top:5px;color:var(--mark);font:500 12px/1.5 sans-serif}
.atlas-action i {font-style:normal}
.atlas-button .atlas-art,.atlas-hero>.atlas-art,.atlas-masthead>.atlas-art {
  grid-column:2;grid-row:1;display:block;position:relative;width:100%;height:100%;min-height:0;
  object-fit:cover;object-position:65% center;margin:0;padding:0;border:0;
}
.atlas-button .atlas-art {max-height:150px;align-self:center}
.atlas-brand .atlas-art {object-position:76% center}
.seo26 .atlas-button:hover,.seo26 .teacher-summary:hover {border-color:var(--mark);box-shadow:0 1px 5px #3022331c}
.atlas-button:focus-visible,.atlas-toggle:focus-visible,.atlas-jumps a:focus-visible,.teacher-summary:focus-visible {outline:3px solid var(--mark);outline-offset:2px}
.seo26 .atlas-wide {min-height:100px;margin:14px 0}
.atlas-wide .atlas-art {height:104px}
.atlas-wide .atlas-type strong {font-size:clamp(19px,3vw,25px)}
.atlas-wide .atlas-art {object-position:center 52%}
.atlas-sidebar .atlas-button {margin:.6em 0;min-height:78px}
.atlas-sidebar .atlas-button .atlas-type {padding:.65em .7em}
.atlas-sidebar .atlas-button .atlas-type strong {font-size:16px}
.atlas-toggle {padding:.7em 1em;background:var(--panel);border:1px solid var(--stroke);border-radius:3px;color:var(--strong)}
.atlas-home .teacher-summary .teacher-action {text-decoration:underline;text-underline-offset:.18em}
.atlas-home .teacher-summary {border-radius:4px}
.atlas-hero,.atlas-masthead {display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);border:1px solid var(--stroke);border-radius:3px;background:var(--panel);overflow:hidden;margin:1rem 0 1.6rem;min-height:138px}
.seopage .atlas-hero,.essay .atlas-hero,.seo26 .atlas-hero {max-width:none;padding:0}
.atlas-hero-copy,.atlas-masthead>div {align-self:center;grid-column:1;grid-row:1;min-width:0;padding:clamp(15px,3vw,30px)}
.seo26 .atlas-hero h1,.seopage .atlas-hero h1,.essay .atlas-hero h1 {margin:0;color:var(--strong);font:600 clamp(19px,3.3vw,32px)/1.45 var(--serif);overflow-wrap:anywhere}
.atlas-hero>.atlas-art {height:100%;max-height:230px;object-position:75% center}
.atlas-hero.atlas-portrait .atlas-person-photo {grid-column:2;grid-row:1;place-self:center;max-width:85%;width:auto;height:104px;object-fit:contain;margin:8px}
.atlas-jumps {display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 14px;padding:.6em 0 1em;border-bottom:1px solid var(--stroke);margin:0 0 1.3rem;font-size:.86em;line-height:1.75}
.atlas-jumps b{color:var(--minor);font-weight:500}.atlas-jumps a{text-underline-offset:.2em}
.atlas-detail .seo26tag:has(+.atlas-hero), .atlas-topic>.seo26tag:has(+.atlas-hero), .atlas-detail .rk26year:has(+.atlas-hero){display:none}
body.atlas-vision-page,body.seopage.atlas-vision {background:#110e15;color:#f1eaf1}
.atlas-vision-page #top-bg {display:none}
.atlas-vision-page #page,.atlas-vision-page #main,.atlas-detail.atlas-vision main {
  background:#17131b;color:#f0eaf0;border-color:#504252;background-image:none;
}
.atlas-vision-page .seo26,.atlas-detail.atlas-vision>main {
  background:#1a151f;color:#f1eaf1;border-top:1px solid #68566d;
}
.atlas-vision-page .seo26 h1,.atlas-vision-page .seo26 h2,.atlas-vision-page .seo26 h3,.atlas-detail.atlas-vision h1,.atlas-detail.atlas-vision h2 {color:#f1eaf1;font-family:var(--serif)}
.atlas-vision-page .seo26 h2,.atlas-detail.atlas-vision h2 {border-color:#ab8eac}
.atlas-vision-page .seo26 a,.atlas-detail.atlas-vision a {color:#e7cfa6}
.atlas-vision-page .teacher-summary,.atlas-vision-page .seo26card,.atlas-vision-page .seo26note {background:#251c2a;border-color:#58445e}
.atlas-vision-page .teacher-summary small,.atlas-vision-page .teacher-reading,.atlas-vision-page .teacher-action,.atlas-vision-page .seo26tag,.atlas-detail.atlas-vision .seo26tag {color:#cebecf}
.atlas-vision-page .teacher-summary strong {color:#f1eaf1}
.atlas-vision-page .atlas-home #kanteishi .teacher-summary img {width:50px;height:50px;object-fit:contain}
.atlas-vision-page #header-image.atlas-masthead {position:relative;width:100%;max-width:none;height:auto;min-height:150px;margin:0 0 14px;padding:0;border-radius:0;box-sizing:border-box;background:#18101e}
.atlas-vision-page #header-image.atlas-masthead:after {display:none}
.atlas-masthead>div {text-align:left;color:#efe8f0}
.atlas-masthead p {margin:4px 0;font:500 clamp(24px,4vw,43px)/1.35 var(--serif)}
.atlas-masthead span {font-size:13px;color:#d2c5ce}
.atlas-vision-page .bottom-banner,.atlas-vision-page #colophon {background:#201925;color:#d9ceda}
.atlas-home,.atlas-topic,.atlas-sidebar {padding-bottom:1.25em}
@media (max-width:600px){
  .atlas-grid,.atlas-home #site-list .seo26cards{grid-template-columns:minmax(0,1fr);gap:9px}
  .atlas-button .atlas-type{padding:9px 12px}
  .atlas-hero{min-height:115px}
  .atlas-hero-copy{padding:12px}
  .atlas-vision-page #header-image.atlas-masthead{min-height:112px}
}
.seo26card .profile-rank{grid-column:2;display:block;font:500 12px/1.5 sans-serif;color:var(--mark,var(--accent));margin-bottom:3px}
.atlas-vision-page .atlas-bottom{padding:0;border-top:1px solid #59485d}
.atlas-vision-page .atlas-bottom a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;color:#eadfcf;font:500 14px/1.4 sans-serif;text-decoration:none}
.atlas-vision-page .atlas-bottom img{display:block;width:44px;height:32px;object-fit:cover;margin:0}
.atlas-vision-page #top-btn{background:#3c2d40;border-color:#76677c;color:#efe6ed}
.guide-prices {border-collapse:collapse;width:100%;max-width:38rem;font-variant-numeric:tabular-nums}
.guide-prices caption {text-align:left;padding:.4em 0;font-size:.9em}
.guide-prices th,.guide-prices td {border:1px solid var(--stroke);padding:.45em .5em;text-align:right}
.guide-prices th:first-child {text-align:left}
.guide-prices thead,.guide-notes {background:var(--panel);color:var(--strong)}
.guide-notes {border-left:3px solid var(--mark);padding:.7em 1em}
.guide-notes dt {font-weight:700}
.guide-notes dd {margin:.2em 0 .8em}
.atlas-detail blockquote {margin:1em 0;padding:.7em 1.2em;border-left:3px solid var(--mark);background:var(--panel)}
.atlas-topic .teacher-summary,.atlas-home.vision .teacher-summary {
  grid-template-columns:48px minmax(0,1fr);align-items:center;padding:12px;gap:12px
}
.atlas-topic .teacher-summary img,.atlas-home.vision .teacher-summary img {width:48px;height:48px;grid-row:1;object-fit:contain}
.atlas-topic .teacher-summary .teacher-copy {min-width:0}
.atlas-topic .profile-rank {display:block;font:500 12px/1.6 sans-serif;margin:2px 0 3px;color:var(--mark)}
