@charset "UTF-8";
/* メディアクエリ
==================================== */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  cursor: pointer;
}

input,
button,
textarea,
select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* デフォルトスタイルをリセット */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  color: inherit;
  font-size: 16px;
  font-family: inherit;
}

label {
  cursor: pointer;
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  font: inherit;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

html {
  min-height: 100vh;
}

body {
  color: #252628;
  font-weight: 400;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}

main {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  overflow: clip;
}

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

a {
  color: inherit;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.--blue {
  color: #56BEBF;
}

.--orange {
  color: #E87400;
}

.inner {
  z-index: 5;
  position: relative;
  width: 100%;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 16px;
  padding-left: 16px;
}

.btn {
  color: #FFF;
  font-weight: 700;
  font-size: 1.4rem;
}

.btn a {
  display: grid;
  position: relative;
  place-items: center;
  width: 28rem;
  min-height: 7.2rem;
  margin-inline: auto;
  padding: 0.5em 1rem;
  background: #56BEBF;
  color: #FFF;
  font-weight: 600;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.btn a::after {
  z-index: -1;
  position: absolute;
  top: 0.5rem;
  right: -0.5rem;
  width: 100%;
  height: 100%;
  border: 1px solid #56BEBF;
  content: "";
}

.btn.--yellow a {
  background: #F4DD0D;
  color: #000;
}
.btn.--yellow a::after {
  border-color: #F4DD0D;
}

.font-second {
  font-weight: 900;
  font-family: "Zen Maru Gothic", sans-serif;
}

.font-third {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

/* ハンバーガーメニュー */
/*==================================================
　5-2-6 3本線が回転して×に
===================================*/
.hamburger {
  display: block;
  z-index: 1000;
  position: relative;
  top: 0;
  right: 0;
  width: 5rem;
  height: 5rem;
  margin-left: auto;
  border-radius: 50%;
  background: #56BEBF;
  cursor: pointer;
}

/*ボタン内側*/
.hamburger span {
  display: inline-block;
  position: absolute;
  left: 50%;
  width: 2.4rem;
  height: 1px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #FFF;
  -webkit-transition: all 0.4s;
  transition: all 0.4s; /*アニメーションの設定*/
}

.hamburger span:nth-of-type(1) {
  top: 45%;
}

.hamburger span:nth-of-type(2) {
  top: 55%;
}

/*activeクラスが付与されると線が回転して×になる*/
.hamburger.active span {
  top: 50%;
  left: 50%;
}

.hamburger.active span:nth-of-type(1) {
  -webkit-transform: translate(-50%, -50%) rotate(-145deg);
          transform: translate(-50%, -50%) rotate(-145deg);
}

.hamburger.active span:nth-of-type(2) {
  -webkit-transform: translate(-50%, -50%) rotate(145deg);
          transform: translate(-50%, -50%) rotate(145deg);
}

.pankuz {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 5rem;
  margin-top: 3rem;
  text-align: left;
}

.pankuz.--single {
  margin-top: 10rem;
}

.pankuz__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  color: #56BEBF;
  font-weight: 400;
  font-size: 1.4rem;
}

.pankuz__arrow {
  display: inline-block;
  position: relative;
  width: 6px;
  height: 12px;
  margin-top: -3px;
}

.pankuz__arrow::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: url(../img/arrow_pankuz.svg) no-repeat center center/contain;
  content: "";
}

.pankuz a.home {
  color: rgba(33, 122, 188, 0.5);
}

.section__title {
  font-weight: 800;
  text-align: center;
}
.section__title p {
  font-size: 1.5rem;
  line-height: 1.7;
}
.section__title h2 {
  font-size: 2.2rem;
}

.text {
  font-size: 1.4rem;
  line-height: 1.8571428571;
}

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

.text.--bold {
  font-weight: 700;
}

.title {
  display: grid;
  position: relative;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 3.7rem;
  padding: 0 1.6rem;
  background: #FFF;
  color: #56BEBF;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.06em;
}

.title::after {
  z-index: -1;
  position: absolute;
  top: 4px;
  right: -4px;
  width: 100%;
  height: 100%;
  background: #56BEBF;
  content: "";
}

.about {
  position: relative;
  padding: 50px 0;
}

.about::after {
  z-index: -2;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 83%;
  background: #dcf4f3;
  content: "";
  -webkit-clip-path: polygon(0 4%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0 4%, 100% 0%, 100% 100%, 0% 100%);
}

.about::before {
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 28%;
  max-height: 434px;
  background: url(../img/dot_about.webp) no-repeat center center/cover;
  content: "";
}

.about__container {
  display: grid;
  padding: 0 15px;
  gap: 2rem;
}

.about__label {
  display: grid;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 5.5rem;
  padding: 0 2rem;
  border-radius: 19px;
  background: #56BEBF;
  color: #FFF;
  font-weight: 900;
  font-size: 1.8rem;
}

.about__title {
  position: relative;
  margin-top: 1rem;
  color: #1C2955;
  font-weight: 900;
  font-size: 3.6rem;
}

.about__title::after {
  z-index: -1;
  position: absolute;
  bottom: -1.5rem;
  left: 0;
  width: 10.8rem;
  height: 8rem;
  background: url(../img/hanamaru.webp) no-repeat center center/contain;
  content: "";
}

.about__text {
  margin-top: clamp(3rem, 1.857rem + 1.488vi, 4rem);
}

.about__images {
  display: grid;
  gap: 1.7rem;
}
.about__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}

.about__items {
  display: grid;
  z-index: 1;
  position: relative;
  margin-top: 3rem;
  gap: 1rem;
}

.about__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 13.3rem;
  padding: 2rem;
  gap: 0.5rem;
  border-radius: 12px;
  background: #F9F5E1;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
}
.about__item p span {
  border-bottom: 3px solid #E87400;
  text-underline-offset: 5px;
}

.about__box {
  display: grid;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 6rem;
  padding: 3rem 2.5rem;
  gap: 1rem;
  border: 1px solid #56BEBF;
  border-radius: 12px;
  background: #FFF;
}

