.mainC {
  padding: 1px 0;
}

.mainC.oneCl {
  background-color: #fff;
}

.mainC.oneCl > .wrapper {
  display: block;
}

.mainC.oneCl h2 {
  font-weight: 700;
  margin-bottom: 30px;
  padding-bottom: 7px;
}

@media screen and (max-width: 767px) {
  .mainCon.oneCl {
    padding: 15px 0 40px;
  }
}

.swiper {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  list-style: none
}

.swiper-wrapper {
  position: relative;
  z-index: 1;
  box-sizing: content-box;
  display: flex;
  width: 100%;
  height: 100%;
  transition-property: transform
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0)
}

.swiper-pointer-events {
  touch-action: pan-y
}

.swiper-slide {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  transition-property: transform
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  inset-block: 0;
  z-index: 9;
  margin-block: auto;
  cursor: pointer;
  background-image: var(--icon-arrow);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover
}

.swiper-button-prev::after,
.swiper-button-next::after {
  position: absolute;
  inset: 0
}

@media(max-width: 767px) {

  .swiper-button-prev,
  .swiper-button-next {
    width: .625rem;
    height: 1.125rem
  }
}

@media(min-width: 768px) {

  .swiper-button-prev,
  .swiper-button-next {
    width: 1.25rem;
    height: 2.25rem
  }
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  cursor: auto;
  opacity: .35;
  pointer-events: none
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  cursor: auto;
  opacity: 0;
  pointer-events: none
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important
}

.swiper-button-prev:after,
.swiper-button-next:after {
  opacity: 0
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  right: auto
}

@media(max-width: 767px) {

  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: -0.9375rem
  }
}

@media(min-width: 768px) {

  .swiper-button-prev,
  .swiper-rtl .swiper-button-next {
    left: -3.125rem
  }
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  left: auto;
  transform: scaleX(-1)
}

@media(max-width: 767px) {

  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: -0.9375rem
  }
}

@media(min-width: 768px) {

  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: -3.125rem
  }
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next"
}

.swiper-button-lock {
  display: none
}

.swiper .swiper-notification {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1000;
  opacity: 0;
  pointer-events: none
}

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0
  }

  10% {
    opacity: 1
  }

  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0
  }
}

.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0))
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0))
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0))
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 80px;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .7);
  text-align: center;
  padding: 20px 10px 10px 10px
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none
}

.scroll-hint-text {
  font-size: 10px;
  color: #fff;
  margin-top: 5px
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #fff;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc5LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=)
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==)
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2
}

.scroll-hint-icon-white {
  background-color: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4)
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=)
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==)
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000
}

.c-swiper {
  --cs-gap: .5em;
  position: relative
}

.c-swiper .cs-slide {
  display: grid;
  align-items: center;
  grid-template-rows: 1fr max-content;
  border: 1px solid var(--gray-04);
  background-color: var(--gray-04)
}

.c-swiper .cs-media {
  overflow: hidden;
  height: -moz-max-content;
  height: max-content
}

.c-swiper .cs-body {
  display: grid;
  row-gap: var(--cs-gap);
  line-height: 1;
  border-top: 1px solid var(--gray-04);
  background-color: #fff
}

.c-swiper .cs-new {
  font-weight: 900;
  color: red
}

.c-swiper .cs-list {
  display: grid;
  row-gap: var(--cs-gap)
}

.c-swiper .cs-term {
  font-weight: 900
}

.c-swiper .cs-desc {
  display: grid;
  row-gap: var(--cs-gap)
}

.c-swiper .cs-price {
  margin-bottom: var(--cs-gap);
  font-weight: 900;
  color: var(--color-01)
}

.c-swiper .cs-text {
  line-height: 1.6
}

