:root{--brand: #3751a7;--brand-light: #829fff;--brand-bg: #f6f8fb;--brand-bg-2: #f5f7f8;--ink: #000000;--ink-2: #2d2d2d;--ink-3: #707070;--ink-4: #c1c2c2;--line: #dcdcdd;--white: #ffffff;--cream: #fcf9eb;--peach: #ffbdab;--peach-light: #ffc8b7;--red: #e60000;--font-jp: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", system-ui, sans-serif;--font-en: "Outfit", "Noto Sans JP", system-ui, sans-serif;--container: 1200px;--container-narrow: 1000px;--radius-sm: 8px;--radius: 16px;--radius-lg: 20px;--radius-xl: 40px;--radius-pill: 999px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .06);--shadow: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-cta: 0 4px 4px rgba(0, 0, 0, .15)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-jp);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;letter-spacing:.04em;line-height:1.8}img,svg{display:block;max-width:100%}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}a{color:inherit;text-decoration:none}.en{font-family:var(--font-en);font-weight:700;letter-spacing:.04em}.wrap{max-width:var(--container);margin-inline:auto;padding-inline:0}.wrap-narrow{max-width:var(--container-narrow);margin-inline:auto;padding-inline:20px}.section{padding-block:120px}.section--bg{background:var(--brand-bg);border-radius:40px}.section--dark{background:var(--brand);color:var(--white)}.section-head{text-align:center;margin-bottom:64px}.section-head .en{display:block;font-size:20px;color:var(--brand);line-height:1.2;margin-bottom:16px;letter-spacing:.02em;word-spacing:-.2em}.section-head h2{margin:0;font-size:32px;font-weight:700;line-height:1.5}.section--dark .section-head .en{color:var(--white);opacity:.9}.container-label{display:inline-block;font-weight:700;font-size:24px;color:var(--brand);margin-bottom:40px}.site-header{position:sticky;top:0;z-index:50;background:var(--white);height:80px;display:flex;align-items:center;border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}.site-header.scrolled{border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;padding-inline:40px}.logo{font-family:var(--font-en);font-weight:700;font-size:20px;color:var(--brand);padding:8px 20px;border-radius:4px;background:var(--brand-bg);letter-spacing:.08em}.nav-ctas{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:var(--radius-pill);font-weight:700;font-size:14px;line-height:1.4;transition:transform .15s ease,box-shadow .15s ease,background-color .15s;white-space:nowrap}.btn-lg{padding:20px 32px;font-size:18px;min-width:220px;box-shadow:var(--shadow-cta)}.btn-xl{padding:24px 40px;font-size:18px;min-width:320px;box-shadow:var(--shadow-cta)}.btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btns .btn-lg{width:264px;flex:0 0 auto;position:relative;padding-left:60px;height:56px}.btns .btn-lg:nth-child(1){background:#f7931e;color:var(--white);border:2px solid #f7931e}.btns .btn-lg:nth-child(2){background:var(--white);color:#3751a7;border:2px solid #3751a7}.btns .btn-lg span{position:absolute;left:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;flex-shrink:0}.btns .btn-lg:nth-child(1) span{background:var(--white)}.btns .btn-lg:nth-child(2) span{background:#3751a7}.btn--outline-red{background:var(--white);color:var(--red);border:2px solid var(--red)}.btn--red{background:var(--red);color:var(--white);border:2px solid var(--red)}.btn--outline-red:hover,.btn--red:hover{transform:translateY(-2px);box-shadow:0 8px 16px #e6000040}.btn--brand{background:var(--brand);color:var(--white);border:2px solid var(--brand)}.btn--outline-brand{background:var(--white);color:var(--brand);border:2px solid var(--brand)}.btn--brand:hover,.btn--outline-brand:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0832bc40}.btn .arrow{display:inline-block;transition:transform .2s}.btn:hover .arrow{transform:translate(4px)}.sticky-cta{position:fixed;left:0;right:0;bottom:20px;z-index:60;display:flex;justify-content:center;padding-inline:20px;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}.sticky-cta.visible{opacity:1;transform:none;pointer-events:auto}.sticky-cta-inner{width:100%;max-width:var(--container);background:var(--white);border-radius:var(--radius);box-shadow:0 3px 3px #00000029;padding:20px 50px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.sticky-cta-text{font-weight:700;font-size:16px;color:var(--ink-2);margin:0}.sticky-cta-btns{flex-wrap:nowrap}@media(max-width:1200px){.sticky-cta{bottom:0;padding-inline:0}.sticky-cta-inner{border-radius:0;padding:12px 16px;justify-content:flex-end}.sticky-cta-text{display:none}.sticky-cta-btns.btns{width:100%;flex-direction:row!important;flex-wrap:nowrap;justify-content:flex-end;gap:8px}.sticky-cta-btns.btns .btn-lg{flex:1 1 0%;width:auto;max-width:220px;min-width:0;height:44px;padding:8px 12px!important}.sticky-cta-btns.btns .btn-lg span{display:none!important}}.hero{position:relative;background:var(--brand);background-image:url(../img/hero_bg.webp);background-size:cover;background-position:center;color:var(--white);overflow:hidden}.hero-bg-panel{display:none}.hero-inner{max-width:1200px;margin-inline:auto;padding:56px 0;display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(16px,3vw,40px);align-items:center;min-height:460px}.hero-inner>*{min-width:0}.hero-copy{width:100%;max-width:580px}.hero-copy h1{font-weight:700}.hero-copy h1 .highlight{position:relative;display:inline-block}.hero-copy h1 .highlight:after{content:"";position:absolute;inset:10% -4% 12%;border:3px solid rgba(255,255,255,.5);border-radius:50%;transform:rotate(-4deg);pointer-events:none}.hero-tag-pill{display:inline-block;font-family:var(--font-jp);font-weight:700;font-size:16px;letter-spacing:.02em;padding:4px 16px;background:#2da5ff;border-radius:999px;margin-bottom:12px;white-space:nowrap}.hero-emph{font-size:36px;line-height:1.35;margin:0 0 28px;letter-spacing:.06em;word-break:keep-all;overflow-wrap:break-word}.hero-emph{container-type:inline-size}.hero-emph-line1{display:flex;align-items:center;min-height:1.35em;white-space:nowrap;color:var(--white);margin-bottom:10px}.hero-emph-line1>*{font-size:min(1em,4.5cqi)}.hero-emph-icon{flex-shrink:0;height:1.2em;width:auto;margin-right:.2em}.hero-emph-highlight{display:inline-block;background:var(--white);color:var(--brand);border-radius:8px;padding:0 12px 0 0;white-space:nowrap}.hero-ctas{display:flex;gap:12px;flex-wrap:nowrap;justify-content:center;width:100%}.hero-ctas .btn-lg{flex:1 1 0%;max-width:264px;position:relative;padding-left:60px;height:56px}.hero-ctas .btn-lg:nth-child(1){background:#f7931e;color:var(--white);border:2px solid #f7931e}.hero-ctas .btn-lg:nth-child(2){background:var(--white);color:#3751a7;border:2px solid #3751a7}.hero-ctas .btn-lg span{position:absolute;left:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;flex-shrink:0}.hero-ctas .btn-lg:nth-child(1) span{background:var(--white)}.hero-ctas .btn-lg:nth-child(2) span{background:#3751a7}.hero-badges-desktop{display:none}@media(min-width:901px){.hero-badges-desktop{display:flex;align-items:center;gap:14px;margin:8px 0 36px}.hero-badges-desktop img{height:clamp(40px,calc(11px + 3.236vw),60px);width:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}}.cta-callout{display:flex;align-items:center;justify-content:center;gap:4px;margin:0 0 14px;font-size:15px;font-weight:700;letter-spacing:.02em;text-align:center;color:var(--brand)}.cta-callout-text.cta-callout{margin:0 0 16px;color:var(--white)}.hero-badges-mobile img{height:34px;width:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.hero-cta-box{width:580px;max-width:100%;padding:20px;border-radius:var(--radius-lg);background:#fffffff0;backdrop-filter:blur(2px);box-shadow:0 8px 24px #00000026}.cta-callout-slash{flex-shrink:0}.cta-break-sp,.contact-break-sp,.issues-break-sp,.solution-break-sp{display:none}.hero-badges{position:absolute;right:40px;top:40px;display:flex;flex-direction:column;gap:12px;z-index:2}.hero-badge{display:flex;align-items:center;gap:8px;background:var(--white);color:var(--brand);border-radius:var(--radius-pill);padding:8px 20px 8px 8px;font-size:14px;font-weight:700;box-shadow:var(--shadow)}.hero-badge img{width:40px;height:56px}.hero-badge .badge-sub{font-size:11px;color:var(--ink-3);font-weight:400;letter-spacing:.1em;display:block}.hero-badge .badge-big{font-family:var(--font-en);font-size:20px;color:var(--brand)}.hero-visual{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:360px}.hero-fig{display:block;width:auto;height:460px;max-width:none}@media(max-width:1519px){.hero-fig{height:clamp(220px,calc(-130px + 38.83vw),460px)}}.hero-mobile-media{display:none}.device-stack{position:relative;width:100%;max-width:560px}.device-laptop,.device-tablet{position:absolute;border-radius:14px;background:linear-gradient(180deg,#ececec,#d6d6d7);box-shadow:var(--shadow-lg);overflow:hidden}.device-laptop{right:0;top:20px;width:480px;aspect-ratio:16/10;border-radius:10px 10px 20px 20px;padding:16px 16px 20px}.device-laptop:after{content:"";position:absolute;left:-40px;right:-40px;bottom:-8px;height:12px;background:linear-gradient(180deg,#c1c2c2,gray);border-radius:0 0 40px 40px}.device-laptop .screen{width:100%;height:100%;background:var(--white);border-radius:4px}.device-tablet{left:0;top:80px;width:220px;aspect-ratio:3/4;padding:10px;z-index:2}.device-tablet .screen{width:100%;height:100%;background:var(--white);border-radius:4px}.screen-placeholder{width:100%;height:100%;background:linear-gradient(180deg,#f6f8fb,#e8edf4);display:flex;align-items:center;justify-content:center;color:var(--ink-4);font-size:12px;letter-spacing:.1em}.placeholder{background:repeating-linear-gradient(135deg,#0832bc0a 0 14px,#0832bc14 14px 28px),var(--brand-bg);display:flex;align-items:center;justify-content:center;color:var(--brand);font-family:var(--font-en);font-size:12px;letter-spacing:.15em;text-transform:uppercase;border-radius:var(--radius-lg);aspect-ratio:3/2}.placeholder--dark{background:repeating-linear-gradient(135deg,#ffffff0a 0 14px,#ffffff14 14px 28px),#0a28a0;color:#fff9}.placeholder--square{aspect-ratio:1/1}.placeholder--portrait{aspect-ratio:3/4}.placeholder--wide{aspect-ratio:16/9}.placeholder--tall{aspect-ratio:4/5}.svc-fig{display:block;width:calc(100% - 80px);height:auto;margin:32px 40px 40px;border-radius:var(--radius-lg)}#issues{background:var(--brand-bg)}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.problem-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px 24px;text-align:center}.problem-badge{display:inline-block;padding:4px 16px;border-radius:var(--radius-pill);background:var(--brand);color:var(--white);font-family:var(--font-en);font-size:14px;font-weight:700;margin-bottom:16px}.problem-card h3{font-size:18px;font-weight:700;margin:0 0 20px;line-height:1.5}.problem-card p{font-size:16px;line-height:1.9;color:var(--ink-2);text-align:left;margin:0}.problem-illus{display:block;width:100%;max-width:334px;aspect-ratio:334/200;height:auto;object-fit:cover;border-radius:var(--radius-lg);margin-inline:auto;margin-bottom:28px}.solution-arrow-band{display:flex;align-items:center;justify-content:center;margin-block:40px;position:relative}.solution-arrow-band:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--brand-light);transform:translateY(-50%);opacity:.4}.solution-arrow{width:56px;height:56px;border-radius:50%;background:var(--brand);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:var(--shadow);position:relative;z-index:1}.solution-arrow-band .spinning{position:absolute;inset:-20px;width:96px;height:96px;margin:auto;animation:spin 20s linear infinite;font-family:var(--font-en);font-size:10px;letter-spacing:.2em;color:var(--brand);opacity:.5}@keyframes spin{to{transform:rotate(360deg)}}.solution-lead{text-align:center;font-size:20px;font-weight:700;margin-bottom:40px}.solution-lead .brand-name{color:var(--brand);font-size:32px;font-family:var(--font-en);margin-inline:6px}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.solution-card{background:var(--white);border-radius:var(--radius-lg);padding:24px;text-align:center;transition:transform .2s,box-shadow .2s}.solution-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.solution-card .tag{font-size:14px;color:var(--ink-2);font-weight:500;margin-bottom:12px}.solution-card .emphasize{display:inline-block;padding:6px 16px;border-radius:var(--radius-sm);background:var(--cream);color:var(--brand);font-weight:700;font-size:16px;margin-bottom:16px}.solution-illus{aspect-ratio:4/3;margin-bottom:0}.deep-problem{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.deep-problem-card{display:flex;align-items:center;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px}.deep-problem-card .avatar{width:56px;height:56px;border-radius:50%;background:var(--brand-bg);display:flex;align-items:center;justify-content:center;color:var(--brand);font-family:var(--font-en);font-weight:700;font-size:12px;flex-shrink:0}.deep-problem-card .text{font-size:14px;line-height:1.6}.deep-problem-card .text .label{display:block;font-family:var(--font-en);font-size:11px;color:var(--brand);margin-bottom:4px;letter-spacing:.1em}.down-arrow-big{display:flex;justify-content:center;margin:32px 0}.down-arrow-big svg{width:48px;height:48px;color:var(--brand)}.solution-banner{text-align:center;margin-bottom:32px}.solution-banner .above{font-size:16px;color:var(--ink-2);margin-bottom:12px}.solution-banner .main{display:inline-flex;align-items:center;gap:12px;background:var(--brand);color:var(--white);padding:20px 40px;border-radius:var(--radius-pill);font-weight:700;font-size:22px}.solution-banner .main .brand-name{font-family:var(--font-en);font-size:24px}.case-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.case-pill{display:flex;align-items:center;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.case-pill .portrait{width:72px;height:72px;flex-shrink:0;border-radius:50%}.case-pill .text{font-size:14px;line-height:1.6}.case-pill .label{display:inline-block;background:var(--brand);color:var(--white);font-family:var(--font-en);font-size:11px;padding:2px 10px;border-radius:var(--radius-pill);margin-bottom:4px}.deep2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}.deep2-card{display:flex;gap:16px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-top:24px}.deep2-card .illus{width:120px;height:120px;flex-shrink:0;border-radius:var(--radius-sm)}.deep2-card .fn-icon{width:56px;height:56px}.deep2-card .text{font-size:14px;line-height:1.8}.deep2-card .text strong{display:block;font-size:16px;margin-bottom:4px}.deep2-card .text em{color:var(--brand);font-style:normal;font-weight:700;background:linear-gradient(transparent 60%,#829fff66 60%)}.point-tabs{display:flex;gap:12px;margin-bottom:60px}.point-tab{flex:1;padding:28px 24px;border-radius:var(--radius-lg);background:var(--white);border:2px solid transparent;text-align:left;transition:all .2s;cursor:pointer}.point-tab[data-active=true]{border-color:var(--brand);box-shadow:var(--shadow)}.point-tab .num{font-family:var(--font-en);font-size:14px;color:var(--brand);font-weight:700;margin-bottom:8px}.point-tab .title{font-weight:700;font-size:18px}#solution .section-head{margin-bottom:32px}.solution-intro{max-width:900px;margin:0 auto 72px;text-align:left;font-size:16px;line-height:2;color:var(--ink-2)}#flow .section-head{margin-bottom:32px}.flow-intro{max-width:900px;margin:0 auto 56px;text-align:left;font-size:16px;line-height:2;color:var(--ink-2)}.points-list{display:flex;flex-direction:column;gap:60px}.point-row{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.point-row>div:first-child{text-align:left}.point-row.reverse{direction:rtl}.point-row.reverse>*{direction:ltr}.point-badge{display:inline-block;padding:4px 16px;border-radius:var(--radius-pill);background:var(--brand);color:var(--white);font-family:var(--font-en);font-weight:700;font-size:16px;margin-bottom:12px}.point-row h3{font-size:24px;font-weight:700;color:var(--brand);margin:0 0 20px;line-height:1.5}.point-row p{font-size:16px;line-height:2;margin:0 0 16px;text-align:left}.point-row .note{font-size:12px;color:var(--ink-2)}.point-row .media{aspect-ratio:3/2;border-radius:var(--radius-lg)}.point-fig{display:block;width:100%;height:auto;border-radius:var(--radius-lg)}.reasons-b .reason-b{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:48px;border-radius:var(--radius-xl);background:var(--white);box-shadow:var(--shadow-sm);margin-bottom:40px}.reasons-b .reason-b.alt{direction:rtl}.reasons-b .reason-b.alt>*{direction:ltr}.shoulder{display:flex;align-items:baseline;gap:16px;margin-bottom:12px}.shoulder .kind{font-family:var(--font-en);font-size:14px;color:var(--brand);letter-spacing:.2em}.shoulder .num{font-family:var(--font-en);font-size:56px;color:var(--brand);line-height:1;font-weight:400}.shoulder .label{font-family:var(--font-en);font-size:20px;color:var(--ink)}#service{background:var(--brand-bg)}#service .section-head{margin-bottom:32px}.svc-intro{max-width:900px;margin:0 auto 56px;text-align:left;font-size:16px;line-height:2;color:var(--ink-2)}.svc-tabs{display:flex;gap:12px;margin-bottom:48px}.svc-tabs .point-tab{flex:1 1 0%;display:flex;align-items:center;gap:16px;padding:16px 20px}.svc-tabs .point-tab img{flex-shrink:0}.svc-tabs .point-tab .title{flex:1 1 0%;color:var(--brand)}.svc-block{scroll-margin-top:100px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}#svc-file{margin-top:32px}.svc-block-head{display:flex;align-items:center;gap:16px;padding:24px 40px;background:var(--brand);color:var(--white)}.svc-block-head .title{font-size:20px;font-weight:700}.svc-cta{margin-top:40px;padding:44px 40px;border-radius:var(--radius-lg);background:var(--brand) url(../img/cta_bg.webp) center / cover no-repeat;color:var(--white);text-align:center}.svc-cta .cta-callout{font-size:16px}.fn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 60px;padding:32px 40px 0}.fn-card{display:flex;flex-direction:column;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.fn-card-head{display:flex;gap:20px;align-items:center}.fn-icon{width:64px;height:64px;border-radius:var(--radius-sm);background:var(--brand);color:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0}.fn-icon--svg{background:transparent}.fn-icon--svg img{width:100%;height:100%}.fn-card .label{font-family:var(--font-en);font-size:14px;font-weight:700;color:var(--brand);margin-bottom:4px}.fn-card h4{margin:0;font-size:18px;font-weight:700}.fn-card p{margin:0;padding-left:84px;font-size:16px;line-height:1.8}#case{background:var(--brand-bg)}.case-feature{display:block;gap:40px;background:var(--white);border-radius:var(--radius-lg);padding:60px;box-shadow:var(--shadow);margin-bottom:32px}.case-break-sp{display:none}.case-feature h3{font-size:22px;font-weight:700;line-height:1.6;margin:0;color:var(--brand)}.case-feature .company-logo{font-family:var(--font-en);font-size:22px;color:var(--brand);font-weight:700;letter-spacing:.1em;padding:12px 20px;background:var(--brand-bg);border-radius:var(--radius-sm);display:block;width:100%;text-align:center;margin-bottom:20px}.case-feature .copy-caption{font-size:12px;color:var(--ink-2);margin-top:12px}.case-meta{display:flex;gap:16px;font-size:13px;color:var(--ink);margin-bottom:20px}.case-meta span{display:inline-block;padding:4px 12px;border:1px solid var(--line);border-radius:var(--radius-pill)}.case-feature .photo{width:100%;height:209px;object-fit:cover;border-radius:var(--radius-lg)}.case-qa{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;padding-top:32px;border-top:1px solid var(--line)}.case-qa .block{text-align:left}.case-qa .block .q{display:inline-block;padding:4px 14px;border-radius:var(--radius-pill);background:var(--brand-bg);color:var(--brand);font-family:var(--font-en);font-weight:700;font-size:12px;margin-bottom:12px}.case-qa .block h4{margin:0 0 8px;font-size:16px;color:var(--brand)}.case-qa .block p{margin:0 0 10px;font-size:16px;line-height:1.6;font-weight:700;color:var(--ink)}.case-qa .block .quote-mark{display:block;font-family:var(--font-en);font-size:60px;color:#6384cf;line-height:1;margin-bottom:-26px}.case-qa .block .person{display:flex;align-items:center;gap:10px;margin-top:12px}.case-qa .block .person img{flex-shrink:0}.case-qa .block .person-name{font-size:14px;color:var(--ink-3);line-height:22px}.logo-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:40px}.logo-tile{aspect-ratio:2/1;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-weight:700;font-size:14px;color:var(--ink-3);letter-spacing:.15em;transition:transform .2s,box-shadow .2s}.logo-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.flow-wrap{display:flex;flex-direction:column;gap:32px}.flow-step{display:grid;grid-template-columns:180px 1fr;gap:40px;padding:32px;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--line);position:relative}.flow-step:not(:last-child):after{content:"";position:absolute;left:96px;bottom:-28px;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:16px solid var(--brand);z-index:1}.flow-step .step-label{font-family:var(--font-en);font-size:14px;color:var(--brand);font-weight:700;letter-spacing:.15em;margin-bottom:8px}.flow-step .step-num{font-family:var(--font-en);font-size:56px;color:var(--brand);line-height:1;font-weight:400}.flow-step .step-body h3{margin:0 0 12px;font-size:20px}.flow-step .step-body p{margin:0;font-size:15px;line-height:1.8}.faq{max-width:900px;margin-inline:auto;display:flex;flex-direction:column;gap:12px}.faq-item{width:100%;max-width:1000px;margin-inline:auto;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}.faq-item[open]{border-color:var(--brand)}.faq-q{display:flex;gap:16px;align-items:center;padding:24px 28px;cursor:pointer;font-weight:700;font-size:16px;list-style:none}.faq-q::-webkit-details-marker{display:none}.faq-q .q-mark{font-family:var(--font-en);font-size:24px;color:var(--brand);flex-shrink:0;width:32px}.faq-q .q-text{flex:1;line-height:1.6}.faq-q .toggle{position:relative;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:#0832bc14}.faq-q .toggle:before,.faq-q .toggle:after{content:"";position:absolute;top:50%;left:50%;background:var(--brand);border-radius:1px;transition:transform .2s}.faq-q .toggle:before{width:12px;height:2px;transform:translate(-50%,-50%)}.faq-q .toggle:after{width:2px;height:12px;transform:translate(-50%,-50%)}.faq-item[open] .toggle:after{transform:translate(-50%,-50%) scaleY(0)}.faq-a{display:flex;gap:16px;padding:0 28px 24px;font-size:15px;line-height:1.8}.faq-a .a-mark{font-family:var(--font-en);font-size:24px;color:#6384cf;flex-shrink:0;width:32px}.faq-a .a-text--lg{font-size:16px}#contact{padding-block:56px;background:var(--brand) url(../img/contact_bg.webp) center / cover no-repeat;color:var(--white)}.cta-footer{position:relative;overflow:visible;background:transparent;color:var(--white);padding:0;border-radius:0}.cta-footer .inner{position:relative;max-width:900px;margin-inline:auto;text-align:center}.cta-footer h3{margin:0 0 32px;font-size:28px;font-weight:700;line-height:1.6}.cta-footer .inner>p{font-size:16px;opacity:.9;margin:-8px 0 40px}.contact-form-box .cta-callout{font-size:16px}.contact-form-box{max-width:800px;margin-inline:auto;padding:36px 20px;border-radius:var(--radius-lg);background:var(--white);box-shadow:0 8px 24px #00000026}.cta-footer .btns{flex-wrap:nowrap}.cta-white{background:var(--white)!important;color:var(--brand)!important;border-color:var(--white)!important}.cta-white:hover{background:var(--brand-bg)!important}.cta-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1000px;margin:40px auto 0}.cta-card{background:var(--white);color:var(--ink);border-radius:var(--radius-lg);padding:32px;text-align:left;display:grid;grid-template-columns:1fr 120px;gap:20px;align-items:center}.cta-card h4{margin:0 0 8px;font-size:20px;color:var(--brand)}.cta-card p{margin:0 0 16px;font-size:13px;color:var(--ink-2)}.cta-card .card-img{aspect-ratio:1/1;border-radius:var(--radius-sm)}.cta-card .btn{width:100%}.benefit-stack{display:grid;grid-template-columns:1fr 280px;gap:40px;background:var(--white);color:var(--ink);border-radius:var(--radius-lg);padding:40px;margin:0 auto 40px;max-width:1000px;align-items:center}.benefit-stack h4{font-family:var(--font-en);font-size:18px;color:var(--brand);margin:0 0 12px;letter-spacing:.15em}.benefit-stack ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.benefit-stack li{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.7}.benefit-stack li img{width:22px;margin-top:2px;flex-shrink:0}.benefit-stack .preview{aspect-ratio:3/4;border-radius:var(--radius-sm)}.badges-section{background:var(--brand);color:var(--white);padding:80px 20px;text-align:center}.badges-section h2{margin:0 0 16px;font-size:32px}.badges-section .note{font-size:12px;opacity:.8;margin-bottom:40px}.badges-grid{display:flex;justify-content:center;gap:60px;flex-wrap:wrap}.badge-big{display:flex;align-items:center;gap:16px;color:var(--white)}.badge-big .laurels{display:flex;align-items:center;gap:8px}.badge-big .laurels img{height:120px;filter:brightness(0) invert(1)}.badge-big .center .sub{font-size:12px;letter-spacing:.1em;margin-bottom:8px}.badge-big .center .num{font-family:var(--font-en);font-size:72px;line-height:1;font-weight:400}.badge-big .center .num small{font-size:28px;font-weight:400;vertical-align:top;margin-left:4px}.achievements{padding:80px 0;background:var(--white)}.achievements-head{text-align:center;margin-bottom:60px}.achievements-head h2{font-size:32px;font-weight:700;line-height:1.5;margin:0 0 16px}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ach-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--line);padding:32px;text-align:center}.ach-card .num{font-family:var(--font-en);font-size:56px;color:var(--brand);line-height:1;font-weight:400;margin-bottom:12px}.ach-card .num small{font-size:20px;margin-left:4px}.ach-card .label{font-size:14px;line-height:1.6}.site-footer{background:#0a1a4a;color:var(--white);padding:80px 40px 40px}.site-footer .inner{max-width:1200px;margin-inline:auto}.site-footer .top{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:60px}.site-footer .brand{font-family:var(--font-en);font-size:28px;letter-spacing:.1em;margin-bottom:16px;display:block}.site-footer .addr{font-size:13px;line-height:1.8;opacity:.8}.site-footer .nav-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.site-footer h5{margin:0 0 16px;font-size:14px;font-family:var(--font-en);letter-spacing:.15em}.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.site-footer a{font-size:14px;opacity:.8;transition:opacity .2s}.site-footer a:hover{opacity:1}.site-footer .bottom{padding-top:32px;border-top:1px solid rgba(255,255,255,.15);font-size:12px;opacity:.6;display:flex;justify-content:space-between}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}.reveal-stagger>*{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.reveal-stagger.in>*{opacity:1;transform:none}.reveal-stagger.in>*:nth-child(2){transition-delay:.08s}.reveal-stagger.in>*:nth-child(3){transition-delay:.16s}.reveal-stagger.in>*:nth-child(4){transition-delay:.24s}.reveal-stagger.in>*:nth-child(5){transition-delay:.32s}.reveal-stagger.in>*:nth-child(6){transition-delay:.4s}.tweaks-panel{position:fixed;right:20px;bottom:20px;width:300px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:20px;z-index:100;font-family:var(--font-jp);display:none;max-height:80vh;overflow-y:auto;border:1px solid var(--line)}.tweaks-panel.open{display:block}.tweaks-panel h4{margin:0 0 16px;font-size:14px;font-family:var(--font-en);letter-spacing:.15em;color:var(--brand);display:flex;justify-content:space-between;align-items:center}.tweaks-panel .field{margin-bottom:16px}.tweaks-panel label{display:block;font-size:12px;margin-bottom:6px;color:var(--ink-2);font-weight:700}.tweaks-panel .swatches{display:flex;gap:8px;flex-wrap:wrap}.tweaks-panel .swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .15s}.tweaks-panel .swatch:hover{transform:scale(1.1)}.tweaks-panel .swatch.active{border-color:var(--ink)}.tweaks-panel select{width:100%;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;font-size:14px}.tweaks-panel .toggles{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto}.tweaks-panel .toggle-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.tweaks-panel .toggle-row input{width:16px;height:16px;accent-color:var(--brand)}@media(max-width:900px){.wrap,.wrap-narrow{padding-inline:24px}.hero-emph-line1{justify-content:center}.section{padding-block:72px}.section-head{margin-bottom:40px}.section-head h2{font-size:24px}.section-head .en{font-size:14px}.container-label{font-size:16px}.site-header{height:64px}.site-header .wrap{padding-inline:16px}.site-header .nav-ctas{gap:6px}.nav-ctas .btn{padding:10px 14px;font-size:12px}.nav-ctas .btn:nth-child(2){display:none}.logo{font-size:14px;padding:6px 14px}.hero-inner{grid-template-columns:minmax(0,1fr);padding:40px 24px;text-align:center;min-height:auto}.hero-copy h1{font-size:32px;letter-spacing:.04em}.hero-ctas{justify-content:center}.hero-ctas .btn-lg,.btns .btn-lg{padding-left:44px!important;padding-right:16px!important;font-size:16px!important}.hero-ctas .btn-lg span,.btns .btn-lg span{width:32px!important;height:32px!important;left:7px!important}.hero-ctas .btn-lg svg,.btns .btn-lg svg{width:16px!important;height:16px!important}.btn-lg{min-width:0;padding:16px 20px;font-size:14px}.hero-badges{inset:auto 20px 20px;flex-direction:row;justify-content:center}.hero-badge{font-size:10px;padding:6px 12px 6px 6px}.hero-badge img{width:28px;height:40px}.hero-badge .badge-big{font-size:14px}.hero-visual{display:none}.hero-badges-wrap{display:none!important}.hero-mobile-media{display:flex;flex-direction:column;gap:12px;margin:0 0 16px}.hero-fig-mobile{display:block;height:220px;width:auto;margin:0 auto}.hero-emph,.hero-lead{margin-bottom:24px!important}.hero-copy{margin-inline:auto}.hero-badges-mobile{display:flex;justify-content:center;gap:6px}.hero-badges-mobile img{height:35px!important}.cta-break-sp{display:none!important}.problem-grid{grid-template-columns:1fr;gap:16px}.problem-card{padding-bottom:20px}.problem-card p{margin-bottom:0!important}.problem-illus{margin-bottom:36px}.solution-grid,.deep-problem,.deep2,.case-row{grid-template-columns:1fr}.point-tabs{flex-direction:column}.point-row{grid-template-columns:1fr;gap:24px;direction:ltr!important}.point-row.reverse{direction:ltr}.point-row>*{min-width:0}.point-row>div:first-child{text-align:center!important}.point-row h3{font-size:20px}.point-row p{margin-bottom:0!important}.point-row{gap:16px}.solution-intro{margin-bottom:52px!important}.reasons-b .reason-b{grid-template-columns:1fr;padding:32px 20px;direction:ltr!important}.shoulder .num{font-size:40px}.point-tab .num{font-size:18px!important}.point-tab .title{font-size:16px}.svc-block-head{padding-inline:24px!important;padding-block:16px!important}.fn-grid{padding-inline:24px!important}.fn-card{gap:8px}.fn-card-head{align-items:flex-start}.fn-card p{padding-left:0}.placeholder--wide{margin-inline:24px!important}.svc-fig{width:calc(100% - 48px);margin-inline:24px;margin-top:12px;margin-bottom:24px}.svc-intro,.flow-intro{margin-bottom:32px!important}.cta-callout-text{font-size:16px!important}.flow-cols-sp h3{font-size:18px!important}.flow-cols-sp p{font-size:16px!important}.case-head h3{text-align:center}.case-break-pc{display:none}.case-break-sp{display:inline}.fn-grid{grid-template-columns:1fr;gap:0}.fn-card{padding:16px 0}.case-feature{grid-template-columns:1fr;padding:32px 20px;gap:24px}.case-feature h3{font-size:18px}.case-qa{grid-template-columns:1fr;gap:16px;padding-inline:16px}#svc-file .fn-card p{line-height:1.5}.logo-grid{grid-template-columns:repeat(3,1fr)}.flow-step{grid-template-columns:1fr;gap:16px;padding:24px 20px}.flow-step .step-num{font-size:40px}.flow-step:not(:last-child):after{left:50%;transform:translate(-50%);bottom:-24px}.faq-q{padding:16px 20px;font-size:16px}.faq-a{padding:0 20px 20px;font-size:13px}#contact{padding-bottom:72px}.cta-footer{padding:48px 20px;border-radius:var(--radius-lg)}.cta-footer h3{font-size:20px!important}.cta-footer .btns{flex-direction:column;align-items:stretch}.btn-xl{min-width:0;padding:18px 24px;font-size:15px}.cta-cards{grid-template-columns:1fr}.cta-card,.benefit-stack{grid-template-columns:1fr;padding:24px}.badges-section{padding:48px 20px}.badges-section h2{font-size:22px}.badge-big .laurels img{height:80px}.badge-big .center .num{font-size:48px}.badges-grid{gap:32px}.achievement-grid{grid-template-columns:1fr}.site-footer{padding:48px 20px 24px}.site-footer .top{grid-template-columns:1fr;gap:32px}.site-footer .nav-cols{grid-template-columns:1fr 1fr;gap:24px}.site-footer .bottom{flex-direction:column;gap:8px}.tweaks-panel{right:10px;bottom:10px;left:10px;width:auto}}@media(prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1!important;transform:none!important;transition:none!important}.solution-arrow-band .spinning{animation:none}html{scroll-behavior:auto}}:root{--container: 1200px}a{color:var(--brand)}a:hover{color:#0628a0;text-decoration:none}.hdr-nav{display:flex;align-items:center;gap:24px;margin-left:auto;margin-right:24px}@media(max-width:1180px){.hdr-nav{display:none!important}}@media(max-width:900px)and (min-width:768px){.hero-copy h1{font-size:30px!important}}.flow-cols-pc{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:stretch}.flow-cols-sp{display:none}@media(max-width:900px){.flow-cols-pc{display:none}.flow-cols-sp{display:flex;flex-direction:column;gap:16px}}.flow-step-pc{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 18px 22px;text-align:center}.flow-step-pc .fn-icon{width:80px;height:80px;margin:0 auto 16px}.flow-step-pc h3{margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.6;word-break:keep-all}.flow-step-pc p{margin:0;font-size:14px;line-height:1.8;color:var(--ink-2);text-align:left}.flow-arrow-pc{position:absolute;top:50%;right:-13px;transform:translateY(-50%);width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:12px solid var(--brand);z-index:1}.flow-step-sp{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 18px;display:flex;align-items:stretch;gap:14px;text-align:left}.flow-step-sp .fn-icon{width:80px;height:80px;flex-shrink:0}.flow-step-sp .problem-badge{margin-bottom:8px}.flow-step-sp h3{margin:0 0 6px;font-size:15px;font-weight:700;line-height:1.5;word-break:keep-all}.flow-step-sp p{margin:0;font-size:13px;line-height:1.8;color:var(--ink-2)}.flow-arrow-sp{position:absolute;left:50%;bottom:-13px;transform:translate(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid var(--brand);z-index:1}@media(max-width:900px){.hero-emph{font-size:24px!important}.hero-emph-highlight{font-size:28px!important;padding-top:4px;padding-bottom:4px}}.case-head{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}.case-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}.case-compare-col{border-radius:var(--radius);padding:24px}.case-compare-col--before{background:var(--brand-bg-2)}.case-compare-col--after{background:var(--brand-bg);border:1px solid var(--brand-light)}.case-compare-col .problem-badge{margin-bottom:0}.case-compare-col--before .problem-badge{background:var(--ink-2)}.case-compare-col ul{margin:12px 0 0;padding-left:0;list-style:none;font-size:14px;line-height:1.9;color:var(--ink-2);display:flex;flex-direction:column;gap:8px}.case-compare-col li{position:relative;padding-left:1.2em;font-size:16px}.case-compare-col li:before{content:"・";position:absolute;left:0}.case-compare-col strong{color:var(--brand)}@media(max-width:900px){.case-head,.case-compare{grid-template-columns:1fr}}.fn-grid .fn-card{border-bottom:none!important}.cta-footer{padding:48px 20px!important}.cta-footer h3{margin-bottom:20px!important}.cta-footer .btns .btn-xl{padding:16px 28px!important;font-size:16px!important;min-width:240px!important}.case-qa{border-top:none!important;padding-top:0!important}@media(max-width:900px){.svc-tabs{flex-direction:column;margin-bottom:32px!important}.hero-tags{justify-content:center}.hero-ctas{flex-direction:column!important;width:100%!important}.hero-ctas .btn-lg,.btns .btn-lg{width:100%!important}.btns{flex-direction:column!important}.cta-break-sp,.contact-break-sp,.issues-break-sp,.solution-break-sp{display:inline}.cta-callout-slash{display:none}.cta-callout{line-height:1.4}.flow-cols,.lp-two,.voice-grid{grid-template-columns:1fr!important}.cta-footer{padding:0 0 40px!important}.company-logo{font-size:20px!important;margin-bottom:20px!important}.case-meta{justify-content:center!important;gap:8px!important}.case-head h3{font-size:18px!important}.case-head{gap:28px}.case-compare{margin-top:28px!important}.case-feature .photo{height:auto!important;aspect-ratio:2.31!important}.faq-q,.faq-a{align-items:flex-start}}@media(max-width:767px){.hero{background:var(--brand-bg)!important;background-image:none!important;overflow:visible!important}.hero-bg-panel{display:block;position:absolute;top:0;left:0;right:0;height:410px;background:var(--brand) url(../img/hero_bg.webp) center / cover no-repeat;z-index:0}.hero-inner{position:relative;z-index:1}.hero-cta-box{background:none!important;backdrop-filter:none!important;box-shadow:none!important;padding:0!important}#issues{padding-top:20px}.svc-cta{padding-left:24px!important;padding-right:24px!important}.problem-card{padding-bottom:32px}.problem-illus{margin-bottom:16px}.svc-cta .cta-break-sp,.cta-footer .cta-break-sp{display:inline!important}}@media(max-width:900px)and (min-width:768px){.hero-emph{font-size:30px!important}.hero-inner{grid-template-columns:minmax(0,1fr)!important;text-align:center;padding:56px 40px;min-height:auto}.hero-visual,.hero-badges-wrap{display:none!important}.hero-mobile-media{display:flex;flex-direction:column;gap:24px;margin:0 0 24px}.hero-fig-mobile{display:block;height:320px;width:auto;margin:0 auto}.hero-badges-mobile{display:flex;justify-content:center;gap:24px;margin-inline:0}.hero-badges-mobile img{height:56px!important}.hero-copy,.hero-cta-box{width:100%!important}.hero-ctas{flex-direction:row!important}.hero-ctas .btn-lg{width:auto!important;padding-left:60px!important;padding-right:32px!important;font-size:18px!important}.hero-ctas .btn-lg span{width:44px!important;height:44px!important;left:4px!important}.hero-ctas .btn-lg svg{width:20px!important;height:20px!important}.hero{background:var(--brand-bg)!important;background-image:none!important;overflow:visible!important}.hero-bg-panel{display:block;position:absolute;top:0;left:0;right:0;height:540px;background:var(--brand) url(../img/hero_bg.webp) center / cover no-repeat;z-index:0}.hero-inner{position:relative;z-index:1}.hero-cta-box{background:none!important;backdrop-filter:none!important;box-shadow:none!important;padding:0!important}}@media(min-width:901px){.hero{background:var(--brand-bg)!important;background-image:none!important;overflow:visible!important}}@media(min-width:901px)and (max-width:1199px){.hero-inner{padding-inline:clamp(24px,4vw,40px)}}@media(min-width:901px){.hero-bg-panel{display:block;position:absolute;top:0;left:0;right:0;height:clamp(264px,calc(264px + 5.663vw),350px);background:var(--brand) url(../img/hero_bg.webp) center / cover no-repeat;z-index:0}.hero-inner{position:relative;z-index:1}.hero-cta-box{background:none!important;backdrop-filter:none!important;box-shadow:none!important;padding:0!important}.hero-emph-line1{font-size:clamp(24px,calc(18px + .647vw),28px)}.hero-emph-line1>*{font-size:min(22px,4.5cqi)}.hero-emph-highlight{font-size:clamp(32px,calc(20px + 1.294vw),40px);padding:4px 16px 4px 0}.hero-tag-pill{margin-bottom:20px}.hero-copy{align-self:start}.hero-badges-desktop{margin-bottom:78px}.hero-inner{padding-top:48px}.hero-cta-box{transform:translateY(-12px)}.hero-fig{transform:translateY(-30px)}#issues{padding-top:20px}.btn-lg{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.btn-lg:hover{transform:translateY(-2px);box-shadow:0 12px 20px #0003;filter:brightness(1.05)}}@media(max-width:1180px)and (min-width:768px){.cta-break-sp,.contact-break-sp,.issues-break-sp,.solution-break-sp,.tablet-hide-break{display:none}}.break-mobile-tablet{display:none}@media(max-width:1180px){.break-mobile-tablet{display:inline}}@media(max-width:1180px)and (min-width:768px){.btns{flex-direction:row!important}.btns .btn-lg{width:auto!important;padding-left:60px!important;padding-right:32px!important;font-size:18px!important}.btns .btn-lg span{width:44px!important;height:44px!important;left:4px!important}.btns .btn-lg svg{width:20px!important;height:20px!important}}.skip-link{position:absolute;top:-100%;left:0;z-index:9999;padding:.5rem 1rem;background:#000;color:#fff;text-decoration:none}.skip-link:focus{top:0}
