﻿:root {
  --module: 6.51vw;
  --spacing: 0.04em;
  --color-navy: #041d53;
  --color-blue: #0066a9;
  --color-gold: #e8cb94;
  --color-red: #ce0e38;
  --color-text: var(--color-navy, #222);
  --grad-blue: linear-gradient(136deg, #4aaff2, var(--color-blue));
  --grad-red: linear-gradient(88deg, #ff6a6d, #ce0e38, #960525);
  scroll-behavior: smooth;
  scroll-padding-top: calc(1.12 * var(--module));
}
@media screen and (max-width: 768px) {
  :root {
    --module: 13.021vw;
  }
}
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0);
  box-sizing: border-box;
  list-style: none;
  letter-spacing: var(--spacing, 0);
}
*::before,
*::after {
  box-sizing: border-box;
  letter-spacing: var(--spacing, 0);
}
img,
video {
  font-size: 0;
  line-height: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
picture {
  display: block;
}
body {
  font-family:
    "Zen Kaku Gothic New", Helvetica, Arial, "Hiragino Sans", YuGothic,
    "Yu Gothic medium", sans-serif;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  font-size: calc(0.18 * var(--module));
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}
@media screen and (max-width: 768px) {
  body {
    font-size: calc(0.26 * var(--module));
  }
}
strong {
  font-weight: bolder;
}
:where(a) {
  color: currentColor;
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  :where(a)[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (min-width: 769px) {
  :where(a) {
    transition: opacity 0.4s;
  }
  :where(a):hover {
    opacity: 0.8;
  }
}
:where([class^="btn_"]) {
  border-radius: 16em;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  white-space: nowrap;
  color: var(--btn-c, #fff);
  background: var(--btn-bg, rgba(4, 29, 83, 0.6));
  min-height: var(--btn-h, calc(0.72 * var(--module)));
  width: var(--btn-w);
  font-size: var(--btn-fz);
}
:where([class^="btn_"]) img.icon {
  width: var(--icon-w, calc(0.3 * var(--module)));
  margin-left: var(--icon-m, calc(0.16 * var(--module)));
}
:where([class^="btn_"]) img.file {
  width: var(--file-w, calc(0.56 * var(--module)));
  margin-inline: var(
    --file-m,
    calc(-0.08 * var(--module)) calc(0.04 * var(--module))
  );
}
@media screen and (min-width: 769px) {
  :where([class^="btn_"]) {
    transition: opacity 0.4s;
  }
  :where([class^="btn_"]):hover {
    opacity: 0.8;
  }
}
.btn_contact {
  border: 1px solid #fff;
  --btn-c: var(--color-text);
  --btn-bg: rgba(255, 255, 255, 0.6);
  transition: 0.4s;
}
.btn_contact span.icon {
  position: relative;
}
.btn_contact span.icon img {
  transition: 0.4s;
}
.btn_contact span.icon img + img {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}
.btn_download {
  --btn-bg: var(--grad-red);
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.16 * var(--module))
    rgba(4, 29, 83, 0.16);
}
.btn_download_white {
  --btn-bg: #fff;
  --btn-c: var(--color-blue);
  border: 1px solid;
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.16 * var(--module))
    rgba(4, 29, 83, 0.16);
}
.btn_blue {
  --btn-bg: var(--grad-blue);
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.16 * var(--module))
    rgba(4, 29, 83, 0.16);
}
.ff_jost {
  font-family: "Jost", sans-serif;
}
.fw_bold {
  font-weight: bolder;
}
.fw_600 {
  font-weight: 600;
}
.fw_700 {
  font-weight: 700;
}
.fw_900 {
  font-weight: 900;
}
.fw_medium {
  font-weight: 500;
}
.fw_normal {
  font-weight: normal;
}
.fw_300 {
  font-weight: 300;
}
.fs_italic {
  font-style: italic;
}
.red,
.required {
  color: var(--color-red);
}
.blue {
  color: var(--color-blue);
}
.aligncenter {
  text-align: center !important;
}
@media screen and (min-width: 769px) {
  .pc_hide {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sp_hide {
    display: none !important;
  }
}
.c-cta {
  background: url("../img/cta-bg-1.jpg") no-repeat center/cover;
  padding-bottom: calc(0.88 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cta {
    background-image: url("../img/cta-bg-sp-1.jpg");
  }
}
.webp .c-cta {
  background-image: url("../img/cta-bg-1.webp");
}
@media screen and (max-width: 768px) {
  .webp .c-cta {
    background-image: url("../img/cta-bg-sp-1.webp");
  }
}
.c-cta h2 {
  text-align: center;
  font-size: calc(0.44 * var(--module));
  background: #e1f2ff;
  border: calc(0.02 * var(--module)) solid #fff;
  display: grid;
  place-content: center;
  width: calc(6.24 * var(--module));
  height: calc(1.12 * var(--module));
  position: relative;
  border-radius: 16em;
  margin: calc(-0.32 * var(--module)) auto 0;
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .c-cta h2 {
    width: calc(8.24 * var(--module));
    font-size: calc(0.35 * var(--module));
  }
}
@media screen and (max-width: 768px) {
  .c-cta h2 {
    margin-top: calc(-0.84 * var(--module));
    height: calc(1.72 * var(--module));
    margin-bottom: 2rem;
  }
}
.c-cta__text {
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  margin-top: 2rem;
  margin-bottom: 0.4rem;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-cta__text {
    font-size: 20px;
  }
}
.c-cta__text2 {
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  background: #fff;
  max-width: 640px;
  margin: 0 auto;
  padding: 0.4em 1em;
  border-radius: calc(0.08 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cta__text2 {
    font-size: 1rem;
    max-width: 90%;
  }
}
.c-cta__text2 .span1 {
  color: #1b4380;
}
.c-cta h2::before {
  content: "▼";
  position: absolute;
  left: 50%;
  top: 100%;
  color: #e1f2ff;
  line-height: 1.04;
  transform: translate(-50%, -33%) scaleX(0.88);
  z-index: -1;
  text-shadow: 0 calc(0.04 * var(--module)) 0 #fff;
  font-size: calc(0.32 * var(--module));
}
.c-cta h2 .span1 {
  display: block;
  background: var(--grad-blue);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  background-clip: text;
  text-fill-color: rgba(0, 0, 0, 0);
}
.c-cta__container {
  margin-top: calc(0.64 * var(--module));
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(0.72 * var(--module)) calc(1.52 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cta__container {
    flex-direction: column;
  }
}
.c-cta__swiper_wrap {
  position: relative;
  width: calc(3.84 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cta__swiper_wrap {
    width: calc(5 * var(--module));
  }
}
.c-cta__swiper_wrap .swiper-button-prev,
.c-cta__swiper_wrap .swiper-button-next {
  background: url("../img/arrow-3.svg") no-repeat center/contain;
  width: calc(0.32 * var(--module));
  height: calc(0.32 * var(--module));
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .c-cta__swiper_wrap .swiper-button-prev,
  .c-cta__swiper_wrap .swiper-button-next {
    width: calc(0.5 * var(--module));
    height: calc(0.5 * var(--module));
  }
}
.c-cta__swiper_wrap .swiper-button-prev::after,
.c-cta__swiper_wrap .swiper-button-next::after {
  display: none;
}
.c-cta__swiper_wrap .swiper-button-prev {
  left: calc(-0.56 * var(--module));
  transform: scaleX(-1) translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-cta__swiper_wrap .swiper-button-prev {
    left: calc(-0.8 * var(--module));
  }
}
.c-cta__swiper_wrap .swiper-button-next {
  right: calc(-0.56 * var(--module));
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-cta__swiper_wrap .swiper-button-next {
    right: calc(-0.8 * var(--module));
  }
}
.c-cta__swiper .swiper-wrapper {
  transition-timing-function: cubic-bezier(0.06, 0.43, 0.17, 1);
}
.c-cta__swiper .swiper-slide {
  height: auto;
}
.c-cta__voice {
  height: 100%;
  background: #fff;
  border-radius: calc(0.16 * var(--module));
  padding: calc(0.32 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cta__voice {
    padding: calc(0.4 * var(--module));
  }
}
.c-cta__voice picture img {
  border-radius: calc(0.04 * var(--module));
}
.c-cta__voice h3 {
  font-size: calc(0.24 * var(--module));
  color: var(--color-blue);
  margin-top: 0.8em;
}
@media screen and (max-width: 768px) {
  .c-cta__voice h3 {
    font-size: calc(0.38 * var(--module));
  }
}
.c-cta__voice p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .c-cta__voice p {
    font-size: calc(0.22 * var(--module));
  }
}
.c-cta__voice p .span1 {
  font-weight: bold;
  border-bottom: 1px solid var(--color-red);
}
.c-cta__content {
  width: calc(5.52 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cta__content {
    width: calc(6.84 * var(--module));
  }
}
.c-cta__content h3 {
  color: #fff;
  font-size: calc(0.24 * var(--module));
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.64em;
  margin-top: calc(0.4 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cta__content h3 {
    font-size: calc(0.32 * var(--module));
  }
}
.c-cta__content h3::before,
.c-cta__content h3::after {
  content: "";
  flex: auto;
  height: 0.32em;
  border: solid;
  border-width: 1px 0;
}
.c-cta__content ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(0.24 * var(--module));
  margin-top: calc(0.24 * var(--module));
  text-align: center;
  font-weight: bold;
  color: #fff;
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .c-cta__content ul {
    gap: calc(0.12 * var(--module));
  }
}
.c-cta__content li {
  border-radius: 50%;
  height: calc(1.68 * var(--module));
  display: grid;
  background: var(--grad-blue);
  grid-template-rows: 1fr calc(0.64 * var(--module));
  padding-block: calc(0.24 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cta__content li {
    height: calc(2.2 * var(--module));
    grid-template-rows: 1fr calc(0.9 * var(--module));
  }
}
.c-cta__content li .span1 {
  display: grid;
  place-content: center;
}
.c-cta__content li .span2 img {
  width: auto;
  max-height: 100%;
}
.c-cta__content li:nth-child(1) img,
.c-cta__content li:nth-child(2) img {
  height: 88%;
}
.c-cta__content p {
  margin-top: calc(0.4 * var(--module));
  --btn-fz: calc(0.21 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cta__content p {
    margin: calc(0.48 * var(--module)) auto 0;
    width: min(calc(6.5 * var(--module)), 100%);
    --btn-fz: calc(0.32 * var(--module));
    --btn-h: calc(0.8 * var(--module));
    --icon-w: calc(0.4 * var(--module));
  }
}
:where(
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  textarea
) {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  max-width: 100%;
  line-height: inherit;
  display: block;
  font: inherit;
  font-size: 16px;
  font-weight: normal;
  color: inherit;
  background: #f2f2f2;
  padding: 0.64em;
}
:where(button, input[type="submit"], input[type="button"]) {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  cursor: pointer;
}
:where(*:has(> input[type="checkbox"])) {
  display: inline-flex;
  align-items: center;
  gap: 0.64em;
}
:where(*:has(> input[type="checkbox"])) :where(input[type="checkbox"]) {
  display: none;
}
:where(*:has(> input[type="checkbox"]))::before {
  content: "";
  width: 1.12em;
  height: 1.12em;
  background: #f2f2f2 url("../img/check-1.svg") no-repeat center/56%;
  transition: 0.4s;
}
:where(*:has(> input[type="checkbox"])):has(:checked)::before {
  background-color: var(--color-navy);
}
::placeholder {
  color: #afafaf;
}
.c-header {
  position: fixed;
  width: 100%;
  height: calc(1.12 * var(--module));
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-inline: min(calc(0.4 * var(--module)), 5%);
}
.c-header__logo {
  width: calc(2.2 * var(--module));
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-header__logo {
    width: calc(2.88 * var(--module));
  }
}
.c-header__logo img {
  transition: 0.4s;
}
.is-bg-dark .c-header__logo img:has(+ img),
.is-load .c-header__logo img:has(+ img) {
  opacity: 0;
}
.c-header__logo img + img {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}
.is-bg-dark .c-header__logo img + img,
.is-load .c-header__logo img + img {
  opacity: 1;
}
.c-header ul {
  display: flex;
  align-items: center;
  gap: calc(0.14 * var(--module));
  --btn-h: calc(0.52 * var(--module));
  --btn-fz: calc(0.14 * var(--module));
  --icon-w: calc(0.24 * var(--module));
  --icon-m: calc(0.08 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-header ul {
    --btn-h: calc(0.72 * var(--module));
    --btn-fz: calc(0.26 * var(--module));
    --icon-w: calc(0.4 * var(--module));
  }
}
.c-header .btn_contact {
  --btn-w: calc(2.4 * var(--module));
  --btn-bg: rgba(4, 29, 83, 1);
  --btn-c: #fff;
}
@media screen and (max-width: 768px) {
  .c-header .btn_contact {
    --btn-w: calc(3.8 * var(--module));
  }
}
.c-header .btn_contact span.icon img:has(+ img) {
  opacity: 0 !important;
}
.c-header .btn_contact span.icon img + img {
  opacity: 1 !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
}
.is-bg-dark .c-header .btn_contact,
.is-load .c-header .btn_contact {
  --btn-bg: rgba(4, 29, 83, 1);
  --btn-c: #fff;
}
.c-header .btn_download {
  --btn-w: calc(2.68 * var(--module));
}
.c-footer {
  margin-top: auto;
  padding: calc(0.24 * var(--module))
    max(5%, (100% - calc(12.4 * var(--module))) * 0.5)
    calc(0.48 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-footer {
    border-top: 1px solid #afafaf;
    text-align: center;
    padding-top: calc(0.48 * var(--module));
  }
}
.c-footer h3 {
  font-size: calc(0.2 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-footer h3 {
    font-size: calc(0.26 * var(--module));
  }
}
.c-footer__content {
  border-top: 1px solid rgba(0, 102, 167, 0.24);
  padding-top: calc(0.24 * var(--module));
  margin-top: calc(0.04 * var(--module));
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  font-weight: bold;
  font-size: calc(0.16 * var(--module));
  column-gap: calc(0.4 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-footer__content {
    grid-template-columns: auto;
    place-items: center;
    border: none;
    font-size: calc(0.24 * var(--module));
    font-weight: 500;
  }
}
.c-footer__content_logo {
  width: calc(1.84 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-footer__content_logo {
    width: calc(3 * var(--module));
  }
}
@media screen and (max-width: 768px) {
  .c-footer__content_address {
    margin-top: 1.6em;
  }
}
.c-footer__content_copy {
  font-size: 96%;
  margin-top: 1.6em;
}
.c-fv {
  overflow: hidden;
  background: url("../img/fv-bg-1.jpg") no-repeat center/cover;
  min-height: calc(12.05 * var(--module));
  padding: calc(1.52 * var(--module)) 0 calc(0.56 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-fv {
    background-image: url("../img/fv-bg-sp-1.jpg");
    height: calc(15.2 * var(--module));
    padding-block: calc(1.76 * var(--module)) 0;
  }
}
.webp .c-fv {
  background-image: url("../img/fv-bg-1.webp");
}
@media screen and (max-width: 768px) {
  .webp .c-fv {
    background-image: url("../img/fv-bg-sp-1.webp");
  }
}
@media screen and (max-width: 768px) {
  .c-fv:has(.c-fv__content_header2) .c-fv__swiper {
    margin-top: calc(0.8 * var(--module));
  }
}
.c-fv__content {
  padding-inline: max(5%, (100% - calc(12 * var(--module))) * 0.5)
    max(5%, (100% - calc(13.28 * var(--module))) * 0.5);
  display: grid;
  grid-template-columns: 1fr auto;
}
@media screen and (max-width: 768px) {
  .c-fv__content {
    grid-template-columns: auto;
    place-content: center;
  }
}
.c-fv__content_header,
.c-fv__content_header2 {
  color: #fff;
  align-self: center;
}
.c-fv__content_header h1,
.c-fv__content_header2 h1 {
  font-size: calc(0.72 * var(--module));
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .c-fv__content_header h1,
  .c-fv__content_header2 h1 {
    font-size: calc(0.8 * var(--module));
  }
}
.c-fv__content_header h1 .span1 {
  display: inline-block;
  font-size: calc(0.28 * var(--module));
  font-weight: 500;
  border: solid;
  border-width: 1px 0;
  padding: 0.4em 0;
  margin-left: 0.64em;
  vertical-align: 0.64em;
}
@media screen and (max-width: 768px) {
  .c-fv__content_header h1 .span1 {
    display: block;
    text-align: center;
    font-size: calc(0.32 * var(--module));
    margin: calc(0.4 * var(--module)) 0 0;
  }
}
.c-fv__content_header ul {
  margin-top: calc(0.72 * var(--module));
  color: var(--color-gold);
  text-align: center;
  font-size: calc(0.14 * var(--module));
  width: min(calc(4.08 * var(--module)), 100%);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(0.16 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-fv__content_header ul {
    width: auto;
    gap: calc(0.24 * var(--module));
    font-size: calc(0.2 * var(--module));
  }
}
.c-fv__content_header li {
  position: relative;
  min-height: calc(0.96 * var(--module));
  display: grid;
  place-content: center;
  line-height: 1.36;
  padding-top: 0.32em;
}
.c-fv__content_header li::before,
.c-fv__content_header li::after {
  content: "";
  background: url("../img/deco-1.svg") no-repeat center/contain;
  width: calc(0.4 * var(--module));
  height: calc(0.96 * var(--module));
  position: absolute;
  top: 50%;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .c-fv__content_header li::before,
  .c-fv__content_header li::after {
    width: calc(0.5 * var(--module));
    height: calc(1.2 * var(--module));
  }
}
.c-fv__content_header li::before {
  left: 0;
  transform: translateY(-50%);
}
.c-fv__content_header li::after {
  right: 0;
  transform: translateY(-50%) scaleX(-1);
}
.c-fv__content_header li .span2 {
  font-size: 176%;
  font-weight: bold;
}
.c-fv__content_header li .span3 {
  font-size: 168%;
  --spacing: 0;
}
.c-fv__content_header li .span4 {
  font-size: 72%;
}
.c-fv__content_header li sup {
  font-size: 44%;
  font-weight: 500;
  vertical-align: 1.6em;
  margin-left: -0.32em;
}
.c-fv__content_header li .ff_jost {
  font-weight: 400;
}
.c-fv__content_header p small {
  font-size: calc(0.11 * var(--module));
  opacity: 0.64;
  display: block;
  text-align: center;
  width: calc(2 * var(--module));
  margin-top: 0.64em;
}
@media screen and (max-width: 768px) {
  .c-fv__content_header p small {
    width: auto;
    text-align: left;
    font-size: calc(0.18 * var(--module));
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .c-fv__content_header2 h1 {
    text-align: center;
  }
}
.c-fv__content_header2 dl {
  color: var(--color-gold);
  margin-top: calc(0.72 * var(--module));
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: start;
  align-items: center;
  column-gap: calc(0.2 * var(--module));
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .c-fv__content_header2 dl {
    margin-top: calc(0.32 * var(--module));
    text-align: center;
    justify-content: center;
    gap: calc(0.1 * var(--module));
  }
}
.c-fv__content_header2 dt {
  font-size: calc(0.25 * var(--module));
  font-weight: bold;
  grid-column: 2;
  border-bottom: 1px solid;
  padding-bottom: calc(0.12 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-fv__content_header2 dt {
    font-size: calc(0.4 * var(--module));
    align-self: end;
  }
}
.c-fv__content_header2 dt:has(img) {
  width: calc(1 * var(--module));
  grid-column: 1;
  grid-row: 1/3;
  border: none;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .c-fv__content_header2 dt:has(img) {
    grid-row: 1;
  }
}
.c-fv__content_header2 dd {
  font-size: calc(0.16 * var(--module));
  font-weight: 500;
  grid-column: 2;
}
@media screen and (max-width: 768px) {
  .c-fv__content_header2 dd {
    grid-column: 1/3;
  }
}
.c-fv__content_form {
  background: #fff;
  border: 1px solid #fff;
  border-radius: calc(0.16 * var(--module));
  box-shadow: 0 0 calc(0.8 * var(--module)) rgba(9, 38, 101, 0.72);
  width: calc(5.28 * var(--module));
  display: grid;
  grid-template-rows: auto 1fr;
  padding-bottom: calc(0.24 * var(--module));
  margin-top: -2rem;
}
.c-fv__content_form h2 {
  background: var(--grad-blue);
  border-radius: calc(0.16 * var(--module)) calc(0.16 * var(--module))
    calc(0.04 * var(--module)) calc(0.04 * var(--module));
  font-size: calc(0.21 * var(--module));
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  padding-block: 0.64em;
}
.c-fv__content_form h2 .span1 {
  font-weight: 400;
  font-size: 184%;
  line-height: 1.04;
  vertical-align: -0.064em;
}
.c-fv__content_form_iframe {
  margin-inline: auto;
  width: min(90%, 384px);
}
@media screen and (min-width: 1380px) {
  .c-fv__content_form_iframe {
    width: 384px;
  }
}
.c-fv__content_form_iframe iframe {
  height: min(calc(6.72 * var(--module)), 544px);
}
@media screen and (min-width: 1380px) {
  .c-fv__content_form_iframe iframe {
    height: 560px;
  }
}
.c-fv__cta {
  text-align: center;
  margin-top: calc(0.4 * var(--module));
}
.c-fv__cta h2 {
  color: #fff;
  font-size: calc(0.32 * var(--module));
}
.c-fv__cta h2 .span1 {
  font-weight: normal;
  font-size: 216%;
  line-height: 1.04;
  vertical-align: -0.064em;
}
.c-fv__cta p {
  width: calc(6.5 * var(--module));
  margin: calc(0.48 * var(--module)) auto 0;
}
.c-fv__cta .btn_download {
  --btn-h: calc(0.88 * var(--module));
  --btn-fz: calc(0.34 * var(--module));
  --icon-w: calc(0.4 * var(--module));
  --file-w: calc(1.2 * var(--module));
  position: relative;
}
.c-fv__cta .btn_download .span1 {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -72%);
  font-size: calc(0.2 * var(--module));
  background: #fff;
  border-radius: 16em;
  border: 1px solid var(--color-red);
  color: var(--color-text);
  padding: 0.32em 1.6em;
}
.c-fv__cta .btn_download .file {
  transform: translateY(calc(0.06 * var(--module)));
}
.c-fv__swiper {
  margin-top: calc(0.48 * var(--module));
}
.c-fv__swiper::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background:
    linear-gradient(
      -90deg,
      rgba(255, 255, 255, 0.4),
      rgba(255, 255, 255, 0) calc(0.4 * var(--module))
    ),
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.4),
      rgba(255, 255, 255, 0) calc(0.4 * var(--module))
    );
  z-index: 1;
  pointer-events: none;
}
.c-fv__swiper .swiper-wrapper {
  transition-timing-function: linear;
}
.c-fv__swiper .swiper-slide {
  width: calc(2.44 * var(--module));
  padding-inline: calc(0.12 * var(--module));
  height: auto;
}
@media screen and (max-width: 768px) {
  .c-fv__swiper .swiper-slide {
    width: calc(3.24 * var(--module));
  }
}
.c-fv__case {
  height: 100%;
  background: hsla(0, 0%, 100%, 0.08);
  backdrop-filter: blur(calc(0.24 * var(--module)));
  border-radius: calc(0.16 * var(--module));
  padding: calc(0.24 * var(--module)) calc(0.12 * var(--module));
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-fv__case {
    padding: calc(0.2 * var(--module));
  }
}
.c-fv__case picture img {
  border-radius: calc(0.04 * var(--module));
}
.c-fv__case h3 {
  font-size: calc(0.18 * var(--module));
  margin-top: calc(0.12 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-fv__case h3 {
    font-size: calc(0.24 * var(--module));
  }
}
.c-fv__case p {
  font-size: calc(0.14 * var(--module));
  border-top: 1px solid hsla(0, 0%, 100%, 0.4);
  padding-top: calc(0.12 * var(--module));
  padding-left: 1em;
  text-indent: -1em;
  margin-top: calc(0.12 * var(--module));
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-fv__case p {
    font-size: calc(0.18 * var(--module));
  }
}
.c-fv__case p::before {
  content: "";
  width: 0.512em;
  height: 0.512em;
  background: var(--color-red);
  display: inline-block;
  transform: rotate(45deg);
  margin-right: 0.384em;
}
.c-section {
  padding: var(--pt, calc(1.2 * var(--module)))
    var(--pr, max(5%, (100% - calc(10.08 * var(--module))) * 0.5))
    var(--pb, var(--pt, calc(1.2 * var(--module))))
    var(--pl, var(--pr, max(5%, (100% - calc(10.08 * var(--module))) * 0.5)));
}
@media screen and (max-width: 768px) {
  .c-section {
    --pt: calc(0.8 * var(--module));
  }
}
.c-cases {
  --pr: 0;
}
.c-cases__header {
  text-align: center;
  display: grid;
  justify-content: center;
}
.c-cases__header p {
  color: #fff;
  background: var(--color-blue);
  position: relative;
  border-radius: calc(0.08 * var(--module));
  padding: 0.48em 1.6em;
}
@media screen and (max-width: 768px) {
  .c-cases__header p {
    font-size: calc(0.24 * var(--module));
    padding: 0.64em;
  }
}
.c-cases__header p::before {
  content: "▼";
  line-height: 1.04;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -40%);
  color: var(--color-blue);
}
.c-cases__header h2 {
  display: grid;
  font-size: calc(0.21 * var(--module));
  margin-top: calc(0.24 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cases__header h2 {
    font-size: calc(0.25 * var(--module));
  }
}
.c-cases__header h2 .span1 {
  font-size: calc(0.44 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cases__header h2 .span1 {
    font-size: calc(0.64 * var(--module));
  }
}
.c-cases__case {
  margin-top: calc(0.48 * var(--module));
  display: flex;
  justify-content: center;
  gap: calc(0.32 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cases__case {
    flex-direction: column;
    width: calc(6 * var(--module));
    margin-inline: auto;
  }
}
.c-cases__case_list {
  border-radius: calc(0.16 * var(--module));
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.32 * var(--module))
    rgba(4, 29, 83, 0.08);
  padding: calc(0.32 * var(--module));
  width: calc(3.76 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cases__case_list {
    width: auto;
    padding: calc(0.48 * var(--module));
    border-radius: calc(0.24 * var(--module));
  }
}
.c-cases__case_list picture img {
  border-radius: calc(0.04 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-cases__case_list picture img {
    border-radius: calc(0.06 * var(--module));
  }
}
.c-cases__case_list h3 {
  color: var(--color-blue);
  font-size: calc(0.26 * var(--module));
  margin-top: 0.32em;
}
@media screen and (max-width: 768px) {
  .c-cases__case_list h3 {
    font-size: calc(0.38 * var(--module));
  }
}
.c-cases__case_list h3 + p {
  font-size: calc(0.16 * var(--module));
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0.32em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-cases__case_list h3 + p {
    font-size: calc(0.24 * var(--module));
  }
}
.c-cases__case_list h3 + p::before {
  content: "";
  width: 0.384em;
  height: 0.384em;
  background: var(--color-red);
  display: inline-block;
  transform: rotate(45deg);
  margin-right: 0.384em;
  vertical-align: 0.192em;
}
.c-cases__case_list dl {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: calc(0.06 * var(--module)) calc(0.16 * var(--module));
  font-size: calc(0.16 * var(--module));
  margin-top: calc(0.24 * var(--module));
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .c-cases__case_list dl {
    font-size: calc(0.24 * var(--module));
  }
}
.c-cases__case_list dl + p {
  border-top: 1px solid rgba(4, 29, 83, 0.4);
  padding-top: calc(0.24 * var(--module));
  margin-top: calc(0.24 * var(--module));
}
.c-cases__case_list dl + p .span1 {
  font-weight: bold;
  border-bottom: 1px solid var(--color-red);
}
.c-cases__case_list dt {
  text-align: center;
  background: #e1f2ff;
  color: var(--color-blue);
  border-radius: calc(0.02 * var(--module));
  padding: 0.08em 0.4em;
  align-self: start;
}
.c-media,
.c-plans,
.c-faq {
  background: url("../img/bg-1.jpg") no-repeat center top/cover;
}
@media screen and (max-width: 768px) {
  .c-media,
  .c-plans,
  .c-faq {
    background-image: url("../img/bg-sp-1.jpg");
  }
}
.webp .c-media,
.webp .c-plans,
.webp .c-faq {
  background-image: url("../img/bg-1.webp");
}
@media screen and (max-width: 768px) {
  .webp .c-media,
  .webp .c-plans,
  .webp .c-faq {
    background-image: url("../img/bg-sp-1.webp");
  }
}
.c-voices {
  --pr: 0;
  --pb: 0;
  padding-top: calc(0.33 * var(--module));
  background: #fff;
}
.c-voices__header {
  text-align: center;
  display: grid;
  justify-items: center;
  gap: calc(0.16 * var(--module));
  padding-inline: max(5%, (100% - calc(10.08 * var(--module))) * 0.5);
}
.c-voices__header_text {
  display: flex;
  align-items: baseline;
  gap: 0.04em;
} 
.c-voices__header_sup {
  font-size: calc(0.16 * var(--module));
  letter-spacing: 0.04em;
  align-self: center;
}
@media screen and (max-width: 768px) {
  .c-voices__header_sup {
    font-size: calc(0.2 * var(--module));
  }
}
.c-voices__header_title {
  color: var(--color-blue);
  font-size: calc(0.44 * var(--module));
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.6;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-voices__header_title {
    font-size: calc(0.54 * var(--module));
  }
}
.c-voices__header_title .span2 {
  font-size: calc(0.84 * var(--module));
  letter-spacing: 0.04em;
  margin-inline: 0.04em;
}
@media screen and (max-width: 768px) {
  .c-voices__header_title .span2 {
    font-size: calc(0.84 * var(--module));
  }
}
.c-voices__header_note {
  display: block;
  color: var(--color-navy);
  font-size: calc(0.11 * var(--module));
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-top: -0.4em;
}
@media screen and (max-width: 768px) {
  .c-voices__header_note {
    font-size: calc(0.18 * var(--module));
  }
}
.c-voices__header > p {
  color: var(--color-navy);
  font-size: calc(0.21 * var(--module));
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .c-voices__header > p {
    font-size: calc(0.25 * var(--module));
  }
}
.c-voices__header_logo {
  width: calc(2 * var(--module));
}
.c-voices__header_logo img {
  display: block;
}
.c-voices__illust {
  width: min(calc(11.02 * var(--module)), 90%);
  margin: calc(0.24 * var(--module)) auto 0;
}
.c-voices__illust picture {
  display: block;
}
.c-voices__notes {
  width: min(calc(9.54 * var(--module)), 90%);
  margin: calc(0.24 * var(--module)) auto 0;
  color: var(--color-navy);
}
.c-voices__notes small {
  display: block;
  font-size: calc(0.14 * var(--module));
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.c-voices__oricon {
  width: min(calc(10.06 * var(--module)), 90%);
  margin: calc(0.34 * var(--module)) auto calc(0.64 * var(--module));
  filter: drop-shadow(0px calc(0.04 * var(--module)) calc(0.32 * var(--module)) rgba(4, 29, 83, 0.08));
}
@media screen and (max-width: 768px) {
  .c-voices__oricon {
    margin: calc(0.4 * var(--module)) auto calc(1 * var(--module));
  }
}
.c-voices__oricon picture {
  display: block;
}
.c-voices__profiles {
  position: relative;
  background-image: linear-gradient(
    166.285deg,
    rgb(74, 175, 242) 1.1886%,
    rgb(0, 102, 169) 100%
  );
  padding: calc(0.65 * var(--module)) 0;
}
@media screen and (max-width: 768px) {
  .c-voices__profiles {
    padding: calc(0.9 * var(--module)) 0 calc(0.62 * var(--module));
  }
}
.c-voices__pill {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border: 1px solid var(--color-blue);
  border-radius: calc(0.4 * var(--module));
  padding: calc(0.05 * var(--module)) calc(0.4 * var(--module))
    calc(0.1 * var(--module));
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-voices__pill {
    border-radius: calc(0.7 * var(--module));
    padding: calc(0.05 * var(--module)) calc(0.3 * var(--module))
      calc(0.1 * var(--module));
    width: calc(6.94 * var(--module));
    max-width: 92%;
    text-align: center;
    white-space: normal;
  }
}
.c-voices__pill p {
  color: var(--color-blue);
  font-size: calc(0.25 * var(--module));
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-voices__pill p {
    font-size: calc(0.3 * var(--module));
    line-height: 1.4;
  }
}
.c-voices__swiper1 {
  margin: 0;
  overflow: hidden;
}
.c-voices__swiper1 .swiper-wrapper {
  transition-timing-function: linear;
}
.c-voices__swiper1 .swiper-slide {
  width: calc(2.6 * var(--module));
  margin-right: calc(0.1 * var(--module));
  height: auto;
}
@media screen and (max-width: 768px) {
  .c-voices__swiper1 .swiper-slide {
    margin-right: calc(0.24 * var(--module));
  }
}
.c-voices__voice {
  background: #fff;
  border-radius: calc(0.08 * var(--module));
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.32 * var(--module))
    rgba(4, 29, 83, 0.08);
  padding: calc(0.15 * var(--module)) calc(0.15 * var(--module))
    calc(0.2 * var(--module));
  display: grid;
  gap: calc(0.1 * var(--module));
  height: 100%;
}
.c-voices__voice picture {
  display: block;
  border-radius: calc(0.13 * var(--module));
  overflow: hidden;
  width: calc(2.29 * var(--module));
  height: calc(1.54 * var(--module));
  background: #d7e2ef;
}
.c-voices__voice picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-voices__voice_text {
  color: #1c2d66;
  font-size: calc(0.15 * var(--module));
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .c-voices__voice_text {
    font-size: calc(0.22 * var(--module));
  }
}
.c-voices__voice_name small {
  display: block;
  color: #000;
  font-size: calc(0.11 * var(--module));
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .c-voices__voice_name small {
    color: var(--color-navy);
    font-size: calc(0.16 * var(--module));
    font-weight: 500;
  }
}
.c-media h2 {
  text-align: center;
  color: var(--color-blue);
  font-size: calc(0.44 * var(--module));
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .c-media h2 {
    font-size: calc(0.54 * var(--module));
  }
}
.c-media h2 .span1 {
  font-size: 128%;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-media h2 .span1 {
    font-size: 144%;
  }
}
.c-media__video {
  position: relative;
  width: min(calc(5.6 * var(--module)), 100%);
  margin: calc(0.48 * var(--module)) auto 0;
  filter: drop-shadow(0px calc(0.2 * var(--module)) calc(0.32 * var(--module)) rgba(4, 29, 83, 0.08));
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-media__video {
    width: calc(6 * var(--module));
  }
}
.c-media__video video {
  border-radius: calc(0.08 * var(--module));
}
.c-media__video_btn {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: calc(0.08 * var(--module));
  background-image: url("../img/button.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: calc(0.6 * var(--module)) auto;
  z-index: 1;
}
.c-media__video_btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-color: rgba(0, 0, 0, 0.2);
  transition: background-color 0.2s ease;
}
.c-media__video_btn:hover::before {
  background-color: rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .c-media__video_btn {
    background-size: calc(0.7 * var(--module)) auto;
  }
}
.c-media__video_btn.is_hide {
  display: none;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .c-solutions {
    --pb: calc(1.2 * var(--module));
  }
}
.c-solutions__header {
  text-align: center;
  font-size: calc(0.21 * var(--module));
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-solutions__header {
    font-size: calc(0.25 * var(--module));
  }
}
.c-solutions__header h2 {
  font-size: calc(0.44 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .c-solutions__header h2 {
    font-size: calc(0.54 * var(--module));
    line-height: 1.36;
  }
}
.c-solutions__content {
  margin-top: calc(0.48 * var(--module));
  padding-bottom: calc(0.48 * var(--module));
  border-radius: calc(0.08 * var(--module));
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.32 * var(--module))
    rgba(4, 29, 83, 0.08);
}
.c-solutions__content_header {
  border-radius: calc(0.08 * var(--module));
  background: var(--grad-blue);
  color: #e1f2ff;
  font-weight: bold;
  height: calc(1.52 * var(--module));
  display: grid;
  grid-template-columns: auto 1fr;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-solutions__content_header {
    height: calc(2.2 * var(--module));
  }
}
.c-solutions__content_header dt {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-solutions__content_header dt {
    font-size: calc(0.22 * var(--module));
  }
}
.c-solutions__content_header dt::before {
  content: "";
  background: url("../img/solutions-icon-2.svg") no-repeat center/contain;
  width: calc(0.38 * var(--module));
  height: calc(0.6 * var(--module));
  margin-left: calc(-0.38 * var(--module));
}
.c-solutions__content_header dt .span1 {
  border: solid;
  border-width: 1px 0;
  padding: 0.16em 0.32em;
}
.c-solutions__content_header dd {
  font-size: 136%;
}
@media screen and (max-width: 768px) {
  .c-solutions__content_header dd {
    font-size: calc(0.34 * var(--module));
  }
}
.c-solutions__content_header dl {
  display: grid;
  place-content: center;
  padding-bottom: calc(0.16 * var(--module));
}
.c-solutions__content_header dl:first-child {
  background: url("../img/solutions-deco-1.svg") no-repeat center/contain;
  width: calc(3.39 * var(--module));
  margin: calc(-0.16 * var(--module)) 0 calc(-0.16 * var(--module))
    calc(-0.16 * var(--module));
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-solutions__content_header dl:first-child {
    background-image: url("../img/solutions-deco-sp-1.svg");
    width: calc(2.8 * var(--module));
    margin-block: calc(-0.6 * var(--module)) 0;
  }
}
@media screen and (max-width: 768px) {
  .c-solutions__content_header dl:first-child dt {
    font-size: calc(0.2 * var(--module));
  }
}
.c-solutions__content_header dl:first-child dt::before {
  background-image: url("../img/solutions-icon-1.svg");
  width: calc(0.4 * var(--module));
  margin-inline: calc(-0.56 * var(--module)) calc(0.08 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-solutions__content_header dl:first-child dd {
    font-size: calc(0.3 * var(--module));
    line-height: 1.44;
    --spacing: 0;
    padding-right: calc(0.16 * var(--module));
  }
}
.c-solutions__content_container {
  margin: calc(0.4 * var(--module)) auto 0;
  width: min(calc(8.08 * var(--module)), 90%);
  display: grid;
  grid-template-columns: 1fr calc(3.8 * var(--module));
  gap: calc(0.4 * var(--module));
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-solutions__content_container {
    grid-template-columns: auto;
  }
}
.c-solutions__content_text p + p {
  margin-top: 1.6em;
}
.c-solutions__content_flow {
  margin: calc(0.4 * var(--module)) auto 0;
  width: min(calc(8.08 * var(--module)), 90%);
  overflow: hidden;
}
.c-solutions__content_flow_header {
  background: #e1f2ff;
  overflow: hidden;
  font-weight: bold;
  color: var(--color-blue);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
}
.c-solutions__content_flow_header li {
  position: relative;
  padding: 0.8em 0;
}
.c-solutions__content_flow_header li::before,
.c-solutions__content_flow_header li::after {
  content: "";
  width: calc(0.16 * var(--module));
  height: calc(100% + 0.16 * var(--module));
  position: absolute;
  right: calc(-0.16 * var(--module));
  top: 50%;
  transform: translate(-50%, -50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  z-index: 1;
}
.c-solutions__content_flow_header li::before {
  background: #fff;
}
.c-solutions__content_flow_header li::after {
  background: #e1f2ff;
  margin-right: max(1px, min(calc(0.02 * var(--module)), 4px));
}
.c-solutions__content_flow_header li:last-child::before,
.c-solutions__content_flow_header li:last-child::after {
  display: none;
}
.c-solutions__content_flow_list {
  display: grid;
  grid-template-columns: repeat(3, auto);
  padding: calc(0.16 * var(--module)) calc(0.56 * var(--module));
  gap: calc(0.4 * var(--module));
  font-size: calc(0.16 * var(--module));
  background: #f2f2f2;
  --spacing: 0;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-solutions__content_flow_list {
    grid-template-columns: auto;
    padding: 0;
    font-size: calc(0.24 * var(--module));
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .c-solutions__content_flow_list dl {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .c-solutions__content_flow_list dl:first-child dd {
    padding-top: calc(0.32 * var(--module));
  }
  .c-solutions__content_flow_list dl:last-child dt::before,
  .c-solutions__content_flow_list dl:last-child dt::after {
    display: none;
  }
  .c-solutions__content_flow_list dl:last-child dd {
    padding-bottom: calc(0.32 * var(--module));
  }
}
.c-solutions__content_flow_list dt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: var(--color-blue);
  text-align: center;
  font-weight: bold;
  padding: 0.64em;
  position: relative;
  background: #e1f2ff;
}
.c-solutions__content_flow_list dt::before,
.c-solutions__content_flow_list dt::after {
  content: "";
  height: calc(0.16 * var(--module));
  width: calc(100% + 0.16 * var(--module));
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -50%);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  z-index: 1;
}
.c-solutions__content_flow_list dt::before {
  background: #fff;
}
.c-solutions__content_flow_list dt::after {
  background: #e1f2ff;
  margin-top: min(-1px, max(calc(-0.02 * var(--module)), -4px));
}
@media screen and (max-width: 768px) {
  .c-solutions__content_flow_list dd {
    background: #f2f2f2;
    position: relative;
    z-index: 1;
    padding: calc(0.16 * var(--module)) calc(0.48 * var(--module));
  }
}
.c-solutions__content_flow_list li {
  position: relative;
  padding-left: 1.28em;
}
.c-solutions__content_flow_list li::before {
  content: "◆";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-blue);
}
.c-steps h2 {
  text-align: center;
  color: var(--color-blue);
  font-size: calc(0.44 * var(--module));
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .c-steps h2 {
    font-size: calc(0.54 * var(--module));
  }
}
@media screen and (max-width: 768px) {
  .c-steps h2 .span1 {
    font-size: 112%;
    display: block;
    line-height: 1.12;
  }
}
.c-steps h2 .span2 {
  font-size: 128%;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-steps h2 .span2 {
    font-size: 144%;
  }
}
.c-steps__step {
  display: flex;
  justify-content: center;
  gap: calc(0.48 * var(--module));
  margin-top: calc(0.64 * var(--module));
  counter-reset: num;
}
@media screen and (max-width: 768px) {
  .c-steps__step {
    flex-direction: column;
    gap: calc(0.72 * var(--module));
    margin-top: calc(0.72 * var(--module));
  }
}
.c-steps__step li {
  position: relative;
  width: calc(2.42 * var(--module));
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .c-steps__step li {
    width: calc(6.16 * var(--module));
    margin: auto;
    color: #fff;
    background: var(--grad-blue);
    border-radius: calc(0.08 * var(--module));
    display: grid;
    grid-template-columns: auto 1fr;
    padding: calc(0.56 * var(--module)) calc(0.48 * var(--module))
      calc(0.32 * var(--module));
    column-gap: calc(0.32 * var(--module));
  }
}
.c-steps__step li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(2.42 * var(--module));
  z-index: -1;
  background: var(--grad-blue);
  border-radius: calc(0.04 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-steps__step li::before {
    display: none;
  }
}
.c-steps__step li::after {
  content: counter(num, decimal-leading-zero);
  counter-increment: num;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  background: var(--color-blue);
  color: #fff;
  font-weight: bold;
  width: 1.84em;
  height: 1.84em;
  font-size: calc(0.44 * var(--module));
  line-height: 1.04;
  border-radius: 50%;
  display: grid;
  place-content: center;
  padding-bottom: 0.16em;
}
@media screen and (max-width: 768px) {
  .c-steps__step li::after {
    font-size: calc(0.48 * var(--module));
    width: 1.92em;
    height: 1.92em;
  }
}
.c-steps__step figure {
  justify-self: center;
  height: calc(0.96 * var(--module));
  margin-top: calc(0.64 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-steps__step figure {
    height: auto;
    width: calc(1.5 * var(--module));
    grid-row: 1/3;
  }
}
.c-steps__step figure img {
  width: auto;
  max-height: 100%;
}
@media screen and (max-width: 768px) {
  .c-steps__step figure img {
    width: 100%;
  }
}
.c-steps__step h3 {
  color: #fff;
  text-align: center;
  display: grid;
  place-content: center;
  height: calc(0.8 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-steps__step h3 {
    height: auto;
    font-size: calc(0.36 * var(--module));
  }
}
.c-steps__step p {
  margin-top: 1.6em;
}
@media screen and (max-width: 768px) {
  .c-steps__step p {
    font-size: calc(0.24 * var(--module));
    border-top: 1px solid;
    padding-top: 0.64em;
    margin-top: 0.64em;
  }
}
.c-plans__btn,
.c-documents__btn {
  margin: calc(0.48 * var(--module)) auto 0;
  width: min(calc(5.52 * var(--module)), 90%);
  --btn-fz: calc(0.21 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-plans__btn,
  .c-documents__btn {
    --btn-fz: calc(0.36 * var(--module));
    --btn-h: calc(0.9 * var(--module));
    --icon-w: calc(0.45 * var(--module));
    width: min(calc(6.48 * var(--module)), 100%);
  }
}
@media screen and (max-width: 768px) {
  .c-plans {
    --pb: calc(1.2 * var(--module));
  }
}
.c-plans__header {
  text-align: center;
  font-size: calc(0.21 * var(--module));
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-plans__header {
    font-size: calc(0.25 * var(--module));
  }
}
.c-plans__header h2 {
  font-size: calc(0.44 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .c-plans__header h2 {
    font-size: calc(0.6 * var(--module));
    line-height: 1.2;
  }
}
.c-plans__header h2 .span1 {
  font-size: 128%;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-plans__header p {
    margin-top: 0.64em;
  }
}
.c-plans__plan {
  display: flex;
  justify-content: center;
  gap: calc(0.4 * var(--module));
  margin-top: calc(0.48 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-plans__plan {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(0.24 * var(--module));
  }
}
.c-plans__plan li {
  background: #fff;
  border-radius: calc(0.1 * var(--module));
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.32 * var(--module))
    rgba(4, 29, 83, 0.08);
  width: calc(3.52 * var(--module));
  text-align: center;
  display: grid;
  grid-template-rows: auto auto 1fr;
}
@media screen and (max-width: 768px) {
  .c-plans__plan li {
    width: auto;
  }
}
.c-plans__plan h3 {
  color: #fff;
  background: var(--grad-blue);
  border-radius: calc(0.1 * var(--module)) calc(0.1 * var(--module)) 0 0;
  font-size: calc(0.3 * var(--module));
  padding: 0.48em 0;
}
@media screen and (max-width: 768px) {
  .c-plans__plan h3 {
    font-size: calc(0.45 * var(--module));
    line-height: 1.2;
  }
}
.c-plans__plan figure {
  width: calc(1.7 * var(--module));
  margin: calc(0.3 * var(--module)) auto 0;
}
@media screen and (max-width: 768px) {
  .c-plans__plan figure {
    width: calc(2 * var(--module));
  }
}
.c-plans__plan p {
  font-size: calc(0.25 * var(--module));
  margin: 0.64em 0;
  align-self: center;
}
@media screen and (max-width: 768px) {
  .c-plans__plan p {
    font-size: calc(0.32 * var(--module));
  }
}
.c-plans__plan p .span1 {
  font-weight: bold;
  border-bottom: 1px solid var(--color-red);
}
.c-plans__plan p .span2 {
  font-size: 176%;
  line-height: 1.04;
  margin-top: -0.64em;
  display: inline-block;
}
.c-documents {
  --pr: 0;
}
.c-documents__header {
  text-align: center;
  font-weight: bold;
}
.c-documents__header h2 {
  font-size: calc(0.44 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .c-documents__header h2 {
    font-size: calc(0.64 * var(--module));
  }
}
.c-documents__header p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .c-documents__header p {
    font-size: calc(0.24 * var(--module));
  }
}
.c-documents__file {
  display: flex;
  justify-content: center;
  gap: calc(0.32 * var(--module));
  margin-top: calc(0.48 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-documents__file {
    flex-direction: column;
  }
}
.c-documents__file li {
  background: #e1f2ff;
  border-radius: calc(0.16 * var(--module));
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.32 * var(--module))
    rgba(4, 29, 83, 0.08);
  width: calc(3.76 * var(--module));
  padding: calc(0.32 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-documents__file li {
    width: calc(6.12 * var(--module));
    margin: auto;
    font-size: calc(0.24 * var(--module));
  }
}
.c-documents__file picture img {
  border-radius: calc(0.04 * var(--module));
}
.c-documents__file h3 {
  font-size: calc(0.25 * var(--module));
  color: var(--color-blue);
  margin-top: calc(0.24 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-documents__file h3 {
    font-size: calc(0.36 * var(--module));
  }
}
.c-documents__file p {
  margin-top: calc(0.16 * var(--module));
}
.c-documents__file p:has(.btn_download_white) {
  --btn-h: calc(0.52 * var(--module));
  --icon-w: calc(0.24 * var(--module));
  margin-top: calc(0.24 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-documents__file p:has(.btn_download_white) {
    --btn-fz: calc(0.32 * var(--module));
    --btn-h: calc(0.8 * var(--module));
    --icon-w: calc(0.4 * var(--module));
  }
}
.c-faq {
  --pr: max(5%, calc((100% - calc(8.16 * var(--module))) * 0.5));
}
.c-faq__header {
  text-align: center;
  font-size: calc(0.21 * var(--module));
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-faq__header {
    font-size: calc(0.36 * var(--module));
  }
}
.c-faq__header h2 {
  font-size: calc(0.44 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .c-faq__header h2 {
    font-size: calc(0.6 * var(--module));
  }
}
.c-faq__qa {
  margin-top: calc(0.4 * var(--module));
  border-radius: calc(0.08 * var(--module));
  background: #fff;
}
.c-faq__qa h3,
.c-faq__qa_a {
  padding-inline: calc(0.72 * var(--module)) calc(0.4 * var(--module));
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-faq__qa h3,
  .c-faq__qa_a {
    padding-inline: calc(0.88 * var(--module)) calc(0.48 * var(--module));
  }
}
.c-faq__qa h3::before,
.c-faq__qa_a::before {
  font-size: calc(0.25 * var(--module));
  position: absolute;
  left: calc(0.32 * var(--module));
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-faq__qa h3::before,
  .c-faq__qa_a::before {
    font-size: calc(0.44 * var(--module));
  }
}
.c-faq__qa h3 {
  border-radius: calc(0.08 * var(--module)) calc(0.08 * var(--module)) 0 0;
  background: var(--color-blue);
  color: #fff;
  font-size: calc(0.21 * var(--module));
  padding-block: 0.64em;
}
@media screen and (max-width: 768px) {
  .c-faq__qa h3 {
    font-size: calc(0.3 * var(--module));
  }
}
.c-faq__qa h3::before {
  content: "Q";
  top: 50%;
  transform: translateY(-50%);
}
.c-faq__qa_a {
  padding-block: calc(0.24 * var(--module));
  font-size: calc(0.16 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-faq__qa_a {
    font-size: calc(0.25 * var(--module));
  }
}
.c-faq__qa_a::before {
  content: "A";
  top: calc(0.16 * var(--module));
  color: var(--color-red);
}
.c-faq__qa_a p + p {
  margin-top: 1em;
}
.c-faq__qa + .c-faq__qa {
  margin-top: calc(0.24 * var(--module));
}

.c-voices__footer {
  padding: calc(0.8 * var(--module)) 0 calc(0.64 * var(--module));
  text-align: center;
  background: url("../img/voices-footer-bg-1.jpg") no-repeat center/cover;
}
@media screen and (max-width: 768px) {
  .c-voices__footer {
    padding: calc(1 * var(--module)) 0;
    background-image: url("../img/voices-footer-bg-sp-1.jpg");
  }
}
.c-voices__footer h2 {
  font-size: calc(0.44 * var(--module));
  line-height: 1.44;
  display: grid;
  justify-items: center;
  gap: calc(0.16 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-voices__footer h2 {
    font-size: calc(0.54 * var(--module));
  }
}
.c-voices__footer h2 .span1 {
  background: #fff;
  border-radius: 16em;
  padding: 0 1em;
}
.c-voices__footer h2 .span2 {
  font-size: 208%;
  font-weight: 500;
  position: relative;
  width: 0.8em;
  display: inline-block;
  line-height: 1.04;
  text-align: center;
  z-index: 1;
}
.c-voices__footer h2 .span3 {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: -0.24em;
}
.c-voices__footer h2 .span3::before {
  content: "0";
  width: 100%;
  color: #fff;
  transform: scale(1.25);
  position: absolute;
  left: 0;
  top: -0.032em;
  z-index: -1;
}
.c-voices__footer h2 + p {
  font-size: calc(0.21 * var(--module));
  font-weight: bold;
  margin-top: calc(0.16 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-voices__footer h2 + p {
    font-size: calc(0.25 * var(--module));
  }
}
.c-voices__footer p:has(a) {
  margin-top: calc(0.4 * var(--module));
}
.c-voices__footer p:has(a) small {
  display: block;
  font-size: calc(0.18 * var(--module));
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .c-voices__footer p:has(a) small {
    font-size: calc(0.2 * var(--module));
  }
}

/* btn_add_cta: white pill button used in c-voices__footer */
.btn_add_cta {
  --btn-bg: #fff;
  --btn-c: var(--color-blue);
  --btn-fz: calc(0.25 * var(--module));
  --btn-w: calc(4.2 * var(--module));
  --icon-w: calc(0.32 * var(--module));
  border: 1px solid;
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.16 * var(--module))
    rgba(4, 29, 83, 0.16);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .btn_add_cta {
    --btn-fz: calc(0.36 * var(--module));
    --btn-h: calc(0.9 * var(--module));
    --btn-w: calc(6.12 * var(--module));
  }
}
