@charset "UTF-8";
/* リセットcss */
@import url(https://unpkg.com/ress/dist/ress.min.css);
/* Google Fonts */
@import url(https://fonts.googleapis.com);
@import url(https://fonts.gstatic.com);
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap);
/*
color-swatch ========================================*/
/*
breakpoint ==========================================================================*/
/*
font ========================================*/
/* Zen Maru Gothic */
/* Noto Sans JP */
/* font size */
/*
all ==========================================================================*/
.header {
  background-color: #fafafa;
}
@media screen and (max-width: 750px) {
  .header {
    position: relative;
    z-index: 999;
  }
}
.header .inner {
  width: min(1640px + 1rem, 100%);
  margin-inline: auto;
  padding-left: 0.5rem;
  padding-right: 6rem;
  padding-block: 22px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .header .inner {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 550px) {
  .header .inner {
    padding-block: 10px 5px;
  }
}
.header__logo {
  width: 95px;
  display: block;
}
@media screen and (max-width: 550px) {
  .header__logo {
    width: 80px;
  }
}
.header__logo h1,
.header__logo p {
  display: block;
}
.header__nav {
  display: flex;
  align-items: center;
  justify-content: right;
  transition: all 0.5s ease;
}
@media screen and (max-width: 750px) {
  .header__nav {
    position: fixed;
    top: -2000px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: #fff;
    padding-top: 165px;
    padding-inline: 1rem;
    flex-direction: column;
    align-items: flex-start;
    opacity: 0;
  }
  .header__nav.is-active {
    top: 0;
    opacity: 1;
  }
}
@media screen and (max-width: 550px) {
  .header__nav {
    padding-top: 155px;
  }
}
.header__nav ul {
  display: flex;
  align-items: center;
  justify-content: right;
  gap: 52px;
  margin-right: 37px;
}
@media screen and (max-width: 1200px) {
  .header__nav ul {
    gap: 2.5vw;
    margin-right: 3.0833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .header__nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 5.3333333333vw;
    margin-bottom: 10.6666666667vw;
    margin-right: 0;
    width: 100%;
  }
}
@media screen and (max-width: 550px) {
  .header__nav ul {
    margin-bottom: 8vw;
  }
}
.header__nav ul li a {
  display: block;
  font-size: 14px;
  color: #005a63;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .header__nav ul li a {
    font-size: 4.8vw;
  }
}
.header__nav--cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 144px;
  border-radius: 5px;
  padding-block: 16px;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .header__nav--cta {
    width: 66.6666666667vw;
    margin-inline: auto;
    font-size: 4vw;
    padding-block: 2.6666666667vw;
  }
}
.header__nav--cta.o {
  margin-right: 14px;
  background: #f49012;
  box-shadow: 0 5px 0 #c37007;
}
.header__nav--cta.o p {
  padding-right: 5px;
}
.header__nav--cta.o p::after {
  right: -18px;
}
.header__nav--cta.g {
  background-color: #00c5cc;
  box-shadow: 0 5px 0 #005a63;
}
.header__nav--cta.g p {
  padding-right: 10px;
}
@media screen and (max-width: 750px) {
  .header__nav--cta.g p {
    padding-right: 4.6666666667vw;
  }
}
.header__nav--cta.g p::after {
  right: -10px;
}
.header__nav--cta p {
  position: relative;
  color: #fff;
}
.header__nav--cta p::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 10px;
  height: 14px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../img/common/arrow_r_w.png);
  transform: translateY(1px);
}
@media screen and (max-width: 750px) {
  .header__nav--cta p::after {
    width: 2.5333333333vw;
    height: 3.4666666667vw;
    transform: translateY(0.2666666667vw);
  }
}
.header__toggleBtn {
  display: none;
  transition: all 0.4s ease;
}
@media screen and (max-width: 750px) {
  .header__toggleBtn {
    display: block;
    width: 50px;
    cursor: pointer;
  }
}
@media screen and (max-width: 550px) {
  .header__toggleBtn {
    width: 40px;
  }
}
.header__toggleBtn span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #242320;
  margin-bottom: 16px;
  transition: all 0.4s ease;
}
@media screen and (max-width: 550px) {
  .header__toggleBtn span {
    margin-bottom: 10px;
  }
}
.header__toggleBtn span:last-of-type {
  margin-bottom: 0;
}
.header__toggleBtn.is-active span:nth-child(1) {
  transform: translateY(18px) rotate(45deg);
}
@media screen and (max-width: 550px) {
  .header__toggleBtn.is-active span:nth-child(1) {
    transform: translateY(12px) rotate(45deg);
  }
}
.header__toggleBtn.is-active span:nth-child(2) {
  opacity: 0;
}
.header__toggleBtn.is-active span:nth-child(3) {
  transform: translateY(-18px) rotate(-45deg);
}
@media screen and (max-width: 550px) {
  .header__toggleBtn.is-active span:nth-child(3) {
    transform: translateY(-12px) rotate(-45deg);
  }
}

