@charset "UTF-8";
/* =========================================================
consol log
========================================================= */
/* =========================================================
body
========================================================= */
body {
  background: #26B1A9;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  word-break: break-word;
  font-feature-settings: "palt";
}

input, button, textarea, select {
  font-family: "Noto Sans JP", sans-serif;
  box-sizing: border-box;
  outline: none;
}

* {
  letter-spacing: 0.06em;
}

*:before, *:after {
  display: block;
}

img {
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

a[href*="tel:"] {
  text-decoration: underline;
}

@media (hover: hover) {
  a[href*="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }
}
@media (max-width: 768px) {
  .pc-br {
    display: none;
  }
}
@media (min-width: 769px) {
  .sp-br {
    display: none;
  }
}
@container (max-width: 768px) {
  .cont-pc-br {
    display: none;
  }
}
@container (min-width: 769px) {
  .cont-sp-br {
    display: none;
  }
}
@media (max-width: 768px) {
  .pc-disp {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .sp-disp {
    display: none !important;
  }
}
@media (hover: hover) {
  .opacity-link {
    transition: opacity 0.2s ease;
  }

  .opacity-link:hover {
    opacity: 0.7;
  }
}
.txt-link {
  text-decoration: underline;
}

@media (hover: hover) {
  .txt-link:hover {
    text-decoration: none;
  }
}
.wrapper {
  width: 100%;
  min-width: 320px;
  position: relative;
  overflow: clip;
}

/* =========================================================
common parts
========================================================= */
/*------------------------------------------
title
------------------------------------------*/
.c-ttl01 {
  color: #BEE7E5;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.c-ttl01__en {
  padding: 0.2em 0 0;
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  line-height: 1;
}

@media (max-width: 768px) {
  .c-ttl01__en {
    font-size: clamp(1px, 2.93vw, 11px);
  }
}
@media (min-width: 769px) {
  .c-ttl01__en {
    font-size: 12px;
  }
}
.c-ttl01__ja {
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (max-width: 768px) {
  .c-ttl01__ja {
    font-size: clamp(1px, 3.2vw, 12px);
  }
}
@media (min-width: 769px) {
  .c-ttl01__ja {
    font-size: 14px;
  }
}
.c-ttl01__ja::before {
  content: "";
  width: 1px;
  background: #BEE7E5;
}

@media (max-width: 768px) {
  .c-ttl01__ja::before {
    height: 11px;
  }
}
@media (min-width: 769px) {
  .c-ttl01__ja::before {
    height: 15px;
  }
}
.c-ttl01.gray {
  color: #989898;
}

.c-ttl01.gray__ja::before {
  background: #989898;
}

/*------------------------------------------
button
------------------------------------------*/
.c-btn01 {
  width: -moz-fit-content;
  width: fit-content;
}

.c-btn01 a,
.c-btn01 button {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid;
  border-radius: 50px;
  line-height: 1.4;
  transition: background 0.2s ease, color 0.2s ease;
}

@media (max-width: 768px) {
  .c-btn01 a,
.c-btn01 button {
    padding: 10px 0;
    font-size: 12px;
  }
}
@media (min-width: 769px) {
  .c-btn01 a,
.c-btn01 button {
    padding: 13px 0;
    font-size: 15px;
  }
}
.c-btn01.green a,
.c-btn01.green button {
  border-color: #26B1A9;
  color: #26B1A9;
}

@media (hover: hover) {
  .c-btn01.green a:hover,
.c-btn01.green button:hover {
    background: #26B1A9;
    color: #fff;
  }
}
.c-btn01.white a,
.c-btn01.white button {
  border-color: #fff;
  color: #fff;
}

@media (hover: hover) {
  .c-btn01.white a:hover,
.c-btn01.white button:hover {
    background: #fff;
    color: #26B1A9;
  }
}
.c-btn02 {
  width: -moz-fit-content;
  width: fit-content;
}

.c-btn02 a,
.c-btn02 button {
  display: block;
  position: relative;
  line-height: 1.7;
}

@media (max-width: 768px) {
  .c-btn02 a,
.c-btn02 button {
    padding: 0 20px 8px 0;
    border-bottom: 1px solid;
    font-size: 12px;
  }
}
@media (min-width: 769px) {
  .c-btn02 a,
.c-btn02 button {
    padding: 0 20px 15px 0;
    border-bottom: 2px solid;
    font-size: clamp(1px, 1.8vw, 18px);
  }
}
.c-btn02 a::after,
.c-btn02 button::after {
  content: "";
  width: 14px;
  height: 12px;
  -webkit-mask: url(../images/ico_arrow01.svg) no-repeat center/contain;
          mask: url(../images/ico_arrow01.svg) no-repeat center/contain;
  position: absolute;
  right: 0;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .c-btn02 a::after,
.c-btn02 button::after {
    top: calc(50% - 4px);
  }
}
@media (min-width: 769px) {
  .c-btn02 a::after,
.c-btn02 button::after {
    top: calc(50% - 7px);
  }
}
.contact-btn a {
  border-radius: 70px;
  background: #EAAE3F;
  color: #fff;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

@media (hover: hover) {
  .contact-btn a {
    transition: box-shadow 0.2s ease;
  }

  .contact-btn a:hover {
    box-shadow: 0 3px 0 0 #319D97;
  }
}
.contact-btn [class*=ico-] {
  display: block;
  aspect-ratio: 1/1;
  width: 1em;
}

.contact-btn .ico-pdf {
  background: url(../images/ico_pdf.svg) no-repeat center/contain;
}

.contact-btn .ico-mail {
  background: url(../images/ico_mail.svg) no-repeat center/contain;
}

/*------------------------------------------
text
------------------------------------------*/
.c-txt01 {
  line-height: 1.9;
  font-weight: 700;
}

@media (max-width: 768px) {
  .c-txt01 {
    font-size: clamp(1px, 5.06vw, 19px);
  }
}
@media (min-width: 769px) {
  .c-txt01 {
    font-size: clamp(1px, 3vw, 28px);
  }
}
/*------------------------------------------
card
------------------------------------------*/
@media (max-width: 768px) {
  .c-card01 .c-btn02 {
    margin: -15px 0 0;
  }
}
@media (min-width: 769px) {
  .c-card01 .c-btn02 {
    margin: 15px auto 0;
  }
}
.c-card02 {
  background: #fff;
  color: #000;
}

@media (max-width: 768px) {
  .c-card02 {
    padding: 20px 6.25% 45px;
    border-radius: 20px;
  }
}
@media (min-width: 769px) {
  .c-card02 {
    border-radius: 40px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-card02 {
    padding: 45px 14.28%;
  }
}
@media (min-width: 1025px) {
  .c-card02 {
    padding: 45px 7.14%;
  }
}
.c-card02__head {
  color: #26B1A9;
  font-weight: 700;
  line-height: 1.65;
}

@media (max-width: 768px) {
  .c-card02__head {
    font-size: 14px;
  }
}
@media (min-width: 769px) {
  .c-card02__head {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .c-card02__head + * {
    margin: 20px auto 0;
  }
}
@media (min-width: 769px) {
  .c-card02__head + * {
    margin: 10px auto 0;
  }
}
@media (max-width: 768px) {
  .c-card02__wrap {
    padding: 0 8.33%;
  }
}
@media (min-width: 1025px) {
  .c-card02__wrap {
    display: flex;
    align-items: center;
    gap: 8.33%;
  }
}
@media (min-width: 1025px) {
  .c-card02__detail {
    width: 41.66%;
  }
}
.c-card02__ttl {
  font-weight: 700;
}

@media (max-width: 768px) {
  .c-card02__ttl {
    font-size: 20px;
    line-height: 1.65;
  }
}
@media (min-width: 769px) {
  .c-card02__ttl {
    font-size: 32px;
    line-height: 1.56;
  }
}
.c-card02__note {
  margin: 0 0 0 1em;
  font-weight: 400;
  font-size: 10px;
  line-height: 1.6;
}

.c-card02__note::before {
  content: "※";
  display: inline;
  margin: 0 0 0 -1em;
}

.c-card02__list {
  margin: 34px auto 0;
}

@media (max-width: 768px) {
  .c-card02__list > * + * {
    margin: 23px auto 0;
  }
}
@media (min-width: 769px) {
  .c-card02__list > * + * {
    margin: 34px auto 0;
  }
}
@media (max-width: 768px) {
  .c-card02__img {
    margin: 30px auto 0;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .c-card02__img {
    margin: 50px auto 0;
  }
}
@media (min-width: 1025px) {
  .c-card02__img {
    flex: 1;
  }
}
.c-card03__head {
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  color: #26B1A9;
  line-height: 1;
}

@media (max-width: 768px) {
  .c-card03__head {
    font-size: 10px;
  }
}
@media (min-width: 769px) {
  .c-card03__head {
    font-size: 12px;
  }
}
.c-card03__txt01 {
  margin: 8px auto 0;
}

@media (max-width: 768px) {
  .c-card03__txt01 {
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (min-width: 769px) {
  .c-card03__txt01 {
    font-size: 16px;
    line-height: 1.87;
  }
}
/*------------------------------------------
list
------------------------------------------*/
.c-col3-1 {
  display: grid;
  gap: 50px;
}

@media (min-width: 769px) {
  .c-col3-1 {
    grid-template-columns: repeat(3, 1fr);
  }
}
/*------------------------------------------
section
------------------------------------------*/
.c-sec.round {
  position: relative;
}

.c-sec.round::before {
  content: "";
  aspect-ratio: 1366/120;
  width: 100%;
  -webkit-mask: url(../images/bg_round.svg) no-repeat center bottom/contain;
          mask: url(../images/bg_round.svg) no-repeat center bottom/contain;
  background: inherit;
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
}

/*------------------------------------------
laptop
------------------------------------------*/
.c-laptop {
  position: relative;
}

.c-laptop__wrap {
  aspect-ratio: 277/149;
  width: 80%;
  overflow: hidden;
  position: absolute;
  top: 5%;
  left: 8.9%;
  visibility: visible !important;
}

[class*=c-laptop__frame] {
  position: relative;
  z-index: 1;
}

.c-laptop__img {
  width: 100%;
  height: 100%;
}

.c-laptop__img img {
  position: relative;
  transition: transform 5s linear 0.5s;
}

.c-laptop__img.swiper-slide-active img {
  transform: translateY(-30%);
}

/*------------------------------------------
modal
------------------------------------------*/
.c-modal01 {
  width: 100vw;
  height: 100vh;
  height: 100lvh;
  background: black;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
  display: none;
}

.c-modal01__in {
  overflow: hidden;
}

@media (max-width: 768px) {
  .c-modal01__in {
    padding: 20px 5.55% 100px;
  }
}
@media (min-width: 769px) {
  .c-modal01__in {
    padding: 30px 11.11% 60px;
  }
}
.c-modal01__cont {
  position: relative;
}

.c-modal01__close {
  position: absolute;
  z-index: 2;
}

@media (max-width: 768px) {
  .c-modal01__close {
    top: -10px;
    right: -10px;
  }
}
@media (min-width: 769px) {
  .c-modal01__close {
    top: -5px;
    right: -25px;
  }
}
.c-modal01__close button {
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #26B1A9;
  position: relative;
}

@media (max-width: 768px) {
  .c-modal01__close button {
    width: 40px;
  }
}
@media (min-width: 769px) {
  .c-modal01__close button {
    width: 50px;
  }
}
.c-modal01__close button::before, .c-modal01__close button::after {
  content: "";
  width: 50%;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
}

.c-modal01__close button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-modal01__close button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/*------------------------------------------
acc
------------------------------------------*/
.js-accarea {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s linear;
}

.js-accarea__in {
  overflow: hidden;
}

.js-accarea.is-open {
  grid-template-rows: 1fr;
}

/* =========================================================
header
========================================================= */
.page-hd {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

@media (max-width: 768px) {
  .page-hd {
    height: 50px;
    padding: 0 0 0 12px;
  }
}
@media (min-width: 769px) {
  .page-hd {
    height: 140px;
    padding: 0 clamp(1px, 3.29vw, 45px);
  }
}
.page-hd__logo {
  aspect-ratio: 93/17;
  -webkit-mask: url(../images/logo_pictona.svg) no-repeat center/contain;
          mask: url(../images/logo_pictona.svg) no-repeat center/contain;
  background: #fff;
  color: transparent;
}

@media (max-width: 768px) {
  .page-hd__logo {
    width: clamp(1px, 24.8vw, 93px);
  }
}
@media (min-width: 769px) {
  .page-hd__logo {
    width: 158px;
  }
}
.page-hd__wrap {
  height: 100%;
  display: flex;
  align-items: center;
}

@media (min-width: 769px) {
  .page-hd__wrap {
    gap: 40px;
  }
}
.page-hd__list01 {
  display: flex;
  align-items: center;
  gap: clamp(1px, 3.66vw, 50px);
}

@media (max-width: 768px) {
  .page-hd__list01 {
    display: none;
  }
}
.page-hd__list01 a {
  font-size: clamp(1px, 1.6vw, 16px);
}

.page-hd__list02 {
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .page-hd__list02 {
    gap: 5px;
  }
}
@media (min-width: 769px) {
  .page-hd__list02 {
    gap: 10px;
  }
}
@media (max-width: 768px) {
  .page-hd__list02 .contact-btn a {
    min-width: clamp(1px, 24vw, 90px);
    height: 30px;
    padding: 0 15px;
    font-size: clamp(1px, 2.93vw, 11px);
  }
}
@media (min-width: 769px) {
  .page-hd__list02 .contact-btn a {
    width: clamp(1px, 14vw, 150px);
    height: 50px;
    font-size: clamp(1px, 1.6vw, 16px);
  }
}
.page-hd__btn {
  height: 100%;
  position: relative;
  z-index: 1;
}

.page-hd__btn button {
  width: 50px;
  height: 100%;
  display: block;
  text-align: center;
}

.page-hd__btn button::before {
  content: "MENU";
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0;
}

.page-hd__btn button::after {
  content: "";
  width: 28px;
  height: 5px;
  margin: 5px auto 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

@media (min-width: 769px) {
  .page-hd__btn {
    display: none;
  }
}
.page-hd__nav {
  width: 88.88%;
  height: 100vh;
  height: 100lvh;
  background: #26B1A9;
  overflow: auto;
  position: absolute;
  top: 0;
  left: 100%;
}

@media (min-width: 769px) {
  .page-hd__nav {
    display: none;
  }
}
.page-hd.is-fixed {
  width: 100%;
  background: #fff;
  transform: translateY(-100%);
  position: fixed;
  top: 0;
  left: 0;
  animation: slidedown 0.3s ease forwards;
}

@media (min-width: 769px) {
  .page-hd.is-fixed {
    height: 70px;
  }
}
.page-hd.is-fixed .page-hd__logo {
  background: #26B1A9;
}

.page-hd.is-fixed .page-hd__list01 a {
  color: #26B1A9;
}

.page-hd.is-fixed .page-hd__btn button::before {
  color: #26B1A9;
}

.page-hd.is-fixed .page-hd__btn button::after {
  border-color: #26B1A9;
}

.page-hd.is-fixed .page-hd__btn button.is-open::before {
  color: #fff;
}

.page-hd.is-fixed .page-hd__btn button.is-open::after {
  border-color: #fff;
}

.page-nav {
  min-height: 100%;
  padding: 100px 12.5%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.page-nav > * {
  width: 100%;
}

.page-nav__item + .page-nav__item {
  margin: 32px auto 0;
}

.page-nav__item a > * {
  display: block;
}

.page-nav__item .ja {
  font-size: 16px;
  line-height: 1.5;
}

.page-nav__item .en {
  margin: 9px auto 0;
  color: #BEE7E5;
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  font-size: 11px;
  line-height: 1.18;
}

.page-nav__list02 {
  margin: 52px auto 0;
}

.page-nav__list02 .contact-btn + .contact-btn {
  margin: 14px auto 0;
}

.page-nav__list02 .contact-btn a {
  height: 60px;
  font-size: 14px;
}

.page-hd__nav {
  transition: transform 0.3s ease;
}

.page-hd__nav.is-open {
  transform: translateX(-100%);
}

@keyframes slidedown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
/* =========================================================
footer
========================================================= */
.page-ft {
  background: #2F2F2F;
}

@media (max-width: 768px) {
  .page-ft {
    padding: 40px 16.66% 20px;
  }
}
@media (min-width: 769px) {
  .page-ft {
    padding: 60px 5.55%;
  }
}
@media (min-width: 769px) {
  .page-ft__in {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, max-content);
    grid-template-areas: "logo links" "copyright links";
    gap: 20px 0;
  }
}
.page-ft__logo {
  aspect-ratio: 252/34;
  -webkit-mask: url(/assets/img/common/logo_parco.png) no-repeat center/contain;
          mask: url(/assets/img/common/logo_parco.png) no-repeat center/contain;
  background: #fff;
  color: transparent;
}

@media (max-width: 768px) {
  .page-ft__logo {
    margin: 0 auto;
  }
}
@media (min-width: 769px) {
  .page-ft__logo {
    grid-area: logo;
    width: 300px;
  }
}
@media (max-width: 768px) {
  .page-ft__list {
    margin: 30px auto 0;
  }
}
@media (min-width: 769px) {
  .page-ft__list {
    grid-area: links;
  }
}
@media (min-width: 769px) {
  .page-ft__item {
    text-align: right;
  }
}
.page-ft__item + .page-ft__item {
  margin: 20px auto 0;
}

.page-ft__item a {
  display: inline-block;
  padding: 0 0 5px;
  border-bottom: 1px solid #fff;
  line-height: 1.8;
  font-weight: 400;
}

@media (max-width: 768px) {
  .page-ft__item a {
    font-size: 11px;
  }
}
@media (min-width: 769px) {
  .page-ft__item a {
    font-size: 13px;
  }
}
.page-ft__copyright {
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  color: #888;
  line-height: 1;
}

@media (max-width: 768px) {
  .page-ft__copyright {
    margin: 43px auto 0;
    font-size: 10px;
    text-align: center;
  }
}
@media (min-width: 769px) {
  .page-ft__copyright {
    grid-area: copyright;
    font-size: 11px;
  }
}
/* =========================================================
contents
========================================================= */
/*------------------------------------------
MV
------------------------------------------*/
@media (max-width: 768px) {
  .mv {
    padding: 50px 1.33vw 10px;
  }
}
@media (min-width: 769px) {
  .mv {
    padding: 20px;
  }
}
.mv__in {
  overflow: hidden;
  background: #35C4BC;
  position: relative;
}

@media (max-width: 768px) {
  .mv__in {
    padding: 30px 0 120px;
    border-radius: 10px;
  }
}
@media (min-width: 769px) {
  .mv__in {
    padding: 137px 4.61vw 218px;
    border-radius: 20px;
    display: grid;
    grid-template-columns: 1fr 62.5%;
    grid-template-rows: repeat(2, max-content);
    grid-template-areas: "main image" "sub image";
    gap: 3.66vw 2.3vw;
  }
}
.mv__in::after {
  content: "";
  width: 100%;
  background: url(../images/mv_bottom.png) repeat-x 0 0/auto 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media (max-width: 768px) {
  .mv__in::after {
    height: 80px;
    animation: mv-sp linear 40s infinite;
  }
}
@media (min-width: 769px) {
  .mv__in::after {
    height: 165px;
    animation: mv-sp linear 60s infinite;
  }
}
.mv__ttl {
  line-height: 1.5;
  font-weight: 700;
}

@media (max-width: 768px) {
  .mv__ttl {
    padding: 0 8vw;
    font-size: 6.13vw;
  }
}
@media (min-width: 769px) {
  .mv__ttl {
    grid-area: main;
    align-self: end;
    font-size: 3.51vw;
  }
}
@media (max-width: 768px) {
  .mv .c-laptop {
    width: 89.6vw;
    margin: 30px auto 0;
  }
}
@media (min-width: 769px) {
  .mv .c-laptop {
    grid-area: image;
  }
}
@media (max-width: 768px) {
  .mv .c-laptop__wrap {
    width: 82.6%;
    top: 3.2%;
    left: 8.7%;
  }
}
.mv__sub {
  line-height: 1.7;
}

@media (max-width: 768px) {
  .mv__sub {
    padding: 0 16vw;
    margin: -16vw auto 0;
    font-size: 3.2vw;
  }
}
@media (min-width: 769px) {
  .mv__sub {
    grid-area: sub;
    align-self: start;
    font-size: 1.31vw;
  }
}
@keyframes mv-sp {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -675px;
  }
}
@keyframes mv-pc {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -1393px;
  }
}
/*------------------------------------------
logo
------------------------------------------*/
.sec-logo {
  padding: 0 5.55%;
}

@media (max-width: 768px) {
  .sec-logo {
    margin: 30px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-logo {
    margin: 40px auto 0;
  }
}
.sec-logo__block {
  background: #fff;
  border-radius: 185px;
  overflow: hidden;
}

@media (max-width: 768px) {
  .sec-logo__block {
    padding: 14px 0;
  }
}
@media (min-width: 769px) {
  .sec-logo__block {
    padding: 25px 0;
  }
}
.sec-logo__block::before, .sec-logo__block::after {
  content: "";
  width: 100%;
}

@media (max-width: 768px) {
  .sec-logo__block::before, .sec-logo__block::after {
    height: 32px;
  }
}
@media (min-width: 769px) {
  .sec-logo__block::before, .sec-logo__block::after {
    height: 60px;
  }
}
.sec-logo__block::before {
  background: url(../images/logo/top.png) repeat-x 0 0/auto 100%;
}

@media (max-width: 768px) {
  .sec-logo__block::before {
    animation: logo-top-sp 40s linear infinite;
  }
}
@media (min-width: 769px) {
  .sec-logo__block::before {
    animation: logo-top-pc 40s linear infinite;
  }
}
.sec-logo__block::after {
  background: url(../images/logo/bottom.png) repeat-x 0 0/auto 100%;
}

@media (max-width: 768px) {
  .sec-logo__block::after {
    margin: 8px auto 0;
    animation: logo-bottom-sp 60s linear infinite;
  }
}
@media (min-width: 769px) {
  .sec-logo__block::after {
    margin: 15px auto 0;
    animation: logo-bottom-pc 60s linear infinite;
  }
}
@keyframes logo-top-sp {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -462px;
  }
}
@keyframes logo-top-pc {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -867px;
  }
}
@keyframes logo-bottom-sp {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: 517px;
  }
}
@keyframes logo-bottom-pc {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: 970px;
  }
}
/*------------------------------------------
about
------------------------------------------*/
.sec-about {
  position: relative;
}

@media (max-width: 768px) {
  .sec-about {
    padding: 50px 0 0;
  }
}
@media (min-width: 769px) {
  .sec-about {
    min-height: 530px;
    padding: 100px 0 0;
  }
}
.sec-about__txt01 {
  line-height: 1.9;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 768px) {
  .sec-about__txt01 {
    margin: 16px auto 0;
    font-size: clamp(1px, 5.06vw, 19px);
  }
}
@media (min-width: 769px) {
  .sec-about__txt01 {
    margin: 20px auto 0;
    font-size: clamp(1px, 3vw, 28px);
  }
}
.sec-about__txt02 {
  font-weight: 400;
}

@media (max-width: 768px) {
  .sec-about__txt02 {
    width: 77.77%;
    margin: 25px auto 0;
    font-size: 14px;
    line-height: 2;
  }
}
@media (min-width: 769px) {
  .sec-about__txt02 {
    width: 44.44%;
    margin: 40px auto 0;
    font-size: 16px;
    line-height: 2.12;
  }
}
@media (max-width: 768px) {
  .sec-about__img {
    width: 88.88%;
    margin: 40px auto 0;
    display: flex;
    align-items: flex-end;
    gap: 13px;
  }
}
@media (min-width: 769px) {
  .sec-about__img [class*=img0] {
    position: absolute;
    top: 100px;
  }
}
.sec-about__img .img01 {
  aspect-ratio: 92/177;
}

@media (max-width: 768px) {
  .sec-about__img .img01 {
    flex: 1;
  }
}
@media (min-width: 769px) {
  .sec-about__img .img01 {
    width: clamp(1px, 16.47vw, 225px);
    left: 5.55%;
  }
}
.sec-about__img .img02 {
  aspect-ratio: 231/155;
}

@media (max-width: 768px) {
  .sec-about__img .img02 {
    width: 68.75%;
  }
}
@media (min-width: 769px) {
  .sec-about__img .img02 {
    width: clamp(1px, 47.29vw, 646px);
    left: 77.77%;
  }
}
/*------------------------------------------
reason
------------------------------------------*/
.sec-reason__head {
  width: 100%;
  position: sticky;
  left: 0;
}

@media (max-width: 768px) {
  .sec-reason__head {
    height: calc(100vh - 50px);
    top: 50px;
  }
}
@media (min-width: 769px) {
  .sec-reason__head {
    height: calc(100vh - 70px);
    top: 70px;
  }
}
.sec-reason__bg {
  width: clamp(1px, 44.8vw, 300px);
  height: clamp(1px, 44.8vw, 300px);
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sec-reason__ttl {
  color: #26B1A9;
  font-weight: 400;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 768px) {
  .sec-reason__ttl {
    font-size: 14px;
    line-height: 1.5;
  }
}
@media (min-width: 769px) {
  .sec-reason__ttl {
    font-size: 24px;
    line-height: 1.58;
  }
}
.sec-reason__wrap {
  width: 100%;
  margin: 0 auto;
  position: relative;
  transition: opacity 0.3s ease;
  opacity: 0;
}

@media (max-width: 768px) {
  .sec-reason__wrap {
    padding: calc(50px + 15px) 5.55% 15px;
  }
}
@media (min-width: 769px) {
  .sec-reason__wrap {
    padding: calc(70px + 30px) 2.2vw 30px;
  }
}
.reason-block {
  width: 100%;
  height: 100%;
  color: #000;
  background: #fff;
  position: relative;
}

@media (max-width: 768px) {
  .reason-block {
    padding: 80px 12.5% 40px;
    border-radius: 20px;
    flex-direction: column;
  }
}
@media (min-width: 769px) {
  .reason-block {
    padding: 130px 3.8vw 85px 14.86vw;
    border-radius: 40px;
    display: grid;
    grid-template-columns: 35.71% 1fr;
    grid-template-rows: repeat(2, max-content);
    gap: clamp(10px, 4.4vh, 34px) clamp(1px, 5.49vw, 75px);
    grid-template-areas: "title image" "detail image";
    place-content: center;
  }
}
@media (max-width: 768px) {
  .reason-block + .reason-block {
    margin: 15px auto 0;
  }
}
@media (min-width: 769px) {
  .reason-block + .reason-block {
    margin: 30px auto 0;
  }
}
@media (max-width: 768px) {
  .reason-block > * {
    width: 100%;
  }
}
.reason-block__head {
  color: #26B1A9;
  line-height: 1;
  font-weight: 400;
  position: absolute;
}

@media (max-width: 768px) {
  .reason-block__head {
    font-size: 12px;
    top: 20px;
    left: 20px;
  }
}
@media (min-width: 769px) {
  .reason-block__head {
    font-size: 20px;
    top: 40px;
    left: 53px;
  }
}
.reason-block__num {
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
}

@media (max-width: 768px) {
  .reason-block__num {
    display: flex;
    align-items: flex-end;
    gap: clamp(1px, 2.66vw, 10px);
    top: 18px;
    right: 20px;
  }
}
@media (min-width: 769px) {
  .reason-block__num {
    top: 50%;
    left: clamp(1px, 3.87vw, 53px);
    transform: translateY(-50%);
  }
}
.reason-block__num li {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  color: #9CD8D5;
  line-height: 1;
}

@media (max-width: 768px) {
  .reason-block__num li {
    font-size: clamp(1px, 3.2vw, 12px);
  }
}
@media (min-width: 769px) {
  .reason-block__num li {
    font-size: clamp(1px, 1.17vw, 16px);
  }
}
@media (min-width: 769px) {
  .reason-block__num li + li {
    margin: clamp(10px, 3.6vh, 28px) 0 0;
  }
}
.reason-block__num .current {
  color: #26B1A9;
}

@media (max-width: 768px) {
  .reason-block__num .current {
    font-size: clamp(1px, 5.33vw, 20px);
  }
}
@media (min-width: 769px) {
  .reason-block__num .current {
    font-size: clamp(1px, 1.61vw, 22px);
  }
}
.reason-block__ttl {
  font-weight: 700;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .reason-block__ttl {
    font-size: clamp(1px, 5.33vw, 20px);
    text-align: center;
  }
}
@media (min-width: 769px) {
  .reason-block__ttl {
    grid-area: title;
    align-self: end;
    font-size: clamp(1px, 2.34vw, 32px);
  }
}
.reason-block__img {
  position: relative;
}

@media (max-width: 768px) {
  .reason-block__img {
    margin: clamp(10px, 2.4vh, 20px) auto 0;
  }
}
@media (min-width: 769px) {
  .reason-block__img {
    grid-area: image;
    align-self: center;
  }
}
.reason-block__detail {
  position: relative;
}

@media (max-width: 768px) {
  .reason-block__detail {
    margin: clamp(10px, 3.6vh, 30px) auto 0;
  }
}
@media (min-width: 769px) {
  .reason-block__detail {
    grid-area: detail;
    align-self: start;
  }
}
@media (max-width: 768px) {
  .reason-block__detail > * + * {
    margin: clamp(10px, 3.6vh, 30px) auto 0;
  }
}
@media (min-width: 769px) {
  .reason-block__detail > * + * {
    margin: clamp(10px, 3.9vh, 30px) 0 0;
  }
}
@media (max-width: 768px) {
  .reason-block .c-card03__txt01 {
    font-size: clamp(1px, 3.3vw, 13px);
  }
}
@media (min-width: 769px) {
  .reason-block .c-card03__txt01 {
    font-size: clamp(1px, 1.6vw, 16px);
  }
}
@media (max-width: 768px) {
  .reason-block .c-btn01 {
    width: 126px;
  }
}
@media (min-width: 769px) {
  .reason-block .c-btn01 {
    width: 190px;
    margin: clamp(10px, 5.2vh, 40px) 0 0;
  }
}
.sec-reason .sec-reason__head {
  opacity: 1;
  transition: opacity 0.2s ease;
}

.sec-reason.is-show .sec-reason__head {
  opacity: 0;
}

.sec-reason.is-show .sec-reason__wrap {
  opacity: 1;
}

.reason-block.block01 .reason-block__img::before, .reason-block.block01 .reason-block__img::after {
  content: "";
  aspect-ratio: 274/54;
  width: 23.45%;
  position: absolute;
  opacity: 0;
}

.reason-block.block01 .reason-block__img::before {
  background: url(../images/reason/parts01_01.png) no-repeat center/contain;
  top: 37.4%;
  left: 39.5%;
  animation: block01-to-left 3s linear infinite;
}

.reason-block.block01 .reason-block__img::after {
  background: url(../images/reason/parts01_02.png) no-repeat center/contain;
  top: 55.8%;
  left: 41.2%;
  animation: block01-to-right 3s linear infinite;
}

@keyframes block01-to-right {
  0% {
    opacity: 0;
    transform: translateX(-20%);
  }
  33%, 66% {
    opacity: 1;
    transform: translateX(0);
  }
  80%, 100% {
    opacity: 0;
    transform: translateX(0);
  }
}
@keyframes block01-to-left {
  0% {
    opacity: 0;
    transform: translateX(20%);
  }
  33%, 66% {
    opacity: 1;
    transform: translateX(0);
  }
  80%, 100% {
    opacity: 0;
    transform: translateX(0);
  }
}
.reason-block.block02 .reason-block__img {
  aspect-ratio: 601/458;
  padding: 6.5% 0 6.5% 3.4%;
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  gap: 8.7%;
}

.reason-block.block02 .reason-block__img .img {
  opacity: 0;
}

.reason-block.block02 .reason-block__img .img:nth-child(1) {
  animation: block02-logo01 6s linear infinite;
}

.reason-block.block02 .reason-block__img .img:nth-child(2) {
  animation: block02-logo02 6s linear infinite;
}

.reason-block.block02 .reason-block__img .img:nth-child(3) {
  animation: block02-logo03 6s linear infinite;
}

.reason-block.block02 .reason-block__img .img:nth-child(4) {
  animation: block02-logo04 6s linear infinite;
}

@keyframes block02-logo01 {
  0%, 85%, 100% {
    opacity: 0;
  }
  9%, 80% {
    opacity: 1;
  }
}
@keyframes block02-logo02 {
  0%, 9%, 85%, 100% {
    opacity: 0;
  }
  18%, 80% {
    opacity: 1;
  }
}
@keyframes block02-logo03 {
  0%, 18%, 85%, 100% {
    opacity: 0;
  }
  27%, 80% {
    opacity: 1;
  }
}
@keyframes block02-logo04 {
  0%, 27%, 85%, 100% {
    opacity: 0;
  }
  36%, 80% {
    opacity: 1;
  }
}
.reason-block.block04 .reason-block__img [class*=parts] {
  position: absolute;
  opacity: 0;
}

.reason-block.block04 .reason-block__img .parts01,
.reason-block.block04 .reason-block__img .parts03 {
  aspect-ratio: 21/16;
  width: 17.4%;
  background: url(../images/reason/parts04_01.png) no-repeat center/contain;
}

.reason-block.block04 .reason-block__img .parts02 {
  aspect-ratio: 192/152;
  width: 15.9%;
  background: url(../images/reason/parts04_02.png) no-repeat center/contain;
}

.reason-block.block04 .reason-block__img .parts01 {
  top: 7.3%;
  left: 29.1%;
  animation: block03-bubble 5s linear infinite;
}

.reason-block.block04 .reason-block__img .parts02 {
  top: 22.7%;
  left: 46.6%;
  animation: block03-bubble 5s linear 1s infinite;
}

.reason-block.block04 .reason-block__img .parts03 {
  top: 32.3%;
  left: 29.1%;
  animation: block03-bubble 5s linear 2s infinite;
}

@keyframes block03-bubble {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  11%, 22% {
    opacity: 1;
    transform: translateY(0);
  }
  33%, 100% {
    opacity: 0;
    transform: translateY(-10%);
  }
}
/*------------------------------------------
feature
------------------------------------------*/
@media (max-width: 768px) {
  .sec-feature {
    padding: 60px 5.55% calc(50px + 8.79vw);
  }
}
@media (min-width: 769px) {
  .sec-feature {
    padding: 120px 5.55% calc(100px + 8.78vw);
  }
}
.sec-feature .c-txt01 {
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

@media (max-width: 768px) {
  .sec-feature .c-txt01 {
    margin: 16px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-feature .c-txt01 {
    margin: 20px auto 0;
  }
}
@media (max-width: 768px) {
  .sec-feature__block + .sec-feature__block {
    margin: 40px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-feature__block + .sec-feature__block {
    margin: 80px auto 0;
  }
}
.sec-feature__list {
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .sec-feature__list {
    margin: 66px auto 0;
    gap: 52px 16px;
  }
}
@media (min-width: 769px) {
  .sec-feature__list {
    margin: 103px auto 0;
    gap: 83px 20px;
    justify-content: center;
  }
}
@media (max-width: 768px) {
  .sec-feature__item {
    width: calc(50% - 8px);
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .sec-feature__item {
    width: calc(33.33% - 14px);
  }
}
@media (min-width: 1025px) {
  .sec-feature__item {
    width: calc(20% - 16px);
  }
}
.sec-feature__item button {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  color: #000;
  text-align: center;
  position: relative;
}

@media (max-width: 768px) {
  .sec-feature__item button {
    border-radius: 10px;
    padding: 57px 0;
  }
}
@media (min-width: 769px) {
  .sec-feature__item button {
    border-radius: 20px;
    padding: 74px 0 70px;
  }
}
@media (hover: hover) {
  .sec-feature__item button {
    transition: transform 0.2s ease;
  }

  .sec-feature__item button:hover {
    transform: translateY(-15px);
  }
}
.sec-feature__item .img {
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 768px) {
  .sec-feature__item .img {
    width: 84px;
    top: -42px;
  }
}
@media (min-width: 769px) {
  .sec-feature__item .img {
    width: 125px;
    top: -63px;
  }
}
.sec-feature__item .txt01 {
  font-weight: 700;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .sec-feature__item .txt01 {
    font-size: 14px;
  }
}
@media (min-width: 769px) {
  .sec-feature__item .txt01 {
    font-size: 18px;
  }
}
.sec-feature__item .txt02 {
  margin: 20px auto 0;
  font-weight: 400;
}

@media (max-width: 768px) {
  .sec-feature__item .txt02 {
    font-size: 12px;
    line-height: 1.66;
  }
}
@media (min-width: 769px) {
  .sec-feature__item .txt02 {
    font-size: 15px;
    line-height: 1.73;
  }
}
.sec-feature__item .more {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 auto;
  color: #26B1A9;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .sec-feature__item .more {
    font-size: 11px;
  }
}
@media (min-width: 769px) {
  .sec-feature__item .more {
    font-size: 14px;
  }
}
.sec-feature__item .cross {
  display: block;
  background: #26B1A9;
  height: 2px;
  position: relative;
}

@media (max-width: 768px) {
  .sec-feature__item .cross {
    width: 10px;
  }
}
@media (min-width: 769px) {
  .sec-feature__item .cross {
    width: 12px;
  }
}
.sec-feature__item .cross::before {
  content: "";
  width: 2px;
  background: inherit;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 768px) {
  .sec-feature__item .cross::before {
    height: 10px;
  }
}
@media (min-width: 769px) {
  .sec-feature__item .cross::before {
    height: 12px;
  }
}
.feature-modal {
  position: relative;
}

@media (min-width: 769px) {
  .feature-modal .swiper {
    overflow: visible;
  }
}
.feature-modal [class*=swiper-button] {
  border-radius: 50%;
  background: #26B1A9;
  opacity: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .feature-modal [class*=swiper-button] {
    width: 30px;
    height: 30px;
    top: calc(50% - 10px);
  }
}
@media (min-width: 769px) {
  .feature-modal [class*=swiper-button] {
    width: 50px;
    height: 50px;
    top: calc(50% - 28px);
  }
}
.feature-modal [class*=swiper-button]::after {
  content: "";
  aspect-ratio: 11/20;
  -webkit-mask: url(../../assets/images/ico_arrow02.svg) no-repeat center/contain;
          mask: url(../../assets/images/ico_arrow02.svg) no-repeat center/contain;
  background: #fff;
}

@media (max-width: 768px) {
  .feature-modal [class*=swiper-button]::after {
    width: 7px;
  }
}
@media (min-width: 769px) {
  .feature-modal [class*=swiper-button]::after {
    width: 11px;
  }
}
@media (max-width: 768px) {
  .feature-modal .swiper-button-prev {
    left: -10px;
  }
}
@media (min-width: 769px) {
  .feature-modal .swiper-button-prev {
    left: -35px;
  }
}
.feature-modal .swiper-button-prev::after {
  transform: scale(-1, -1);
}

@media (max-width: 768px) {
  .feature-modal .swiper-button-next {
    right: -10px;
  }
}
@media (min-width: 769px) {
  .feature-modal .swiper-button-next {
    right: -35px;
  }
}
.feature-modal .c-card02 {
  height: auto;
}

@media (max-width: 768px) {
  .feature-modal .c-btn01 {
    width: 126px;
    margin: 20px auto 0;
  }
}
@media (min-width: 769px) {
  .feature-modal .c-btn01 {
    width: 190px;
    margin: 30px 0 0;
  }
}
.feature-modal__current {
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .feature-modal__current {
    margin: 14px auto 0;
    font-size: 14px;
    gap: 10px;
  }
}
@media (min-width: 769px) {
  .feature-modal__current {
    margin: 32px auto 0;
    font-size: 20px;
    gap: 20px;
  }
}
.feature-modal__current .total {
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .feature-modal__current .total {
    gap: 10px;
  }
}
@media (min-width: 769px) {
  .feature-modal__current .total {
    gap: 20px;
  }
}
.feature-modal__current .total::before {
  content: "";
  width: 1px;
  background: #fff;
}

@media (max-width: 768px) {
  .feature-modal__current .total::before {
    height: 15px;
  }
}
@media (min-width: 769px) {
  .feature-modal__current .total::before {
    height: 25px;
  }
}
/*------------------------------------------
introduction
------------------------------------------*/
.sec-intro {
  background: #fff;
  color: #000;
}

@media (max-width: 768px) {
  .sec-intro {
    padding: 30px 5.55% calc(72px + 8.79vw);
  }
}
@media (min-width: 769px) {
  .sec-intro {
    padding: 0 5.55% calc(83px + 8.78vw);
  }
}
.sec-intro .c-txt01 {
  text-align: center;
}

@media (max-width: 768px) {
  .sec-intro__block01 {
    margin: 16px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-intro__block01 {
    margin: 20px auto 0;
  }
}
@media (max-width: 768px) {
  .sec-intro__block01 .c-col3-1 {
    margin: 40px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-intro__block01 .c-col3-1 {
    margin: 60px auto 0;
  }
}
.sec-intro__block01 .c-btn02 a::after {
  background: #000;
}

@media (max-width: 768px) {
  .sec-intro__block01 .c-btn01 {
    width: 126px;
    margin: 50px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-intro__block01 .c-btn01 {
    width: 190px;
    margin: 80px auto 0;
  }
}
@media (max-width: 768px) {
  .sec-intro__block02 {
    margin: 60px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-intro__block02 {
    margin: 100px auto 0;
  }
}
.sec-intro__list01 {
  counter-reset: number 0;
  max-width: 560px;
}

@media (max-width: 768px) {
  .sec-intro__list01 {
    margin: 40px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-intro__list01 {
    margin: 73px auto 0;
  }
}
@media (min-width: 1025px) {
  .sec-intro__list01 {
    max-width: 100%;
    padding: 0 50px 0 0;
    display: flex;
  }
}
.sec-intro__step {
  position: relative;
  padding: 50px 6.25% 20px 63px;
}

@media (min-width: 1025px) {
  .sec-intro__step {
    flex: 1;
    padding: 50px 0 40px 70px;
  }
}
.sec-intro__step::before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  color: #26B1A9;
  font-size: 20px;
  line-height: 1;
  position: absolute;
  top: 53px;
  left: 20px;
}

@media (min-width: 1025px) {
  .sec-intro__step::before {
    font-size: clamp(1px, 3.07vw, 42px);
    top: -0.5em;
    left: 45px;
  }
}
.sec-intro__step::after {
  content: "";
  width: 100%;
  height: 30px;
  background: inherit;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
}

@media (min-width: 1025px) {
  .sec-intro__step::after {
    width: 50px;
    height: 100%;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    top: 0;
    left: 100%;
  }
}
.sec-intro__step .head {
  font-weight: 700;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .sec-intro__step .head {
    font-size: 14px;
  }
}
@media (min-width: 769px) {
  .sec-intro__step .head {
    font-size: 18px;
  }
}
.sec-intro__step .txt01 {
  font-weight: 400;
}

@media (max-width: 768px) {
  .sec-intro__step .txt01 {
    margin: 10px auto 0;
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (min-width: 769px) {
  .sec-intro__step .txt01 {
    margin: 15px auto 0;
    font-size: 15px;
    line-height: 1.73;
  }
}
.sec-intro__step:nth-child(1) {
  background: #E4F8F7;
}

@media (max-width: 1024px) {
  .sec-intro__step:nth-child(1) {
    padding-top: 30px;
  }
}
@media (min-width: 769px) {
  .sec-intro__step:nth-child(1) {
    padding-left: 40px;
  }
}
@media (max-width: 768px) {
  .sec-intro__step:nth-child(1)::before {
    top: 33px;
  }
}
.sec-intro__step:nth-child(2) {
  background: #CBF0EE;
}

.sec-intro__step:nth-child(3) {
  background: #BEE7E5;
}

.sec-intro__step:nth-child(4) {
  background: #A4E5E1;
}

.sec-intro__step:nth-child(5) {
  background: #89DED9;
}

/*------------------------------------------
voice
------------------------------------------*/
.sec-voice {
  background: #E4F8F7;
  color: #000;
}

@media (max-width: 768px) {
  .sec-voice {
    padding: 30px 5.55% 0;
  }
}
@media (min-width: 769px) {
  .sec-voice {
    padding: 0 5.55%;
  }
}
.sec-voice .c-txt01 {
  text-align: center;
}

.sec-voice__list {
  display: grid;
}

@media (max-width: 768px) {
  .sec-voice__list {
    margin: 40px auto 0;
    gap: 25px;
  }
}
@media (min-width: 769px) {
  .sec-voice__list {
    margin: 90px auto 0;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 40px;
  }
}
.sec-voice__item {
  background: #fff;
  position: relative;
}

@media (max-width: 768px) {
  .sec-voice__item {
    padding: 20px 20px 25px 105px;
    border-radius: 10px;
  }
}
@media (min-width: 769px) {
  .sec-voice__item {
    padding: 30px clamp(1px, 4.02vw, 55px) 40px clamp(1px, 15.5vw, 175px);
    border-radius: 20px;
  }
}
.sec-voice__item .img {
  background: #BEE7E5;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
}

@media (max-width: 768px) {
  .sec-voice__item .img {
    width: 63px;
    top: -10px;
    left: 20px;
  }
}
@media (min-width: 769px) {
  .sec-voice__item .img {
    width: clamp(1px, 11vw, 115px);
    top: -30px;
    left: clamp(1px, 2.19vw, 30px);
  }
}
.sec-voice__item .img img {
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.sec-voice__item .txt01 {
  font-weight: 700;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .sec-voice__item .txt01 {
    font-size: 14px;
  }
}
@media (min-width: 769px) {
  .sec-voice__item .txt01 {
    font-size: 18px;
  }
}
.sec-voice__item .txt02 {
  font-weight: 400;
}

@media (max-width: 768px) {
  .sec-voice__item .txt02 {
    margin: 10px auto 0;
    font-size: 12px;
    line-height: 1.83;
  }
}
@media (min-width: 769px) {
  .sec-voice__item .txt02 {
    margin: 15px auto 0;
    font-size: 15px;
    line-height: 1.73;
  }
}
@media (min-width: 769px) {
  .sec-voice__item:nth-child(2n) .img img {
    transition-delay: 0.2s;
  }
}
.sec-voice__item.is-active .img img {
  transform: translateY(0);
}

/*------------------------------------------
Q&A
------------------------------------------*/
.sec-qa {
  background: #E4F8F7;
  color: #000;
}

@media (max-width: 768px) {
  .sec-qa {
    padding: 60px 5.55% calc(92px + 8.79vw);
  }
}
@media (min-width: 769px) {
  .sec-qa {
    padding: 100px 5.55% calc(100px + 8.78vw);
  }
}
@media (min-width: 769px) {
  .sec-qa .c-sec__in {
    display: flex;
    gap: 6.25%;
  }
}
@media (max-width: 768px) {
  .sec-qa .c-txt01 {
    text-align: center;
  }
}
@media (min-width: 769px) {
  .sec-qa .c-txt01 {
    width: clamp(1px, 22vw, 226px);
  }
}
@media (max-width: 768px) {
  .sec-qa__list {
    margin: 30px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-qa__list {
    flex: 1;
  }
}
.sec-qa__item {
  background: #fff;
}

@media (max-width: 768px) {
  .sec-qa__item {
    border-radius: 25px;
  }
}
@media (min-width: 769px) {
  .sec-qa__item {
    border-radius: 40px;
  }
}
@media (max-width: 768px) {
  .sec-qa__item + .sec-qa__item {
    margin: 10px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-qa__item + .sec-qa__item {
    margin: 14px auto 0;
  }
}
.sec-qa__q button {
  display: block;
  width: 100%;
  position: relative;
  line-height: 2;
}

@media (max-width: 768px) {
  .sec-qa__q button {
    padding: 12px 42px;
    font-size: 13px;
  }
}
@media (min-width: 769px) {
  .sec-qa__q button {
    padding: 22px 75px;
    font-size: 18px;
  }
}
.sec-qa__q button::before {
  content: "Q.";
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  color: #26B1A9;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  position: absolute;
}

@media (max-width: 768px) {
  .sec-qa__q button::before {
    font-size: 18px;
    top: 16px;
    left: 14px;
  }
}
@media (min-width: 769px) {
  .sec-qa__q button::before {
    font-size: 26px;
    top: 28px;
    left: 30px;
  }
}
.sec-qa__q .cross {
  background: #26B1A9;
  border-radius: 3px;
  position: absolute;
}

@media (max-width: 768px) {
  .sec-qa__q .cross {
    width: 11px;
    height: 2px;
    top: 25px;
    right: 16px;
  }
}
@media (min-width: 769px) {
  .sec-qa__q .cross {
    width: 18px;
    height: 3px;
    top: 40px;
    right: 30px;
  }
}
.sec-qa__q .cross::before {
  content: "";
  background: inherit;
  border-radius: 3px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 768px) {
  .sec-qa__q .cross::before {
    width: 2px;
    height: 11px;
  }
}
@media (min-width: 769px) {
  .sec-qa__q .cross::before {
    width: 3px;
    height: 18px;
  }
}
.sec-qa__q button.is-open .cross::before {
  content: none;
}

.sec-qa__a {
  position: relative;
  font-weight: 400;
}

@media (max-width: 768px) {
  .sec-qa__a {
    padding: 4px 42px 20px;
    font-size: 12px;
    line-height: 2.16;
  }
}
@media (min-width: 769px) {
  .sec-qa__a {
    padding: 7px 75px 30px;
    font-size: 16px;
    line-height: 2.12;
  }
}
.sec-qa__a::before {
  content: "A.";
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  color: #26B1A9;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
}

@media (max-width: 768px) {
  .sec-qa__a::before {
    font-size: 18px;
    top: 9px;
    left: 14px;
  }
}
@media (min-width: 769px) {
  .sec-qa__a::before {
    font-size: 26px;
    top: 11px;
    left: 30px;
  }
}
/*------------------------------------------
support
------------------------------------------*/
.sec-support {
  background: #26B1A9;
}

@media (max-width: 768px) {
  .sec-support {
    padding: 53.33vw 5.55% 50px;
  }
}
@media (min-width: 769px) {
  .sec-support {
    padding: 60px 5.55% 100px;
  }
}
.sec-support::after {
  content: "";
  aspect-ratio: 375/246;
  background: url(../images/support/head.webp) no-repeat center/contain;
  position: absolute;
}

@media (max-width: 768px) {
  .sec-support::after {
    width: 100%;
    top: -19.2vw;
    left: 0;
  }
}
@media (min-width: 769px) {
  .sec-support::after {
    width: clamp(1px, 65.15vw, 890px);
    top: calc(-1 * clamp(10px, 9.6vw, 132px));
    right: -132px;
  }
}
@media (min-width: 769px) {
  .sec-support .c-ttl01 {
    justify-content: flex-start;
  }
}
.sec-support__txt01 {
  line-height: 1.9;
}

@media (max-width: 768px) {
  .sec-support__txt01 {
    font-size: 14px;
  }
}
@media (min-width: 769px) {
  .sec-support__txt01 {
    font-size: clamp(1px, 2vw, 18px);
  }
}
@media (max-width: 768px) {
  .sec-support__block01 {
    width: 87.5%;
    margin: 16px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-support__block01 {
    width: 43.75%;
    margin: 20px 0 0;
  }
}
.sec-support__block01 > * + * {
  margin: 30px 0 0;
}

@media (max-width: 768px) {
  .sec-support__block01 .c-txt01 {
    text-align: center;
  }
}
@media (min-width: 769px) {
  .sec-support__block01 .sec-support__txt01 {
    width: 85.71%;
  }
}
@media (min-width: 769px) {
  .sec-support__list01 {
    margin: 40px auto 0;
  }
}
.sec-support__list01 li {
  position: relative;
  padding: 0 0 0 22px;
  font-size: 400;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .sec-support__list01 li {
    font-size: 14px;
  }
}
@media (min-width: 769px) {
  .sec-support__list01 li {
    font-size: 16px;
  }
}
.sec-support__list01 li::before {
  content: "";
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #EAAE3F;
  position: absolute;
  top: 0.5em;
  left: 0;
}

@media (max-width: 768px) {
  .sec-support__list01 li::before {
    width: 8px;
  }
}
@media (min-width: 769px) {
  .sec-support__list01 li::before {
    width: 12px;
  }
}
@media (max-width: 768px) {
  .sec-support__list01 li + li {
    margin: 9px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-support__list01 li + li {
    margin: 15px auto 0;
  }
}
@media (max-width: 768px) {
  .sec-support__block02 {
    margin: 50px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-support__block02 {
    margin: clamp(1px, 7.54vw, 103px) auto 0;
  }
}
.sec-support__block02 .c-txt01 {
  text-align: center;
}

.sec-support__block02 .sec-support__txt01 {
  margin: 30px auto 0;
  text-align: center;
}

@media (max-width: 768px) {
  .sec-support__block02 .c-col3-1 {
    margin: 36px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-support__block02 .c-col3-1 {
    margin: 60px auto 0;
  }
}
.sec-support__block02 .c-btn02 a::after {
  background: #fff;
}

@media (max-width: 768px) {
  .sec-support__block02 .c-btn01 {
    width: 126px;
    margin: 50px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-support__block02 .c-btn01 {
    width: 190px;
    margin: 80px auto 0;
  }
}
/*------------------------------------------
banner
------------------------------------------*/
.sec-bnr {
  background: #3FBEB6;
}

@media (max-width: 768px) {
  .sec-bnr {
    padding: 40px 11.11%;
  }
}
@media (min-width: 769px) {
  .sec-bnr {
    padding: 80px 5.55%;
  }
}
.sec-bnr__list {
  max-width: 960px;
  margin: 0 auto;
  display: grid;
  gap: 20px 60px;
}

@media (min-width: 769px) {
  .sec-bnr__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
/*------------------------------------------
contact
------------------------------------------*/
.sec-contact {
  background: #fff;
  color: #000;
}

@media (max-width: 768px) {
  .sec-contact {
    padding: 40px 11.11% 44px;
  }
}
@media (min-width: 769px) {
  .sec-contact {
    padding: 80px 0 84px;
  }
}
.sec-contact__txt01 {
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 400;
}

@media (max-width: 768px) {
  .sec-contact__txt01 {
    margin: 20px auto 0;
    font-size: 14px;
    line-height: 2.14;
  }
}
@media (min-width: 769px) {
  .sec-contact__txt01 {
    margin: 30px auto 0;
    font-size: 20px;
    line-height: 2;
  }
}
.sec-contact__list {
  width: clamp(100px, 85.71%, 680px);
  display: grid;
  gap: 14px 40px;
}

@media (max-width: 768px) {
  .sec-contact__list {
    margin: 30px auto 0;
  }
}
@media (min-width: 769px) {
  .sec-contact__list {
    margin: 60px auto 0;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .sec-contact__list .contact-btn a {
    height: 60px;
    font-size: 14px;
  }
}
@media (min-width: 769px) {
  .sec-contact__list .contact-btn a {
    height: 70px;
    font-size: 18px;
  }
}
.sec-contact__tel {
  font-family: "Prompt", sans-serif;
  font-weight: 400;
  line-height: 1;
  text-align: center;
}

@media (max-width: 768px) {
  .sec-contact__tel {
    margin: 36px auto 0;
    font-size: 18px;
  }
}
@media (min-width: 769px) {
  .sec-contact__tel {
    margin: 67px auto 0;
    font-size: 22px;
  }
}
.sec-contact__tel .ico {
  color: #26B1A9;
}

@media (max-width: 768px) {
  .sec-contact__tel .ico {
    margin-right: 7px;
    font-size: 13px;
  }
}
@media (min-width: 769px) {
  .sec-contact__tel .ico {
    margin-right: 15px;
    font-size: 18px;
  }
}
.sec-contact__tel .ico::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  background: url(../images/ico_tel.svg) no-repeat center/contain;
  vertical-align: middle;
}

@media (max-width: 768px) {
  .sec-contact__tel .ico::before {
    width: 16px;
  }
}
@media (min-width: 769px) {
  .sec-contact__tel .ico::before {
    width: 24px;
  }
}