:root{--brand:#ee6fa0;--brand-deep:#c94b7d;--brand-bright:#f49ec0;--pink:#ee6fa0;--pink-deep:#c94b7d;--coral:#f49ec0;--grad:linear-gradient(115deg, #ee6fa0 0%, #f291b7 55%, #fabcd4 100%);--blue:#2b7de0;--blue-dark:#1b63c4;--green:#20b26b;--ink:#33262d;--muted:#93808d;--bg:#fff9fb;--card:#fff;--line:#f6d9e7;--line-strong:#efbdd3;--tint:#fdf0f5;--tint-2:#fadce9;--radius:24px;--radius-sm:16px;--shadow:0 14px 34px #ee6fa01c, 0 2px 8px #33262d0d;--shadow-sm:0 6px 18px #ee6fa017;--accent:#ee6fa0;--accent2:#f49ec0;--logo-red:#b73515;--font-logo-serif:"Playfair Display", "Didot", "Bodoni MT", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-logo-script:"Caveat", "Snell Roundhand", "Segoe Script", "Bradley Hand", cursive;--logo-ink:#26221f;--tagline:#77697a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);line-break:strict;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-family:Hiragino Maru Gothic ProN,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;line-height:1.7}a{color:var(--blue-dark)}img{max-width:100%}::selection{background:var(--tint-2)}.site-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:10;background:#ffffffeb;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0;box-shadow:0 2px 14px #ee6fa014}.brand-link{white-space:nowrap;-webkit-tap-highlight-color:transparent;text-decoration:none;display:inline-flex}.logo{font-size:var(--logo-fs,30px);flex-direction:column;align-items:flex-start;line-height:1;display:inline-flex}.logo-sm{--logo-fs:23px}.logo-md{--logo-fs:30px}.logo-lg{--logo-fs:47px;align-items:center}.logo-line{align-items:baseline;padding-top:.36em;display:inline-flex}.logo-okini{font-family:var(--font-logo-serif);color:var(--logo-red);letter-spacing:.005em;font-weight:800;line-height:1;position:relative}.logo-kana{letter-spacing:.1em;color:var(--ink);white-space:nowrap;font-family:Hiragino Maru Gothic ProN,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;font-size:.205em;font-weight:800;position:absolute;bottom:104%;left:30%}.logo-talk{font-family:var(--font-logo-script);color:var(--logo-ink);margin-left:.1em;font-size:.66em;font-weight:700;transform:translateY(.14em)rotate(-2deg)}.logo-tagline{letter-spacing:.08em;color:var(--tagline);white-space:nowrap;margin-top:.55em;font-size:.32em;font-weight:500}.auth-logo{text-align:center;margin-bottom:10px}.footer-logo{margin-bottom:8px}.header-nav{align-items:center;gap:16px;font-size:14px;font-weight:600;display:flex}.header-nav>a{color:var(--ink);align-items:center;min-height:44px;padding:4px 2px;text-decoration:none;display:inline-flex}.header-nav>a:hover{color:var(--pink-deep)}.header-user{color:var(--muted);font-size:12px;font-weight:500}.inline-form{display:inline}.main{max-width:1080px;margin:0 auto;padding:28px 16px 56px}.site-footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);padding:24px 16px 44px;font-size:13px}.footer-note{font-size:12px}.btn{background:var(--grad);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:0 8px 20px #ee6fa04d}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px #ee6fa05c}.btn:active{transform:translateY(0)}.btn-lg{min-height:54px;padding:14px 34px;font-size:16px}.btn-sm{min-height:42px;padding:8px 16px;font-size:13px;box-shadow:0 5px 14px #ee6fa03d}.btn-ghost{color:var(--pink-deep);border-color:var(--line-strong);box-shadow:none;background:#fff}.btn-ghost:hover{background:var(--tint);border-color:var(--pink);box-shadow:none}.btn-blue{color:var(--blue);border:1.5px solid var(--blue);box-shadow:none;background:#fff}.btn-blue:hover{box-shadow:none;background:#eef5ff}.btn-danger{color:#c2274b;box-shadow:none;background:#fff;border-color:#e5a3b4}.btn-danger:hover{box-shadow:none;background:#fff2f5}.eyebrow{color:var(--blue);letter-spacing:.22em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.page-title{letter-spacing:.01em;text-wrap:balance;line-break:strict;margin:4px 0 18px;font-size:26px;font-weight:800}.page-title-lg{letter-spacing:.01em;text-wrap:balance;line-break:strict;margin:2px 0 10px;font-size:clamp(30px,6vw,42px);font-weight:900;line-height:1.35}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.section-title{text-wrap:balance;line-break:strict;margin:26px 0 10px;font-size:18px;font-weight:800}.count-badge{background:var(--tint);border:1px solid var(--line-strong);color:var(--pink-deep);vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-block}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.error{color:#b03055;background:#fdeef0;border:1px solid #f2b3c0;border-radius:14px;margin-bottom:14px;padding:12px 16px;font-size:14px}.notice{color:#146c39;background:#eafaf0;border:1px solid #a8e0bd;border-radius:14px;margin-bottom:14px;padding:12px 16px;font-size:14px}.tier-banner{background:var(--tint);border:1px dashed var(--pink);border-radius:var(--radius-sm);margin-bottom:18px;padding:14px 18px;font-size:14px}.badge{background:var(--grad);color:#fff;vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.status-pill{background:var(--tint);border:1px solid var(--line-strong);color:var(--pink-deep);border-radius:999px;margin-left:8px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.gate-wrap{justify-content:center;padding-top:28px;display:flex}.gate-card{border-radius:28px;width:100%;max-width:520px;padding:38px 34px}.gate-eyebrow{text-align:center}.gate-logo{text-align:center;margin:4px 0 2px}.auth-title{text-align:center;text-wrap:balance;margin-bottom:10px;font-size:24px;font-weight:900}.auth-eyebrow{text-align:center}.gate-headline{text-align:center;text-wrap:balance;line-break:strict;margin:14px 0 12px;font-size:clamp(26px,6vw,32px);font-weight:900;line-height:1.5}.gate-text{color:#5f4a56;font-size:14px}.gate-points{gap:9px;margin:18px 0 4px;padding:0;list-style:none;display:grid}.gate-points li{align-items:flex-start;gap:9px;font-size:13.5px;font-weight:600;display:flex}.gate-points li:before{content:"✓";background:var(--green);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:12px;font-weight:800;display:inline-flex}.gate-warning{text-align:center;background:#fff3e2;border:1px solid #ffd9a8;border-radius:14px;margin:18px 0;padding:12px 14px;font-weight:700}.gate-login{text-align:center;margin-top:18px;font-size:13px}.fine-print{color:var(--muted);font-size:12px}.check-row,.radio-row{cursor:pointer;align-items:center;gap:9px;min-height:44px;margin:6px 0;padding:6px 0;font-size:14px;display:flex}.check-row input,.radio-row input{width:18px;height:18px;accent-color:var(--pink-deep);flex:none}.field{margin:14px 0;font-size:14px;font-weight:700;display:block}.field input,.field select,.field textarea{background:#fff;border:1.5px solid #f2cfdd;border-radius:14px;width:100%;margin-top:6px;padding:12px 14px;font-family:inherit;font-size:16px;display:block}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--pink);outline:3px solid #ee6fa033}.field input[type=file]{background:#fff;padding:9px 12px;font-size:14px}.type-fieldset{border:1.5px solid var(--line);border-radius:var(--radius-sm);margin:10px 0 6px;padding:10px 12px}.type-fieldset legend{padding:0 6px;font-size:13px;font-weight:700}.type-fieldset .radio-row{border:1.5px solid #0000;border-radius:12px;margin:4px 0;padding:10px 12px}.type-fieldset .radio-row:has(input:checked){background:var(--tint);border-color:var(--line-strong);font-weight:700}.inline-fields{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.inline-fields input[type=text],.inline-fields input[type=number]{border:1.5px solid #f2cfdd;border-radius:12px;padding:10px 12px;font-family:inherit;font-size:16px}.search-row{gap:10px;margin:16px 0 12px;display:flex}.search-pill{border:1.5px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;flex:1;padding:14px 22px;font-family:inherit;font-size:16px}.search-pill:focus{border-color:var(--pink);outline:3px solid #ee6fa033}.chip-row{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.chip{border:1.5px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:999px;align-items:center;padding:8px 18px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--line-strong)}.chip-active{border-color:var(--pink);background:var(--tint);color:var(--pink-deep)}.cast-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;display:grid}.cast-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.cast-card-media{aspect-ratio:4/3;background:linear-gradient(135deg,#fde9f2,#fce1ec);position:relative}.cast-card-media img{object-fit:cover;width:100%;height:100%;display:block}.card-photo-ph{color:#cf3a70;background:linear-gradient(135deg,#fde9f2,#fce1ec);flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;height:100%;font-size:46px;font-weight:800;display:flex}.card-photo-ph small{color:#ba7d95;font-size:11px;font-weight:600}.cast-card-body{flex-direction:column;flex:1;gap:7px;padding:18px 20px 20px;display:flex}.cast-card-faded{opacity:.62}.cast-name{overflow-wrap:break-word;line-break:strict;margin:2px 0 0;font-size:20px;font-weight:800}.cast-name a{color:var(--ink);text-decoration:none}.cast-name a:hover{color:var(--pink-deep)}.cast-meta{color:var(--muted);margin:0;font-size:13px}.cast-intro{color:#5f4a56;margin:0;font-size:14px;line-height:1.6}.cast-price{color:var(--ink);margin:2px 0 0;font-size:21px;font-weight:900}.cast-price small{color:var(--muted);font-size:12px;font-weight:700;display:block}.cast-card-foot{margin-top:auto;padding-top:8px}.photo-row{flex-wrap:wrap;gap:8px;display:flex}.photo-thumb-row{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.photo-ph{border-radius:var(--radius-sm);color:#cf3a70;background:linear-gradient(135deg,#fde9f2,#fce1ec);flex-direction:column;justify-content:center;align-items:center;font-weight:800;display:flex}.photo-ph small{color:#ba7d95;font-size:10px;font-weight:600}.photo-ph-sm{width:96px;height:96px;font-size:30px}.photo-ph-lg{width:132px;height:132px;font-size:42px}.cast-detail{max-width:680px}.cast-detail.flush{padding:0;overflow:hidden}.detail-body{padding:8px 26px 28px}.detail-hero{aspect-ratio:16/9;background:linear-gradient(135deg,#fde9f2,#fce1ec);position:relative}.detail-hero img{object-fit:cover;width:100%;height:100%;display:block}.hero-ph{color:#fff;background:linear-gradient(135deg,#ee6fa0,#fabcd4);flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;height:100%;font-size:64px;font-weight:900;display:flex}.hero-ph small{color:#ffffffe6;font-size:12px;font-weight:700}.detail-hero-overlay{color:#fff;background:linear-gradient(#0000,#180c14c7);justify-content:space-between;align-items:flex-end;gap:14px;padding:52px 22px 16px;display:flex;position:absolute;inset:auto 0 0}.detail-hero-name{overflow-wrap:break-word;line-break:strict;margin:0;font-size:27px;font-weight:900;line-height:1.3}.detail-hero-meta{color:#ffffffe0;margin:3px 0 0;font-size:13px}.detail-hero-price{text-align:right;color:#ffdeeb;white-space:nowrap;font-size:20px;font-weight:900}.detail-hero-price small{color:#ffffffe0;font-size:11px;font-weight:700;display:block}.detail-intro{margin:14px 0 4px;font-size:15px}.course-list,.post-list{margin:0;padding:0;list-style:none}.course-item{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:12px;padding:16px 18px}.course-head{justify-content:space-between;align-items:baseline;gap:12px;font-weight:800;display:flex}.course-head strong{white-space:nowrap;font-size:20px;font-weight:900}.course-breakdown{color:var(--muted);margin-top:4px;font-size:13px}.fee-note{color:var(--muted);font-size:13px}.post-item{border-top:1px solid var(--line);padding:12px 0}.post-item p{margin:0 0 4px;font-size:14px}.post-item small{color:var(--muted)}.steps-box{background:var(--tint);border-radius:var(--radius-sm);margin:22px 0 16px;padding:16px 18px}.steps-title{margin:0 0 10px;font-size:14px;font-weight:800}.steps{flex-wrap:wrap;align-items:center;gap:9px;margin:0;padding:0;list-style:none;display:flex}.steps li{align-items:center;gap:7px;font-size:14px;font-weight:700;display:flex}.step-num{background:var(--grad);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:800;display:inline-flex}.step-arrow{color:var(--pink);font-weight:900}.cta-stack{gap:10px;margin:18px 0 6px;display:grid}.cta-stack .btn{width:100%}.subnav{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.subnav a{background:var(--card);border:1.5px solid var(--line);min-height:44px;color:var(--ink);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;padding:8px 16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.subnav a:hover{border-color:var(--pink);color:var(--pink-deep)}.status-box{background:var(--tint);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:18px;padding:14px 18px}.step-list{margin:12px 0;padding:0;list-style:none}.step-item{border-top:1px solid var(--line);align-items:center;gap:10px;padding:9px 0;font-size:15px;display:flex}.step-done{color:var(--green);font-weight:800}.step-todo{color:var(--muted);font-weight:800}.fee-list{margin:0 0 12px;padding:0;list-style:none}.fee-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:9px 0;display:flex}.doc-list{margin:0 0 12px;padding-left:20px;font-size:14px}.photo-img-lg{object-fit:cover;border-radius:var(--radius-sm);width:132px;height:132px}.photo-img-sm{object-fit:cover;border-radius:var(--radius-sm);width:96px;height:96px}.cast-card-media .photo-img-sm,.detail-hero .photo-img-sm{border-radius:0;width:100%;height:100%}.photo-grid-manage{flex-wrap:wrap;gap:16px;margin-bottom:8px;display:flex}.photo-manage-item{flex-direction:column;gap:8px;display:flex}.photo-manage-actions{flex-wrap:wrap;gap:6px;display:flex}.metrics-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.metric{background:var(--card);border:1px solid var(--line);color:var(--muted);text-align:center;border-radius:18px;padding:12px 16px;font-size:12px}.metric span{color:var(--ink);font-size:22px;font-weight:900;display:block}.queue-list{margin:0;padding:0;list-style:none}.queue-item{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 2px;display:flex}.queue-item-col{flex-direction:column;align-items:stretch}.review-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.cast-card-body .review-actions{margin-top:0}.log-list{margin:0;padding:0;font-size:13px;list-style:none}.log-list li{border-top:1px solid var(--line);padding:7px 0}.msg-list{flex-direction:column;gap:10px;margin:18px 0;display:flex}.msg-row{display:flex}.msg-row.msg-mine{justify-content:flex-end}.msg-bubble{background:#f4f1f6;border-radius:18px 18px 18px 6px;max-width:80%;padding:11px 15px}.msg-mine .msg-bubble{background:var(--grad);color:#fff;border-bottom-right-radius:6px;border-bottom-left-radius:18px;box-shadow:0 6px 16px #ee6fa03d}.msg-bubble p{white-space:pre-wrap;word-break:break-word;margin:0}.msg-meta{color:var(--muted);margin-top:4px;font-size:11px}.msg-mine .msg-meta{color:#ffffffe0;text-align:right}.msg-mine .msg-meta a{color:#fff}.msg-form{border-top:1px solid var(--line);padding-top:14px}.notif-item{border-radius:var(--radius-sm);padding-left:12px;padding-right:12px}.notif-item p{word-break:break-word}.notif-unread{background:var(--tint)}@media (max-width:720px){.logo-md{--logo-fs:25px}.logo-lg{--logo-fs:38px}.logo-tagline{white-space:normal;text-align:center;line-height:1.5}.site-header{flex-wrap:wrap;padding:8px 14px 10px}.header-nav{flex-wrap:wrap;gap:12px;font-size:13px}.header-user{display:none}.main{padding:20px 12px 44px}.card{padding:20px}.cast-detail.flush{padding:0}.detail-body{padding:6px 18px 24px}.detail-hero-name{font-size:22px}.detail-hero-price{font-size:16px}.gate-card{padding:30px 20px}.search-row{flex-direction:column}.search-row .btn{width:100%}.steps{flex-direction:column;align-items:flex-start}.step-arrow{margin-left:8px;transform:rotate(90deg)}}