@media(max-width: 767px) {
  .c-swiper .cs-body {
    padding: .625rem .625rem 1.25rem
  }

  .c-swiper .cs-new {
    font-size: .625rem
  }

  .c-swiper .cs-term {
    font-size: .75rem
  }

  .c-swiper .cs-model {
    font-size: .625rem
  }

  .c-swiper .cs-price {
    font-size: 1rem
  }

  .c-swiper .cs-text {
    font-size: .625rem
  }
}

@media(min-width: 768px) {
  .c-swiper .cs-body {
    padding: 1rem 1rem 2rem
  }

  .c-swiper .cs-new {
    font-size: .75rem
  }

  .c-swiper .cs-model {
    font-size: .75rem
  }

  .c-swiper .cs-price {
    font-size: 1.25rem
  }

  .c-swiper .cs-text {
    font-size: .75rem
  }
}

@media(max-width: 389px) {
  .sec05 .cs-media img {
    max-height: clamp(186px, 58.125vw, 227px)
  }
}

@media(min-width: 390px)and (max-width: 767px) {
  .sec05 .cs-media img {
    max-height: min(43.0769230769vw, 337px)
  }
}

@media(min-width: 768px)and (max-width: 1209px) {
  .sec05 .cs-media img {
    max-height: min(23.6979166667vw, 296px)
  }
}

@media(min-width: 1210px) {
  .sec05 .cs-media img {
    max-height: min(17.9338842975vw, 248px)
  }
}

@media(max-width: 767px) {
  .sec07 .cs-media img {
    max-height: clamp(161px, 42.9333333333vw, 337px)
  }
}

@media(min-width: 768px) {
  .sec07 .cs-media img {
    max-height: min(18.102189781vw, 248px)
  }
}

.swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(100, 1fr)
}

.c-card {
  display: grid
}

.c-card-term {
  font-weight: 700;
  color: #0e4986;
}

.c-card-desc {
  text-align: justify
}

@media(max-width: 767px) {
  .c-card-image {
    border-radius: .5rem
  }

  .c-card-term {
    font-size: 1.125rem
  }
}

@media(min-width: 768px) {
  .c-card {
    grid-template-columns: repeat(2, 1fr)
  }

  .c-card-image {
    border-radius: 1rem
  }

  .c-card-term {
    font-size: 1.625rem
  }
}

.c-form {
  --form-error: #860e0e
}

.c-form :where(input:not([type=submit]), textarea) {
  width: 100%;
  padding: .5em .75em;
  border: 1px solid var(--gray-01);
  border-radius: 0
}

.c-form :where(input:not([type=submit]), textarea):is(:hover, :focus-visible) {
  outline: 1px solid var(--color-01);
  outline-offset: -1px;
  background-color: rgba(14, 73, 134, .0125)
}

.c-form :where(input:not([type=submit]), textarea):is(.is-error) {
  outline: 1px solid var(--form-error);
  outline-offset: -1px;
  background-color: rgba(134, 14, 14, .025)
}

.c-form :where(textarea) {
  resize: vertical;
  display: block;
  min-height: 6em
}

.c-form :where(label) {
  font-weight: 700;
  color: var(--color-01)
}

.c-form :where(label).required {
  position: relative
}

.c-form :where(label).required::after {
  position: absolute;
  top: -0.25em;
  right: -0.75em;
  color: red;
  content: "*"
}

.c-form :where(input[type=submit])[disabled] {
  opacity: .5;
  pointer-events: none
}

.c-form .error {
  font-size: .625rem;
  color: var(--form-error)
}

.c-form .cf-wrap {
  display: grid
}

.c-form .cf-desc.-text {
  font-size: 14px
}

@media(max-width: 767px) {
  .c-form .cr-term {
    font-size: 1.125rem
  }

  .c-form .cf-desc+.cf-term {
    margin-top: 1.5rem
  }
}

@media(min-width: 768px) {
  .c-form .cf-wrap {
    grid-template-columns: max-content 1fr;
    align-items: center;
    row-gap: 1rem;
    font-size: 1.25rem
  }

  .c-form .cf-term {
    padding-right: 1.5em;
    text-align: right
  }

  .c-form .cf-desc {
    grid-column-start: 2
  }
}

