@charset "UTF-8";
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-family: "Avenir Next", "Hiragino Sans", "Yu Gothic", sans-serif;
  color: #f5f5f5;
  line-height: 1.6;
  margin: 0;
}

h1, h2, h3 {
  margin: 0;
}

main {
  margin-top: 80px;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

p {
  margin: 0;
}

a {
  text-decoration: none;
  color: #0F2237;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  list-style: none;
}

.head-group {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto;
}
.head-group.mt64 {
  margin-top: 64px;
}
.head-group p {
  font-size: 2.2rem;
  color: #B3D3F3;
  text-align: center;
  line-height: 1;
}
@media (max-width: 760px) {
  .head-group p {
    font-size: 2rem;
  }
}
.head-group h2 {
  font-size: 4rem;
  font-weight: bold;
  color: #0F2237;
  line-height: 1.5;
  margin-top: 5px;
}
@media (max-width: 760px) {
  .head-group h2 {
    font-size: 3.2rem;
  }
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}
.button.file, .button.mail {
  gap: 4px;
}
.button.file::before, .button.mail::before {
  content: "";
  display: block;
  background-size: contain;
}
.button.file::before {
  background-image: url("../img/icon_file.svg");
  width: 20px;
  height: 23px;
}
.button.mail::before {
  background-image: url("../img/icon_mail.svg");
  width: 24px;
  height: 19px;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-1px);
}

