﻿: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;
  }
}
.analy-cta {
  background: url("../img/img_analy-cta_bg_1.jpg") no-repeat center/cover;
  padding-bottom: calc(0.88 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-cta {
    background-image: url("../img/img_analy-cta_bg_sp_1.jpg");
  }
}
.webp .analy-cta {
  background-image: url("../img/img_analy-cta_bg_1.webp");
}
@media screen and (max-width: 768px) {
  .webp .analy-cta {
    background-image: url("../img/img_analy-cta_bg_sp_1.webp");
  }
}
.analy-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.56 * var(--module)) auto calc(0.52 * var(--module));
  z-index: 2;
}
@media screen and (min-width: 769px) {
  .analy-cta h2 {
    width: calc(8.24 * var(--module));
    font-size: calc(0.35 * var(--module));
  }
}
@media screen and (max-width: 768px) {
  .analy-cta h2 {
    margin-top: calc(-0.92 * var(--module));
    height: auto;
    padding-block: calc(0.24 * var(--module));
    margin-bottom: calc(3.4rem + 0.4 * var(--module));
  }
}
.analy-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) {
  .analy-cta_text {
    font-size: 20px;
  }
}
.analy-cta_text2 {
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  background: #fff;
  width: fit-content;
  max-width: 640px;
  margin: 0 auto calc(0.4 * var(--module));
  padding: 0.32em 0.9em;
  border-radius: calc(0.08 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-cta_text2 {
    font-size: 0.9rem;
    max-width: 90%;
    margin-bottom: calc(0.56 * var(--module));
  }
}
.analy-cta_text2 .span1 {
  color: #1b4380;
}
.analy-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));
}
.analy-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);
}
.analy-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) {
  .analy-cta_container {
    flex-direction: column;
  }
}
.analy-cta_swiper_wrap {
  position: relative;
  width: calc(3.84 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-cta_swiper_wrap {
    width: calc(5 * var(--module));
  }
}
.analy-cta_swiper_wrap .swiper-button-prev,
.analy-cta_swiper_wrap .swiper-button-next {
  background: url("../img/icon_analy-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) {
  .analy-cta_swiper_wrap .swiper-button-prev,
  .analy-cta_swiper_wrap .swiper-button-next {
    width: calc(0.5 * var(--module));
    height: calc(0.5 * var(--module));
  }
}
.analy-cta_swiper_wrap .swiper-button-prev::after,
.analy-cta_swiper_wrap .swiper-button-next::after {
  display: none;
}
.analy-cta_swiper_wrap .swiper-button-prev {
  left: calc(-0.56 * var(--module));
  transform: scaleX(-1) translateY(-50%);
}
@media screen and (max-width: 768px) {
  .analy-cta_swiper_wrap .swiper-button-prev {
    left: calc(-0.8 * var(--module));
  }
}
.analy-cta_swiper_wrap .swiper-button-next {
  right: calc(-0.56 * var(--module));
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .analy-cta_swiper_wrap .swiper-button-next {
    right: calc(-0.8 * var(--module));
  }
}
.analy-cta_swiper .swiper-wrapper {
  transition-timing-function: cubic-bezier(0.06, 0.43, 0.17, 1);
}
.analy-cta_swiper .swiper-slide {
  height: auto;
}
.analy-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) {
  .analy-cta_voice {
    padding: calc(0.4 * var(--module));
  }
}
.analy-cta_voice picture img {
  border-radius: calc(0.04 * var(--module));
}
.analy-cta_voice h3 {
  font-size: calc(0.24 * var(--module));
  color: var(--color-blue);
  margin-top: 0.8em;
}
@media screen and (max-width: 768px) {
  .analy-cta_voice h3 {
    font-size: calc(0.38 * var(--module));
  }
}
.analy-cta_voice p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .analy-cta_voice p {
    font-size: calc(0.22 * var(--module));
  }
}
.analy-cta_voice p .span1 {
  font-weight: bold;
  border-bottom: 1px solid var(--color-red);
}
.analy-cta_content {
  width: calc(5.52 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-cta_content {
    width: calc(6.84 * var(--module));
  }
}
.analy-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) {
  .analy-cta_content h3 {
    font-size: calc(0.32 * var(--module));
  }
}
.analy-cta_content h3::before,
.analy-cta_content h3::after {
  content: "";
  flex: auto;
  height: 0.32em;
  border: solid;
  border-width: 1px 0;
}
.analy-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) {
  .analy-cta_content ul {
    gap: calc(0.12 * var(--module));
  }
}
.analy-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) {
  .analy-cta_content li {
    height: calc(2.2 * var(--module));
    grid-template-rows: 1fr calc(0.9 * var(--module));
  }
}
.analy-cta_content li .span1 {
  display: grid;
  place-content: center;
}
.analy-cta_content li .span2 img {
  width: auto;
  max-height: 100%;
}
.analy-cta_content li:nth-child(1) img,
.analy-cta_content li:nth-child(2) img {
  height: 88%;
}
.analy-cta_content p {
  margin-top: calc(0.4 * var(--module));
  --btn-fz: calc(0.21 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-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));
  }
}
.analy-sec02_dl {
  width: calc(5.52 * var(--module));
  margin: calc(0.48 * var(--module)) auto calc(0.9 * var(--module));
  --btn-fz: calc(0.21 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec02_dl {
    width: min(calc(6.5 * var(--module)), 100%);
    margin-bottom: calc(1.2 * var(--module));
    --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/icon_analy-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;
}
.analy-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%);
}
.analy-header_logo {
  width: calc(2.2 * var(--module));
  position: relative;
}
@media screen and (max-width: 768px) {
  .analy-header_logo {
    width: calc(2.88 * var(--module));
  }
}
.analy-header_logo img {
  transition: 0.4s;
}
.analy-bg_dark .analy-header_logo img:has(+ img),
.analy-load .analy-header_logo img:has(+ img) {
  opacity: 0;
}
.analy-header_logo img + img {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}
.analy-bg_dark .analy-header_logo img + img,
.analy-load .analy-header_logo img + img {
  opacity: 1;
}
.analy-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) {
  .analy-header ul {
    --btn-h: calc(0.72 * var(--module));
    --btn-fz: calc(0.26 * var(--module));
    --icon-w: calc(0.4 * var(--module));
  }
}
.analy-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) {
  .analy-header .btn_contact {
    --btn-w: calc(3.8 * var(--module));
  }
}
.analy-header .btn_contact span.icon img:has(+ img) {
  opacity: 0 !important;
}
.analy-header .btn_contact span.icon img + img {
  opacity: 1 !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
}
.analy-bg_dark .analy-header .btn_contact,
.analy-load .analy-header .btn_contact {
  --btn-bg: rgba(4, 29, 83, 1);
  --btn-c: #fff;
}
.analy-header .btn_download {
  --btn-w: calc(2.68 * var(--module));
}
.analy-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) {
  .analy-footer {
    border-top: 1px solid #afafaf;
    text-align: center;
    padding-top: calc(0.48 * var(--module));
  }
}
.analy-footer h3 {
  font-size: calc(0.2 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-footer h3 {
    font-size: calc(0.26 * var(--module));
  }
}
.analy-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) {
  .analy-footer_content {
    grid-template-columns: auto;
    place-items: center;
    border: none;
    font-size: calc(0.24 * var(--module));
    font-weight: 500;
  }
}
.analy-footer_content_logo {
  width: calc(1.84 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-footer_content_logo {
    width: calc(3 * var(--module));
  }
}
@media screen and (max-width: 768px) {
  .analy-footer_content_address {
    margin-top: 1.6em;
  }
}
.analy-footer_content_copy {
  font-size: 96%;
  margin-top: 1.6em;
}
.analy-fv {
  overflow: hidden;
  background: url("../img/img_analy-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) {
  .analy-fv {
    background-image: url("../img/img_analy-fv_bg_sp_1.jpg");
    height: calc(15.2 * var(--module));
    padding-block: calc(1.76 * var(--module)) 0;
  }
}
.webp .analy-fv {
  background-image: url("../img/img_analy-fv_bg_1.webp");
}
@media screen and (max-width: 768px) {
  .webp .analy-fv {
    background-image: url("../img/img_analy-fv_bg_sp_1.webp");
  }
}
@media screen and (max-width: 768px) {
  .analy-fv:has(.analy-fv_content_header2) .analy-fv_swiper {
    margin-top: calc(0.8 * var(--module));
  }
}
.analy-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) {
  .analy-fv_content {
    grid-template-columns: auto;
    place-content: center;
  }
}
.analy-fv_content_header,
.analy-fv_content_header2 {
  color: #fff;
  align-self: center;
}
.analy-fv_content_header h1,
.analy-fv_content_header2 h1 {
  font-size: calc(0.72 * var(--module));
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .analy-fv_content_header h1,
  .analy-fv_content_header2 h1 {
    font-size: calc(0.8 * var(--module));
  }
}
.analy-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) {
  .analy-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;
  }
}
.analy-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) {
  .analy-fv_content_header ul {
    width: auto;
    gap: calc(0.24 * var(--module));
    font-size: calc(0.2 * var(--module));
  }
}
.analy-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;
}
.analy-fv_content_header li::before,
.analy-fv_content_header li::after {
  content: "";
  background: url("../img/img_analy-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) {
  .analy-fv_content_header li::before,
  .analy-fv_content_header li::after {
    width: calc(0.5 * var(--module));
    height: calc(1.2 * var(--module));
  }
}
.analy-fv_content_header li::before {
  left: 0;
  transform: translateY(-50%);
}
.analy-fv_content_header li::after {
  right: 0;
  transform: translateY(-50%) scaleX(-1);
}
.analy-fv_content_header li .span2 {
  font-size: 176%;
  font-weight: bold;
}
.analy-fv_content_header li .span3 {
  font-size: 168%;
  --spacing: 0;
}
.analy-fv_content_header li .span4 {
  font-size: 72%;
}
.analy-fv_content_header li sup {
  font-size: 44%;
  font-weight: 500;
  vertical-align: 1.6em;
  margin-left: -0.32em;
}
.analy-fv_content_header li .ff_jost {
  font-weight: 400;
}
.analy-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) {
  .analy-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) {
  .analy-fv_content_header2 h1 {
    text-align: center;
  }
}
.analy-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) {
  .analy-fv_content_header2 dl {
    margin-top: calc(0.32 * var(--module));
    text-align: center;
    justify-content: center;
    gap: calc(0.1 * var(--module));
  }
}
.analy-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) {
  .analy-fv_content_header2 dt {
    font-size: calc(0.4 * var(--module));
    align-self: end;
  }
}
.analy-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) {
  .analy-fv_content_header2 dt:has(img) {
    grid-row: 1;
  }
}
.analy-fv_content_header2 dd {
  font-size: calc(0.16 * var(--module));
  font-weight: 500;
  grid-column: 2;
}
@media screen and (max-width: 768px) {
  .analy-fv_content_header2 dd {
    grid-column: 1/3;
  }
}
.analy-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;
}
.analy-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;
}
.analy-fv_content_form h2 .span1 {
  font-weight: 400;
  font-size: 184%;
  line-height: 1.04;
  vertical-align: -0.064em;
}
.analy-fv_content_form_iframe {
  margin-inline: auto;
  width: min(90%, 384px);
}
@media screen and (min-width: 1380px) {
  .analy-fv_content_form_iframe {
    width: 384px;
  }
}
.analy-fv_content_form_iframe iframe {
  height: min(calc(6.72 * var(--module)), 544px);
}
@media screen and (min-width: 1380px) {
  .analy-fv_content_form_iframe iframe {
    height: 560px;
  }
}
.analy-fv_cta {
  text-align: center;
  margin-top: calc(0.4 * var(--module));
}
.analy-fv_cta h2 {
  color: #fff;
  font-size: calc(0.32 * var(--module));
}
.analy-fv_cta h2 .span1 {
  font-weight: normal;
  font-size: 216%;
  line-height: 1.04;
  vertical-align: -0.064em;
}
.analy-fv_cta p {
  width: calc(6.5 * var(--module));
  margin: calc(0.48 * var(--module)) auto 0;
}
.analy-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;
}
.analy-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;
}
.analy-fv_cta .btn_download .file {
  transform: translateY(calc(0.06 * var(--module)));
}
.analy-fv_swiper {
  margin-top: calc(0.48 * var(--module));
}
.analy-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;
}
.analy-fv_swiper .swiper-wrapper {
  transition-timing-function: linear;
}
.analy-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) {
  .analy-fv_swiper .swiper-slide {
    width: calc(3.24 * var(--module));
  }
}
.analy-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) {
  .analy-fv_case {
    padding: calc(0.2 * var(--module));
  }
}
.analy-fv_case picture img {
  border-radius: calc(0.04 * var(--module));
}
.analy-fv_case h3 {
  font-size: calc(0.18 * var(--module));
  margin-top: calc(0.12 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-fv_case h3 {
    font-size: calc(0.24 * var(--module));
  }
}
.analy-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) {
  .analy-fv_case p {
    font-size: calc(0.18 * var(--module));
  }
}
.analy-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;
}
.analy-sec {
  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) {
  .analy-sec {
    --pt: calc(0.8 * var(--module));
  }
}
.analy-sec02,
.analy-sec04,
.analy-sec08,
.analy-sec11 {
  background: url("../img/img_analy-bg_1.jpg") no-repeat center top/cover;
}
@media screen and (max-width: 768px) {
  .analy-sec02,
  .analy-sec04,
  .analy-sec08,
  .analy-sec11 {
    background-image: url("../img/img_analy-bg_sp_1.jpg");
  }
}
.webp .analy-sec02,
.webp .analy-sec04,
.webp .analy-sec08,
.webp .analy-sec11 {
  background-image: url("../img/img_analy-bg_1.webp");
}
@media screen and (max-width: 768px) {
  .webp .analy-sec02,
  .webp .analy-sec04,
  .webp .analy-sec08,
  .webp .analy-sec11 {
    background-image: url("../img/img_analy-bg_sp_1.webp");
  }
}
.analy-sec02 {
  --pr: 0;
  --pb: calc(0.8 * var(--module));
}
.analy-sec02_header {
  text-align: center;
  font-size: calc(0.21 * var(--module));
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .analy-sec02_header {
    font-size: calc(0.25 * var(--module));
  }
}
.analy-sec02_header h2 {
  font-size: calc(0.44 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .analy-sec02_header h2 {
    font-size: calc(0.54 * var(--module));
    line-height: 1.28;
  }
}
@media screen and (max-width: 768px) {
  .analy-sec02_header h2 .span1 {
    display: block;
    font-size: 120%;
  }
}
.analy-sec02_header h2 .span2 {
  font-size: 128%;
  font-weight: 500;
  vertical-align: -0.032em;
}
.analy-sec02_about {
  width: min(calc(9.12 * var(--module)), 90%);
  background: #fff url("../img/img_analy-deco_2.svg") no-repeat right
    top/calc(3.83 * var(--module));
  margin: calc(0.48 * var(--module)) auto 0;
  border-radius: calc(0.08 * var(--module));
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.4 * var(--module))
    rgba(4, 29, 83, 0.08);
  display: grid;
  grid-template-columns: auto 1fr;
  padding: calc(0.4 * var(--module)) calc(0.08 * var(--module));
  gap: calc(0.2 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec02_about {
    padding: calc(0.32 * var(--module));
    background-size: calc(5 * var(--module));
    grid-template-columns: auto;
    gap: calc(0.32 * var(--module));
  }
}
.analy-sec02_about_header {
  grid-column: 2;
}
@media screen and (max-width: 768px) {
  .analy-sec02_about_header {
    grid-column: auto;
    font-size: calc(0.24 * var(--module));
  }
}
.analy-sec02_about_header h3 {
  font-size: calc(0.25 * var(--module));
  position: relative;
  margin-top: 0.32em;
}
@media screen and (max-width: 768px) {
  .analy-sec02_about_header h3 {
    font-size: calc(0.38 * var(--module));
  }
}
.analy-sec02_about_header h3 img {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: calc(1.12 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec02_about_header h3 img {
    width: calc(1.6 * var(--module));
    right: calc(-0.16 * var(--module));
  }
}
.analy-sec02_about_header h3 .span1 {
  font-size: 112%;
}
.analy-sec02_about_header h3 .span2 {
  border-bottom: calc(0.03 * var(--module)) dotted;
}
.analy-sec02_about_device {
  grid-row: 1/3;
  grid-column: 1;
  width: calc(4.42 * var(--module));
  position: relative;
}
@media screen and (max-width: 768px) {
  .analy-sec02_about_device {
    grid-row: auto;
    grid-column: auto;
    width: calc(5.86 * var(--module));
  }
}
.analy-sec02_about_device picture + picture {
  width: calc(1.2 * var(--module));
  position: absolute;
  right: 0;
  top: calc(0.4 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec02_about_device picture + picture {
    width: calc(1.6 * var(--module));
    right: calc(-0.4 * var(--module));
  }
}
.analy-sec02_about_note {
  grid-column: 2;
  font-size: calc(0.15 * var(--module));
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .analy-sec02_about_note {
    font-size: calc(0.18 * var(--module));
    text-align: center;
    grid-column: auto;
  }
}
.analy-sec02_swiper1 {
  margin-top: calc(0.48 * var(--module));
}
.analy-sec02_swiper1 .swiper-wrapper {
  transition-timing-function: linear;
}
.analy-sec02_swiper1 .swiper-slide {
  width: calc(2.84 * var(--module));
  padding: calc(0.32 * var(--module)) calc(0.12 * var(--module));
  height: auto;
}
@media screen and (max-width: 768px) {
  .analy-sec02_swiper1 .swiper-slide {
    width: calc(3.44 * var(--module));
  }
}
.analy-sec02_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);
  height: 100%;
  padding: calc(0.16 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec02_voice {
    padding: calc(0.2 * var(--module));
  }
}
.analy-sec02_voice_header {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  column-gap: calc(0.08 * var(--module));
  white-space: nowrap;
}
.analy-sec02_voice_header picture {
  width: calc(0.7 * var(--module));
  grid-row: 1/3;
}
@media screen and (max-width: 768px) {
  .analy-sec02_voice_header picture {
    width: calc(1 * var(--module));
  }
}
.analy-sec02_voice_header picture img {
  border-radius: 50%;
}
.analy-sec02_voice_header h3 {
  grid-column: 2;
  font-size: calc(0.18 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec02_voice_header h3 {
    font-size: calc(0.24 * var(--module));
  }
}
.analy-sec02_voice_header p {
  grid-column: 2;
  font-size: calc(0.14 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .analy-sec02_voice_header p {
    font-size: calc(0.2 * var(--module));
  }
}
.analy-sec02_voice_header p .span1 {
  background: var(--color-blue);
  color: #fff;
  font-size: 112%;
  border-radius: calc(0.03 * var(--module));
  padding: 0.16em 0.48em;
  margin-right: 0.32em;
}
@media screen and (max-width: 768px) {
  .analy-sec02_voice_header p .span1 {
    display: table;
    font-size: 100%;
  }
}
.analy-sec02_voice_header p .span2 {
  --spacing: -0.05em;
  padding-inline: 0.16em;
}
.analy-sec02_voice dl {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: calc(0.08 * var(--module));
  font-size: calc(0.14 * var(--module));
  margin-top: calc(0.12 * var(--module));
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .analy-sec02_voice dl {
    font-size: calc(0.2 * var(--module));
    grid-template-columns: auto;
  }
}
.analy-sec02_voice dl + p {
  border-top: 1px solid #e1f2ff;
  padding-top: calc(0.12 * var(--module));
  margin-block: calc(0.12 * var(--module));
  font-size: calc(0.15 * var(--module));
  line-height: 1.28;
}
@media screen and (max-width: 768px) {
  .analy-sec02_voice dl + p {
    font-size: calc(0.24 * var(--module));
  }
}
.analy-sec02_voice dl + p .span1 {
  font-weight: bold;
  border-bottom: 1px solid var(--color-red);
}
.analy-sec02_voice dt {
  text-align: center;
  background: #e1f2ff;
  color: var(--color-blue);
  border-radius: calc(0.03 * var(--module));
  padding: 0.32em;
  align-self: start;
}
.analy-sec02_content {
  margin-top: calc(0.48 * var(--module));
}
.analy-sec02_content_list {
  width: min(calc(8.72 * var(--module)), 100%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(0.24 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec02_content_list {
    width: calc(5.24 * var(--module));
    grid-template-columns: repeat(2, 1fr);
  }
}
.analy-sec02_content_list li {
  position: relative;
  z-index: 1;
  background: var(--grad-blue);
  border-radius: calc(0.08 * var(--module));
  padding: calc(0.16 * var(--module));
  color: #fff;
  height: calc(2 * var(--module));
  display: grid;
  align-items: end;
  font-size: calc(0.16 * var(--module));
  line-height: 1.28;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .analy-sec02_content {
    padding: 0 calc(0.24 * var(--module));
  }
  .analy-sec02_content_list li {
    height: calc(2.5 * var(--module));
    font-size: calc(0.24 * var(--module));
  }
}
.analy-sec02_content_list li img {
  width: calc(0.96 * var(--module));
  position: absolute;
  right: calc(0.08 * var(--module));
  top: calc(0.08 * var(--module));
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .analy-sec02_content_list li img {
    width: calc(1.2 * var(--module));
  }
}
.analy-sec02_content_list li sup {
  position: absolute;
  color: var(--color-blue);
  left: 0;
  top: 100%;
}
@media screen and (max-width: 768px) {
  .analy-sec02_content_list li sup {
    color: #fff;
    top: 0.8em;
    left: calc(0.16 * var(--module));
    font-size: calc(0.14 * var(--module));
  }
}
.analy-sec02_content_list li .span1 {
  font-weight: bold;
  display: block;
  font-size: 132%;
}
@media screen and (max-width: 768px) {
  .analy-sec02_content_list li .span1 {
    font-size: 104%;
  }
}
.analy-sec02_content_list li .span2 {
  font-weight: 400;
  font-size: 228%;
  --spacing: -0.02em;
  line-height: 1.12;
}
@media screen and (max-width: 768px) {
  .analy-sec02_content_list li .span2 {
    font-size: 268%;
  }
}
.analy-sec02_content_list li .span3 {
  font-size: 72%;
}
.analy-sec04 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) {
  .analy-sec04 h2 {
    font-size: calc(0.54 * var(--module));
  }
}
.analy-sec04 h2 .span1 {
  font-size: 128%;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .analy-sec04 h2 .span1 {
    font-size: 144%;
  }
}
.analy-sec04_video {
  position: relative;
  width: min(calc(5.6 * var(--module)), 100%);
  margin: calc(0.48 * var(--module)) auto 0;
}
@media screen and (max-width: 768px) {
  .analy-sec04_video {
    width: calc(6 * var(--module));
  }
}
.analy-sec04_video video {
  border-radius: calc(0.08 * var(--module));
}
.analy-sec04_video_btn {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: calc(0.08 * var(--module));
}
.analy-sec04_video_btn.is_hide {
  display: none;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .analy-sec05 {
    --pb: calc(1.2 * var(--module));
  }
}
.analy-sec05_header {
  text-align: center;
  font-size: calc(0.21 * var(--module));
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .analy-sec05_header {
    font-size: calc(0.25 * var(--module));
  }
}
.analy-sec05_header h2 {
  font-size: calc(0.44 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .analy-sec05_header h2 {
    font-size: calc(0.54 * var(--module));
    line-height: 1.36;
  }
}
.analy-sec05_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);
}
.analy-sec05_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) {
  .analy-sec05_content_header {
    height: calc(2.2 * var(--module));
  }
}
.analy-sec05_content_header dt {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .analy-sec05_content_header dt {
    font-size: calc(0.22 * var(--module));
  }
}
.analy-sec05_content_header dt::before {
  content: "";
  background: url("../img/img_analy-sec05_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));
}
.analy-sec05_content_header dt .span1 {
  border: solid;
  border-width: 1px 0;
  padding: 0.16em 0.32em;
}
.analy-sec05_content_header dd {
  font-size: 136%;
}
@media screen and (max-width: 768px) {
  .analy-sec05_content_header dd {
    font-size: calc(0.34 * var(--module));
  }
}
.analy-sec05_content_header dl {
  display: grid;
  place-content: center;
  padding-bottom: calc(0.16 * var(--module));
}
.analy-sec05_content_header dl:first-child {
  background: url("../img/img_analy-sec05_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) {
  .analy-sec05_content_header dl:first-child {
    background-image: url("../img/img_analy-sec05_deco_sp_1.svg");
    width: calc(2.8 * var(--module));
    margin-block: calc(-0.6 * var(--module)) 0;
  }
}
@media screen and (max-width: 768px) {
  .analy-sec05_content_header dl:first-child dt {
    font-size: calc(0.2 * var(--module));
  }
}
.analy-sec05_content_header dl:first-child dt::before {
  background-image: url("../img/img_analy-sec05_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) {
  .analy-sec05_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));
  }
}
.analy-sec05_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) {
  .analy-sec05_content_container {
    grid-template-columns: auto;
  }
}
.analy-sec05_content_text p + p {
  margin-top: 1.6em;
}
.analy-sec05_content_flow {
  margin: calc(0.4 * var(--module)) auto 0;
  width: min(calc(8.08 * var(--module)), 90%);
  overflow: hidden;
}
.analy-sec05_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;
}
.analy-sec05_content_flow_header li {
  position: relative;
  padding: 0.8em 0;
}
.analy-sec05_content_flow_header li::before,
.analy-sec05_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;
}
.analy-sec05_content_flow_header li::before {
  background: #fff;
}
.analy-sec05_content_flow_header li::after {
  background: #e1f2ff;
  margin-right: max(1px, min(calc(0.02 * var(--module)), 4px));
}
.analy-sec05_content_flow_header li:last-child::before,
.analy-sec05_content_flow_header li:last-child::after {
  display: none;
}
.analy-sec05_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) {
  .analy-sec05_content_flow_list {
    grid-template-columns: auto;
    padding: 0;
    font-size: calc(0.24 * var(--module));
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .analy-sec05_content_flow_list dl {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .analy-sec05_content_flow_list dl:first-child dd {
    padding-top: calc(0.32 * var(--module));
  }
  .analy-sec05_content_flow_list dl:last-child dt::before,
  .analy-sec05_content_flow_list dl:last-child dt::after {
    display: none;
  }
  .analy-sec05_content_flow_list dl:last-child dd {
    padding-bottom: calc(0.32 * var(--module));
  }
}
.analy-sec05_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;
}
.analy-sec05_content_flow_list dt::before,
.analy-sec05_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;
}
.analy-sec05_content_flow_list dt::before {
  background: #fff;
}
.analy-sec05_content_flow_list dt::after {
  background: #e1f2ff;
  margin-top: min(-1px, max(calc(-0.02 * var(--module)), -4px));
}
@media screen and (max-width: 768px) {
  .analy-sec05_content_flow_list dd {
    background: #f2f2f2;
    position: relative;
    z-index: 1;
    padding: calc(0.16 * var(--module)) calc(0.48 * var(--module));
  }
}
.analy-sec05_content_flow_list li {
  position: relative;
  padding-left: 1.28em;
}
.analy-sec05_content_flow_list li::before {
  content: "◆";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-blue);
}
.analy-sec01 {
  --pr: 0;
  --pt: calc(0.4 * var(--module));
  --pb: calc(2 * var(--module));
}
.analy-sec01_header {
  text-align: center;
  display: grid;
  justify-content: center;
  margin-top: calc(-0.24 * var(--module));
}
.analy-sec01_header p {
  color: #fff;
  background: var(--color-blue);
  font-size: calc(0.22 * var(--module));
  position: relative;
  border-radius: calc(0.08 * var(--module));
  padding: 0.48em 1.6em;
}
@media screen and (max-width: 768px) {
  .analy-sec01_header p {
    font-size: calc(0.28 * var(--module));
    padding: 0.64em;
  }
}
.analy-sec01_header p::before {
  content: "▼";
  line-height: 1.04;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -40%);
  color: var(--color-blue);
}
.analy-sec01_header h2 {
  display: grid;
  font-size: calc(0.21 * var(--module));
  margin-top: calc(0.24 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec01_header h2 {
    font-size: calc(0.25 * var(--module));
  }
}
.analy-sec01_header h2 .span1 {
  font-size: calc(0.44 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec01_header h2 .span1 {
    font-size: calc(0.64 * var(--module));
  }
}
.analy-sec01_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) {
  .analy-sec01_case {
    flex-direction: column;
    width: calc(6 * var(--module));
    margin-inline: auto;
  }
}
.analy-sec01_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) {
  .analy-sec01_case_list {
    width: auto;
    padding: calc(0.48 * var(--module));
    border-radius: calc(0.24 * var(--module));
  }
}
.analy-sec01_case_list picture img {
  border-radius: calc(0.04 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec01_case_list picture img {
    border-radius: calc(0.06 * var(--module));
  }
}
.analy-sec01_case_list h3 {
  color: var(--color-blue);
  font-size: calc(0.26 * var(--module));
  margin-top: 0.32em;
}
@media screen and (max-width: 768px) {
  .analy-sec01_case_list h3 {
    font-size: calc(0.38 * var(--module));
  }
}
.analy-sec01_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) {
  .analy-sec01_case_list h3 + p {
    font-size: calc(0.24 * var(--module));
  }
}
.analy-sec01_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;
}
.analy-sec01_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) {
  .analy-sec01_case_list dl {
    font-size: calc(0.24 * var(--module));
  }
}
.analy-sec01_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));
}
.analy-sec01_case_list dl + p .span1 {
  font-weight: bold;
  border-bottom: 1px solid var(--color-red);
}
.analy-sec01_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;
}
.analy-sec07 {
  --pb: calc(1.7 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec07 {
    --pb: calc(1.2 * var(--module));
  }
}
.analy-sec07 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) {
  .analy-sec07 h2 {
    font-size: calc(0.54 * var(--module));
  }
}
@media screen and (max-width: 768px) {
  .analy-sec07 h2 .span1 {
    font-size: 112%;
    display: block;
    line-height: 1.12;
  }
}
.analy-sec07 h2 .span2 {
  font-size: 128%;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .analy-sec07 h2 .span2 {
    font-size: 144%;
  }
}
.analy-sec07_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) {
  .analy-sec07_step {
    flex-direction: column;
    gap: calc(0.72 * var(--module));
    margin-top: calc(0.72 * var(--module));
  }
}
.analy-sec07_step li {
  position: relative;
  width: calc(2.42 * var(--module));
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .analy-sec07_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));
  }
}
.analy-sec07_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) {
  .analy-sec07_step li::before {
    display: none;
  }
}
.analy-sec07_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) {
  .analy-sec07_step li::after {
    font-size: calc(0.48 * var(--module));
    width: 1.92em;
    height: 1.92em;
  }
}
.analy-sec07_step figure {
  justify-self: center;
  height: calc(0.96 * var(--module));
  margin-top: calc(0.64 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec07_step figure {
    height: auto;
    width: calc(1.5 * var(--module));
    grid-row: 1/3;
  }
}
.analy-sec07_step figure img {
  width: auto;
  max-height: 100%;
}
@media screen and (max-width: 768px) {
  .analy-sec07_step figure img {
    width: 100%;
  }
}
.analy-sec07_step h3 {
  color: #fff;
  text-align: center;
  display: grid;
  place-content: center;
  height: calc(0.8 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec07_step h3 {
    height: auto;
    font-size: calc(0.36 * var(--module));
  }
}
.analy-sec07_step p {
  margin-top: 1.6em;
}
@media screen and (max-width: 768px) {
  .analy-sec07_step p {
    font-size: calc(0.24 * var(--module));
    border-top: 1px solid;
    padding-top: 0.64em;
    margin-top: 0.64em;
  }
}
.analy-sec08_btn,
.analy-sec10_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) {
  .analy-sec08_btn,
  .analy-sec10_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) {
  .analy-sec08 {
    --pb: calc(1.2 * var(--module));
  }
}
.analy-sec08_header {
  text-align: center;
  font-size: calc(0.21 * var(--module));
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .analy-sec08_header {
    font-size: calc(0.25 * var(--module));
  }
}
.analy-sec08_header h2 {
  font-size: calc(0.44 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .analy-sec08_header h2 {
    font-size: calc(0.6 * var(--module));
    line-height: 1.2;
  }
}
.analy-sec08_header h2 .span1 {
  font-size: 128%;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .analy-sec08_header p {
    margin-top: 0.64em;
  }
}
.analy-sec08_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) {
  .analy-sec08_plan {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(0.24 * var(--module));
  }
}
.analy-sec08_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) {
  .analy-sec08_plan li {
    width: auto;
  }
}
.analy-sec08_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) {
  .analy-sec08_plan h3 {
    font-size: calc(0.45 * var(--module));
    line-height: 1.2;
  }
}
.analy-sec08_plan figure {
  width: calc(1.7 * var(--module));
  margin: calc(0.3 * var(--module)) auto 0;
}
@media screen and (max-width: 768px) {
  .analy-sec08_plan figure {
    width: calc(2 * var(--module));
  }
}
.analy-sec08_plan p {
  font-size: calc(0.25 * var(--module));
  margin: 0.64em 0;
  align-self: center;
}
@media screen and (max-width: 768px) {
  .analy-sec08_plan p {
    font-size: calc(0.32 * var(--module));
  }
}
.analy-sec08_plan p .span1 {
  font-weight: bold;
  border-bottom: 1px solid var(--color-red);
}
.analy-sec08_plan p .span2 {
  font-size: 176%;
  line-height: 1.04;
  margin-top: -0.64em;
  display: inline-block;
}
.analy-sec10 {
  --pr: 0;
}
.analy-sec10_header {
  text-align: center;
  font-weight: bold;
}
.analy-sec10_header h2 {
  font-size: calc(0.44 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .analy-sec10_header h2 {
    font-size: calc(0.64 * var(--module));
  }
}
.analy-sec10_header p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .analy-sec10_header p {
    font-size: calc(0.24 * var(--module));
  }
}
.analy-sec10_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) {
  .analy-sec10_file {
    flex-direction: column;
  }
}
.analy-sec10_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));
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .analy-sec10_file li {
    width: calc(6.12 * var(--module));
    margin: auto;
    font-size: calc(0.24 * var(--module));
  }
}
.analy-sec10_file picture img {
  border-radius: calc(0.04 * var(--module));
}
.analy-sec10_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) {
  .analy-sec10_file h3 {
    font-size: calc(0.36 * var(--module));
  }
}
.analy-sec10_file p {
  margin-top: calc(0.16 * var(--module));
}
.analy-sec10_file p:has(.btn_download_white) {
  --btn-h: calc(0.52 * var(--module));
  --icon-w: calc(0.24 * var(--module));
  margin-top: auto;
  padding-top: calc(0.24 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec10_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));
  }
}
.analy-sec11 {
  --pr: max(5%, calc((100% - calc(8.16 * var(--module))) * 0.5));
}
.analy-sec11_header {
  text-align: center;
  font-size: calc(0.21 * var(--module));
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .analy-sec11_header {
    font-size: calc(0.36 * var(--module));
  }
}
.analy-sec11_header h2 {
  font-size: calc(0.44 * var(--module));
  color: var(--color-blue);
}
@media screen and (max-width: 768px) {
  .analy-sec11_header h2 {
    font-size: calc(0.6 * var(--module));
  }
}
.analy-sec11_qa {
  margin-top: calc(0.4 * var(--module));
  border-radius: calc(0.08 * var(--module));
  background: #fff;
}
.analy-sec11_qa h3,
.analy-sec11_qa_a {
  padding-inline: calc(0.72 * var(--module)) calc(0.4 * var(--module));
  position: relative;
}
@media screen and (max-width: 768px) {
  .analy-sec11_qa h3,
  .analy-sec11_qa_a {
    padding-inline: calc(0.88 * var(--module)) calc(0.48 * var(--module));
  }
}
.analy-sec11_qa h3::before,
.analy-sec11_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) {
  .analy-sec11_qa h3::before,
  .analy-sec11_qa_a::before {
    font-size: calc(0.44 * var(--module));
  }
}
.analy-sec11_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) {
  .analy-sec11_qa h3 {
    font-size: calc(0.3 * var(--module));
  }
}
.analy-sec11_qa h3::before {
  content: "Q";
  top: 50%;
  transform: translateY(-50%);
}
.analy-sec11_qa_a {
  padding-block: calc(0.24 * var(--module));
  font-size: calc(0.16 * var(--module));
}
@media screen and (max-width: 768px) {
  .analy-sec11_qa_a {
    font-size: calc(0.25 * var(--module));
  }
}
.analy-sec11_qa_a::before {
  content: "A";
  top: calc(0.16 * var(--module));
  color: var(--color-red);
}
.analy-sec11_qa_a p + p {
  margin-top: 1em;
}
.analy-sec11_qa + .analy-sec11_qa {
  margin-top: calc(0.24 * var(--module));
}
/* ===== floating cta ===== */
:root {
  --floatcta-offset: calc(1.25 * var(--module));
}
@media screen and (max-width: 768px) {
  :root {
    --floatcta-offset: calc(2.2 * var(--module));
  }
}
body:has(.c-floatcta.is-show) {
  padding-bottom: calc(var(--floatcta-offset) + env(safe-area-inset-bottom, 0px));
}
.c-floatcta {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 99;
  transform: translateY(100%);
  transition: transform 0.4s ease;
  pointer-events: none;
}
.c-floatcta.is-show {
  transform: translateY(0);
  pointer-events: auto;
}
.c-floatcta_bar {
  width: 100%;
  background: #0a215a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-floatcta_catch {
  color: #fff;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.c-floatcta_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 calc(0.04 * var(--module)) calc(0.08 * var(--module))
    rgba(4, 29, 83, 0.16);
}
.c-floatcta_arrow {
  flex-shrink: 0;
  width: auto;
}
.c-floatcta_bar-pc {
  height: calc(1.25 * var(--module));
  gap: calc(0.4 * var(--module));
}
.c-floatcta_bar-pc .c-floatcta_lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(0.04 * var(--module));
}
.c-floatcta_bar-pc .c-floatcta_catch {
  font-size: calc(0.224 * var(--module));
}
.c-floatcta_bar-pc .c-floatcta_note {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(3.6 * var(--module));
  height: calc(0.31 * var(--module));
  background: #fff;
  color: #0a215a;
  font-weight: 700;
  font-size: calc(0.16 * var(--module));
  letter-spacing: -0.02em;
  white-space: nowrap;
  border-radius: calc(0.02 * var(--module));
}
.c-floatcta_bar-pc .c-floatcta_btn {
  gap: calc(0.118 * var(--module));
  height: calc(0.62 * var(--module));
  padding: 0 calc(0.56 * var(--module)) 0 calc(0.72 * var(--module));
  border-radius: calc(1.34 * var(--module));
  font-size: calc(0.185 * var(--module));
  background: linear-gradient(
    82.63deg,
    #ff6a6d 4.04%,
    #ce0e38 52.66%,
    #960525 97.02%
  );
}
.c-floatcta_bar-pc .c-floatcta_arrow {
  width: calc(0.356 * var(--module));
}
.c-floatcta_bar-sp {
  flex-direction: column;
  gap: calc(0.14 * var(--module));
  padding: calc(0.12 * var(--module)) 0 calc(0.24 * var(--module));
}
.c-floatcta_bar-sp .c-floatcta_catch {
  font-size: calc(0.257 * var(--module));
}
.c-floatcta_bar-sp .c-floatcta_btn {
  width: calc(6.5 * var(--module));
  height: calc(1.02 * var(--module));
  border-radius: calc(0.9 * var(--module));
  padding: 0 calc(0.16 * var(--module));
  gap: calc(0.1 * var(--module));
  background: linear-gradient(
    79.62deg,
    #ff6a6d 4.04%,
    #ce0e38 52.66%,
    #960525 97.02%
  );
}
.c-floatcta_bar-sp .c-floatcta_badge {
  flex-shrink: 0;
  background: #fff;
  border: 1px solid #ce0e38;
  border-radius: calc(0.9 * var(--module));
  color: #0a215a;
  font-weight: 700;
  font-size: calc(0.201 * var(--module));
  line-height: 1.3;
  text-align: center;
  padding: calc(0.08 * var(--module)) calc(0.3 * var(--module))
    calc(0.1 * var(--module));
}
.c-floatcta_bar-sp .c-floatcta_line {
  flex-shrink: 0;
  width: calc(0.36 * var(--module));
  height: calc(0.02 * var(--module));
  background: #fff;
  margin-left: calc(-0.16 * var(--module));
}
.c-floatcta_bar-sp .c-floatcta_label {
  text-align: center;
  font-size: calc(0.28 * var(--module));
}
.c-floatcta_bar-sp .c-floatcta_arrow {
  width: calc(0.42 * var(--module));
  margin-right: auto;
}

