@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}img,picture,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}:root{--red: #db3636;--red-deep: #b81e1e;--blue: #3d77b8;--blue-deep: #285880;--navy: #142438;--navy-soft: #1d3450;--green: #06c755;--green-deep: #04a648;--ink: #16202e;--ink-soft: #5a6675;--bg: #ffffff;--bg-soft: #f3f6fb;--border: #e3e9f1;--radius: 18px;--radius-lg: 26px;--radius-xl: 34px;--shadow: 0 8px 30px -12px rgba(20,36,56,.16);--shadow-lg: 0 34px 80px -30px rgba(20,36,56,.36);--maxw: 1180px;--gut: clamp(1.25rem, 4vw, 3rem);--rail: clamp(42px, 3.2vw, 58px);--sans: "Plus Jakarta Sans", "Noto Sans JP", sans-serif}body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.8;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;letter-spacing:.01em}::selection{background:var(--red);color:#fff}h1,h2,h3{font-weight:800;line-height:1.24;letter-spacing:-.025em}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--sans);font-weight:700;font-size:.95rem;line-height:1;padding:.9rem 1.6rem;border:none;border-radius:14px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.btn svg{width:1.25em;height:1.25em;flex:none}.btn--xl{padding:1.15rem 2.3rem;font-size:1.06rem;border-radius:16px}.btn--block{width:100%}.btn--line{background:var(--green);color:#fff;box-shadow:0 12px 28px -10px #06c75580}.btn--line:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 18px 38px -12px #06c75599}.btn--primary{background:var(--red);color:#fff}.btn--primary:hover{background:var(--red-deep);transform:translateY(-2px)}.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--border)}.btn--ghost:hover{border-color:var(--ink);transform:translateY(-2px)}.btn--white{background:#fff;color:var(--ink)}.btn--white:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.site-header{position:sticky;top:0;z-index:50;background:#ffffffe6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:72px}.logo img{height:26px;width:auto}.nav{display:flex;align-items:center;gap:1.7rem;margin-left:auto}.nav__link{position:relative;font-size:.9rem;font-weight:600;color:var(--ink-soft);white-space:nowrap;transition:color .2s}.nav__link:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav__link:hover{color:var(--ink)}.nav__link:hover:after{transform:scaleX(1)}.header-cta{display:flex;align-items:center;gap:1rem}.header-tel{text-align:right;line-height:1.15}.header-tel strong{font-size:1.15rem;font-weight:800;color:var(--red);letter-spacing:.01em}.header-tel span{display:block;font-size:.58rem;font-weight:600;color:var(--ink-soft);letter-spacing:.03em}.hero{position:relative;background:#fff;overflow:hidden}.hero__vertical{position:absolute;top:0;right:0;bottom:0;z-index:6;width:var(--rail);display:flex;align-items:center;justify-content:center;background:var(--red);color:#fff;writing-mode:vertical-rl;text-orientation:mixed;font-size:.74rem;font-weight:700;letter-spacing:.34em}.hero__inner{position:relative;display:grid;grid-template-columns:1.02fr 1.04fr;min-height:clamp(470px,72vh,640px)}.hero__left{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.8rem,3.5vw,3rem) clamp(1.4rem,2.5vw,2.2rem) clamp(1.8rem,3vw,2.4rem) clamp(2rem,4vw,3.5rem)}.hero__brand{margin-bottom:clamp(1.1rem,3vh,1.9rem)}.hero__brand img{height:clamp(40px,4vw,52px);width:auto}.hero__brand small{display:block;margin-top:.55rem;font-size:.76rem;font-weight:700;color:var(--ink-soft);letter-spacing:.02em}.hero h1{font-size:clamp(2.4rem,5vw,4.1rem);line-height:1.18;letter-spacing:-.02em}.hero h1 .r{color:var(--red)}.hero__lead{margin-top:1.5rem;max-width:36ch;font-size:clamp(.92rem,1.1vw,1.04rem);line-height:1.95;color:var(--ink-soft)}.hero__right{position:relative;overflow:hidden;background:#eef2f7}.hero__collage{position:absolute;inset:0 0 0 -10%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:6px;background:#fff;clip-path:polygon(11% 0,100% 0,100% 100%,0 100%)}.hero__collage img{width:100%;height:100%;object-fit:cover}.hero__night{position:absolute;left:0;bottom:0;z-index:2;width:46%;height:30%;clip-path:polygon(0 42%,100% 0,100% 100%,0 100%);pointer-events:none}.hero__night img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__services{position:relative;z-index:4;background:var(--red);color:#fff}.hero__services-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.2rem;padding:1.05rem calc(var(--rail) + 2.6rem) 1.05rem clamp(1.5rem,4vw,3rem)}.hero__svc{display:flex;align-items:center;gap:.6rem;font-size:.84rem;font-weight:700}.hero__svc svg{width:25px;height:25px;flex:none}.hero__svc small{display:block;font-size:.65rem;font-weight:600;opacity:.82}.section{padding:clamp(3.5rem,8vh,6rem) 0}.section--soft{background:var(--bg-soft)}.section--navy{background:var(--navy);color:#fff}.section__head{max-width:46rem;margin:0 0 clamp(2rem,4vh,3rem)}.section__head.center{margin-inline:auto;text-align:center}.section__eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.section--navy .section__eyebrow{color:#7fb0e6}.section__title{margin-top:.7rem;font-size:clamp(1.7rem,3.6vw,2.5rem)}.section__lead{margin-top:1rem;max-width:42ch;color:var(--ink-soft)}.section__head.center .section__lead{margin-inline:auto}.section--navy .section__lead{color:#ffffffb3}.gateway{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,1.8rem)}.g3{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:transform .35s ease,box-shadow .35s ease}.g3:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.g3__photo{position:relative;aspect-ratio:16/10}.g3__photo .ph{position:absolute;inset:0}.g3__photo img{width:100%;height:100%;object-fit:cover}.g3__body{padding:1.5rem 1.6rem 1.8rem}.g3__head{display:flex;align-items:center;gap:.7rem}.g3__head svg{width:28px;height:28px;flex:none;color:var(--red)}.g3__head h3{font-size:1.15rem}.g3__body>p{margin-top:.7rem;font-size:.9rem;color:var(--ink-soft)}.g3__arrow{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.88rem;font-weight:700;color:var(--red-deep);transition:gap .25s ease}.g3:hover .g3__arrow{gap:.75rem}.linepromo{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,4vw,3rem);align-items:center;padding:clamp(2.4rem,5vw,3.8rem);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--green) 0%,var(--green-deep) 100%);color:#fff;box-shadow:0 40px 80px -36px #06c7558c}.linepromo:after{content:"";position:absolute;top:-80px;right:-80px;width:300px;height:300px;border-radius:50%;background:#ffffff1a}.linepromo__tag{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-radius:999px;background:#ffffff2e;font-size:.82rem;font-weight:700;letter-spacing:.06em}.linepromo__tag svg{width:1.1em;height:1.1em}.linepromo h2{margin:1.1rem 0 .9rem;font-size:clamp(1.7rem,3.8vw,2.7rem);letter-spacing:-.03em}.linepromo p{max-width:40ch;opacity:.95}.linesteps{margin-top:1.7rem}.linesteps__label{display:inline-block;padding:.32rem .85rem;border-radius:999px;background:#fff3;font-size:.72rem;font-weight:800;letter-spacing:.12em}.linesteps__row{display:flex;align-items:flex-start;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.linestep{display:flex;flex-direction:column;align-items:center;gap:.55rem}.linestep__num{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--green-deep);font-size:1.05rem;font-weight:800;box-shadow:0 8px 18px -6px #00000047}.linestep__txt{font-size:.8rem;font-weight:700;white-space:nowrap}.linestep__arrow{width:22px;height:22px;color:#ffffff8c;flex:none;margin-top:12px}.linepromo__cta{margin-top:1.8rem}.linecard{position:relative;z-index:1;padding:1.8rem;border-radius:var(--radius-lg);background:#fff;color:var(--ink);text-align:center;box-shadow:var(--shadow-lg)}.linecard__qr{width:150px;height:150px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:14px;background:repeating-linear-gradient(45deg,#eef1f5,#eef1f5 9px,#fff 9px 18px);font-size:.72rem;color:var(--ink-soft);text-align:center}.linecard__note{margin-top:.9rem;font-size:.84rem;color:var(--ink-soft)}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.svc{padding:2rem 1.8rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);transition:transform .25s,box-shadow .25s}.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.svc__no{font-size:.8rem;font-weight:800;letter-spacing:.1em;color:var(--blue)}.svc h3{margin:.6rem 0 .55rem;font-size:1.2rem}.svc p{font-size:.92rem;color:var(--ink-soft)}.svc-note{margin:2rem auto 0;text-align:center}.about{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}.about__logo{position:absolute;right:-1rem;bottom:1.5rem;width:min(34%,300px);opacity:.06;filter:brightness(0) invert(1);pointer-events:none;user-select:none}.about__photo{position:relative;z-index:1;aspect-ratio:4 / 3;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.about__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.about__badge{position:absolute;left:1rem;bottom:1rem;z-index:2;display:inline-flex;align-items:baseline;gap:.5rem;padding:.5rem .95rem;border-radius:999px;background:#0a121e99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fffc;font-size:.72rem;font-weight:600;letter-spacing:.12em}.about__badge b{color:#fff;font-weight:800;letter-spacing:.16em}.about__body{position:relative;z-index:1}.about__lead{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700;line-height:1.7;letter-spacing:-.01em}.about__text{margin-top:1.1rem;font-size:.96rem;color:#ffffffb8}.about__stats{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:2.2rem}.about__stat{position:relative;flex:0 1 calc(33.333% - .6rem);padding:1.15rem 1rem 1.2rem 1.4rem;background:#ffffff0b;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);overflow:hidden;transition:transform .3s ease,border-color .3s ease,background .3s ease}.about__stat:hover{transform:translateY(-4px);border-color:#fff3;background:#ffffff12}.about__stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.about__stat--red:before{background:var(--red)}.about__stat--blue:before{background:var(--blue)}.about__stat--grad:before{background:linear-gradient(180deg,var(--red),var(--blue))}.about__stat b{display:block;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1;white-space:nowrap}.about__stat .unit{font-size:.46em;font-weight:700;margin-left:.12em;color:#ffffffd9}.about__stat-label{display:block;margin-top:.6rem;font-size:.9rem;font-weight:700;color:#fff}.about__stat-sub{display:block;margin-top:.25rem;font-size:.72rem;font-weight:500;color:#ffffff80;line-height:1.5}.news-list{border-top:1px solid var(--border)}.news-item{display:flex;gap:1.5rem;align-items:baseline;padding:1.15rem 0;border-bottom:1px solid var(--border);transition:color .2s}.news-item:hover{color:var(--blue-deep)}.news-item time{font-size:.85rem;font-weight:600;color:var(--ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}.news-item .tag{padding:.25rem .7rem;border-radius:999px;background:#eef3f9;color:var(--blue-deep);font-size:.7rem;font-weight:700;letter-spacing:.05em;white-space:nowrap}.news-item p{font-size:.95rem;font-weight:600}.access{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(1.5rem,4vw,3rem);align-items:stretch}.access__map{position:relative;min-height:360px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.access__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.access__info{display:flex;flex-direction:column;justify-content:center}.access__addr{font-size:1.18rem;font-weight:800;line-height:1.65;letter-spacing:-.01em}.access__addr .access__zip{color:var(--red)}.access__list{display:flex;flex-direction:column;gap:.8rem;margin-top:1.3rem}.access__item{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;color:var(--ink-soft)}.access__item svg{width:20px;height:20px;margin-top:.2rem;flex:none;color:var(--red)}.access__item b{color:var(--ink);font-weight:700}.access__cta{margin-top:1.7rem}.page-hero{position:relative;padding:clamp(3rem,7vh,5rem) 0 clamp(2.5rem,5vh,3.5rem);background:linear-gradient(135deg,var(--navy),var(--navy-soft));color:#fff;overflow:hidden}.page-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;width:clamp(42px,3.2vw,58px);background:var(--red)}.breadcrumb{font-size:.82rem;color:#fff9}.breadcrumb a:hover{color:#fff}.page-hero__en{display:block;margin-top:1rem;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7fb0e6}.page-hero h1{margin-top:.5rem;font-size:clamp(1.9rem,4.5vw,3rem)}.page-hero__lead{margin-top:1rem;max-width:50ch;color:#fffc}.lead-block{max-width:46rem;margin:0 auto clamp(2.5rem,5vh,4rem);text-align:center}.lead-block h2{font-size:clamp(1.5rem,3.2vw,2.2rem)}.lead-block p{margin-top:1rem;color:var(--ink-soft)}.merit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.merit{padding:1.8rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.merit svg{width:32px;height:32px;color:var(--red)}.merit h3{margin:.8rem 0 .5rem;font-size:1.08rem}.merit p{font-size:.9rem;color:var(--ink-soft)}.flow{display:grid;gap:1.1rem}.flow__step{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;padding:1.4rem 1.7rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.flow__num{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--red);color:#fff;font-weight:800}.flow__step h3{font-size:1.08rem}.flow__step p{margin-top:.35rem;font-size:.92rem;color:var(--ink-soft)}.figure{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.figure .ph{position:absolute;inset:0}.figure img{width:100%;height:100%;object-fit:cover}.cta-band{padding:clamp(2.5rem,5vw,3.8rem);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--green),var(--green-deep));color:#fff;text-align:center}.cta-band h2{font-size:clamp(1.5rem,3.4vw,2.3rem)}.cta-band p{margin:.9rem auto 1.6rem;max-width:44ch;opacity:.95}.cta-band .btn--white{color:var(--green-deep);font-weight:800}.cta-band__btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media(max-width:880px){.merit-grid{grid-template-columns:1fr}.flow__step{grid-template-columns:auto 1fr}}.site-footer{padding:clamp(3rem,6vh,4.5rem) 0 2rem;background:var(--navy);color:#fff;font-size:.9rem}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem}.footer__logo-img{display:block;height:32px;width:auto}.footer__meta{margin-top:1.1rem;font-size:.83rem;line-height:1.95;color:#fff9}.footer__h{margin-bottom:1rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff80}.footer__list li{margin-bottom:.65rem}.footer__list a{color:#ffffffc7;transition:color .2s}.footer__list a:hover{color:#fff}.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;color:#ffffff80}.float-line{position:fixed;right:clamp(1rem,3vw,1.6rem);bottom:clamp(1rem,3vw,1.6rem);z-index:60;display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.4rem;border-radius:999px;background:var(--green);color:#fff;font-size:.9rem;font-weight:700;box-shadow:0 16px 36px -10px #06c75599;transition:transform .2s}.float-line svg{width:1.3em;height:1.3em}.float-line:hover{transform:translateY(-3px)}.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(22px);animation:reveal .85s cubic-bezier(.2,.7,.2,1) forwards}@keyframes reveal{to{opacity:1;transform:none}}.d1{animation-delay:.05s}.d2{animation-delay:.16s}.d3{animation-delay:.28s}.d4{animation-delay:.4s}@media(max-width:980px){.nav,.hero__vertical{display:none}.hero__inner{grid-template-columns:1fr;min-height:0}.hero__left{order:1;padding:2.2rem 1.5rem}.hero__right{order:2;min-height:300px}.hero__collage{left:0;clip-path:none}.hero__night{display:none}.hero__services-inner{justify-content:flex-start;gap:.8rem 1.4rem;padding-inline:clamp(1.5rem,5vw,2rem)}.gateway,.linepromo,.svc-grid,.about{grid-template-columns:1fr}.about__logo{top:-1.5rem;right:0;bottom:auto;width:60%}.about__stat{flex-basis:100%}.access{grid-template-columns:1fr}.access__map{min-height:280px}.footer-grid{grid-template-columns:1fr;gap:2.2rem}}@media(max-width:760px){.header-tel,.float-line{display:none}.hero h1{font-size:clamp(2.2rem,8.5vw,3rem)}.hero__svc small{display:none}.mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:.5rem;padding:.55rem;padding-bottom:calc(.55rem + env(safe-area-inset-bottom));background:#fffffff7;backdrop-filter:blur(10px);border-top:1px solid var(--border)}.mobile-bar .btn{flex:1;padding:.85rem .3rem;font-size:.82rem;border-radius:12px}body{padding-bottom:80px}.news-item{flex-wrap:wrap;gap:.5rem}}@media(max-width:480px){.linesteps__row{flex-direction:column;align-items:stretch;gap:.7rem}.linestep{flex-direction:row;align-items:center;justify-content:flex-start;gap:.9rem}.linestep__num{width:42px;height:42px}.linestep__arrow{display:none}}@media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1;transform:none}html{scroll-behavior:auto}}