.button--primary {
  color: #ffffff;
  font-weight: bold;
  background: linear-gradient(135deg, #1d7ee9 0%, #0b5fcb 100%);
  background: linear-gradient(135deg, #f99d32 0%, #ed6427 100%);
  box-shadow: 0 12px 32px rgba(11, 111, 214, 0.2);
}

.button--ghost {
  color: #0F2237;
  font-weight: bold;
  border: 1px solid rgba(18, 42, 74, 0.14);
  background: linear-gradient(to right, #FAFCFD, #E9F2F3);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
}

.hero .button--primary {
  color: #041321;
  background: linear-gradient(135deg, #f8f3d5 0%, #ffd49d 38%, #fe8f35 100%);
  box-shadow: 0 12px 32px rgba(255, 160, 2, 0.28);
}

.hero .button--ghost {
  color: inherit;
  border: 1px solid rgba(169, 226, 255, 0.36);
  background: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  -webkit-backdrop-filter: blur(18px);
          backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(18, 42, 74, 0.08);
  box-shadow: 0 10px 30px rgba(15, 27, 46, 0.06);
  background: rgba(255, 255, 255, 0.2);
}

.menu-backdrop {
  position: fixed;
  inset: 80px 0 0 0;
  z-index: 18;
  background: rgba(7, 19, 35, 0.34);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.site-header__inner,
.hero__inner,
.section-inner {
  width: min(1180px, 100% - 48px);
  margin: 0 auto;
}

.site-header__inner {
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.brand__logo {
  width: 80px;
  height: auto;
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-left: auto;
  width: 100%;
}

.site-nav {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: flex-end;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  width: 100%;
}
.site-nav .button--ghost {
  margin-left: 19px;
}
.site-nav .button--primary {
  margin-left: -8px;
}
.site-nav .button--ghost,
.site-nav .button--primary {
  width: 100%;
  max-width: 105px;
  font-size: 14px;
}

.site-nav a {
  font-size: 15px;
  font-weight: 600;
  position: relative;
}

.site-nav a:not(.button)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: rgba(134, 235, 255, 0.75);
  background: #beceee;
  background: #4f8ae8;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.site-nav a:hover::after,
.site-nav a:focus-visible::after {
  transform: scaleX(1);
}

.menu-toggle {
  display: none;
  position: relative;
  z-index: 100;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(18, 42, 74, 0.12);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 24px rgba(15, 27, 46, 0.08);
  cursor: pointer;
}

.menu-toggle span {
  position: absolute;
  left: 50%;
  width: 26px;
  height: 2px;
  border-radius: 999px;
  background: #17324f;
  transform: translateX(-50%);
  transition: transform 180ms ease, opacity 180ms ease, top 180ms ease;
}

.menu-toggle span:nth-child(1) {
  top: calc(50% - 8px);
}

.menu-toggle span:nth-child(2) {
  top: 50%;
}

.menu-toggle span:nth-child(3) {
  top: calc(50% + 8px);
}

.site-header.is-nav-open .menu-toggle span:nth-child(1) {
  top: 50%;
  transform: translateX(-50%) rotate(45deg);
}

.site-header.is-nav-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}

.site-header.is-nav-open .menu-toggle span:nth-child(3) {
  top: 50%;
  transform: translateX(-50%) rotate(-45deg);
}

@media (max-width: 980px) {
  .site-header__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    min-height: 52px;
  }
  .site-header__actions {
    position: relative;
    margin-left: 0;
    width: auto;
  }
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .site-nav {
    position: fixed;
    top: 76px;
    right: 12px;
    left: 12px;
    z-index: 30;
    display: none;
    padding: 18px;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 18px;
    border: 1px solid rgba(18, 42, 74, 0.1);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 20px 50px rgba(15, 27, 46, 0.14);
    max-height: calc(100vh - 80px - 20px);
    overflow: auto;
    font-size: 16px;
    width: auto;
  }
  .site-nav .button--ghost,
.site-nav .button--primary {
    margin-left: 0;
  }
  .site-nav .button--ghost,
.site-nav .button--primary {
    width: auto;
    max-width: none;
  }
  .site-header.is-nav-open .site-nav {
    display: flex;
  }
  /*.card-grid--three,*/
  .benefit-layout {
    grid-template-columns: 1fr;
  }
  .cta-band__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .site-header.is-nav-open ~ .menu-backdrop {
    opacity: 1;
    pointer-events: auto;
  }
}
.site-footer {
  padding: 42px 0 44px;
  color: #132D51;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  text-align: center;
  background-color: #F5F7FB;
}

.site-footer p {
  margin: 0;
}

.sec-bg {
  padding: 56px 24px 50px;
  background-color: #F5F7FB;
}
@media (max-width: 760px) {
  .sec-bg {
    padding: 48px 16px 40px;
  }
}

.sec-bg02 {
  padding: 56px 24px 50px;
  background-color: #fff;
}
@media (max-width: 760px) {
  .sec-bg02 {
    padding: 48px 16px 40px;
  }
}

.triangle {
  display: block;
  width: 80px;
  height: 43px;
  margin: 0 auto;
  padding: 30px 0;
}

.mv_content {
  position: relative;
  min-height: 660px;
}
.mv_content::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("../img/kv_bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  min-height: 660px;
  z-index: -2;
}
@media (max-width: 980px) {
  .mv_content::after {
    background-position-x: center;
    min-height: 100%;
  }
}
.mv_content_inner {
  display: flex;
  align-items: flex-end;
  padding: 105px 0 96px 16px;
  position: relative;
  max-width: 1230px;
  margin: 0 auto;
}
@media (max-width: 980px) {
  .mv_content_inner {
    flex-direction: column-reverse;
    align-items: flex-start;
    padding: 45px 16px 96px;
  }
}
@media (max-width: 980px) {
  .mv_content_inner {
    padding: 45px 16px 48px;
  }
}
.mv_content_inner::before {
  content: "";
  position: absolute;
  top: 120px;
  right: 0;
  background-image: url("../img/bg_pcsp.png");
  background-size: cover;
  background-repeat: no-repeat;
  width: 729px;
  height: 431px;
  z-index: -1;
}
@media (max-width: 980px) {
  .mv_content_inner::before {
    top: 30px;
    width: 409px;
    height: 241px;
  }
}
@media (max-width: 980px) {
  .mv_content_inner .head_txt_box {
    margin-top: 48px;
  }
}
.mv_content_inner .head_txt_box .head_txt {
  font-size: 3.2rem;
  color: #0F2237;
  font-weight: 700;
}
@media (max-width: 760px) {
  .mv_content_inner .head_txt_box .head_txt {
    font-size: 2.6rem;
  }
}
.mv_content_inner .head_txt_box .head_txt.small {
  font-size: 2.4rem;
}
@media (max-width: 760px) {
  .mv_content_inner .head_txt_box .head_txt.small {
    font-size: 2rem;
  }
}
.mv_content_inner .head_txt_box h1 {
  font-size: 5rem;
  color: #0F2237;
  line-height: 1.3;
}
@media (max-width: 980px) {
  .mv_content_inner .head_txt_box h1 {
    font-size: 4rem;
  }
}
@media (max-width: 760px) {
  .mv_content_inner .head_txt_box h1 {
    font-size: 3.2rem;
  }
}
.mv_content_inner .head_txt_box h1 .blue {
  color: #3975DC;
}
.mv_content_inner .head_txt_box h1 .green {
  color: #22A9BC;
}
.mv_content_inner .head_txt_box h1 .orange {
  color: #DE5400;
}
.mv_content_inner .head_txt_box .check_list {
  margin: 16px 0 0;
}
.mv_content_inner .head_txt_box .check_list li {
  display: flex;
  font-size: 2.3rem;
  color: #0F2237;
  font-weight: 700;
}
@media (max-width: 760px) {
  .mv_content_inner .head_txt_box .check_list li {
    font-size: 2rem;
  }
}
.mv_content_inner .head_txt_box .check_list li::before {
  content: "";
  display: block;
  background-image: url("../img/icon_check_blue.svg");
  background-size: cover;
  background-repeat: no-repeat;
  min-width: 35px;
  height: 29px;
  margin: 3px 4px 0 0;
}
.mv_content_inner .cicle {
  background-color: #fff;
  border-radius: 100vmax;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  width: 184px;
  height: 184px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.mv_content_inner .cicle p {
  font-size: 2.1rem;
  color: #134588;
  text-align: center;
  font-weight: 700;
  line-height: 1;
}
.mv_content_inner .cicle p span {
  color: #DE5400;
}
.mv_content_inner .cicle p span.middle {
  font-size: 2.8rem;
}
.mv_content_inner .cicle p span.middle02 {
  font-size: 3rem;
}
.mv_content_inner .cicle p span.large {
  font-size: 3.8rem;
}

.callenges {
  padding-top: 54px;
  padding-bottom: 0;
}
.callenges_list {
  margin: 18px auto 0;
  max-width: 1192px;
  display: flex;
  gap: 20px;
}
@media (max-width: 980px) {
  .callenges_list {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media (max-width: 760px) {
  .callenges_list {
    flex-direction: column;
    align-items: center;
  }
}
.callenges_list li {
  width: 100%;
  max-width: 283px;
  border-radius: 16px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}
@media (max-width: 980px) {
  .callenges_list li {
    width: calc(50% - 10px);
  }
}
@media (max-width: 760px) {
  .callenges_list li {
    width: 100%;
    max-width: none;
  }
}
.callenges_list li img {
  display: block;
  width: 100%;
  border-radius: 16px 16px 0 0;
}
.callenges_list li .txt_box {
  padding: 24px 20px 25px;
}
.callenges_list li .txt_box h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0F2237;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .callenges_list li .txt_box h3 {
    font-size: 2rem;
  }
}
.callenges_list li .txt_box p {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0F2237;
  text-align: center;
  margin-top: 4px;
}
@media (max-width: 760px) {
  .callenges_list li .txt_box p {
    font-size: 1.6rem;
  }
}

.features {
  padding-top: 0;
  padding-bottom: 0;
}
.features_flow {
  margin: 18px auto 0;
  padding: 24px 24px 24px;
  max-width: 1134px;
  display: flex;
  justify-content: center;
  gap: 15px;
  border-radius: 100vmax;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
@media (max-width: 1300px) {
  .features_flow {
    padding: 24px 54px;
  }
}
@media (max-width: 980px) {
  .features_flow {
    flex-direction: column;
    align-items: center;
    border-radius: 24px;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    gap: 24px;
  }
}
@media (max-width: 760px) {
  .features_flow li {
    width: 100%;
  }
}
.features_flow li .img_box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 158px;
  height: 158px;
  border-radius: 100vmax;
  background-color: #DBE6F8;
}
@media (max-width: 1100px) {
  .features_flow li .img_box {
    width: 138px;
    height: 138px;
  }
}
.features_flow li .img_box img {
  display: block;
  width: 98px;
  height: 98px;
  margin: 0 auto;
}
.features_flow li.arrow {
  margin-top: 70px;
}
@media (max-width: 980px) {
  .features_flow li.arrow {
    margin-top: 0px;
    rotate: 90deg;
    width: auto;
  }
}
.features_flow li.arrow img {
  display: block;
  width: 60px;
  height: 35px;
}
.features_flow li .txt_box {
  margin: 12px 0 0;
}
.features_flow li .txt_box h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0F2237;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .features_flow li .txt_box h3 {
    font-size: 2rem;
  }
}
.features_flow li .txt_box p {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0F2237;
  text-align: center;
  margin-top: 4px;
}
@media (max-width: 760px) {
  .features_flow li .txt_box p {
    font-size: 1.6rem;
  }
}
.features_list {
  display: flex;
  align-items: center;
  gap: 42px;
  max-width: 1122px;
  margin: 30px auto 0;
  padding: 38px 30px;
  border-radius: 12px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
@media (max-width: 760px) {
  .features_list {
    flex-direction: column;
    padding: 38px 8px;
  }
}
.features_list .img_box {
  display: flex;
  gap: 45px;
  min-width: 268px;
}
@media (max-width: 760px) {
  .features_list .img_box {
    gap: 24px;
    align-items: center;
  }
}
.features_list .img_box img {
  display: block;
  width: 73px;
  height: 85px;
}
@media (max-width: 760px) {
  .features_list .img_box img {
    margin-top: -17px;
  }
}
.features_list .img_box p {
  font-size: 3rem;
  line-height: 1.3;
  color: #0053C5;
  text-align: center;
  font-weight: 700;
}
@media (max-width: 760px) {
  .features_list .img_box p {
    font-size: 2.4rem;
  }
}
.features_list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 30px;
}
@media (max-width: 760px) {
  .features_list ul {
    gap: 20px 16px;
  }
}
.features_list ul li.min-w-154 {
  min-width: 154px;
}
@media (max-width: 760px) {
  .features_list ul li.min-w-154 {
    min-width: auto;
  }
}
.features_list ul li p {
  display: flex;
  gap: 6px;
  font-size: 2.4rem;
  font-weight: 700;
  color: #0F2237;
  line-height: 1;
}
@media (max-width: 760px) {
  .features_list ul li p {
    font-size: 2rem;
  }
}
.features_list ul li p::before {
  content: "";
  display: block;
  background-image: url("../img/icon_check.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 28px;
  height: 22px;
}

.card_list.reason {
  padding-top: 0;
  padding-bottom: 0;
}
.card_list.reason ul li {
  padding: 47px 9px 34px;
  border: 1px solid #0084CE;
  border-radius: 16px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.card_list ul {
  margin: 18px auto 0;
  max-width: 1182px;
  display: flex;
  justify-content: center;
  gap: 15px;
}
@media (max-width: 980px) {
  .card_list ul {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media (max-width: 760px) {
  .card_list ul {
    flex-direction: column;
    align-items: center;
  }
}
.card_list ul.process .number {
  padding: 8px 0;
  border-radius: 100vmax;
  background-color: #007CCA;
  font-size: 2.4rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  margin-bottom: 8px;
}
.card_list ul.process .number.bg {
  background: linear-gradient(to right, #007CCA, #008FD6);
}
.card_list ul.process .number.bg02 {
  background: linear-gradient(to right, #008FD6, #14A0DE);
}
.card_list ul.process .number.bg03 {
  background: linear-gradient(to right, #14A0DE, #24AAE4);
}
.card_list ul.process li {
  display: flex;
  flex-direction: column;
}
.card_list ul.process li .bdr_box {
  height: 100%;
}
.card_list ul li {
  width: 100%;
  max-width: 284px;
  box-sizing: border-box;
}
.card_list ul li .bdr_box {
  padding: 47px 9px 16px;
  border: 1px solid #0084CE;
  border-radius: 16px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
@media (max-width: 760px) {
  .card_list ul li .bdr_box {
    padding: 24px 9px 16px;
  }
}
@media (max-width: 980px) {
  .card_list ul li {
    width: calc(50% - 10px);
  }
}
@media (max-width: 760px) {
  .card_list ul li {
    width: 100%;
    max-width: none;
  }
}
.card_list ul li img {
  display: block;
  width: 100%;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto;
}
.card_list ul li .txt_box {
  margin-top: 16px;
}
.card_list ul li .txt_box h3 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0084CE;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .card_list ul li .txt_box h3 {
    font-size: 2rem;
  }
}
.card_list ul li .txt_box p {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0F2237;
  text-align: center;
  margin-top: 8px;
}
@media (max-width: 760px) {
  .card_list ul li .txt_box p {
    font-size: 1.6rem;
  }
}

.benefit {
  padding-top: 0;
  padding-bottom: 64px;
}
@media (max-width: 760px) {
  .benefit {
    padding-bottom: 48px;
  }
}
.benefit_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 36px 46px;
  margin: 15px auto 0;
  max-width: 1500px;
}
@media (max-width: 980px) {
  .benefit_list {
    flex-direction: column;
  }
}
.benefit_list li {
  display: flex;
  justify-content: space-between;
  gap: 4px;
  width: calc(100% - 63px);
  max-width: 514px;
  border-radius: 16px;
  padding: 20px 8px 16px 30px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}
@media (max-width: 980px) {
  .benefit_list li {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}
@media (max-width: 760px) {
  .benefit_list li {
    flex-direction: column-reverse;
    align-items: center;
    gap: 16px;
    padding: 20px 8px 16px;
  }
}
.benefit_list li::before {
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 316px;
  height: 206px;
  position: absolute;
  bottom: -10px;
  right: -10px;
  z-index: 99;
}
.benefit_list li.purple {
  background-color: #FCF8FF;
  border: 1px solid #C7C8EB;
}
.benefit_list li.purple::before {
  background-image: url("../img/triangle_purple.png");
}
.benefit_list li.purple .number {
  color: #7f6dc8;
}
.benefit_list li.purple .number_txt {
  color: #7f6dc8;
}
.benefit_list li.blue {
  background-color: #F4FAFF;
  border: 1px solid #8AC5E9;
}
.benefit_list li.blue::before {
  background-image: url("../img/triangle_blue.png");
}
.benefit_list li.blue .number {
  color: #0080CD;
}
.benefit_list li.blue .number_txt {
  color: #0080CD;
}
.benefit_list li.green {
  background-color: #F5FCF8;
  border: 1px solid #66C3AD;
}
.benefit_list li.green::before {
  background-image: url("../img/triangle_green.png");
}
.benefit_list li.green .number {
  color: #28A98E;
}
.benefit_list li.green .number_txt {
  color: #28A98E;
}
.benefit_list li.yellow {
  background-color: #FDFBF3;
  border: 1px solid #F1DBA2;
}
.benefit_list li.yellow::before {
  background-image: url("../img/triangle_yellow.png");
}
.benefit_list li.yellow .number {
  color: #EDB72D;
}
.benefit_list li.yellow .number_txt {
  color: #EDB72D;
}
.benefit_list li img,
.benefit_list li > div {
  position: relative;
  z-index: 100;
}
.benefit_list li img {
  display: block;
  width: 100%;
}
.benefit_list li .mw222 {
  max-width: 222px;
}
.benefit_list li .mw197 {
  max-width: 197px;
}
.benefit_list li .mw174 {
  max-width: 174px;
}
.benefit_list li .mw190 {
  max-width: 190px;
}
.benefit_list li .number {
  font-size: 9.7rem;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 760px) {
  .benefit_list li .number {
    font-size: 5rem;
  }
}
.benefit_list li .number_txt {
  font-size: 2.8rem;
  font-weight: 700;
}
@media (max-width: 760px) {
  .benefit_list li .number_txt {
    font-size: 2.4rem;
  }
}
.benefit_list li .benefit_txt {
  font-size: 2.2rem;
  font-weight: 700;
  color: #0F2237;
  margin-top: 4px;
}
@media (max-width: 760px) {
  .benefit_list li .benefit_txt {
    font-size: 1.8rem;
  }
}

.case {
  padding-bottom: 0;
}
.case ul {
  margin: 18px auto 0;
  max-width: 1182px;
  display: flex;
  justify-content: center;
  gap: 15px;
}
.case ul.dots_list.small {
  flex-wrap: wrap;
}
.case ul.dots_list.small li {
  max-width: 224px;
}
@media (max-width: 980px) {
  .case ul.dots_list.small li {
    max-width: 384px;
  }
}
@media (max-width: 760px) {
  .case ul.dots_list.small li {
    max-width: none;
  }
}
.case ul.dots_list.small li .bdr_box {
  padding: 24px 16px 8px;
}
.case ul.dots_list .case_list li:nth-child(n+2) {
  margin-top: 0;
}
.case ul.dots_list .case_list .case_txt {
  display: flex;
  gap: 12px;
}
.case ul.dots_list .case_list .case_txt::before {
  display: block;
}
.case ul.mt12 {
  margin-top: 12px;
}
@media (max-width: 980px) {
  .case ul {
    flex-wrap: wrap;
  }
}
@media (max-width: 760px) {
  .case ul {
    flex-direction: column;
    align-items: center;
  }
}
.case ul .case_tag {
  padding: 19px 0;
  border-radius: 16px;
  font-size: 2.6rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  margin-bottom: 8px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.case ul .case_tag.small {
  font-size: 2.2rem;
}
.case ul li {
  width: 100%;
  max-width: 384px;
  display: flex;
  flex-direction: column;
}
@media (max-width: 760px) {
  .case ul li {
    max-width: none;
  }
}
.case ul li.blue .case_tag {
  background-color: #0080CD;
}
.case ul li.blue .bdr_box {
  border: 1px solid #0080CD;
}
.case ul li.blue .case_list .tag {
  background-color: #0080CD;
}
.case ul li.blue .case_list .case_txt::before {
  background-color: #0080CD;
}
.case ul li.blue .case_list .color {
  color: #0080CD;
}
.case ul li.orange .case_tag {
  background-color: #DB8825;
}
.case ul li.orange .bdr_box {
  border: 1px solid #DB8825;
}
.case ul li.orange .case_list .tag {
  background-color: #DB8825;
}
.case ul li.orange .case_list .case_txt::before {
  background-color: #DB8825;
}
.case ul li.orange .case_list .color {
  color: #DB8825;
}
.case ul li.green .case_tag {
  background-color: #00A99E;
}
.case ul li.green .bdr_box {
  border: 1px solid #00A99E;
}
.case ul li.green .case_list .tag {
  background-color: #00A99E;
}
.case ul li.green .case_list .case_txt::before {
  background-color: #00A99E;
}
.case ul li.green .case_list .color {
  color: #00A99E;
}
.case ul li.purple .case_tag {
  background-color: #836CCE;
}
.case ul li.purple .bdr_box {
  border: 1px solid #836CCE;
}
.case ul li.purple .case_list .tag {
  background-color: #836CCE;
}
.case ul li.purple .case_list .case_txt::before {
  background-color: #836CCE;
}
.case ul li.purple .case_list .color {
  color: #836CCE;
}
.case ul li.light-green .case_tag {
  background-color: #66B84A;
}
.case ul li.light-green .bdr_box {
  border: 1px solid #66B84A;
}
.case ul li.light-green .case_list .tag {
  background-color: #66B84A;
}
.case ul li.light-green .case_list .case_txt::before {
  background-color: #66B84A;
}
.case ul li.light-green .case_list .color {
  color: #66B84A;
}
.case ul li .bdr_box {
  padding: 24px 16px;
  border: 1px solid #0084CE;
  border-radius: 16px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  height: 100%;
}
@media (max-width: 980px) {
  .case ul li {
    width: calc(50% - 10px);
  }
}
@media (max-width: 760px) {
  .case ul li {
    width: 100%;
  }
}
.case ul li img {
  display: block;
  width: 100%;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto;
}
.case ul li .case_list {
  display: block;
  margin-top: 12px;
}
.case ul li .case_list.bdr-t {
  border-top: 1px solid #D7DEE5;
  padding: 10px 0;
}
@media (max-width: 980px) {
  .case ul li .case_list li {
    width: 100%;
  }
}
.case ul li .case_list li:nth-child(n+2) {
  margin-top: 16px;
}
.case ul li .case_list .tag {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  border-radius: 4px;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  padding: 3px 9px;
}
@media (max-width: 760px) {
  .case ul li .case_list .tag {
    font-size: 1.6rem;
  }
}
.case ul li .case_list .case_txt {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0F2237;
  margin-top: 4px;
}
.case ul li .case_list .case_txt::before {
  content: "";
  display: none;
  min-width: 12px;
  height: 12px;
  border-radius: 100vmax;
  margin-top: 6px;
}
.case ul li .case_list .case_txt span {
  font-size: 2.8rem;
}
@media (max-width: 760px) {
  .case ul li .case_list .case_txt {
    font-size: 1.6rem;
  }
}

.faq .faq_list_content {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 16px 48px;
  margin-top: 12px;
}
@media (max-width: 760px) {
  .faq .faq_list_content {
    flex-direction: column;
  }
}
.faq_list {
  width: calc(50% - 24px);
}
@media (max-width: 760px) {
  .faq_list {
    width: 100%;
  }
}
.faq_list li {
  background-color: #fff;
  border-radius: 16px;
  padding: 20px 16px;
}
.faq_list li:nth-child(n+2) {
  margin-top: 16px;
}
.faq_list li.is-open .faq_ttl span::before {
  rotate: 90deg;
  transition: 0.5s all;
}
.faq_list li .faq_ttl {
  display: flex;
  background-color: rgba(0, 0, 0, 0);
  border: 0;
  font-size: 1.8rem;
  color: #0F2237;
  font-weight: 700;
  position: relative;
  width: 100%;
  cursor: pointer;
}
.faq_list li .faq_ttl::before {
  content: "";
  background-image: url("../img/icon_faq_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  min-width: 14px;
  height: 22px;
  margin: 3px 7px 0 0;
}
.faq_list li .faq_ttl span {
  padding: 0 12px 0 0;
  text-align: left;
}
.faq_list li .faq_ttl span::before, .faq_list li .faq_ttl span::after {
  content: "";
  position: absolute;
  top: 4px;
  right: 0;
  width: 6px;
  height: 20px;
  background-color: #0F2237;
}
.faq_list li .faq_ttl span::before {
  transition: 0.5s all;
}
.faq_list li .faq_ttl span::after {
  rotate: 90deg;
}
.faq_list li .faq_content {
  display: none;
  background-color: #DEF2FF;
  margin-top: 12px;
  padding: 10px 12px;
}
.faq_list li .faq_content p {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #0F2237;
}

.note {
  font-size: 2.2rem;
  color: #0F2237;
  font-weight: 700;
  margin: 14px auto 0;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media (max-width: 760px) {
  .note {
    font-size: 1.8rem;
  }
}
.note.small {
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  margin: 60px auto 0;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media (max-width: 760px) {
  .note.small {
    margin: 48px auto 0;
  }
}

.contact {
  padding-bottom: 7px;
}
.contact_btn {
  display: flex;
  justify-content: center;
  gap: 17px;
  margin: 56px 0 0;
}
@media (max-width: 760px) {
  .contact_btn {
    flex-direction: column;
    align-items: center;
    margin: 32px 0 0;
  }
}
.contact_btn .button {
  width: 100%;
  max-width: 304px;
  font-size: 2rem;
  box-sizing: border-box;
}
@media (max-width: 760px) {
  .contact_btn .button {
    max-width: none;
  }
}

:root {
  --surface: #ffffff;
  --surface-soft: #f3f6fb;
  --text: #122033;
  --accent: #86ebff;
  --accent-2: #4f8ae8;
  --error: #ef4444;
  --shadow: 0 0 40px rgba(15, 27, 46, 0.08);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 8px;
  --radius-full: 9999px;
  /* ニュートラルカラー */
  --neutral-50: #fafafa;
  --neutral-100: #f5f5f5;
  --neutral-200: #e5e5e5;
  --neutral-300: #d4d4d4;
  --neutral-400: #a3a3a3;
  --neutral-500: #737373;
  --neutral-600: #525252;
  --neutral-700: #404040;
  --neutral-800: #262626;
  --neutral-900: #171717;
  /* スペーシング */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
}

/* base
-------------------- */
html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  background: var(--surface-soft);
  color: var(--text);
  font-family: "Avenir Next", "Hiragino Sans", "Yu Gothic", sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

small {
  font-size: 60%;
}

body#inquiry,
body#request {
  background: var(--surface-soft);
}

button {
  border: none;
  cursor: pointer;
  font-size: 16px;
}

/* cta
-------------------- */
#cta {
  background: url("../img/s6-cta-bg.jpg") top/contain no-repeat var(--surface-soft);
  padding: 30px 0;
}

#cta .cta-head {
  display: flex;
  flex-flow: column;
  justify-content: center;
  height: clamp(180px, 20vw, 260px);
}

#cta .cta-head h2 {
  /*margin: 30px 0;*/
  margin: 0 0 20px 0;
  font-size: clamp(2.2rem, 4vw, 5.2rem);
  color: #0F2237;
  text-align: center;
  line-height: 1.2;
}

#cta .cta-head h2 span {
  display: block;
  color: #0F2237;
  text-shadow: 0 0 24px rgba(134, 235, 255, 0.18);
}

#cta .cta-head p {
  /*margin: 0 1rem 2rem;*/
  margin: 0 1rem;
  font-size: 18px;
  text-align: center !important;
  color: #fff;
  text-shadow: 0 0 24px rgba(134, 235, 255, 0.18);
}

#cta .cta-band__inner {
  border: 1px solid rgba(18, 42, 74, 0.08);
  border-radius: var(--radius-md);
  background: var(--surface);
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  padding: 10px;
  max-width: 900px;
  margin: 0 auto;
}

#cta .contact-form-container {
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

#cta .contact-form {
  background: white;
  padding: var(--space-8);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

#cta .form-group {
  margin-bottom: var(--space-6);
}

#cta .form-group:last-of-type {
  margin-bottom: var(--space-8);
}

#cta .form-group label {
  display: block;
  color: var(--text);
  font-size: 1.6rem;
  margin-bottom: var(--space-2);
}

#cta .required {
  color: var(--error);
  margin-left: var(--space-1);
}

#cta .form-group input,
#cta .form-group textarea {
  width: 100%;
  padding: var(--space-4);
  border: 2px solid var(--neutral-200);
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: 1.6rem;
  transition: all var(--transition-base);
  background: white;
  box-sizing: border-box;
}

#cta .form-group input:focus,
#cta .form-group textarea:focus {
  outline: none;
  border-color: var(--primary);
  border-color: var(--accent-2);
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1);
  transform: translateY(-2px);
}

#cta .form-group textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.5;
}

/* 業種セレクト */
#cta .form-group .industry-group {
  position: relative;
  display: inline-flex;
  width: 100%;
  max-width: 250px;
}

