@charset "UTF-8";
html{scroll-behavior:smooth}
html{background:#0B0C0F}
body{margin:0;font-family:"Noto Sans JP",sans-serif;background:#0B0C0F;color:#111418;-webkit-font-smoothing:antialiased}
.sec,footer{position:relative;z-index:1}
a{color:inherit;text-decoration:none}
.cv-br{display:none}
.hero-br{display:none}
@media (max-width:640px){.cv-br{display:inline}}
@media (max-width:480px){.hero-br{display:inline}}
::selection{background:#078FFA;color:#fff}
summary::-webkit-details-marker{display:none}
#faq details{interpolate-size:allow-keywords}
#faq details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .34s cubic-bezier(.22,1,.36,1),opacity .28s ease,content-visibility .34s allow-discrete}
#faq details[open]::details-content{block-size:auto;opacity:1}
@supports not (interpolate-size:allow-keywords){
#faq details::details-content{display:grid;grid-template-rows:0fr;block-size:auto;transition:grid-template-rows .34s cubic-bezier(.22,1,.36,1),opacity .28s ease}
#faq details[open]::details-content{grid-template-rows:1fr}
#faq details>div{min-height:0}
}
#faq summary::after{transition:transform .34s cubic-bezier(.22,1,.36,1) !important}
#faq details[open]>summary::after{transform:translateY(-50%) rotate(135deg) !important}
input::placeholder,textarea::placeholder{color:#B6BCC6}
input:focus,textarea:focus{outline:2px solid #078FFA;outline-offset:0}
@keyframes heroSlide{from{transform:translateX(0)}to{transform:translateX(-33.3333%)}}
@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes lineUp{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes blurIn{from{opacity:0;filter:blur(18px)}to{opacity:1;filter:blur(0)}}
@keyframes bgIn{from{opacity:0}to{opacity:1}}
@keyframes maskIn{from{opacity:0}to{opacity:.48}}
@keyframes charaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes deviceFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes scrollLine{0%{transform:translateY(-100%)}55%{transform:translateY(0)}100%{transform:translateY(102%)}}
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.rv.on{opacity:1;transform:translateY(0)}
.rv:nth-child(2){transition-delay:.08s}
.rv:nth-child(3){transition-delay:.16s}
.rv:nth-child(4){transition-delay:.06s}
.rv:nth-child(5){transition-delay:.12s}
.rv:nth-child(6){transition-delay:.18s}
.hd-link,.ft-link{position:relative;transition:color .18s}
.hd-link:hover,.ft-link:hover{opacity:1}
.hd-link::after,.ft-link::after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s cubic-bezier(.22,1,.36,1)}
.hd-link:hover::after,.ft-link:hover::after{transform:scaleX(1);transform-origin:left}
.txt-link{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;transition:opacity .18s}
@media (min-width:641px) and (max-width:1150px){
  html,body{overflow-x:clip;max-width:100vw}
  .wrap{width:auto !important;max-width:100% !important;padding:0 32px !important}
  .svc-grid{grid-template-columns:1fr 1fr !important;gap:56px 40px}
  .svc-card{padding:0 !important;border-left:none !important}
  .ops-grid{grid-template-columns:1fr !important;gap:56px !important}
  .ops-grid>div{min-width:0}
  .ops-grid>div:first-child{max-width:600px;margin:0 auto;text-align:center}
  .ops-grid>div:first-child p{margin-left:auto !important;margin-right:auto !important;max-width:100% !important}
  .ops-grid>div:first-child li{justify-content:center}
  .ops-dash{zoom:.74;margin:0 auto}
  .works-grid{grid-template-columns:1fr 1fr !important}
  .rsn-grid{grid-template-columns:1fr 1fr !important}
}
@media (max-width:640px){
  .ops-grid>div:first-child p{max-width:100% !important}
  .ops-dash{zoom:.74 !important}
}
@media (max-width:600px){
  .ops-dash{zoom:.70 !important}
}
@media (max-width:560px){
  .ops-dash{zoom:.64 !important}
}
@media (max-width:520px){
  .ops-dash{zoom:.59 !important}
}
@media (max-width:480px){
  .ops-dash{zoom:.54 !important}
}
@media (max-width:440px){
  .ops-dash{zoom:.49 !important}
}
@media (max-width:400px){
  .ops-dash{zoom:.44 !important}
}
@media (max-width:360px){
  .ops-dash{zoom:.39 !important}
}
@media (max-width:640px){
  html,body{overflow-x:clip;max-width:100vw}
  .fan-row .en{font-size:100px !important;top:-38px !important}
  .fan-row .en[style*="right"]{right:0 !important}
  .fan-row .en[style*="left"]{left:0 !important}
  .ops-grid>div{min-width:0}
  .sec{padding:96px 0 !important}
  #why{padding:0 !important}
  .hd-in{padding:12px 20px !important}
  .hd-link{display:none}
  .wrap{width:auto !important;max-width:100% !important;padding:0 24px !important}
  #flow .wrap h2{font-size:clamp(26px,7.6vw,36px) !important}
  section > h2[aria-hidden],#service > h2,#faq > h2{font-size:76px !important;top:calc(121px - 0.78em) !important}
  #service > h2{top:calc(124px - 0.78em) !important}
  #reason > h2,#flow > h2{top:calc(114px - 0.78em) !important}
  #reason .wrap h2{font-size:clamp(26px,7.6vw,36px) !important;gap:12px !important}
  #reason .wrap h2 img{height:1.05em !important}
  .hero-veil{width:calc(100% - 40px) !important;padding:44px 24px !important}
  .hero-h1{font-size:clamp(42px,calc(9.6vw - 6px),56px) !important}
  @media (max-width:480px){.hero-h1{font-size:clamp(40px,calc(15.6vw - 8px),68px) !important}}
  .hero-sub{font-size:13.5px !important;line-height:2 !important}
  .hero-sub br{display:none}
  .svc-grid,.why-grid,.fan-row,.ops-grid,.works-grid,.rsn-grid,.steps-grid{grid-template-columns:1fr !important}
  .svc-grid{gap:56px;margin-top:64px !important}
  .svc-card{padding:0 !important;border-left:none !important}
  .why-img{min-height:300px}
  .why-txt{padding:72px 24px !important}
  .fan-row{gap:44px !important;margin-bottom:96px !important}
  .fan-circle{width:300px !important;height:300px !important}
  .ops-grid{gap:48px !important}
  .fan-txt-b{order:0 !important}
  .ops-dash{zoom:.68}
  .steps-grid{width:100%}
  .step-card{display:grid !important;grid-template-columns:56px 1fr;column-gap:16px;align-items:start;box-sizing:border-box;min-width:0;width:100%;border:1px solid #DCE0E7 !important;border-radius:12px;padding:20px 18px 22px !important;background:#fff !important;margin-bottom:22px;box-shadow:0 1px 4px rgba(17,20,24,.06)}
  .step-card > div:first-child{grid-row:1 / span 2;align-self:center;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px !important;margin-bottom:0 !important}
  .step-card > div:first-child span:first-child{font-size:25px !important}
  .step-card h3{grid-column:2;margin:0 0 6px !important}
  .step-card p{grid-column:2;margin:0 !important}
  .step-card:last-child{background:#F2F5FB !important}
  .step-arrow{top:auto !important;right:auto !important;left:50%;bottom:-13px;transform:translateX(-50%) rotate(90deg) !important}
  .ops-kpi{flex-wrap:wrap}
  .ops-kpi>div{min-width:130px}
  .cv-card{padding:44px 24px 40px !important}
  #cv > div:last-child{padding:0 16px !important}
}
@media (max-width:640px){
  .ft-in{flex-direction:column;gap:14px;align-items:flex-start}
}

.site-hd{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid transparent}
.site-hd.is-solid{background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom-color:rgba(17,20,24,.06)}
.site-hd .logo-main,.site-hd .logo-plus{fill:#fff}
.site-hd.is-solid .logo-main{fill:#111418}
.site-hd.is-solid .logo-plus{fill:#078FFA}
.site-hd .hd-nav{color:#fff}
.site-hd.is-solid .hd-nav{color:#111418}
.site-hd .hd-cta{background:#fff;color:#111418}
.site-hd.is-solid .hd-cta{background:#111418;color:#fff}
.site-hd .hd-cta:hover,.hero-cta:hover,.cv-btn:hover{background:#0B6ACB !important;color:#fff !important}
.ft-link:hover{color:#fff !important}
#faq summary::after{content:'＋';position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#6B7280;font-weight:400}
.cv-field .error{margin:6px 0 0;font-size:12px;line-height:1.6;color:#EF4444}
.cv-field .error:empty{display:none}
.cv-field .-error{border:2px solid #EF4444 !important;background-color:#FEF2F2 !important}
.cv-btn:disabled{opacity:.6;pointer-events:none}
.hidden{display:none !important}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{animation:spin .8s linear infinite}
.grecaptcha-badge{z-index:90}
.sub-page{min-height:100vh;display:flex;align-items:center;box-sizing:border-box}