.about__other {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.4782608696;
}

.accept {
  z-index: 1;
  position: relative;
  padding: 3rem 0;
  background: url(../img/bg_direct.webp) no-repeat top 65% center/cover;
  color: #FFF;
  text-align: center;
}
.accept .inner {
  padding: 0 10px;
}

.accept::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(26, 175, 171, 0.8);
  content: "";
}

.accept__title {
  font-weight: 800;
  font-size: 2.4rem;
  line-height: 1.5111111111;
}

.accept__text {
  margin-top: 2rem;
}

.accept__left {
  z-index: 1;
  position: absolute;
  top: 0;
  left: -52rem;
  pointer-events: none;
}

.accept__right {
  z-index: 1;
  position: absolute;
  right: -31.5rem;
  bottom: 0;
  pointer-events: none;
}

.compnay {
  background: #1aafab;
}
.compnay .cta__link {
  margin-top: 3.5rem;
}

.company__top {
  padding: 4.7rem 0;
  text-align: center;
}

.company__logo {
  text-align: center;
}

.company__copy {
  display: grid;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 4rem;
  margin-top: 1rem;
  margin-inline: auto;
  padding: 0 2em;
  border-radius: 9px;
  background: #FFF;
  color: #1aafab;
  font-weight: 800;
  font-size: 1.9rem;
}

.company__title {
  margin-top: 1rem;
  color: #FFF;
}

.company__bottom {
  display: grid;
  padding: 3rem 15px;
  gap: 4rem;
  background: #F9F5E1;
}

.comapny__items {
  display: grid;
}

.company__item {
  display: grid;
  grid-template-columns: 20% 1fr;
  font-size: 1.4rem;
  line-height: 2.3333333333;
}

.comapny__label {
  color: #56BEBF;
  font-weight: 700;
}
.company__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.contactForm__items {
  display: grid;
  margin-top: 4rem;
  gap: 2.4rem;
  letter-spacing: 0;
}

.contactForm__item {
  display: grid;
  position: relative;
  gap: 1rem;
}

.contactForm__labels label {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
}

.contactForm__label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-weight: 700;
  font-size: 1.6rem;
}
.contactForm__label span {
  display: grid;
  place-items: center;
  width: 6rem;
  min-height: 2.4rem;
  border-radius: calc(infinity * 1px);
  background: #C64F37;
  color: #FFF;
  font-size: 1.4rem;
}

.contactForm__answer {
  font-size: 1.6rem;
  line-height: 2;
}

.contactForm__btn {
  margin-top: 3rem;
  text-align: center;
}

.contactForm__btn input {
  width: 22.5rem;
  min-height: 5.5rem;
  border-radius: 0;
  border-radius: calc(infinity * 1px);
  background: #1f2952;
  color: #FFF;
  font-weight: 700;
  font-size: 1.6rem;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

input[type=text],
input[type=email],
input[type=tel],
select,
textarea {
  width: 100%;
  padding: 8px 4px;
  padding: 1.2rem;
  border: 1px solid #C4C4C4;
  border-radius: 10px;
  background: #FFF;
  color: #252628;
  font-size: 1.6rem;
  line-height: 1.75;
}

textarea {
  height: 18rem;
}

::-webkit-input-placeholder {
  color: #898989;
}

::-moz-placeholder {
  color: #898989;
}

:-ms-input-placeholder {
  color: #898989;
}

::-ms-input-placeholder {
  color: #898989;
}

::placeholder {
  color: #898989;
}

.wpcf7-list-item {
  margin: initial;
}

.contactForm__agree {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3.3rem;
  font-size: 1.6rem;
}

/* チェックボックスとラジオボタンここから */
.wpcf7-form-control.wpcf7-radio {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 1rem;
}

.wpcf7-form-control.wpcf7-checkbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 1rem;
}

.wpcf7-list-item-label {
  position: relative;
  padding-left: 2em;
  text-align: center;
}

/* チェック前のradioボタン */
.wpcf7-list-item-label::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 2rem;
  height: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: 1px solid #333333;
  background: #FFF;
  content: "";
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s; /* 色をじんわり変化させる */
}

/* チェック後のボタン */
input[type=radio]:checked + .wpcf7-list-item-label::before,
input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background-color: #56BEBF; /* チェック後の中心の色 */
  -webkit-box-shadow: inset 0 0 0 3px #fff;
          box-shadow: inset 0 0 0 3px #fff; /* 中心の色のスタイル */
}

div.wpcf7 .wpcf7-spinner {
  display: none !important;
}

/* チェック後のcheckbox */
/* チェックボックスとラジオボタンここまで */
/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
  display: none;
}

/*デフォルトのサンクスメッセージを非表示*/
.contactForm__policy {
  max-height: 24.5rem;
  padding: 2rem 1rem;
  overflow: scroll;
  border-radius: 15px;
  background: #f2f2f2;
  font-size: 1.4rem;
  line-height: 2;
  scrollbar-color: #1AAFAB #FFF;
  scrollbar-width: auto;
}
.contactForm__policy span {
  font-weight: 700;
  font-size: 1.6rem;
}
.contactForm__policy ul,
.contactForm__policy ol {
  padding-left: 2em;
}
.contactForm__policy ul li {
  list-style: disc;
}
.contactForm__policy ol li {
  list-style: decimal;
}

.contact {
  padding: 50px 0;
  background: #F7D461;
}

.contact__wrapper {
  padding: 3rem 1.6rem;
  border-radius: 34px;
  background: #FFF;
}

.cta {
  position: relative;
}
.cta__top {
  position: relative;
  padding: 3rem 0;
  background: #F9F5E1;
}

.cta__icon {
  z-index: 2;
  position: relative;
}

.cta__items {
  display: grid;
  gap: 1.4rem;
}

