:root{--color-bg:#fbfaf6;--color-main:#0f6070;--color-main-light:#3e9aa8;--color-main-dark:#0d5566;--color-text:#17242a;--color-white:#fff;--font-ja:"Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-en:"Jost", "Zen Kaku Gothic New", "Hiragino Sans", sans-serif;--gutter:20px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body,h1,h2,h3,p,ol,ul,dl,dd{margin:0}ol,ul{padding:0;list-style:none}.page{background:var(--color-bg);color:var(--color-text);font-family:var(--font-ja);letter-spacing:.03em;word-break:auto-phrase;line-break:strict;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.9;overflow-x:hidden}a{color:var(--color-main)}a:focus-visible{outline:3px solid var(--color-main-light);outline-offset:3px;border-radius:4px}@media (width>=768px){:root{--gutter:40px}}:root{--hp-width:1160px;--hp-bar:60px;--hp-paper:#f2f0e9;--hp-rule:#dce3e4;--hp-text-soft:#3d4f55;--hp-text-sub:#52666c;--hp-stroke:2.2}html:has(.hp-page){scroll-padding-top:var(--hp-bar)}.hp-hero__title,.hp-heading,.hp-about__quote,.hp-contact__title,.hp-tasks__label,.hp-flow__title,.hp-demo__note,.hp-flow__step{word-break:keep-all;overflow-wrap:normal;line-break:strict}.hp-slide{min-height:calc(100svh - var(--hp-bar));scroll-margin-top:var(--hp-bar);align-items:center;padding:72px 0;display:flex}.hp-slide--paper{background:var(--hp-paper)}.hp-slide__inner{width:100%;max-width:var(--hp-width);padding:0 var(--gutter);margin:0 auto}.hp-slide__inner--narrow{max-width:820px}.hp-heading{letter-spacing:.04em;font-size:30px;font-weight:700;line-height:1.45}.hp-button{letter-spacing:.06em;border-radius:999px;justify-content:center;align-items:center;min-height:56px;padding:0 32px;font-size:16px;font-weight:700;text-decoration:none;transition:background-color .2s;display:inline-flex}.hp-button--primary{background:var(--color-main);color:var(--color-white)}.hp-button--primary:hover{background:var(--color-main-dark)}.hp-button--secondary{color:var(--color-main);background:#0f607014}.hp-button--secondary:hover{background:#0f607024}.hp-topbar{z-index:10;border-bottom:1px solid var(--hp-rule);background:#fbfaf6f0;position:sticky;top:0}.hp-topbar__inner{max-width:var(--hp-width);height:var(--hp-bar);padding:0 var(--gutter);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.hp-topbar__brand{letter-spacing:.12em;color:var(--color-main);align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.hp-topbar__brand-en{font-family:var(--font-en);font-weight:500}.hp-topbar__mark{width:34px;height:auto;color:var(--color-main)}.hp-topbar__cta{background:var(--color-main);color:var(--color-white);letter-spacing:.06em;border-radius:999px;flex-shrink:0;padding:8px 16px;font-size:15px;font-weight:700;text-decoration:none}.hp-hero__title{letter-spacing:.03em;font-size:40px;font-weight:700;line-height:1.35}.hp-hero__lead{max-width:34em;color:var(--hp-text-soft);margin-top:20px;font-size:17px;line-height:1.9}.hp-hero__pulse{grid-template-columns:1fr 1fr;row-gap:4px;margin-top:36px;display:grid}.hp-hero__pulse-svg{width:100%;height:96px;color:var(--color-main);grid-column:1/-1;display:block;overflow:visible}.hp-pulse__line{stroke-width:3px;vector-effect:non-scaling-stroke}.hp-hero__pulse-from,.hp-hero__pulse-to{letter-spacing:.06em;font-size:15px;font-weight:700}.hp-hero__pulse-from{color:var(--hp-text-sub)}.hp-hero__pulse-to{text-align:right;color:var(--color-main)}.hp-hero__actions{flex-direction:column;gap:12px;margin-top:36px;display:flex}.hp-illust{color:var(--color-main);display:block;overflow:visible}.hp-illust__line{fill:none;stroke:currentColor;stroke-width:var(--hp-stroke);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.hp-illust__line--accent{stroke:var(--color-main-light)}.hp-tasks{gap:12px;margin-top:32px;display:grid}.hp-tasks__item{border:1px solid var(--hp-rule);background:var(--color-white);border-radius:16px;align-items:center;gap:16px;padding:12px 16px;display:flex}.hp-tasks__illust{flex-shrink:0;width:52px;height:52px}.hp-tasks__label{font-size:17px;font-weight:700;line-height:1.5}.hp-tasks__tag{background:var(--color-main);color:var(--color-white);letter-spacing:.06em;border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 10px;font-size:15px;font-weight:700;text-decoration:none}.hp-demo{gap:36px;display:grid}.hp-demo__figure{justify-self:center;width:min(100%,320px);margin:0}.hp-demo__phone{border:8px solid var(--color-text);background:var(--color-white);border-radius:32px;overflow:hidden;box-shadow:0 24px 48px -28px #17242a80}.hp-demo__image{width:100%;height:auto;display:block}.hp-demo__caption{text-align:center;color:var(--hp-text-soft);margin-top:12px;font-size:15px}.hp-demo__text{color:var(--hp-text-soft);margin-top:14px;font-size:17px}.hp-demo__notes{flex-wrap:wrap;gap:8px;margin:18px 0 28px;display:flex}.hp-demo__note{border:1px solid var(--hp-rule);background:var(--color-white);border-radius:999px;padding:6px 14px;font-size:15px;font-weight:500;line-height:1.5}.hp-demo__inuse{border-top:1px solid var(--hp-rule);color:var(--hp-text-soft);flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin-top:32px;padding-top:18px;font-size:16px;display:flex}.hp-demo__inuse-label{letter-spacing:.08em;width:100%;color:var(--hp-text-sub);font-size:15px;font-weight:700}.hp-demo__inuse-name{color:var(--color-main);font-size:17px;font-weight:700}.hp-flow{gap:40px;margin-top:36px;display:grid}.hp-flow__item{position:relative}.hp-flow__illust{width:88px;height:88px}.hp-flow__number{font-family:var(--font-en);letter-spacing:.1em;color:var(--color-main-light);margin-top:14px;font-size:16px;font-weight:500;display:block}.hp-flow__title{margin-top:2px;font-size:20px;font-weight:700;line-height:1.6}.hp-flow__steps{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.hp-flow__step{border:1px solid var(--hp-rule);background:var(--color-white);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:15px;font-weight:500;display:inline-flex}.hp-flow__step-number{width:26px;height:26px;color:var(--color-main);font-family:var(--font-en);background:#0f60701a;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:500;display:inline-flex}.hp-flow__note{color:var(--hp-text-soft);margin-top:40px;font-size:16px}.hp-about{max-width:900px}.hp-about__label{letter-spacing:.14em;color:var(--hp-text-sub);font-size:15px;font-weight:700}.hp-about__quote{border-left:4px solid var(--color-main-light);letter-spacing:.03em;margin-top:18px;padding-left:20px;font-size:26px;font-weight:700;line-height:1.6}.hp-about__short{color:var(--hp-text-soft);margin-top:16px;padding-left:24px;font-size:17px}.hp-about__name{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:36px;display:flex}.hp-about__name-main{letter-spacing:.14em;color:var(--color-main);font-size:22px;font-weight:700}.hp-about__name-kana{letter-spacing:.14em;color:var(--hp-text-sub);font-size:15px}.hp-about__career{color:var(--hp-text-soft);margin-top:6px;font-size:16px}.hp-about:has(.hp-about__more[open]) .hp-about__short,.hp-about:has(.hp-about__more[open]) .hp-about__career{display:none}.hp-about__more{margin-top:20px}.hp-about__summary{border:1.5px solid var(--color-main);min-height:44px;color:var(--color-main);letter-spacing:.06em;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 20px;font-size:16px;font-weight:700;list-style:none;display:inline-flex}.hp-about__summary::-webkit-details-marker{display:none}.hp-about__summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;margin-top:-4px;transform:rotate(45deg)}.hp-about__more[open] .hp-about__summary:after{margin-top:4px;transform:rotate(-135deg)}.hp-about__summary-close,.hp-about__more[open] .hp-about__summary-open{display:none}.hp-about__more[open] .hp-about__summary-close{display:inline}.hp-about__full{color:var(--hp-text-soft);margin-top:20px}.hp-about__full p+p{margin-top:14px}.hp-about__summary:focus-visible,.hp-faq__question:focus-visible{outline:3px solid var(--color-main-light);outline-offset:3px}.hp-faq{border-bottom:1px solid var(--hp-rule);margin-top:28px}.hp-faq__item{border-top:1px solid var(--hp-rule)}.hp-faq__question{cursor:pointer;align-items:center;gap:12px;padding:20px 4px;font-size:18px;font-weight:700;line-height:1.6;list-style:none;display:flex}.hp-faq__question::-webkit-details-marker{display:none}.hp-faq__question:after{content:"+";font-family:var(--font-en);color:var(--color-main);flex-shrink:0;margin-left:auto;font-size:24px;font-weight:400;line-height:1}.hp-faq__item[open] .hp-faq__question:after{content:"−"}.hp-faq__q{font-family:var(--font-en);color:var(--color-main);flex-shrink:0;font-weight:500}.hp-faq__answer{color:var(--hp-text-soft);padding:0 4px 22px 34px;font-size:16px}.hp-contact{color:var(--color-white);text-align:center;background:linear-gradient(45deg,#0d5566 0%,#14707f 55%,#3e9aa8 100%)}.hp-contact__inner{flex-direction:column;align-items:center;display:flex}.hp-contact__illust{width:72px;height:72px;color:var(--color-white)}.hp-contact__illust .hp-illust__line--accent{stroke:#fff9}.hp-contact__label{letter-spacing:.14em;color:#fffc;margin-top:20px;font-size:15px;font-weight:700}.hp-contact__title{letter-spacing:.04em;margin-top:10px;font-size:28px;font-weight:700;line-height:1.5}.hp-contact__text{color:#ffffffdb;margin-top:16px;font-size:16px}.hp-contact__mail{background:var(--color-white);min-height:60px;color:var(--color-main);font-family:var(--font-en);letter-spacing:.02em;word-break:normal;border-radius:999px;justify-content:center;align-items:center;margin-top:32px;padding:0 28px;font-size:18px;font-weight:500;text-decoration:none;display:inline-flex}.hp-contact__mail:hover{background:#eef6f7}.hp-footer__inner{max-width:var(--hp-width);padding:36px var(--gutter) 40px;margin:0 auto}.hp-footer__english{max-width:46em;font-family:var(--font-en);letter-spacing:.01em;color:var(--hp-text-soft);word-break:normal;font-size:15px;line-height:1.7}.hp-footer__copyright small{font-size:inherit}.hp-footer__copyright{color:var(--hp-text-sub);margin-top:12px;font-size:15px}@media (width>=768px){:root{--hp-bar:68px}.hp-slide{padding:96px 0}.hp-heading{font-size:44px}.hp-topbar__cta{padding:10px 22px;font-size:16px}.hp-hero__title{font-size:64px}.hp-hero__lead{font-size:18px}.hp-hero__pulse-svg{height:150px}.hp-hero__pulse-from,.hp-hero__pulse-to{font-size:17px}.hp-hero__actions{flex-flow:wrap}.hp-tasks{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}.hp-tasks__item{text-align:center;border-radius:20px;flex-direction:column;justify-content:center;gap:18px;padding:36px 18px 30px;position:relative}.hp-tasks__illust{width:84px;height:84px}.hp-tasks__tag{position:absolute;top:14px;right:14px}.hp-flow{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}.hp-flow__item:not(:last-child):after{content:"";background:linear-gradient(90deg, var(--color-main-light) 0 50%, transparent 0) 0 0 / 10px 2px repeat-x;height:2px;position:absolute;top:44px;left:112px;right:-16px}.hp-about__quote{padding-left:28px;font-size:40px;line-height:1.5}.hp-about__short{padding-left:32px;font-size:20px}.hp-faq__question{padding:24px 4px;font-size:20px}.hp-contact__illust{width:88px;height:88px}.hp-contact__title{font-size:48px}.hp-contact__text{font-size:18px}.hp-contact__mail{min-height:68px;padding:0 44px;font-size:22px}}@media (width>=1024px){.hp-hero__title{font-size:clamp(64px,6.4vw,92px)}.hp-heading{font-size:clamp(44px,4vw,56px)}.hp-tasks{grid-template-columns:repeat(5,1fr)}.hp-demo{grid-template-columns:400px 1fr;align-items:center;gap:80px}.hp-demo__figure{width:100%}.hp-demo__text{margin-top:20px;font-size:19px}.hp-demo__note{font-size:17px}.hp-flow__illust{width:104px;height:104px}.hp-flow__item:not(:last-child):after{top:52px;left:128px}.hp-flow__title{font-size:22px}.hp-hero{padding:64px 0}.hp-topbar__brand{font-size:17px}.hp-hero__lead{font-size:19px}.hp-button{font-size:17px}.hp-tasks__label{font-size:18px}.hp-demo__caption,.hp-demo__inuse-label,.hp-about__label,.hp-about__name-kana,.hp-contact__label,.hp-footer__copyright{font-size:16px}.hp-demo__inuse,.hp-flow__note,.hp-about__career,.hp-about__full,.hp-faq__answer{font-size:18px}.hp-demo__inuse-name{font-size:19px}.hp-flow__number,.hp-about__summary,.hp-flow__step{font-size:17px}.hp-flow__step-number{width:28px;height:28px;font-size:15px}.hp-about__name-main{font-size:24px}.hp-footer__english{font-size:16px}}.hp-tasks__tag,.hp-demo__caption,.hp-demo__note,.hp-demo__inuse-label,.hp-flow__step,.hp-flow__number,.hp-flow__note,.hp-about__label,.hp-about__name-kana,.hp-contact__label,.hp-hero__pulse-from,.hp-hero__pulse-to,.hp-footer__english,.hp-footer__copyright{font-size:17px}.hp-demo__inuse-label,.hp-about__label,.hp-about__name-kana,.hp-contact__label,.hp-flow__number,.hp-hero__pulse-from,.hp-hero__pulse-to,.hp-tasks__tag{letter-spacing:.04em}.hp-tasks__tag{padding:3px 12px}.hp-flow__step-number{width:30px;height:30px;font-size:17px}.hp-topbar__brand{letter-spacing:.06em;gap:8px;font-size:17px}.hp-topbar__mark{width:30px}.hp-topbar__cta{letter-spacing:.02em;padding:8px 14px;font-size:17px}.hp-hero__lead,.hp-demo__text,.hp-demo__inuse,.hp-about__career,.hp-about__full,.hp-faq__answer,.hp-contact__text{font-size:18px}.hp-about__short,.hp-demo__inuse-name{font-size:19px}.hp-button,.hp-tasks__label,.hp-about__summary{font-size:18px}.hp-faq__question,.hp-contact__mail{font-size:19px}.hp-tasks__item{gap:12px;padding:12px 14px}.hp-tasks__illust{width:48px;height:48px}.hp-heading{font-size:32px}.hp-about__name-main{font-size:24px}@media (width>=768px){.hp-heading{font-size:46px}.hp-tasks__item{gap:18px;padding:52px 18px 30px}.hp-tasks__illust{width:84px;height:84px}}@media (width>=1024px){.hp-tasks__tag,.hp-demo__caption,.hp-demo__note,.hp-demo__inuse-label,.hp-flow__step,.hp-flow__number,.hp-flow__note,.hp-about__label,.hp-about__name-kana,.hp-contact__label,.hp-hero__pulse-from,.hp-hero__pulse-to,.hp-footer__english,.hp-footer__copyright,.hp-topbar__brand,.hp-topbar__cta{font-size:18px}.hp-flow__step-number{width:32px;height:32px;font-size:18px}.hp-hero__lead,.hp-demo__text,.hp-demo__inuse,.hp-about__career,.hp-about__full,.hp-faq__answer,.hp-contact__text{font-size:21px}.hp-hero__lead{max-width:40em}.hp-about__short,.hp-demo__inuse-name{font-size:23px}.hp-button,.hp-tasks__label,.hp-about__summary{font-size:20px}.hp-button{min-height:60px}.hp-faq__question{font-size:22px}.hp-contact__mail{font-size:24px}.hp-heading{font-size:clamp(46px,4.2vw,60px)}.hp-about__name-main{font-size:28px}.hp-contact__title{font-size:52px}}@media (width>=1024px) and (height>=700px){html:has(.hp-page){scroll-snap-type:y proximity}.hp-slide{scroll-snap-align:start}}@media (prefers-reduced-motion:no-preference){.hp-hero__pulse-svg{animation:2.4s cubic-bezier(.45,0,.2,1) .4s both hp-wipe}.hp-hero__title,.hp-hero__lead,.hp-hero__actions{animation:.9s ease-out both hp-rise}.hp-hero__lead{animation-delay:.15s}.hp-hero__actions{animation-delay:.3s}.hp-hero__pulse-from{animation:.6s ease-out .5s both hp-fade}.hp-hero__pulse-to{animation:.6s ease-out 2.4s both hp-fade}.hp-tasks__illust,.hp-flow__illust,.hp-contact__illust{animation:6s ease-in-out infinite hp-float}.hp-tasks__item:nth-child(2n) .hp-tasks__illust,.hp-flow__item:nth-child(2) .hp-flow__illust{animation-delay:-2s}.hp-tasks__item:nth-child(3n) .hp-tasks__illust,.hp-flow__item:nth-child(3) .hp-flow__illust{animation-delay:-4s}@supports (animation-timeline:view()){.hp-reveal{animation-name:hp-rise;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry entry 90%}.hp-tasks__illust .hp-illust__line,.hp-flow__illust .hp-illust__line,.hp-contact__illust .hp-illust__line{animation-name:hp-draw;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry 20%}}}@keyframes hp-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes hp-wipe{0%{clip-path:inset(-20% 100% -20% -2%)}to{clip-path:inset(-20% -2%)}}@keyframes hp-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes hp-fade{0%{opacity:0}to{opacity:1}}@keyframes hp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}