#cta .form-group .industry-group select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-size: 16px;
  padding: 10px 40px 10px 15px;
  width: 100%;
  cursor: pointer;
  box-sizing: border-box;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  border-radius: 4px;
}

#cta .form-group .industry-group::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  pointer-events: none;
}

/* 導入予定時期ラジオボタン */
#cta .form-group.timing-group {
  /*display: grid;*/
  /*display: block; */
  margin: 0 auto var(--space-4) auto;
}

#cta .form-group.timing-group .timing-title {
  width: 100%;
  margin-bottom: 8px;
}

#cta .form-group.timing-group .timing-option {
  /*display: grid;*/
  display: flex;
  align-items: center;
  white-space: nowrap;
}

#cta .form-group.timing-group .timing-option input[type=radio] {
  width: 16px;
  height: 16px;
  margin: 0 var(--space-2) var(--space-2) 0;
  cursor: pointer;
  line-height: 1;
}

#cta .form-group.timing-group .timing-option label {
  display: inline;
  cursor: pointer;
}

/* プライバシーポリシー */
#cta .form-group.privacy-policy {
  margin-bottom: var(--space-8);
}

#cta .form-group.privacy-policy .privacy-policy-txt {
  width: 100%;
  height: 146px;
  border: 2px solid var(--neutral-200);
  border-radius: var(--radius-sm);
  resize: none;
  overflow: hidden;
  overflow-y: scroll;
  background: #fff;
  margin-top: var(--space-2);
  padding: var(--space-4);
  font-size: 1.4rem;
  box-sizing: border-box;
}