.cta__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  justify-content: center;
  min-height: 6rem;
  border-radius: 14px;
  background: #FFF;
  font-weight: 800;
  font-size: 1.7rem;
  text-align: center;
}
.cta__item .--blue {
  color: #1AAFAB;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
}
.cta__item .--green {
  color: #04C755;
}
.cta__item .--orange {
  color: #E87400;
}

.cta__items:nth-child(2) {
  margin-top: 1rem;
  gap: 1.46rem;
}
.cta__items:nth-child(2) .cta__item {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
}

.cta__bottom {
  padding: 4.5rem 0;
  background: #F7D461;
}

.cta__bottom.cta__blue {
  background: #52acaa;
}

.cta__title {
  font-size: 1.8rem;
  text-align: center;
}

.cta__links {
  display: grid;
  margin-top: 2rem;
  gap: 1.95rem;
}

.cta__link a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 400px;
  min-height: 8rem;
  margin-inline: auto;
  border-radius: calc(infinity * 1px);
  -webkit-box-shadow: 0 0.55rem 0 #F8E39C;
          box-shadow: 0 0.55rem 0 #F8E39C;
  font-size: 2rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cta__link.--line a {
  background: #04C755;
  color: #FFF;
}
.cta__link.--line a .--big {
  padding-left: initial;
  font-weight: 800;
  font-size: 2.3rem;
}
.cta__link.--line a .--big::before {
  display: none;
}
.cta__link.--line span {
  position: relative;
  padding-left: 4em;
}
.cta__link.--line span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 5.9rem;
  height: 5.9rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/cta_line.webp) no-repeat center center/contain;
  content: "";
}
.cta__link.--mail a {
  background: #FFF;
}
.cta__link.--mail span {
  position: relative;
  padding-left: 4em;
  font-weight: 800;
}
.cta__link.--mail span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 5.7rem;
  height: 4.1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/cta_mail.webp) no-repeat center center/contain;
  content: "";
}
.cta__link.--line.--white a {
  background: #FFF;
  color: #252628;
}
.cta__link.--line.--white .--big {
  color: #04C755;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cta__link.--line.--white:hover a .--big {
  color: #FFF;
}
.cta__link.--tel a {
  background: #FFF;
  font-weight: 700;
  font-size: 2.9rem;
}
.cta__link.--tel .--mini {
  font-weight: 400;
  font-size: 1.4rem;
}
.cta__link.--white a {
  -webkit-box-shadow: 0 0.55rem 0 #80CFC4;
          box-shadow: 0 0.55rem 0 #80CFC4;
}
.cta__link.--white a:hover {
  opacity: 1;
}
.fixed {
  z-index: 50;
  position: fixed;
  bottom: 1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.fixed__close {
  display: none;
  position: absolute;
  top: -1.8rem;
  left: -1rem;
  cursor: pointer;
}

.fixed__content {
  display: none;
  position: relative;
}

.fixed__content::after {
  z-index: -1;
  position: absolute;
  top: -5rem;
  right: 0;
  width: 10.8rem;
  height: 21.8rem;
  background: url(../img/phone.webp) no-repeat center center/contain;
  content: "";
}

.fixed__line {
  color: #5ac463;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.125;
  letter-spacing: 0.06em;
}

.fixed__message {
  position: relative;
  width: 21.4rem;
  margin-top: 1rem;
}
.fixed__message p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-weight: 400;
  font-size: 1.5rem;
  white-space: nowrap;
}

.fixed__text {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2.1428571429;
}

.fixed__btn {
  margin-top: 2rem;
}
.fixed__btn a {
  display: grid;
  position: relative;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 27rem;
  min-height: 6.2rem;
  padding-left: 2em;
  border-radius: calc(infinity * 1px);
  background: #04C755;
  color: #FFF;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.fixed__btn a::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 2rem;
  width: 4rem;
  height: 4rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/cta_line.webp) no-repeat center center/contain;
  content: "";
}
.fixed__btn a:hover {
  opacity: 1;
}

.footer {
  display: grid;
  place-items: center;
  min-height: 10rem;
  background: #333333;
  color: #FFF;
  text-align: center;
}

.fv {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #F9F5E1;
}

.fv__bottom {
  position: relative;
  height: 26rem;
  margin-top: auto;
  margin-top: -28%;
}
.fv__bottom img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.fv__bottom .text {
  position: absolute;
  top: 65%;
  left: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #FFF;
}

/* Header */
.header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 10;
  position: absolute;
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.header:has(.is-openSP) {
  top: 0;
  width: 100%;
}

.header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  width: 95%;
  height: inherit;
  height: 7rem;
  margin-top: 9.7px;
  margin-inline: auto;
  padding-right: 16px;
  padding-left: 16px;
  border-radius: 12px;
  background: #FFF;
}

.header__logo {
  width: 10rem;
}

.header__nav {
  display: none;
  height: inherit;
  margin-left: auto;
}

.header__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: inherit;
  gap: 1em;
}

.header__item {
  height: inherit;
  font-weight: 600;
  font-size: 1.6rem;
  letter-spacing: 0;
}
.header__item a {
  display: grid;
  place-items: center;
  height: inherit;
}

.header__contact,
.header__line {
  display: none;
  font-size: 1.6rem;
}
.header__contact a,
.header__line a {
  display: grid;
  place-items: center;
  width: 16.7rem;
  min-height: 5.7rem;
  border-radius: calc(infinity * 1px);
  background: #1C2955;
  color: #FFF;
  font-weight: 600;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.header__contact a:hover,
.header__line a:hover {
  opacity: 1;
}
.header__line a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  place-items: initial;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 19.6rem;
  background: #04C755;
}
.header__line span {
  font-size: 1.2rem;
}

.headerSp {
  visibility: hidden;
  z-index: 120;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  overflow: scroll;
  background: #56BEBF;
  color: #FFF;
  line-height: 1.2;
  letter-spacing: 0.1em;
  /* これで右に隠す↓↓ */
  opacity: 0;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}

.headerSp.is-openSP {
  visibility: visible;
  z-index: 999;
  opacity: 1;
}