.s-form {
  position: fixed;
  inset: 0;
  z-index: 10;
  visibility: hidden;
  display: grid;
  place-content: center;
  width: 100vw;
  background-color: rgba(0, 0, 0, .5);
  transition: visibility 0s var(--duration), opacity var(--duration) 0s linear;
  opacity: 0
}

.s-form.is-open {
  visibility: visible;
  transition: visibility 0s 0s, opacity var(--duration) 0s linear;
  opacity: 1
}

.s-form .sf-wrap {
  overflow-y: auto;
  padding: 2.5vw;
  background-color: #fff;
  transition: opacity var(--duration) linear
}

.s-form .sf-list {
  display: grid
}

.s-form .sf-term {
  padding-inline: 1em;
  background-color: var(--gray-05)
}

.s-form .sf-btn-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1em;
  column-gap: 1em
}

.s-form .sf-message {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: grid;
  place-content: center;
  font-weight: 700;
  color: #fff
}

.s-form .m-btn[data-form=back] {
  border-color: var(--gray-01);
  background-color: var(--gray-01)
}

@media(hover: hover) {
  .s-form .m-btn[data-form=back]:where(:hover, :focus-visible) {
    color: var(--gray-01);
    background-color: #fff
  }
}

.s-form :where(input:not([type=submit]), textarea) {
  width: 100%;
  padding: .5em .75em;
  outline: none;
  border: none;
  border-radius: 0;
  background-color: #fff
}

.s-form :where(textarea) {
  height: 100%;
  resize: none
}

@media(max-width: 767px) {
  .s-form {
    justify-content: normal;
    padding: 5vw;
    font-size: .875rem
  }

  .s-form .sf-wrap {
    width: 100%;
    padding: 10vw 5vw
  }

  .s-form .sf-term {
    font-weight: 700;
    padding-block: .5em
  }

  .s-form .sf-desc+.sf-term {
    margin-top: 1em
  }

  .s-form .sf-message {
    font-size: 1.25rem
  }

  .s-form .m-heading {
    margin-bottom: 1.5rem
  }

  .s-form .sf-btn-wrap {
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 0.5em));
    margin-top: 2rem
  }

  .s-form .m-btn {
    width: 100%
  }

  .s-form :where(input:not([type=submit]), textarea) {
    padding-left: 1.5em
  }
}

@media(min-width: 768px) {
  .s-form {
    padding: 2.5vw
  }

  .s-form .sf-list {
    grid-template-columns: max-content 1fr;
    row-gap: 1em
  }

  .s-form .sf-term {
    padding-top: .5em
  }

  .s-form .sf-desc {
    grid-column-start: 2
  }

  .s-form .sf-message {
    font-size: 2rem
  }

  .s-form .m-heading {
    margin-bottom: 2rem
  }

  .s-form .sf-btn-wrap {
    margin-top: 2rem
  }
}

@media(max-width: 767px) {
  main>section {
    font-size: .875rem
  }

  main>section .m-heading {
    margin-bottom: 1.5rem
  }

  main>section .m-btn {
    margin-top: 1.5rem
  }
}

@media(min-width: 768px) {
  main>section .m-heading {
    margin-bottom: 2rem
  }

  main>section .m-btn {
    margin-top: 2rem
  }
}

.f-margin-block {
  margin-block: var(--front-block-gap, 2rem)
}

@media(min-width: 768px) {
  [class*=f-][class*=-block] {
    --front-block-gap: 4rem
  }
}

.f-padding-block {
  padding-block: var(--front-block-gap, 2rem)
}

.f-padding-block:nth-of-type(even) {
  background-color: var(--gray-05)
}

.f-hero {
  margin-top: 50px !important
}

.f-hero .fh-image {
  min-height: 200px;
  aspect-ratio: 5/2
}

