:root{--navy-900:#06162B;--navy-800:#0B2545;--navy-700:#133466;--blue-500:#2E7DF7;--blue-400:#5B9DFA;--blue-100:#E7F0FE;--line-green:#048338;--line-green-dark:#036B2D;--bg-tint:#F4F8FC;--white:#FFFFFF;--ink:#10203A;--ink-soft:#4C5C77;--ink-faint:#5C6E88;--border-soft:#DFE8F4;--font-jp:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,"Noto Sans CJK JP",sans-serif;--font-jp-body:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,"Noto Sans CJK JP",sans-serif;--font-num:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--max-w:1200px;--radius-sm:10px;--radius-md:16px;--radius-lg:28px;--shadow-card:0 10px 30px -12px rgba(11,37,69,0.18);--shadow-cta:0 12px 28px -8px rgba(6,199,85,0.45)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-jp-body);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-bottom:78px}@media (min-width:900px){body{padding-bottom:0}}.pc-only{display:none}@media (min-width:700px){.pc-only{display:inline}}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}button{font-family:inherit;border:none;background:none;cursor:pointer}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}}:focus-visible{outline:3px solid var(--blue-500);outline-offset:3px}.container{max-width:var(--max-w);margin:0 auto;padding:0 20px}.section{padding:72px 0}.section--tight{padding:56px 0}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:0.06em;color:var(--blue-500);margin-bottom:14px}.eyebrow::before{content:"";width:18px;height:2px;background:var(--blue-500);display:inline-block}.section-title{font-family:var(--font-jp);font-weight:900;font-size:clamp(26px,6vw,40px);line-height:1.35;color:var(--navy-800);letter-spacing:0.01em}.section-title em{font-style:normal;color:var(--blue-500)}.section-lead{margin-top:14px;font-size:15px;color:var(--ink-soft);line-height:1.9}.section-head{text-align:center;margin-bottom:40px}.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--line-green);color:var(--white);font-weight:700;font-size:16px;padding:17px 30px;border-radius:100px;box-shadow:var(--shadow-cta);transition:transform 0.2s ease;position:relative;isolation:isolate}.btn-line::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 12px 34px -6px rgba(6,199,85,0.65);opacity:0;z-index:-1;animation:pulse-cta 2.6s ease-in-out infinite;pointer-events:none}.btn-line:hover{transform:translateY(-2px)}.btn-line svg{flex-shrink:0}.line-icon{flex-shrink:0;display:inline-block}.header-cta .line-icon{margin-right:2px}.jump-nav{position:sticky;top:64px;z-index:45;background:var(--white);border-bottom:1px solid var(--border-soft);box-shadow:0 4px 10px -8px rgba(11,37,69,0.2)}.jump-nav-scroll{display:flex;gap:8px;overflow-x:auto;padding:10px 16px;scrollbar-width:none;-ms-overflow-style:none}.jump-nav-scroll::-webkit-scrollbar{display:none}.jump-nav-scroll a{flex-shrink:0;font-size:13px;font-weight:700;color:var(--navy-800);background:var(--bg-tint);border:1px solid var(--border-soft);padding:8px 16px;border-radius:100px;white-space:nowrap;transition:background 0.2s ease,color 0.2s ease}.jump-nav-scroll a:hover,.jump-nav-scroll a:active{background:var(--blue-100);color:var(--blue-500)}[id]{scroll-margin-top:116px}@media (min-width:900px){.jump-nav{display:none}[id]{scroll-margin-top:84px}}@keyframes pulse-cta{0%,100%{opacity:0}50%{opacity:1}}.cta-note{margin-top:12px;font-size:12.5px;color:var(--ink-faint);text-align:center}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{display:flex;align-items:center}.logo-img{height:42px;width:auto;display:block}@media (min-width:900px){.logo-img{height:52px}}.main-nav{display:none;gap:28px;font-size:13.5px;font-weight:500;color:var(--ink-soft)}.main-nav a{transition:color 0.2s ease}.main-nav a:hover{color:var(--blue-500)}.header-cta{display:none}@media (min-width:900px){.main-nav{display:flex}.header-cta{display:inline-flex;align-items:center;gap:8px;background:var(--line-green);color:var(--white);font-weight:700;font-size:13.5px;padding:10px 20px;border-radius:100px}}.top-banner-section{background:var(--white);line-height:0}.top-banner-img{width:100%;max-width:1600px;margin:0 auto;height:auto;display:block}.cashback-section{background:var(--white);padding:18px 0 34px}.cashback-glow{position:relative;max-width:880px;margin:0 auto;border-radius:16px}.cashback-glow::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 32px 70px -10px rgba(216,48,68,0.8);opacity:0;z-index:0;animation:cashback-glow-pulse 1.9s ease-in-out infinite;pointer-events:none}.cashback-wrap{display:block;position:relative;z-index:1;border-radius:16px;overflow:hidden;box-shadow:0 20px 44px -16px rgba(150,20,40,0.45);animation:cashback-scale 1.9s ease-in-out infinite;transform-origin:center}@media (hover:hover){.cashback-wrap:hover{transform:scale(1.045)}}.cashback-img{width:100%;height:auto;display:block}.cashback-wrap::after{content:"";position:absolute;top:0;left:-160%;width:55%;height:100%;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,0.75) 50%,transparent 100%);transform:skewX(-20deg);animation:cashback-shine 2.4s ease-in-out infinite;pointer-events:none}@keyframes cashback-scale{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes cashback-glow-pulse{0%,100%{opacity:0}50%{opacity:1}}@keyframes cashback-shine{0%{transform:translateX(0%)}60%{transform:translateX(581.82%)}100%{transform:translateX(581.82%)}}.hero{position:relative;background:radial-gradient(120% 100% at 15% 0%,#123064 0%,var(--navy-900) 62%);color:var(--white);padding:40px 0 0;overflow:hidden}.hero-inner{padding:28px 0 56px;position:relative;z-index:2}.hero-badges-top{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.pill{font-size:12px;font-weight:700;padding:7px 13px;border-radius:100px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.16);color:#CFE0FB;white-space:nowrap}.hero-eyebrow{font-size:13.5px;font-weight:500;color:#9FBBEE;margin-bottom:10px}.hero-headline{font-family:var(--font-jp);font-weight:900;font-size:clamp(34px,10.2vw,58px);line-height:1.28;letter-spacing:0.01em}.hero-headline .num{font-family:var(--font-num);color:var(--blue-400);font-weight:800}.hero-sub{margin-top:18px;font-size:clamp(15px,4vw,18px);font-weight:700;color:#E4EEFC;line-height:1.7}.hero-badges{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:26px}.hero-badge{font-size:12.5px;font-weight:700;color:var(--navy-800);background:var(--white);border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:6px;line-height:1.4}.hero-badge::before{content:"✓";color:var(--blue-500);font-weight:900;flex-shrink:0}.hero-cta{margin-top:30px}.hero-cta .btn-line{width:100%}.hero-cta .cta-note{color:#9FBBEE}.hero-skyline{width:100%;height:auto;display:block}@media (min-width:860px){.hero-inner{padding:56px 0 90px}.hero-copy{max-width:640px}.hero-badges{grid-template-columns:repeat(2,1fr);max-width:380px}.hero-cta{display:flex;align-items:center;gap:18px}.hero-cta .btn-line{width:auto;padding-left:40px;padding-right:40px}.hero-cta .cta-note{margin-top:0;text-align:left}}.stats-strip{margin-top:-1px;background:var(--navy-800);padding-bottom:0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,0.1);border-radius:var(--radius-md);overflow:hidden;transform:translateY(28px)}.stat-card{background:var(--white);padding:22px 16px;text-align:center}.stat-num{font-family:var(--font-num);font-weight:800;font-size:clamp(26px,6vw,34px);color:var(--blue-500);line-height:1}.stat-num small{font-size:15px;font-weight:700;margin-left:2px}.stat-label{margin-top:8px;font-size:12.5px;font-weight:700;color:var(--ink-soft);line-height:1.5}@media (min-width:700px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.hero-spacer{height:44px}.pain-grid{display:grid;grid-template-columns:1fr;gap:12px}.pain-card{display:flex;align-items:center;gap:14px;background:var(--bg-tint);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:18px 20px;font-weight:700;font-size:14.5px;color:var(--navy-800)}.pain-card .mark{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--white);border:1.5px solid var(--blue-100);color:var(--blue-500);display:flex;align-items:center;justify-content:center;font-family:var(--font-num);font-weight:800;font-size:15px}.pain-resolve{margin-top:28px;text-align:center;background:var(--blue-100);border-radius:var(--radius-md);padding:24px 20px}.pain-resolve p{font-weight:700;color:var(--navy-800);font-size:15px;line-height:1.8;margin-bottom:18px}@media (min-width:700px){.pain-grid{grid-template-columns:repeat(2,1fr)}}.dorm-section{background:var(--bg-tint)}.dorm-layout{display:grid;gap:28px}.dorm-visual{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:5/4;background:linear-gradient(150deg,#E7F0FE 0%,#C9DDFB 100%);position:relative;border:1px solid var(--border-soft)}.dorm-visual .room-illustration{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dorm-amenities{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.amenity{background:var(--white);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:14px 8px;text-align:center;font-size:11.5px;font-weight:700;color:var(--navy-800)}.amenity .icon{margin-bottom:6px;color:var(--blue-500)}.dorm-note{margin-top:16px;font-size:12px;color:var(--ink-faint);line-height:1.7}@media (min-width:860px){.dorm-layout{grid-template-columns:1fr 1fr;align-items:center}}.highlight-grid{display:grid;grid-template-columns:1fr;gap:20px}.highlight-card{background:var(--white);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform 0.25s ease}.highlight-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -14px rgba(11,37,69,0.24)}.highlight-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--bg-tint)}.highlight-media img{width:100%;height:100%;object-fit:cover;display:block}.highlight-num{position:absolute;top:14px;left:14px;width:38px;height:38px;border-radius:50%;background:var(--navy-800);color:var(--white);font-family:var(--font-num);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(6,22,43,0.35)}.highlight-body{padding:22px 22px 26px}.highlight-body h3{font-family:var(--font-jp);font-weight:900;font-size:18px;color:var(--navy-800);display:flex;flex-direction:column;gap:5px;line-height:1.4}.highlight-body h3 span{font-family:var(--font-jp-body);font-weight:700;font-size:13px;color:var(--blue-500)}.highlight-body p{margin-top:13px;font-size:13.5px;color:var(--ink-soft);line-height:1.85}@media (min-width:700px){.highlight-grid{grid-template-columns:repeat(2,1fr)}}.job-grid{display:grid;grid-template-columns:1fr;gap:16px}.job-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow:hidden;background:var(--white);box-shadow:var(--shadow-card);transition:transform 0.25s ease}.job-card:hover{transform:translateY(-4px)}.job-card-visual{aspect-ratio:16/10;background:var(--bg-tint);position:relative;overflow:hidden}.job-card-visual img{width:100%;height:100%;object-fit:cover;display:block}.job-card-body{padding:18px 20px 22px}.job-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.job-card-tags span{font-size:11px;font-weight:700;background:var(--blue-100);color:var(--blue-500);padding:4px 9px;border-radius:100px}.job-card-title{font-family:var(--font-jp);font-weight:900;font-size:17px;color:var(--navy-800)}.job-card-salary{margin-top:10px;font-size:12px;color:var(--ink-faint);font-weight:500}.job-card-salary .amount{font-family:var(--font-num);font-weight:800;font-size:22px;color:var(--blue-500);margin-right:2px}.job-disclaimer{margin-top:24px;font-size:12px;color:var(--ink-faint);background:var(--bg-tint);border-radius:var(--radius-sm);padding:14px 16px;line-height:1.7}@media (min-width:700px){.job-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1000px){.job-grid{grid-template-columns:repeat(4,1fr)}}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.category-item{background:var(--white);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:18px 12px;text-align:center}.category-item .icon{color:var(--blue-500);margin-bottom:10px}.category-item span{font-size:12.5px;font-weight:700;color:var(--navy-800)}@media (min-width:700px){.category-grid{grid-template-columns:repeat(5,1fr)}}.support-section{background:var(--bg-tint)}.support-grid{display:grid;grid-template-columns:1fr;gap:14px}.support-card{background:var(--white);border-radius:var(--radius-md);padding:22px;border:1px solid var(--border-soft)}.support-num{font-family:var(--font-num);font-weight:800;font-size:12px;color:var(--blue-500);letter-spacing:0.06em;margin-bottom:12px}.support-card h3{font-family:var(--font-jp);font-weight:900;font-size:16px;color:var(--navy-800);margin-bottom:8px}.support-card p{font-size:13px;color:var(--ink-soft);line-height:1.8}@media (min-width:700px){.support-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1000px){.support-grid{grid-template-columns:repeat(3,1fr)}}.flow-section{background:var(--bg-tint)}.flow-timeline{position:relative;padding-left:34px}.flow-timeline::before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--blue-500),var(--border-soft))}.flow-step{position:relative;padding-bottom:34px}.flow-step:last-child{padding-bottom:0}.flow-step::before{content:attr(data-step);position:absolute;left:-34px;top:0;width:32px;height:32px;border-radius:50%;background:var(--navy-800);color:var(--white);font-family:var(--font-num);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}.flow-step h3{font-family:var(--font-jp);font-weight:900;font-size:16.5px;color:var(--navy-800)}.flow-step p{margin-top:6px;font-size:13px;color:var(--ink-soft);line-height:1.7}.faq-list{display:flex;flex-direction:column;gap:10px}.faq-item{border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow:hidden;background:var(--white)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;text-align:left;font-weight:700;font-size:14.5px;color:var(--navy-800)}.faq-question .q-mark{color:var(--blue-500);font-family:var(--font-num);font-weight:800;flex-shrink:0}.faq-question .chevron{flex-shrink:0;transition:transform 0.25s ease;color:var(--ink-faint)}.faq-item[data-open="true"] .chevron{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.3s ease}.faq-answer-inner{padding:0 20px 20px 44px;font-size:13.5px;color:var(--ink-soft);line-height:1.8}.final-cta{background:linear-gradient(160deg,var(--navy-800),var(--navy-900));color:var(--white);text-align:center;padding:76px 0 88px;position:relative;overflow:hidden}.final-cta .section-title{color:var(--white);font-size:clamp(28px,7vw,42px)}.final-cta .section-lead{color:#B9CDEE;font-size:16px;font-weight:700}.final-cta .btn-line{margin-top:30px;font-size:17px;padding:20px 34px}.final-cta .cta-note{color:#9FBBEE}.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;background:var(--white);box-shadow:0 -8px 24px rgba(11,37,69,0.14);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px}.sticky-cta .btn-line{width:100%;padding:14px 18px;font-size:14.5px;animation:none}.sticky-cta .btn-line::before{animation:none;opacity:0}@media (min-width:900px){.sticky-cta{display:none}}.site-footer{background:var(--navy-900);color:#7E93B9;padding:40px 0 100px;font-size:12px}@media (min-width:900px){.site-footer{padding:40px 0}}.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:20px}.footer-logo{display:inline-flex;align-items:center;background:var(--white);padding:8px 14px;border-radius:10px}.footer-logo img{height:28px;width:auto;display:block}.footer-nav{display:flex;flex-wrap:wrap;gap:16px}.footer-copy{color:#5E7398}.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.card-hover{transition:transform 0.25s ease}.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(6,22,43,0.6);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;transition:opacity 0.25s ease,visibility 0.25s ease}.modal-overlay.is-open{opacity:1;visibility:visible}.modal-dialog{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;transform:translateY(16px) scale(0.98);transition:transform 0.25s ease;box-shadow:0 30px 70px -20px rgba(6,22,43,0.5)}.modal-overlay.is-open .modal-dialog{transform:translateY(0) scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.modal-header h2{font-family:var(--font-jp);font-weight:900;font-size:17px;color:var(--navy-800)}.modal-close{width:34px;height:34px;border-radius:50%;background:var(--bg-tint);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close:hover{background:var(--blue-100);color:var(--blue-500)}.modal-body{padding:22px 24px 30px;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-company{background:var(--bg-tint);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:16px 18px;font-size:13px;color:var(--ink-soft);line-height:1.85;margin:0 0 22px}.modal-company strong{font-family:var(--font-jp);font-weight:900;font-size:14.5px;color:var(--navy-800)}.modal-body h3{font-family:var(--font-jp);font-weight:900;font-size:14.5px;color:var(--navy-800);border-left:3px solid var(--blue-500);padding-left:10px;margin:22px 0 10px;line-height:1.5}.modal-body h3:first-of-type{margin-top:0}.modal-body p{font-size:13px;color:var(--ink-soft);line-height:1.9;margin:0 0 4px}.modal-note{font-size:11.5px;color:var(--ink-faint);line-height:1.8}.modal-contact{background:var(--navy-800);color:var(--white);border-radius:var(--radius-md);padding:18px 20px;margin-top:16px}.modal-contact h3{color:#CFE0FB;border-left:none;padding-left:0;margin:0 0 12px;font-size:13px}.modal-contact dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:7px 14px;font-size:12.5px}.modal-contact dt{color:#9FBBEE;font-weight:700;white-space:nowrap}.modal-contact dd{margin:0;font-weight:600}body.modal-open{overflow:hidden}