#cta .form-group.privacy-policy .privacy-policy-note {
  display: flex;
  color: var(--text);
  margin-top: var(--space-3);
  margin-bottom: var(--space-3);
  font-size: 1.6rem;
}

#cta .form-group.privacy-policy .privacy-policy-check {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}

#cta .form-group.privacy-policy input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
}

#cta .form-group.privacy-policy label {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.5;
  cursor: pointer;
  flex: 1;
}

#cta .privacy-policy-link {
  color: var(--primary);
  text-decoration: underline;
  font-weight: 600;
  transition: color var(--transition-base);
}

#cta .privacy-policy-link:hover {
  color: var(--primary-dark);
}

#cta .submit-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--space-4) var(--space-6);
  font-size: 1.8rem;
  font-weight: 600;
  overflow: hidden;
  border-radius: var(--radius-full);
  cursor: pointer;
}

#cta .button--primary {
  color: #ffffff;
  /*background: linear-gradient(135deg, #1d7ee9 0%, #0b5fcb 100%);*/
  background: linear-gradient(135deg, #f99d32 0%, #ed6427 100%);
  box-shadow: 0 12px 32px rgba(11, 111, 214, 0.2);
}

#cta .submit-button:hover::before {
  left: 100%;
}

#cta .submit-button:active {
  transform: translateY(0);
}

/* responsive
-------------------- */
/* display none */
@media (max-width: 980px) {
  .lg-only {
    display: none;
  }
}
@media (max-width: 760px) {
  .pc-only {
    display: none;
  }
}
/* common */
@media (max-width: 760px) {
  :root {
    --container: min(calc(100% - 28px), 100%);
  }
  .cta-band {
    padding: 36px 0;
  }
  #cta .contact-form {
    padding: var(--space-4);
  }
}
@media (max-width: 520px) {
  .cta-group .button,
.cta-band .button {
    width: 100%;
  }
  #cta .cta-head h2 {
    margin: 20px 0;
    font-size: 1.75rem;
  }
  #cta .cta-head h2 span {
    font-size: 1.5rem;
  }
  #cta .cta-head p {
    font-size: 17px;
  }
  #cta .cta-band__inner {
    padding: 10px 0;
  }
}
/*# sourceMappingURL=styles.css.map */