@media(max-width: 767px) {
  .f-hero {
    margin-block: .875rem
  }

  .f-hero .fh-image {
    border-radius: .9375rem
  }
}

@media(min-width: 768px) {
  .f-hero {
    margin-block: 1.25rem
  }

  .f-hero .fh-image {
    border-radius: 1.875rem
  }
}

.sec02 {
  margin-block-end: 0
}

.sec02-item {
  color: #fff;
  position: relative
}

.sec02-item:after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, .2)
}

.sec02-dl {
  position: relative;
  z-index: 2
}

.sec02-dl.\--shadow {
  filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.25)) drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.25))
}

.sec02-term {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.2
}

.sec02-desc {
  margin-top: .625rem
}

@media(max-width: 767px) {
  .sec02-list {
    margin-top: 1rem
  }

  .sec02-item {
    padding: 2.5rem 2.5rem
  }

  .sec02-item:nth-of-type(1) {
    background: url(/lib/img/process/sec02_bg3_sm.jpg) no-repeat 50%/cover;
  }

  .sec02-item:nth-of-type(2) {
    background: url(/lib/img/process/sec02_bg1_sm.jpg) no-repeat 50%/cover;
  }

  .sec02-item:nth-of-type(3) {
    background: url(/lib/img/process/sec02_bg2_sm.jpg) no-repeat 50%/cover;
  }

  .sec02-dl {
    margin-bottom: 2rem
  }
}

@media(min-width: 768px) {
  .sec02-list {
    margin-top: 2rem
  }

  .sec02-item {
    height: 21.375rem;
    padding: 3.125rem 6.25rem
  }

  .sec02-item:nth-of-type(1) {
    background: url(/lib/img/process/sec02_bg3_md.jpg) no-repeat 50%/cover
  }

  .sec02-item:nth-of-type(2) {
    background: url(/lib/img/process/sec02_bg1_md.jpg) no-repeat 50%/cover
  }

  .sec02-item:nth-of-type(3) {
    background: url(/lib/img/process/sec02_bg2_md.jpg) no-repeat 50%/cover
  }

  .sec02-term {
    font-size: 1.875rem
  }
}

@media(max-width: 767px) {
  .sec03 .m-heading {
    display: table;
    margin-inline: auto
  }

  .sec03-list {
    row-gap: 2rem
  }
}

@media(min-width: 768px) {
  .sec03-list {
    gap: 1.875rem 5rem
  }
}

.sec04-table {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  border-spacing: 0
}

.sec04-table thead {
  font-weight: 700;
  background-color: var(--gray-04)
}

.sec04-table tbody {
  background-color: #fff
}

.sec04-table :where(td, th) {
  border: 1px solid #ccc
}

.sec04-table th {
  padding: .375em
}

.sec04-table td {
  width: 20%;
  padding: .75rem
}

@media(max-width: 767px) {
  .sec04-wrap {
    overflow-y: auto
  }

  .sec04-table {
    width: -moz-max-content;
    width: max-content
  }

  .sec04-table th {
    width: 10.46875rem
  }
}

@media(min-width: 768px) {
  .sec04-table tbody {
    font-size: 1.125rem
  }
}

.sec05-text {
  margin-top: calc(var(--cs-gap)*-1.5)
}

.sec06-list {
  display: flex
}

.sec06-tab {
  width: 100%;
  font-weight: 700;
  color: #fff;
  border-radius: .625rem .625rem 0 0
}

.sec06-tab[aria-selected=true] {
  cursor: auto;
  background-color: var(--color-01)
}

.sec06-tab[aria-selected=false] {
  background-color: var(--gray-02)
}

@media(hover: hover)and (pointer: fine) {
  .sec06-tab[aria-selected=false]:is(:hover, :focus-visible) {
    outline-color: var(--color-01)
  }
}

