:root{
  --hero-ink:#102238;
  --hero-purple:#8f248d;
  --hero-orange:#ffac35;
  --hero-cyan:#21c7d4;
}

*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;color:var(--hero-ink);background:#f8f7fa}
img{max-width:100%}

.hero-page--pc{min-width:1024px}
.hero-pc{
  position:relative;
  min-height:930px;
  overflow:hidden;
  background:
    radial-gradient(circle at 24% 65%,rgba(238,223,243,.78),transparent 34%),
    radial-gradient(circle at 82% 77%,rgba(210,240,244,.68),transparent 34%),
    linear-gradient(145deg,#fbfafc 0%,#f8f6fa 49%,#eff8fa 100%);
}
.hero-pc:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.28),transparent 30%,transparent 70%,rgba(255,255,255,.16));pointer-events:none}
.hero-pc__inner{position:relative;width:min(1200px,calc(100% - 96px));height:930px;margin:0 auto}
.hero-pc__logo{position:absolute;top:35px;left:0;display:block;width:224px;height:auto}
.hero-pc__copy{position:absolute;z-index:2;top:112px;left:50%;width:920px;transform:translateX(-50%);text-align:center}
.hero-pc__copy h1{margin:0;font-size:64px;line-height:1.35;letter-spacing:-.045em;font-weight:900}
.hero-pc__copy h1 span{position:relative;display:inline-block;z-index:0;margin-left:.08em}
.hero-pc__copy h1 span:after{content:"";position:absolute;left:-5%;right:-6%;bottom:.05em;height:.25em;z-index:-1;border-radius:55% 45% 50% 45%;background:rgba(255,172,53,.82);transform:rotate(-2deg)}
.hero-pc__copy p{margin:20px 0 0;font-size:22px;line-height:1.55;font-weight:600;letter-spacing:.005em}
.hero-pc__copy strong{position:relative;font-size:27px;font-weight:900}
.hero-pc__copy strong:after{content:"";position:absolute;left:-3px;right:-3px;bottom:-2px;height:5px;border-radius:50%;background:var(--hero-cyan);transform:rotate(-2deg)}
.hero-pc__visual{position:absolute;left:50%;top:398px;width:1200px;height:500px;transform:translateX(-50%)}
.hero-pc__screen{position:absolute;z-index:2;left:50%;top:18px;display:block;width:720px;height:auto;transform:translateX(-50%);filter:drop-shadow(0 14px 18px rgba(57,38,72,.15))}
.hero-pc__apps{position:absolute;inset:0;margin:0;padding:0;list-style:none}
.hero-pc__apps li{position:absolute;z-index:3;width:144px;height:137px;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 11px 28px rgba(57,38,72,.10);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#102238;font-size:19px;font-weight:900}
.hero-pc__apps svg{display:block;width:62px;height:62px;margin-bottom:8px;color:inherit;fill:currentColor}
.hero-pc__apps .app-sales{left:0;top:0;color:#8f248d}.hero-pc__apps .app-purchase{left:-42px;top:164px;color:#1383e7}.hero-pc__apps .app-stock{left:0;top:329px;color:#8f248d}
.hero-pc__apps .app-manufacture{right:0;top:0;color:#0cb46d}.hero-pc__apps .app-account{right:-42px;top:164px;color:#8f248d}.hero-pc__apps .app-crm{right:0;top:329px;color:#10b8b3}
.hero-pc__apps li span{color:#102238}

.hero-page--sp{min-width:320px;background:#f8f7fa}
.hero-sp{
  position:relative;
  min-height:844px;
  overflow:hidden;
  padding:28px 20px 30px;
  background:
    radial-gradient(circle at 13% 54%,rgba(250,205,185,.25),transparent 35%),
    radial-gradient(circle at 91% 75%,rgba(152,227,233,.25),transparent 38%),
    linear-gradient(145deg,#fbfafc 0%,#f7f4fa 53%,#f0f9fb 100%);
}

.hero-sp:before{
  content:"";
  position:absolute;
  width:270px;
  height:270px;
  right:-155px;
  top:-145px;
  border:1px solid rgba(142,48,143,.11);
  border-radius:50%;
}

.hero-sp__orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}
.hero-sp__orb--purple{width:140px;height:140px;left:-92px;top:280px;background:rgba(155,89,166,.09)}
.hero-sp__orb--cyan{width:170px;height:170px;right:-116px;bottom:90px;background:rgba(43,190,204,.10)}

.hero-sp__header,.hero-sp__copy,.hero-sp__visual{position:relative;z-index:1}
.hero-sp__header{width:100%;max-width:350px;margin:0 auto 40px}
.hero-sp__logo{display:block;width:166px;height:auto}

.hero-sp__copy{text-align:center}
.hero-sp__copy h1{
  margin:0;
  font-size:31px;
  line-height:1.38;
  letter-spacing:-.045em;
  font-weight:900;
}
.hero-sp__copy h1 .hero-sp__accent{position:relative;display:inline-block;z-index:0;margin-left:.08em}
.hero-sp__copy h1 .hero-sp__accent:after{
  content:"";
  position:absolute;
  left:-4%;
  right:-6%;
  bottom:.05em;
  height:.25em;
  z-index:-1;
  border-radius:55% 45% 50% 45%;
  background:rgba(255,172,53,.82);
  transform:rotate(-2deg);
}
.hero-sp__copy p{margin:22px 0 0;font-size:14px;line-height:1.85;font-weight:600;letter-spacing:.005em}
.hero-sp__copy strong{position:relative;font-size:17px;font-weight:900}
.hero-sp__copy strong:after{
  content:"";
  position:absolute;
  left:-2px;
  right:-2px;
  bottom:-2px;
  height:4px;
  border-radius:50%;
  background:var(--hero-cyan);
  transform:rotate(-2deg);
}

.hero-sp__visual{width:100%;max-width:350px;margin:34px auto 0}
.hero-sp__screen{
  position:relative;
  overflow:hidden;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 36px rgba(57,38,72,.16);
}
.hero-sp__screen:after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(103,74,119,.08);
  border-radius:inherit;
  pointer-events:none;
}
.hero-sp__screen img{display:block;width:100%;height:auto}

.hero-sp__apps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
}
.hero-sp__apps li{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:35px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  box-shadow:0 7px 18px rgba(57,38,72,.08);
  color:#26384d;
  font-size:12px;
  font-weight:800;
}
.hero-sp__apps svg{width:20px;height:20px;margin-right:7px;fill:currentColor;flex:0 0 auto}
.hero-sp__apps .is-purple{color:#8f248d}
.hero-sp__apps .is-blue{color:#168ae0}
.hero-sp__apps .is-magenta{color:#a625a9}
.hero-sp__apps .is-green{color:#16a96d}
.hero-sp__apps .is-orange{color:#f18c1e}
.hero-sp__apps .is-teal{color:#11aba9}

@media (max-width:359px){
  .hero-sp{padding-left:16px;padding-right:16px;min-height:800px}
  .hero-sp__header{margin-bottom:32px}
  .hero-sp__copy h1{font-size:30px}
  .hero-sp__copy p{font-size:13px}
  .hero-sp__visual{margin-top:28px}
}