.c-needs {
  position: relative;
  background: url(../img/needs_bg_pc.webp) center/cover no-repeat;
  padding: calc(0.85 * var(--module))
    max(5%, (100% - calc(12 * var(--module))) * 0.5) calc(1.6 * var(--module));
}
.c-needs_title {
  text-align: center;
  margin-bottom: calc(0.39 * var(--module));
}
.c-needs_supertitle {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: #0066a9;
  font-size: calc(0.27 * var(--module));
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin: 0;
}
.c-needs_heading {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: #0066a9;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin: 0;
}
.c-needs_heading_lead,
.c-needs_heading_main {
  font-size: calc(0.44 * var(--module));
}
.c-needs_body {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-areas: "card-l center card-r";
  align-items: start;
  justify-content: center;
  column-gap: calc(0.8 * var(--module));
  position: relative;
}
.c-needs_card-28sotsu {
  grid-area: card-l;
}
.c-needs_card-27sotsu {
  grid-area: card-r;
}
.c-needs_center {
  grid-area: center;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(0.4 * var(--module));
}
.c-needs_card {
  width: calc(3.4 * var(--module));
  align-self: stretch;
  display: flex;
  flex-direction: column;
}
.c-needs_stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(0.1 * var(--module));
  margin-bottom: calc(0.16 * var(--module));
}
.c-needs_stat_num {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: calc(0.04 * var(--module));
  margin: 0;
  line-height: 1;
}
.c-needs_stat_value {
  font-weight: 500;
  font-size: calc(0.86 * var(--module));
  line-height: 0.8;
  letter-spacing: 0;
  background: linear-gradient(161deg, #4aaff2 1%, #0066a9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.c-needs_stat_unit {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: #0066a9;
  font-size: calc(0.25 * var(--module));
  letter-spacing: 0.04em;
}
.c-needs_stat_note {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #041d53;
  font-size: calc(0.15 * var(--module));
  line-height: 1.3;
  letter-spacing: -0.05em;
  text-align: center;
  margin: 0;
}
.c-needs_card_box {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  filter: drop-shadow(
    0 calc(0.04 * var(--module)) calc(0.2 * var(--module)) rgba(4, 29, 83, 0.08)
  );
}
.c-needs_card_inner {
  flex: 1 0 auto;
}
.c-needs_grade {
  background: #0066a9;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: calc(0.25 * var(--module));
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
  padding: calc(0.08 * var(--module)) 0 calc(0.06 * var(--module));
  border-radius: calc(0.16 * var(--module)) calc(0.16 * var(--module)) 0 0;
  margin: 0;
}
.c-needs_card_inner {
  background: #fff;
  padding: calc(0.34 * var(--module)) calc(0.24 * var(--module));
  border-radius: 0 calc(0.16 * var(--module)) calc(0.16 * var(--module))
    calc(0.16 * var(--module));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(0.24 * var(--module));
}
.c-needs_card_title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: #0066a9;
  font-size: calc(0.25 * var(--module));
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
  margin: 0;
}
.c-needs_divider {
  display: block;
  width: calc(0.32 * var(--module));
  height: calc(0.02 * var(--module));
  background: #0066a9;
}
.c-needs_card_text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #041d53;
  font-size: calc(0.18 * var(--module));
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-align: center;
  margin: 0;
}
.c-needs_card_text_mark {
  font-size: 0.5em;
  letter-spacing: 0.04em;
}
.c-needs_card_note {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #041d53;
  font-size: calc(0.15 * var(--module));
  line-height: 1.3;
  letter-spacing: -0.05em;
  text-align: center;
  margin: 0;
}
.c-needs_card_note small {
  font-size: inherit;
}
.c-needs_main {
  width: calc(3.53 * var(--module));
  display: block;
}
.c-needs_main img,
.c-needs_logo img {
  width: 100%;
  height: auto;
  display: block;
}
.c-needs_logo {
  width: calc(2 * var(--module));
  margin: 0;
}
.c-needs_arrow {
  position: absolute;
  top: calc(2.37 * var(--module));
  width: calc(0.57 * var(--module));
  display: block;
}
.c-needs_arrow img {
  width: 100%;
  height: auto;
  display: block;
}
.c-needs_arrow-left {
  left: calc(-0.5 * var(--module));
}
.c-needs_arrow-right {
  right: calc(-0.5 * var(--module));
  transform: scaleX(-1);
}
@media (max-width: 768px) {
  .c-needs {
    padding: calc(0.4 * var(--module)) calc(0.4 * var(--module))
      calc(0.8 * var(--module));
    background-image: url(../img/needs_bg_sp.webp);
  }
  .c-needs_title {
    margin-bottom: calc(0.4 * var(--module));
  }
  .c-needs_supertitle {
    font-size: calc(0.31 * var(--module));
    color: #041d53;
  }
  .c-needs_heading_lead {
    font-size: calc(0.54 * var(--module));
  }
  .c-needs_heading_main {
    font-size: calc(0.64 * var(--module));
  }
  .c-needs_body {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "center center" "card-l card-r";
    column-gap: calc(0.48 * var(--module));
    row-gap: calc(0.4 * var(--module));
    align-items: stretch;
  }
  .c-needs_card {
    width: 100%;
  }
  .c-needs_card_box {
    filter: drop-shadow(
      0 calc(0.025 * var(--module)) calc(0.124 * var(--module))
        rgba(4, 29, 83, 0.08)
    );
  }
  .c-needs_card_inner {
    padding: calc(0.14 * var(--module)) calc(0.1 * var(--module));
    gap: calc(0.12 * var(--module));
    border-radius: 0 calc(0.099 * var(--module)) calc(0.099 * var(--module))
      calc(0.099 * var(--module));
  }
  .c-needs_grade {
    padding: calc(0.03 * var(--module)) 0;
    border-radius: calc(0.099 * var(--module)) calc(0.099 * var(--module)) 0 0;
  }
  .c-needs_card_title {
    font-size: calc(0.24 * var(--module));
  }
  .c-needs_card_text {
    font-size: calc(0.2 * var(--module));
    line-height: 1.45;
    letter-spacing: 0;
  }
  .c-needs_card_note {
    font-size: calc(0.14 * var(--module));
    letter-spacing: -0.05em;
  }
  .c-needs_divider {
    width: calc(0.198 * var(--module));
    height: calc(0.012 * var(--module));
  }
  .c-needs_center {
    justify-content: center;
    align-items: center;
  }
  .c-needs_main {
    width: calc(5.475 * var(--module));
  }
}


