@charset "UTF-8";
.splide__container{box-sizing:border-box;position:relative}
.splide__list{backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important}
.splide.is-initialized:not(.is-active) .splide__list{display:block}
.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}
.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}
.splide:not(.is-overflow) .splide__pagination{display:none}
.splide__progress__bar{width:0}
.splide{position:relative;visibility:hidden}
.splide.is-initialized,.splide.is-rendered{visibility:visible}
.splide__slide{backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}
.splide__slide img{vertical-align:bottom}
.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}
.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}
.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}
.splide__toggle.is-active .splide__toggle__pause{display:inline}
.splide__track{overflow:hidden;position:relative;z-index:0}
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}
.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}
.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}
.splide--rtl{direction:rtl}
.splide__track--ttb>.splide__list{display:block}
.splide__arrow{align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:flex;height:2em;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}
.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}
.splide__arrow:hover:not(:disabled){opacity:.9}
.splide__arrow:disabled{opacity:.3}
.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}
.splide__arrow--prev{left:1em}
.splide__arrow--prev svg{transform:scaleX(-1)}
.splide__arrow--next{right:1em}
.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}
.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}
.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}
.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}
.splide__pagination__page:hover{cursor:pointer;opacity:.9}
.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}
.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}
.splide__progress__bar{background:#ccc;height:3px}
.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}
.splide__slide:focus{outline:0}
@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}
@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}
@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}
@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}
.splide__toggle{cursor:pointer}
.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}
.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}
.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}
.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}
.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}
.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}
.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}
.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}
.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}
.splide__arrows--ttb .splide__arrow--prev{top:1em}
.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}
.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}
.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}
.splide__pagination--ttb{bottom:0;display:flex;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
:root {
  --mh--breakpoint--min: 375px;
  --mh--breakpoint--sm: 640px;
  --mh--breakpoint--md: 768px;
  --mh--breakpoint--lg: 1100px;
  --mh--breakpoint--xl: 1280px;
}
:root {
  --header--height: calc(52 / var(--viewport) * 100vw);
}
@media (width >= 768px ) {
  :root {
    --header--height: calc(72 / var(--viewport) * 100vw);
  }
}
@media (width >= 1100px ) {
  :root {
    --header--height: 72px;
  }
}
:root {
  --contents--width: 1224px;
  --contents--padding--side: calc((15 / 393) * 100vw);
  --contents--width-with-padding: calc(var(--contents--width) + var(--contents--padding--side) * 2);
}
@media (width >= 768px ) {
  :root {
    --contents--padding--side: 25px;
  }
}
:root {
  --viewport: 393;
}
@media (width >= 768px ) {
  :root {
    --viewport: 768;
  }
}
:root {
  --font-family--Sans: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', meiryo, sans-serif;
  --font-family--Alphabet: "Montserrat", sans-serif;
}
html body {
  --font-size--xs: calc(12 / var(--viewport) * 100vw);
  --font-size--sm: calc(14 / var(--viewport) * 100vw);
  --font-size--md: calc(16 / var(--viewport) * 100vw);
  --font-size--lg: calc(18 / var(--viewport) * 100vw);
  --font-size--xl: calc(20 / var(--viewport) * 100vw);
  --font-size--2xl: calc(24 / var(--viewport) * 100vw);
  --font-size--3xl: calc(32 / var(--viewport) * 100vw);
  --font-size--4xl: calc(40 / var(--viewport) * 100vw);
  --font-size--5xl: calc(48 / var(--viewport) * 100vw);
  --font-size--6xl: calc(56 / var(--viewport) * 100vw);
  --font-size--7xl: calc(72 / var(--viewport) * 100vw);
}
@media (width >= 1100px ) {
  html body {
    --font-size--xs: 12px;
    --font-size--sm: 14px;
    --font-size--md: 16px;
    --font-size--lg: 18px;
    --font-size--xl: 20px;
    --font-size--2xl: 24px;
    --font-size--3xl: 32px;
    --font-size--4xl: 40px;
    --font-size--5xl: 48px;
    --font-size--6xl: 56px;
    --font-size--7xl: 72px;
  }
}
:root {
  --font-weight--regular: 400;
  --font-weight--semibold: 500;
  --font-weight--bold: 700;
}
html body {
  --Common-background-dark-primary: #383838;
  --Common-background-dark-secondary: #6A6C6C;
  --Common-background-primary: #FFF;
  --Common-background-secondary: #F7F8F7;
  --Common-border-on-dark-primary: #FFF;
  --Common-border-on-dark-secondary: #EDEDED;
  --Common-border-on-dark-tertiary: #555;
  --Common-border-primary: #D1D5DF;
  --Common-border-secondary: #EDEDED;
  --Common-border-tertiary: #F1F2F1;
  --Common-label-on-dark-primary: #FFF;
  --Common-label-on-dark-secondary: #EAEFF9;
  --Common-label-on-dark-tertiary: #D1D5DF;
  --Common-label-primary: #222;
  --Common-label-secondary: #5A5A5A;
  --Common-label-tertiary: #8D8E91;
  --Common-primary-inverse-primary: #FFF;
  --Common-primary-on-inverse-primary: #C11C13;
  --Common-primary-on-primary: #FFF;
  --Common-secondary-inverse-secondary: #FFF;
  --Common-secondary-on-inverse-secondary: #333;
  --Common-secondary-on-secondary: #FFF;
  --Common-secondary-secondary: #333;
  --Product-CP-background-accent: #E6F8F4;
  --Product-CP-primary-inverse-primary: #FFF;
  --Product-CP-primary-on-inverse-primary: #009370;
  --Product-CP-primary-on-primary: #FFF;
  --Product-CP-primary-primary: #009370;
  --Product-CP-primary-primary-high: #126F5B;
  --Product-CP-primary-primary-higher: #003E30;
  --Product-CP-primary-primary-low: #00AE84;
  --Product-CP-primary-primary-lower: #32D2AC;
  --Product-CP-secondary-inverse-secondary: #FFF;
  --Product-CP-secondary-on-inverse-secondary: #EFAE3C;
  --Product-CP-secondary-on-secondary: #FFF;
  --Product-CP-secondary-secondary: #EFAE3C;
  --Product-CP-secondary-secondary-high: #D19134;
  --Product-CP-secondary-secondary-low: #FFC256;
  --Product-EM-background-accent: #FFF2F3;
  --Product-EM-primary-inverse-primary: #FFF;
  --Product-EM-primary-on-inverse-primary: #E60012;
  --Product-EM-primary-on-primary: #FFF;
  --Product-EM-primary-primary: #E60012;
  --Product-EM-primary-primary-high: #C50010;
  --Product-EM-primary-primary-higher: #8F000C;
  --Product-EM-primary-primary-low: #F74D5E;
  --Product-EM-primary-primary-lower: #FF8894;
  --Product-EM-secondary-inverse-secondary: #FFF;
  --Product-EM-secondary-on-inverse-secondary: #048281;
  --Product-EM-secondary-on-secondary: #FFF;
  --Product-EM-secondary-secondary: #048281;
  --Product-EM-secondary-secondary-high: #034F4B;
  --Product-EM-secondary-secondary-low: #06A29B;
  --Product-IDAM-background-accent: #EAF2FF;
  --Product-IDAM-background-primary: #F3F3F3;
  --Product-IDAM-primary-on-inverse-primary: #1A56C3;
  --Product-IDAM-primary-primary: #1A56C3;
  --Product-IDAM-secondary-on-inverse-secondary: #17448B;
  --Product-IDAM-secondary-secondary: #17448B;
  --Product-PFS-background-accent: #F0F6FB;
  --Product-PFS-primary-inverse-primary: #FFF;
  --Product-PFS-primary-on-inverse-primary: #113961;
  --Product-PFS-primary-on-primary: #FFF;
  --Product-PFS-primary-primary: #113961;
  --Product-PFS-primary-primary-low: #1F5FAF;
  --Product-PFS-primary-primary-lower: #4885D2;
  --Product-PFS-secondary-inverse-secondary: #FFF;
  --Product-PFS-secondary-on-inverse-secondary: #BE2121;
  --Product-PFS-secondary-on-secondary: #FFF;
  --Product-PFS-secondary-secondary: #BE2121;
  --Product-PFS-secondary-secondary-high: #8F0E0E;
  --Product-PFS-secondary-secondary-low: #DE3730;
  --Product-SCA-background-accent: #E5F5FA;
  --Product-SCA-primary-inverse-primary: #FFF;
  --Product-SCA-primary-on-inverse-primary: #008CC8;
  --Product-SCA-primary-on-primary: #FFF;
  --Product-SCA-primary-primary: #008CC8;
  --Product-SCA-primary-primary-high: #0070A0;
  --Product-SCA-primary-primary-higher: #00597F;
  --Product-SCA-primary-primary-low: #40BFEA;
  --Product-SCA-primary-primary-lower: #99DAEF;
  --Product-SCA-secondary-inverse-secondary: #FFF;
  --Product-SCA-secondary-on-inverse-secondary: #FF7900;
  --Product-SCA-secondary-on-secondary: #FFF;
  --Product-SCA-secondary-secondary: #FF7900;
  --Product-SCA-secondary-secondary-high: #CC5F00;
  --Product-SCA-secondary-secondary-low: #FF9740;
  --Local-Color-black: #1D1D1D;
}
:root {
  --blank-space-0px: 0;
  --blank-space-2px: calc(2 / var(--viewport) * 100vw);
  --blank-space-4px: calc(4 / var(--viewport) * 100vw);
  --blank-space-6px: calc(6 / var(--viewport) * 100vw);
  --blank-space-8px: calc(8 / var(--viewport) * 100vw);
  --blank-space-10px: calc(10 / var(--viewport) * 100vw);
  --blank-space-12px: calc(12 / var(--viewport) * 100vw);
  --blank-space-16px: calc(16 / var(--viewport) * 100vw);
  --blank-space-24px: calc(24 / var(--viewport) * 100vw);
  --blank-space-32px: calc(32 / var(--viewport) * 100vw);
  --blank-space-40px: calc(40 / var(--viewport) * 100vw);
  --blank-space-48px: calc(48 / var(--viewport) * 100vw);
  --blank-space-56px: calc(56 / var(--viewport) * 100vw);
  --blank-space-64px: calc(64 / var(--viewport) * 100vw);
  --blank-space-72px: calc(72 / var(--viewport) * 100vw);
  --blank-space-80px: calc(80 / var(--viewport) * 100vw);
  --blank-space-120px: calc(120 / var(--viewport) * 100vw);
  --blank-space-160px: calc(160 / var(--viewport) * 100vw);
  --blank-space-200px: calc(200 / var(--viewport) * 100vw);
}
@media (width >= 1100px ) {
  :root {
    --blank-space-0px: 0;
    --blank-space-2px: 2px;
    --blank-space-4px: 4px;
    --blank-space-6px: 6px;
    --blank-space-8px: 8px;
    --blank-space-10px: 10px;
    --blank-space-12px: 12px;
    --blank-space-16px: 16px;
    --blank-space-24px: 24px;
    --blank-space-32px: 32px;
    --blank-space-40px: 40px;
    --blank-space-48px: 48px;
    --blank-space-56px: 56px;
    --blank-space-64px: 64px;
    --blank-space-72px: 72px;
    --blank-space-80px: 80px;
    --blank-space-120px: 120px;
    --blank-space-160px: 160px;
    --blank-space-200px: 200px;
  }
}
:root {
  --easing: ease;
  --duration: 0.3s;
  --duration-fast: 800ms;
}
:root {
  --radius-full: 100vmax;
  --radius-xxlarge: calc(28 / var(--viewport) * 100vw);
  --radius-xlarge: calc(24 / var(--viewport) * 100vw);
  --radius-large: calc(16 / var(--viewport) * 100vw);
  --radius-medium: calc(12 / var(--viewport) * 100vw);
  --radius-small: calc(8 / var(--viewport) * 100vw);
  --radius-xsmall: calc(4 / var(--viewport) * 100vw);
  --radius-xxsmall: calc(2 / var(--viewport) * 100vw);
  --radius-none: 0;
}
@media (width >= 1100px ) {
  :root {
    --radius-xxlarge: 28px;
    --radius-xlarge: 24px;
    --radius-large: 16px;
    --radius-medium: 12px;
    --radius-small: 8px;
    --radius-xsmall: 4px;
    --radius-xxsmall: 2px;
  }
}
/* 02_base
================================================ */
html:not([class=is-no-smoothscroll]) {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header--height);
}
body {
  min-width: 320px;
  font-family: var(--font-family--Sans);
  font-size: var(--font-size--md);
  font-feature-settings: "halt";
  color: var(--Local-Color-black);
  -webkit-text-size-adjust: 100%;
}
@media (width >= 768px ) {
  body {
    min-width: auto;
  }
}
@media (width >= 768px ) and (hover: none) {
  body {
    -webkit-text-size-adjust: none;
  }
}
ins {
  text-decoration: none;
  background-color: #ff9;
}
mark {
  font-weight: bold;
  background-color: #ff9;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  cursor: help;
  border-bottom: 1px dotted;
}
sup {
  font-size: 0.75em;
  vertical-align: text-top;
}
sub {
  font-size: 0.75em;
  vertical-align: text-bottom;
}
hr {
  display: block;
  height: 1px;
  padding: 0;
  margin: 1em 0;
  border: 0;
  border-top: 1px solid;
}
table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
}
a {
  color: inherit;
}
@media (width < 768px) {
  a:hover {
    text-decoration: none;
  }
}
input[type=text],
input[type=email],
input[type=tel],
textarea,
button,
select,
option {
  display: block;
  width: 100%;
  max-width: 100%;
  font-family: inherit;
  background: none;
  border: 1px solid;
  border-radius: 0;
}
@media (width < 768px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  textarea,
  button,
  select,
  option {
    font-size: 1.6rem;
  }
}
summary {
  display: block;
  cursor: pointer;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}