@media(max-width: 767px) {
  .sec06 .m-heading {
    display: table;
    margin-inline: auto
  }

  .sec06-nav {
    margin-bottom: 1.5rem
  }

  .sec06-list {
    -moz-column-gap: .625rem;
    column-gap: .625rem
  }

  .sec06-tab {
    height: 2.75rem;
    font-size: .75rem
  }

  .sec06-panel-container {
    row-gap: 2rem;
    padding-inline: 1.25rem
  }
}

@media(min-width: 768px) {
  .sec06-nav {
    margin-bottom: 2.5rem
  }

  .sec06-list {
    -moz-column-gap: 1.875rem;
    column-gap: 1.875rem
  }

  .sec06-tab {
    height: 3.125rem
  }

  .sec06-panel-container {
    gap: 1.875rem 4.375rem;
    width: 63.75rem;
    margin-inline: auto
  }
}

.sec08-wrap {
  display: grid;
  row-gap: 2em
}

.sec08-list {
  display: grid;
  row-gap: .5em
}

.sec08-list.hidden {
  display: none
}

.sec08 :where(.sec08-term, .sec08-desc)::before {
  flex-shrink: 0;
  width: 1.875rem;
  text-align: center
}

.sec08-term {
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-01)
}

.sec08-term::before {
  content: "Q."
}

.sec08-desc {
  color: var(--gray-01);
  position: relative;
  padding-left: 30px
}

.sec08-desc::before {
  font-weight: 700;
  content: "A.";
  position: absolute;
  top: 0;
  left: 0
}

@media(max-width: 767px) {
  .sec08-term {
    font-size: 1.125rem
  }
}

@media(min-width: 768px) {
  .sec08-wrap {
    justify-content: center
  }

  .sec08-term {
    font-size: 1.625rem
  }

  .sec08-desc {
    font-size: 1.25rem
  }
}

.sec10-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0
}

.sec10-table :where(tr):first-of-type :where(th) {
  border-top: 1px solid var(--color-01)
}

.sec10-table :where(tr):last-of-type :where(th) {
  border-bottom: 1px solid var(--color-01)
}

.sec10-table :where(tr):last-of-type :where(td) {
  border-bottom: 1px solid var(--gray-01)
}

.sec10-table :where(tr):not(:first-of-type) :where(th) {
  border-top: 1px solid #fff
}

.sec10-table :where(th) {
  font-weight: 400;
  -moz-text-align-last: justify;
  text-align-last: justify;
  color: #fff;
  background-color: var(--color-01)
}

.sec10-table :where(td) {
  font-weight: 300;
  border-top: 1px solid var(--gray-01);
  background-color: #fff
}

@media(max-width: 767px) {
  .sec10-table :where(th) {
    width: 6.25rem;
    padding: .9375rem 1.75rem
  }

  .sec10-table :where(td) {
    padding: .9375rem 0 .9375rem 1em
  }
}

@media(min-width: 768px) {
  .sec10-table :where(th) {
    width: 15rem;
    padding: .625rem 5.75rem;
    font-size: 1.125rem
  }

  .sec10-table :where(td) {
    padding: .625rem 1.5rem
  }

  .sec10 [data-hover=underline]::before {
    height: 1px
  }

  .sec10 [data-hover=underline]::before:where(:hover, :focus-visible) {
    background-color: currentColor
  }
}

ol {
  list-style-type: none;
  padding-left: 0;
  margin: 0;
  counter-reset: none;
}

.sec03-list {
  row-gap: 2rem
}

.m-heading {
  color: #0e4986;
  font-weight: 700;
  line-height: 1.2;
}

.tac-md {
  text-align: center;
}

@media (max-width: 767px) {
  .m-heading {
    font-size: 1.4375rem; /* 23px = 23/16 */
  }
}

@media (min-width: 768px) {
  .m-heading {
    font-size: 1.875rem; /* 30px = 30/16 */
  }
}

a.underline-link {
  color: #0070f3;
  text-decoration: underline;
  text-decoration-color: #0070f3;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
  transition: color 0.2s, text-decoration-color 0.2s;
}