:root{font-family:Roboto,Arial,sans-serif;color:#353535;font-synthesis:none;text-rendering:optimizeLegibility;font-weight:400;font-size:16px;--blue:#60a6d2;--dark:#202020}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}.site-header{height:74px;padding:0 clamp(30px,3vw,48px);background:transparent;color:#fff;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;width:100%;z-index:4}.brand{height:100%;display:flex;align-items:center;gap:9px}.brand-heart{width:38px;height:34px;object-fit:contain}.brand-name{display:block;width:115px;height:20px;object-fit:contain}.brand-heart .heart-cut{fill:#202020}.brand-name{font-size:20px;letter-spacing:-.8px;color:#fff}.brand-name strong{font-weight:400;color:#73aed2}.header-actions{display:flex;align-items:center;gap:22px}.language-control{display:flex;align-items:center;gap:8px;color:#e6e6e6}.globe{font-size:22px;line-height:1}.language-control select{background:transparent;color:inherit;border:0;font:inherit;cursor:pointer;outline:none}.language-control option{color:#333}.login-link{display:inline-flex;align-items:center;justify-content:center;background:#60a6d2;color:white;padding:10px 26px;border-radius:3px;font-weight:500;box-shadow:0 2px 5px #1118}.hero{height:97.5vh;min-height:620px;position:relative;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;background-image:url('assets/homepage.jpg');background-size:cover;background-position:center 65%;color:#fff}.hero-copy{width:50%;max-width:700px;text-align:center;padding:0 28px;margin-top:-2vh}.hero h1{font-size:clamp(40px,4.45vw,64px);font-weight:400;line-height:1.15;margin:0 0 20px;text-shadow:0 3px 6px #0006}.hero h2{font-size:clamp(21px,2vw,24px);font-weight:400;line-height:1.45;margin:0 0 20px;text-shadow:0 3px 6px #0006}.button-link{display:inline-block}.primary-button{background:#60a6d2;color:#fff;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:0 27px;font-size:20px;font-weight:500;box-shadow:0 3px 9px #0004;transition:background .15s,transform .15s}.button-link:hover .primary-button{background:#4b95c2;transform:translateY(-1px)}.benefits{position:absolute;bottom:0;left:0;width:100%;min-height:56px;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,52px);padding:12px 24px;font-size:16px}.benefits div{display:flex;align-items:center;gap:10px}.benefits i{width:12px;height:12px;border-radius:50%;background:#60a6d2;display:block;flex:none}.seo-links{min-height:64px;display:flex;align-items:center;justify-content:center;gap:12px;background:#eee;color:#454545;font-size:14px;flex-wrap:wrap;padding:16px}.seo-links a:hover{text-decoration:underline;color:#257cae}.section-muted{background:#eee}.stories{text-align:center;padding:64px 5vw}.stories>h2,.how-it-works>h2{margin:0 0 32px;font-size:30px;font-weight:400}.story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;max-width:1120px;margin:0 auto 32px}.story{padding:0 12px}.story img{width:200px;height:200px;object-fit:cover;border-radius:50%;border:1px solid #ddd}.story h3{font-size:17px;line-height:1.45;font-weight:500;min-height:50px;margin:13px 0 8px}.story p{color:#777;margin:0}.stories .primary-button,.how-it-works .primary-button{font-size:18px}.how-it-works{text-align:center;padding:64px 5vw}.how-it-works>h2{margin-bottom:9px}.how-it-works>h3{font-size:17px;font-weight:400;margin:0 0 34px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;max-width:930px;margin:0 auto 34px}.step{position:relative;padding:0 15px}.step-number{position:absolute;left:8%;top:3px;width:35px;height:35px;border-radius:50%;background:#60a6d2;color:#fff;display:grid;place-items:center;font-size:18px}.step-icon{height:156px;display:flex;justify-content:center;align-items:center;color:#60a6d2}.step-icon svg{width:156px;height:156px;fill:#60a6d2}.step h3{font-size:19px;margin:0 0 10px}.step p{line-height:1.55;margin:0;font-size:15px}footer{text-align:center;background:#565656;color:#fff;padding:28px 20px 20px;font-size:14px}footer p{margin:0 0 13px}.footer-languages{display:flex;justify-content:center;gap:8px 15px;flex-wrap:wrap}.footer-languages button{border:0;background:none;color:#fff;text-decoration:underline;cursor:pointer;font:inherit;padding:3px}.copyright{margin:23px 0 0;color:#ddd;font-size:12px}.language-gate{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(18,25,31,.76);backdrop-filter:blur(5px)}.language-gate.visible{display:flex}.gate-card{width:calc(100vw - 40px);max-width:500px;min-width:0;padding:38px 35px 35px;text-align:center;background:#fff;border-radius:9px;box-shadow:0 18px 80px #0005}.gate-heart{font-size:36px;color:#60a6d2}.gate-eyebrow{letter-spacing:3px;color:#777;font-size:12px;margin:8px 0}.gate-card h2{margin:10px 0;font-size:27px;font-weight:500}.gate-card>p:not(.gate-eyebrow){color:#777;margin:0 0 22px}.language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.language-options button{min-width:0;height:48px;border:1px solid #ddd;background:#fff;border-radius:5px;color:#454545;font:500 15px Roboto,Arial,sans-serif;cursor:pointer;transition:.15s}.language-options button:hover{border-color:#60a6d2;color:#277cac;background:#f4faff}.loading-overlay{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:1000;background:rgba(18,24,30,.93);color:#fff;display:none;align-items:center;justify-content:center;text-align:center}.loading-overlay.visible{display:flex}.loading-content{display:flex;align-items:center;flex-direction:column;gap:22px}.loader-ring{width:66px;height:66px;border:4px solid #ffffff33;border-top-color:#60a6d2;border-right-color:#60a6d2;border-radius:50%;animation:spin .85s linear infinite}.loading-label{font-size:24px;margin:0}.loading-countdown{font-size:18px;color:#d5d5d5;margin:0;min-height:23px}@keyframes spin{to{transform:rotate(360deg)}}body.modal-open{overflow:hidden}@media(min-width:1450px){.hero{background-position:65% 65%}}@media(max-width:900px){.hero{height:97.5vh;min-height:620px;background-position:75% center}.hero-copy{width:58%;padding:0 18px}.hero h1{font-size:clamp(36px,6vw,52px)}.benefits{gap:13px;font-size:12px}.benefits div{gap:7px}.benefits i{width:9px;height:9px}.story-grid{gap:16px}.story img{width:150px;height:150px}.story{padding:0 4px}}@media(max-width:650px){.site-header{height:62px;padding:0 15px}.brand-heart{width:32px;height:29px}.brand-name{width:102px;height:auto}.header-actions{gap:12px}.language-control{gap:4px}.language-control select{max-width:98px;font-size:13px}.login-link{padding:9px 14px;font-size:14px}.hero{height:97.5svh;min-height:680px;max-height:none;align-items:flex-start;background-position:69% center}.hero-copy{width:100%;max-width:none;padding:80px 22px 0;margin:0}.hero h1{font-size:clamp(36px,10vw,48px);margin-bottom:15px}.hero h2{font-size:20px;line-height:1.4;margin-bottom:18px}.primary-button{font-size:18px;min-height:48px;padding:0 22px}.benefits{display:grid;grid-template-columns:1fr;justify-content:start;gap:7px;min-height:92px;padding:11px 20px;font-size:12px}.benefits div{justify-content:flex-start}.seo-links{gap:7px 9px;font-size:12px;padding:14px 10px;min-height:68px}.stories{padding:32px 16px 38px}.stories>h2,.how-it-works>h2{font-size:25px;margin-bottom:24px}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px;margin-bottom:27px}.story img{width:124px;height:124px}.story h3{font-size:15px;min-height:44px;margin:10px 0 6px}.how-it-works{padding:38px 20px 42px}.how-it-works>h3{font-size:15px;line-height:1.5;margin-bottom:25px}.steps{grid-template-columns:1fr;gap:28px;margin-bottom:28px}.step{max-width:360px;margin:auto}.step-icon{height:92px}.step-icon svg{width:92px;height:92px}.step-number{left:3%;top:0}.step p{font-size:14px}.gate-card{padding:32px 20px 24px}.gate-card h2{font-size:23px}.language-options button{font-size:14px}.loading-label{font-size:20px}.loading-content{gap:18px}}@media(max-width:370px){.brand-name{width:95px}.header-actions{gap:8px}.login-link{padding:8px 10px}.hero-copy{padding-top:64px}.hero h2{font-size:18px}}
.overlay-language{position:absolute;top:24px;right:clamp(18px,4vw,56px);display:flex;align-items:center;gap:9px;color:#eee;font-size:20px}.overlay-language select{appearance:none;border:1px solid #ffffff55;border-radius:4px;background:#202830;color:#fff;padding:9px 34px 9px 12px;font:14px Roboto,Arial,sans-serif;cursor:pointer}.overlay-language option{color:#222}

.inner-page{min-height:70vh;max-width:1180px;margin:0 auto;padding:34px 5vw 64px}.back-button,.secondary-button{border:1px solid #d6dce0;background:#fff;color:#4f7185;border-radius:4px;padding:10px 14px;font:500 14px Roboto,Arial,sans-serif;cursor:pointer}.inner-page>h1{font-size:32px;font-weight:400;margin:25px 0}.view-panel{background:#f5f7f8;border:1px solid #e7eaec;border-radius:7px;padding:22px}.view-tools{display:flex;gap:12px;margin-bottom:20px}.view-tools input,.view-tools select,.view-form input,.view-form select{min-height:44px;border:1px solid #cfd6da;border-radius:4px;background:#fff;padding:0 12px;font:16px Roboto,Arial,sans-serif}.view-tools input{flex:1}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.member-card{background:#fff;border:1px solid #e3e7e9;border-radius:6px;overflow:hidden}.member-card>img{width:100%;height:220px;object-fit:cover}.member-card-body{padding:14px}.member-card h3{margin:0 0 7px;font-size:18px}.member-card p{margin:0 0 14px;color:#737b80;font-size:14px}.online-dot{display:inline-block;width:8px;height:8px;background:#62b47a;border-radius:50%}.view-button{background:#60a6d2;color:#fff;border:0;border-radius:4px;padding:9px 14px;font:500 14px Roboto,Arial,sans-serif;cursor:pointer}.view-form{max-width:480px;display:grid;gap:18px;padding:24px;background:#f5f7f8;border-radius:7px}.view-form label{display:grid;gap:8px;font-weight:500}.view-form .primary-button{border:0;cursor:pointer}.form-status{min-height:22px;margin:0;color:#397a52}.view-intro{color:#67747b;line-height:1.6}.story-detail{display:flex;align-items:center;gap:34px;max-width:850px;padding:25px;background:#f5f7f8;border-radius:7px}.story-detail>img{width:260px;height:260px;object-fit:cover;border-radius:6px}.story-detail blockquote{margin:12px 0;font-size:24px;line-height:1.5;color:#444}.story-detail h2{font-weight:500}.story-detail .primary-button,.message-panel button{border:0;cursor:pointer}.message-panel{text-align:center;padding:52px 20px}.message-icon{font-size:50px;color:#60a6d2}.message-panel p{margin:14px auto 24px;max-width:500px;line-height:1.6}.view-empty{text-align:center;padding:30px;color:#727b80}.story[role=link],.step[role=link]{cursor:pointer}.story[role=link]:hover h3,.step[role=link]:hover h3{color:#438db8}.story[role=link]:focus-visible,.step[role=link]:focus-visible{outline:2px solid #60a6d2;outline-offset:4px}
@media(max-width:650px){.inner-page{padding:24px 16px 44px}.inner-page>h1{font-size:27px;margin:20px 0}.view-panel{padding:14px}.view-tools{flex-direction:column}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-card>img{height:160px}.member-card-body{padding:10px}.member-card h3{font-size:15px}.member-card p{font-size:12px;line-height:1.45}.story-detail{display:block;padding:18px}.story-detail>img{width:100%;height:auto;max-height:300px}.story-detail blockquote{font-size:20px}.view-form{padding:18px}.message-panel{padding:35px 16px}}
.why-choose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding:50px 5vw;background:#fff}.why-column h2{font-size:24px;font-weight:400;margin:0 0 14px}.why-column p{font-size:15px;line-height:1.65;margin:0;color:#555}.otherlangs{background:#565656;color:#fff;text-align:center;padding:14px 18px}.otherlangs .footer-languages{display:inline-flex;margin-left:12px;gap:8px}.footer-languages button{font-size:13px}.site-footer{background:#eee!important;color:#737778!important;text-align:left!important;padding:28px clamp(16px,4vw,60px)!important}.site-footer h2,.site-footer h3{color:#565656;font-size:18px;font-weight:400;margin:0 0 12px}.site-footer h3{margin-top:22px}.partner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.partner-grid>div,.footer-columns>div{display:flex;flex-direction:column;align-items:flex-start}.site-footer a{display:block;color:#737778;font-size:14px;margin:0 0 7px;cursor:pointer}.site-footer a:hover{text-decoration:underline}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}.social-dots{display:flex;gap:8px}.social-dots span{width:36px;height:36px;border-radius:50%;background:#60a6d2;color:white;display:grid;place-items:center;font-weight:700}.trademark{background:#565656;color:#fff;text-align:center;padding:10px;font-size:12px}.inner-page{background:#fff}
@media(max-width:800px){.why-choose{gap:20px;padding:38px 4vw}.why-column h2{font-size:20px}.why-column p{font-size:14px}.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.why-choose{grid-template-columns:1fr;padding:30px 20px;gap:25px}.otherlangs .footer-languages{display:flex;margin:9px auto 0;justify-content:center}.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.site-footer{padding:24px 16px!important}.site-footer a{font-size:12px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 15px}.social-dots span{width:30px;height:30px}}
/* JapanCupid's native loading treatment: rotating Cupid heart on a dim full-screen layer. */
.loading-overlay{background:rgba(0,0,0,.5)}
.loading-content{gap:0;width:100%;padding:24px}
.cupid-spinner{display:block;width:38px;height:34px;margin:8px;object-fit:contain;animation:cm-heart-spin 2s infinite ease}
.loading-label{color:#fff;font-size:30px;font-weight:400;line-height:1.2;margin:.83em 0;text-shadow:0 1px 2px rgba(0,0,0,.22);overflow-wrap:anywhere}
.loading-countdown{color:#fff;font-size:18px;margin:0}
@keyframes cm-heart-spin{0%{transform:rotateY(0deg)}100%{transform:rotateY(360deg)}}
@media(max-width:650px){.loading-label{font-size:24px}}