.headerSp__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 65%;
  margin-inline: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.headerSp__items {
  display: grid;
  gap: 27px;
}

.headerSp__item {
  font-weight: 600;
  font-size: 1.6rem;
}
.headerSp__item a,
.headerSp__item p {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid #FFF;
}
.headerSp__item ul {
  display: grid;
  margin-top: 17.5px;
  gap: 13px;
}
.headerSp__item ul li a {
  padding: initial;
  border-bottom: initial;
  font-size: 1.4rem;
}

.headerSp__contact {
  margin-top: 26px;
  font-weight: 600;
  font-size: 1.6rem;
}
.headerSp__contact a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid #FFF;
}

.infinity__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  overflow: hidden;
}

.infinity__images {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-animation: scroll-left 20s infinite linear 0.5s both;
          animation: scroll-left 20s infinite linear 0.5s both;
}

.infinity__image {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 20rem;
}
.infinity__image img {
  display: block;
  width: 100%;
  height: auto;
}

@-webkit-keyframes scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes scroll-left {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.navigation-archive .navigation {
  margin-top: 8rem;
  padding-bottom: 2rem;
  text-align: center;
}
.navigation-archive .nav-links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
}
.navigation-archive .page-numbers {
  display: grid;
  position: relative;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: #000;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.navigation-archive .page-numbers.current {
  background: #56BEBF;
  color: #FFF;
}
.navigation-archive .page-numbers.prev::after,
.navigation-archive .page-numbers.next::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 10px;
  background: url(../img/arrow_navigation.svg) no-repeat center center/contain;
  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.navigation-archive .page-numbers.next::after {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.navigation-archive .page-numbers.prev::after {
  -webkit-transform: translate(-50%, -50%) rotate(-180deg);
          transform: translate(-50%, -50%) rotate(-180deg);
}

.not-found {
  padding: 70px 20px;
}

.not-found__text {
  margin-top: 30px;
  font-size: 1.4rem;
  line-height: 2;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.not-found__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 50px;
}

.privacy {
  padding-bottom: 6rem;
}

.privacy__content {
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 160%;
}
.privacy__content span {
  font-weight: 700;
}
.privacy__content a {
  color: #0084FF;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.qa {
  padding: 50px 0;
}

.qa__top {
  margin-top: 1rem;
}

.qa__title {
  text-align: left;
}

.qa__items {
  display: grid;
  margin-top: 4rem;
  gap: 2rem;
}

.qa__item {
  line-height: 180%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.qa__question {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.8rem 4rem 1.8rem 1.5rem;
  gap: 1rem;
  background: #f2f2f2;
  font-weight: 700;
  font-size: 1.6rem;
  cursor: pointer;
}
.qa__question span {
  color: #56BEBF;
  font-weight: 700;
  font-size: 2.4rem;
  font-family: "Oswald", sans-serif;
}

.qa__question::before,
.qa__question::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 2rem;
  height: 1px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #E87400;
  content: "";
}

.qa__question::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.qa__question.is-active::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.qa__answer {
  display: none;
  padding: 1rem 1.5rem;
  background: #FFF;
  color: #252628;
  font-size: 1.4rem;
}

.qa__answer span {
  color: #f37335;
}

.qa__answer.--first {
  display: block;
}

.reason {
  position: relative;
  padding: 50px 0;
}

.reason::after {
  z-index: -2;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90%;
  background: #f8f5e3;
  content: "";
}

.reason__head {
  text-align: center;
}
.reason__head p {
  font-size: 1.8rem;
  line-height: 1.4166666667;
}
.reason__head h2 {
  font-weight: 800;
  font-size: 3rem;
}
.reason__head h2 span {
  font-size: 4.5rem;
}

.reason__wrapper {
  display: grid;
  margin-top: 5rem;
  gap: 1.5rem;
}

.reason__box .reason__wrap {
  border-radius: 30px 30px 0 0;
}

.reason__wrap {
  padding: 3rem 2.5rem;
  border-radius: 30px;
  background: #FFF;
}

.reason__titles {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}

.reason__number {
  font-weight: 700;
  font-size: 5rem;
  line-height: 1;
  font-family: "Oswald", sans-serif;
}

.reason__title p {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5454545455;
}
.reason__title h3 {
  font-weight: 800;
  font-size: 2.2rem;
  line-height: 1.5;
}

.reason__container {
  display: grid;
  margin-top: 2rem;
  gap: 2rem;
}

.reason__description span {
  font-weight: 700;
  font-size: 1.6rem;
}

.reason__staff {
  display: grid;
  grid-template-columns: 8rem 1fr;
  padding: 2.3rem 1.5rem;
  gap: 1rem;
  border-radius: 0 0 30px 30px;
  background: #e1f3f3;
}

.reason__bottom {
  padding: 3rem 1.5rem;
  border-radius: 0 0 30px 30px;
  background: #e1f3f3;
}

.reason__sub {
  color: #1f2952;
  font-weight: 800;
  font-size: 2rem;
  text-align: center;
}

.reason__label {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.7;
}

.reason__items {
  display: grid;
  margin-top: 3rem;
  gap: 1rem;
}

.reason__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 9.4rem;
  padding: 0 1em;
  gap: 1.3rem;
  border-radius: 10px;
  background: #f8f5e3;
  font-weight: 700;
}

.reason__cards {
  display: grid;
  margin-top: 3rem;
  gap: 2rem;
}

.reason__card {
  padding: 3rem 1.5rem;
  border-radius: 20px;
  background: #56BEBF;
}
.reason__card h5 {
  color: #FFF;
  font-weight: 800;
  font-size: 2rem;
  line-height: 1.84;
  text-align: center;
}

.reason__card:last-child {
  background: #E87400;
}

.reason__lists {
  display: grid;
  margin-top: 2rem;
  gap: 5px;
}
.reason__lists .reason__list {
  margin-top: initial;
  text-align: center;
}

