@charset "UTF-8";
/*///////////////////////////////////////////////////
//
//            ▼ ベース設定 ▼
//
///////////////////////////////////////////////////*/
html {
  color: #000;
  font-size: calc(12px + 4 * (100vw - 768px) / 912);
  font-family: "noto-sans-cjk-jp", sans-serif;
  line-height: 2;
}

@media screen and (min-width: 1680px) {
  html {
    font-size: 16px;
  }
}
a {
  color: #000;
  display: block;
}

#wrapper {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  height: auto;
}

section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

.l_container {
  width: 95%;
  margin: 0 auto;
  max-width: 1680px;
}

.container {
  width: 90%;
  margin: 0 auto;
  max-width: 1280px;
}

.m_container {
  width: 95%;
  margin: 0 auto;
  max-width: 872px;
}
@media screen and (max-width: 767px) {
  .m_container {
    width: 100%;
    padding: 0 1rem;
  }
}

.s_container {
  width: 90%;
  margin: 0 auto;
  max-width: 701px;
}
@media screen and (max-width: 767px) {
  .s_container {
    width: 100%;
    padding: 0 1rem;
  }
}

@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
}

.is-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .is-sp {
    display: block;
  }
}

.objectCover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  font-family: "object-fit: cover;object-position: 50% 50%;";
}

.objectContain {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  font-family: "object-fit: contain;object-position: 50% 50%;";
}

