:root{--ink:#171717;--muted:#65738a;--paper:#fafaf0;--coral:#b84942;--line:#dce2ea;--blue:#58a9ec;--mint:#77bfa7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--ink);background:#fff;font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #2c70aa;outline-offset:4px}.skip{position:absolute;left:12px;top:-80px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.container{max-width:1024px;margin:0 auto}.header{text-align:center;padding:15px 16px 18px;background:#fff;border-bottom:5px solid transparent;border-image:repeating-linear-gradient(90deg,#60abeb 0 63px,#76bda5 63px 126px,#ed9b90 126px 189px) 5}.brand{display:inline-block}.brand img{height:32px;width:auto}.tagline{font-size:12px;margin-top:6px;color:#333}.nav{border-bottom:1px solid var(--line);background:#fff}.nav .container{display:flex;justify-content:center}.nav a{padding:8px 24px;min-height:40px;font-weight:700}.nav a:hover{color:var(--coral)}.carousel{padding:32px 0 27px;overflow:hidden}.carousel-shell{position:relative}.carousel-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth}.carousel-track::-webkit-scrollbar{display:none}.slide{flex:0 0 calc((100% - 20px)/3);scroll-snap-align:start;border:1px solid var(--line);overflow:hidden}.slide img{width:100%;aspect-ratio:1.5;object-fit:cover}.carousel-controls{display:flex;justify-content:center;align-items:center;margin-top:0;gap:0}.carousel-dot{border:0;background:none;min-width:28px;min-height:32px;display:grid;place-items:center}.carousel-dot:before{content:"";width:4px;height:4px;border:1px solid #a0a0a0;background:#fff}.carousel-dot[aria-pressed=true]:before{background:#222;border-color:#222}.carousel-arrow{border:0;background:#fff;color:#555;font-size:20px;width:32px;height:32px}.catalog-section{background:var(--paper);padding:30px 16px 40px}.section-heading{text-align:center;font-size:18px;letter-spacing:2px;line-height:1.5;margin-bottom:18px}.catalog-tools{margin:0 0 16px}.catalog-tools summary{width:max-content;margin:0 auto;color:#555;font-size:12px;cursor:pointer;min-height:30px;padding:4px 10px}.search-fields{display:flex;gap:12px;max-width:650px;margin:12px auto 0;padding:16px;background:#fff;border:1px solid #e5e3d3}.field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.field span{font-size:12px;font-weight:700}.field input,.field select{width:100%;min-height:44px;border:1px solid #b4becb;border-radius:3px;padding:8px;background:#fff;color:#222}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{min-width:0;background:#fff}.card a{display:block;height:100%}.card-image{overflow:hidden;aspect-ratio:1.5;background:#eeeee8}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.card a:hover img{transform:scale(1.025)}.card-body{padding:12px}.card-title{font-size:16px;line-height:1.5;color:#080808;overflow-wrap:anywhere}.card-description{font-size:12px;line-height:1.5;color:var(--muted);margin-top:6px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.empty{text-align:center;padding:30px}.reset{margin:15px auto 0;background:#fff;border:1px solid #bbb;padding:9px 18px;min-height:44px}.column-section{padding:36px 16px 45px}.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.column-item{border-top:3px solid #e7a49b;padding-top:14px}.column-item:nth-child(2){border-color:var(--mint)}.column-item:nth-child(3){border-color:var(--blue)}.column-item h3{font-size:15px;margin-bottom:8px}.column-item p{font-size:13px;color:#555;line-height:1.9}.footer{padding:34px 16px 28px;background:#f5f5f5;text-align:center;border-top:1px solid #e5e5e5}.footer .wordmark{font-size:26px;font-weight:750;letter-spacing:-1px;margin-bottom:5px}.footer p{font-size:11px;color:#555}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 22px;margin:18px 0}.footer-links a{font-size:12px;padding:8px 0}.copyright{font-size:10px;color:#666}.breadcrumb{font-size:12px;color:#627080;padding:18px 0}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.detail-wrap{background:var(--paper);padding:0 20px 45px}.detail-container{max-width:760px;margin:auto}.quiz-intro,.quiz-play,.info{background:#fff;border:1px solid #e8e5d6;padding:30px}.quiz-category{display:inline-block;font-size:12px;color:#566964;border-bottom:2px solid #8ccab4;margin-bottom:12px}.quiz-title{font-size:25px;line-height:1.6;letter-spacing:.02em;margin-bottom:18px;overflow-wrap:anywhere}.quiz-cover{width:100%;aspect-ratio:1.5;object-fit:cover;margin-bottom:20px}.quiz-description{font-size:15px;line-height:1.95;margin-bottom:18px}.quiz-meta{display:flex;justify-content:center;gap:18px;font-size:12px;color:#65738a;margin:18px 0}.primary{display:block;border:1px solid var(--coral);background:var(--coral);color:white;font-weight:700;min-height:50px;padding:12px 24px;border-radius:3px;text-align:center}.quiz-start{width:100%;max-width:420px;margin:0 auto}.note{color:#657080;font-size:11px;text-align:center;line-height:1.8;margin-top:14px}.quiz-play{scroll-margin-top:20px}.quiz-play h2:focus{outline:none}.progress-label{font-size:12px;display:flex;justify-content:space-between;color:#596878}.progress-track{height:5px;background:#eeeee5;margin:10px 0 26px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--mint);transition:width .2s}.question-title{font-size:21px;line-height:1.7;margin:0 0 20px}.question-choices{border:0;padding:0;margin:0;display:grid;gap:12px}.choice{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid #c6cbd1;border-radius:3px;cursor:pointer;min-height:58px;line-height:1.65;background:#fff}.choice:hover{border-color:#9b6760}.choice:has(input:checked){background:#fff4ef;border-color:var(--coral);box-shadow:inset 3px 0 var(--coral)}.choice input{width:18px;height:18px;flex:none;accent-color:var(--coral);margin:0}.quiz-actions{display:flex;gap:12px;margin-top:26px}.quiz-actions button{flex:1;min-height:50px}.secondary{background:#fff;color:#3c4650;border:1px solid #abb2b8;border-radius:3px;padding:11px 18px;font-weight:600}button:disabled{opacity:.45;cursor:default}.result-eyebrow{font-size:12px;letter-spacing:2px;text-align:center;color:#60756b}.result-title{text-align:center;font-size:27px;line-height:1.6;margin:12px 0 20px;overflow-wrap:anywhere}.result-mark{font-size:35px;line-height:1;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#f9ecd2;color:#876d46;margin:0 auto 16px}.result-description{font-size:15px;line-height:2}.traits{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:23px 0}.traits span{padding:5px 12px;border-radius:18px;background:#eef6ee;color:#3d6553;font-size:12px}.review{margin:24px 0;border-block:1px solid #ddd}.review summary{cursor:pointer;padding:15px 0;font-weight:700}.review ol{margin:0;padding:0 0 12px 22px}.review li{margin:14px 0;font-size:13px}.review small{display:block;color:#5d6570;line-height:1.7;margin-top:5px}.related{padding:30px 0 0}.related .cards{gap:12px}.related .card-title{font-size:13px}.related .card-description{display:none}.info h1{font-size:25px;margin-bottom:22px}.info h2{font-size:18px;margin:24px 0 10px}.info p{line-height:1.95;margin-bottom:12px}.info a{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){.header{padding:10px 16px 14px}.brand img{height:26px}.tagline{font-size:10px;margin-top:5px}.nav a{padding:8px 24px;min-height:38px}.carousel{padding:16px 0 24px}.carousel-track{padding-inline:10%;scroll-padding-inline:10%}.slide{flex-basis:100%;scroll-snap-align:center}.carousel-controls{margin-top:0}.carousel-dot{min-height:28px;min-width:24px}.carousel-arrow{height:28px}.catalog-section{padding:16px 8px 24px}.section-heading{margin-bottom:16px}.cards{grid-template-columns:1fr;gap:8px}.card a{display:flex;align-items:stretch}.card-image{width:40%;flex:none;aspect-ratio:1.5;align-self:flex-start}.card-image img{aspect-ratio:1.5;height:auto}.card-body{padding:8px;min-width:0;flex:1}.card-title{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card-description{margin-top:5px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.5}.catalog-tools{margin:-7px 0 12px}.catalog-tools summary{font-size:11px;min-height:28px}.search-fields{padding:12px;gap:10px;flex-direction:column}.columns{grid-template-columns:1fr;gap:25px}.column-section{padding:28px 20px 32px}.footer{padding:28px 16px}.detail-wrap{padding:0 12px 30px}.breadcrumb{padding:14px 0;font-size:11px}.quiz-intro,.quiz-play,.info{padding:20px 16px}.quiz-title{font-size:20px;line-height:1.65;margin-bottom:14px}.quiz-description{font-size:14px}.quiz-cover{margin-bottom:16px}.quiz-meta{font-size:11px;gap:14px}.question-title{font-size:19px;margin-bottom:18px}.choice{font-size:14px;padding:13px 12px;min-height:59px}.quiz-actions{gap:10px;margin-top:22px}.quiz-actions button{padding:12px 10px;font-size:14px}.progress-track{margin-bottom:22px}.result-title{font-size:23px}.result-description{font-size:14px}.related .cards{gap:8px}.related .card-title{font-size:13px}.info h1{font-size:22px}}
@media(min-width:768px) and (max-width:1080px){.container{margin-inline:20px}.carousel .container{margin-inline:0}.catalog-section .container,.column-section .container{margin-inline:0}}
@media(prefers-reduced-motion:reduce){html,.carousel-track{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Trailing flex space lets the last banner reach the first slot without changing slide widths. */
@media(min-width:768px){.carousel-track:after{content:"";flex:0 0 calc(66.6667% - 3.333px)}}

/* Match the compact reference header without inline-image baseline space. */
.brand{display:block;width:max-content;margin:0 auto}.tagline{line-height:1.5}