.reason__list {
  margin-top: 2rem;
  padding: 2rem 1.5rem;
  border-radius: 10px;
  background: #FFF;
}

.reason__spec {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border-bottom: 4px solid #E87400;
  font-weight: 700;
  font-size: 1.6rem;
  text-underline-offset: 5px;
}
.reason__spec span {
  font-size: 2rem;
}

.reason__info {
  margin-top: 1.4rem;
  font-size: 1.4rem;
  line-height: 1.6470588235;
}

.reason__lixil {
  text-align: center;
}

.reason__products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2rem;
}

.reason__product {
  text-align: center;
}

.staff {
  padding: 50px 0;
}

.staff__top {
  margin-top: 1rem;
}

.staff__items {
  position: relative;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; /* 高さを揃える */
  margin-top: 5rem;
  padding-bottom: 6rem;
  overflow: visible;
}
.staff__items .swiper-wrapper {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; /* 高さを揃える */
}
.staff__items .swiper-slide:not(:first-child) {
  margin-top: 0;
}

.staff__navigation {
  display: none;
}

.staff__button-prev,
.staff__button-next {
  z-index: 15;
  position: relative;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #1f2952;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.staff__button-prev::after,
.staff__button-next::after {
  color: #FFF;
  font-weight: bold;
  font-size: 2rem;
}
.staff__button-prev:hover,
.staff__button-next:hover {
  background: #56BEBF;
}
.staff__button-prev:hover::after,
.staff__button-next:hover::after {
  color: #FFF;
}
.staff__button-prev.swiper-button-disabled,
.staff__button-next.swiper-button-disabled {
  cursor: not-allowed;
  opacity: 0.3;
}

.staff__items.swiper .staff__pagination {
  position: absolute;
  right: 0;
  bottom: 2rem;
  left: 0;
  text-align: center;
}
.staff__items.swiper .staff__pagination .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  margin: 0 0.5rem;
  background: #D8D8D8;
  opacity: 1;
}
.staff__items.swiper .staff__pagination .swiper-pagination-bullet-active {
  background: #1f2952;
}

.staff__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; /* 上下方向に配置 */
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; /* 中央寄せ */
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; /* コメントなどの下余白を調整 */
  height: 100%; /* stretchを効かせる */
  padding: 0 1.6rem 2.6rem;
  border: 3px solid #56BEBF;
  border-radius: 27px;
  background: #FFF;
  text-align: center;
}

.staff__icon {
  width: 18rem;
  margin-top: -2.5rem;
  margin-inline: auto;
}

.staff__name {
  margin-top: 1rem;
  font-weight: 700;
  text-align: center;
}
.staff__name h3 {
  font-size: 2.2rem;
}

.staff__job {
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 2.1428571429;
  text-align: center;
}

.staff__coment {
  margin-top: 1.5rem;
}

.support {
  position: relative;
  padding: 50px 0;
}

.support::after {
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  background: #c6e4e4;
  content: "";
}

.support::before {
  z-index: -2;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f9f5e1;
  content: "";
}

.support__wrapper {
  margin-top: 4rem;
  padding: 0 15px;
}

.support__bg {
  position: relative;
}
.support__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 17px 17px 0 0;
}

.support__wrap {
  padding: 3rem 2rem;
  border-radius: 17px;
  border-radius: 0 0 17px 17px;
  background: #FFF;
}

.support__info {
  display: grid;
  margin-top: 1rem;
  font-size: 1.4rem;
}
.support__info div {
  display: grid;
  grid-template-columns: 24% 1fr;
}

.support__label {
  font-weight: 700;
}

.support__picetures {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 1.8rem;
  gap: 1.8rem;
}

.support__items {
  display: grid;
  margin-top: 3rem;
  gap: 2rem;
}

.support__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4rem 1rem 3rem;
  gap: 1rem;
  border-radius: 20px;
  background: #FFF;
  text-align: center;
}

.support__item:first-child .support__icon,
.support__item:last-child .support__icon {
  margin-top: 1rem;
}

.support__title {
  margin-top: 1rem;
  color: #56BEBF;
  font-weight: 900;
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", sans-serif;
}

.support__text {
  font-size: 1.4rem;
  line-height: 1.625;
}

.support__map {
  position: relative;
  height: 20rem;
  margin-top: 3rem;
}
.support__map iframe {
  width: 100%;
  height: 100%;
}

