:root{--ink:#17151d;--muted:#6e6875;--paper:#fffdfb;--soft:#f5f1ee;--accent:#cb2b62;--accent-dark:#9f1749;--line:#e4dcda;--shadow:0 18px 50px rgba(49,25,34,.09)}*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}body{margin:0}a{color:inherit}img{max-width:100%;height:auto}.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:rgba(255,253,251,.96);position:sticky;top:0;z-index:10}.brand{text-decoration:none;font-weight:800;font-size:1.2rem;letter-spacing:-.03em}.brand span{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:8px;border-radius:50%;background:var(--accent);color:#fff}.site-header nav{display:flex;gap:22px}.site-header nav a{text-decoration:none;font-weight:650;font-size:.92rem}main{min-height:70vh}.hero{max-width:1160px;margin:auto;padding:96px 20px 80px;background:radial-gradient(circle at 85% 15%,#f5ceda 0,transparent 33%)}.hero h1,.page-head h1,.detail-hero h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2.7rem,8vw,6.5rem);line-height:1.03;letter-spacing:-.055em;margin:.16em 0}.hero>p:not(.eyebrow){max-width:590px;color:var(--muted);font-size:1.05rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:800;font-size:.72rem}.search-box{max-width:680px;margin-top:38px}.search-box label{font-weight:700}.search-box div{display:flex;margin-top:8px;box-shadow:var(--shadow)}input,select,button,.button{font:inherit;border-radius:12px;border:1px solid var(--line);min-height:48px;padding:11px 14px}input,select{width:100%;background:#fff}button,.button{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover,.button:hover{background:var(--accent-dark)}button:disabled{opacity:.55;cursor:not-allowed}.search-box input{border-radius:12px 0 0 12px}.search-box button{border-radius:0 12px 12px 0;min-width:110px}.section{max-width:1160px;margin:auto;padding:64px 20px}.soft{max-width:none;padding-left:max(20px,calc((100vw - 1160px)/2));padding-right:max(20px,calc((100vw - 1160px)/2));background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-head h2,.section h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(1.7rem,4vw,2.6rem);margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card-grid.casts{grid-template-columns:repeat(4,1fr)}.card{display:block;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none;box-shadow:0 2px 0 rgba(0,0,0,.02);transition:.18s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card h2,.card h3{margin:.25rem 0}.card p{color:var(--muted);margin:0}.card-kicker{font-size:.78rem;color:var(--accent);font-weight:750}.avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f7d7e1,#e8bdca);color:var(--accent-dark);font-family:Georgia,serif;font-size:1.4rem}.avatar.large{width:240px;height:300px;border-radius:24px;font-size:5rem}.page-head,.detail-hero{max-width:1160px;margin:auto;padding:72px 20px 44px}.page-head h1,.detail-hero h1{font-size:clamp(2.5rem,7vw,5.5rem)}.page-head.centered{text-align:center;max-width:780px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:28px}.filters label,.auth-card label{display:grid;gap:6px;font-weight:700}.pager{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:32px}.profile{max-width:1000px;margin:auto;padding:64px 20px;display:grid;grid-template-columns:minmax(260px,440px) 1fr;align-items:center;gap:64px}.profile-photo img{border-radius:28px;aspect-ratio:4/5;object-fit:cover}.profile h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(3rem,7vw,6rem);line-height:1;margin:.2em 0}.profile-meta{font-size:1.3rem}.shift-list{display:grid;gap:10px;margin-top:20px}.shift-list article{display:grid;grid-template-columns:150px 1fr auto;gap:18px;padding:18px;border-bottom:1px solid var(--line)}.auth-shell{min-height:72vh;display:grid;place-items:center;padding:54px 20px;background:var(--soft)}.auth-card{width:min(100%,480px);padding:34px;background:#fff;border-radius:24px;box-shadow:var(--shadow)}.auth-card h1{font-family:Georgia,"Yu Mincho",serif;font-size:2.2rem}.auth-card form{display:grid;gap:16px}.form-message{border-left:4px solid var(--accent);padding:10px;background:#fff3f6}.hint,.empty{color:var(--muted);font-size:.9rem}.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.text-button{min-height:auto;padding:4px 0;background:transparent;color:var(--accent);border:0}.plan-badge,.recommend{display:inline-block;padding:5px 11px;border-radius:99px;background:#f7d7e1;color:var(--accent-dark);font-size:.8rem;font-weight:800}.pricing-grid{max-width:900px;margin:0 auto 90px;padding:0 20px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.price-card{padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff}.price-card.featured{border:2px solid var(--accent);box-shadow:var(--shadow)}.price{font-size:3rem;font-weight:850;margin:.2em 0}.price small{font-size:1rem;color:var(--muted)}.price-card li{margin:10px 0}footer{padding:40px max(20px,calc((100vw - 1160px)/2));border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}footer div{display:flex;flex-wrap:wrap;gap:18px}@media(max-width:760px){.site-header{height:auto;min-height:64px;padding:12px 16px;align-items:flex-start}.site-header nav{gap:12px;font-size:.82rem;overflow:auto}.site-header nav a:nth-child(1),.site-header nav a:nth-child(2){display:none}.hero{padding-top:64px}.card-grid,.card-grid.casts{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr}.profile{grid-template-columns:1fr;gap:28px;padding-top:28px}.profile-photo{max-width:360px}.shift-list article{grid-template-columns:1fr;gap:2px}.pricing-grid{grid-template-columns:1fr}.section-head{align-items:flex-start}.card{padding:18px}footer{display:grid;gap:20px}}@media(max-width:420px){.card-grid,.card-grid.casts{grid-template-columns:1fr}.hero h1{font-size:3.25rem}.search-box div{display:grid}.search-box input,.search-box button{border-radius:12px}.section{padding-top:44px;padding-bottom:44px}}
.card h2 a,.card h3 a{text-decoration:none}.cast-card-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;background:var(--soft);margin-bottom:12px}.official-link{display:inline-block;margin-top:8px;color:var(--accent);font-size:.84rem;font-weight:750;text-underline-offset:3px}.profile-photo img{width:100%}.profile-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.profile-actions form{margin:0}.official-button{background:#1f2937;border-color:#1f2937}.official-button:hover{background:#111827}@media(max-width:760px){.site-header nav a:nth-child(6){display:none}}
.profile-copy{min-width:0}.profile .profile-name{max-width:100%;font-size:clamp(2.15rem,6vw,5.25rem);line-height:1.08;letter-spacing:-.045em;overflow-wrap:anywhere;word-break:auto;text-wrap:balance;white-space:normal}@media(max-width:760px){.profile .profile-name{font-size:clamp(2rem,11vw,3.4rem);line-height:1.12;letter-spacing:-.035em}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.finder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:22px;margin-bottom:32px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.finder-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px}.finder-title strong{font:500 1.5rem Georgia,"Yu Mincho",serif}.finder-title a{color:var(--accent);font-weight:750}.finder>label{display:grid;gap:5px;font-size:.84rem;font-weight:750}.finder>button{grid-column:1/-1}.choice-filter{min-width:0;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.choice-filter summary{min-height:50px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none;font-weight:750}.choice-filter summary::-webkit-details-marker{display:none}.choice-filter summary:after{content:"＋";color:var(--accent);font-size:1.15rem}.choice-filter[open] summary:after{content:"－"}.choice-filter summary small{margin-left:auto;color:var(--muted);font-size:.72rem;font-weight:650}.choice-filter fieldset{padding:0 10px 10px;border:0;margin:0}.choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:230px;overflow:auto;padding:3px}.choice-option{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.82rem;font-weight:650;cursor:pointer}.choice-option:has(input:checked){border-color:var(--accent);background:#fff1f5;color:var(--accent-dark)}.choice-option input[type=checkbox]{appearance:auto;width:20px;height:20px;min-height:20px;flex:0 0 20px;padding:0;margin:0;accent-color:var(--accent)}.today-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.today-summary div{padding:16px;border-radius:15px;background:var(--soft)}.today-summary span,.today-summary small{display:block;color:var(--muted);font-size:.78rem}.today-summary strong{font-size:1.8rem;color:var(--accent)}.candidate-list{display:grid;gap:14px}.candidate{padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff}.candidate-main{display:grid;grid-template-columns:110px 1fr;gap:18px;text-decoration:none}.candidate-photo{width:110px;aspect-ratio:4/5;object-fit:cover;border-radius:13px}.candidate h2{overflow-wrap:anywhere}.candidate-side{display:flex;align-items:center;justify-content:flex-end;gap:16px}.score{text-align:center}.score strong,.score span{display:block}.score strong{font-size:1.7rem;color:var(--accent)}@media(max-width:760px){.finder{grid-template-columns:1fr 1fr;padding:16px}.finder-title{align-items:flex-start}.choice-options{grid-template-columns:1fr}.today-summary{grid-template-columns:1fr 1fr}.candidate-main{grid-template-columns:88px 1fr}.candidate-photo{width:88px}}@media(max-width:480px){.finder{grid-template-columns:1fr}.finder-title{display:grid}.today-summary{grid-template-columns:1fr 1fr}.candidate-main{grid-template-columns:76px 1fr;gap:12px}.candidate-photo{width:76px}.candidate-side{justify-content:space-between}}