.l-wrapper {
  position: relative;
  padding-bottom: env(safe-area-inset-bottom);
}
:root .c-btn01 {
  margin: 0;
  text-align: center;
}
:root .c-btn01__in {
  display: inline-flex;
  gap: var(--blank-space-4px);
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 270px;
  min-height: 60px;
  padding: var(--blank-space-8px) var(--blank-space-24px);
  font-size: var(--font-size--lg);
  font-weight: var(--font-weight--bold);
  color: var(--Product-CP-primary-on-primary);
  text-decoration: none;
  background: var(--Product-CP-primary-primary);
  border-radius: var(--radius-small);
}
:root .c-btn01__in::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  color: #fff;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  transition: all var(--duration) var(--easing);
  transform: rotate(90deg);
}
/* .c-cta-btn
================================================ */
:root .c-cta-btn {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--blank-space-4px);
  align-items: center;
  justify-content: center;
  min-height: 75px;
  padding: var(--blank-space-8px) var(--blank-space-32px);
  font-size: calc(21 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  color: var(--Product-CP-secondary-on-secondary);
  text-align: center;
  background: var(--Product-CP-secondary-secondary);
  border-radius: var(--radius-small);
}
:root .c-cta-btn::after {
  display: inline-block;
  width: 20px;
  height: 20px;
  color: currentColor;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  transition: all var(--duration) var(--easing);
}
:root .c-cta-btn.is-small {
  min-height: 65px;
  font-size: calc(19 / var(--viewport) * 100vw);
}
@media (width >= 768px ) {
  :root .c-cta-btn {
    grid-template-columns: 288px auto;
    min-height: 88px;
    font-size: 24px;
  }
}
.c-icon-card-list {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-12px);
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media (width >= 768px ) {
  .c-icon-card-list {
    flex-flow: row wrap;
    justify-content: center;
    gap: var(--blank-space-24px);
  }
}
.c-icon-card {
  height: 100%;
  padding: calc(5 / var(--viewport) * 100vw);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) -21.84%, rgba(143, 254, 227, 0.5) 273.1%);
  border-radius: var(--radius-xsmall);
  box-shadow: 2px 2px 10px 0 rgba(212, 230, 223, 0.8);
}
.c-icon-card__body {
  display: flex;
  flex-direction: column;
  gap: calc(20 / var(--viewport) * 100vw);
  align-items: center;
  height: 100%;
  padding: var(--blank-space-32px);
  background: var(--Common-background-primary);
  border-radius: var(--radius-xsmall);
  box-shadow: 0 2px 5px rgba(212, 230, 223, 0.5);
}
.c-icon-card__tag {
  display: flex;
  gap: var(--blank-space-8px);
  align-items: center;
  padding: calc(5 / var(--viewport) * 100vw) calc(15 / var(--viewport) * 100vw);
  font-size: var(--font-size--md);
  color: var(--Product-CP-primary-on-primary);
  background: var(--Product-CP-primary-primary);
  border-radius: var(--radius-full);
}
.c-icon-card__divider {
  width: 1px;
  height: calc(12 / var(--viewport) * 100vw);
  background: var(--Product-CP-primary-primary-high);
}
.c-icon-card__icon {
  display: block;
  width: 100px;
  height: 100px;
}
.c-icon-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-icon-card__line {
  display: block;
  width: 100%;
  border-top: 1px dashed var(--Common-border-primary);
}
.c-icon-card__text {
  margin: 0;
  font-size: calc(17 / var(--viewport) * 100vw);
  line-height: 1.6;
  text-align: center;
}
@media (width >= 768px ) {
  .c-icon-card {
    width: calc(50% - var(--blank-space-24px) / 2);
  }
  .c-icon-card__text {
    font-size: var(--font-size--lg);
  }
}
@media (width >= 1100px ) {
  .c-icon-card {
    width: calc((100% - var(--blank-space-24px) * 2) / 3);
    padding: 10px;
    border-radius: var(--radius-small);
  }
  .c-icon-card__body {
    gap: 24px;
    border-radius: var(--radius-small);
  }
  .c-icon-card__tag {
    padding: 5px 15px;
  }
  .c-icon-card__divider {
    height: 12px;
  }
}
.c-icon-card02 {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--blank-space-10px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 21.84%, rgba(143, 254, 227, 0.5) 273.1%);
  border-radius: var(--radius-small);
}
.c-icon-card02__body {
  position: relative;
  display: flex;
  flex: 1 0 auto;
  flex-direction: column;
  gap: var(--blank-space-16px);
  padding: var(--blank-space-40px) var(--blank-space-16px) var(--blank-space-40px) var(--blank-space-24px);
  background: var(--Product-CP-primary-on-primary);
  border-radius: var(--radius-small);
  box-shadow: 0 2px 5px rgba(212, 230, 223, 0.5);
}
.c-icon-card02__tag {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  gap: var(--blank-space-10px);
  align-items: center;
  justify-content: center;
  padding: 3px var(--blank-space-10px);
  background: var(--Product-CP-primary-primary);
  border-radius: var(--radius-small) 0 var(--radius-small) 0;
}
.c-icon-card02__num {
  font-size: var(--font-size--xl);
  line-height: 1.25;
  color: var(--Product-CP-primary-on-primary);
}
.c-icon-card02__divider {
  width: 1px;
  height: 20px;
  background: var(--Product-CP-primary-primary-high);
}
.c-icon-card02__label {
  font-size: var(--font-size--md);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Product-CP-primary-on-primary);
}
.c-icon-card02__head {
  display: flex;
  gap: var(--blank-space-16px);
  align-items: center;
}
.c-icon-card02__title {
  flex: 1 0 0;
  min-width: 0;
  margin: 0;
  font-size: var(--font-size--lg);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Product-CP-primary-primary-high);
}
.c-icon-card02__icon {
  display: block;
  flex-shrink: 0;
  width: 90px;
  height: 90px;
}
.c-icon-card02__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-icon-card02__line {
  display: block;
  width: 100%;
  border-top: 1px dashed var(--Common-border-primary);
}
.c-icon-card02__text {
  margin: 0;
  font-size: var(--font-size--sm);
  line-height: 1.6;
  color: var(--Common-label-primary);
}
.c-icon-card02__text strong {
  font-weight: var(--font-weight--bold);
}
@media (width >= 768px ) {
  .c-icon-card02__body {
    padding: var(--blank-space-48px) var(--blank-space-24px) var(--blank-space-32px);
  }
  .c-icon-card02__title {
    font-size: var(--font-size--xl);
  }
  .c-icon-card02__tag {
    padding: 6px 15px;
  }
}
/* .c-service-card01
================================================ */
.c-service-card01 {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: var(--blank-space-10px);
  background: var(--Common-background-primary);
  border-radius: var(--radius-small);
  box-shadow: 2px 2px 5px rgba(212, 230, 223, 0.8);
}
.c-service-card01__head {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--blank-space-24px) var(--blank-space-16px);
  background: linear-gradient(to left, var(--Product-CP-primary-primary), var(--Product-CP-primary-primary-high));
  border-radius: var(--radius-small) var(--radius-small) 0 0;
}
.c-service-card01__title {
  margin: 0;
  font-size: calc(18 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Common-background-primary);
  text-align: center;
}
.c-service-card01__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--blank-space-12px);
  align-items: center;
  padding: var(--blank-space-16px) calc(20 / var(--viewport) * 100vw);
  background: linear-gradient(to top, #f5fefc 32%, #cdfdf3 86%);
  border-radius: 0 0 var(--radius-small) var(--radius-small);
}
.c-service-card01__ico {
  width: 100px;
  height: 100px;
}
.c-service-card01__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-service-card01__line {
  display: block;
  width: 100%;
  border-top: 1px dashed var(--Common-border-primary);
}
.c-service-card01__detail {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-10px);
  width: 100%;
}
.c-service-card01__text {
  margin: 0;
  font-size: var(--font-size--md);
  line-height: 1.6;
  color: var(--Local-Color-black);
}
.c-service-card01__ref {
  font-size: 0.7em;
  vertical-align: super;
}
.c-service-card01__note {
  display: flex;
  gap: var(--blank-space-2px);
  margin: 0;
  font-size: var(--font-size--xs);
  line-height: 1.2;
  color: var(--Common-label-tertiary);
}
@media (width >= 768px ) {
  .c-service-card01__title {
    font-size: var(--font-size--xl);
  }
  .c-service-card01__body {
    gap: var(--blank-space-24px);
    padding: var(--blank-space-32px) var(--blank-space-40px);
  }
  .c-service-card01__ico {
    width: 120px;
    height: 120px;
  }
}
.c-stat-card-list {
  display: grid;
  gap: var(--blank-space-12px);
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}
@media (width >= 768px ) {
  .c-stat-card-list {
    gap: var(--blank-space-24px);
  }
}
@media (width >= 1100px ) {
  .c-stat-card-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-stat-card {
  height: 100%;
  padding: 0 4px 4px 0;
  background: rgba(255, 255, 255, 0.8);
  border-radius: var(--radius-small);
}
.c-stat-card__inner {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-12px);
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: calc(20 / var(--viewport) * 100vw) var(--blank-space-12px);
  background: linear-gradient(to top, #cff6eb 6%, var(--Product-CP-background-accent));
  border-radius: var(--radius-small);
}
.c-stat-card__label {
  margin: 0;
  font-size: calc(17 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.6;
  color: var(--Product-CP-primary-primary);
  text-align: center;
}
.c-stat-card__value {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  margin: 0;
}
.c-stat-card__prefix {
  width: 100%;
  font-size: var(--font-size--xl);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  text-align: center;
  color: var(--Product-CP-primary-primary);
  white-space: nowrap;
}
.c-stat-card__num {
  margin-top: calc(-5 / var(--viewport) * 100vw);
  margin-right: calc(5 / var(--viewport) * 100vw);
  font-size: calc(64 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--regular);
  line-height: 1.25;
  white-space: nowrap;
  background: linear-gradient(to left, var(--Product-CP-primary-primary), var(--Product-CP-primary-primary-high));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.c-stat-card__unit {
  margin-top: calc(-5 / var(--viewport) * 100vw);
  font-size: var(--font-size--2xl);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  white-space: nowrap;
  background: linear-gradient(to left, var(--Product-CP-primary-primary), var(--Product-CP-primary-primary-high));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (width >= 768px ) {
  .c-stat-card {
    width: 100%;
  }
  .c-stat-card__inner {
    gap: 20px;
    padding: var(--blank-space-32px) var(--blank-space-16px);
  }
  .c-stat-card__label {
    font-size: var(--font-size--lg);
  }
  .c-stat-card__value {
    flex-wrap: nowrap;
    gap: 3px;
  }
  .c-stat-card__prefix {
    font-size: var(--font-size--lg);
  }
  .c-stat-card__num {
    margin-right: 3px;
    font-size: 56px;
  }
  .c-stat-card__unit {
    font-size: 26px;
  }
}
@media (width >= 1100px ) {
  .c-stat-card__label {
    display: grid;
    align-content: center;
    min-height: 3.2em;
  }
  .c-stat-card__prefix {
    width: auto;
  }
}
.c-support-card01 {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-24px);
  height: 100%;
  padding: calc(20 / var(--viewport) * 100vw);
  background: linear-gradient(to bottom, var(--Product-CP-background-accent), #f3fcfa);
}
.c-support-card01__icon {
  width: calc(60 / var(--viewport) * 100vw);
  height: calc(60 / var(--viewport) * 100vw);
}
.c-support-card01__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.c-support-card01__body {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
  width: 100%;
}
.c-support-card01__title {
  margin: 0;
  font-size: var(--font-size--lg);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Product-CP-primary-primary-high);
}
.c-support-card01__detail {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
}
.c-support-card01__divider {
  width: 100%;
  height: 1px;
  border-top: 1px dashed var(--Common-border-primary);
}
.c-support-card01__text {
  margin: 0;
  font-size: var(--font-size--sm);
  line-height: 1.6;
  color: var(--Common-label-primary);
}
.c-support-card01--emergency .c-support-card01__title {
  line-height: 1.5;
  color: var(--Product-CP-primary-on-inverse-primary);
}
@media (width >= 768px ) {
  .c-support-card01 {
    padding: var(--blank-space-24px) var(--blank-space-32px);
  }
  .c-support-card01__icon {
    width: 70px;
    height: 70px;
  }
  .c-support-card01__title {
    min-height: 2.6em;
    font-size: var(--font-size--xl);
  }
}
.c-cv01 {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: var(--blank-space-64px);
  overflow: hidden;
  background: linear-gradient(to bottom, #9cd9cb, #d3f6ee 25%, var(--Common-background-primary) 90%);
}
.c-cv01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  aspect-ratio: 393/387;
  background: url(../img/common/bg_cv01_sp.svg) no-repeat center bottom/cover;
}
.c-cv01__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: calc(10 / var(--viewport) * 100vw);
  width: min(1000px, 100% - var(--contents--padding--side) * 2);
  padding: calc(24 / var(--viewport) * 100vw) calc(18 / var(--viewport) * 100vw);
  background: var(--Common-background-primary);
  border-radius: var(--radius-medium);
  box-shadow: 0 4px 15px #d4e6df;
}
.c-cv01__doc {
  flex-shrink: 0;
  width: 100%;
}
.c-cv01__doc-img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.c-cv01__body {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
  width: 100%;
}
.c-cv01__head {
  display: flex;
  flex-direction: column;
  gap: calc(5 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  color: var(--Common-label-primary);
}
.c-cv01__lead {
  margin: 0;
  font-size: calc(21 / var(--viewport) * 100vw);
  line-height: 1.3;
}
.c-cv01__title {
  margin: 0;
  font-size: calc(26 / var(--viewport) * 100vw);
  line-height: 1.25;
}
.c-cv01__feature {
  display: flex;
  gap: var(--blank-space-16px);
  padding: var(--blank-space-16px);
  border: 1px solid var(--Common-border-primary);
  border-radius: var(--radius-small);
}
.c-cv01__feature-label {
  display: grid;
  align-content: center;
  flex-shrink: 0;
  padding-right: var(--blank-space-16px);
  font-size: var(--font-size--md);
  font-weight: var(--font-weight--bold);
  line-height: 1.6;
  color: var(--Common-label-primary);
  border-right: 1px dashed var(--Common-border-primary);
}
.c-cv01__cta {
  margin: 0;
}
.c-cv01__cta-link {
  display: flex;
  gap: var(--blank-space-4px);
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding-inline: var(--blank-space-24px);
  font-size: var(--font-size--lg);
  font-weight: var(--font-weight--bold);
  color: var(--Product-CP-secondary-on-secondary);
  text-decoration: none;
  background: var(--Product-CP-secondary-secondary);
  border-radius: var(--radius-small);
}
.c-cv01__cta-link::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  color: #fff;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  transition: all var(--duration) var(--easing);
}
@media (hover: hover) and (pointer: fine) {
  .c-cv01__cta-link {
    transition: opacity 0.3s ease;
  }
  .c-cv01__cta-link:hover {
    opacity: 0.8;
  }
}
.c-cv01__person {
  position: absolute;
  z-index: 3;
  bottom: 0;
  left: -50px;
  width: 122px;
  height: auto;
}
@media (width >= 768px ) {
  .c-cv01 {
    padding-block: var(--blank-space-80px);
  }
  .c-cv01__inner {
    align-items: center;
    padding: var(--blank-space-48px) var(--blank-space-56px);
  }
  .c-cv01__doc {
    max-width: 410px;
  }
  .c-cv01__body {
    gap: var(--blank-space-32px);
  }
  .c-cv01__lead {
    font-size: var(--font-size--2xl);
  }
  .c-cv01__title {
    font-size: var(--font-size--4xl);
  }
  .c-cv01__feature {
    gap: var(--blank-space-24px);
    padding: var(--blank-space-16px) var(--blank-space-24px);
  }
  .c-cv01__feature-label {
    padding-right: var(--blank-space-24px);
  }
  .c-cv01__cta-link {
    min-height: 88px;
    font-size: var(--font-size--2xl);
  }
  .c-cv01__person {
    bottom: -94px;
    left: -130px;
    width: 251px;
  }
}
@media (width >= 1100px ) {
  .c-cv01::after {
    top: 0;
    aspect-ratio: auto;
    background: url(../img/home/bg_cv01_pc.png) no-repeat top center/cover;
  }
  .c-cv01__inner {
    flex-direction: row;
    align-items: center;
    gap: var(--blank-space-40px);
  }
  .c-cv01__body {
    flex: 1 0 0;
    min-width: 0;
  }
  .c-cv01__doc-img {
    margin-top: 20px;
  }
  .c-cv01__person {
    left: 0;
    bottom: 0;
  }
}
/* .c-icon-head
================================================== */
:root .c-icon-head {
  display: grid;
  row-gap: calc(14 / var(--viewport) * 100vw);
}
:root .c-icon-head__sub {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: calc(5 / var(--viewport) * 100vw);
  font-size: calc(17 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  color: var(--Product-CP-primary-primary);
}
:root .c-icon-head__sub-ico {
  display: grid;
  place-content: center;
}
:root .c-icon-head__sub-ico::before {
  content: "";
  width: 18px;
  height: 14px;
  background: url(../img/common/ico_logo01.svg) no-repeat center/contain;
}
:root .c-icon-head__main {
  text-align: center;
  font-size: calc(26 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.25;
}
:root .c-icon-head__main-logo {
  width: calc(101 / var(--viewport) * 100vw);
  margin-right: calc(2 / var(--viewport) * 100vw);
  margin-bottom: calc(8 / var(--viewport) * 100vw);
}
@media (width >= 768px ) {
  :root .c-icon-head {
    row-gap: var(--blank-space-24px);
  }
  :root .c-icon-head__sub {
    font-size: var(--font-size--lg);
  }
  :root .c-icon-head__main {
    font-size: var(--font-size--4xl);
  }
  :root .c-icon-head__main-logo {
    width: calc(150 / var(--viewport) * 100vw);
    max-width: 150px;
    margin-top: calc(5 / var(--viewport) * 100vw);
    margin-bottom: 0;
  }
}
/* .c-icon-head
================================================ */
:root .c-icon-head.is-white .c-icon-head__sub,
:root .c-icon-head.is-white .c-icon-head__main {
  color: var(--Common-background-primary);
}
/* .c-mark-head
================================================== */
.c-mark-head {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: var(--blank-space-6px);
  font-size: calc(22 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
}
.c-mark-head::before {
  content: "";
  position: relative;
  top: 7px;
  width: 18px;
  height: 14px;
  background: url(../img/common/ico_logo01.svg) no-repeat center/contain;
}
@media (width >= 768px ) {
  .c-mark-head {
    gap: var(--blank-space-12px);
    font-size: var(--font-size--3xl);
  }
  .c-mark-head::before {
    top: 14px;
    width: 20px;
    height: 16px;
  }
}
/* .c-ico
================================================== */
.c-ico {
  display: grid;
  place-content: center;
}
.c-ico svg {
  transition: all var(--duration) var(--easing);
}
/* .c-ico-check
================================================ */
.c-ico-check {
  display: grid;
  place-content: center;
  width: inherit;
  aspect-ratio: 1;
  background: linear-gradient(270deg, #009370 0%, #126F5B 100%);
  border-radius: 50%;
}
.c-ico-check::after {
  display: inline-block;
  width: 10px;
  height: 8px;
  color: var(--Common-primary-inverse-primary);
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2010%208%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M2.88%207.27a.77.77%200%200%201-.54-.22L.22%204.95a.75.75%200%200%201%200-1.06.77.77%200%200%201%201.09%200l1.57%201.55L8.15.22a.77.77%200%200%201%201.08%200%20.75.75%200%200%201%200%201.07L3.42%207.05a.77.77%200%200%201-.54.22Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%228%22%20fill%3D%22none%22%20viewBox%3D%220%200%2010%208%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M2.88%207.27a.77.77%200%200%201-.54-.22L.22%204.95a.75.75%200%200%201%200-1.06.77.77%200%200%201%201.09%200l1.57%201.55L8.15.22a.77.77%200%200%201%201.08%200%20.75.75%200%200%201%200%201.07L3.42%207.05a.77.77%200%200%201-.54.22Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  transition: all var(--duration) var(--easing);
}
/* .c-ico.is-arw01
================================================== */
.c-ico.is-arw01::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  color: currentColor;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  transition: all var(--duration) var(--easing);
}
/* .c-ico.is-arw02
================================================== */
.c-ico.is-arw02 {
  margin-left: 5px;
  color: green;
}
/* .c-ico.is-arw03
================================================== */
.c-ico.is-arw03 {
  margin-left: 5px;
}
.c-ico.is-arw03::after {
  background: linear-gradient(to right, rgb(34, 193, 195) 0%, rgb(253, 187, 45) 100%);
}
/* .c-ico.is-blank01
================================================== */
.c-ico.is-blank01 {
  margin-left: 5px;
  color: red;
}
/* .c-ico.is-blank02
================================================== */
.c-ico.is-blank02 {
  margin-left: 5px;
  color: green;
}
/* .c-ico.is-blank03
================================================== */
.c-ico.is-blank03 {
  margin-left: 5px;
}
.c-ico.is-blank03::after {
  background: linear-gradient(to right, rgb(34, 193, 195) 0%, rgb(253, 187, 45) 100%);
}
/* .c-ico.is-mail01
================================================== */
.c-ico.is-mail01 {
  margin-right: 5px;
  color: skyblue;
}
/* .c-ico.is-map01
================================================== */
.c-ico.is-map01 {
  margin-right: 5px;
  color: violet;
}
/* .c-ico.is-search01
================================================== */
.c-ico.is-search01 {
  margin-right: 5px;
  color: red;
}
/* .c-ico.is-tel01
================================================== */
.c-ico.is-tel01 {
  margin-right: 5px;
  color: pink;
}
.c-disc-list01 {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-2px);
  padding: 0;
  margin: 0;
  list-style: none;
}
.c-disc-list01__item {
  display: flex;
  gap: var(--blank-space-8px);
  align-items: flex-start;
}
.c-disc-list01__icon {
  flex-shrink: 0;
  width: 16px;
  margin-top: 4px;
}
.c-disc-list01__text {
  margin: 0;
  font-size: var(--font-size--sm);
  line-height: 1.6;
  color: var(--Common-label-primary);
}
.c-disc-list01__text strong {
  font-weight: var(--font-weight--bold);
}
.c-disc-list01--lg .c-disc-list01__icon {
  width: 20px;
  height: 20px;
}
.c-disc-list01--lg .c-disc-list01__text {
  font-size: var(--font-size--md);
}
/* .c-step-list01（ステップ一覧／Splide併用時はスライダー表示）
	配置・外側の余白はページ固有スタイル側で指定する
================================================ */
.c-step-list01__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-24px);
}
.c-step-list01__item:not(:first-child)::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--blank-space-40px) / 2 * -1);
  content: "";
  border-left: 1px dashed var(--Common-border-primary);
}
.c-step-list01__tag {
  display: inline-flex;
  gap: var(--blank-space-8px);
  align-items: center;
  align-self: flex-start;
  height: 30px;
  padding: calc(5 / var(--viewport) * 100vw) calc(15 / var(--viewport) * 100vw);
  font-size: var(--font-size--md);
  font-weight: var(--font-weight--semibold);
  line-height: 1.25;
  color: var(--Product-CP-primary-primary);
  background: #bfe7d8;
  border-radius: var(--radius-full);
}
.c-step-list01__tag-sep {
  width: 1px;
  height: calc(12 / var(--viewport) * 100vw);
  background: #80c9ac;
}
.c-step-list01__head {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
}
.c-step-list01__ico {
  width: calc(60 / var(--viewport) * 100vw);
  height: calc(60 / var(--viewport) * 100vw);
}
.c-step-list01__ico img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.c-step-list01__title {
  margin: 0;
  font-size: var(--font-size--lg);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Local-Color-black);
}
.c-step-list01__text {
  margin: 0;
  font-size: var(--font-size--sm);
  line-height: 1.6;
  color: var(--Local-Color-black);
}
.c-step-list01__detail {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-10px);
  width: 100%;
}
.c-step-list01__ref {
  font-size: 0.7em;
  vertical-align: super;
}
.c-step-list01__note {
  display: flex;
  gap: var(--blank-space-2px);
  margin: 0;
  font-size: var(--font-size--xs);
  line-height: 1.2;
}
.c-step-list01__controller {
  display: flex;
  gap: var(--blank-space-16px);
  align-items: center;
  margin-top: calc(20 / var(--viewport) * 100vw);
}
.c-step-list01__pager {
  display: inline-flex;
  gap: var(--blank-space-4px);
  align-items: baseline;
  font-weight: var(--font-weight--semibold);
}
.c-step-list01__pager.is-disabled {
  display: none;
}
.c-step-list01__pager-current {
  font-size: var(--font-size--lg);
  color: var(--Local-Color-black);
}
.c-step-list01__pager-sep {
  font-size: var(--font-size--xs);
  color: var(--Common-border-primary);
}
.c-step-list01__pager-total {
  font-size: var(--font-size--sm);
  color: var(--Local-Color-black);
}
.c-step-list01 .splide__arrows {
  display: flex;
  gap: var(--blank-space-10px);
}
.c-step-list01 .splide__arrow {
  position: static;
  display: grid;
  place-content: center;
  width: calc(44 / var(--viewport) * 100vw);
  height: calc(44 / var(--viewport) * 100vw);
  color: var(--Product-CP-primary-primary);
  background: var(--Common-background-primary);
  border: 2px solid var(--Product-CP-primary-primary);
  border-radius: var(--radius-small);
  opacity: 1;
  transform: none;
}
.c-step-list01 .splide__arrow svg {
  display: none;
}
.c-step-list01 .splide__arrow:disabled {
  cursor: default;
  opacity: 0.3;
}
.c-step-list01 .splide__arrow--prev .c-ico {
  transform: scaleX(-1);
}
.c-step-list01--on-dark .c-step-list01__item:not(:first-child)::before {
  border-left-color: rgba(255, 255, 255, 0.3);
}
.c-step-list01--on-dark .c-step-list01__title,
.c-step-list01--on-dark .c-step-list01__text,
.c-step-list01--on-dark .c-step-list01__pager-current,
.c-step-list01--on-dark .c-step-list01__pager-total {
  color: var(--Product-CP-primary-on-primary);
}
.c-step-list01--on-dark .c-step-list01__note {
  color: var(--Common-background-secondary);
}
.c-step-list01--on-dark .splide__arrow {
  border-color: var(--Common-background-primary);
}
@media (width >= 1100px ) {
  .c-step-list01--on-dark .c-step-list01__head {
    min-height: 130px;
  }
}
.c-step-list01.is-static {
  visibility: visible;
}
.c-step-list01.is-static .splide__track {
  padding-right: 0 !important;
  overflow: visible;
}
.c-step-list01.is-static .c-step-list01__item {
  flex: 1 1 0;
  min-width: 0;
}
.c-step-list01.is-static .c-step-list01__controller {
  display: none;
}
.c-step-list01.is-static.splide .splide__track > .splide__list {
  display: flex;
  gap: var(--blank-space-80px);
}
@media (width >= 768px ) {
  .c-step-list01__item:not(:first-child)::before {
    left: calc(var(--blank-space-40px) * -1);
  }
  .c-step-list01__tag {
    padding: 5px 15px;
  }
  .c-step-list01__tag-sep {
    height: 12px;
  }
  .c-step-list01__ico {
    width: 70px;
    height: 70px;
  }
  .c-step-list01__title {
    font-size: var(--font-size--xl);
  }
  .c-step-list01__controller {
    gap: var(--blank-space-32px);
    margin-top: var(--blank-space-40px);
  }
  .c-step-list01 .splide__track {
    padding-right: var(--blank-space-64px) !important;
  }
  .c-step-list01 .splide__arrow {
    width: 60px;
    height: 60px;
  }
}
/* .c-logo-marquee01
================================================ */
.c-logo-marquee01 {
  --bg: #c4ede0;
  width: 100%;
  overflow: hidden;
  -webkit-user-select: none;
  user-select: none;
}
.c-logo-marquee01.is-bg-dark {
  --bg: #c1efe5;
  opacity: 0.1;
}
.c-logo-marquee01__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: c-logo-marquee01-scroll 40s linear infinite;
}
.c-logo-marquee01__item {
  display: inline-flex;
  gap: calc(24 / var(--viewport) * 100vw);
  align-items: center;
  width: calc(744 / var(--viewport) * 100vw);
  padding-right: calc(24 / var(--viewport) * 100vw);
  color: var(--bg);
  white-space: nowrap;
}
.c-logo-marquee01__item svg {
  display: block;
  width: auto;
}
@media (width >= 768px ) {
  .c-logo-marquee01__item {
    gap: 32px;
    width: 1469px;
    padding-right: 32px;
  }
}
@keyframes c-logo-marquee01-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  :root #header {
    top: 0;
  }
}
/* .l-header
================================================ */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  min-width: 320px;
  background: var(--Common-background-primary);
  box-shadow: 0 2px 4px -2px rgba(8, 28, 84, 0.06), 0 4px 8px -2px rgba(8, 28, 84, 0.08);
}
.l-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header--height);
  padding: 0 var(--contents--padding--side);
}
@media (width >= 768px ) {
  .l-header__inner {
    padding: 0 24px;
  }
}
/* .l-header-logo
================================================== */
.l-header-logo {
  width: calc(133 / var(--viewport) * 100vw);
}
.l-header-logo__link {
  display: block;
}
@media (width >= 768px ) {
  .l-header-logo {
    width: 178px;
  }
}
/* .l-header-cta
================================================== */
@media (width >= 768px ) {
  :root .l-header-cta__btn {
    display: inline-flex;
    gap: var(--blank-space-4px);
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: var(--blank-space-8px) var(--blank-space-24px);
    font-weight: var(--font-weight--bold);
    line-height: 1.6;
    color: var(--Product-CP-secondary-on-secondary);
    background: var(--Product-CP-secondary-secondary);
    border-radius: var(--radius-small);
  }
  :root .l-header-cta__btn::after {
    display: inline-block;
    width: 16px;
    height: 16px;
    color: currentColor;
    content: "";
    background-color: currentcolor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
    transition: all var(--duration) var(--easing);
  }
}
/* .l-main-img HOME
================================================ */
:root .l-main-img {
  position: relative;
  padding-block: calc(var(--header--height) + 15.2671755725vw) calc(60 / var(--viewport) * 100vw);
  overflow: hidden;
  background: linear-gradient(0deg, #d8f7f0 28.18%, #ebfbf7 41.9%, #fff 73.91%);
}
:root .l-main-img::after {
  position: absolute;
  top: var(--header--height);
  left: 0;
  display: block;
  width: 100%;
  aspect-ratio: 393/428;
  content: "";
  background: linear-gradient(40deg, rgba(255, 255, 255, 0) 23.7%, #d8f7f0 80.22%);
}
:root .l-main-img__inner {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
  margin-inline: auto;
  padding-inline: 3.8167938931vw;
}
:root .l-main-img__head-group {
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
  align-items: flex-start;
  padding-inline: 2.2900763359vw;
}
:root .l-main-img__line {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
}
:root .l-main-img__line::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--Common-border-primary);
  opacity: 0;
  transition: opacity var(--duration-fast) var(--easing);
}
:root .l-main-img__line::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to left, var(--Product-CP-primary-primary-lower), var(--Product-CP-primary-primary-high));
  scale: 0 1;
  transition: scale var(--duration-fast) var(--easing) 200ms;
}
:root .l-main-img__lead {
  font-size: var(--font-size--md);
  line-height: 1.5;
  color: var(--Local-Color-black);
  letter-spacing: 0.05em;
}
:root .l-main-img__visual {
  position: relative;
  width: 100%;
}
:root .l-main-img__visual::before {
  position: absolute;
  content: "";
  right: -19vw;
  top: calc(40 / var(--viewport) * 100vw);
  min-width: 597px;
  width: 152vw;
  aspect-ratio: 597/212;
  background: url("../img/home/bg_gradient01_sp.png") no-repeat left top/cover;
}
:root .l-main-img__illust {
  position: relative;
  z-index: 2;
  display: block;
  width: 88%;
  height: auto;
  margin-left: auto;
}
:root .l-main-img__cta {
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-10px);
  width: 100%;
  padding: var(--blank-space-8px);
  background: linear-gradient(to bottom, rgba(230, 246, 240, 0.2), rgba(143, 254, 227, 0.2));
  border-radius: var(--radius-large);
  box-shadow: 0 4px 30px #d4e6df;
  backdrop-filter: blur(7.5px);
}
:root .l-main-img__btn {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: var(--blank-space-4px);
  align-items: center;
  justify-content: center;
  min-height: 60px;
  padding: var(--blank-space-8px) var(--blank-space-24px);
  font-size: calc(17 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  text-align: center;
  border-radius: var(--radius-small);
}
:root .l-main-img__btn::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  color: currentColor;
  content: "";
  background-color: currentcolor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M6.29%202.5a1.2%201.2%200%200%201%201.53.14L12.73%208l-4.91%205.36a1.2%201.2%200%200%201-1.54.15.88.88%200%200%201-.17-1.34L9.93%208%206.11%203.83c-.37-.4-.3-1%20.17-1.34Z%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  transition: all var(--duration) var(--easing);
}
:root .l-main-img__btn.is-form {
  color: var(--Product-CP-primary-primary);
  background: var(--Local-Color-white, #fff);
  border: 2px solid var(--Product-CP-primary-primary);
}
:root .l-main-img__btn.is-emergency {
  color: var(--Product-CP-primary-on-primary);
  background: var(--Product-CP-primary-primary);
}
:root .l-main-img__btn-row {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-10px);
}
:root .l-main-img__deco {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--duration) var(--easing) 1000ms;
}
:root .l-main-img__deco.is-01 {
  top: calc(276 / var(--viewport) * 100vw);
  left: 16px;
  width: 52px;
  height: auto;
}
:root .l-main-img__deco.is-02 {
  right: 40px;
  bottom: calc(-18 / var(--viewport) * 100vw);
  width: 110px;
  height: auto;
}
:root .l-main-img.is-animated .l-main-img__deco {
  opacity: 1;
}
:root .l-main-img.is-animated .l-main-img__line::before {
  opacity: 1;
}
:root .l-main-img.is-animated .l-main-img__line::after {
  scale: 1 1;
  transform-origin: left top;
}
@media (width >= 768px ) {
  :root .l-main-img {
    padding-block: calc(var(--header--height) + 90 / var(--viewport) * 100vw) calc(90 / var(--viewport) * 100vw);
    background: linear-gradient(0deg, #d8f7f0 -1.63%, #fff 56.14%);
  }
  :root .l-main-img::after {
    content: none;
  }
  :root .l-main-img__inner {
    gap: var(--blank-space-32px);
    align-items: center;
    padding-inline: 25px;
  }
  :root .l-main-img__head-group {
    gap: var(--blank-space-24px);
    width: 100%;
    padding-inline: 25px;
  }
  :root .l-main-img__title {
    width: 84%;
  }
  :root .l-main-img__title img {
    width: 100%;
  }
  :root .l-main-img__visual {
    padding-inline: 25px;
  }
  :root .l-main-img__illust {
    width: 100%;
    margin-inline: auto;
  }
  :root .l-main-img__cta {
    width: 100%;
    max-width: 718px;
    padding: var(--blank-space-16px);
  }
  :root .l-main-img__btn-row {
    flex-direction: row;
  }
  :root .l-main-img__btn.is-form, :root .l-main-img__btn.is-emergency {
    flex: 1 0 0;
    min-width: 0;
    font-size: 18px;
  }
  :root .l-main-img__deco.is-01 {
    top: calc(475 / var(--viewport) * 100vw);
    left: calc(40 / var(--viewport) * 100vw);
    width: 82px;
  }
  :root .l-main-img__deco.is-02 {
    right: calc(108 / var(--viewport) * 100vw);
    bottom: calc(-57 / var(--viewport) * 100vw);
    width: 120px;
  }
}
@media (width >= 1100px ) {
  :root .l-main-img {
    padding: var(--header--height) 0 0;
    background: linear-gradient(264deg, #d8f7f0 68.7%, #fff 111.07%);
  }
  :root .l-main-img::after {
    top: var(--header--height);
    bottom: 0;
    width: 59%;
    aspect-ratio: auto;
    content: "";
    background: linear-gradient(46deg, rgba(255, 255, 255, 0) -7.63%, #d8f7f0 81.1%);
  }
  :root .l-main-img__inner {
    display: grid;
    grid-template-areas: "head visual" "cta visual";
    grid-template-columns: 1fr minmax(0, 668px);
    gap: 48px 21px;
    align-content: center;
    max-height: 760px;
    aspect-ratio: 144/76;
    padding-inline: 25px 13px;
  }
  :root .l-main-img__inner::after {
    position: absolute;
    left: 0;
    bottom: -2px;
    left: auto;
    z-index: 1;
    width: 1852px;
    aspect-ratio: 1852/492;
    content: "";
    background: url("../img/home/bg_gradient01_pc.png") no-repeat left top/contain;
  }
  :root .l-main-img__head-group {
    grid-area: head;
    align-self: end;
    max-width: 580px;
    padding-inline: 0;
    margin-left: auto;
  }
  :root .l-main-img__title {
    width: 100%;
  }
  :root .l-main-img__visual {
    grid-area: visual;
    align-self: center;
    padding-inline: 0;
  }
  :root .l-main-img__visual::before {
    content: none;
  }
  :root .l-main-img__illust {
    max-width: 668px;
    margin-inline: 0;
  }
  :root .l-main-img__cta {
    grid-area: cta;
    align-self: start;
    max-width: 580px;
    margin-left: auto;
  }
  :root .l-main-img__deco.is-01 {
    top: 147px;
    left: 34px;
  }
  :root .l-main-img__deco.is-02 {
    right: 682px;
    bottom: 43px;
    z-index: 3;
  }
}
.js-c-anime-elem[data-anime=fadein-up] {
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.6s ease-out, opacity 0.6s ease-out;
}
.js-c-anime-elem[data-anime=fadein-up].is-animated {
  opacity: 1;
  transform: translateY(0);
}
.js-c-anime-elem[data-anime-delay="0.1"] {
  transition-delay: 0.1s;
}
.js-c-anime-elem[data-anime-delay="0.2"] {
  transition-delay: 0.2s;
}
.js-c-anime-elem[data-anime-delay="0.3"] {
  transition-delay: 0.3s;
}
.js-c-anime-elem[data-anime-delay="0.4"] {
  transition-delay: 0.4s;
}
.js-c-anime-elem[data-anime-delay="0.5"] {
  transition-delay: 0.5s;
}
.js-c-anime-elem[data-anime-delay="0.6"] {
  transition-delay: 0.6s;
}
.js-c-anime-elem[data-anime-delay="0.7"] {
  transition-delay: 0.7s;
}
.js-c-anime-elem[data-anime-delay="0.8"] {
  transition-delay: 0.8s;
}
.js-c-anime-elem[data-anime-delay="0.9"] {
  transition-delay: 0.9s;
}
.js-c-anime-elem[data-anime-delay="1"] {
  transition-delay: 1s;
}
.js-c-anime-elem[data-anime-delay="1.1"] {
  transition-delay: 1.1s;
}
.js-c-anime-elem[data-anime-delay="1.2"] {
  transition-delay: 1.2s;
}
.js-c-anime-elem[data-anime-delay="1.3"] {
  transition-delay: 1.3s;
}
.js-c-anime-elem[data-anime-delay="1.4"] {
  transition-delay: 1.4s;
}
.js-c-anime-elem[data-anime-delay="1.5"] {
  transition-delay: 1.5s;
}
.js-c-anime-elem[data-anime-delay="1.6"] {
  transition-delay: 1.6s;
}
.js-c-anime-elem[data-anime-delay="1.7"] {
  transition-delay: 1.7s;
}
.js-c-anime-elem[data-anime-delay="1.8"] {
  transition-delay: 1.8s;
}
.js-c-anime-elem[data-anime-delay="1.9"] {
  transition-delay: 1.9s;
}
.js-c-anime-elem[data-anime-delay="2"] {
  transition-delay: 2s;
}
.js-c-switch-tab {
  cursor: pointer;
}
.js-c-switch-content {
  display: none;
}
.js-c-switch-content.is-active {
  display: block;
}
.js-c-toggle-trigger {
  cursor: pointer;
}
.js-c-toggle-content {
  display: none;
}
/* .home-intro
================================================ */
.home-intro {
  padding-block: var(--blank-space-64px);
  background: linear-gradient(to bottom, #fff, var(--Product-CP-background-accent)) no-repeat center bottom/100% 200px;
}
.home-intro__inner {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-32px);
  align-items: center;
}
.home-intro__title {
  margin: 0;
  font-size: calc(26 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.03em;
}
@media (width >= 768px ) {
  .home-intro {
    padding-block: var(--blank-space-120px);
    background-size: 100% 310px;
  }
  .home-intro__title {
    font-size: var(--font-size--4xl);
  }
}
@media (width >= 1100px ) {
  .home-intro__inner {
    gap: 64px;
  }
}
/* .home-bg
================================================ */
.home-bg {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-32px);
  padding-block: var(--blank-space-64px) var(--blank-space-32px);
  overflow: hidden;
  background: linear-gradient(to top, var(--Product-CP-primary-primary) 35%, #0d5f4e);
}
.home-bg::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 300px;
  pointer-events: none;
  content: "";
  background: linear-gradient(to bottom, rgba(230, 248, 244, 0), var(--Product-CP-background-accent));
}
@media (width >= 768px ) {
  .home-bg {
    gap: var(--blank-space-64px);
    padding-block: var(--blank-space-120px) var(--blank-space-32px);
  }
  .home-bg::before {
    top: 60px;
    width: 1240px;
    height: 640px;
    background-size: 1240px auto;
  }
  .home-bg::after {
    height: 500px;
  }
}
/* .home-impact
================================================ */
.home-impact {
  position: relative;
  z-index: 1;
  width: 100%;
}
.home-impact::before {
  position: absolute;
  bottom: calc(-79 / var(--viewport) * 100vw);
  left: 50%;
  z-index: 0;
  width: calc(346 / var(--viewport) * 100vw);
  aspect-ratio: 173/96;
  pointer-events: none;
  content: "";
  background: url("../img/home/img_impact_circle01.svg") no-repeat center top/100% auto;
  transform: translateX(-50%);
}
.home-impact__inner {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-32px);
  align-items: center;
}
.home-impact__title {
  margin: 0;
  font-size: calc(26 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.25;
  color: var(--Common-label-on-dark-primary);
  text-align: center;
  letter-spacing: 0.03em;
}
.home-impact__stats {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
  width: 100%;
}
.home-impact__note {
  margin: 0;
  font-size: var(--font-size--sm);
  line-height: 1.2;
  color: var(--Common-label-on-dark-primary);
}
.home-impact__lead {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
  align-items: center;
}
.home-impact__lead-text {
  margin: 0;
  font-size: calc(22 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Common-label-on-dark-primary);
  text-align: center;
}
.home-impact__arrow {
  width: 57px;
  height: auto;
}
@media (width >= 768px ) {
  .home-impact::before {
    top: 91px;
    width: 1240px;
  }
  .home-impact__inner {
    gap: var(--blank-space-64px);
  }
  .home-impact__title {
    font-size: var(--font-size--4xl);
  }
  .home-impact__lead {
    gap: var(--blank-space-32px);
  }
  .home-impact__lead-text {
    font-size: var(--font-size--3xl);
  }
  .home-impact__note {
    text-align: right;
  }
  .home-impact__arrow {
    width: 70px;
  }
}
/* .home-service
================================================ */
.home-service {
  position: relative;
  z-index: 1;
  width: min(1380px, 100% - 30px);
  padding-block: calc(60 / var(--viewport) * 100vw) var(--blank-space-80px);
  margin-inline: auto;
  background: linear-gradient(to bottom, rgba(50, 210, 172, 0.3), rgba(50, 210, 172, 0) 55%), var(--Common-background-primary);
  border-radius: var(--radius-xsmall);
}
.home-service::before {
  position: absolute;
  top: 48px;
  left: -20px;
  z-index: 0;
  width: 80px;
  aspect-ratio: 80/37.25;
  pointer-events: none;
  content: "";
  background: url("../img/home/img_service_deco01.svg") no-repeat center/contain;
  scale: -1 1;
}
.home-service::after {
  position: absolute;
  top: 179px;
  right: -70px;
  z-index: 0;
  width: 140px;
  aspect-ratio: 28/13;
  pointer-events: none;
  content: "";
  background: url("../img/home/img_service_deco02.svg") no-repeat center/contain;
}
.home-service__person {
  position: absolute;
  top: -32px;
  left: 46px;
  z-index: 2;
  width: 38px;
  height: auto;
}
.home-service__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(50 / var(--viewport) * 100vw);
  align-items: center;
  width: 100%;
  max-width: var(--contents--width-with-padding);
  padding-inline: var(--contents--padding--side);
  margin-inline: auto;
}
.home-service__head {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-24px);
  align-items: center;
}
.home-service__label {
  display: inline-flex;
  gap: var(--blank-space-10px);
  align-items: center;
  font-size: var(--font-size--lg);
  font-weight: var(--font-weight--bold);
  color: var(--Product-CP-primary-primary);
}
.home-service__label::before {
  width: 10px;
  height: 10px;
  content: "";
  background: var(--Product-CP-primary-primary);
}
.home-service__title {
  margin: 0;
  font-size: var(--font-size--3xl);
  font-weight: var(--font-weight--bold);
  line-height: 1.4;
  color: var(--Local-Color-black);
  text-align: center;
}
.home-service__logo {
  display: inline-block;
  width: 110px;
  height: auto;
  margin-right: 3px;
  vertical-align: middle;
}
@media (width >= 768px ) {
  .home-service {
    padding-block: var(--blank-space-120px) var(--blank-space-80px);
    border-radius: var(--radius-small);
  }
  .home-service::before {
    top: 117px;
    left: -37px;
    width: 160px;
  }
  .home-service::after {
    top: 252px;
    right: -105px;
    width: 277px;
  }
  .home-service__person {
    top: -71px;
    left: 150px;
    width: 76px;
  }
  .home-service__inner {
    gap: var(--blank-space-64px);
  }
  .home-service__title {
    font-size: var(--font-size--4xl);
    line-height: 1.25;
  }
  .home-service__logo {
    width: 150px;
  }
}
@media (width >= 1100px ) {
  .home-service::before {
    top: 120px;
    left: 78px;
  }
  .home-service::after {
    top: 202px;
    right: -43px;
  }
  .home-service__person {
    left: 240px;
  }
}
/* .home-service-list
================================================ */
.home-service-list {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-12px);
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}
.home-service-list__item {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: var(--blank-space-10px);
  background: rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-small);
}
.home-service-list__body {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
  width: 100%;
  padding: var(--blank-space-24px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) -64.79%, rgba(143, 254, 227, 0.2) 100%);
  border-radius: var(--radius-large);
  box-shadow: 0 4px 30px 0 #d4e6df;
  backdrop-filter: blur(7.5px);
}
.home-service-list__head {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
  width: 100%;
  font-weight: var(--font-weight--bold);
  text-align: center;
}
.home-service-list__subtitle {
  margin: 0;
  font-size: calc(21 / var(--viewport) * 100vw);
  line-height: 1.3;
  color: var(--Local-Color-black);
}
.home-service-list__title {
  margin: 0;
  font-size: var(--font-size--2xl);
  line-height: 1.3;
  color: var(--Product-CP-primary-primary);
}
.home-service-list__title.u-font-en {
  font-size: var(--font-size--3xl);
}
.home-service-list__line {
  display: block;
  width: 100%;
  border-top: 1px dashed var(--Common-border-primary);
}
.home-service-list__content {
  display: grid;
  row-gap: var(--blank-space-16px);
}
@media (width >= 768px ) {
  .home-service-list__body {
    gap: var(--blank-space-24px);
    height: 100%;
    padding: var(--blank-space-56px);
  }
  .home-service-list__head {
    gap: var(--blank-space-16px);
  }
  .home-service-list__subtitle {
    font-size: var(--font-size--2xl);
  }
  .home-service-list__title {
    font-size: var(--font-size--3xl);
  }
  .home-service-list__title img {
    width: 251px;
  }
  .home-service-list__content {
    row-gap: var(--blank-space-32px);
    align-content: space-between;
    height: 100%;
  }
}
@media (width >= 1100px ) {
  .home-service-list {
    flex-flow: row wrap;
    gap: var(--blank-space-12px);
    justify-content: center;
  }
  .home-service-list__item {
    width: calc((100% - var(--blank-space-12px)) / 2);
  }
}
/* .home-incident
================================================ */
.home-incident {
  position: relative;
  z-index: 0;
  padding-block: calc(15 / var(--viewport) * 100vw) calc(20 / var(--viewport) * 100vw);
  overflow: hidden;
  background: linear-gradient(to top, var(--Product-CP-primary-primary-low), var(--Product-CP-primary-primary));
}
.home-incident__inner {
  position: relative;
  z-index: 1;
  width: min(1380px, 100% - 30px);
  padding: var(--blank-space-64px) calc(20 / var(--viewport) * 100vw) calc(10 / var(--viewport) * 100vw);
  margin-inline: auto;
  overflow: hidden;
  background-color: var(--Common-background-primary);
  border-radius: var(--radius-xsmall);
}
.home-incident__inner::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 400px;
  pointer-events: none;
  content: "";
  background: linear-gradient(to bottom, #b8ffef, rgba(255, 255, 255, 0));
}
.home-incident__deco {
  position: absolute;
  z-index: 3;
}
.home-incident__deco.is-deco01 {
  top: calc(33 / var(--viewport) * 100vw);
  right: calc(-18 / var(--viewport) * 100vw);
  width: calc(72 / var(--viewport) * 100vw);
}
.home-incident__deco.is-deco02 {
  top: calc(153 / var(--viewport) * 100vw);
  left: calc(-7 / var(--viewport) * 100vw);
  width: calc(90 / var(--viewport) * 100vw);
  scale: -1 1;
}
.home-incident__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-64px);
  align-items: center;
  width: 100%;
  max-width: 1224px;
  margin-inline: auto;
}
.home-incident__head {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-10px);
  align-items: center;
  text-align: center;
}
.home-incident__lead {
  margin: 0;
  font-size: var(--font-size--lg);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Product-CP-primary-primary-high);
}
.home-incident__logo {
  width: calc(300 / var(--viewport) * 100vw);
  margin-inline: auto;
}
.home-incident__cols {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-48px);
  width: 100%;
}
.home-incident__col {
  display: flex;
  flex-direction: column;
  padding: var(--blank-space-10px);
  background: rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-xsmall);
}
.home-incident__panel {
  display: flex;
  flex-direction: column;
  gap: calc(5 / var(--viewport) * 100vw);
  height: 100%;
  padding: 5px;
  background-color: var(--Common-background-primary);
  border-radius: var(--radius-xsmall);
  box-shadow: 0 2px 5px rgba(212, 230, 223, 0.5);
}
.home-incident__bar {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-10px);
  align-items: center;
  padding: var(--blank-space-24px) var(--blank-space-16px) calc(20 / var(--viewport) * 100vw);
  background: linear-gradient(84deg, var(--Product-CP-primary-primary-high) 0%, var(--Product-CP-primary-primary) 100%);
  border-radius: var(--radius-xsmall) var(--radius-xsmall) 0 0;
}
.home-incident__bar--emergency {
  background: linear-gradient(84deg, var(--Product-CP-primary-primary-low) 0%, var(--Product-CP-primary-primary-lower) 100%);
}
.home-incident__bar-icon {
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(60 / var(--viewport) * 100vw);
  height: calc(60 / var(--viewport) * 100vw);
  transform: translate(-50%, -60%);
}
.home-incident__bar-title {
  margin: 0;
  font-size: var(--font-size--2xl);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Common-background-primary);
  text-align: center;
}
.home-incident__bar-title-note {
  margin-left: var(--blank-space-4px);
  font-size: var(--font-size--xs);
  font-weight: var(--font-weight--regular);
}
.home-incident__services {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}
.home-incident__service {
  display: flex;
}
@media (width >= 768px ) {
  .home-incident {
    padding-block: var(--blank-space-32px) 0;
    background: linear-gradient(to bottom, var(--Product-CP-primary-primary) 0%, var(--Product-CP-primary-primary-low) 80%, var(--Product-CP-background-accent, #e6f8f4) 100%);
  }
  .home-incident__deco.is-deco01 {
    top: 83px;
    right: -38px;
    width: 180px;
  }
  .home-incident__deco.is-deco02 {
    top: 267px;
    left: -102px;
    width: 240px;
  }
  .home-incident__inner {
    width: min(1380px, 100% - 50px);
    padding: var(--blank-space-120px) calc(15 / var(--viewport) * 100vw) var(--blank-space-80px);
    border-radius: var(--radius-small);
  }
  .home-incident__inner::before {
    height: 695px;
  }
  .home-incident__body {
    gap: var(--blank-space-120px);
  }
  .home-incident__head {
    gap: 5px;
  }
  .home-incident__lead {
    font-size: var(--font-size--2xl);
  }
  .home-incident__logo {
    width: 502px;
  }
  .home-incident__logo img {
    width: 502px;
    max-width: none;
  }
  .home-incident__cols {
    gap: var(--blank-space-80px);
  }
  .home-incident__col {
    border-radius: var(--radius-small);
  }
  .home-incident__panel {
    gap: 5px;
    border-radius: var(--radius-small);
  }
  .home-incident__bar {
    padding: var(--blank-space-48px) var(--blank-space-16px);
    border-radius: var(--radius-small) var(--radius-small) 0 0;
  }
  .home-incident__bar-icon {
    width: 120px;
    height: 120px;
  }
  .home-incident__bar-title {
    font-size: var(--font-size--3xl);
  }
  .home-incident__services {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (width >= 1100px ) {
  .home-incident {
    background: linear-gradient(0deg, var(--Product-CP-primary-primary-low, #00ae84) 0%, var(--Product-CP-primary-primary, #009370) 100%);
  }
  .home-incident::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 300px;
    pointer-events: none;
    content: "";
    background: linear-gradient(to bottom, rgba(230, 248, 244, 0), var(--Product-CP-background-accent));
  }
  .home-incident__deco.is-deco01 {
    top: 103px;
    right: 140px;
  }
  .home-incident__deco.is-deco02 {
    top: 207px;
    left: 73px;
  }
  .home-incident__body {
    gap: 100px;
  }
  .home-incident__head {
    gap: 20px;
  }
  .home-incident__cols {
    flex-direction: row;
    gap: var(--blank-space-12px);
  }
  .home-incident__col {
    flex: 1 0 0;
  }
  .home-incident__services {
    height: 100%;
  }
}
/* .home-flow（Incident360の利用イメージ）
================================================ */
.home-flow {
  position: relative;
  z-index: 0;
  padding-block: var(--blank-space-64px) 0;
  overflow: hidden;
  background-color: var(--Product-CP-background-accent);
}
.home-flow::before {
  position: absolute;
  top: calc(-53 / var(--viewport) * 100vw);
  left: 50%;
  width: calc(520 / var(--viewport) * 100vw);
  aspect-ratio: 1;
  content: "";
  background: radial-gradient(35.5% 73.03% at 50% 58.37%, #b8ffef 0%, #e6f8f4 100%);
  border-radius: 50%;
  translate: -50% 0;
}
.home-flow__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-32px);
  align-items: center;
}
.home-flow__body {
  display: flex;
  flex-direction: column;
  gap: calc(14 / var(--viewport) * 100vw);
  width: 100%;
}
.home-flow__row {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: var(--Common-background-primary);
  border-radius: var(--radius-xsmall);
  box-shadow: 0 4px 30px 0 rgba(212, 230, 223, 0.6);
}
.home-flow__panel {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-8px);
  align-items: center;
  justify-content: center;
  padding: var(--blank-space-24px) var(--blank-space-32px);
  background: linear-gradient(112deg, var(--Product-CP-primary-primary-high) 46%, var(--Product-CP-primary-primary) 108%);
}
.home-flow__panel--emergency {
  background: linear-gradient(105deg, var(--Product-CP-primary-primary-low) 35%, var(--Product-CP-primary-primary-lower) 88%);
}
.home-flow__panel-icon {
  width: calc(50 / var(--viewport) * 100vw);
  height: auto;
}
.home-flow__panel-title {
  margin: 0;
  font-size: calc(21 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Common-background-primary);
  text-align: center;
}
.home-flow__list {
  flex: 1 1 0;
  min-width: 0;
  padding: var(--blank-space-32px);
}
.home-flow__marquee {
  margin-top: calc(60 / var(--viewport) * 100vw);
}
@media (width >= 768px ) {
  .home-flow {
    padding-block: var(--blank-space-120px) 0;
  }
  .home-flow::before {
    top: -163px;
    width: 1110px;
  }
  .home-flow__inner {
    gap: var(--blank-space-64px);
  }
  .home-flow__body {
    gap: var(--blank-space-24px);
  }
  .home-flow__row {
    flex-direction: row;
    width: calc(100% + var(--contents--padding--side));
    border-radius: var(--radius-small) 0 0 var(--radius-small);
  }
  .home-flow__panel {
    flex-shrink: 0;
    gap: var(--blank-space-16px);
    padding: var(--blank-space-48px) var(--blank-space-64px) var(--blank-space-40px);
  }
  .home-flow__panel-icon {
    width: 80px;
  }
  .home-flow__panel-title {
    font-size: var(--font-size--2xl);
  }
  .home-flow__list {
    padding: var(--blank-space-64px) 0 var(--blank-space-56px) var(--blank-space-64px);
  }
  .home-flow__marquee {
    margin-top: var(--blank-space-120px);
  }
}
@media (width >= 1100px ) {
  .home-flow__body {
    gap: var(--blank-space-40px);
  }
  .home-flow__row {
    flex-direction: column;
    width: 100%;
    background: none;
    border-radius: 0;
    box-shadow: none;
  }
  .home-flow__panel {
    flex-direction: row;
    justify-content: start;
    width: fit-content;
    min-width: 252px;
    padding: 16px 24px;
    border-radius: var(--radius-small) var(--radius-small) 0 0;
  }
  .home-flow__panel-icon {
    width: 50px;
  }
  .home-flow__list {
    padding: var(--blank-space-64px) var(--blank-space-64px) var(--blank-space-56px) var(--blank-space-64px);
    border-radius: 0 var(--radius-small) var(--radius-small) var(--radius-small);
    background-color: var(--Common-background-primary);
    box-shadow: 0 4px 30px 0 rgba(212, 230, 223, 0.6);
  }
}
/* .home-feature（実態・侵害調査）
================================================ */
.home-feature {
  position: relative;
  z-index: 0;
  padding-block: calc(15 / var(--viewport) * 100vw) calc(10 / var(--viewport) * 100vw);
  overflow: hidden;
  background: linear-gradient(180deg, #009370 19.92%, #0d5f4e 89.61%);
}
.home-feature::after {
  position: absolute;
  bottom: calc(94 / var(--viewport) * 100vw);
  left: 50%;
  z-index: 0;
  width: min(1569px, 572 / var(--viewport) * 100vw);
  aspect-ratio: 1;
  pointer-events: none;
  content: "";
  background: radial-gradient(52.98% 52.98% at 50% 47.02%, rgba(12, 94, 76, 0.8) 0%, rgba(20, 133, 109, 0.8) 100%);
  border-radius: 50%;
  filter: blur(40px);
  transform: translateX(-50%);
}
.home-feature__deco {
  position: absolute;
  z-index: 2;
}
.home-feature__deco.is-deco01 {
  top: calc(33 / var(--viewport) * 100vw);
  right: calc(-18 / var(--viewport) * 100vw);
  width: calc(72 / var(--viewport) * 100vw);
}
.home-feature__deco.is-deco02 {
  top: calc(153 / var(--viewport) * 100vw);
  left: calc(-7 / var(--viewport) * 100vw);
  width: calc(90 / var(--viewport) * 100vw);
  scale: -1 1;
}
.home-feature__intro {
  position: relative;
  z-index: 1;
  width: min(1380px, 100% - 30px);
  padding: var(--blank-space-40px) var(--blank-space-10px);
  margin-inline: auto;
  background: linear-gradient(to bottom, #fff, var(--Product-CP-background-accent));
  border-radius: var(--radius-small);
}
.home-feature__intro::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 363/695;
  content: "";
  background: linear-gradient(180deg, #b8ffef -14.66%, rgba(255, 255, 255, 0) 131.4%);
  border-radius: var(--radius-small, 8px) var(--radius-small, 8px) 0 0;
}
.home-feature__ttl {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-16px);
  align-items: center;
  width: 100%;
}
.home-feature__ttl-sub {
  margin: 0;
  font-size: calc(18 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Product-CP-primary-primary-high);
  text-align: center;
}
.home-feature__ttl-main {
  margin: 0;
  font-size: calc(32 / var(--viewport) * 100vw);
  font-weight: var(--font-weight--bold);
  line-height: 1.2;
  color: transparent;
  text-align: center;
  background: linear-gradient(to left, var(--Product-CP-primary-primary), var(--Product-CP-primary-primary-high));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.home-feature__services {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--blank-space-12px);
  width: 100%;
  padding: 0;
  margin: var(--blank-space-48px) 0 0;
  list-style: none;
}
.home-feature__service {
  display: flex;
}
.home-feature__flow {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-32px);
  align-items: center;
  margin-block-start: var(--blank-space-64px);
}
.home-feature__flow-list {
  width: 100%;
}
.home-feature__marquee {
  position: relative;
  z-index: 1;
  margin-block-start: var(--blank-space-64px);
}
@media (width >= 768px ) {
  .home-feature {
    padding-block: var(--blank-space-32px) calc(10 / var(--viewport) * 100vw);
  }
  .home-feature__deco.is-deco01 {
    top: 197px;
    right: -95px;
    width: 240px;
  }
  .home-feature__deco.is-deco02 {
    top: 57px;
    left: -44px;
    width: 180px;
  }
  .home-feature__intro {
    padding: var(--blank-space-120px) var(--contents--padding--side) var(--blank-space-80px);
  }
  .home-feature__intro::before {
    aspect-ratio: 768/695;
  }
  .home-feature__ttl-sub {
    font-size: var(--font-size--2xl);
  }
  .home-feature__ttl-main {
    font-size: var(--font-size--6xl);
  }
  .home-feature__services {
    display: flex;
    flex-wrap: wrap;
    gap: var(--blank-space-24px);
    justify-content: center;
    margin-top: var(--blank-space-64px);
  }
  .home-feature__service {
    width: calc(50% - var(--blank-space-24px) / 2);
  }
  .home-feature__flow {
    gap: var(--blank-space-64px);
    margin-block-start: var(--blank-space-80px);
  }
  .home-feature__marquee {
    margin-top: var(--blank-space-120px);
  }
}
@media (width >= 1100px ) {
  .home-feature::after {
    bottom: 586px;
    width: 1569px;
    background: radial-gradient(52.98% 52.98% at 50% 47.02%, rgba(12, 94, 76, 0.8) 0%, rgba(20, 133, 109, 0.8) 100%);
    filter: blur(40px);
  }
  .home-feature__deco.is-deco01 {
    top: 177px;
    right: 86px;
  }
  .home-feature__deco.is-deco02 {
    top: 137px;
    left: 141px;
  }
  .home-feature__intro {
    padding-inline: 78px;
  }
  .home-feature__intro::before {
    aspect-ratio: 1380/695;
  }
  .home-feature__services {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .home-feature__service {
    width: 100%;
  }
  .home-feature__head {
    gap: var(--blank-space-24px);
  }
  .home-feature__head-sub {
    gap: var(--blank-space-10px);
  }
  .home-feature__head-title {
    font-size: var(--font-size--4xl);
  }
}
/* .home-trend（#tendency：近年のランサムウェア被害の傾向）
================================================ */
.home-trend {
  padding-top: var(--blank-space-64px);
  background: var(--Product-CP-background-accent, #e6f8f4);
}
.home-trend__list {
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-32px);
  padding: 0;
  margin: var(--blank-space-32px) 0 var(--blank-space-12px);
  list-style: none;
}
.home-trend__item {
  position: relative;
}
.home-trend__item:not(:first-child)::before {
  position: absolute;
  top: calc(((var(--blank-space-32px) - 17px) / 2 + 17px) * -1);
  left: 50%;
  display: block;
  width: 31px;
  height: 17px;
  content: "";
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2231%22%20height%3D%2217%22%20fill%3D%22none%22%20viewBox%3D%220%200%2031%2017%22%3E%0A%3Cpath%20fill%3D%22url(%23a)%22%20d%3D%22M15.68%206.35%200%200l15.68%2017L31%200%2015.68%206.35Z%22%2F%3E%0A%3Cdefs%3E%0A%3ClinearGradient%20id%3D%22a%22%20x1%3D%2216.792%22%20x2%3D%2216.792%22%20y1%3D%22-3.886%22%20y2%3D%2220.549%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%3Cstop%20stop-color%3D%22%23119978%22%20stop-opacity%3D%220%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22%234DE8C3%22%2F%3E%0A%3C%2FlinearGradient%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A") no-repeat left top/contain;
  translate: -50% 0;
}
.home-trend__band {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--blank-space-24px);
  margin: 0;
  font-size: var(--font-size--lg);
  font-weight: var(--font-weight--bold);
  line-height: 1.3;
  color: var(--Product-CP-primary-primary);
  text-align: center;
  background: #bfe7d8;
  border-radius: var(--radius-xsmall);
}
.home-trend__lead {
  z-index: 0;
  margin-top: var(--blank-space-40px);
}
.home-trend__lead-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-32px);
  padding-bottom: var(--blank-space-10px);
}
.home-trend__lead-inner::before {
  position: absolute;
  right: calc(-33 / var(--viewport) * 100vw);
  bottom: -1px;
  z-index: -1;
  width: calc(517 / var(--viewport) * 100vw);
  min-width: 517px;
  aspect-ratio: 517/184;
  content: "";
  background: url("../img/home/bg_trend01_sp.png") no-repeat left top/contain;
}
.home-trend__lead-text {
  margin: 0;
  font-size: var(--font-size--xl);
  font-weight: var(--font-weight--bold);
  line-height: 1.4;
  color: var(--Common-label-primary);
}
.home-trend__lead-img {
  width: 100%;
  max-width: 424px;
  margin-inline: auto;
}
.home-trend__lead-img img {
  display: block;
  width: 100%;
  height: auto;
}
@media (width >= 768px ) {
  .home-trend {
    padding-top: var(--blank-space-120px);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) -28.28%, var(--Green-2, #bfe7d8) 101.28%);
  }
  .home-trend__list {
    margin-block: var(--blank-space-40px) var(--blank-space-24px);
  }
  .home-trend__band {
    font-size: var(--font-size--2xl);
  }
  .home-trend__lead {
    margin-top: var(--blank-space-80px);
  }
  .home-trend__lead-inner {
    gap: var(--blank-space-40px);
  }
  .home-trend__lead-inner::before {
    right: auto;
    bottom: -116px;
    left: 0;
    width: 1427px;
    max-width: 1427px;
    aspect-ratio: 1427/401;
    background: url("../img/home/bg_trend01_pc.png") no-repeat left top/contain;
  }
  .home-trend__lead-text {
    font-size: var(--font-size--3xl);
    white-space: nowrap;
  }
  .home-trend__lead-img {
    max-width: 640px;
    margin-right: 0;
  }
  .home-trend__lead-img img {
    max-width: 640px;
  }
}
@media (width >= 1100px ) {
  .home-trend__title {
    font-size: var(--font-size--3xl);
  }
  .home-trend__title::before {
    width: 20px;
    height: 20px;
  }
  .home-trend__list {
    flex-direction: row;
    gap: var(--blank-space-40px);
  }
  .home-trend__item {
    flex: 1 1 0;
    min-width: 0;
  }
  .home-trend__item:not(:first-child)::before {
    top: 50%;
    left: -20px;
    transform: rotate(-90deg);
    translate: -50% -50%;
  }
  .home-trend__lead {
    max-width: 1440px;
    padding-bottom: 20px;
    margin-inline: auto;
    margin-top: 22px;
  }
  .home-trend__lead-inner {
    flex-direction: row;
    gap: var(--blank-space-40px);
    align-items: center;
    justify-content: space-between;
  }
  .home-trend__lead-text {
    margin-left: 112px;
  }
  .home-trend__lead-img {
    flex-shrink: 0;
    width: min(424px, 42%);
    margin-right: 43px;
  }
}
@media (width >= 1280px ) {
  .home-trend__lead-inner::before {
    left: 177px;
  }
}
/* .home-floating-cta MV CTAの追従表示（SPのみ）
================================================ */
:root .home-floating-cta {
  position: fixed;
  right: 0;
  bottom: calc(15px + env(safe-area-inset-bottom));
  left: 0;
  z-index: 9;
  visibility: hidden;
  padding-inline: var(--contents--padding--side);
  opacity: 0;
  transform: translateY(16px);
  transition: visibility var(--duration) var(--easing), opacity var(--duration) var(--easing), transform var(--duration) var(--easing);
}
:root .home-floating-cta.is-shown {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
:root .home-floating-cta__btn {
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: var(--blank-space-10px);
  width: 100%;
  padding: var(--blank-space-8px);
  background: linear-gradient(to bottom, rgba(230, 246, 240, 0.2), rgba(143, 254, 227, 0.2));
  border-radius: var(--radius-large);
  box-shadow: 0 4px 30px #d4e6df;
  backdrop-filter: blur(7.5px);
}
.u-hidden {
  display: none;
}
.u-inline {
  display: inline;
}
.u-inline-block {
  display: inline-block;
}
.u-block {
  display: block;
}
.u-flex {
  display: flex;
}
.u-grid {
  display: grid;
}
@media (width < 640px) {
  .u-hidden-sm-down {
    display: none;
  }
}
@media (width < 768px) {
  .u-hidden-md-down {
    display: none;
  }
}
@media (width < 1100px) {
  .u-hidden-lg-down {
    display: none;
  }
}
@media (width < 1280px) {
  .u-hidden-xl-down {
    display: none;
  }
}
@media (width >= 640px) {
  .u-hidden-sm-up {
    display: none;
  }
}
@media (width >= 768px ) {
  .u-hidden-md-up {
    display: none;
  }
}
@media (width >= 1100px ) {
  .u-hidden-lg-up {
    display: none;
  }
}
@media (width >= 1280px ) {
  .u-hidden-xl-up {
    display: none;
  }
}
/* overflow
-------------------------------------- */
.u-overflow-auto {
  overflow: auto;
}
.u-overflow-hidden {
  overflow: hidden;
}
.u-overflow-visible {
  overflow: visible;
}
/* screen reader
-------------------------------------- */
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border-width: 0;
  clip: rect(0, 0, 0, 0);
}
/* text-transform
-------------------------------------- */
.u-uppercase {
  text-transform: uppercase;
}
.u-capitalize {
  text-transform: capitalize;
}
/* text-align
-------------------------------------- */
.u-text-left {
  text-align: left;
}
.u-text-right {
  text-align: right;
}
.u-text-center {
  text-align: center;
}
@media (width < 640px) {
  .u-text-left-sm-down {
    text-align: left;
  }
}
@media (width < 640px) {
  .u-text-right-sm-down {
    text-align: right;
  }
}
@media (width < 640px) {
  .u-text-center-sm-down {
    text-align: center;
  }
}
@media (width < 768px) {
  .u-text-left-md-down {
    text-align: left;
  }
}
@media (width < 768px) {
  .u-text-right-md-down {
    text-align: right;
  }
}
@media (width < 768px) {
  .u-text-center-md-down {
    text-align: center;
  }
}
@media (width < 1100px) {
  .u-text-left-lg-down {
    text-align: left;
  }
}
@media (width < 1100px) {
  .u-text-right-lg-down {
    text-align: right;
  }
}
@media (width < 1100px) {
  .u-text-center-lg-down {
    text-align: center;
  }
}
@media (width < 1280px) {
  .u-text-left-xl-down {
    text-align: left;
  }
}
@media (width < 1280px) {
  .u-text-right-xl-down {
    text-align: right;
  }
}
@media (width < 1280px) {
  .u-text-center-xl-down {
    text-align: center;
  }
}
@media (width >= 640px) {
  .u-text-left-sm-up {
    text-align: left;
  }
}
@media (width >= 640px) {
  .u-text-right-sm-up {
    text-align: right;
  }
}
@media (width >= 640px) {
  .u-text-center-sm-up {
    text-align: center;
  }
}
@media (width >= 768px ) {
  .u-text-left-md-up {
    text-align: left;
  }
}
@media (width >= 768px ) {
  .u-text-right-md-up {
    text-align: right;
  }
}
@media (width >= 768px ) {
  .u-text-center-md-up {
    text-align: center;
  }
}
@media (width >= 1100px ) {
  .u-text-left-lg-up {
    text-align: left;
  }
}
@media (width >= 1100px ) {
  .u-text-right-lg-up {
    text-align: right;
  }
}
@media (width >= 1100px ) {
  .u-text-center-lg-up {
    text-align: center;
  }
}
@media (width >= 1280px ) {
  .u-text-left-xl-up {
    text-align: left;
  }
}
@media (width >= 1280px ) {
  .u-text-right-xl-up {
    text-align: right;
  }
}
@media (width >= 1280px ) {
  .u-text-center-xl-up {
    text-align: center;
  }
}
/* font-size
-------------------------------------- */
.u-text-xs {
  font-size: var(--font-size--xs);
}
.u-text-sm {
  font-size: var(--font-size--sm);
}
.u-text-md {
  font-size: var(--font-size--md);
}
.u-text-lg {
  font-size: var(--font-size--lg);
}
.u-text-xl {
  font-size: var(--font-size--xl);
}
.u-text-2xl {
  font-size: var(--font-size--2xl);
}
.u-text-3xl {
  font-size: var(--font-size--3xl);
}
.u-text-4xl {
  font-size: var(--font-size--4xl);
}
.u-text-5xl {
  font-size: var(--font-size--5xl);
}
.u-text-6xl {
  font-size: var(--font-size--6xl);
}
.u-text-7xl {
  font-size: var(--font-size--7xl);
}
/* line-height
-------------------------------------- */
/* font-weight
-------------------------------------- */
.u-font-bold {
  font-weight: var(--font-weight--bold);
}
/* font-family
-------------------------------------- */
.u-font-en {
  font-family: var(--font-family--Alphabet);
  font-weight: var(--font-weight--semibold);
  line-height: 1.25;
}
/* position
-------------------------------------- */
.u-relative {
  position: relative;
}
.u-absolute {
  position: absolute !important;
}
/* layout
-------------------------------------- */
.u-inner {
  padding-right: var(--contents--padding--side);
  padding-left: var(--contents--padding--side);
}
@media (width >= 768px ) {
  .u-inner {
    width: 100%;
    max-width: var(--contents--width-with-padding);
    margin-right: auto;
    margin-left: auto;
  }
}
.u-item-center {
  display: grid;
  place-items: center;
}
.u-clearfix {
  clear: both;
  display: block;
  height: 0;
  border: none;
}
/* link
-------------------------------------- */
a.u-alpha {
  display: block;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  a.u-alpha {
    transition: opacity var(--duration) var(--easing);
  }
  a.u-alpha:hover {
    opacity: 0.7;
  }
}
a.u-zoom {
  display: block;
  text-decoration: none;
}
a.u-zoom .u-zoom__img {
  display: block;
}
a.u-zoom .u-zoom__img-wrap {
  display: block;
  overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
  a.u-zoom .u-zoom__img {
    transition: transform var(--duration) var(--easing);
  }
  a.u-zoom:hover .u-zoom__img {
    transform: scale(1.1);
  }
}
a.u-link-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
}
a[class].u-text-underline {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  a[class].u-text-underline:hover {
    text-decoration: none;
  }
}
.u-media-query {
  font-family: sp;
}
@media (width >= 768px ) {
  .u-media-query {
    font-family: tb;
  }
}
@media (width >= 1100px ) {
  .u-media-query {
    font-family: pc;
  }
}