.footer {
  background-color: #d8eced;
  padding-block: 125px 150px;
}
@media screen and (max-width: 1200px) {
  .footer {
    padding-block: 10.4166666667vw 12.5vw;
  }
}
.footer__inner {
  width: min(950px + 2rem, 100%);
  margin-inline: auto;
  padding-inline: 1rem;
}
.footer__inner nav {
  margin-bottom: 113px;
}
@media screen and (max-width: 1024px) {
  .footer__inner nav {
    margin-bottom: 11vw;
  }
}
.footer__inner nav ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .footer__inner nav ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 4.6666666667vw;
  }
}
.footer__inner nav ul li a {
  display: block;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .footer__inner nav ul li a {
    font-size: 1.75vw;
  }
}
@media screen and (max-width: 750px) {
  .footer__inner nav ul li a {
    font-size: 3.2vw;
  }
}
.footer__inner img {
  width: 155px;
  margin-bottom: 31px;
}
@media screen and (max-width: 1024px) {
  .footer__inner img {
    width: 15vw;
    margin-bottom: 3vw;
  }
}
@media screen and (max-width: 750px) {
  .footer__inner img {
    font-size: 26.6666666667vw;
    margin-bottom: 4vw;
  }
}
.footer__inner .add {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .footer__inner .add {
    font-size: 2.1333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}
.footer__inner .copy {
  text-align: right;
  font-size: 18px;
  letter-spacing: 0.0875em;
}
@media screen and (max-width: 1024px) {
  .footer__inner .copy {
    font-size: 1.75vw;
  }
}
@media screen and (max-width: 750px) {
  .footer__inner .copy {
    font-size: 2.4vw;
  }
}

.topBackBtn {
  position: fixed;
  right: 70px;
  bottom: 70px;
  width: 120px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 99;
}
@media screen and (max-width: 1200px) {
  .topBackBtn {
    right: 5.8333333333vw;
    bottom: 5.8333333333vw;
  }
}
@media screen and (max-width: 1024px) {
  .topBackBtn {
    width: 15vw;
  }
}
.topBackBtn.is-show {
  opacity: 1;
  visibility: visible;
}
.topBackBtn img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/*
導入事例 ==========================================================================*/
.works {
  padding-block: 70px 55px;
  background-color: #f3fbfb;
}
@media screen and (max-width: 1024px) {
  .works {
    padding-block: 6.8359375vw 5.37109375vw;
  }
}
@media screen and (max-width: 750px) {
  .works {
    padding-block: 9.3333333333vw 7.3333333333vw;
  }
}
.works .wrapper {
  width: min(850px + 2rem, 100%);
  margin-inline: auto;
  padding-inline: 1rem;
}
.works h1 {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  margin-bottom: 75px;
}
@media screen and (max-width: 1024px) {
  .works h1 {
    font-size: 3.90625vw;
    margin-bottom: 7.32421875vw;
  }
}
@media screen and (max-width: 750px) {
  .works h1 {
    font-size: 4.9333333333vw;
    margin-bottom: 10vw;
  }
}
.works h1::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1024px) {
  .works h1::after {
    width: 9.27734375vw;
  }
}
@media screen and (max-width: 750px) {
  .works h1::after {
    width: 12.6666666667vw;
  }
}
.works__upper {
  display: flex;
  flex-direction: column;
  gap: 124px;
  margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .works__upper {
    gap: 12.109375vw;
    margin-bottom: 9.765625vw;
  }
}
@media screen and (max-width: 750px) {
  .works__upper {
    gap: 11.3333333333vw;
    margin-bottom: 9.3333333333vw;
  }
}
.works__upper li {
  position: relative;
  width: 100%;
  background-color: #fff;
  border: solid 2px #005a63;
  padding: 24px 50px 56px;
}
@media screen and (max-width: 1024px) {
  .works__upper li {
    padding: 2.34375vw 4.8828125vw 5.46875vw;
  }
}
@media screen and (max-width: 750px) {
  .works__upper li {
    padding: 3.7333333333vw 2.6666666667vw 4.6666666667vw;
  }
}
.works__upper li .itemNum {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  margin: auto;
  width: 154px;
}
@media screen and (max-width: 1024px) {
  .works__upper li .itemNum {
    top: -2.9296875vw;
    width: 15.0390625vw;
  }
}
@media screen and (max-width: 750px) {
  .works__upper li .itemNum {
    width: 16vw;
  }
}
.works__upper li h3 {
  margin-bottom: 50px;
}
@media screen and (max-width: 1024px) {
  .works__upper li h3 {
    margin-bottom: 4.8828125vw;
  }
}
@media screen and (max-width: 750px) {
  .works__upper li h3 {
    margin-bottom: 4vw;
  }
}
.works__upper li h3 p {
  font-size: 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  padding-top: 38px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .works__upper li h3 p {
    font-size: 2.9296875vw;
    padding-top: 3.7109375vw;
  }
}
@media screen and (max-width: 750px) {
  .works__upper li h3 p {
    font-size: 3.6vw;
  }
}
.works__upper li .works__upper--lead {
  font-size: 23px;
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .works__upper li .works__upper--lead {
    font-size: 2.24609375vw;
    margin-bottom: 3.90625vw;
  }
}
@media screen and (max-width: 750px) {
  .works__upper li .works__upper--lead {
    font-size: 3.3333333333vw;
    margin-bottom: 5.3333333333vw;
    word-break: auto-phrase;
  }
}
.works__upper li figure {
  width: 463px;
  margin-inline: auto;
  margin-bottom: 17px;
}
@media screen and (max-width: 1024px) {
  .works__upper li figure {
    width: 45.21484375vw;
    margin-bottom: 1.66015625vw;
  }
}
@media screen and (max-width: 750px) {
  .works__upper li figure {
    width: 61.0666666667vw;
    margin-bottom: 6.6666666667vw;
  }
}
.works__upper li figure img {
  height: auto;
}
.works__upper li .works__upper--content p {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.05em;
  padding-inline: 20px;
}
@media screen and (max-width: 1024px) {
  .works__upper li .works__upper--content p {
    font-size: 1.7578125vw;
    padding-inline: 1.953125vw;
  }
}
@media screen and (max-width: 750px) {
  .works__upper li .works__upper--content p {
    font-size: 2.6666666667vw;
  }
}
.works__upper li .works__upper--content p span {
  background-color: #ffef12;
}
.works__bottom {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
  -moz-column-gap: 35px;
       column-gap: 35px;
  row-gap: 0;
  width: min(1760px + 1rem, 100%);
  margin-inline: auto;
  padding-inline: 1rem;
}
@media screen and (max-width: 1024px) {
  .works__bottom {
    -moz-column-gap: 3.41796875vw;
         column-gap: 3.41796875vw;
  }
}
@media screen and (max-width: 750px) {
  .works__bottom {
    padding-inline: 0;
  }
}
.works__bottom li {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  height: 100%;
  margin-bottom: 57px;
}
@media screen and (max-width: 1024px) {
  .works__bottom li {
    margin-bottom: 5.56640625vw;
  }
}
.works__bottom li .thumb {
  display: block;
}
.works__bottom li .thumb img {
  display: block;
  height: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px 5px 0 0;
}
.works__bottom li h3 {
  background-color: #005a63;
  color: #fff;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  padding-block: 3px;
  padding-inline: 32px;
  border-radius: 0 0 5px 5px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .works__bottom li h3 {
    font-size: 1.5625vw;
    padding-block: 0.29296875vw;
    padding-inline: 3.125vw;
  }
}
@media screen and (max-width: 750px) {
  .works__bottom li h3 {
    font-size: 2.1333333333vw;
    padding-block: 0.4vw;
    padding-inline: 2.6666666667vw;
  }
}
.works__bottom li p {
  font-size: 16px;
  padding-inline: 32px;
  margin-top: 10px;
  margin-bottom: 25px;
}
@media screen and (max-width: 1024px) {
  .works__bottom li p {
    font-size: 1.5625vw;
    padding-inline: 3.125vw;
    margin-top: 0.9765625vw;
    margin-bottom: 2.44140625vw;
  }
}
@media screen and (max-width: 750px) {
  .works__bottom li p {
    font-size: 1.8666666667vw;
    padding-inline: 2.6666666667vw;
    margin-top: 2vw;
    margin-bottom: 3.3333333333vw;
  }
}
.works__bottom li a {
  max-width: 170px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 40px 6px;
  border: solid 1px #005a63;
  border-radius: 999px;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .works__bottom li a {
    max-width: unset;
    width: 22.25vw;
    padding: 0.5vw 5.25vw 0.75vw;
    font-size: 2.05vw;
  }
}
@media screen and (max-width: 750px) {
  .works__bottom li a {
    font-size: 2.4vw;
  }
}
.works__bottom li a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12px;
  margin: auto;
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../img/top/arrow_r_g_2.png);
  width: 7px;
  height: 17px;
  transform: translateY(-1px);
}
@media screen and (max-width: 768px) {
  .works__bottom li a::after {
    right: 1.5vw;
    width: 1vw;
    height: 2.125vw;
  }
}
.works {
  /* 詳細ページ */
}
.works__single {
  padding-block: 80px 100px;
}
@media screen and (max-width: 1200px) {
  .works__single {
    padding-block: 6.6666666667vw 8.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single {
    padding-block: 10.6666666667vw 13.3333333333vw;
  }
}
.works__single--content {
  margin-bottom: 80px;
}
@media screen and (max-width: 1200px) {
  .works__single--content {
    margin-bottom: 6.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content {
    margin-bottom: 10.6666666667vw;
  }
}
.works__single--content h2 {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 37px;
  padding-bottom: 14px;
  margin: 40px auto 30px;
}
@media screen and (max-width: 1024px) {
  .works__single--content h2 {
    font-size: 3.61328125vw;
    margin: 3.3333333333vw auto 2.5vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content h2 {
    font-size: 4.9333333333vw;
    margin: 5.3333333333vw auto 4vw;
  }
}
.works__single--content h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1024px) {
  .works__single--content h2::after {
    width: 9.27734375vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content h2::after {
    width: 12.6666666667vw;
  }
}
.works__single--content h3 {
  font-size: 33px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  margin-block: 40px 30px;
  color: #005a63;
}
@media screen and (max-width: 1200px) {
  .works__single--content h3 {
    font-size: 2.75vw !important;
    margin-block: 3.3333333333vw 2.5vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content h3 {
    font-size: 4.4vw !important;
    margin-block: 5.3333333333vw 4vw;
  }
}
.works__single--content p {
  font-size: 24px;
}
@media screen and (max-width: 1200px) {
  .works__single--content p {
    font-size: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content p {
    font-size: 3.2vw;
  }
}
.works__single--content h4,
.works__single--content h5 {
  font-size: 24px;
}
@media screen and (max-width: 1200px) {
  .works__single--content h4,
  .works__single--content h5 {
    font-size: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content h4,
  .works__single--content h5 {
    font-size: 3.2vw;
  }
}
.works__single--content ul,
.works__single--content ol {
  list-style-position: inside;
  font-size: 24px;
}
@media screen and (max-width: 1200px) {
  .works__single--content ul,
  .works__single--content ol {
    font-size: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content ul,
  .works__single--content ol {
    font-size: 3.2vw;
  }
}
.works__single--content table {
  font-size: 24px;
}
@media screen and (max-width: 1200px) {
  .works__single--content table {
    font-size: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content table {
    font-size: 3.2vw;
  }
}
.works__single--content .works-bg-block {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background-size: cover;
  background-position: center;
  padding-block: 34px 30px;
}
@media screen and (max-width: 1200px) {
  .works__single--content .works-bg-block {
    padding-block: 2.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content .works-bg-block {
    padding-block: 4.5333333333vw;
  }
}
.works__single--content .works-bg-block .works-bg-content {
  width: min(1100px + 2rem, 100%);
  margin-inline: auto;
  padding-inline: 1rem;
  font-size: 24px;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 1200px) {
  .works__single--content .works-bg-block .works-bg-content {
    font-size: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--content .works-bg-block .works-bg-content {
    font-size: 3.2vw;
  }
}
.works__single--content .works-bg-block .works-bg-content p {
  line-height: 1.75;
  letter-spacing: 0.15em;
}
.works__single--cta {
  position: relative;
  width: 374px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 15px;
  color: #fff;
  border-radius: 999px;
  margin-inline: auto;
  background-color: #00c5cc;
}
@media screen and (max-width: 1200px) {
  .works__single--cta {
    width: 31.1666666667vw;
    padding-block: 1.25vw;
    font-size: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .works__single--cta {
    width: 81.3333333333vw;
    font-size: 6vw;
    padding-block: 4.4vw;
    margin-inline: auto;
  }
}
.works__single--cta:active, .works__single--cta:visited {
  color: #fff;
}
.works__single--cta::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30px;
  margin: auto;
  content: "";
  display: block;
  display: block;
  width: 19px;
  height: 26px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../img/common/arrow_r_w.png);
  transform: translateY(1px);
}
@media screen and (max-width: 1200px) {
  .works__single--cta::after {
    right: 2.5vw;
    width: 1.5833333333vw;
    height: 2.1666666667vw;
    transform: translateY(0.0833333333vw);
  }
}
@media screen and (max-width: 750px) {
  .works__single--cta::after {
    width: 3.3333333333vw;
    height: 6.6666666667vw;
    right: 6.6666666667vw;
  }
}

/*
プラン ==========================================================================*/
.plan__ttl {
  background-color: #d8eced;
  padding-block: 54px 48px;
}
@media screen and (max-width: 1200px) {
  .plan__ttl {
    padding-block: 4.5vw 4vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__ttl {
    padding-block: 7.2vw 6.4vw;
  }
}
.plan__ttl h1 {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 1200px) {
  .plan__ttl h1 {
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__ttl h1 {
    font-size: 5.3333333333vw;
  }
}
.plan__ttl h1::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1200px) {
  .plan__ttl h1::after {
    width: 7.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__ttl h1::after {
    width: 12.6666666667vw;
  }
}
.plan__how {
  padding-block: 53px 60px;
}
@media screen and (max-width: 1200px) {
  .plan__how {
    padding-block: 4.4166666667vw 5vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__how {
    padding-block: 12vw 10vw;
  }
}
.plan__how .wrapper {
  width: min(840px + 2rem, 100%);
  margin-inline: auto;
  padding-inline: 1rem;
}
.plan__how--upper {
  position: relative;
  border: solid 2px #12abb0;
  padding: 42px 50px 30px 70px;
  margin-bottom: 44px;
}
@media screen and (max-width: 1200px) {
  .plan__how--upper {
    padding: 3.5vw 4.1666666667vw 2.5vw 5.8333333333vw;
    margin-bottom: 3.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__how--upper {
    padding: 9.3333333333vw 2.6666666667vw 5.3333333333vw;
    margin-bottom: 9.3333333333vw;
  }
}
.plan__how--upper h2 {
  position: absolute;
  top: -22px;
  left: 0;
  right: 0;
  margin: auto;
  width: 268px;
}
@media screen and (max-width: 1200px) {
  .plan__how--upper h2 {
    top: -1.8333333333vw;
    width: 22.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__how--upper h2 {
    top: -4.2666666667vw;
    width: 53.3333333333vw;
  }
}
.plan__how--upper h2 img {
  width: 100%;
  display: block;
}
.plan__how--upper p {
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.175em;
  text-align: center;
  line-height: 1.875;
}
@media screen and (max-width: 1200px) {
  .plan__how--upper p {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__how--upper p {
    font-size: 3.7333333333vw;
  }
}
.plan__how--upper p .sp-br {
  display: none;
}
@media screen and (max-width: 750px) {
  .plan__how--upper p .sp-br {
    display: block;
  }
}
.plan__how--bottom h2 {
  font-size: 29px;
  text-align: center;
  color: #005a63;
  margin-bottom: 25px;
  letter-spacing: 0.0875em;
}
@media screen and (max-width: 1200px) {
  .plan__how--bottom h2 {
    font-size: 2.4166666667vw;
    margin-bottom: 2.0833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__how--bottom h2 {
    font-size: 4vw;
    margin-bottom: 3.3333333333vw;
  }
}
.plan__how--bottom .bottom__block {
  margin-bottom: 70px;
  display: flex;
  align-items: flex-start;
  gap: 30px;
  max-width: 740px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .plan__how--bottom .bottom__block {
    margin-bottom: 5.8333333333vw;
    gap: 2.5vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__how--bottom .bottom__block {
    flex-direction: column;
    gap: 4vw;
    margin-bottom: 9.3333333333vw;
  }
}
.plan__how--bottom .bottom__block:last-of-type {
  margin-bottom: 0;
}
.plan__how--bottom .bottom__block img {
  width: 39%;
}
@media screen and (max-width: 750px) {
  .plan__how--bottom .bottom__block img {
    width: 100%;
  }
}
.plan__how--bottom .bottom__block .right {
  width: calc(100% - 30px - 39%);
}
@media screen and (max-width: 1200px) {
  .plan__how--bottom .bottom__block .right {
    width: calc(100% - 2.5vw - 39%);
  }
}
@media screen and (max-width: 750px) {
  .plan__how--bottom .bottom__block .right {
    width: 100%;
  }
}
.plan__how--bottom .bottom__block .right h3 {
  font-size: 25px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #12abb0;
  margin-bottom: 3px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1200px) {
  .plan__how--bottom .bottom__block .right h3 {
    font-size: 2.0833333333vw;
    margin-bottom: 0.25vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__how--bottom .bottom__block .right h3 {
    font-size: 4.6666666667vw;
    margin-bottom: 1.6vw;
  }
}
.plan__how--bottom .bottom__block .right h3 br {
  display: none;
}
@media screen and (max-width: 750px) {
  .plan__how--bottom .bottom__block .right h3 br {
    display: block;
  }
}
.plan__how--bottom .bottom__block .right p {
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1.7;
}
@media screen and (max-width: 1200px) {
  .plan__how--bottom .bottom__block .right p {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__how--bottom .bottom__block .right p {
    font-size: 3.4666666667vw;
  }
}
.plan__desc {
  padding-block: 83px 60px;
  background-color: #d8eced;
}
@media screen and (max-width: 1200px) {
  .plan__desc {
    padding-block: 6.9166666667vw 5vw;
  }
}
.plan__desc--box {
  padding: 41px 50px 60px;
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  margin-bottom: 70px;
  border-radius: 7px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box {
    padding: 3.4166666667vw 4.1666666667vw 5vw;
    margin-bottom: 5.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.pc {
    display: none;
  }
}
.plan__desc--box.sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp {
    display: block;
  }
}
.plan__desc--box.sp {
  border-radius: 12px;
  border: solid 1.5px #005a63;
  margin-bottom: 60px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp {
    border-radius: 1vw;
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp {
    border-radius: 1.6vw;
    margin-bottom: 8vw;
  }
}
.plan__desc--box.sp.block01 {
  background-image: url(../img/under/service_block_bg01.png);
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block01 {
    background-image: none;
  }
}
.plan__desc--box.sp.block02 {
  background-image: url(../img/under/service_block_bg02.png);
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block02 {
    background-image: none;
  }
}
.plan__desc--box.sp.block03 {
  background-image: url(../img/under/service_block_bg03.png);
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block03 {
    background-image: none;
  }
}
.plan__desc--box.sp.block04 {
  background-image: url(../img/under/service_block_bg04.png);
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block04 {
    background-image: none;
  }
}
.plan__desc--box.sp.block01 {
  padding: 42px 20px 53px 59px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp.block01 {
    padding: 3.5vw 1.6666666667vw 4.4166666667vw 4.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block01 {
    padding: 0;
  }
}
.plan__desc--box.sp.block01 .desc {
  margin-bottom: 40px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp.block01 .desc {
    margin-bottom: 3.3333333333vw;
  }
}
.plan__desc--box.sp.block02 {
  padding: 42px 20px 60px 59px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp.block02 {
    padding: 3.5vw 1.6666666667vw 5vw 4.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block02 {
    padding: 0;
  }
}
.plan__desc--box.sp.block02 .desc {
  margin-bottom: 45px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp.block02 .desc {
    margin-bottom: 3.75vw;
  }
}
.plan__desc--box.sp.block03 {
  padding: 53px 20px 49px 40px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp.block03 {
    padding: 4.4166666667vw 1.6666666667vw 4.0833333333vw 3.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block03 {
    padding: 0;
  }
}
.plan__desc--box.sp.block03 h2 {
  letter-spacing: 0.175em;
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block03 h2 {
    display: flex;
    align-items: flex-start;
    gap: 1.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block03 h2 span {
    line-height: 1.25;
    margin-top: 1.3333333333vw;
  }
}
.plan__desc--box.sp.block04 {
  padding: 42px 20px 81px 59px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp.block04 {
    padding: 3.5vw 1.6666666667vw 6.75vw 4.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp.block04 {
    padding: 0;
  }
}
.plan__desc--box.sp h2 {
  font-size: 39px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #005a63;
  text-shadow: 0 0 29px #ffffff, 0 0 29px #ffffff;
  margin-bottom: 12px;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp h2 {
    font-size: 3.25vw;
    margin-bottom: 1vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp h2 {
    font-size: 4.5333333333vw;
    margin-bottom: 2vw;
    text-shadow: 5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 10px 10px 20px rgb(255, 255, 255), -10px -10px 20px rgb(255, 255, 255), 15px 15px 30px rgb(255, 255, 255), -15px -15px 30px rgb(255, 255, 255);
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp h2 span {
    font-size: 3.4666666667vw;
  }
}
.plan__desc--box.sp h2 span br {
  display: none;
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp h2 span br {
    display: block;
  }
}
.plan__desc--box.sp .price {
  display: flex;
  gap: 17px;
  align-items: flex-start;
  margin-bottom: 40px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .price {
    gap: 1.4166666667vw;
    margin-bottom: 3.3333333333vw;
    margin-bottom: 4.4vw;
  }
}
.plan__desc--box.sp .price__label {
  font-size: 22px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  padding: 1px 5px;
  background-color: #005a63;
  color: #fff;
  letter-spacing: 0.175em;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .price__label {
    font-size: 1.8333333333vw;
    padding: 0.0833333333vw 0.4166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .price__label {
    font-size: 2.9333333333vw;
  }
}
@media screen and (max-width: 750px) and (max-width: 750px) {
  .plan__desc--box.sp .price__label {
    padding: 0.1333333333vw 0.6666666667vw;
  }
}
.plan__desc--box.sp .price__lead {
  font-size: 21px;
  text-shadow: 0 0 29px #ffffff, 0 0 29px #ffffff;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .price__lead {
    font-size: 1.75vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .price__lead {
    font-size: 2.8vw;
    text-shadow: 5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 10px 10px 20px rgb(255, 255, 255), -10px -10px 20px rgb(255, 255, 255), 15px 15px 30px rgb(255, 255, 255), -15px -15px 30px rgb(255, 255, 255);
  }
}
.plan__desc--box.sp .price__lead .sp-show {
  display: none;
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .price__lead .sp-show {
    display: block;
  }
}
.plan__desc--box.sp .merit {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .merit {
    gap: 0.8333333333vw;
    margin-bottom: 1vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .merit {
    gap: 2.6666666667vw;
    margin-bottom: 1.6vw;
  }
}
.plan__desc--box.sp .merit img {
  width: 227px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .merit img {
    width: 18.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .merit img {
    width: 30.2666666667vw;
  }
}
.plan__desc--box.sp .merit p {
  font-size: 21px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  background: linear-gradient(transparent 80%, #ffef12 80%);
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .merit p {
    font-size: 1.75vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .merit p {
    font-size: 2.8vw;
  }
}
.plan__desc--box.sp .desc {
  font-size: 18px;
  margin-bottom: 20px;
  text-shadow: 0 0 29px #ffffff, 0 0 29px #ffffff;
  letter-spacing: 0.175em;
  line-height: 1.65;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .desc {
    font-size: 1.5vw;
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .desc {
    font-size: 2.8vw;
    text-shadow: 5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 10px 10px 20px rgb(255, 255, 255), -10px -10px 20px rgb(255, 255, 255), 15px 15px 30px rgb(255, 255, 255), -15px -15px 30px rgb(255, 255, 255);
  }
}
.plan__desc--box.sp .desc .sp-show {
  display: none;
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .desc .sp-show {
    display: block;
  }
}
.plan__desc--box.sp .flex {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  margin-bottom: 10px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .flex {
    gap: 2.5vw;
    margin-bottom: 0.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .flex {
    gap: 2vw;
    margin-bottom: 1.3333333333vw;
  }
}
.plan__desc--box.sp .flex:last-of-type {
  margin-bottom: 36px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .flex:last-of-type {
    margin-bottom: 3vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .flex:last-of-type {
    margin-bottom: 4.8vw;
  }
}
.plan__desc--box.sp .flex__label {
  width: 200px;
  padding-block: 3px;
  text-align: center;
  border: solid 1px #242320;
  font-size: 18px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .flex__label {
    width: 16.6666666667vw;
    padding-block: 0.25vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .flex__label {
    width: 26.6666666667vw;
    font-size: 2.5333333333vw;
  }
}
.plan__desc--box.sp .flex__lead {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  text-shadow: 0 0 29px #ffffff, 0 0 29px #ffffff;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .flex__lead {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .flex__lead {
    font-size: 2.6666666667vw;
    text-shadow: 5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 10px 10px 20px rgb(255, 255, 255), -10px -10px 20px rgb(255, 255, 255), 15px 15px 30px rgb(255, 255, 255), -15px -15px 30px rgb(255, 255, 255);
  }
}
.plan__desc--box.sp .flex__lead .sp-show {
  display: none;
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .flex__lead .sp-show {
    display: block;
  }
}
.plan__desc--box.sp .cta {
  display: block;
  position: relative;
  width: 278px;
  background-color: #005a63;
  border-radius: 999px;
  padding-block: 12px;
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .cta {
    width: 23.1666666667vw;
    padding-block: 1vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .cta {
    width: 52.4vw;
    font-size: 3.7333333333vw;
    margin-inline: auto;
    padding-block: 2vw;
  }
}
.plan__desc--box.sp .cta::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  content: "";
  display: block;
  width: 11px;
  height: 21px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../img/under/arrow_r_w.png);
}
@media screen and (max-width: 1200px) {
  .plan__desc--box.sp .cta::after {
    right: 0.8333333333vw;
    width: 0.9166666667vw;
    height: 1.75vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--box.sp .cta::after {
    width: 2.1333333333vw;
    height: 4vw;
    right: 2.6666666667vw;
  }
}
.plan__desc--box.sp img {
  display: block;
}
.plan__desc--box.self {
  background-image: url(../img/under/plan_bg01.png);
}
.plan__desc--box.self h2 {
  color: #92820d;
}
.plan__desc--box.all {
  background-image: url(../img/under/plan_bg02.png);
}
.plan__desc--box.all h2 {
  color: #e66b28;
}
.plan__desc--box.express {
  background-image: url(../img/under/plan_bg03.png);
}
.plan__desc--box.express h2 {
  color: #097c25;
}
.plan__desc--box.content {
  background-image: url(../img/under/plan_bg04.png);
}
.plan__desc--box.content h2 {
  color: #1b92c9;
}
.plan__desc--box h2 {
  font-size: 44px;
  margin-bottom: 4px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box h2 {
    font-size: 3.6666666667vw;
    margin-bottom: 0.3333333333vw;
  }
}
.plan__desc--box h2 small {
  font-size: 0.72em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
.plan__desc--box .plan__box--price {
  background-color: #d8eced;
  color: #005a63;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0px 5px;
  font-size: 23px;
  margin-bottom: 5px;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box .plan__box--price {
    padding: 0 0.4166666667vw;
    font-size: 1.9166666667vw;
    margin-bottom: 0.4166666667vw;
  }
}
.plan__desc--box .plan__box--price span {
  font-size: 0.73em;
}
.plan__desc--box .plan__box--price small {
  font-size: 0.69em;
}
.plan__desc--box .plan__box--sub {
  font-size: 23px;
  margin-bottom: 33px;
  letter-spacing: 0.175em;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box .plan__box--sub {
    font-size: 1.9166666667vw;
    margin-bottom: 2.75vw;
  }
}
.plan__desc--box .plan__box--lead {
  font-size: 18px;
  line-height: 1.75;
  letter-spacing: 0.175em;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box .plan__box--lead {
    font-size: 1.5vw;
  }
}
.plan__desc--box .plan__box--cta {
  position: relative;
  display: block;
  width: 252px;
  text-align: center;
  padding-block: 6px;
  border-radius: 999px;
  border: solid 2px #b6baba;
  font-size: 23px;
  margin-top: 30px;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 1200px) {
  .plan__desc--box .plan__box--cta {
    width: 21vw;
    padding-block: 0.5vw;
    font-size: 1.9166666667vw;
    margin-top: 2.5vw;
  }
}
.plan__desc--box .plan__box--cta::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 8px;
  margin: auto;
  content: "";
  display: block;
  width: 10px;
  height: 18px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../img/under/plan_arrow_rg.png);
}
@media screen and (max-width: 1200px) {
  .plan__desc--box .plan__box--cta::after {
    right: 0.6666666667vw;
    width: 0.8333333333vw;
    height: 1.5vw;
  }
}
.plan__desc--table {
  margin-bottom: 100px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--table {
    margin-bottom: 8.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--table {
    margin-bottom: 13.3333333333vw;
  }
}
.plan__desc--table h2 {
  text-align: center;
  padding-block: 15px;
  background: linear-gradient(to right, #00c5cc, #005a63);
  font-size: 25px;
  color: #fff;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1200px) {
  .plan__desc--table h2 {
    padding-block: 1.25vw;
    font-size: 2.0833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--table h2 {
    padding-block: 4.2666666667vw;
    font-size: 5.6vw;
  }
}
.plan__desc--table figure {
  background-color: #fff;
  padding: 42px 50px 45px;
}
@media screen and (max-width: 1200px) {
  .plan__desc--table figure {
    padding: 3.5vw 4.1666666667vw 3.75vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__desc--table figure {
    padding: 5.6vw 6.6666666667vw 6vw;
  }
}
.plan__desc--table figure img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 750px) {
  .plan__desc--table figure img.pc {
    display: none;
  }
}
.plan__desc--table figure img.sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .plan__desc--table figure img.sp {
    display: block;
  }
}
.plan__quat {
  padding-block: 100px 123px;
}
@media screen and (max-width: 1200px) {
  .plan__quat {
    padding-block: 8.3333333333vw 10.25vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__quat {
    padding-block: 13.3333333333vw 16.4vw;
  }
}
.plan__quat .wrapper {
  width: min(1200px + 2rem, 100%);
  margin-inline: auto;
  padding-inline: 1rem;
}
.plan__quat h2 {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  letter-spacing: 0.075em;
  margin-bottom: 76px;
}
@media screen and (max-width: 1200px) {
  .plan__quat h2 {
    font-size: 3.3333333333vw;
    margin-bottom: 6.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__quat h2 {
    font-size: 5.3333333333vw;
    margin-bottom: 10.1333333333vw;
    text-align: center;
  }
}
.plan__quat h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1200px) {
  .plan__quat h2::after {
    width: 7.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__quat h2::after {
    width: 12.6666666667vw;
  }
}
.plan__quat h2 br {
  display: none;
}
@media screen and (max-width: 750px) {
  .plan__quat h2 br {
    display: block;
  }
}
@media screen and (max-width: 750px) {
  .plan__quat--table {
    overflow-x: scroll;
  }
}
.plan__quat--table figure {
  position: relative;
}
@media screen and (max-width: 750px) {
  .plan__quat--table figure {
    width: 160vw;
  }
}
.plan__quat--table figure .quat__btn {
  position: absolute;
  display: block;
  width: 214px;
  height: 50px;
  background-color: transparent;
  top: 84px;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 1240px) {
  .plan__quat--table figure .quat__btn {
    width: 17.25vw;
    height: 4vw;
    top: 6.75vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__quat--table figure .quat__btn {
    width: 29vw;
    height: 7vw;
    top: 11.75vw;
  }
}
.plan__quat--table figure .quat__btn.self {
  left: 45px;
}
@media screen and (max-width: 1240px) {
  .plan__quat--table figure .quat__btn.self {
    left: 3.35vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__quat--table figure .quat__btn.self {
    left: 5.35vw;
  }
}
.plan__quat--table figure .quat__btn.all {
  left: 344px;
}
@media screen and (max-width: 1240px) {
  .plan__quat--table figure .quat__btn.all {
    left: 27.75vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__quat--table figure .quat__btn.all {
    left: 45.75vw;
  }
}
.plan__quat--table figure .quat__btn.express {
  right: 344px;
}
@media screen and (max-width: 1240px) {
  .plan__quat--table figure .quat__btn.express {
    right: 27.75vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__quat--table figure .quat__btn.express {
    right: unset;
    left: 85vw;
  }
}
.plan__quat--table figure .quat__btn.content {
  right: 45px;
}
@media screen and (max-width: 1240px) {
  .plan__quat--table figure .quat__btn.content {
    right: 3.35vw;
  }
}
@media screen and (max-width: 750px) {
  .plan__quat--table figure .quat__btn.content {
    right: unset;
    left: 125.5vw;
  }
}

/*
e sapo ==========================================================================*/
.esapo__ttl {
  padding-block: 66px 60px;
  background-color: #f4f8f9;
}
@media screen and (max-width: 1200px) {
  .esapo__ttl {
    padding-block: 5.5vw 5vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__ttl {
    padding-block: 6vw 6.6666666667vw;
  }
}
.esapo__ttl h1 {
  font-size: 40px;
  text-align: center;
  margin-bottom: 30px;
  color: #005a63;
  letter-spacing: 0.0875em;
}
@media screen and (max-width: 1200px) {
  .esapo__ttl h1 {
    font-size: 3.3333333333vw;
    margin-bottom: 2.5vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__ttl h1 {
    font-size: 5.7333333333vw;
  }
}
.esapo__ttl p {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 25px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.15em;
  line-height: 1.25;
}
@media screen and (max-width: 1200px) {
  .esapo__ttl p {
    font-size: 2.0833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__ttl p {
    font-size: 3.0666666667vw;
    text-align: center;
  }
}
.esapo__merit {
  padding-block: 122px 130px;
  background-color: #edf7f9;
}
@media screen and (max-width: 1200px) {
  .esapo__merit {
    padding-block: 10.1666666667vw 10.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__merit {
    padding-block: 10.6666666667vw;
  }
}
.esapo__merit--flex {
  display: flex;
  flex-direction: column;
  gap: 130px;
}
@media screen and (max-width: 1200px) {
  .esapo__merit--flex {
    gap: 10.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__merit--flex {
    gap: 10vw;
  }
}
.esapo__merit--flex .box {
  position: relative;
  border: 2px solid transparent;
  border-radius: 20px;
  background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #00c5cc, #005a63);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  padding: 52px 66px 59px 77px;
  background-color: #fff;
}
@media screen and (max-width: 1200px) {
  .esapo__merit--flex .box {
    border-radius: 1.6666666667vw;
    padding: 4.3333333333vw 5.5vw 4.9166666667vw 6.4166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__merit--flex .box {
    border-radius: 2.6666666667vw;
    padding: 8vw 8.4vw 6vw;
  }
}
.esapo__merit--flex .box .label {
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  margin: auto;
  width: 200px;
}
@media screen and (max-width: 1200px) {
  .esapo__merit--flex .box .label {
    top: -2.0833333333vw;
    width: 16.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__merit--flex .box .label {
    width: 26.9333333333vw;
    top: -3.3333333333vw;
  }
}
.esapo__merit--flex .box h2 {
  font-size: 30px;
  text-align: center;
  margin-bottom: 46px;
  letter-spacing: 0.125em;
}
@media screen and (max-width: 1200px) {
  .esapo__merit--flex .box h2 {
    font-size: 2.5vw;
    margin-bottom: 3.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__merit--flex .box h2 {
    font-size: 4.8vw;
  }
}
.esapo__merit--flex .box h2 br {
  display: none;
}
@media screen and (max-width: 750px) {
  .esapo__merit--flex .box h2 br {
    display: block;
  }
}
.esapo__merit--flex .box__content {
  display: flex;
  gap: 23px;
}
@media screen and (max-width: 1200px) {
  .esapo__merit--flex .box__content {
    gap: 1.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__merit--flex .box__content {
    flex-direction: column-reverse;
    gap: 4.6666666667vw;
  }
}
.esapo__merit--flex .box__content p {
  width: calc(100% - 23px - 41%);
  font-size: 18px;
  letter-spacing: 0.195em;
  line-height: 1.5;
}
@media screen and (max-width: 1200px) {
  .esapo__merit--flex .box__content p {
    width: calc(100% - 1.9166666667vw - 41%);
  }
}
@media screen and (max-width: 750px) {
  .esapo__merit--flex .box__content p {
    width: 100%;
    font-size: 2.6666666667vw;
  }
}
.esapo__merit--flex .box__content img {
  width: 41%;
}
@media screen and (max-width: 750px) {
  .esapo__merit--flex .box__content img {
    width: 75%;
    display: block;
    margin-inline: auto;
  }
}
.esapo__worries {
  padding-block: 79px 53px;
  background-image: url(../img/under/esapo_worries_bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
}
@media screen and (max-width: 1200px) {
  .esapo__worries {
    padding-block: 6.5833333333vw 4.4166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__worries {
    padding-block: 9.3333333333vw 7.3333333333vw;
  }
}
.esapo__worries h2 {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 38px;
  margin-bottom: 57px;
  letter-spacing: 0.1875em;
}
@media screen and (max-width: 1200px) {
  .esapo__worries h2 {
    font-size: 3.1666666667vw;
    margin-bottom: 4.75vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__worries h2 {
    font-size: 4.2666666667vw;
    margin-bottom: 7.6vw;
  }
}
.esapo__worries h2 strong {
  font-size: 1.47em;
}
.esapo__worries h2::before, .esapo__worries h2::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.esapo__worries h2::before {
  left: -70px;
  background-image: url(../img/under/esapo_worries_icon01.png);
  width: 37px;
  height: 55px;
}
@media screen and (max-width: 1200px) {
  .esapo__worries h2::before {
    left: -5.8333333333vw;
    width: 3.0833333333vw;
    height: 4.5833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__worries h2::before {
    left: -6.6666666667vw;
    width: 4.9333333333vw;
    height: 7.3333333333vw;
  }
}
.esapo__worries h2::after {
  right: -70px;
  background-image: url(../img/under/esapo_worries_icon02.png);
  width: 40px;
  height: 46px;
}
@media screen and (max-width: 1200px) {
  .esapo__worries h2::after {
    right: -5.8333333333vw;
    width: 3.3333333333vw;
    height: 3.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__worries h2::after {
    right: -6.6666666667vw;
    width: 5.3333333333vw;
    height: 6.1333333333vw;
  }
}
.esapo__worries--thumb {
  display: block;
  max-width: 900px;
  margin-inline: auto;
  margin-bottom: 80px;
}
@media screen and (max-width: 1200px) {
  .esapo__worries--thumb {
    max-width: unset;
    width: 75vw;
    margin-bottom: 6.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__worries--thumb {
    width: 100%;
    margin-bottom: 10.6666666667vw;
  }
}
.esapo__worries--arrow {
  display: block;
  max-width: 320px;
  margin-bottom: 33px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .esapo__worries--arrow {
    max-width: unset;
    width: 26.6666666667vw;
    margin-bottom: 2.75vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__worries--arrow {
    width: 42.6666666667vw;
    margin-bottom: 4.4vw;
  }
}
.esapo__worries--lead {
  font-size: 25px;
  color: #005a63;
  margin-bottom: 45px;
  text-align: center;
  letter-spacing: 0.15em;
  line-height: 1.65;
}
@media screen and (max-width: 1200px) {
  .esapo__worries--lead {
    font-size: 2.0833333333vw;
    margin-bottom: 3.75vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__worries--lead {
    font-size: 3.3333333333vw;
    margin-bottom: 6vw;
  }
}
.esapo__worries--lead span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  background: linear-gradient(transparent 80%, #ffef12 80%);
}
.esapo__worries a {
  display: block;
  position: relative;
  width: 400px;
  text-align: center;
  padding-block: 20px;
  margin-inline: auto;
  border-radius: 999px;
  border: solid 1px #005a63;
  box-shadow: 0 0 5px rgba(0, 90, 99, 0.4);
  background-color: #fff;
  color: #005a63;
}
@media screen and (max-width: 1200px) {
  .esapo__worries a {
    width: 33.3333333333vw;
    padding-block: 1.6666666667vw;
    font-size: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__worries a {
    width: 53.3333333333vw;
    padding-block: 2.6666666667vw;
    font-size: 3.2vw;
  }
}
.esapo__worries a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  content: "";
  display: block;
  width: 10px;
  height: 23px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../img/top/arrow_r_g_2.png);
}
@media screen and (max-width: 1200px) {
  .esapo__worries a::after {
    right: 0.8333333333vw;
    width: 0.8333333333vw;
    height: 1.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__worries a::after {
    right: 1.3333333333vw;
    width: 1.3333333333vw;
    height: 3.0666666667vw;
  }
}
.esapo__works--ttl {
  padding-block: 47px;
  background: linear-gradient(90deg, #005a63 0%, #00c5cc 100%);
}
@media screen and (max-width: 1200px) {
  .esapo__works--ttl {
    padding-block: 3.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__works--ttl {
    padding-block: 6.2666666667vw;
  }
}
.esapo__works--ttl h2 {
  text-align: center;
  color: #fff;
  font-size: 40px;
}
@media screen and (max-width: 1200px) {
  .esapo__works--ttl h2 {
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__works--ttl h2 {
    font-size: 5.3333333333vw;
  }
}
.esapo__works--list {
  display: flex;
  max-width: 1000px;
  margin-inline: auto;
  gap: 40px;
  padding-block: 85px 100px;
}
@media screen and (max-width: 1200px) {
  .esapo__works--list {
    max-width: unset;
    width: 83.3333333333vw;
    gap: 3.3333333333vw;
    padding-block: 7.0833333333vw 8.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__works--list {
    flex-direction: column;
    gap: 6.6666666667vw;
    padding-block: 9.3333333333vw 12vw;
  }
}
.esapo__works--list li {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: calc((100% - 80px) / 3);
  box-shadow: 0 0 5px rgba(0, 90, 99, 0.4);
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  .esapo__works--list li {
    width: calc((100% - 6.6666666667vw) / 3);
    border-radius: 0.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__works--list li {
    width: 100%;
    border-radius: 3.3333333333vw;
  }
}
.esapo__works--list li img {
  display: block;
  width: 100%;
  height: auto;
}
.esapo__works--list li .content {
  display: flex;
  flex-direction: column;
  padding: 13px 23px 25px;
  background: #e6f0f1;
  flex-grow: 1;
}
@media screen and (max-width: 1200px) {
  .esapo__works--list li .content {
    padding: 1.0833333333vw 1.9166666667vw 2.0833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__works--list li .content {
    padding: 2.4vw 3.7333333333vw 4vw;
  }
}
.esapo__works--list li .content h3 {
  font-size: 18px;
  margin-bottom: 8px;
}
@media screen and (max-width: 1200px) {
  .esapo__works--list li .content h3 {
    font-size: 1.5vw;
    margin-bottom: 0.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__works--list li .content h3 {
    font-size: 4vw;
    margin-bottom: 2vw;
  }
}
.esapo__works--list li .content p {
  flex-grow: 1;
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0.1275em;
}
@media screen and (max-width: 1200px) {
  .esapo__works--list li .content p {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__works--list li .content p {
    font-size: 3.2vw;
  }
}
.esapo__voice {
  background-color: #e6f0f1;
  padding-block: 40px 100px;
}
@media screen and (max-width: 1200px) {
  .esapo__voice {
    padding-block: 3.3333333333vw 8.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__voice {
    padding-block: 5.3333333333vw 13.3333333333vw;
  }
}
.esapo__voice--ttl {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  margin-bottom: 42px;
}
@media screen and (max-width: 1200px) {
  .esapo__voice--ttl {
    font-size: 3.3333333333vw;
    padding-bottom: 1.1666666667vw;
    margin-bottom: 3.5vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__voice--ttl {
    font-size: 5.7333333333vw;
    padding-bottom: 1.8666666667vw;
    margin-bottom: 5.6vw;
  }
}
.esapo__voice--ttl::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1200px) {
  .esapo__voice--ttl::after {
    width: 7.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__voice--ttl::after {
    width: 12.6666666667vw;
  }
}
.esapo__voice--block {
  max-width: 1050px;
  margin-inline: auto;
  background-color: #fff;
  padding: 22px 28px 20px 30px;
  display: flex;
  align-items: flex-start;
  gap: 36px;
  margin-bottom: 70px;
}
@media screen and (max-width: 1200px) {
  .esapo__voice--block {
    max-width: unset;
    width: 87.5vw;
    padding: 1.8333333333vw 2.3333333333vw 1.6666666667vw 2.5vw;
    gap: 3vw;
    margin-bottom: 5.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__voice--block {
    flex-direction: column;
    padding: 4vw 6.6666666667vw 2.6666666667vw;
  }
}
.esapo__voice--block:last-of-type {
  margin-bottom: 0;
}
.esapo__voice--block .left {
  width: 34.5%;
}
@media screen and (max-width: 750px) {
  .esapo__voice--block .left {
    display: none;
  }
}
.esapo__voice--block .content {
  width: calc(100% - 36px - 34.5%);
}
@media screen and (max-width: 1200px) {
  .esapo__voice--block .content {
    width: calc(100% - 3vw - 34.5%);
  }
}
@media screen and (max-width: 750px) {
  .esapo__voice--block .content {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .esapo__voice--block .content__sp--flex {
    display: flex;
    align-items: flex-end;
    gap: 5.3333333333vw;
    margin-bottom: 5.0666666667vw;
  }
}
.esapo__voice--block .content__sp--flex img {
  display: none;
}
@media screen and (max-width: 750px) {
  .esapo__voice--block .content__sp--flex img {
    display: block;
    width: 33%;
    aspect-ratio: 3.5/4;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
  }
}
.esapo__voice--block .content h3 {
  margin-bottom: 5px;
}
@media screen and (max-width: 1200px) {
  .esapo__voice--block .content h3 {
    margin-bottom: 0.4166666667vw;
  }
}
.esapo__voice--block .content h3 small {
  display: inline-block;
  line-height: 1.5;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 1200px) {
  .esapo__voice--block .content h3 small {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__voice--block .content h3 small {
    font-size: 2.6666666667vw;
  }
}
.esapo__voice--block .content h3 strong {
  font-size: 25px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 1200px) {
  .esapo__voice--block .content h3 strong {
    font-size: 2.0833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__voice--block .content h3 strong {
    font-size: 3.6vw;
  }
}
.esapo__voice--block .content p {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.65;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 1200px) {
  .esapo__voice--block .content p {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__voice--block .content p {
    font-size: 2.6666666667vw;
  }
}
.esapo__voice--block .content p span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
.esapo__how {
  padding-block: 50px 70px;
}
@media screen and (max-width: 1200px) {
  .esapo__how {
    padding-block: 4.1666666667vw 5.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__how {
    padding-block: 6.6666666667vw 9.3333333333vw;
  }
}
.esapo__how .wrapper {
  width: min(1280px + 2rem, 100%);
}
.esapo__how--ttl {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  margin-bottom: 42px;
}
@media screen and (max-width: 1200px) {
  .esapo__how--ttl {
    font-size: 3.3333333333vw;
    margin-bottom: 3.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__how--ttl {
    font-size: 5.3333333333vw;
    margin-bottom: 5.8666666667vw;
  }
}
.esapo__how--ttl::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1200px) {
  .esapo__how--ttl::after {
    width: 7.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__how--ttl::after {
    width: 12.6666666667vw;
  }
}
.esapo__how--movie {
  width: 100%;
  margin-bottom: 17px;
}
@media screen and (max-width: 1200px) {
  .esapo__how--movie {
    margin-bottom: 1.4166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__how--movie {
    margin-bottom: 2.2666666667vw;
  }
}
.esapo__how--sub {
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  margin-bottom: 18px;
  text-align: center;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 1200px) {
  .esapo__how--sub {
    font-size: 1.6666666667vw;
    margin-bottom: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__how--sub {
    font-size: 3.7333333333vw;
    margin-bottom: 2.4vw;
  }
}
.esapo__how--label {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 1px 8px;
  background-color: #005a63;
  color: #fff;
  font-size: 23px;
  margin-bottom: 16px;
  letter-spacing: 0.175em;
  line-height: 1.65;
}
@media screen and (max-width: 1200px) {
  .esapo__how--label {
    padding: 0.0833333333vw 0.6666666667vw;
    font-size: 1.9166666667vw;
    margin-bottom: 1.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__how--label {
    padding: 0.1333333333vw 1.0666666667vw;
    font-size: 3.7333333333vw;
    margin-bottom: 2.1333333333vw;
    text-align: center;
  }
}
.esapo__how--label br {
  display: none;
}
@media screen and (max-width: 750px) {
  .esapo__how--label br {
    display: block;
  }
}
.esapo__how--lead {
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  margin-bottom: 27px;
  text-align: center;
  letter-spacing: 0.175em;
}
@media screen and (max-width: 1200px) {
  .esapo__how--lead {
    font-size: 1.6666666667vw;
    margin-bottom: 2.25vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__how--lead {
    font-size: 3vw;
    margin-bottom: 3.6vw;
  }
}
.esapo__how--lead:last-of-type {
  margin-bottom: 0;
}
.esapo__how--lead span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
.esapo__flow {
  padding-block: 50px 125px;
  background-image: url(../img/under/esapo_flow_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 1200px) {
  .esapo__flow {
    padding-block: 4.1666666667vw 10.4166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__flow {
    padding-block: 6.6666666667vw 16.6666666667vw;
  }
}
.esapo__flow--ttl {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  margin-bottom: 64px;
}
@media screen and (max-width: 1200px) {
  .esapo__flow--ttl {
    font-size: 3.3333333333vw;
    margin-bottom: 3.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__flow--ttl {
    font-size: 5.3333333333vw;
    margin-bottom: 5.8666666667vw;
  }
}
.esapo__flow--ttl::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1200px) {
  .esapo__flow--ttl::after {
    width: 7.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__flow--ttl::after {
    width: 12.6666666667vw;
  }
}
.esapo__flow--wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 960px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .esapo__flow--wrap {
    max-width: unset;
    width: 80vw;
  }
}
.esapo__flow--wrap .card {
  margin-bottom: 50px;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  .esapo__flow--wrap .card {
    margin-bottom: 4.1666666667vw;
  }
}
.esapo__flow--wrap .card:last-of-type {
  margin-bottom: 0;
}
.esapo__flow--wrap .arrow {
  width: 180px;
  margin-block: 50px 60px;
}
@media screen and (max-width: 1200px) {
  .esapo__flow--wrap .arrow {
    width: 15vw;
    margin-block: 4.1666666667vw 5vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__flow--wrap .arrow {
    width: 41.8666666667vw;
    margin-block: 6.6666666667vw 8vw;
  }
}
.esapo__service {
  padding-block: 50px 127px;
}
@media screen and (max-width: 1200px) {
  .esapo__service {
    padding-block: 4.1666666667vw 10.5833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__service {
    padding-block: 6.6666666667vw 16.9333333333vw;
  }
}
.esapo__service--ttl {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  margin-bottom: 23px;
}
@media screen and (max-width: 1200px) {
  .esapo__service--ttl {
    font-size: 3.3333333333vw;
    margin-bottom: 3.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__service--ttl {
    font-size: 5.3333333333vw;
    margin-bottom: 5.8666666667vw;
  }
}
.esapo__service--ttl::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1200px) {
  .esapo__service--ttl::after {
    width: 7.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__service--ttl::after {
    width: 12.6666666667vw;
  }
}
.esapo__service img {
  display: block;
  max-width: 743px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .esapo__service img {
    max-width: unset;
    width: 61.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .esapo__service img {
    width: 100%;
  }
}

/*
サービス ==========================================================================*/
.service {
  padding-bottom: 100px;
}
@media screen and (max-width: 1200px) {
  .service {
    padding-bottom: 8.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .service {
    padding-bottom: 10.6666666667vw;
  }
}
.service__ttl {
  padding-block: 78px 49px;
}
@media screen and (max-width: 1200px) {
  .service__ttl {
    padding-block: 6.5vw 4.0833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .service__ttl {
    padding-block: 8vw 4.6666666667vw;
  }
}
.service__ttl h1 {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 1200px) {
  .service__ttl h1 {
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .service__ttl h1 {
    font-size: 4.9333333333vw;
  }
}
.service__ttl h1::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1200px) {
  .service__ttl h1::after {
    width: 7.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .service__ttl h1::after {
    width: 12.6666666667vw;
  }
}
.service__lead {
  padding-bottom: 33px;
}
@media screen and (max-width: 1200px) {
  .service__lead {
    padding-bottom: 2.75vw;
  }
}
@media screen and (max-width: 750px) {
  .service__lead {
    padding-bottom: 6vw;
  }
}
.service__lead p {
  font-size: 23px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.15em;
  line-height: 1.7;
}
@media screen and (max-width: 1200px) {
  .service__lead p {
    font-size: 1.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .service__lead p {
    font-size: 2.8vw;
  }
}
.service__lead p strong {
  font-size: 27px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #005a63;
}
@media screen and (max-width: 1200px) {
  .service__lead p strong {
    font-size: 2.25vw;
  }
}
@media screen and (max-width: 750px) {
  .service__lead p strong {
    font-size: 4.4vw;
  }
}
.service__lead p:last-of-type {
  margin-bottom: 23px;
}
@media screen and (max-width: 1200px) {
  .service__lead p:last-of-type {
    margin-bottom: 1.9166666667vw;
  }
}
.service__block {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 12px;
  border: solid 1.5px #005a63;
  margin-bottom: 60px;
}
@media screen and (max-width: 1200px) {
  .service__block {
    border-radius: 1vw;
    margin-bottom: 5vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block {
    border-radius: 1.6vw;
    margin-bottom: 8vw;
  }
}
.service__block.block01 {
  background-image: url(../img/under/service_block_bg01.png);
}
@media screen and (max-width: 750px) {
  .service__block.block01 {
    background-image: url(../img/under/service_block_bg01_sp.png);
  }
}
.service__block.block02 {
  background-image: url(../img/under/service_block_bg02.png);
}
@media screen and (max-width: 750px) {
  .service__block.block02 {
    background-image: url(../img/under/service_block_bg02_sp.png);
  }
}
.service__block.block03 {
  background-image: url(../img/under/service_block_bg03.png);
}
@media screen and (max-width: 750px) {
  .service__block.block03 {
    background-image: url(../img/under/service_block_bg03_sp.png);
  }
}
.service__block.block04 {
  background-image: url(../img/under/service_block_bg04.png);
}
@media screen and (max-width: 750px) {
  .service__block.block04 {
    background-image: url(../img/under/service_block_bg04_sp.png);
  }
}
.service__block.block01 {
  padding: 42px 20px 53px 59px;
}
@media screen and (max-width: 1200px) {
  .service__block.block01 {
    padding: 3.5vw 1.6666666667vw 4.4166666667vw 4.9166666667vw;
  }
}
.service__block.block01 .desc {
  margin-bottom: 40px;
}
@media screen and (max-width: 1200px) {
  .service__block.block01 .desc {
    margin-bottom: 3.3333333333vw;
  }
}
.service__block.block02 {
  padding: 42px 20px 60px 59px;
}
@media screen and (max-width: 1200px) {
  .service__block.block02 {
    padding: 3.5vw 1.6666666667vw 5vw 4.9166666667vw;
  }
}
.service__block.block02 .desc {
  margin-bottom: 45px;
}
@media screen and (max-width: 1200px) {
  .service__block.block02 .desc {
    margin-bottom: 3.75vw;
  }
}
.service__block.block03 {
  padding: 53px 20px 49px 40px;
}
@media screen and (max-width: 1200px) {
  .service__block.block03 {
    padding: 4.4166666667vw 1.6666666667vw 4.0833333333vw 3.3333333333vw;
  }
}
.service__block.block03 h2 {
  letter-spacing: 0.175em;
}
@media screen and (max-width: 750px) {
  .service__block.block03 h2 {
    display: flex;
    align-items: flex-start;
    gap: 1.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block.block03 h2 span {
    line-height: 1.25;
    margin-top: 1.3333333333vw;
  }
}
.service__block.block04 {
  padding: 42px 20px 81px 59px;
}
@media screen and (max-width: 1200px) {
  .service__block.block04 {
    padding: 3.5vw 1.6666666667vw 6.75vw 4.9166666667vw;
  }
}
.service__block h2 {
  font-size: 39px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #005a63;
  text-shadow: 0 0 29px #ffffff, 0 0 29px #ffffff;
  margin-bottom: 12px;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 1200px) {
  .service__block h2 {
    font-size: 3.25vw;
    margin-bottom: 1vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block h2 {
    font-size: 4.5333333333vw;
    margin-bottom: 2vw;
    text-shadow: 5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 10px 10px 20px rgb(255, 255, 255), -10px -10px 20px rgb(255, 255, 255), 15px 15px 30px rgb(255, 255, 255), -15px -15px 30px rgb(255, 255, 255);
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 750px) {
  .service__block h2 span {
    font-size: 3.4666666667vw;
  }
}
.service__block h2 span br {
  display: none;
}
@media screen and (max-width: 750px) {
  .service__block h2 span br {
    display: block;
  }
}
.service__block .price {
  display: flex;
  gap: 17px;
  align-items: flex-start;
  margin-bottom: 40px;
}
@media screen and (max-width: 1200px) {
  .service__block .price {
    gap: 1.4166666667vw;
    margin-bottom: 3.3333333333vw;
    margin-bottom: 4.4vw;
  }
}
.service__block .price__label {
  font-size: 22px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  padding: 1px 5px;
  background-color: #005a63;
  color: #fff;
  letter-spacing: 0.175em;
}
@media screen and (max-width: 1200px) {
  .service__block .price__label {
    font-size: 1.8333333333vw;
    padding: 0.0833333333vw 0.4166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .price__label {
    font-size: 2.9333333333vw;
  }
}
@media screen and (max-width: 750px) and (max-width: 750px) {
  .service__block .price__label {
    padding: 0.1333333333vw 0.6666666667vw;
  }
}
.service__block .price__lead {
  font-size: 21px;
  text-shadow: 0 0 29px #ffffff, 0 0 29px #ffffff;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 1200px) {
  .service__block .price__lead {
    font-size: 1.75vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .price__lead {
    font-size: 2.8vw;
    text-shadow: 5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 10px 10px 20px rgb(255, 255, 255), -10px -10px 20px rgb(255, 255, 255), 15px 15px 30px rgb(255, 255, 255), -15px -15px 30px rgb(255, 255, 255);
  }
}
.service__block .price__lead .sp-show {
  display: none;
}
@media screen and (max-width: 750px) {
  .service__block .price__lead .sp-show {
    display: block;
  }
}
.service__block .merit {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
@media screen and (max-width: 1200px) {
  .service__block .merit {
    gap: 0.8333333333vw;
    margin-bottom: 1vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .merit {
    gap: 2.6666666667vw;
    margin-bottom: 1.6vw;
  }
}
.service__block .merit img {
  width: 227px;
}
@media screen and (max-width: 1200px) {
  .service__block .merit img {
    width: 18.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .merit img {
    width: 30.2666666667vw;
  }
}
.service__block .merit p {
  font-size: 21px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  background: linear-gradient(transparent 80%, #ffef12 80%);
}
@media screen and (max-width: 1200px) {
  .service__block .merit p {
    font-size: 1.75vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .merit p {
    font-size: 2.8vw;
  }
}
.service__block .desc {
  font-size: 18px;
  margin-bottom: 20px;
  text-shadow: 0 0 29px #ffffff, 0 0 29px #ffffff;
  letter-spacing: 0.175em;
  line-height: 1.65;
}
@media screen and (max-width: 1200px) {
  .service__block .desc {
    font-size: 1.5vw;
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .desc {
    font-size: 2.8vw;
    text-shadow: 5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 10px 10px 20px rgb(255, 255, 255), -10px -10px 20px rgb(255, 255, 255), 15px 15px 30px rgb(255, 255, 255), -15px -15px 30px rgb(255, 255, 255);
  }
}
.service__block .desc .sp-show {
  display: none;
}
@media screen and (max-width: 750px) {
  .service__block .desc .sp-show {
    display: block;
  }
}
.service__block .flex {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  margin-bottom: 10px;
}
@media screen and (max-width: 1200px) {
  .service__block .flex {
    gap: 2.5vw;
    margin-bottom: 0.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .flex {
    gap: 2vw;
    margin-bottom: 1.3333333333vw;
  }
}
.service__block .flex:last-of-type {
  margin-bottom: 36px;
}
@media screen and (max-width: 1200px) {
  .service__block .flex:last-of-type {
    margin-bottom: 3vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .flex:last-of-type {
    margin-bottom: 4.8vw;
  }
}
.service__block .flex__label {
  width: 200px;
  padding-block: 3px;
  text-align: center;
  border: solid 1px #242320;
  font-size: 18px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1200px) {
  .service__block .flex__label {
    width: 16.6666666667vw;
    padding-block: 0.25vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .flex__label {
    width: 26.6666666667vw;
    font-size: 2.5333333333vw;
  }
}
.service__block .flex__lead {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  text-shadow: 0 0 29px #ffffff, 0 0 29px #ffffff;
}
@media screen and (max-width: 1200px) {
  .service__block .flex__lead {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .flex__lead {
    font-size: 2.6666666667vw;
    text-shadow: 5px 5px 10px rgb(255, 255, 255), -5px -5px 10px rgb(255, 255, 255), 10px 10px 20px rgb(255, 255, 255), -10px -10px 20px rgb(255, 255, 255), 15px 15px 30px rgb(255, 255, 255), -15px -15px 30px rgb(255, 255, 255);
  }
}
.service__block .flex__lead .sp-show {
  display: none;
}
@media screen and (max-width: 750px) {
  .service__block .flex__lead .sp-show {
    display: block;
  }
}
.service__block .cta {
  display: block;
  position: relative;
  width: 278px;
  background-color: #005a63;
  border-radius: 999px;
  padding-block: 12px;
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 1200px) {
  .service__block .cta {
    width: 23.1666666667vw;
    padding-block: 1vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .cta {
    width: 52.4vw;
    font-size: 3.7333333333vw;
    margin-inline: auto;
    padding-block: 2vw;
  }
}
.service__block .cta::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  content: "";
  display: block;
  width: 11px;
  height: 21px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(../img/under/arrow_r_w.png);
}
@media screen and (max-width: 1200px) {
  .service__block .cta::after {
    right: 0.8333333333vw;
    width: 0.9166666667vw;
    height: 1.75vw;
  }
}
@media screen and (max-width: 750px) {
  .service__block .cta::after {
    width: 2.1333333333vw;
    height: 4vw;
    right: 2.6666666667vw;
  }
}

/*
faq ==========================================================================*/
.faq {
  padding-bottom: 100px;
}
@media screen and (max-width: 750px) {
  .faq {
    padding-bottom: 13.3333333333vw;
  }
}
.faq__ttl {
  padding-block: 78px 49px;
}
@media screen and (max-width: 1200px) {
  .faq__ttl {
    padding-block: 6.5vw 4.0833333333vw;
  }
}
@media screen and (max-width: 750px) {
  .faq__ttl {
    padding-block: 10.4vw 6.5333333333vw;
  }
}
.faq__ttl h1 {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 1200px) {
  .faq__ttl h1 {
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .faq__ttl h1 {
    font-size: 5.3333333333vw;
  }
}
.faq__ttl h1::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1200px) {
  .faq__ttl h1::after {
    width: 7.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .faq__ttl h1::after {
    width: 12.6666666667vw;
  }
}
.faq__accordion {
  max-width: 1000px;
  margin-inline: auto;
}
.faq__accordion .details {
  margin-bottom: 47px;
}
@media screen and (max-width: 750px) {
  .faq__accordion .details {
    margin-bottom: 6.2666666667vw;
  }
}
.faq__accordion .details-summary {
  position: relative;
  display: block;
  padding: 27px 40px;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  background-color: #005a63;
  color: #fff;
  border-radius: 12px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 750px) {
  .faq__accordion .details-summary {
    font-size: 3.2vw;
    padding: 3.6vw 7.3333333333vw 3.6vw 5.3333333333vw;
    border-radius: 1.6vw;
  }
}
.faq__accordion .details-summary:hover {
  cursor: pointer;
  opacity: 0.8;
}
.faq__accordion .details-summary .btn {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 3%;
  width: 33px;
  height: 33px;
  transform-origin: center center;
  transition-duration: 0.3s;
}
@media screen and (max-width: 750px) {
  .faq__accordion .details-summary .btn {
    width: 4.4vw;
    height: 4.4vw;
  }
}
.faq__accordion .details-summary .btn:before, .faq__accordion .details-summary .btn:after {
  content: "";
  background-color: #fff;
  width: 33px;
  height: 3px;
  position: absolute;
  top: 14px;
  left: 0;
  transform-origin: center center;
}
@media screen and (max-width: 750px) {
  .faq__accordion .details-summary .btn:before, .faq__accordion .details-summary .btn:after {
    width: 4.4vw;
    height: 0.4vw;
    top: 1.8666666667vw;
  }
}
.faq__accordion .details-summary .btn:before {
  width: 3px;
  height: 33px;
  top: 0;
  left: 14px;
}
@media screen and (max-width: 750px) {
  .faq__accordion .details-summary .btn:before {
    width: 0.4vw;
    height: 4.4vw;
    left: 1.8666666667vw;
  }
}
.faq__accordion .details-summary.is-active {
  border-radius: 12px 12px 0 0;
}
@media screen and (max-width: 750px) {
  .faq__accordion .details-summary.is-active {
    border-radius: 1.6vw 1.6vw 0 0;
  }
}
.faq__accordion .details-summary.is-active .btn:before {
  content: none;
}
.faq__accordion .details-summary::-webkit-details-marker {
  display: none;
}
.faq__accordion .details-content {
  padding: 21px 43px 36px;
  background-color: #d8eced;
  border-radius: 0 0 12px 12px;
}
@media screen and (max-width: 750px) {
  .faq__accordion .details-content {
    padding: 2.8vw 5.7333333333vw 4.8vw;
    border-radius: 0 0 1.6vw 1.6vw;
  }
}
.faq__accordion .details-content p {
  color: #242320;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  text-align: left;
}
@media screen and (max-width: 750px) {
  .faq__accordion .details-content p {
    font-size: 2.9333333333vw;
  }
}
.faq__accordion .details-content p:last-of-type {
  margin: 0 0 0;
}

/*
news ==========================================================================*/
.news {
  padding-block: 70px 120px;
  background-color: #f3fbfb;
}
@media screen and (max-width: 1024px) {
  .news {
    padding-block: 6.8359375vw 11.71875vw;
  }
}
@media screen and (max-width: 750px) {
  .news {
    padding-block: 9.3333333333vw 16vw;
  }
}
.news h1 {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: 40px;
  padding-bottom: 14px;
  margin-inline: auto;
  margin-bottom: 75px;
}
@media screen and (max-width: 1024px) {
  .news h1 {
    font-size: 3.90625vw;
    margin-bottom: 7.32421875vw;
  }
}
@media screen and (max-width: 750px) {
  .news h1 {
    font-size: 5.3333333333vw;
    margin-bottom: 10vw;
  }
}
.news h1::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  content: "";
  display: block;
  width: 95px;
  height: 3px;
  background-color: #005a63;
}
@media screen and (max-width: 1024px) {
  .news h1::after {
    width: 9.27734375vw;
  }
}
@media screen and (max-width: 750px) {
  .news h1::after {
    width: 12.6666666667vw;
  }
}
.news ul {
  display: flex;
  gap: 50px 38px;
  flex-wrap: wrap;
}
@media screen and (max-width: 1200px) {
  .news ul {
    gap: 4.1666666667vw 3.1666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .news ul {
    gap: 6.9333333333vw 4vw;
  }
}
.news ul li {
  width: calc((100% - 76px) / 3);
}
@media screen and (max-width: 1200px) {
  .news ul li {
    width: calc((100% - 6.3333333333vw) / 3);
  }
}
@media screen and (max-width: 750px) {
  .news ul li {
    width: calc((100% - 4vw) / 2);
  }
}
.news ul li.last {
  display: none;
}
@media screen and (max-width: 750px) {
  .news ul li.last {
    display: block;
  }
}
.news ul li img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  margin-bottom: 30px;
}
@media screen and (max-width: 1200px) {
  .news ul li img {
    margin-bottom: 2.5vw;
  }
}
@media screen and (max-width: 750px) {
  .news ul li img {
    margin-bottom: 2vw;
  }
}
.news ul li p {
  font-size: 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.0125em;
  line-height: 1.5;
}
@media screen and (max-width: 1200px) {
  .news ul li p {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .news ul li p {
    font-size: 3.2vw;
  }
}
.news.single .news__date {
  font-size: 20px;
  text-align: right;
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  .news.single .news__date {
    font-size: 2.6666666667vw;
    margin-bottom: 4vw;
  }
}
.news.single .news__content {
  width: min(800px + 2rem, 100%);
  margin-inline: auto;
  padding-inline: 1rem;
}
@media screen and (max-width: 1200px) {
  .news.single .news__content {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 750px) {
  .news.single .news__content {
    font-size: 3.2vw;
  }
}
.news.single .news__content--thumb {
  margin-bottom: 50px;
}
@media screen and (max-width: 1200px) {
  .news.single .news__content--thumb {
    margin-bottom: 4.1666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .news.single .news__content--thumb {
    margin-bottom: 6.6666666667vw;
  }
}
.news.single .news__content--thumb img {
  display: block;
  width: 100%;
  height: auto;
}

/*
contact ==========================================================================*/
.contact {
  background-color: #fafafa;
}
.contact__ttl {
  background: linear-gradient(to right, #005a63, #00c5cc);
  padding-block: 54px;
}
@media screen and (max-width: 1200px) {
  .contact__ttl {
    padding-block: 4.5vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__ttl {
    padding-block: 7.2vw;
  }
}
.contact__ttl h1 {
  font-size: 48px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .contact__ttl h1 {
    font-size: 4vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__ttl h1 {
    font-size: 6.4vw;
  }
}
.contact__content {
  padding-block: 34px 95px;
}
@media screen and (max-width: 1200px) {
  .contact__content {
    padding-block: 2.8333333333vw 7.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content {
    padding-block: 4.5333333333vw 12.6666666667vw;
  }
}
.contact__content--lead {
  font-size: 22px;
  text-align: center;
  margin-bottom: 57px;
  letter-spacing: 0.175em;
}
@media screen and (max-width: 1200px) {
  .contact__content--lead {
    font-size: 1.8333333333vw;
    margin-bottom: 4.75vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--lead {
    font-size: 2.9333333333vw;
    margin-bottom: 7.6vw;
  }
}
.contact__content--wrap {
  max-width: 850px;
  margin-inline: auto;
}
@media screen and (max-width: 1200px) {
  .contact__content--wrap {
    max-width: unset;
    width: 70.8333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--wrap {
    width: 100%;
  }
}
.contact__content--wrap dl {
  display: flex;
  align-items: center;
  margin-bottom: 35px;
}
@media screen and (max-width: 1200px) {
  .contact__content--wrap dl {
    margin-bottom: 2.9166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--wrap dl {
    flex-direction: column;
    margin-bottom: 4.6666666667vw;
    align-items: flex-start;
    gap: 2vw;
  }
}
.contact__content--wrap dl.text {
  align-items: flex-start;
}
.contact__content--wrap dl dt {
  width: 36%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 20px;
  padding-block: 5px;
  padding-right: 20px;
  border-right: solid 1px #d1d3d3;
}
@media screen and (max-width: 1200px) {
  .contact__content--wrap dl dt {
    font-size: 1.6666666667vw;
    padding-block: 0.4166666667vw;
    padding-right: 1.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--wrap dl dt {
    width: 50%;
    font-size: 3.2vw;
    padding-block: 0.6666666667vw;
    padding-right: 0;
    border-right: none;
  }
}
.contact__content--wrap dl dt span {
  display: inline-block;
  font-size: 16px;
  padding: 3px 10px;
  border-radius: 5px;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .contact__content--wrap dl dt span {
    font-size: 1.3333333333vw;
    padding: 0.25vw 0.8333333333vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--wrap dl dt span {
    font-size: 2.1333333333vw;
    padding: 0.4vw 1.3333333333vw;
    border-radius: 0.6666666667vw;
  }
}
.contact__content--wrap dl dt span.must {
  background-color: #cf1c33;
}
.contact__content--wrap dl dt span.normal {
  background-color: #646061;
}
.contact__content--wrap dl dd {
  width: 63%;
  padding-left: 28px;
}
@media screen and (max-width: 1200px) {
  .contact__content--wrap dl dd {
    padding-left: 2.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--wrap dl dd {
    width: 100%;
    padding-left: 0;
    font-size: 2.9333333333vw;
  }
}
.contact__content--wrap dl dd input,
.contact__content--wrap dl dd textarea {
  width: 100%;
  border: solid 3px #d1d3d3;
  padding: 7px 20px 11px 20px;
  background-color: #fff;
}
@media screen and (max-width: 1200px) {
  .contact__content--wrap dl dd input,
  .contact__content--wrap dl dd textarea {
    padding: 0.5833333333vw 1.6666666667vw 0.9166666667vw 1.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--wrap dl dd input,
  .contact__content--wrap dl dd textarea {
    border: solid 2px #d1d3d3;
    padding: 0.9333333333vw 2.6666666667vw 1.4666666667vw 2.6666666667vw;
  }
}
.contact__content--wrap dl dd input::-moz-placeholder, .contact__content--wrap dl dd textarea::-moz-placeholder {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}
.contact__content--wrap dl dd input::placeholder,
.contact__content--wrap dl dd textarea::placeholder {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 1200px) {
  .contact__content--wrap dl dd input::-moz-placeholder, .contact__content--wrap dl dd textarea::-moz-placeholder {
    font-size: 1.1666666667vw;
  }
  .contact__content--wrap dl dd input::placeholder,
  .contact__content--wrap dl dd textarea::placeholder {
    font-size: 1.1666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--wrap dl dd input::-moz-placeholder, .contact__content--wrap dl dd textarea::-moz-placeholder {
    font-size: 2.9333333333vw;
  }
  .contact__content--wrap dl dd input::placeholder,
  .contact__content--wrap dl dd textarea::placeholder {
    font-size: 2.9333333333vw;
  }
}
.contact__content--wrap dl dd textarea {
  height: 200px;
}
@media screen and (max-width: 1200px) {
  .contact__content--wrap dl dd textarea {
    height: 16.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--wrap dl dd textarea {
    height: 40vw;
  }
}
.contact__content--btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-top: 100px;
}
@media screen and (max-width: 1200px) {
  .contact__content--btns {
    gap: 3.3333333333vw;
    margin-top: 8.3333333333vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--btns {
    flex-direction: column;
    gap: 5.3333333333vw;
    margin-top: 13.3333333333vw;
  }
}
.contact__content--btns input {
  width: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  padding-block: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #fff;
  font-size: 18px;
}
@media screen and (max-width: 1200px) {
  .contact__content--btns input {
    width: 20.8333333333vw;
    border-radius: 0.4166666667vw;
    padding-block: 1.25vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--btns input {
    width: 53.3333333333vw;
    border-radius: 0.6666666667vw;
    padding-block: 2vw;
    font-size: 2.9333333333vw;
  }
}
.contact__content--btns input.wpcf7-previous {
  background-color: #646061;
}
.contact__content--btns input.wpcf7-submit {
  background-color: #00c5cc;
}
.contact__content--thanks p {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 1200px) {
  .contact__content--thanks p {
    margin-bottom: 3.3333333333vw;
    font-size: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--thanks p {
    margin-bottom: 5.3333333333vw;
    font-size: 3.2vw;
  }
}
.contact__content--thanks a {
  display: block;
  margin-inline: auto;
  width: 250px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  padding-block: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #fff;
  font-size: 18px;
  background-color: #00c5cc;
}
@media screen and (max-width: 1200px) {
  .contact__content--thanks a {
    width: 20.8333333333vw;
    border-radius: 0.4166666667vw;
    padding-block: 1.25vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 750px) {
  .contact__content--thanks a {
    width: 46.6666666667vw;
    border-radius: 0.6666666667vw;
    padding-block: 2vw;
    font-size: 3.2vw;
  }
}/*# sourceMappingURL=under.css.map */