:root{--navy:#162d44;--navy-soft:#31516d;--ink:#243849;--muted:#71808b;--paper:#fff;--line:#e4e8e8;--rose:#b95a62;--blue:#e9f0f4;--green:#06c755;--brand:#0281bd;--brand-deep:#01567e;--brand-action:#0274aa;--brand-wash:#f5fafc;--brand-line:#d5eaf4;--brand-mint:#14d08a;--radius:18px}.entry-section,.faq-section,.hero,.how-section,.site-footer,.site-header{--navy:var(--brand-deep);--navy-soft:var(--brand-deep);--ink:#333;--muted:#586c77;--line:var(--brand-line);--rose:var(--brand);color:var(--ink)}.review-list{display:grid;gap:20px}.review-reason{font-size:12px;color:var(--navy-soft);background:#f5f7f8;padding:15px;border-radius:8px;margin:20px 0}.review-decision{margin-top:17px;padding:15px;border-left:3px solid #bfccd5;font-size:12px;color:var(--muted)}.review-request{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}.review-request summary{cursor:pointer;font-size:11px;color:var(--navy-soft)}.review-request .field{margin-top:18px}.review-request .button{margin-top:17px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a:focus-visible,button:focus-visible{outline:3px solid #729ab8;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid #789bb8;outline-offset:1px}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--navy);line-height:1.55}h1{letter-spacing:.03em}small{font-size:13px;color:var(--muted)}.preview-bar{display:flex;justify-content:space-between;gap:16px;padding:7px max(24px,calc((100vw - 1200px) / 2));background:#e8eef3;color:var(--navy-soft);font-size:11px;letter-spacing:.03em}.preview-bar a{font-weight:700}.site-header{height:104px;max-width:1280px;margin:auto;padding:0 40px;justify-content:space-between;gap:24px}.brand,.site-header{display:flex;align-items:center}.brand{gap:13px}.brand-mark{font-family:Georgia,serif;font-size:39px;font-weight:700;letter-spacing:-3px;line-height:1;color:var(--brand)}.brand-text{display:flex;flex-direction:column;border-left:1px solid var(--brand-line);padding-left:13px;font-size:11px;line-height:1.6;font-weight:700;letter-spacing:.18em}.brand-text span{font-size:13px;letter-spacing:.12em;font-weight:500}.site-header nav{display:flex;gap:30px;align-items:center;font-size:14px}.nav-account{border:1px solid var(--brand-line);border-radius:30px;padding:9px 19px}.nav-account span{margin-left:12px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--navy-soft);font-size:12px;font-weight:700;letter-spacing:.2em}.eyebrow span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rose)}.hero{max-width:1200px;margin:0 auto;min-height:525px;padding:58px 52px 68px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 90% 24%,#e9faf350,transparent 58%),radial-gradient(ellipse at 72% 72%,#eaf5fa80,transparent 62%)}.hero h1{color:var(--ink);font-size:clamp(35px,3.6vw,53px);font-weight:600;line-height:1.6;margin:25px 0 20px;letter-spacing:.09em}.hero-description{font-size:16px;line-height:2.15;color:#586c77}.hero-anchor{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:275px;border-bottom:1px solid var(--brand-line);padding:25px 0 10px;font-size:14px;font-weight:700}.hero-anchor span{font-size:20px}.hero-visual{position:relative;align-self:center;min-height:365px;padding:48px 20px 36px;isolation:isolate}.visual-orbit{position:absolute;border-radius:50%;z-index:-1}.orbit-one{width:345px;height:345px;background:#eaf5fa;top:-2px;right:0}.orbit-two{width:220px;height:220px;border:1px solid #c6e6f2;bottom:-17px;left:-22px}.visual-label{position:absolute;right:2px;top:0;font-size:12px;line-height:1.8;color:#426778;text-align:right;letter-spacing:.08em}.connection-card{max-width:285px;background:white;border:1px solid var(--brand-line);border-radius:14px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 16px 40px #01567e0b}.card-owner{margin-left:8px}.card-friend{margin-left:58px}.connection-card small{display:block;font-size:11px;letter-spacing:.15em;color:#586c77}.connection-card strong{font-size:16px;font-weight:500}.avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;font-size:21px}.avatar-blue{background:#eaf5fa;color:var(--brand-deep)}.avatar-rose{background:#e6f9f0;color:#087454}.card-check{margin-left:auto;color:#087454;border:1px solid #bbe6d4;border-radius:50%;font-size:9px;width:18px;height:18px;display:grid;place-items:center}.connection-line{height:70px;display:flex;align-items:center;gap:12px;margin-left:115px;color:#3f6d82;font-size:12px;letter-spacing:.07em}.connection-line i{font-style:normal;font-size:27px;font-weight:300}.visual-chip{font-size:12px;color:#426778;display:flex;align-items:center;gap:9px;margin:20px 0 0 65px}.visual-chip span{border:1px solid #c6e6f2;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}.entry-section,.faq-section,.how-section{max-width:1096px;margin:auto;padding:74px 0}.section-intro h2{font-size:30px;font-weight:500;letter-spacing:.06em;margin:13px 0 12px}.section-intro p:last-child{color:var(--muted);font-size:15px}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:36px}.entry-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:34px;position:relative}.step-tag{font-size:12px;letter-spacing:.1em;color:#586c77}.entry-icon{position:absolute;right:34px;top:34px;border-radius:12px;width:44px;height:44px;display:grid;place-items:center;font-weight:700}.line-icon{font-size:11px;background:#e5f7eb;color:#29915a}.mail-icon{background:#eaf5fa;color:var(--brand-deep);font-size:24px;font-weight:300}.entry-card h3{font-size:23px;font-weight:500;margin:23px 0 14px}.entry-card p{font-size:15px;color:#586c77;line-height:2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border:0;border-radius:8px;padding:14px 23px;min-height:49px;font-size:15px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{background:var(--navy);color:white}.button-primary:hover:not(:disabled){background:#294a66}.entry-section .button-primary{background:var(--brand-action)}.entry-section .button-primary:hover:not(:disabled){background:var(--brand-deep)}.button-line{background:#169b56;color:white}.button-line:hover{background:#138849}.button-muted{background:#eff3f3;color:#7d8d95;cursor:default}.button-outline{background:transparent;color:var(--navy);border:1px solid #c5d0d6}.entry-card .button{width:100%;margin-top:25px}.entry-card>small{display:block;margin-top:13px;font-size:13px}.how-section{border-top:1px solid var(--line)}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:39px}.how-number{font-family:Georgia,serif;font-size:36px;font-weight:400;color:var(--brand)}.how-grid h3{font-size:18px;font-weight:500;margin:11px 0}.how-grid p{font-size:15px;color:var(--muted);line-height:2}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.5fr;gap:64px}.faq-section h2{font-size:28px;font-weight:500;margin:14px 0}.faq-section>div>p:last-child{font-size:15px;color:var(--muted)}.faq-list details{border-bottom:1px solid var(--line);padding:19px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{list-style:none;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:space-between;gap:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--brand-action);font-size:19px}.faq-list details p{font-size:15px;color:var(--muted);padding:15px 0 2px}.site-footer{padding:48px max(28px,calc((100vw - 1096px) / 2));background:var(--navy);color:#fff}.footer-brand{font-family:Georgia,serif;font-size:23px;letter-spacing:.05em;display:flex;gap:22px;align-items:center}.footer-brand span{font-family:inherit;font-size:13px;letter-spacing:.15em;border-left:1px solid #548ba5;padding-left:22px}.site-footer>p{font-size:13px;color:#d5eaf4;margin-top:9px}.footer-bottom{display:flex;justify-content:space-between;margin-top:35px;border-top:1px solid #548ba5;padding-top:20px;font-size:12px;color:#d5eaf4}.narrow-page{max-width:730px;padding:50px 24px 90px;margin:auto;min-height:65vh}.page-heading{text-align:center;margin-bottom:35px}.page-heading .eyebrow{justify-content:center}.page-heading h1{font-size:29px;font-weight:500;margin:13px 0}.page-heading p:last-child{color:var(--muted);font-size:15px}.progress-steps{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:25px;font-size:13px;color:#89959e}.progress-steps i{font-style:normal;color:#c1cbd1}.progress-steps .active{color:var(--navy);font-weight:700}.admin-card,.form-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:34px}.form-card>h2{font-size:20px;font-weight:500;margin:15px 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.field{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;font-weight:500}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;border:1px solid #d4dfe4;border-radius:7px;padding:12px 13px;background:#fff;color:var(--ink);font-size:16px;line-height:1.6;margin-top:1px}.field textarea{resize:vertical}.field small{display:block;line-height:1.6;font-size:12px;font-weight:400}.field-wide{grid-column:1/-1}.required{font-size:10px;color:#aa6570;background:#f7edef;padding:1px 5px;border-radius:3px;line-height:1.8;font-weight:500}.optional{font-size:12px;color:var(--muted)}.consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.9;color:#687982;margin:29px 0 25px}.consent input{margin-top:5px;flex:0 0 auto;accent-color:var(--navy);width:15px;height:15px}.full-width{width:100%}.form-footnote{font-size:12px;color:var(--muted);line-height:1.9;margin-top:13px}.form-error{color:#ab4550;background:#fbefef;border:1px solid #f1d6d9;border-radius:7px}.form-error,.form-success{padding:11px 15px;font-size:14px;margin:15px 0}.form-success{color:#416959;background:#edf6f0;border:1px solid #d5e6dc;border-radius:7px}.form-section{margin-top:32px!important}.section-heading{font-size:15px!important;margin:0 0 22px!important}.text-link{color:var(--navy-soft);font-size:14px;border:0;background:none;padding:0;font-weight:500}.success-panel{text-align:center;border:1px solid var(--line);background:white;border-radius:var(--radius);padding:48px 34px}.success-icon{margin:0 auto 22px;width:50px;height:50px;border-radius:50%;background:#eaf3ee;color:#4d7b66;font-size:23px}.success-panel h2{font-size:21px;font-weight:500;margin-bottom:16px}.success-panel>p{color:var(--muted);font-size:15px}.success-panel .text-link{display:block;margin-top:28px}.preview-note{background:#f0f4f7;border:1px dashed #bfccd5;border-radius:9px;padding:17px;font-size:11px;line-height:1.9;margin:20px 0;color:var(--navy-soft)}.preview-note code{word-break:break-all}.preview-note .button{margin-top:15px}.verification-text{color:var(--muted);font-size:15px;margin-bottom:26px}.copy-box{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 12px}.copy-box input{flex:1 1;min-width:160px;border:1px solid #d4dfe4;padding:11px;border-radius:7px;font-size:16px;background:#fafbfb;color:#5d7382}.copy-box .button{padding:12px 15px;font-size:14px;min-height:43px}.copy-box>p{width:100%}.status-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border-radius:30px;padding:4px 11px;font-size:9px;font-weight:500;background:#f0f3f5;color:#6c7d87}.status-active,.status-treated{background:#eaf4ee;color:#42725b}.status-cancelled,.status-stopped{background:#f8eded;color:#a5686c}.status-reserved{background:#eaf1f7;color:#517491}.status-visited{background:#f6f0e5;color:#937747}.account-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:29px 0}.account-stats>div{padding:0 20px;border-right:1px solid var(--line)}.account-stats>div:last-child{border-right:0}.account-stats span{font-size:13px;color:var(--muted)}.account-stats strong{display:block;font-size:27px;font-weight:500;color:var(--navy)}.account-stats small{margin-left:5px}.capacity-notice{padding:15px;border-radius:8px;background:#f3f6f7;font-size:14px;color:var(--navy-soft)}.receipt{padding:18px;letter-spacing:.1em}.admin-page{max-width:1200px;margin:auto;padding:37px 38px 85px;min-height:70vh}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.admin-heading h1{font-size:27px;font-weight:500;margin:7px 0 6px}.admin-heading p:last-child{font-size:12px;color:var(--muted)}.admin-heading .button{font-size:10px;min-height:38px;padding:10px 17px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metric{background:white;border:1px solid var(--line);border-radius:13px;padding:20px 25px}.metric p{color:var(--muted);font-size:10px}.metric strong{font-size:31px;font-weight:500;color:var(--navy)}.metric small{font-size:11px;margin-left:7px}.admin-tabs{display:flex;gap:27px;border-bottom:1px solid #d7e1e6;margin:30px 0 25px;overflow:auto}.admin-tabs button{flex-shrink:0;border:0;background:none;font-size:12px;padding:11px 0 13px;color:#7a8b96;border-bottom:2px solid transparent}.admin-tabs button.active{color:var(--navy);border-color:var(--navy);font-weight:600}.referrer-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-card{padding:27px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.small-label{color:#84939d;font-size:9px;letter-spacing:.03em}.card-title h2{font-size:19px;font-weight:500;margin-top:3px}.muted{color:var(--muted);font-size:11px}.referrer-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-top:16px}.referrer-count strong{font-size:34px;font-weight:500;color:var(--navy)}.referrer-count>span{font-size:11px;color:#6d8290}.referrer-count small{margin-left:auto;font-size:10px}.card-actions{display:flex;justify-content:space-between;gap:12px;margin:17px 0}.table-card{padding:23px 0}.table-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 25px 16px}.table-heading h2{font-size:17px;font-weight:500}.table-heading>span{font-size:10px;color:var(--muted)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:11px;white-space:nowrap}th{font-weight:500;color:#7a8c99;background:#f7f9fa;padding:11px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:15px 20px;border-bottom:1px solid #edf0f2}tr:last-child td{border-bottom:0}td small{display:block;font-size:9px;margin-top:3px}td strong{font-weight:500;font-size:12px}.booking-actions{display:flex;gap:6px}.booking-actions button{border:1px solid #d5dfe5;border-radius:5px;background:white;padding:4px 8px;color:var(--navy-soft);font-size:9px}.table-card>.form-footnote{padding:0 25px}.settings-card{max-width:900px}.settings-card>.table-heading{padding:0 0 25px}.settings-card h3{font-size:14px;font-weight:500;margin-bottom:20px}.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.settings-footer p{font-size:10px;color:var(--muted);max-width:480px}.settings-footer .button{flex-shrink:0}.preview-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.notification-list{padding:0;list-style:none;font-size:11px}.notification-list li{display:flex;gap:25px;padding:10px 0;border-top:1px solid var(--line)}@media (max-width:1100px){.entry-section,.faq-section,.how-section{margin:0 40px}.hero{padding-left:40px;padding-right:40px}.hero-visual{transform:scale(.9);transform-origin:center}.hero h1{font-size:40px}}@media (max-width:760px){.site-header{height:82px;padding:0 23px}.site-header nav>a:not(.nav-account){display:none}.site-header nav{gap:0}.nav-account{padding:7px 11px;font-size:12px}.brand-mark{font-size:32px}.brand-text{font-size:10px}.brand-text span{font-size:11px}.preview-bar{padding:6px 20px;font-size:9px}.preview-bar>span{max-width:220px}.hero{grid-template-columns:1fr;gap:24px;padding:38px 25px 35px}.hero h1{font-size:clamp(25px,7.35vw,35px);line-height:1.65;margin:19px 0}.hero-description{font-size:15px}.hero-visual{width:330px;max-width:100%;margin:5px auto 0;min-height:333px;transform:none}.orbit-one{width:285px;height:285px}.connection-card{max-width:255px;padding:17px}.card-friend{margin-left:35px}.visual-label{right:5px;top:5px;font-size:11px}.visual-chip{margin-left:35px;font-size:11px}.entry-section,.faq-section,.how-section{margin:0 25px;padding:43px 0}.section-intro h2{font-size:25px}.section-intro p:last-child{font-size:14px}.entry-grid{grid-template-columns:1fr;gap:18px;margin-top:28px}.entry-card{padding:27px}.entry-card h3{font-size:21px}.entry-icon{right:27px;top:27px}.how-grid{grid-template-columns:1fr;gap:24px;margin-top:25px}.how-grid article{display:grid;grid-template-columns:42px 1fr;gap:0 15px}.how-number{grid-row:1/3;font-size:29px}.how-grid h3{margin:0 0 8px;font-size:16px}.how-grid p{font-size:14px}.faq-section{grid-template-columns:1fr;gap:28px}.faq-list summary{font-size:14px}.narrow-page{padding:34px 20px 55px}.page-heading h1{font-size:25px}.progress-steps{gap:10px;font-size:12px}.form-card,.success-panel{padding:25px 22px}.form-grid{grid-template-columns:1fr;gap:20px}.field-wide{grid-column:auto}.field{font-size:14px}.form-card>h2{font-size:18px}.copy-box input{flex-basis:100%}.copy-box .button{width:100%}.account-stats>div{padding:0 10px}.account-stats strong{font-size:23px}.account-stats span{font-size:12px}.admin-page{padding:26px 20px 55px}.admin-heading{align-items:flex-start}.admin-heading h1{font-size:23px}.admin-heading p:last-child{font-size:10px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px}.metric p{font-size:9px}.metric strong{font-size:28px}.admin-tabs{gap:24px;margin-top:22px}.admin-tabs button{font-size:11px}.referrer-grid{grid-template-columns:1fr}.admin-card{padding:23px}.table-card{padding:20px 0}.settings-footer{flex-direction:column;align-items:stretch;gap:16px}.settings-footer .button{justify-content:center}.footer-bottom{gap:15px;font-size:12px}.site-footer{padding:35px 25px}.notification-list li{gap:12px;flex-wrap:wrap}}