.support__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  bottom: -3rem;
  left: 50%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.support__btn a {
  display: grid;
  place-items: center;
  width: 18rem;
  min-height: 6rem;
  border-radius: calc(infinity * 1px);
  background: #1f2952;
  color: #FFF;
  font-weight: 700;
  font-size: 1.6rem;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.support__btn a:hover {
  opacity: 1;
}

.voice {
  z-index: 1;
  position: relative;
  padding: 50px 0;
  background: #e1f3f3;
}

.voice__items {
  position: relative;
  margin-top: 4rem;
  padding: 0 5% 6rem;
  overflow: visible;
}
.voice__items .swiper-slide:not(:first-child) {
  margin-top: 0;
}

.voice__navigation {
  display: none;
}

.voice__button-prev,
.voice__button-next {
  z-index: 15;
  position: relative;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #1f2952;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.voice__button-prev::after,
.voice__button-next::after {
  color: #FFF;
  font-weight: bold;
  font-size: 2rem;
}
.voice__button-prev:hover,
.voice__button-next:hover {
  background: #56BEBF;
}
.voice__button-prev:hover::after,
.voice__button-next:hover::after {
  color: #FFF;
}
.voice__button-prev.swiper-button-disabled,
.voice__button-next.swiper-button-disabled {
  cursor: not-allowed;
  opacity: 0.3;
}

.voice__items.swiper .voice__pagination {
  position: absolute;
  right: 0;
  bottom: 2rem;
  left: 0;
  text-align: center;
}
.voice__items.swiper .voice__pagination .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  margin: 0 0.5rem;
  background: #D8D8D8;
  opacity: 1;
}
.voice__items.swiper .voice__pagination .swiper-pagination-bullet-active {
  background: #1f2952;
}

.voice__item {
  padding: 3rem 1rem;
  border-radius: 30px;
  background: #FFF;
}

.voice__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
.voice__title p {
  font-weight: 700;
  font-size: 3rem;
  font-family: "Oswald", sans-serif;
}
.voice__title h3 {
  font-weight: 800;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
}

.voice__container {
  display: grid;
  margin-top: 1.5rem;
  gap: 2rem;
}

.voice__labels {
  padding: 2rem 1rem;
  border-radius: 12px;
  background: #f9f5e1;
}

.voice__label {
  font-weight: 700;
}

.voice__coment {
  margin-top: 1.5rem;
  font-weight: 600;
}

.voice__name {
  margin-top: 1rem;
  font-weight: 600;
}

.u-desktop {
  display: none;
}

@media (min-width: 768px) and (max-width: 1240px) {
  .header__inner {
    zoom: 0.9;
  }
}

@media screen and (min-width: 768px) {
  html {
    font-size: calc(10 / 1100 * 100vw);
  }
  body {
    font-size: max(1.6rem, 14px);
  }
  .inner {
    max-width: 1140px;
    padding-right: 20px;
    padding-left: 20px;
  }
  .inner__mini {
    max-width: 1040px;
  }
  .btn {
    font-size: 1.8rem;
  }
  .btn a {
    width: 36.3rem;
    max-width: 100%;
    min-height: 9.2rem;
    margin-inline: initial;
    font-size: 2rem;
  }
  .hamburger {
    display: none;
  }
  .pankuz {
    margin-top: 6.9rem;
  }
  .pankuz.--single {
    margin-top: 2rem;
  }
  .pankuz__items {
    gap: 16px;
    font-size: 1.6rem;
  }
  .section__title p {
    font-size: 2rem;
  }
  .section__title h2 {
    font-size: 4rem;
  }
  .text {
    font-size: 1.8rem;
    line-height: 1.8888888889;
  }
  .title {
    min-height: 7.4rem;
    padding: 0 0.5em;
    font-size: 4rem;
    letter-spacing: 0.1em;
  }
  .title::after {
    top: 6px;
    right: -6px;
  }
  .about {
    padding: 8.2rem 0 10rem;
  }
  .about::after {
    -webkit-clip-path: polygon(0 25%, 100% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0 25%, 100% 0%, 100% 100%, 0% 100%);
  }
  .about__container {
    grid-template-columns: 40.9722222222% 40.8333333333%;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: initial;
    gap: clamp(8rem, 1.143rem + 8.929vi, 14rem);
  }
  .about__label {
    height: 6.45rem;
    padding: 0 3.3rem;
    font-size: 2.142rem;
  }
  .about__title {
    margin-top: initial;
    font-size: clamp(3.2rem, -0.229rem + 4.464vi, 6.2rem);
    line-height: 1.3870967742;
  }
  .about__title::after {
    bottom: -2.5rem;
    width: 15.8rem;
    height: 12rem;
  }
  .about__text {
    line-height: 2.2222222222;
    white-space: nowrap;
  }
  .about__image {
    aspect-ratio: 588/312;
  }
  .about__image img {
    border-radius: 20px 0 0 20px;
  }
  .about__items {
    grid-template-columns: repeat(2, 1fr);
    margin-top: -2rem;
    gap: 2.7rem;
  }
  .about__item {
    padding: 1rem 2rem 1rem 2.6rem;
    gap: 2rem;
    font-size: clamp(1.4rem, 0.714rem + 0.893vi, 2rem);
  }
  .about__item:nth-child(even) {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .about__item:nth-child(odd) {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: initial;
    white-space: nowrap;
  }
  .about__item:last-child {
    grid-column: 1/3;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 55rem;
    margin-inline: auto;
  }
  .about__item:nth-child(1) .about__icon {
    width: 10.1rem;
  }
  .about__item:nth-child(2) .about__icon {
    width: 7.5rem;
  }
  .about__item:nth-child(3) .about__icon {
    width: 11.3rem;
  }
  .about__item:nth-child(4) .about__icon {
    width: 7.9rem;
  }
  .about__item:nth-child(5) .about__icon {
    width: 8.9rem;
  }
  .about__box {
    grid-template-columns: 18.4rem 1fr;
    margin-top: 11.5rem;
    padding: 6.2rem;
    gap: 5rem;
  }
  .about__other {
    font-size: 2.3rem;
  }
  .accept {
    padding: 15rem 0 13rem;
  }
  .accept .inner {
    padding: 0 20px;
  }
  .accept__title {
    font-size: 4.5rem;
  }
  .accept__text {
    margin-top: 6rem;
  }
  .accept__left {
    width: 78rem;
  }
  .accept__right {
    width: 54rem;
  }
  .compnay .cta__link {
    width: 45.5rem;
    margin-inline: auto;
  }
  .company__top {
    padding: 9.7rem 0;
  }
  .company__copy {
    width: 37.6rem;
    height: 4.5rem;
    font-size: 2.1rem;
  }
  .company__bottom {
    grid-template-columns: 39.2361111111% 42.5%;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 5rem 0 10rem;
    gap: 12.2rem;
  }
  .company__item {
    font-size: 1.8rem;
  }
  .company__image {
    aspect-ratio: 612/433;
    margin-top: -9.5rem;
  }
  .contactForm__items {
    margin-top: 5.6rem;
  }
  .contactForm__item {
    grid-template-columns: 1fr 66.25%;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5.4rem;
  }
  .contactForm__labels label {
    height: 100%;
    padding: initial;
  }
  .contactForm__label {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .contactForm__answer {
    font-size: 1.8rem;
    line-height: 2.2222222222;
  }
  .contactForm__btn {
    margin-top: 4.58rem;
  }
  .contactForm__btn input {
    width: 40.7rem;
    min-height: 8.9rem;
    font-size: 2.4rem;
  }
  input[type=text],
  input[type=email],
  input[type=tel],
  select,
  textarea {
    min-height: 6.3rem;
    padding: 2.4rem;
  }
  input[type=text],
  input[type=email],
  input[type=tel] {
    height: 3.9rem;
  }
  textarea {
    height: 30rem;
  }
  .wpcf7-form-control.wpcf7-radio {
    gap: 1.5rem 3.9rem;
  }
  .wpcf7-form-control.wpcf7-checkbox {
    gap: 1.5rem 4.3rem;
  }
  .wpcf7-list-item-label {
    padding-left: 2.2em;
  }
  .wpcf7-list-item-label::before {
    width: 2.5rem;
    height: 2.5rem;
  }
  .contactForm__policy {
    padding: 4rem;
    line-height: 2.4285714286;
  }
  .contact {
    padding: 16rem 0 12.3rem;
  }
  .contact__wrapper {
    padding: 8.8rem 15rem 14rem;
    border-radius: 68px;
  }
  .cta__top {
    margin-top: -2rem;
    padding: initial;
  }
  .cta__container {
    display: grid;
    grid-template-columns: 1fr 20%;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.5rem;
  }
  .cta__content {
    max-width: 92.4rem;
  }
  .cta__items {
    grid-template-columns: repeat(2, 1fr);
  }
  .cta__item {
    min-height: 9.6rem;
    font-size: 2.1rem;
  }
  .cta__item .--blue {
    font-size: 1.5rem;
  }
  .cta__items:nth-child(2) {
    grid-template-columns: repeat(3, 1fr);
  }
  .cta__items:nth-child(2) .cta__item {
    min-height: 6rem;
    border-radius: 12px;
    font-size: 1.8rem;
  }
  .cta__bottom {
    z-index: 1;
    position: relative;
    margin-top: -2em;
  }
  .cta__title {
    font-size: 2.3rem;
  }
  .cta__links {
    grid-template-columns: repeat(2, 1fr);
    max-width: 93.1rem;
    margin-top: 1.5rem;
    margin-inline: auto;
  }
  .cta__link a {
    max-width: 100%;
    min-height: 12rem;
    margin-inline: initial;
  }
  .fixed {
    right: -3.8rem;
    bottom: 3rem;
    left: initial;
    padding: 3rem 6.4rem 2rem 3rem;
    -webkit-transform: initial;
            transform: initial;
    border: 1px solid #9bcc76;
    border-radius: 17px;
    background: #FFF;
  }
  .fixed__close {
    display: block;
  }
  .fixed__content {
    display: block;
  }
  .fixed__btn a {
    padding-left: initial;
  }
  .fixed__btn a::before {
    display: none;
  }
  .footer {
    min-height: 15rem;
  }
  .fv__bottom {
    height: auto;
    margin-top: -12%;
  }
  .header__inner {
    padding-right: 2.5rem;
    padding-left: 4.7rem;
  }
  .header__inner {
    min-width: 760px;
    max-width: 1200px;
    height: 9.6rem;
  }
  .header__logo {
    width: 13.2rem;
  }
  .header__nav {
    display: block;
  }
  .header__contact,
  .header__line {
    display: block;
    margin-left: 1.3rem;
  }
  .header__line {
    margin-left: 3.5rem;
  }
  .infinity__image {
    width: 35.3rem;
  }
  .navigation-archive .navigation {
    margin-top: 10rem;
  }
  .not-found {
    padding: 110px 0 119px;
  }
  .not-found__text {
    margin-top: 6rem;
    font-size: 1.8rem;
    line-height: 3;
  }
  .not-found__btn {
    margin-top: 7rem;
  }
  .privacy {
    padding-bottom: 12rem;
  }
  .privacy__inner {
    max-width: 940px;
  }
  .privacy__content {
    font-size: 1.6rem;
    line-height: 180%;
  }
  .qa {
    padding: 11rem 0;
  }
  .qa__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .qa__question {
    padding: 1.9rem 6rem 1.9rem 2.6rem;
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .qa__question span {
    font-size: 3.6rem;
  }
  .qa__question::before,
  .qa__question::after {
    right: 2.1rem;
    width: 2.8rem;
  }
  .qa__answer {
    padding: 2rem 1rem;
    font-size: 1.6rem;
    line-height: 2.125;
  }
  .reason {
    padding: 16rem 0 11rem;
  }
  .reason__inner {
    max-width: 1240px;
  }
  .reason__head p {
    font-size: 2.4rem;
  }
  .reason__head h2 {
    margin-top: 1rem;
    font-size: 5.2rem;
  }
  .reason__head h2 span {
    font-size: 7.4rem;
  }
  .reason__wrapper {
    margin-top: 7rem;
  }
  .reason__wrap {
    padding: 5rem;
  }
  .reason__titles {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2rem;
  }
  .reason__number {
    font-size: 8rem;
  }
  .reason__title p {
    font-size: 2.2rem;
  }
  .reason__title h3 {
    font-size: 3.9rem;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
  .reason__container {
    grid-template-columns: 45% 44%;
    margin-top: 3rem;
    gap: 4.3rem;
  }
  .reason__description span {
    font-size: 2rem;
  }
  .reason__staff {
    grid-template-columns: 13.6rem 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.6rem 5rem;
    gap: 4rem;
  }
  .reason__bottom {
    padding: 4rem 5rem 6.9rem;
  }
  .reason__sub {
    font-size: 2.8rem;
  }
  .reason__label {
    font-size: 2rem;
  }
  .reason__coment {
    margin-top: 1rem;
    line-height: 2.1428571429;
  }
  .reason__items {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 3.5rem;
    gap: 1.5rem;
  }
  .reason__item {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: initial;
  }
  .reason__item img {
    width: 4.4rem;
  }
  .reason__item .text {
    font-size: clamp(1.4rem, 0.943rem + 0.595vi, 1.8rem);
    line-height: 1.4444444444;
  }
  .reason__cards {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 6rem;
    gap: 3.8rem;
  }
  .reason__card {
    padding: 3.2rem 2.3rem 2.3rem;
  }
  .reason__card h5 {
    font-size: 2.5rem;
  }
  .reason__list {
    padding: 2.5rem 3.1rem;
  }
  .reason__spec {
    font-size: 2rem;
  }
  .reason__spec span {
    font-size: 2.5rem;
  }
  .reason__info {
    margin-top: 1.4rem;
    font-size: 1.7rem;
  }
  .reason__products {
    grid-template-columns: repeat(4, 1fr);
    gap: 0.8rem;
  }
  .staff {
    padding: 10rem 0;
  }
  .staff__items {
    padding-bottom: 8rem;
  }
  .staff__navigation {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 25.6rem;
    margin-top: 8.5rem;
    margin-inline: auto;
    gap: 2rem;
  }
  .staff__button-prev,
  .staff__button-next {
    width: 5.2rem;
    height: 5.2rem;
  }
  .staff__items.swiper .staff__pagination {
    bottom: 3rem;
    bottom: 95px;
  }
  .staff__item {
    max-width: 35.5555555556%;
    min-height: 51.2rem;
    padding: 0 5.6rem 5.6rem;
  }
  .staff__icon {
    width: 21.6rem;
  }
  .staff__name {
    margin-top: 3rem;
  }
  .staff__name h3 {
    font-size: 3.2rem;
  }
  .staff__job {
    margin-top: 2rem;
    font-size: 1.4rem;
  }
  .staff__coment {
    line-height: 1.6666666667;
    text-align: start;
  }
  .support {
    padding: 14.5rem 0;
  }
  .support__wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 8rem;
    padding: initial;
  }
  .support__bg {
    aspect-ratio: 1038/640;
    width: 103.8rem;
  }
  .support__bg img {
    border-radius: initial;
  }
  .support__wrap {
    z-index: 1;
    position: relative;
    width: 61rem;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-left: -20rem;
    padding: 6.5rem 6rem;
    border-radius: 17px;
  }
  .support__info {
    margin-top: 2rem;
  }
  .support__info div {
    grid-template-columns: 20% 1fr;
  }
  .support__info {
    font-size: 1.8rem;
    line-height: 2;
  }
  .support__items {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 5.7rem;
    gap: 2.4rem;
  }
  .support__item {
    min-height: 32rem;
  }
  .support__title {
    font-size: 2rem;
  }
  .support__text {
    font-size: 1.6rem;
  }
  .support__map {
    height: 36rem;
    margin-top: 7rem;
  }
  .support__btn {
    bottom: -3.4rem;
  }
  .support__btn a {
    width: 26.6rem;
    min-height: 7.4rem;
    font-size: 1.8rem;
  }
  .voice {
    padding: 11rem 0 8rem;
  }
  .voice__items {
    margin-top: 10rem;
    padding: 0 5% 8rem;
  }
  .voice__items .swiper-slide {
    max-width: 110rem;
  }
  .voice__navigation {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 25.6rem;
    margin-top: 8.5rem;
    margin-inline: auto;
    gap: 2rem;
  }
  .voice__button-prev,
  .voice__button-next {
    width: 5.2rem;
    height: 5.2rem;
  }
  .voice__items.swiper .voice__pagination {
    bottom: 3rem;
    bottom: 95px;
  }
  .voice__item {
    max-width: 1100px;
    padding: 3.7rem 6rem 6rem;
  }
  .voice__title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 3rem;
    line-height: 1;
  }
  .voice__title p {
    font-size: 3.7rem;
	line-height: 1.5;
  }
  .voice__title h3 {
    font-size: 2.2rem;
	line-height: 1.5;
  }
  .voice__container {
    grid-template-columns: 1fr 42.4180327869%;
    margin-top: 3rem;
    gap: 3.3rem;
  }
  .voice__labels {
    padding: 2rem 4.5rem 2rem 2rem;
  }
  .voice__description {
    line-height: 1.6666666667;
  }
  .voice__coment {
    line-height: 1.7777777778;
  }
  .u-mobile {
    display: none;
  }
  .u-desktop {
    display: block;
  }
}

@media screen and (min-width: 1100px) {
  html {
    font-size: 10px;
  }
}

@media (width < 768px) {
  .pankuz .post.post-post.current-item {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 10px;
  }
  body {
    font-size: 1.4rem;
  }
}

@media (1280px <= width) {
  .header__inner {
    width: 83.3333333333%;
  }
}

@media (1600px <= width) {
  .pankuz.--single {
    margin-top: initial;
  }
}

@media (any-hover: hover) {
  a:hover {
    cursor: pointer;
    opacity: 0.7;
  }
  .contactForm__btn input:not(:disabled):hover {
    background: #56BEBF;
  }
  .cta__link a:hover {
    -webkit-transform: translateY(0.55rem);
            transform: translateY(0.55rem);
    -webkit-box-shadow: 0 0 0 #F8E39C;
            box-shadow: 0 0 0 #F8E39C;
  }
  .cta__link.--line a:hover {
    background: #09B24D;
    opacity: 1;
  }
  .cta__link.--mail a:hover {
    background: #6BBEC4;
    opacity: 1;
  }
  .cta__link.--line.--white:hover a {
    color: #FFF;
  }
  .cta__link.--tel a:hover {
    background: #c6e4e4;
  }
  .fixed__btn a:hover {
    background: #09B24D;
  }
  .header__contact a:hover,
  .header__line a:hover {
    background: #6bbec4;
  }
  .header__line a:hover {
    background: #09b24d;
  }
  .navigation-archive .page-numbers:hover {
    background: #56BEBF;
    color: #FFF;
    opacity: 1;
  }
  .navigation-archive .page-numbers.prev:hover::after,
  .navigation-archive .page-numbers.next:hover::after {
    -webkit-filter: invert(1);
            filter: invert(1);
  }
  .support__btn a:hover {
    background: #6BBEC4;
  }
}
/*# sourceMappingURL=map/styles.css.map */