:root{--bg:#fff;--ground:#f3f5fb;--fg:#1c2340;--muted:#5d6685;--line:#d5daea;--brand:#3f4a9c;--brand-fg:#fff;--btn-a:#5aa6f2;--btn-b:#2f6fd6;--btn-line:#1f4fa8;--teal:#12a8b8;--tag:#e3ebf7;--star:#f0a81c;--card:#fff;--sky-a:#8fd0f5;--sky-b:#fbe3b8;--tower:#6f8fc4;--tower2:#9db6dc;--desk:#b98452;--ink:#17204a;--display:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;--body:"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141831;--ground:#0d1024;--fg:#e9ecfa;--muted:#a2aacb;--line:#333a63;--brand:#2f3880;--tag:#262d55;--card:#1b2042;--teal:#3fc6d4;color-scheme:dark}}:root[data-theme=dark]{--bg:#141831;--ground:#0d1024;--fg:#e9ecfa;--muted:#a2aacb;--line:#333a63;--brand:#2f3880;--tag:#262d55;--card:#1b2042;--teal:#3fc6d4;color-scheme:dark}*{box-sizing:border-box}body{background:var(--ground);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.7}button,input,select{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.app{max-width:1040px;margin:0 auto;background:var(--bg);min-height:100%;position:relative}.bar{position:-webkit-sticky;position:sticky;top:env(safe-area-inset-top,0);z-index:20;background:var(--brand);color:var(--brand-fg);display:flex;align-items:center;gap:24px;padding:10px 16px}.logo{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:.04em}.bar .find,.logo{text-decoration:none}.bar .find{font-size:15px}.bar .burger{margin-left:auto;background:none;border:0;color:var(--brand-fg);font-size:22px;line-height:1;cursor:pointer;padding:4px 6px}.menu{position:fixed;inset:0;z-index:40;background:var(--bg);padding:calc(16px + env(safe-area-inset-top,0px)) 24px 24px;display:flex;flex-direction:column;gap:4px}.menu .x{align-self:flex-end;background:none;border:0;font-size:28px;cursor:pointer;line-height:1}.menu a{font-size:17px;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}.wrap{padding-inline:16px}.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky-a),var(--sky-b) 78%)}.hero svg{display:block;width:100%;height:auto}.hero.tall svg{min-height:520px}.hero .over{position:absolute;inset:0;padding:24px 16px;display:flex;flex-direction:column;color:#fff;text-shadow:-1.5px -1.5px 0 var(--ink),1.5px -1.5px 0 var(--ink),-1.5px 1.5px 0 var(--ink),1.5px 1.5px 0 var(--ink),0 3px 6px rgba(0,0,0,.35)}.hero .head{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.hero .big{font-weight:800;font-size:clamp(40px,11vw,64px);line-height:1;letter-spacing:.02em}.hero .big,.hero .sub{font-family:var(--display)}.hero .sub{font-weight:700;font-size:14px;text-align:center}.hero .tag{font-weight:700;font-size:13px;line-height:1.5;padding-top:4px}.hero h1{font-size:clamp(22px,6vw,34px);line-height:1.5;text-align:center;margin:20px 0 0;text-wrap:balance}.hero .ask,.hero h1{font-family:var(--display);font-weight:800}.hero .ask{margin-top:auto;font-size:24px}.hero form{display:flex;gap:8px;margin-top:8px;text-shadow:none}.hero input{flex:1 1;min-width:0;border:0;padding:12px 16px;background:#fff;color:#1c2340;font-size:16px}.hero form button{border:0;background:var(--brand);color:#fff;padding:0 16px;font-weight:700;cursor:pointer}.cats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;padding-block:16px;max-width:520px;margin:0 auto}.cat{aspect-ratio:1/1;border:2px solid var(--btn-line);border-radius:10px;background:linear-gradient(180deg,var(--btn-a),var(--btn-b));color:#fff;font-family:var(--display);font-weight:700;font-size:14px;line-height:1.3;cursor:pointer;box-shadow:0 3px 0 var(--btn-line);padding:4px}.cat:active{transform:translateY(2px);box-shadow:0 1px 0 var(--btn-line)}section.block{padding-block:32px}h2{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.4;margin:0 0 16px;text-wrap:balance}.reasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:20px;gap:20px;margin:0;padding:0;list-style:none}.reasons b{display:block;font-family:var(--display);font-size:16px;color:var(--brand)}:root[data-theme=dark] .reasons b{color:var(--teal)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .reasons b{color:var(--teal)}}.reasons p,.steps p{margin:4px 0 0;color:var(--muted);font-size:14px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin:0;padding:0;list-style:none;counter-reset:s}.steps li{counter-increment:s;border-top:3px solid var(--brand);padding-top:10px}.steps li:before{content:"STEP " counter(s);font-weight:800;font-size:12px;letter-spacing:.12em;color:var(--teal)}.steps b,.steps li:before{font-family:var(--display)}.steps b{display:block;font-size:16px}.promo{background:var(--brand);color:var(--brand-fg);padding:28px 16px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}.promo p{margin:0;max-width:34em}.cta{display:inline-block;border:0;cursor:pointer;text-decoration:none;text-align:center;font-family:var(--display);font-weight:800;color:#fff;background:linear-gradient(180deg,#39b6c8,var(--brand));padding:12px 28px;font-size:18px}.filters{display:flex;flex-wrap:wrap;gap:10px;padding-block:14px 6px;align-items:center}select{border:1px solid var(--fg);background:var(--bg);padding:4px 8px;border-radius:0}.sortrow,select{font-size:13px}.sortrow select{border:0;color:var(--teal);padding-left:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:14px;gap:14px;padding-block:10px 32px}.card{border:1px solid var(--fg);background:var(--card);padding:10px 12px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:10px;width:100%}.card .top{display:grid;grid-template-columns:64px 1fr;grid-gap:10px;gap:10px}.who{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px}.av{width:56px;height:56px;border-radius:50%;background:linear-gradient(160deg,#8ea0e0,var(--brand));display:grid;place-items:center;flex:none}.av svg{width:60%;fill:#fff}.follow{border:1px solid var(--teal);color:var(--teal);font-size:10px;padding:0 6px;border-radius:2px}.card h3{font-family:var(--body);font-weight:500;font-size:16px;line-height:1.35;margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tags{display:flex;flex-wrap:wrap;gap:4px}.tags span{background:var(--tag);color:var(--teal);font-size:10px;padding:0 6px}.meta{font-size:11px;color:var(--muted);line-height:1.8;margin-top:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.meta .p{color:var(--fg)}.star{color:var(--star)}.bio{border-top:1px solid var(--fg);padding-top:8px;font-size:11.5px;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.empty{padding:32px 0;color:var(--muted)}.detail{max-width:640px;margin:0 auto;padding-block:12px 96px;display:flex;flex-direction:column;gap:24px}.crumb{font-size:12px}.crumb,.crumb a{color:var(--muted)}.dhead{display:grid;grid-template-columns:56px 1fr;grid-gap:12px;gap:12px;align-items:center}.dhead h1{font-size:17px;line-height:1.5;margin:0;font-weight:700}.dhead small{color:var(--teal);font-weight:700}.video{aspect-ratio:16/9;max-width:100%;background:linear-gradient(160deg,var(--tower2),var(--brand));display:grid;place-items:center;color:#fff;font-size:13px;grid-gap:6px;gap:6px;text-align:center}.video .av{width:84px;height:84px;margin:0 auto}.detail h2{font-size:17px;margin:0 0 8px}.detail p{margin:0 0 8px;font-size:14px}.hl{color:var(--teal);font-weight:700}.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.ghost{border:1px solid var(--line);background:var(--card);padding:10px;cursor:pointer;font-size:13px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.slots{overflow-x:auto}.slots table{border-collapse:collapse;width:100%;font-size:11px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slots th{font-weight:500;color:var(--muted);padding:4px}.slots td{padding:2px}.slots i{display:block;height:16px;border-radius:3px;background:var(--tag)}.slots i.on{background:var(--teal)}.review{display:grid;grid-template-columns:36px 1fr;grid-gap:10px;gap:10px;font-size:13px}.review .av{width:36px;height:36px}.review time{color:var(--muted);font-size:11px;display:block}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:10px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;padding:6px 4px;cursor:pointer;font-weight:700;color:var(--muted)}.tabs button[aria-selected=true]{color:var(--teal);border-color:var(--teal)}.pack{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:8px 12px;margin-bottom:8px;box-shadow:0 1px 3px rgba(0,0,0,.08);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--card)}.pack b{font-size:16px}.pack small{display:block;color:var(--muted);font-size:11px}.pack .off{margin-left:auto;border:1px solid var(--teal);color:var(--teal);font-size:11px;padding:0 6px;border-radius:3px}details{border-bottom:1px solid var(--line);padding:8px 0;font-size:13px}summary{cursor:pointer;color:var(--muted)}details ul{margin:8px 0 0;padding-left:20px}.buy{position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--bg);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}.buy div{max-width:640px;margin:0 auto;display:flex;gap:10px;align-items:center}.buy .pr{color:var(--teal);font-weight:700;font-size:17px;line-height:1.2;margin-right:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.buy .pr small{display:block;color:var(--muted);font-weight:400;font-size:11px}.buy .go{background:var(--teal);color:#fff;border:0;padding:10px 16px;font-weight:700;cursor:pointer}.calc{border:1px solid var(--fg);padding:16px;max-width:420px;margin:24px auto 16px;display:flex;flex-direction:column;gap:10px;background:var(--card)}.calc h2{font-size:17px;margin:0}.calc select{width:100%;padding:6px 8px}.calc label{font-size:12px;color:var(--muted)}.calc .lbl{font-size:11px;font-weight:700;margin-top:10px}.calc output{font-size:30px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.calc output small{font-size:13px}.note{font-size:12px;color:var(--muted);max-width:420px;margin:0 auto}.center{align-items:stretch;max-width:420px;margin:0 auto 16px;gap:12px}.apply,.center{display:flex;flex-direction:column}.apply{gap:10px;border:1px solid var(--line);padding:16px;background:var(--card)}.apply input,.apply textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--fg);padding:8px;font:inherit}.toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;font-size:13px;z-index:50;max-width:calc(100% - 32px);border-radius:4px}footer{padding:24px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;flex-wrap:wrap;gap:8px 20px}html{padding:0}.bar details{margin-left:auto;position:relative}.bar summary{list-style:none;cursor:pointer;font-size:22px;line-height:1;padding:4px 6px;color:var(--brand-fg)}.bar summary::-webkit-details-marker{display:none}.bar details{border:0;padding:0}.drop{position:absolute;right:0;top:36px;background:var(--bg);color:var(--fg);border:1px solid var(--line);min-width:220px;display:flex;flex-direction:column;box-shadow:0 6px 20px rgba(0,0,0,.18)}.drop a,.drop button{padding:12px 16px;text-decoration:none;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-size:15px;cursor:pointer;width:100%}.page{max-width:720px;margin:0 auto;padding-block:20px 48px;display:flex;flex-direction:column;gap:28px}.page h1{font-family:var(--display);font-size:22px;margin:0}.form{display:flex;flex-direction:column;gap:8px}.form input,.form select,.form textarea{border:1px solid var(--line);background:var(--bg);color:var(--fg);padding:8px;width:100%;font:inherit}.form label{font-size:12px;color:var(--muted)}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0;font-size:14px}.row .grow{flex:1 1;min-width:0}.btn{border:1px solid var(--fg);background:var(--bg);padding:6px 12px;cursor:pointer;font-size:13px;text-decoration:none;display:inline-block}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:700}.slotlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.slotlist button{width:100%;border:1px solid var(--teal);background:var(--card);color:var(--fg);padding:8px;cursor:pointer;font-size:13px;line-height:1.4}.slotlist small{display:block;color:var(--teal);font-weight:700}.msg{max-width:80%;padding:8px 12px;border-radius:12px;background:var(--tag);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.msg.me{align-self:flex-end;background:var(--brand);color:#fff}.chat{flex-direction:column;min-height:240px}.chat,.send{display:flex;gap:8px}.send input{flex:1 1;min-width:0;border:1px solid var(--line);background:var(--bg);color:var(--fg);padding:10px;font-size:16px}.alert{border:1px solid var(--star);padding:10px 12px;font-size:13px}img.av{object-fit:cover}body{margin:0}img{max-width:100%}[hidden]{display:none!important}