.c-voices__profiles {
  position: relative;
  padding: calc(0.32 * var(--module)) 0 calc(0.2 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-voices__profiles {
    padding: calc(0.36 * var(--module)) 0 calc(0.24 * var(--module));
  }
}
.c-voices__feature {
  position: relative;
  padding: calc(0.62 * var(--module)) 5% calc(0.55 * var(--module));
}
.c-voices__feature_bubble {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -55%);
  width: calc(1.52 * var(--module));
  margin: 0;
}
.c-voices__feature_bubble img {
  width: 100%;
  height: auto;
  display: block;
}
.c-voices__feature_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(0.55 * var(--module));
  max-width: calc(10.5 * var(--module));
  margin-inline: auto;
}
.c-voices__feature_tags {
  flex-shrink: 0;
  width: calc(4 * var(--module));
  margin: 0;
}
.c-voices__feature_tags img {
  width: 100%;
  height: auto;
  display: block;
}
.c-voices__feature_body {
  flex: 1;
  min-width: 0;
  color: #fff;
}
.c-voices__feature_title {
  font-size: calc(0.32 * var(--module));
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
  border-bottom: 1px solid #fff;
  padding-bottom: calc(0.02 * var(--module));
  margin: 0;
}
.c-voices__feature_lead {
  font-size: calc(0.2 * var(--module));
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: calc(0.16 * var(--module)) 0 0;
}
.c-voices__feature_note {
  font-size: calc(0.14 * var(--module));
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin: calc(0.16 * var(--module)) 0 0;
}
@media screen and (max-width: 768px) {
  .c-voices__feature {
    padding: calc(0.7 * var(--module)) 5% calc(0.6 * var(--module));
  }
  .c-voices__feature_bubble {
    width: calc(1.85 * var(--module));
    transform: translate(-50%, -52%);
  }
  .c-voices__feature_inner {
    gap: calc(0.2 * var(--module));
    max-width: none;
  }
  .c-voices__feature_tags {
    width: calc(2.2 * var(--module));
  }
  .c-voices__feature_title {
    font-size: calc(0.34 * var(--module));
  }
  .c-voices__feature_lead {
    font-size: calc(0.26 * var(--module));
    margin-top: calc(0.2 * var(--module));
  }
  .c-voices__feature_note {
    font-size: calc(0.18 * var(--module));
    margin-top: calc(0.2 * var(--module));
  }
}
.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));
  padding: 0;
  height: auto;
}
@media screen and (max-width: 768px) {
  .c-voices__swiper1 .swiper-slide {
    width: calc(3.4 * var(--module));
    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.16 * 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: flex;
  flex-direction: column;
  gap: calc(0.1 * var(--module));
  height: 100%;
}
.c-voices__voice_img {
  margin: 0;
  border-radius: calc(0.13 * var(--module));
  overflow: hidden;
  aspect-ratio: 229 / 154;
  background: #d7e2ef;
}
.c-voices__voice_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.c-voices__voice_name {
  color: #000;
  font-size: calc(0.18 * var(--module));
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  margin: 0;
}
.c-voices__voice_prof {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: calc(0.06 * var(--module));
  align-items: start;
  margin: 0;
}
.c-voices__voice_prof dt {
  background: #d9d9d9;
  color: #000;
  font-size: calc(0.12 * var(--module));
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-align: center;
  white-space: nowrap;
  padding: calc(0.05 * var(--module)) calc(0.08 * var(--module));
}
.c-voices__voice_prof dd {
  color: #000;
  font-size: calc(0.11 * var(--module));
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.3;
  margin: 0;
}
.c-voices__voice_tags {
  display: flex;
  flex-wrap: wrap;
  gap: calc(0.08 * var(--module));
  list-style: none;
  margin: 0 0 calc(0.08 * var(--module));
  padding: 0;
}
.c-voices__voice_tags li {
  background: #005287;
  color: #fff;
  font-size: calc(0.15 * var(--module));
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  padding: calc(0.05 * var(--module)) calc(0.08 * var(--module));
}
@media screen and (max-width: 768px) {
  .c-voices__voice {
    border-radius: calc(0.12 * var(--module));
    padding: calc(0.2 * var(--module));
    gap: calc(0.14 * var(--module));
  }
  .c-voices__voice_name {
    font-size: calc(0.25 * var(--module));
  }
  .c-voices__voice_prof {
    gap: calc(0.08 * var(--module));
  }
  .c-voices__voice_prof dt {
    font-size: calc(0.18 * var(--module));
  }
  .c-voices__voice_prof dd {
    font-size: calc(0.17 * var(--module));
  }
  .c-voices__voice_tags li {
    font-size: calc(0.24 * var(--module));
  }
}

.c-segments {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(0.24 * var(--module));
  padding-top: calc(0.4 * var(--module));
}
.c-segments_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(0.08 * var(--module));
}
.c-segments_lead {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0;
  gap: 0;
  flex-wrap: nowrap;
}
.c-segments_lead-prefix,
.c-segments_lead-pill {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: #0066a9;
  font-size: calc(0.25 * var(--module));
  line-height: 1.6;
  letter-spacing: 0.04em;
  white-space: nowrap;
  margin: 0;
}
.c-segments_lead-pill {
  background: #fff;
  padding: 0 calc(0.12 * var(--module)) 0 calc(0.19 * var(--module));
  border-radius: calc(0.2 * var(--module));
  display: inline-flex;
  align-items: center;
}
.c-segments_subtitle {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: #041d53;
  font-size: calc(0.21 * var(--module));
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
  margin: 0;
}
.c-segments_chevron {
  width: calc(0.44 * var(--module));
  height: auto;
  display: block;
}
.c-segments_cards {
  display: flex;
  gap: calc(0.33 * var(--module));
  width: 100%;
  justify-content: center;
  align-items: stretch;
}
.c-segments_card {
  background: #fff;
  border-radius: calc(0.16 * var(--module));
  width: calc(3.78 * var(--module));
  filter: drop-shadow(
    0 calc(0.04 * var(--module)) calc(0.16 * var(--module))
      rgba(4, 29, 83, 0.08)
  );
  padding: calc(0.24 * var(--module)) calc(0.25 * var(--module))
    calc(0.33 * var(--module)) calc(0.24 * var(--module));
  display: flex;
  flex-direction: column;
  gap: calc(0.12 * var(--module));
}
.c-segments_card_header {
  position: relative;
  width: 100%;
  border-radius: calc(0.08 * var(--module));
}
.c-segments_card_label {
  position: relative;
  background: #0066a9;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: calc(0.21 * var(--module));
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
  padding: calc(0.1 * var(--module)) 0;
  border-radius: calc(0.08 * var(--module));
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
.c-segments_card_label::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: calc(0.08 * var(--module)) solid transparent;
  border-right: calc(0.08 * var(--module)) solid transparent;
  border-top: calc(0.09 * var(--module)) solid #0066a9;
}
.c-segments_card_icon {
  position: absolute;
  right: calc(0.04 * var(--module));
  top: 0;
  width: calc(0.5 * var(--module));
  height: auto;
  display: block;
  max-width: none;
}
.c-segments_card-engineering .c-segments_card_icon {
  right: 0;
}
.c-segments_card-it .c-segments_card_icon {
  top: calc(0.06 * var(--module));
}
.c-segments_card_stat {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin: 0;
  color: #0066a9;
  white-space: nowrap;
  gap: 0;
}
.c-segments_card_stat-prefix,
.c-segments_card_stat-suffix {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: calc(0.21 * var(--module));
  line-height: 1.3;
  letter-spacing: 0.04em;
}
.c-segments_card_stat-num {
  display: inline-block;
  font-family: "Jost", sans-serif;
  font-weight: 400;
  font-size: calc(0.58 * var(--module));
  line-height: 1.3;
  letter-spacing: -0.04em;
  background-image: linear-gradient(
    transparent 65%,
    #e1f2ff 65%,
    #e1f2ff 85%,
    transparent 85%
  );
  padding: 0 calc(0.04 * var(--module));
}
.c-segments_card_breakdown {
  display: flex;
  flex-direction: column;
  gap: calc(0.12 * var(--module));
}
.c-segments_card_pill {
  background: #f2f2f2;
  color: #041d53;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: calc(0.18 * var(--module));
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
  padding: calc(0.1 * var(--module)) 0;
  border-radius: calc(0.12 * var(--module));
  min-height: calc(0.52 * var(--module));
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.c-segments_note {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: calc(0.14 * var(--module));
  color: #041d53;
  letter-spacing: 0.04em;
  text-align: center;
  margin: 0;
}
@media (max-width: 768px) {
  .c-segments {
    gap: 0;
    padding-top: calc(0.4 * var(--module));
  }
  .c-segments_chevron {
    margin: calc(0.1 * var(--module)) 0 calc(0.4 * var(--module));
  }
  .c-segments_lead-prefix,
  .c-segments_lead-pill {
    font-size: calc(0.38 * var(--module));
  }
  .c-segments_subtitle {
    font-size: calc(0.25 * var(--module));
  }
  .c-segments_cards {
    flex-direction: column;
    gap: calc(0.3 * var(--module));
  }
  .c-segments_card {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "header header" "stat breakdown";
    column-gap: calc(0.12 * var(--module));
    row-gap: calc(0.12 * var(--module));
    align-items: center;
  }
  .c-segments_card_header {
    grid-area: header;
  }
  .c-segments_card_label {
    font-size: calc(0.25 * var(--module));
  }
  .c-segments_card_stat {
    grid-area: stat;
    justify-content: center;
    flex-wrap: nowrap;
  }
  .c-segments_card_stat-num {
    font-size: calc(0.92 * var(--module));
  }
  .c-segments_card_stat-prefix,
  .c-segments_card_stat-suffix {
    font-size: calc(0.32 * var(--module));
  }
  .c-segments_card-engineering .c-segments_card_stat-num {
    font-size: calc(0.69 * var(--module));
  }
  .c-segments_card-engineering .c-segments_card_stat-prefix,
  .c-segments_card-engineering .c-segments_card_stat-suffix {
    font-size: calc(0.24 * var(--module));
  }
  .c-segments_card_breakdown {
    grid-area: breakdown;
  }
  .c-segments_card_pill {
    font-size: calc(0.22 * var(--module));
    padding: calc(0.1 * var(--module)) calc(0.1 * var(--module));
  }
  .c-segments_note {
    font-size: calc(0.18 * var(--module));
    white-space: normal;
    letter-spacing: 0;
    line-height: 1.4;
    margin-top: calc(0.16 * var(--module));
  }
}

.c-stat-note {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #041d53;
  font-size: calc(0.12 * var(--module));
  line-height: 1.4;
  letter-spacing: 0.04em;
  margin: 0;
  padding-top: calc(0.4 * var(--module));
  max-width: calc(9.12 * var(--module));
  margin-inline: auto;
}
.c-stat-note_mark {
  color: #ce0e38;
  font-weight: 900;
}
.c-stat-note sup {
  font-size: 0.645em;
  font-weight: 900;
  vertical-align: super;
  line-height: 0;
}
@media (max-width: 768px) {
  .c-stat-note {
    font-size: calc(0.18 * var(--module));
    line-height: 1.4;
    max-width: none;
    padding-top: calc(0.4 * var(--module));
  }
}