.point_reader {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.preload * {
  transition: none;
}

a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

.en {
  font-family: "Montserrat", sans-serif;
}

.c-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  height: 52px;
  border-radius: 100px;
  background: var(--pencil_gradation, linear-gradient(90deg, #0FB3DB 0%, #60DB8C 100%));
  color: #FFF;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  transition: box-shadow 0.3s ease, background 0.4s ease;
  position: relative;
  overflow: hidden;
  text-decoration: none !important;
}
.c-button:hover {
  background: var(--pencil_gradation-hover, linear-gradient(90deg, #0FA3EB 0%, #50CA7C 100%));
  box-shadow: 0 8px 20px rgba(15, 179, 219, 0.5);
}
.c-button::before {
  content: "";
  background: rgba(255, 255, 255, 0.15);
  transform: rotate(-45deg);
  position: absolute;
  top: -10%;
  left: -100%;
  transition: 0.5s ease-in-out;
  height: 100%;
  width: 110%;
  overflow: hidden;
}
.c-button:hover::before {
  left: 80%;
}

/*///////////////////////////////////////////////////
//
//            ▼ ヘッダー ▼
//
///////////////////////////////////////////////////*/
header {
  position: fixed;
  top: 0%;
  left: 0%;
  background: #FFF;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
  z-index: 5000;
  width: 100%;
  height: 52px;
  display: flex;
  align-items: center;
}
header .header-in {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 90%;
  margin: 0 auto;
  max-width: 1000px;
}
@media screen and (max-width: 767px) {
  header .header-in {
    gap: 3px;
    align-items: end;
    width: 82%;
  }
}
@media screen and (max-width: 767px) {
  header .tensyokulogo {
    width: 157px;
  }
}
@media screen and (max-width: 767px) {
  header .pencillogo {
    width: 132px;
    margin-bottom: 2px;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ kv ▼
//
///////////////////////////////////////////////////*/
.kv {
  background: #FEFDF8;
  padding: 117px 0 29px;
}
@media screen and (max-width: 767px) {
  .kv {
    padding: 97px 0 0;
  }
}
.kv__content {
  position: relative;
}
.kv__image01 {
  position: absolute;
  top: -10%;
  right: -5%;
}
.kv__image02 {
  position: absolute;
  bottom: 0%;
  left: 0%;
}
@media screen and (max-width: 767px) {
  .kv__image {
    margin-top: 10px;
  }
}
.kv__title {
  width: 533.752px;
  height: 30.634px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .kv__title {
    display: block;
    width: 310.25px;
    height: 98.634px;
  }
}
.kv__description {
  margin-top: 32px;
  color: #333;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  /* 171.429% */
  letter-spacing: 1.4px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .kv__description {
    margin-top: 30px;
  }
}
.kv__cta {
  margin-top: 31px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .kv__cta {
    margin-top: 27px;
  }
}
@media screen and (max-width: 767px) {
  .kv__cta .kv__icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    aspect-ratio: 1/1;
  }
}
.kv__cta .kv__button {
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .kv__cta .kv__button {
    margin-top: 28px;
  }
}
.kv__cta .kv__note {
  margin-top: 16px;
  font-size: 0.875rem;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .kv__cta .kv__note {
    margin-top: 11px;
    font-size: 14px;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ 特徴 ▼
//
///////////////////////////////////////////////////*/
.features {
  padding: 51px 0 0;
}
@media screen and (max-width: 767px) {
  .features {
    padding: 84px 0 0;
  }
}
.features .s_container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 45px;
}
@media screen and (max-width: 767px) {
  .features .s_container {
    gap: 61px;
  }
}
.features__header {
  position: relative;
  display: inline-flex;
  justify-content: center;
}
.features__title {
  text-align: center;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  background: var(--pencil_gradation, linear-gradient(90deg, #0FB3DB 0%, #60DB8C 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  z-index: 1;
}
.features__title-image {
  position: absolute;
  top: -33px;
  left: 0%;
}
.features__items {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .features__items {
    flex-direction: column;
    gap: 16px;
  }
}
.features__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 345px;
  height: 345px;
  border-radius: 4px;
  border: 1px solid #000;
  background: #FEFDF8;
}
@media screen and (max-width: 767px) {
  .features__item {
    width: 357px;
    height: 345px;
  }
}
.features__item-title {
  color: #333;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
}
.features__item-image {
  margin-top: 29px;
}
.features__item-text {
  margin-top: 12px;
  color: #333;
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}

/*///////////////////////////////////////////////////
//
//            ▼ 流れ ▼
//
///////////////////////////////////////////////////*/
.flow {
  padding: 96px 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .flow {
    padding: 112px 0 60px;
  }
}
.flow .s_container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 47px;
}
@media screen and (max-width: 767px) {
  .flow .s_container {
    gap: 40px;
  }
}
.flow__header {
  position: relative;
  display: inline-flex;
  justify-content: center;
}
.flow__title {
  text-align: center;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  background: var(--pencil_gradation, linear-gradient(90deg, #0FB3DB 0%, #60DB8C 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  z-index: 1;
}
.flow__title-image {
  position: absolute;
  top: -40px;
  left: -60px;
}
.flow__items {
  display: flex;
  flex-direction: column;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .flow__items {
    position: static;
    gap: 40px;
  }
}
.flow__item-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-225px, -270px);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .flow__item-bg {
    top: 0%;
    transform: translate(-52%, 593px);
    max-width: inherit;
  }
}
.flow__item {
  display: flex;
  gap: 53.42px;
}
@media screen and (max-width: 767px) {
  .flow__item {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .flow__item:nth-of-type(1) .flow__item-image {
    margin-right: 34px;
  }
}
.flow__item:nth-of-type(2) {
  margin-top: 36px;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .flow__item:nth-of-type(2) {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .flow__item:nth-of-type(2) .flow__item-description {
    margin-top: 25px;
  }
}
.flow__item:nth-of-type(2) .flow__item-text {
  order: 1;
}
.flow__item:nth-of-type(2) .flow__item-image {
  order: 2;
}
@media screen and (max-width: 767px) {
  .flow__item:nth-of-type(2) .flow__item-image {
    width: 163.58px;
    margin-top: 30px;
  }
}
.flow__item:nth-of-type(3) {
  margin-top: 53px;
}
@media screen and (max-width: 767px) {
  .flow__item:nth-of-type(3) {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .flow__item:nth-of-type(3) .flow__item-description {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .flow__item:nth-of-type(3) .flow__item-image {
    order: 2;
    margin-top: 24px;
    width: 163.58px;
  }
}
@media screen and (max-width: 767px) {
  .flow__item-image {
    order: 2;
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .flow__item-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    order: 1;
  }
}
.flow__step {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  color: #333;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  line-height: normal;
}
.flow__item-title {
  margin-top: 17px;
  color: #333;
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .flow__item-title {
    margin: 12px 0 0;
    text-align: center;
  }
}
.flow__item-description {
  margin-top: 16px;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  line-height: 28px;
}
@media screen and (max-width: 767px) {
  .flow__item-description {
    margin: 16px 0 0;
    text-align: center;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ よくあるご質問 ▼
//
///////////////////////////////////////////////////*/
.faq {
  padding: 84px 0 61px;
}
@media screen and (max-width: 767px) {
  .faq {
    padding: 113px 0 40px;
  }
}
.faq .s_container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 70px;
}
@media screen and (max-width: 767px) {
  .faq .s_container {
    gap: 51px;
  }
}
.faq__header {
  position: relative;
  display: inline-flex;
  justify-content: center;
}
.faq__title {
  text-align: center;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  background: var(--pencil_gradation, linear-gradient(90deg, #0FB3DB 0%, #60DB8C 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  z-index: 1;
}
.faq__title-image {
  position: absolute;
  top: -53px;
  left: -48px;
}
.faq__table {
  width: 100%;
}
.faq__row {
  border-radius: 4px;
  border: 1px solid #000;
  background: #FEFDF8;
  display: flex;
  flex-direction: column;
  gap: 17px;
  padding: 21px 25px;
}
.faq__row + .faq__row {
  margin-top: 16px;
}
.faq__question {
  display: flex;
  align-items: center;
  gap: 17px;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  text-align: start;
}
@media screen and (max-width: 767px) {
  .faq__question {
    align-items: baseline;
  }
}
.faq__question .faq__label {
  color: #FFF;
  background: var(--pencil_gradation, linear-gradient(90deg, #0FB3DB 0%, #60DB8C 100%));
}
.faq__answer {
  display: flex;
  align-items: center;
  gap: 17px;
  color: #000;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .faq__answer {
    align-items: baseline;
  }
}
.faq__answer .faq__label {
  background: var(--pencil_gradation, linear-gradient(90deg, #0FB3DB 0%, #60DB8C 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  border: 1px solid var(--pencil_gradation, #0FB3DB);
}
.faq__label {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 100%;
}

@media screen and (max-width: 767px) {
  .footerCorporate__copyright {
    text-align: center;
    padding-bottom: 110px;
  }
}

.btn_fixed {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  bottom: 0%;
  width: 100%;
  height: 93px;
  z-index: 5000;
  background: rgba(159, 184, 184, 0.58);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 3px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s; /* ← ここポイント！ */
}
.btn_fixed span {
  color: #000;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.btn_fixed.show {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0s; /* visibility 即表示 */
}/*# sourceMappingURL=top.css.map */