:root{--bg-base:#fff;--bg-sub:#f7f5f2;--bg-muted:#f0eeeb;--border:#e8e3dc;--border-light:#f0ece6;--border-dark:#d0c8be;--text-primary:#1a1714;--text-secondary:#5a534d;--text-muted:#706860;--rank-a:#4a3880;--rank-a-mid:#9488c4;--rank-a-light:#eae8f5;--rank-a-dark:#2a1860;--rank-b:#8c7248;--rank-b-mid:#c4aa82;--rank-b-light:#f5ede0;--rank-b-dark:#5a4828;--rank-c:#4a7c6f;--rank-c-mid:#8dbfb5;--rank-c-light:#e5f2ef;--rank-c-dark:#2a5248;--status-green:#4ade80;--status-green-bg:#4ade8014;--status-green-border:#4ade804d;--status-amber:#f59e0b;--status-amber-bg:#f59e0b14;--status-amber-border:#f59e0b4d;--status-red:#ef4444;--status-red-bg:#ef444414;--status-red-border:#ef44444d;--shadow-sm:0 1px 4px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:100px;--transition:all .22s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--bg-muted);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-weight:400;line-height:1.75}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.t-hero{letter-spacing:-.01em;color:var(--text-primary);font-size:clamp(36px,5vw,56px);font-weight:900;line-height:1.2}.t-h2{letter-spacing:.01em;color:var(--text-primary);font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.35}.t-h3{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.4}.t-h4{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.5}.t-body{color:var(--text-primary);font-size:15px;font-weight:400;line-height:1.85}.t-body-sub{color:var(--text-secondary);font-size:14px;font-weight:400;line-height:1.8}.t-small{color:var(--text-muted);font-size:14px;font-weight:400;line-height:1.7}.t-label{letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700}.t-label--a{color:var(--rank-a)}.t-label--b{color:var(--rank-b)}.t-label--c{color:var(--rank-c)}.t-label--brand{color:var(--brand)}.t-price{letter-spacing:-.02em;font-size:26px;font-weight:900;line-height:1}.t-price small{color:var(--text-muted);letter-spacing:.05em;margin-left:3px;font-size:14px;font-weight:400}.t-price--a{color:var(--rank-a)}.t-price--b{color:var(--rank-b)}.t-price--c{color:var(--rank-c)}.btn{border-radius:var(--radius-full);letter-spacing:.08em;cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:10px;font-family:Noto Sans JP,sans-serif;font-weight:900;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn--lg{min-height:52px;padding:20px 56px;font-size:17px}.btn--md{min-height:48px;padding:15px 40px;font-size:15px}.btn--sm{min-height:44px;padding:11px 28px;font-size:13px}.btn:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.btn--primary{background:linear-gradient(135deg, #f97fa2 0%, var(--brand) 55%, #c42160 100%);color:#fff;box-shadow:0 5px #9a1748,0 12px 28px #e8547a59}.btn--pulse-wrap{display:inline-block;position:relative}.btn--pulse-wrap:before,.btn--pulse-wrap:after{content:"";border-radius:var(--radius-full);pointer-events:none;border:2px solid #e8547a66;animation:2.2s ease-out infinite pulse-ring;position:absolute;inset:-5px}.btn--pulse-wrap:after{border-color:#e8547a33;animation-delay:.5s;inset:-10px}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}.btn--primary:before{content:"";background:linear-gradient(90deg,#0000,#ffffff52,#0000);width:40%;height:200%;animation:3.5s .5s infinite btn-shimmer;position:absolute;top:-50%;left:-60%;transform:skew(-20deg)}@keyframes btn-shimmer{0%{left:-60%}to{left:160%}}.btn--primary:hover{transform:translateY(-3px);box-shadow:0 7px #9a1748,0 18px 40px #e8547a80}.btn--primary:active{transform:translateY(4px);box-shadow:0 1px #9a1748,0 3px 10px #e8547a4d}.btn--secondary{color:#c8930a;background:#d4a8431a;border:2px solid #d4a843;box-shadow:0 4px 16px #d4a8431f}.btn--secondary:hover{color:#a07000;background:#d4a8432e;border-color:#f0cc6e;transform:translateY(-2px)}.btn--secondary:active{transform:translateY(1px)}.btn__arrow{color:#1a0a35;background:#d4a843;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:900;transition:transform .2s;display:flex}.btn--secondary:hover .btn__arrow{transform:translate(4px)}.btn--call-a{background:linear-gradient(135deg, #f97fa2 0%, var(--brand) 55%, #c42160 100%);color:#fff;box-shadow:0 5px #9a1748,0 12px 28px #e8547a59}.btn--call-a:hover{transform:translateY(-2px);box-shadow:0 7px #9a1748,0 10px 28px #e8547a80}.btn--call-a:active{transform:translateY(3px);box-shadow:0 1px #9a1748}.btn--call-b{background:linear-gradient(135deg, #f97fa2 0%, var(--brand) 55%, #c42160 100%);color:#fff;box-shadow:0 5px #9a1748,0 12px 28px #e8547a59}.btn--call-b:hover{transform:translateY(-2px);box-shadow:0 7px #9a1748,0 10px 28px #e8547a80}.btn--call-b:active{transform:translateY(3px);box-shadow:0 1px #9a1748}.btn--call-c{background:linear-gradient(135deg, #f97fa2 0%, var(--brand) 55%, #c42160 100%);color:#fff;box-shadow:0 5px #9a1748,0 12px 28px #e8547a59}.btn--call-c:hover{transform:translateY(-2px);box-shadow:0 7px #9a1748,0 10px 28px #e8547a80}.btn--call-c:active{transform:translateY(3px);box-shadow:0 1px #9a1748}.btn--disabled,.btn:disabled{background:var(--bg-sub);color:var(--text-muted);border:1px solid var(--border);box-shadow:none;cursor:not-allowed;pointer-events:none}.btn--text{color:var(--text-secondary);letter-spacing:.05em;background:0 0;border:none;border-radius:0;align-items:center;gap:10px;padding:0;font-size:14px;font-weight:500;display:inline-flex;overflow:visible}.btn--text .btn__line{background:currentColor;flex-shrink:0;width:28px;height:1px;transition:width .2s}.btn--text:hover{color:var(--text-primary)}.btn--text:hover .btn__line{width:44px}.btn--filter{background:var(--bg-base);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);letter-spacing:.04em;min-height:44px;transition:var(--transition);padding:8px 18px;font-size:13px;font-weight:500}.badge{letter-spacing:.04em;border-radius:var(--radius-full);align-items:center;gap:6px;padding:5px 13px;font-size:13px;font-weight:700;display:inline-flex}.badge--available{color:#14532d;background:#d4f4e0;border:1px solid #86efac;font-weight:700}.badge--wait{background:var(--status-amber-bg);border:1px solid var(--status-amber-border);color:#92400e}.badge--busy{color:#666;background:#f0f0f0;border:1px solid #d0d0d0}.badge--rank-a{background:var(--rank-a-light);color:var(--rank-a);border:1px solid #4a388029}.badge--rank-b{background:var(--rank-b-light);color:var(--rank-b);border:1px solid #8c724829}.badge--rank-c{background:var(--rank-c-light);color:var(--rank-c);border:1px solid #4a7c6f29}.badge--label-a{background:var(--rank-a);color:#fff;border:none}.badge--label-b{background:var(--rank-b);color:#fff;border:none}.badge--label-c{background:var(--rank-c);color:#fff;border:none}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot--green{background:var(--status-green);box-shadow:0 0 6px var(--status-green);animation:1.5s infinite dot-blink}.status-dot--amber{background:var(--status-amber)}.status-dot--red{background:var(--status-red)}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.3}}.tag{border-radius:var(--radius-full);letter-spacing:.04em;padding:4px 14px;font-size:13px;font-weight:500;display:inline-block}.tag--a{background:var(--rank-a-light);color:var(--rank-a)}.tag--b{background:var(--rank-b-light);color:var(--rank-b)}.tag--c{background:var(--rank-c-light);color:var(--rank-c)}.tag--neutral{background:var(--bg-sub);color:var(--text-secondary);border:1px solid var(--border)}.card{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.card--rank-a{border-top:3px solid var(--rank-a)}.card--rank-b{border-top:3px solid var(--rank-b)}.card--rank-c{border-top:3px solid var(--rank-c)}.card--rank-a:hover{border-color:#4a38804d}.card--rank-b:hover{border-color:#8c72484d}.card--rank-c:hover{border-color:#4a7c6f4d}.reader-card{padding:24px}.reader-card__top{align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.reader-card__avatar{border-radius:var(--radius-md);background:var(--bg-sub);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;width:68px;height:68px;font-size:30px;display:flex;overflow:hidden}.reader-card--rank-a .reader-card__avatar{background:var(--rank-a-light)}.reader-card--rank-b .reader-card__avatar{background:var(--rank-b-light)}.reader-card--rank-c .reader-card__avatar{background:var(--rank-c-light)}.reader-card__info{flex:1;min-width:0}.reader-card__name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:18px;font-weight:700;overflow:hidden}.reader-card__title{color:var(--text-muted);letter-spacing:.06em;margin-bottom:8px;font-size:11px}.reader-card__tags{flex-wrap:wrap;gap:4px;display:flex}.reader-card__voice{color:var(--text-secondary);border-left:2px solid var(--border-dark);text-align:left;margin:18px 0 16px;padding-left:12px;font-size:13px;font-style:italic;line-height:1.85}.reader-card__stars{align-items:center;gap:6px;margin-bottom:14px;font-size:13px;display:flex}.reader-card__stars-icon{color:#f59e0b;letter-spacing:.04em}.reader-card__stars-count{color:var(--text-muted);font-size:12px}.reader-card__footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:16px;display:flex}.reader-card__status-group{flex-direction:column;gap:6px;display:flex}.info-card{padding:24px}.info-card__icon{margin-bottom:14px;font-size:28px}.info-card__title{color:var(--text-primary);margin-bottom:8px;font-size:15px;font-weight:700}.info-card__body{color:var(--text-secondary);font-size:13px;line-height:1.85}.review-card{padding:28px;position:relative}.review-card:before{content:"“";color:var(--border-dark);font-family:serif;font-size:72px;line-height:1;position:absolute;top:14px;left:20px}.review-card__text{color:var(--text-secondary);z-index:1;margin-bottom:20px;padding-top:12px;font-size:13px;line-height:2;position:relative}.review-card__author{border-top:1px solid var(--border-light);align-items:center;gap:12px;padding-top:16px;display:flex}.review-card__icon{background:var(--bg-sub);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.review-card__name{color:var(--text-primary);font-size:13px;font-weight:700}.review-card__meta{color:var(--text-muted);margin-top:1px;font-size:11px}.form-group{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.form-label{color:var(--text-secondary);letter-spacing:.08em;font-size:14px;font-weight:700}.form-label__required{color:var(--status-red);margin-left:4px;font-size:12px}.form-input,.form-select,.form-textarea{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);appearance:none;outline:none;padding:13px 16px;font-family:Noto Sans JP,sans-serif;font-size:14px;font-weight:400;transition:border-color .2s,box-shadow .2s}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted);font-size:13px}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235a534d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.form-textarea{resize:vertical;min-height:110px;line-height:1.8}.form-input.is-error,.form-select.is-error,.form-textarea.is-error{border-color:var(--status-red);box-shadow:0 0 0 3px var(--status-red-bg)}.form-hint{color:var(--text-muted);font-size:13px}.form-error{color:var(--status-red);font-size:13px;font-weight:500}.form-success{color:#1a7a4a;background:#f0faf4;border-radius:6px;padding:10px 14px;font-size:13px;font-weight:500}.form-required{color:var(--brand);margin-left:2px}.contact-success{text-align:center;color:var(--text-muted);padding:32px 16px}.contact-success__icon{margin-bottom:12px;font-size:40px}.form-check{cursor:pointer;color:var(--text-secondary);align-items:center;gap:10px;font-size:14px;font-weight:400;display:flex}.form-check__input{background:var(--bg-base);border:1.5px solid var(--border-dark);appearance:none;cursor:pointer;border-radius:4px;flex-shrink:0;width:18px;height:18px;transition:all .18s;position:relative}.form-check__input:checked{background:var(--rank-a);border-color:var(--rank-a)}.form-check__input:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.form-radio{cursor:pointer;color:var(--text-secondary);align-items:center;gap:10px;font-size:14px;display:flex}.form-radio__input{background:var(--bg-base);border:1.5px solid var(--border-dark);appearance:none;cursor:pointer;border-radius:50%;flex-shrink:0;width:18px;height:18px;transition:all .18s;position:relative}.form-radio__input:checked{border-color:var(--rank-a);border-width:5px}@media (max-width:1024px){.t-hero{font-size:clamp(30px,5vw,44px)}.t-h2{font-size:clamp(20px,3.5vw,26px)}.btn--lg{padding:18px 44px;font-size:16px}}@media (max-width:768px){.t-hero{letter-spacing:-.02em;font-size:clamp(26px,8vw,36px)}.t-h2{font-size:clamp(18px,5vw,22px)}.t-h3{font-size:16px}.t-price{font-size:22px}.btn--lg{width:100%;padding:18px 24px;font-size:16px}.btn--md{width:100%;padding:16px 24px;font-size:15px}.btn--sm{min-height:44px;padding:12px 22px;font-size:13px}.btn--secondary.btn--lg,.btn--secondary.btn--md{justify-content:space-between}.btn--text{width:auto}.btn-filter-group{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.btn-filter-group::-webkit-scrollbar{display:none}.btn--filter{flex-shrink:0}.badge{padding:4px 11px;font-size:12px}.tag{padding:2px 10px;font-size:13px}.reader-card{padding:20px}.reader-card__avatar{width:58px;height:58px;font-size:26px}.reader-card__name{font-size:16px}.reader-card__voice{font-size:12px}.reader-card__footer{flex-direction:column;align-items:stretch;gap:12px}.reader-card__footer .btn{justify-content:center;width:100%}.info-card{padding:20px}.info-card__icon{margin-bottom:10px;font-size:24px}.info-card__title{font-size:14px}.info-card__body{font-size:13px}.review-card{padding:20px 18px}.review-card:before{font-size:56px;top:10px;left:14px}.review-card__text{font-size:13px}.form-input,.form-select,.form-textarea{min-height:48px;padding:14px;font-size:16px}.form-textarea{min-height:100px;font-size:16px}.form-check,.form-radio{padding:6px 0;font-size:14px}.form-check__input,.form-radio__input{flex-shrink:0;width:20px;height:20px}.form-check__input:checked:after{width:5px;height:9px;top:3px;left:6px}.form-group{margin-bottom:20px}.btn--pulse-wrap:before{inset:-3px}.btn--pulse-wrap:after{inset:-6px}}@media (max-width:480px){.t-hero{font-size:clamp(22px,9vw,30px)}.t-h2{font-size:clamp(16px,5.5vw,20px)}.t-price{font-size:20px}.reader-card,.info-card{padding:16px}.review-card{padding:16px 14px}.reader-card__avatar{width:52px;height:52px;font-size:22px}.btn--lg{padding:16px 20px;font-size:16px}.btn--md{padding:14px 20px;font-size:15px}.badge{gap:4px;padding:4px 10px;font-size:12px}.status-dot{width:6px;height:6px}.esprit-hero{min-height:88vh}.esprit-hero__center{padding:68px 16px 48px}.esprit-section{padding:48px 20px}.esprit-closing{padding:44px 20px}.esprit-readers__head{margin-bottom:24px}.esprit-reader-card{text-align:center;flex-direction:column;align-items:center}.esprit-reader-card__img{width:90px;height:90px}.esprit-reader-card__info{align-items:center}.esprit-reader-card__top{flex-direction:column;align-items:center;gap:6px}}@media (hover:none){.card:hover{box-shadow:var(--shadow-sm);transform:none}.btn--primary:hover{transform:none;box-shadow:0 5px #9a1748,0 12px 28px #e8547a59}.btn--secondary:hover{transform:none}.btn--call-a:hover,.btn--call-b:hover,.btn--call-c:hover{transform:none;box-shadow:0 5px #9a1748,0 12px 28px #e8547a59}.btn--text:hover .btn__line{width:28px}}.page-shell{max-width:1000px;margin:0 auto;padding:20px}.page-shell--narrow{max-width:640px}.auth-card{border:1px solid var(--brand-border);border-radius:var(--radius-lg);background:#fff;padding:32px 36px;position:relative;overflow:hidden;box-shadow:0 8px 32px #e8547a12}.auth-header{gap:8px;margin-bottom:24px;display:grid}.auth-header:after{content:"";background:var(--brand);opacity:.5;border-radius:999px;width:64px;height:2px}.auth-form{gap:16px;display:grid}.auth-actions{gap:12px;margin-top:8px;display:grid}.auth-footer{color:var(--text-secondary);margin-top:16px}.auth-shell{position:relative}.auth-shell:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#e8547a12,#0000 40%),radial-gradient(circle at 0 100%,#fdeef399,#0000 40%);position:absolute;inset:0}.home-hero-links{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero-panel{border:1px solid var(--brand-border);background:radial-gradient(circle at 0 0,#fdeef3f2,#0000 30%),radial-gradient(circle at right 20%,#f4a0b82e,#0000 26%),linear-gradient(145deg,#fff8fb 0%,#fdf1f6 52%,#fbe7ef 100%);border-radius:34px;padding:54px 40px 44px;position:relative;overflow:hidden;box-shadow:0 24px 54px #e8547a24,inset 0 1px #ffffffb3}.hero-panel:after{content:"";pointer-events:none;background:radial-gradient(circle,#c4aa8233,#0000 65%);border-radius:50%;width:180px;height:180px;position:absolute;bottom:18px;left:24px}.hero-kicker{opacity:.9;color:var(--brand);margin-bottom:10px}.hero-lead{text-align:center;color:#6b4d57;max-width:680px;margin:0 auto 6px}.hero-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:20px;display:flex}.home-content-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-bottom:40px;display:grid}.home-content-grid .panel-card{border-color:var(--brand-border);background:linear-gradient(#fff 0%,#fff7fb 100%);box-shadow:0 14px 34px #e8547a1a}.home-reader-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.link-inline{color:var(--rank-a);text-underline-offset:4px;font-weight:700;-webkit-text-decoration:underline #4a38802e;text-decoration:underline #4a38802e}.panel-card{background:var(--bg-base);border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:0 12px 30px #1a17140d}.panel-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px #1a171414}.reader-card__avatar--circle{object-fit:cover;border-radius:50%;width:120px;height:120px}.reader-card__cta{width:100%}.detail-section{margin-bottom:24px}.detail-bottom-bar{text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border-top:1px solid #1a171414;padding:15px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #1a171414}.mypage-grid{gap:24px;display:grid}.favorite-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px;margin-top:20px;display:grid}.favorite-card{text-align:center;padding:14px}.favorite-card img{object-fit:cover;border-radius:50%;width:100px;height:100px;margin:0 auto}.admin-menu-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:20px;display:grid}.admin-menu-card{padding:20px;display:block}.content-article{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);white-space:pre-wrap;padding:24px;line-height:1.9}.customer-shell{position:relative}.customer-intro{background:radial-gradient(circle at top right, #e8547a0f, transparent 40%), linear-gradient(145deg, #fff 0%, var(--cream) 100%);border:1px solid var(--brand-border);border-radius:24px;margin-bottom:24px;padding:24px 24px 20px;box-shadow:0 8px 24px #e8547a0f}.customer-intro__kicker{margin-bottom:10px}.customer-intro__lead{max-width:640px}.customer-list{gap:18px;display:grid}.content-article--featured{border-radius:22px;padding:26px;box-shadow:0 16px 36px #1a17140d}.content-article__meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.content-article__title{margin:10px 0 12px}.content-article__excerpt{margin-bottom:14px}.article-shell{position:relative}.article-shell:before{content:"";background:radial-gradient(circle at top left, #e8547a0f, transparent 40%), linear-gradient(145deg, #fff 0%, var(--cream) 100%);border:1px solid var(--brand-border);z-index:-1;border-radius:28px;height:180px;position:absolute;inset:0 0 auto}.article-body{background:var(--bg-base);border-radius:24px;padding:36px 40px;box-shadow:0 16px 34px #1a17140d}.article-body h2{background:linear-gradient(90deg, var(--brand-light) 0%, transparent 100%);border-left:4px solid var(--brand);color:var(--brand-dark);border-radius:0 8px 8px 0;margin:2.4em 0 .9em;padding:.6em 1em .6em 1.1em;font-size:1.25rem;font-weight:700;line-height:1.4}.article-body h2:first-child{margin-top:0}.article-body h3{border-left:3px solid var(--brand-mid);color:var(--text);margin:1.8em 0 .6em;padding-left:.9em;font-size:1.05rem;font-weight:700;line-height:1.5}.article-body h3:first-child{margin-top:0}.article-body p{color:var(--text);margin:0 0 1.1em;font-size:.97rem;line-height:1.95}.article-body ul{margin:0 0 1.2em;padding:0;list-style:none}.article-body ul li{color:var(--text);padding:.25em 0 .25em 1.5em;font-size:.97rem;line-height:1.85;position:relative}.article-body ul li:before{content:"";background:var(--brand);border-radius:50%;width:7px;height:7px;position:absolute;top:.72em;left:.3em}.article-body ol{counter-reset:article-ol;margin:0 0 1.2em;padding:0;list-style:none}.article-body ol li{color:var(--text);counter-increment:article-ol;padding:.25em 0 .25em 2.2em;font-size:.97rem;line-height:1.85;position:relative}.article-body ol li:before{content:counter(article-ol);background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.5em;height:1.5em;font-size:.78rem;font-weight:700;line-height:1;display:flex;position:absolute;top:.3em;left:0}.article-body strong{color:var(--brand-dark);font-weight:700}.article-body em{background:linear-gradient(#0000 60%,#e8547a2e 60%);font-style:normal}.article-body blockquote,.article-body .note-box{background:var(--brand-pale);border-left:4px solid var(--brand);color:var(--text);border-radius:0 12px 12px 0;margin:1.4em 0;padding:1em 1.2em;font-size:.95rem;line-height:1.85}.article-body .step-box{background:var(--bg-sub);border:1px solid var(--border);border-radius:14px;align-items:flex-start;gap:1em;margin:1em 0;padding:1.1em 1.2em;display:flex}.article-body .step-box__num{background:linear-gradient(135deg, #f97fa2 0%, var(--brand) 100%);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2em;height:2em;font-size:1rem;font-weight:700;display:flex}.article-body .step-box__body{color:var(--text);flex:1;font-size:.97rem;line-height:1.85}.article-body .step-box__title{color:var(--brand-dark);margin-bottom:.3em;font-weight:700}.article-body .highlight-box{background:linear-gradient(135deg, var(--brand-pale) 0%, #fff 100%);border:1.5px solid var(--brand-border);color:var(--text);border-radius:14px;margin:1.4em 0;padding:1.2em 1.4em;line-height:1.85}.article-body .qa-q{color:var(--brand-dark);margin:1.8em 0 .3em;padding-left:1.4em;font-weight:700;line-height:1.5;position:relative}.article-body .qa-q:before{content:"Q";color:var(--brand);font-size:1.05em;font-weight:800;position:absolute;top:0;left:0}.article-body .qa-q strong{color:var(--brand-dark)}.article-body .qa-a{color:var(--text);margin:0 0 1.4em;padding-left:1.4em;line-height:1.9;position:relative}.article-body .qa-a:before{content:"A";color:var(--text-muted);font-size:1.05em;font-weight:800;position:absolute;top:0;left:0}.article-body .t-h2{line-height:1.3}@media (max-width:600px){.article-body{padding:24px 20px}.article-body h2{font-size:1.1rem}}.blog-share{border-top:1px solid var(--brand-border);align-items:center;gap:12px;margin-top:2.5em;padding-top:1.5em;display:flex}.blog-share__label{color:var(--text-muted);font-size:.85rem}.blog-share__btn{border-radius:999px;align-items:center;gap:6px;padding:7px 16px;font-size:.85rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.blog-share__btn:hover{opacity:.8}.blog-share__btn--x{color:#fff;background:#000}.blog-share__btn--line{color:#fff;background:#06c755}.blog-share__btn--copy{background:var(--brand-pale);color:var(--brand-dark);border:1.5px solid var(--brand-border);cursor:pointer;font-size:.85rem;font-weight:600}.blog-eyecatch{object-fit:cover;border-radius:16px;width:100%;max-height:400px;margin-bottom:2em;display:block}.blog-list-thumb{object-fit:cover;border-radius:12px;width:100%;height:200px;margin-bottom:12px;display:block}.blog-image-field{flex-direction:column;gap:10px;display:flex}.blog-image-field__actions{align-items:center;gap:8px;display:flex}.blog-image-field__preview{object-fit:cover;border:1px solid var(--brand-border);border-radius:10px;width:100%;max-height:240px}.admin-list-item__info{align-items:flex-start;gap:12px;display:flex}.admin-list-item__thumb{object-fit:cover;border-radius:8px;flex-shrink:0;width:72px;height:72px}.mypage-hero{background:radial-gradient(circle at top right, #e8547a12, transparent 40%), linear-gradient(145deg, #fff 0%, var(--cream) 100%);border:1px solid var(--brand-border);border-radius:24px;padding:28px 26px;box-shadow:0 8px 32px #e8547a12}.mypage-card{border-radius:22px;padding:22px}.mypage-balance-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.mypage-balance{border:1px solid var(--brand-border);background:#e8547a0f;border-radius:12px;align-items:baseline;gap:8px;padding:8px 16px;display:flex}.mypage-balance__label{color:var(--muted);font-size:.78rem;font-weight:600}.mypage-balance__value{color:var(--brand);font-size:1.5rem;font-weight:700}.mypage-balance__unit{margin-left:2px;font-size:.85rem;font-weight:600}.point-packages{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.point-package-card{border:2px solid var(--brand-border);cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:20px 12px;transition:border-color .2s,box-shadow .2s;display:flex}.point-package-card:hover{border-color:var(--brand);box-shadow:0 4px 16px #e8547a1f}.point-package-card--selected{border-color:var(--brand);background:#e8547a0a;box-shadow:0 4px 20px #e8547a2e}.point-package-card__amount{color:var(--muted);font-size:.9rem;font-weight:600}.point-package-card__points{color:var(--brand);font-size:1.6rem;font-weight:700;line-height:1.1}.point-package-card__points span{margin-left:2px;font-size:.9rem}.point-package-card__bonus{color:#e87700;background:#e8770014;border-radius:6px;margin-top:4px;padding:2px 8px;font-size:.72rem;font-weight:700}.point-paypal-wrap{max-width:400px;margin:0 auto}.point-paypal-summary{text-align:center;color:var(--text);margin-bottom:14px;font-size:.95rem}.point-purchase-msg{text-align:center;border-radius:10px;margin-top:16px;padding:12px 16px;font-size:.92rem;font-weight:600}.point-purchase-msg--success{color:#15803d;background:#22c55e1a}.point-purchase-msg--error{color:#b91c1c;background:#ef44441a}.stripe-form{flex-direction:column;gap:16px;display:flex}.stripe-field{flex-direction:column;flex:1;gap:6px;display:flex}.stripe-field-row{gap:12px;display:flex}.stripe-label{color:var(--muted);font-size:.85rem;font-weight:500}.stripe-input{border:1px solid var(--brand-border);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:1rem}.stripe-input:focus{border-color:var(--brand)}.stripe-card-input{border:1px solid var(--brand-border);background:#fff;border-radius:8px;padding:10px 14px}.stripe-actions{gap:10px;margin-top:4px;display:flex}.favorite-card{border-radius:22px}.favorite-card:hover{transform:translateY(-4px)}.admin-page-header{gap:8px;margin-bottom:24px;display:grid}.admin-section-card{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:24px}.admin-form-grid{gap:14px;display:grid}.admin-inline-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.admin-inline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-list{gap:14px;display:grid}.admin-list-item{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px}.admin-list-item__row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-list-item__meta{color:var(--text-secondary);font-size:13px;line-height:1.8}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-avatar{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:56px;height:56px}.admin-note{color:var(--text-secondary);font-size:13px;line-height:1.8}.admin-note--spaced{margin-top:12px}.admin-input-grow{flex:1}.admin-list-heading{margin-bottom:16px}.admin-inline-actions--center{align-items:center}.admin-list-item__meta--spaced{margin-top:5px}.u-prewrap{white-space:pre-wrap}.u-text-center{text-align:center}.u-mb-8{margin-bottom:8px}.u-mb-12{margin-bottom:12px}.u-mb-16{margin-bottom:16px}.u-mb-20{margin-bottom:20px}.u-mt-12{margin-top:12px}.u-mt-20{margin-top:20px}.u-mt-30{margin-top:30px}.skip-link{z-index:9999;background:var(--brand);color:#fff;border-radius:0 0 8px 8px;padding:12px 20px;font-size:15px;text-decoration:none;transition:top .1s;position:absolute;top:-100%;left:16px}.skip-link:focus{top:0}.app-shell{padding:20px}.app-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;padding-bottom:10px;display:flex}.app-brand{color:var(--rank-a);font-size:24px;font-weight:700}.app-nav-links{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.app-nav-links--right{margin-left:auto}.app-link-muted{color:var(--text-secondary)}.app-link-strong{color:var(--rank-a);font-weight:700}.app-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:16px;margin-top:48px;padding-top:16px;font-size:.95rem;display:flex}.app-footer__signup{text-align:center;background:var(--brand);letter-spacing:.08em;border-radius:10px;width:100%;margin-bottom:8px;padding:14px;font-size:.9rem;font-weight:600;text-decoration:none;display:block;color:#fff!important}.app-footer__copy{text-align:center;width:100%;color:var(--muted);margin-top:8px;font-size:.8rem}.loading-shell{padding:20px}.not-found-shell{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:48px 24px;display:flex}.not-found__code{color:var(--brand);opacity:.25;letter-spacing:.05em;margin:0 0 8px;font-family:Cormorant Garamond,serif;font-size:clamp(80px,20vw,160px);font-weight:300;line-height:1}.not-found__title{color:var(--text);letter-spacing:.08em;margin:0 0 16px;font-family:Noto Serif JP,serif;font-size:clamp(18px,4vw,24px);font-weight:300}.not-found__body{color:var(--text-muted);margin:0 0 32px;font-size:14px;line-height:1.8}.faq-list{flex-direction:column;gap:0;margin:0;padding:0;display:flex}.faq-item{border-bottom:1px solid var(--brand-border)}.faq-item:first-child{border-top:1px solid var(--brand-border)}.faq-question{cursor:pointer;text-align:left;width:100%;color:var(--text);touch-action:manipulation;background:0 0;border:none;align-items:flex-start;gap:12px;padding:20px 4px;font-family:Noto Serif JP,serif;font-size:15px;font-weight:400;line-height:1.6;display:flex}.faq-question__q{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;font-size:12px;font-weight:700;display:flex}.faq-question__text{flex:1}.faq-question__icon{color:var(--brand);flex-shrink:0;margin-top:1px;font-size:20px;line-height:1}.faq-answer{gap:12px;margin:0;padding:0 4px 20px;display:flex}.faq-answer[hidden]{display:none}.faq-answer__a{background:var(--cream-dark);width:24px;height:24px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;font-size:12px;font-weight:700;display:flex}.faq-answer__text{color:var(--text-muted);flex:1;margin:0;font-size:14px;line-height:1.8}.faq-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);margin-top:40px;padding-top:24px;font-size:14px}.policy-doc{background:var(--bg-base);border:1px solid var(--border);border-radius:20px;padding:36px 32px}.policy-doc__title{color:var(--brand-dark,var(--brand));text-align:center;border-bottom:2px solid var(--brand-border);margin:0 0 16px;padding-bottom:16px;font-family:Noto Serif JP,serif;font-size:22px;font-weight:700}.policy-doc__lead{color:var(--text-muted);margin:0 0 28px;font-size:13px;line-height:1.85}.policy-doc__section{margin-bottom:28px}.policy-doc__section-title{color:var(--brand);background:var(--cream,#fdf6f8);border-left:3px solid var(--brand);border-radius:0 6px 6px 0;margin:0 0 12px;padding:6px 12px;font-family:Noto Serif JP,serif;font-size:14px;font-weight:700}.policy-doc__body{color:var(--text-muted);margin:0 0 10px;font-size:13px;line-height:1.85}.policy-doc__list{color:var(--text-muted);margin:0;padding-left:22px;font-size:13px;line-height:1.85}.policy-doc__list li{margin-bottom:4px}.policy-doc__contact{color:var(--text-muted);font-size:13px;font-style:normal;line-height:1.85}.policy-doc__contact dl{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;display:grid}.policy-doc__contact dt{color:var(--text);font-weight:600}.policy-doc__contact dd{margin:0}.policy-doc__contact a{color:var(--brand);text-decoration:none}.policy-doc__contact a:hover{text-decoration:underline}.policy-doc__updated{border-top:1px solid var(--border);color:var(--text-muted);text-align:right;margin-top:32px;padding-top:16px;font-size:12px}@media (max-width:600px){.policy-doc{padding:24px 16px}.policy-doc__title{font-size:18px}}.section-title-divider-pink,.section-title-divider-purple{border-bottom:2px solid var(--brand);opacity:.85;margin-top:30px;padding-bottom:10px}.section-link-block{margin-top:20px;margin-bottom:30px}.toolbar-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.favorite-link{color:var(--text-primary)}.favorite-avatar{border:3px solid #f06292}.favorite-name{margin-top:10px;font-size:.9em;font-weight:700}.history-list{margin-top:20px;display:grid}.history-item{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:15px 0;display:flex}.history-item__date{color:var(--text-secondary)}.history-item__name{font-weight:700}.review-pending-list{gap:12px;display:grid}.review-pending-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base);padding:15px}.review-actions{flex-wrap:wrap;gap:10px;display:flex}.simple-card{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.call-shell{text-align:center;max-width:600px;margin:0 auto;padding:40px 20px}.call-timer{color:var(--rank-a);margin:20px 0;font-size:48px;font-weight:700}.voice-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(#fffffff5,#f8f4eefa);border:1px solid #9488c438;margin:0 0 20px;padding:20px}.voice-panel__header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.voice-panel__actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.incoming-overlay{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a171494;justify-content:center;align-items:center;padding:24px;animation:1.2s ease-in-out infinite alternate incoming-overlay-pulse;display:flex;position:fixed;inset:0}.incoming-overlay__card{width:min(100%,560px);box-shadow:var(--shadow-lg);background:linear-gradient(#fff 0%,#f9f6ff 100%);border-top-width:4px;padding:28px}.incoming-overlay__title{margin:10px 0 12px}.incoming-overlay__actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}@keyframes incoming-overlay-pulse{0%{background:#1a171485}to{background:#4a38809e}}.earnings-summary{flex-direction:column;gap:4px;margin-bottom:12px;font-size:1.1em;display:flex}.earnings-totals{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.earnings-total-item{background:var(--brand-light,#fdeef3);text-align:center;border-radius:10px;padding:14px 16px}.earnings-total-label{color:var(--muted);margin-bottom:4px;font-size:11px}.earnings-total-value{color:var(--brand,#e8547a);font-size:22px;font-weight:700}.earnings-total-unit{margin-left:2px;font-size:13px;font-weight:400}.earnings-tabs{scrollbar-width:none;gap:6px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.earnings-tabs::-webkit-scrollbar{display:none}.earnings-tab{border:1px solid var(--border-light);color:var(--muted);cursor:pointer;background:#fff;border-radius:100px;flex-shrink:0;padding:8px 16px;font-family:inherit;font-size:13px;transition:all .15s}.earnings-tab--active{background:var(--brand,#e8547a);border-color:var(--brand,#e8547a);color:#fff}.earnings-month-summary{color:var(--muted);background:var(--color-bg-soft,#fdf6f0);border-radius:8px;gap:16px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.earnings-log-list{flex-direction:column;gap:2px;display:flex}.earnings-month{border:1px solid var(--border-light);border-radius:8px;margin-bottom:8px;overflow:hidden}.earnings-month__header{background:var(--color-bg-soft,#fdf6f0);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:.95em;display:flex}.earnings-month__summary{color:var(--text-secondary);text-align:right;flex:1;font-size:.9em}.earnings-month__logs{padding:4px 16px 8px}.earnings-log{border-bottom:1px solid var(--border-light);padding:8px 0}.earnings-log__row{justify-content:space-between;gap:12px;font-size:.95em;display:flex}.earnings-log__meta{color:var(--text-secondary);margin-top:2px;font-size:.9em}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;background:var(--bg-base);width:100%}.data-table th,.data-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:10px}.data-table thead{background:var(--bg-sub)}.table-input-sm{width:80px}.table-input-xs{width:60px}.table-input-md{width:100px}.table-note{color:var(--text-secondary);font-size:.7em}.tab-row{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.advisor-shell{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-base);max-width:900px;box-shadow:var(--shadow-sm);margin:0 auto;padding:20px}.notice-box{border-radius:var(--radius-md);margin-bottom:12px;padding:10px}.notice-box--info{background:#f8fbff;border:1px solid #d3e5ff}.notice-box--muted{border:1px solid var(--border-light);background:#fafafa}.notice-list{gap:4px;margin-top:6px;display:grid}.notice-item{align-items:center;gap:8px;display:flex}.notice-thumb{object-fit:cover;border:1px solid var(--border);border-radius:4px;width:38px;height:38px}.advisor-status{margin-bottom:20px}.advisor-schedule-shell{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.helper-text{color:var(--text-secondary);margin:10px 0 12px;font-size:.9em}.calendar-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base);margin-top:12px;padding:10px}.calendar-panel--muted{background:#f5f5f5}.calendar-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.calendar-controls{flex-wrap:wrap;gap:6px;display:flex}.calendar-scroll{overflow-x:auto}.calendar-grid{border:1px solid var(--border);border-radius:6px;min-width:640px;overflow:hidden}.calendar-head-row,.calendar-time-row{grid-template-columns:100px repeat(7,1fr);display:grid}.calendar-head-row{border-bottom:1px solid var(--border);background:#f7f7f7;font-size:.85em}.calendar-time-row{border-bottom:1px solid var(--border-light)}.calendar-head-cell,.calendar-time-label,.calendar-day-cell{border-right:1px solid var(--border);text-align:center;padding:6px}.calendar-time-label{background:#fafafa;font-size:.85em}.calendar-day-sub{color:var(--text-secondary);font-size:.75em}.calendar-slot-btn{border:1px solid var(--border-light);background:var(--bg-base);color:var(--text-primary);cursor:pointer;touch-action:manipulation;width:100%;min-height:40px;padding:6px;font-size:.75em}.calendar-slot-btn.is-active{color:#fff;background:#4caf50}.schedule-list{gap:8px;display:grid}.schedule-list-item{border-bottom:1px solid var(--border-light);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.detail-stars{color:#ff9800;margin-bottom:10px;font-size:1.2em}.detail-stars__count{color:var(--text-primary);margin-left:8px;font-weight:700}.home-hero{gap:12px;margin-bottom:32px;display:grid}.home-panel-item{margin-bottom:12px}.home-reader-card{text-align:center;border-width:1px;border-color:var(--brand-border);background:linear-gradient(#fffffffc,#fdf2f7fa);border-radius:26px;padding:26px 24px 24px;box-shadow:0 18px 34px #e8547a29,inset 0 1px #ffffffb8}.home-reader-avatar{cursor:pointer;box-shadow:var(--shadow-sm);margin:0 auto;transition:transform .3s}.home-reader-avatar:hover{transform:scale(1.05)}.home-reader-name{color:#3a1f27;margin:15px 0 5px}.home-reader-specialty{margin-bottom:6px;font-weight:700}.home-reader-meta{margin-bottom:15px;font-size:.9em}.home-reader-stars{color:#ff9800;margin-bottom:5px}.home-reader-stars-count{margin-left:5px;font-weight:700}.home-reader-price{color:var(--text-secondary)}.home-reader-status{color:var(--brand-dark);font-weight:700}.status-text--online{color:#2ecc71}.status-text--offline{color:#95a5a6}.content-image{border-radius:10px;width:100%}.reader-card__title-line{justify-content:center;align-items:center;gap:8px;margin-bottom:4px;display:flex}.reader-card__meta-stack{gap:8px;display:grid}.reader-card__status-line{justify-content:center;align-items:center;gap:6px;display:flex}.reader-card__price-inline{color:var(--text-secondary);font-size:13px}.reader-card__cta-wrap{margin-top:18px}.reader-card__specialty-tags{flex-wrap:wrap;justify-content:center;gap:6px;min-height:26px;display:flex}.reader-card__top--stack{flex-direction:column;align-items:center;margin-bottom:18px}.reader-card__avatar-frame{border-radius:999px;padding:5px;display:inline-flex;box-shadow:0 12px 24px #1a17141a}.reader-card__avatar-frame--a{background:linear-gradient(135deg, var(--rank-a), var(--rank-a-mid))}.reader-card__avatar-frame--b{background:linear-gradient(135deg, var(--rank-b), var(--rank-b-mid))}.reader-card__avatar-frame--c{background:linear-gradient(135deg, var(--rank-c), var(--rank-c-mid))}.home-reader-note{text-align:center;max-width:620px;margin-top:24px;margin-left:auto;margin-right:auto}.auth-note{background:var(--cream);border:1px solid var(--brand-border);border-radius:var(--radius-md);color:var(--muted);padding:12px 14px;font-size:13px;line-height:1.8}.upload-field{gap:12px;display:grid}.upload-field__actions{justify-items:start;gap:8px;display:grid}.upload-field__input{display:none}.upload-field__preview{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-sub);padding:12px}.upload-field__image{aspect-ratio:1;object-fit:cover;width:100%;max-width:220px;box-shadow:var(--shadow-sm);border-radius:14px}.detail-favorite-btn{color:gray;background:#ffffffe6;border:none;border-radius:50%;width:46px;height:46px;font-size:24px;transition:transform .2s,box-shadow .2s,color .2s;box-shadow:0 8px 20px #1a171414}.detail-favorite-btn.is-active{color:red}.detail-favorite-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px #1a17141f}.detail-avatar.rank-a{border:4px solid var(--rank-a)}.detail-avatar.rank-b{border:4px solid var(--rank-b)}.detail-avatar.rank-c{border:4px solid var(--rank-c)}.detail-note-image{object-fit:cover;border-radius:6px;width:100%;max-height:150px;margin-top:6px}.detail-card-title--a{color:var(--rank-a)}.preview-calendar-scroll{overflow-x:auto}.preview-calendar-grid{background:#fff;border:1px solid #c6dbff;border-radius:12px;min-width:660px;overflow:hidden}.preview-calendar-head,.preview-calendar-row{grid-template-columns:82px repeat(7,1fr);display:grid}.preview-calendar-row{border-bottom:1px solid #eff3ff;font-size:.78em}.preview-calendar-head-cell,.preview-calendar-time,.preview-calendar-slot{text-align:center;border-right:1px solid #dbe6ff}.preview-calendar-slot{background:#fff;border-bottom:1px solid #f0f3ff;min-height:26px}.review-list-head{justify-content:space-between;gap:12px;margin-bottom:5px;display:flex}.request-list{gap:14px;margin-top:20px;display:grid}.request-card{background:linear-gradient(#fffefc 0%,#f8f4ee 100%);border:1px solid #9488c42e;border-radius:18px;padding:18px;box-shadow:0 10px 24px #1a17140d}.request-card__head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.request-card__name{font-size:16px;font-weight:700}.request-card__meta{color:var(--text-secondary);margin-top:6px;font-size:13px}.request-card__message{color:var(--text-secondary);background:#4a38800f;border-radius:12px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.8}.request-card__actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.request-board{padding:18px}.request-board__header{gap:4px;margin-bottom:12px;display:grid}.request-board__list{gap:12px;display:grid}.request-board__item{background:#ffffffe6;border:1px solid #9488c429;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.request-board__meta{min-width:0}.request-board__name{margin-bottom:4px;font-size:16px;font-weight:700}.request-board__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (max-width:768px){.auth-card{padding:22px 18px}.home-hero-links{justify-content:flex-start}.hero-panel{border-radius:24px;padding:34px 22px 28px}.detail-shell{padding-top:18px}.detail-shell:before{border-radius:24px;height:250px}.detail-profile{padding-left:10px;padding-right:10px}.detail-header{gap:12px}.admin-section-card{padding:18px}.admin-list-item__row{flex-direction:column}.home-reader-card{padding:22px 18px 20px}.request-card__head,.request-board__item{grid-template-columns:1fr;display:grid}.request-card__actions .btn,.request-board__actions .btn{width:100%}}:root{--brand:#e8547a;--brand-bright:#f06b8e;--brand-mid:#f4a0b8;--brand-light:#fdeef3;--brand-pale:#fdf6f9;--brand-dark:#b83058;--brand-border:#e8547a2e;--cream:#fdf6f0;--cream-dark:#f5e8e0;--muted:#7a4858;--text:#2a1a20;--gold-accent:#e8a020;--gold-light:#fff8e8;--text-on-brand:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light)}.btn--filter:hover,.btn--filter.is-active{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.btn--brand{background:var(--brand);color:#fff;box-shadow:0 4px 0 var(--brand-dark), 0 8px 24px #e8547a4d;border:none;transition:all .22s}.btn--brand:hover{background:var(--brand-bright);box-shadow:0 6px 0 var(--brand-dark), 0 14px 32px #e8547a66;transform:translateY(-2px)}.btn--brand:active{box-shadow:0 1px 0 var(--brand-dark);transform:translateY(3px)}.btn--brand-outline{color:var(--brand);border:1.5px solid var(--brand);box-shadow:none;background:0 0;transition:all .22s}.btn--brand-outline:hover{background:var(--brand-light);transform:translateY(-1px)}.reader-detail-shell{background:linear-gradient(180deg, var(--brand-light) 0%, var(--brand-light) 260px, var(--cream) 400px);min-height:100vh;padding-top:88px;padding-bottom:100px}.reader-detail-header{justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.reader-detail-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 0;font-size:13px;transition:color .2s;display:inline-flex}.reader-detail-back:hover{color:var(--brand)}.reader-detail-back__icon{font-size:16px}.reader-detail-fav{border:1px solid var(--border);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-sm);color:var(--text-muted);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.reader-detail-fav:hover{border-color:var(--brand-border);color:var(--brand);transform:scale(1.08)}.reader-detail-fav.is-active{color:var(--brand);border-color:var(--brand-border);background:var(--brand-light)}.reader-hero{text-align:center;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0 20px 24px;padding:32px 24px 28px;position:relative;overflow:visible}.reader-hero:before{display:none}.reader-hero__avatar-wrap{margin-bottom:20px;display:inline-block;position:relative}.reader-hero__avatar{object-fit:cover;border:4px solid #fff;border-radius:50%;width:120px;height:120px;display:block;box-shadow:0 8px 28px #e8547a33}.reader-hero__avatar-placeholder{background:var(--brand-light);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;font-size:40px;display:flex;box-shadow:0 8px 28px #e8547a33}.reader-hero__status-dot{border:3px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;bottom:6px;right:6px}.reader-hero__status-dot--available{background:#4ade80;animation:1.5s infinite dot-blink;box-shadow:0 0 8px #4ade8099}.reader-hero__status-dot--busy{background:#f59e0b}.reader-hero__status-dot--offline{background:#d1d5db}.reader-hero__name{color:var(--text-primary);letter-spacing:.04em;margin-bottom:4px;font-size:26px;font-weight:700}.reader-hero__name-suffix{color:var(--text-muted);margin-left:4px;font-size:16px;font-weight:400}.reader-hero__specialty{color:var(--text-muted);letter-spacing:.08em;margin-bottom:12px;font-size:14px}.reader-hero__tags{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:20px;display:flex}.tag--brand{background:var(--brand-light);color:var(--brand);border:1px solid var(--brand-border);letter-spacing:.04em;border-radius:100px;padding:3px 12px;font-size:11px;font-weight:500}.reader-hero__meta{border:1px solid var(--brand-border);background:#ffffffb3;border-radius:16px;justify-content:center;gap:0;margin-bottom:24px;display:flex;overflow:hidden}.reader-hero__meta-item{text-align:center;border-right:1px solid var(--border);flex:1;padding:14px 8px}.reader-hero__meta-item:last-child{border-right:none}.reader-hero__meta-label{color:var(--text-muted);letter-spacing:.1em;margin-bottom:4px;font-size:12px}.reader-hero__meta-value{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1}.reader-hero__meta-value--brand{color:var(--brand)}.reader-hero__meta-value--gold{color:var(--gold-accent)}.reader-hero__meta-unit{color:var(--text-muted);margin-left:2px;font-size:11px;font-weight:400}.badge--brand{background:var(--brand-light);border:1px solid var(--brand-border);color:var(--brand-dark)}.reader-section{margin:0 20px 16px}.reader-section__card{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;padding:22px}.reader-section__title{color:var(--brand);letter-spacing:.06em;border-bottom:1px solid var(--brand-light);align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;font-size:14px;font-weight:700;display:flex}.reader-section__title-icon{font-size:16px}.reader-notice{background:var(--bg-sub);border-radius:12px;margin-bottom:12px;padding:12px 16px}.reader-notice__date{color:var(--text-muted);margin-bottom:2px;font-size:13px}.reader-notice__body{color:var(--text-secondary);font-size:13px;line-height:1.8}.reader-message{color:var(--text-primary);letter-spacing:.04em;border-left:3px solid var(--brand-mid);padding-left:16px;font-size:14px;font-style:italic;line-height:2}.reader-shop-comment{background:var(--brand-pale);border:1px solid var(--brand-border);border-radius:14px;padding:16px}.reader-shop-comment__label{color:var(--brand);letter-spacing:.12em;margin-bottom:8px;font-size:11px;font-weight:700}.reader-shop-comment__body{color:var(--text-primary);font-size:13px;line-height:1.9}.reader-schedule{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;margin:0 20px 16px;padding:22px}.reader-schedule__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.reader-schedule__title{color:var(--brand);letter-spacing:.06em;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.reader-schedule__nav{gap:6px;display:flex}.reader-schedule__nav-btn{border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:100px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .2s}.reader-schedule__nav-btn:hover,.reader-schedule__nav-btn.is-active{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.reader-schedule__note{color:var(--text-muted);margin-bottom:12px;font-size:11px}.reader-schedule__scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:14px;overflow-x:auto}.reader-schedule__table{border-collapse:collapse;width:100%;min-width:540px;font-size:12px}.reader-schedule__table thead th{text-align:center;background:var(--brand-pale);border-bottom:1px solid var(--brand-border);color:var(--text-secondary);letter-spacing:.04em;white-space:nowrap;padding:10px 8px;font-weight:700}.reader-schedule__table thead th:first-child{color:var(--text-muted);background:#fff;width:56px}.reader-schedule__time{text-align:center;color:var(--text-muted);background:var(--bg-sub);border-right:1px solid var(--border);white-space:nowrap;padding:6px 8px;font-size:11px}.reader-schedule__slot{text-align:center;border:1px solid var(--border-light);min-height:28px;padding:4px}.reader-schedule__slot--available{background:var(--brand-light)}.reader-schedule__slot-dot{background:var(--brand);border-radius:50%;width:8px;height:8px;margin:0 auto}.reader-reviews{margin:0 20px 16px}.reader-reviews__summary{background:var(--brand-pale);border:1px solid var(--brand-border);border-radius:14px;align-items:center;gap:16px;margin-bottom:16px;padding:16px;display:flex}.reader-reviews__score{color:var(--brand);letter-spacing:-.02em;font-size:44px;font-weight:900;line-height:1}.reader-reviews__stars{color:var(--gold-accent);letter-spacing:2px;margin-bottom:4px;font-size:18px}.reader-reviews__count{color:var(--text-muted);font-size:12px}.reader-review-item{border-bottom:1px solid var(--border-light);padding:16px 0}.reader-review-item:last-child{border-bottom:none}.reader-review-item__head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.reader-review-item__stars{color:var(--gold-accent);font-size:14px}.reader-review-item__date{color:var(--text-muted);font-size:11px}.reader-review-item__body{color:var(--text-primary);margin-bottom:6px;font-size:13px;line-height:1.9}.reader-review-item__author{color:var(--text-muted);font-size:11px}.reader-bottom-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--brand-border);z-index:100;background:#fffffff0;padding:14px 20px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #e8547a1a}.reader-bottom-bar__inner{align-items:center;gap:10px;max-width:600px;margin:0 auto;display:flex}.reader-bottom-bar__price{flex:1;min-width:0}.reader-bottom-bar__price-num{color:var(--brand);font-size:22px;font-weight:900;line-height:1}.reader-bottom-bar__price-unit{color:var(--text-muted);margin-left:3px;font-size:13px}.reader-bottom-bar__price-label{color:var(--text-muted);margin-top:2px;font-size:13px}.reader-bottom-bar__btn{flex:2}@media (max-width:480px){.reader-hero{margin:0 12px 20px;padding:28px 16px 24px}.reader-hero__name{font-size:22px}.reader-hero__avatar,.reader-hero__avatar-placeholder{width:100px;height:100px}.reader-hero__meta-value{font-size:16px}.reader-section,.reader-schedule,.reader-reviews{margin-left:12px;margin-right:12px}.reader-section__card,.reader-schedule,.reader-reviews{border-radius:18px;padding:18px 16px}.reader-schedule__nav-btn{padding:5px 10px;font-size:11px}}@media (min-width:768px){.reader-detail-shell{max-width:640px;margin:0 auto}}.detail-shell{background:var(--cream);padding-bottom:100px}.detail-shell:before{content:none;display:none}.detail-header{justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.detail-header .btn--text{color:var(--text-secondary);padding:8px 0;font-size:13px}.detail-header .btn--text:hover{color:var(--brand)}.detail-favorite-btn{border:1px solid var(--border);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-sm);color:var(--text-muted);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:20px;transition:all .2s;display:flex}.detail-favorite-btn:hover{border-color:var(--brand-border);color:var(--brand);transform:scale(1.08)}.detail-favorite-btn.is-active{color:var(--brand);border-color:var(--brand-border);background:var(--brand-light)}.detail-profile{text-align:center;box-shadow:0 16px 40px #e8547a14, var(--shadow-sm);border:1px solid var(--brand-border);background:#fff;border-radius:28px;margin:0 20px 24px;padding:32px 24px 28px;position:relative;overflow:hidden}.detail-profile:before{content:"";background:linear-gradient(160deg, var(--brand-light) 0%, #fff8f0 100%);pointer-events:none;height:80px;position:absolute;top:0;left:0;right:0}.detail-avatar{object-fit:cover;border:4px solid #fff;border-radius:50%;width:120px;height:120px;margin:0 auto 16px;display:block;box-shadow:0 8px 28px #e8547a33}.detail-name{color:var(--text-primary);letter-spacing:.04em;margin-bottom:4px;font-size:26px;font-weight:700}.detail-specialty{color:var(--text-muted);letter-spacing:.08em;margin-bottom:12px;font-size:13px}.detail-career{color:var(--text-secondary);margin-bottom:10px;font-size:13px}.detail-price{color:var(--brand);text-shadow:none;margin-bottom:10px;font-size:22px;font-weight:900;line-height:1}.detail-price small{color:var(--text-muted);margin-left:3px;font-size:11px}.detail-stars{color:var(--gold-accent);font-size:14px}.detail-stars__count{color:var(--text-muted);margin-left:6px;font-size:11px}.detail-note-box{background:var(--bg-sub);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin:0 20px 16px;padding:12px 16px}.detail-note-item{border-bottom:1px solid var(--border-light);padding:8px 0}.detail-note-item:last-child{border-bottom:none}.detail-note-date{color:var(--text-muted);font-size:11px}.detail-note-body{color:var(--text-secondary);font-size:13px;line-height:1.8}.panel-card--muted,.panel-card--warm{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;margin:0 20px 16px;padding:22px}.detail-card-title{color:var(--brand);letter-spacing:.06em;border-bottom:1px solid var(--brand-light);margin-bottom:14px;padding-bottom:10px;font-size:14px;font-weight:700}.detail-card-title--warm{color:var(--brand);border-bottom-color:var(--brand-light)}.detail-schedule-box{border:1px solid var(--border);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;margin:0 20px 16px;padding:22px}.detail-schedule-title{color:var(--brand);letter-spacing:.06em;font-size:14px;font-weight:700}.detail-schedule-sub{color:var(--text-muted);font-size:11px}.calendar-controls .btn--secondary{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.preview-calendar-grid{border:1px solid var(--border);border-radius:14px}.preview-calendar-head{border-bottom:1px solid var(--border);background:var(--brand-pale);font-size:.82em}.preview-calendar-head-cell{color:var(--text-secondary);padding:6px}.preview-calendar-time{color:var(--text-muted);background:var(--bg-sub);border-right:1px solid var(--border);padding:5px 4px}.preview-calendar-slot.is-busy{background:var(--brand-light)}.review-list-item{border-bottom:1px solid var(--border-light);padding:16px 0}.review-stars{color:var(--gold-accent);font-size:14px;font-weight:700}.review-date{color:var(--text-muted);font-size:13px}.review-comment{color:var(--text-primary);font-size:14px;line-height:1.9}.review-author{color:var(--text-muted);font-size:13px}.review-reply{background:var(--brand-light,#fdeef3);border-left:3px solid var(--brand,#e8547a);border-radius:0 6px 6px 0;margin-top:10px;padding:8px 12px}.review-reply__label{color:var(--brand,#e8547a);margin-bottom:4px;font-size:11px;font-weight:600}.review-reply__text{color:var(--text-primary);font-size:13px;line-height:1.8}.detail-bottom-bar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--brand-border);z-index:100;background:#fffffff0;padding:14px 20px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #e8547a1a}.detail-bottom-button{letter-spacing:.12em;background:var(--brand);color:#fff;width:100%;max-width:500px;box-shadow:0 4px 0 var(--brand-dark), 0 8px 24px #e8547a4d;border:none;transition:all .22s}.detail-bottom-button:hover{background:var(--brand-bright);box-shadow:0 6px 0 var(--brand-dark), 0 14px 32px #e8547a66;transform:translateY(-2px)}.detail-bottom-button:active{box-shadow:0 1px 0 var(--brand-dark);transform:translateY(3px)}@media (max-width:480px){.detail-profile{margin:0 12px 20px;padding:28px 16px 24px}.detail-name{font-size:22px}.detail-avatar{width:100px;height:100px}.detail-schedule-box,.panel-card--muted,.panel-card--warm,.detail-note-box{margin-left:12px;margin-right:12px}}body{background:radial-gradient(circle at top right, #fdeef3b3, transparent 28%), radial-gradient(circle at bottom left, #f4a0b829, transparent 30%), var(--bg-muted)}.app-nav{border:1px solid var(--brand-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border-radius:18px;margin:10px;box-shadow:0 12px 30px #e8547a1a}.app-shell--public{background:#fdf6f0;padding:0}.app-nav--public{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:80;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:28px;margin:0;padding:24px 48px;position:fixed;top:0;left:0;right:0}.app-brand--public{letter-spacing:.18em;color:#1a1010;flex-direction:column;align-items:flex-start;gap:3px;font-family:Cormorant Garamond,serif;font-weight:300;line-height:1;text-decoration:none;display:inline-flex}.app-brand__en{letter-spacing:.18em;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300}.app-brand__kana{letter-spacing:.28em;color:var(--muted);font-family:Noto Serif JP,serif;font-size:10px;font-weight:400}.app-shell--public .app-footer{margin:48px 20px 0}.app-shell--public .esprit-home{padding-top:0}.app-shell--public .page-shell,.app-shell--public .detail-shell{padding-top:100px}.app-shell--public .guide-page{padding-top:0}.app-shell--public .esprit-home,.app-shell--public .esprit-home .esprit-hero,.app-shell--public .esprit-home .esprit-section:first-of-type{background:#fdf6f0}.app-brand{color:var(--brand-dark);letter-spacing:.04em}.app-nav-public-links{letter-spacing:.1em;align-items:center;gap:36px;margin-left:auto;font-family:Noto Serif JP,serif;font-size:15px;font-weight:300;display:flex}.app-nav--public .app-link-muted{color:var(--muted)}.app-nav-public-btn{background:var(--brand);color:#fff;letter-spacing:.1em;border-radius:2px;justify-content:center;align-items:center;padding:12px 28px;font-family:Noto Serif JP,serif;font-size:14px;font-weight:300;transition:background .3s;display:inline-flex}.app-nav-public-btn:hover{background:var(--brand-bright)}.app-nav-public-btns{align-items:center;gap:10px;display:flex}.app-nav-hamburger{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;display:none}.app-nav-hamburger:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.app-nav-hamburger__bar{background:var(--brand);border-radius:2px;width:22px;height:2px;transition:background .2s;display:block}.app-mobile-menu{z-index:79;border-bottom:1px solid var(--brand-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;flex-direction:column;padding:8px 0 16px;display:flex;position:fixed;top:72px;left:0;right:0;box-shadow:0 8px 24px #e8547a1a}.app-mobile-menu__link{letter-spacing:.08em;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:16px 24px;font-family:Noto Serif JP,serif;font-size:16px;font-weight:300;text-decoration:none;transition:background .15s,color .15s;display:block}.app-mobile-menu__link:hover,.app-mobile-menu__link:focus-visible{background:var(--brand-light);color:var(--brand);outline:none}.app-mobile-menu__link--cta{color:var(--brand);font-weight:500}.app-mobile-menu__link--muted{color:var(--muted)}.app-mobile-menu__divider{background:var(--brand-border);height:1px;margin:8px 24px}.app-link-muted:hover,.app-link-strong:hover,.link-inline:hover{color:var(--brand)}.home-reader-grid{gap:26px}.reader-card__cta{border:1px solid var(--brand-border)}.mypage-hero{border:1px solid var(--brand-border);background:linear-gradient(150deg,#fff 0%,#fff4f8 58%,#ffeaf2 100%);border-radius:24px;padding:24px;box-shadow:0 14px 34px #e8547a1f}.mypage-card{border-color:var(--brand-border);box-shadow:0 14px 34px #e8547a1a}.request-card{border-color:var(--brand-border);background:linear-gradient(#fff 0%,#fff6fa 100%)}.history-item{border:1px solid var(--brand-border);background:#ffffffe6;border-radius:12px;padding:10px 12px}@media (max-width:768px){.app-nav{border-radius:14px;margin:8px}.app-nav--public{border-bottom:1px solid var(--brand-border);background:#ffffffeb;gap:10px;padding:14px 16px}.app-nav-public-links{white-space:nowrap;flex:1;gap:10px;margin-left:0;overflow-x:auto}.app-shell--public .esprit-home{padding-top:0}.app-shell--public .page-shell,.app-shell--public .detail-shell{padding-top:80px}.mypage-hero{border-radius:18px;padding:18px}}@media (max-width:600px){.app-nav-public-links,.app-nav-public-btns{display:none}.app-nav--public{flex-wrap:nowrap;gap:0;padding:14px 16px}.app-brand--public{flex:1;width:auto}.app-nav-hamburger{display:flex}}.esprit-home{background:var(--cream);color:var(--text);font-family:Cormorant Garamond,serif}.esprit-hero{background:var(--cream);isolation:isolate;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:0;display:flex;position:relative;overflow:hidden}.esprit-hero__circle{aspect-ratio:1;background:#e8547a;border-radius:50%;width:min(720px,85vw);height:min(720px,85vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)}.esprit-hero__center{z-index:2;text-align:center;color:#fff;flex-direction:column;align-items:center;max-width:920px;padding:100px 48px 80px;display:flex;position:relative}.esprit-hero__illustration{width:min(420px,75vw);margin-bottom:32px;animation:1s both esprit-float-up}.esprit-hero__brand{letter-spacing:.18em;font-size:clamp(26px,3.5vw,40px);font-weight:300;animation:1s .25s both esprit-float-up}.esprit-hero__brand-jp{letter-spacing:.55em;color:#ffffffa6;margin-top:10px;font-family:Noto Serif JP,serif;font-size:13px;font-weight:200;animation:1s .35s both esprit-float-up}.esprit-hero__divider{background:linear-gradient(#ffffff80,#0000);width:1px;height:52px;margin:32px auto;animation:1s .5s both esprit-float-up}.esprit-hero__tagline{letter-spacing:.03em;font-size:clamp(36px,5.5vw,68px);font-weight:200;line-height:1.2;animation:1s .65s both esprit-float-up}.esprit-hero__tagline em{color:#ffeaa0;font-style:italic}.esprit-hero__sub{letter-spacing:.18em;color:#ffffffb3;margin-top:24px;font-family:Noto Serif JP,serif;font-size:15px;line-height:2.5;animation:1s .8s both esprit-float-up}.esprit-hero__cta,.esprit-closing__cta{letter-spacing:.28em;color:var(--brand);cursor:pointer;background:#fff;border:none;border-radius:2px;margin-top:40px;padding:18px 36px;font-family:Noto Serif JP,serif;font-size:16px;transition:background .3s;animation:1s .95s both esprit-float-up}.esprit-hero__cta:hover,.esprit-closing__cta:hover{background:var(--cream)}.esprit-sparkle{pointer-events:none;z-index:1;position:absolute}.esprit-hero__wave{z-index:3;position:absolute;bottom:-2px;left:0;right:0}.esprit-section{border-top:1px solid var(--cream-dark);background:#fff;padding:90px 80px}.esprit-section__tag{letter-spacing:.5em;color:var(--brand);opacity:.6;margin-bottom:46px;font-family:Noto Serif JP,serif;font-size:13px;display:block}.esprit-concept{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.esprit-concept h2,.esprit-readers__head h2{font-size:clamp(34px,4.6vw,60px);font-weight:200;line-height:1.2}.esprit-concept h2 em{color:var(--brand);font-style:italic}.esprit-concept p{margin-top:28px}.esprit-concept p,.esprit-readers__head p,.esprit-reader-card__voice{letter-spacing:.07em;color:var(--muted);font-family:Noto Serif JP,serif;font-size:13px;line-height:2.2}.esprit-concept__nums{gap:14px;display:grid}.esprit-concept__num{background:var(--cream);border-radius:4px;align-items:baseline;gap:16px;padding:30px 36px;display:flex}.esprit-concept__num strong{color:var(--brand);font-size:60px;font-weight:200;line-height:1}.esprit-concept__num span{letter-spacing:.1em;color:var(--muted);font-family:Noto Serif JP,serif;font-size:12px;line-height:2}.esprit-readers__head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;display:flex}.esprit-readers__head p{text-align:right;max-width:320px}.esprit-readers__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.esprit-reader-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #f0e8ec;border-radius:20px;flex-direction:column;transition:transform .25s,box-shadow .25s;display:flex;overflow:hidden}.esprit-reader-card:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.esprit-reader-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #e8547a1f}.esprit-reader-card__photo{aspect-ratio:3/4;background:#f5e8ec;flex-shrink:0;width:100%;position:relative;overflow:hidden}.esprit-reader-card__img{object-fit:cover;width:100%;height:100%;box-shadow:none;border:none;border-radius:0;display:block}.esprit-reader-card__placeholder{background:linear-gradient(160deg,#fdeef3,#f5e0e8);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.esprit-reader-card__placeholder svg{opacity:.3;width:48px;height:48px}.rc-badge{letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:100px;align-items:center;gap:5px;padding:5px 10px;font-size:10px;font-weight:300;display:flex;position:absolute;top:10px;right:10px}.rc-badge--available{color:#2d8a50;background:#ffffffd9}.rc-badge--away{color:#c2540a;background:#ffffffd9}.rc-badge--offline{color:#9a8a8e;background:#ffffffb3}.rc-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.rc-dot--green{background:#4ade80;animation:1.5s infinite rc-blink;box-shadow:0 0 6px #4ade8099}.rc-dot--orange{background:#f97316}.rc-dot--gray{background:#d1d5db}@keyframes rc-blink{0%,to{opacity:1}50%{opacity:.3}}.esprit-reader-card__overlay{background:linear-gradient(#0000,#1e0a148c);padding:28px 14px 14px;position:absolute;bottom:0;left:0;right:0}.esprit-reader-card__name{letter-spacing:.15em;color:#fff;font-family:Noto Serif JP,serif;font-size:16px;font-weight:300}.esprit-reader-card__suffix{color:#ffffffb3;margin-left:3px;font-size:11px;font-weight:200}.esprit-reader-card__info{flex-direction:column;gap:6px;padding:12px 14px 16px;display:flex}.esprit-reader-card__spec{flex-wrap:wrap;gap:4px;margin-bottom:2px;display:flex}.esprit-reader-card__spec-tag{letter-spacing:.08em;color:#e8547a;background:#fdeef3;border:1px solid #e8547a2e;border-radius:100px;padding:3px 10px;font-size:11px;font-weight:300;display:inline-block}.esprit-reader-card__price{color:#2a1020;letter-spacing:.03em;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:300}.esprit-reader-card__price-unit{color:#9a8a8e;margin-left:2px;font-family:Noto Serif JP,serif;font-size:11px;font-weight:200}.esprit-reader-card__voice{letter-spacing:.04em;color:#9a8a8e;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Noto Serif JP,serif;font-size:11px;font-weight:200;line-height:1.8;display:-webkit-box;overflow:hidden}.esprit-links{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.esprit-closing{background:var(--brand);text-align:center;color:#fff;padding:120px 80px;position:relative;overflow:hidden}.esprit-closing__circle{pointer-events:none;background:#ffffff12;border-radius:50%;width:400px;height:400px;position:absolute;bottom:-120px;left:50%;transform:translate(-50%)}.esprit-closing__lotus{opacity:.35;z-index:2;width:64px;margin:0 auto 44px;display:block;position:relative}.esprit-closing__cta{z-index:2;position:relative}.esprit-closing h2{letter-spacing:.2em;z-index:2;font-family:Noto Serif JP,serif;font-size:clamp(18px,2.8vw,30px);font-weight:200;line-height:2.1;position:relative}.esprit-closing h2 em{color:#ffeaa0;font-family:Cormorant Garamond,serif;font-size:1.25em;font-style:italic}@media (max-width:980px){.esprit-section{padding:56px 24px}.esprit-hero__center{padding:80px 20px 60px}.esprit-concept{grid-template-columns:1fr;gap:34px}.esprit-readers__head{display:grid}.esprit-readers__head p{text-align:left;max-width:none}.esprit-readers__grid{grid-template-columns:repeat(2,1fr)}.esprit-closing{padding:56px 24px}}@media (max-width:600px){.esprit-readers__grid{grid-template-columns:repeat(2,1fr);gap:10px}.esprit-hero__circle{width:92vw;height:92vw;top:36%}}.guide-empty{text-align:center;letter-spacing:.1em;color:#7a6858;padding:40px 0;font-size:13px;font-weight:200}.rg{background:#fff8f8;max-width:390px;min-height:100vh;margin:0 auto;padding-bottom:56px;font-family:Noto Serif JP,serif;position:relative;overflow:hidden}.rg-bg-petal{pointer-events:none;opacity:.07;position:absolute}.rg-hero{text-align:center;z-index:1;padding:100px 32px 40px;position:relative}.rg-lotus-wrap{width:88px;height:88px;margin:0 auto 24px}.rg-brand{letter-spacing:.55em;color:#c47890;text-transform:uppercase;margin-bottom:10px;font-family:Cormorant Garamond,serif;font-size:11px;font-weight:200}.rg-hero-title{letter-spacing:.06em;color:#2a1020;margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:200;line-height:1.6}.rg-hero-title em{color:#d4607a;font-size:34px;font-style:italic;display:block}.rg-hero-sub{letter-spacing:.3em;color:#c4a0b0;margin-top:10px;font-size:10px;font-weight:200}.rg-petal-divider{align-items:center;gap:12px;margin:28px 32px;display:flex}.rg-petal-line{background:#c4789033;flex:1;height:.5px}.rg-petal-center{opacity:.35}.rg-form-area{z-index:1;padding:0 32px;position:relative}.rg-form-head{text-align:center;margin-bottom:28px}.rg-form-head-title{letter-spacing:.1em;color:#2a1020;margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:200}.rg-form-head-desc{letter-spacing:.1em;color:#c4a0b0;font-size:11px;font-weight:200;line-height:2}.rg-field{margin-bottom:22px}.rg-fl{letter-spacing:.3em;color:#c4a0b0;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:300;display:block}.rg-req{color:#d4607a;margin-left:2px}.rg-input{color:#2a1020;-webkit-appearance:none;background:0 0;border:none;border-bottom:.5px solid #c478904d;border-radius:0;outline:none;width:100%;padding:12px 0;font-family:Noto Serif JP,serif;font-size:15px;font-weight:200;transition:border-color .25s}.rg-input:focus{border-bottom-color:#d4607a}.rg-input::placeholder{color:#dcc8d0;font-size:13px}.rg-gender-row{gap:10px;display:flex}.rg-g-opt{flex:1;position:relative}.rg-g-opt input{opacity:0;width:0;height:0;position:absolute}.rg-g-opt label{text-align:center;letter-spacing:.12em;color:#c4a0b0;cursor:pointer;background:0 0;border:.5px solid #c4789040;border-radius:100px;padding:11px 4px;font-size:11px;font-weight:200;transition:all .2s;display:block}.rg-g-opt input:checked+label{color:#d4607a;background:#d4607a0f;border-color:#d4607a}.rg-sep{align-items:center;gap:10px;margin:28px 0 20px;display:flex}.rg-sep-line{background:#c4789026;flex:1;height:.5px}.rg-reassure{justify-content:center;gap:16px;margin-bottom:20px;display:flex}.rg-r-item{letter-spacing:.1em;color:#c4a0b0;align-items:center;gap:4px;font-size:9px;font-weight:200;display:flex}.rg-r-dot{opacity:.5;background:#d4907a;border-radius:50%;flex-shrink:0;width:3px;height:3px}.rg-btn{color:#fff;letter-spacing:.3em;cursor:pointer;background:linear-gradient(135deg,#e8708a,#c4506a);border:none;border-radius:100px;width:100%;margin-bottom:14px;padding:20px;font-family:Noto Serif JP,serif;font-size:13px;font-weight:200;transition:opacity .2s;display:block;box-shadow:0 8px 24px #c4506a40}.rg-btn:active{opacity:.85}.rg-login{text-align:center;letter-spacing:.18em;color:#c4a0b0;background:0 0;border:.5px solid #c4789033;border-radius:100px;margin-bottom:36px;padding:14px;font-size:11px;font-weight:200;text-decoration:none;display:block}.rg-note{letter-spacing:.09em;color:#d4b8c4;text-align:center;margin-bottom:32px;font-size:10px;font-weight:200;line-height:2.1}.rg-footer{text-align:center;padding:0 24px}.rg-footer-links{flex-wrap:wrap;justify-content:center;gap:5px 12px;margin-bottom:10px;display:flex}.rg-fl-link{letter-spacing:.08em;color:#d4b8c4;font-size:9px;font-weight:200;text-decoration:none}.rg-copy{letter-spacing:.08em;color:#d4b8c4;font-size:9px;font-weight:200}.rg-error{color:#d4607a;text-align:center;letter-spacing:.05em;margin-bottom:16px;font-size:12px}.contact-form-wrap{background:#fff;border:1px solid #ede8e0;border-radius:20px;padding:32px}.blog-list-grid{gap:20px;display:grid}.blog-list-card{background:#fff;border:1px solid #ede8e0;border-radius:18px;overflow:hidden}.blog-list-card__thumb{object-fit:cover;width:100%;height:200px;display:block}.blog-list-card__body{padding:22px 24px 26px}.blog-list-card__meta{letter-spacing:.2em;color:#5a534d8c;margin-bottom:10px;font-size:11px;font-weight:200}.blog-list-card__title{letter-spacing:.06em;margin-bottom:12px;font-size:16px;font-weight:300;line-height:1.6}.blog-list-card__title a{color:#1a1814;text-decoration:none}.blog-list-card__title a:hover{color:#e8547a}.blog-list-card__excerpt{letter-spacing:.06em;color:#5a534d;margin-bottom:16px;font-size:13px;font-weight:200;line-height:1.9}.blog-list-card__more{letter-spacing:.15em;color:#e8547a;font-size:12px;font-weight:300;text-decoration:none}.announce-list{gap:16px;display:grid}.announce-card{background:#fff;border:1px solid #ede8e0;border-radius:16px;padding:22px 24px}.announce-card__meta{letter-spacing:.2em;color:#5a534d8c;margin-bottom:8px;font-size:11px;font-weight:200}.announce-card__title{letter-spacing:.08em;color:#1a1814;margin-bottom:10px;font-size:15px;font-weight:300;line-height:1.6}.announce-card__body{letter-spacing:.07em;color:#5a534d;white-space:pre-wrap;font-size:13px;font-weight:200;line-height:2}.announce-card__img{object-fit:cover;border-radius:10px;width:100%;margin-top:14px}.terms-section{background:#fff;border:1px solid #ede8e0;border-radius:16px;gap:20px;margin-bottom:16px;padding:24px 24px 26px;display:flex}.terms-section--important{background:#fdf6f9;border-color:#e8547a59}.terms-section__num{letter-spacing:.04em;color:#e8547a59;flex-shrink:0;width:36px;padding-top:2px;font-family:Cormorant Garamond,Georgia,serif;font-size:28px;font-weight:200;line-height:1.2}.terms-section__content{flex:1;min-width:0}.terms-section__title{letter-spacing:.1em;color:#1a1814;margin-bottom:12px;font-size:14px;font-weight:400;line-height:1.5}.terms-section__body{letter-spacing:.07em;color:#5a534d;margin-bottom:10px;font-size:13px;font-weight:200;line-height:2.1}.terms-section__list{counter-reset:terms-ol;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.terms-section__list-item{letter-spacing:.06em;color:#5a534d;counter-increment:terms-ol;align-items:flex-start;gap:10px;font-size:13px;font-weight:200;line-height:1.9;display:flex}.terms-section__list-item:before{content:"";opacity:.45;background:#e8547a;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:8px}.terms-section__note{background:#fdf6f0;border-left:2px solid #e8547a;border-radius:10px;margin-top:14px;padding:12px 16px;display:flex}.terms-section--important .terms-section__note{background:#e8547a0f}.terms-section__note-text{letter-spacing:.06em;color:#7a4050;font-size:12px;font-weight:200;line-height:1.9}.terms-updated{text-align:center;letter-spacing:.2em;color:#5a534d80;margin-top:32px;font-size:11px;font-weight:200}@media (max-width:600px){.terms-section{gap:14px;padding:18px}.terms-section__num{width:28px;font-size:22px}}@keyframes esprit-twinkle{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}@keyframes esprit-float-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.guide-page{color:#1a1814;background:#fdf6f0;min-height:100vh;font-family:Noto Serif JP,serif}.guide-hero{text-align:center;background:#e8547a;padding:32px 32px 52px}.guide-hero__brand{letter-spacing:.28em;color:#ffffff8c;margin-bottom:14px;font-family:Cormorant Garamond,Georgia,serif;font-size:12px;font-weight:200}.guide-hero__title{color:#fff;letter-spacing:.08em;margin-bottom:10px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(32px,6vw,56px);font-weight:200;line-height:1.1}.guide-hero__sub{letter-spacing:.35em;color:#ffffffa6;margin-bottom:22px;font-size:11px;font-weight:200}.guide-hero__lead{letter-spacing:.1em;color:#ffffffd1;max-width:420px;margin:0 auto;font-size:13px;font-weight:200;line-height:2.2}.guide-wave{width:100%;margin-bottom:-2px;display:block}.guide-body{max-width:680px;margin:0 auto;padding:40px 20px 72px}.guide-section-label{letter-spacing:.45em;color:#e8547a;opacity:.75;margin-top:4px;margin-bottom:20px;font-size:10px;font-weight:300;display:block}.guide-about{background:#fff;border:1px solid #ede8e0;border-radius:20px;margin-bottom:36px;padding:28px}.guide-about__title{letter-spacing:.06em;color:#1a1814;margin-bottom:14px;font-family:Cormorant Garamond,Georgia,serif;font-size:24px;font-weight:200}.guide-about__body{letter-spacing:.07em;color:#5a534d;font-size:13px;font-weight:200;line-height:2.3}.guide-price-pill{letter-spacing:.12em;color:#b83058;background:#fdeef3;border:1px solid #e8547a38;border-radius:100px;margin-top:16px;padding:8px 20px;font-size:12px;font-weight:300;display:inline-block}.guide-steps{margin-bottom:40px}.guide-step{gap:18px;display:flex}.guide-step__left{flex-direction:column;flex-shrink:0;align-items:center;width:48px;display:flex}.guide-step__num{color:#fff;letter-spacing:.05em;background:#e8547a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-family:Cormorant Garamond,Georgia,serif;font-size:20px;font-weight:200;display:flex}.guide-step__line{background:#e8547a38;flex:1;width:1px;min-height:20px;margin:5px 0}.guide-step__body{background:#fff;border:1px solid #ede8e0;border-radius:16px;flex:1;margin-bottom:14px;padding:22px 22px 26px}.guide-step__title{letter-spacing:.1em;color:#1a1814;margin-bottom:10px;font-size:15px;font-weight:300}.guide-step__desc{letter-spacing:.07em;color:#5a534d;font-size:13px;font-weight:200;line-height:2.1}.guide-step__note{background:#fdf6f0;border-left:2px solid #e8547a;border-radius:10px;align-items:flex-start;margin-top:14px;padding:12px 16px;display:flex}.guide-step__note-text{letter-spacing:.06em;color:#7a4050;font-size:12px;font-weight:200;line-height:1.9}.guide-step__list{gap:6px;margin-top:12px;display:grid}.guide-step__list-item{letter-spacing:.06em;color:#5a534d;align-items:flex-start;gap:10px;font-size:12px;font-weight:200;line-height:1.9;display:flex}.guide-step__list-item:before{content:"";opacity:.5;background:#e8547a;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:7px}.guide-faq{margin-top:8px;margin-bottom:36px}.guide-faq__item{background:#fff;border:1px solid #ede8e0;border-radius:14px;margin-bottom:10px;padding:20px 22px}.guide-faq__q{letter-spacing:.08em;color:#1a1814;align-items:flex-start;gap:12px;margin-bottom:10px;font-size:14px;font-weight:300;display:flex}.guide-faq__badge{color:#fff;background:#e8547a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;font-family:Cormorant Garamond,Georgia,serif;font-size:12px;display:flex}.guide-faq__a{letter-spacing:.07em;color:#5a534d;padding-left:36px;font-size:13px;font-weight:200;line-height:2.1}.guide-safety{background:#fff;border:1px solid #ede8e0;border-radius:20px;margin-bottom:36px;padding:24px 28px}.guide-safety__grid{gap:14px;display:grid}.guide-safety__item{align-items:flex-start;gap:14px;display:flex}.guide-safety__icon{background:#fdeef3;border:1px solid #e8547a26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.guide-safety__text{letter-spacing:.07em;color:#5a534d;padding-top:6px;font-size:13px;font-weight:200;line-height:1.9}.guide-cta{text-align:center;background:#e8547a;border-radius:20px;padding:36px 24px}.guide-cta__title{color:#fff;letter-spacing:.06em;margin-bottom:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:28px;font-weight:200}.guide-cta__sub{letter-spacing:.22em;color:#ffffffb8;margin-bottom:22px;font-size:12px;font-weight:200}.guide-cta__btn{color:#e8547a;letter-spacing:.25em;background:#fff;border-radius:4px;padding:15px 44px;font-family:Noto Serif JP,serif;font-size:12px;font-weight:300;text-decoration:none;transition:opacity .18s;display:inline-block}.guide-cta__btn:hover{opacity:.88}@media (max-width:600px){.guide-hero{padding:20px 20px 40px}.guide-body{padding:28px 16px 56px}.guide-about,.guide-step__body,.guide-faq__item,.guide-safety{border-radius:14px;padding:18px}}
