@charset "UTF-8";
:root {
  --color-default: #3d3d3d;
  --color-black: #3d3d3d;
  --color-gray: #f5f5f5;
  --color-gray-dark: #868686;
  --color-primary: #0B318F;
  --color-secondary: #FEC613;
  --color-tertiary: #08294D;
  --color-bg-primary: #f5f5f5;
  --color-border-primary: #e0e0e0;
  --color-link: #0076df;
  --color-shadow007: rgb(0 0 0 / 7.5%);
  --color-shadow01: rgb(0 0 0 / 10%);
  --color-shadow015: rgb(0 0 0 / 15%);
  --color-shadow02: rgb(0 0 0 / 20%);
  --font-normal: "Zen Kaku Gothic New", sans-serif;
  --font-inter: "Inter", sans-serif;
  --transition: 0.35s ease;
  --transition-duration: 0.35s;
  --hover-opacity: 0.75;
}

.js-animation-element {
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 7%, 0);
  transition: opacity 1.45s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1.45s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 1.45s cubic-bezier(0.215, 0.61, 0.355, 1);
  /* 遅延クラス (共通設定) */
}
.js-animation-element[data-animation-type=sm] {
  transform: translate3d(0, 4%, 0);
}
.js-animation-element.fade {
  transform: scale(0.98); /* translate3d(0, 0, 0) は不要 */
  transition: opacity 1.35s ease-in, transform 1.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.js-animation-element.-show {
  opacity: 1;
  visibility: visible;
  transform: scale(1) translate3d(0, 0, 0);
}
.js-animation-element.delay01, .js-animation-element.delay02, .js-animation-element.delay03, .js-animation-element.delay04, .js-animation-element.delay05 {
  transition-delay: var(--delay); /* 遅延時間をカスタムプロパティで設定 */
}

/* 各遅延時間のカスタムプロパティ設定 */
.delay01 {
  --delay: 0.2s;
}

.delay02 {
  --delay: 0.4s;
}

.delay03 {
  --delay: 0.6s;
}

.delay04 {
  --delay: 0.8s;
}

.delay05 {
  --delay: 1.0s;
}

.c-button-primary {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 14.63415vw;
  padding-right: 14.63415vw;
  background: var(--color-primary);
  border-radius: 1.21952vw;
  color: #fff;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  box-shadow: 1.21952vw 1.21952vw 1.21952vw rgba(0, 0, 0, 0.15);
}
.c-button-primary::before, .c-button-primary::after {
  content: "";
  position: absolute;
  background: #fff;
  pointer-events: none;
}
.c-button-primary::before {
  top: 0;
  right: 14.63415vw;
  width: 0.24391vw;
  height: 100%;
}
.c-button-primary::after {
  top: 50%;
  right: 6.09757vw;
  width: 2.19513vw;
  height: 2.19513vw;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: translateY(-50%);
}
.c-button-primary[data-color=white] {
  background: #fff;
  color: var(--color-primary);
}
.c-button-primary[data-color=white]::before, .c-button-primary[data-color=white]::after {
  background: var(--color-primary);
}
@media (hover: hover) and (pointer: fine) {
  .c-button-primary {
    transition: opacity var(--transition);
  }
  .c-button-primary:hover {
    opacity: var(--hover-opacity);
  }
}
@media screen and (min-width: 767px), print {
  .c-button-primary {
    width: fit-content;
    min-width: 275px;
    min-height: 47px;
    margin-inline: auto;
    padding-right: 60px;
    border-radius: 5px;
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.15);
  }
  .c-button-primary::before {
    right: 60px;
    width: 1px;
  }
  .c-button-primary::after {
    right: 25px;
    width: 9px;
    height: 9px;
  }
}
.c-button-primary-label {
  padding: 1.21952vw 2.92683vw 1.21952vw 5.85366vw;
  flex: 1;
  letter-spacing: 0.075em;
  white-space: nowrap;
}
.c-button-primary-label.--car, .c-button-primary-label.--mail {
  position: relative;
  padding: 1.21952vw 1.95122vw 1.21952vw 12.19513vw;
}
.c-button-primary-label.--car::before, .c-button-primary-label.--mail::before {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  pointer-events: none;
}
.c-button-primary-label.--car::before {
  top: 52%;
  left: 4.87805vw;
  width: 5.36586vw;
  height: 4.39025vw;
  background: url(../../img/common/icn_car_01.svg) 0 0/contain no-repeat;
}
.c-button-primary-label.--mail::before {
  top: 53%;
  left: 4.87805vw;
  width: 5.36586vw;
  height: 3.65854vw;
  background: url(../../img/common/icn_mail_01.svg) 0 0/contain no-repeat;
}
@media not screen and (min-width: 378px), print {
  .c-button-primary-label {
    font-size: 11px !important;
  }
}
@media not screen and (min-width: 590px), print {
  .c-button-primary-label {
    font-size: 13px !important;
  }
}
@media screen and (min-width: 767px), print {
  .c-button-primary-label {
    padding: 4px 8px 4px 24px;
    font-size: 14px;
  }
  .c-button-primary-label.--car, .c-button-primary-label.--mail {
    padding: 4px 8px 4px 38px;
  }
  .c-button-primary-label.--car::before {
    left: 14px;
    width: 18px;
    height: 14px;
  }
  .c-button-primary-label.--mail::before {
    left: 14px;
    width: 18px;
    height: 13px;
  }
}
@media screen and (min-width: 1000px), print {
  .c-button-primary-label {
    padding: 4px 12px 4px 24px;
  }
  .c-button-primary-label.--car, .c-button-primary-label.--mail {
    padding-left: 56px;
  }
  .c-button-primary-label.--car::before {
    left: 24px;
    width: 22px;
    height: 18px;
  }
  .c-button-primary-label.--mail::before {
    left: 24px;
    width: 22px;
    height: 15px;
  }
}
.c-button-primary-action {
  padding: 0.48781vw 5.85366vw 0 0;
  font-size: 2.43903vw;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (min-width: 767px), print {
  .c-button-primary-action {
    padding: 2px 16px 0 0;
    font-size: 10px;
  }
}
@media screen and (min-width: 1000px), print {
  .c-button-primary-action {
    padding: 2px 28px 0 0;
  }
}

.none {
  display: none;
}

.xl__block {
  display: none;
}
@media not screen and (min-width: 1200px), print {
  .xl__block {
    display: block;
  }
}

.lg__block {
  display: none;
}
@media not screen and (min-width: 1000px), print {
  .lg__block {
    display: block;
  }
}

.md__block {
  display: none;
}
@media not screen and (min-width: 767px), print {
  .md__block {
    display: block;
  }
}

@media not screen and (min-width: 590px), print {
  .sm__block {
    display: block;
  }
}

@media not screen and (min-width: 1200px), print {
  .xl__none {
    display: none;
  }
}

@media not screen and (min-width: 1000px), print {
  .lg__none {
    display: none;
  }
}

@media not screen and (min-width: 767px), print {
  .md__none {
    display: none;
  }
}

@media not screen and (min-width: 590px), print {
  .sm__none {
    display: none;
  }
}

[data-btns=rr-rl] .l-header__body {
  grid-template-areas: "center left right search menu";
  grid-template-columns: 50% 25% auto var(--ark-searchW) var(--ark-drawerW);
}

.l-header__searchBtn {
  display: none;
}

.l-header__body {
  max-width: 100%;
}

.l-header__center {
  padding-top: 12px;
  padding-bottom: 12px;
}

@media not screen and (min-width: 1000px), print {
  .l-header__logo {
    width: 55px;
  }
}
.c-gnav__li > .c-gnav__a {
  padding-right: 21px;
  padding-left: 21px;
}

.c-gnav .__mainText, .c-gnav .__subText {
  font-weight: bold;
}

@media (max-width: 1070px) {
  .c-gnav {
    display: none;
  }
}
.header-links {
  margin-left: 25px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.l-header .c-button-primary {
  min-width: 0;
}

.l-header .c-button-primary-label {
  font-size: 13px;
}

.nav-tel {
  width: fit-content;
  margin: 7.31708vw auto 0;
}
.nav-tel-number {
  position: relative;
  display: inline-block;
  padding-left: 5.85366vw;
  color: var(--color-primary);
  font-family: var(--font-anton);
  font-size: 7.80488vw;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}
.nav-tel-number::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4.14635vw;
  height: 7.56098vw;
  background: var(--color-primary);
  -webkit-mask: url(../../img/common/icn_tel_01.svg) 0 0/contain no-repeat;
  mask: url(../../img/common/icn_tel_01.svg) 0 0/contain no-repeat;
}
@media (hover: hover) and (pointer: fine) {
  .nav-tel-number {
    transition: opacity var(--transition);
  }
  .nav-tel-number:hover {
    opacity: var(--hover-opacity);
  }
}
.nav-tel-note {
  letter-spacing: 0.1em;
}
@media screen and (min-width: 767px), print {
  .nav-tel {
    margin: 7px 0 0;
  }
  .nav-tel-number {
    padding-left: 18px;
    font-size: 26px;
  }
  .nav-tel-number::before {
    width: 13px;
    height: 24px;
  }
  .nav-tel-note {
    font-size: 12px;
    letter-spacing: 0.15em;
  }
}

.c-pageTitle__sub {
  letter-spacing: 0.1rem;
}

h2.arkp-gnSec8__heading {
  color: var(--color-primary);
}

.arkp-gnSec8__txt {
  font-weight: 500;
}

.arkp-elSecHeading01 .ark-block-heading__main {
  color: #0B318F;
}

.arkp-gnSec24 .arkp-elSecHeading01 .ark-block-heading__main {
  color: #fff;
}

.ark-block-heading .ark-block-heading__sub {
  opacity: 0.95;
}

.greviews-wrap {
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.84);
}

.arkp-scFeatureList01 .wp-block-image img {
  box-shadow: 9px 9px 9px var(--color-shadow007);
}

@media not screen and (min-width: 590px), print {
  .arkp-scFeatureList01 .ark-block-container {
    margin-bottom: 1.5rem;
  }
}

@media not screen and (min-width: 590px), print {
  .ark-block-columns__inner {
    row-gap: 3.45rem;
  }
}

@media not screen and (min-width: 590px), print {
  .arkp-gnSec05 .ark-block-container .arkb-fz.arkb-fz-l {
    font-size: 16.5px !important;
  }
}

@media not screen and (min-width: 590px), print {
  .arkp-gnSec05 .ark-block-container .has-text-align-center {
    text-align: left;
  }
}

@media not screen and (min-width: 590px), print {
  .p-front__content .wp-block-spacer {
    margin-top: 0;
  }
}

.btn-flex > .wp-block-group__inner-container {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 1200px), print {
  .btn-flex > .wp-block-group__inner-container {
    flex-wrap: nowrap;
  }
}

@media screen and (min-width: 1000px), print {
  .ark-block-columns__inner {
    row-gap: 90px;
  }
}

.wp-block-separator {
  background-color: #cdcdcd;
}

@media not screen and (min-width: 590px), print {
  .page-template-default .wp-block-spacer {
    height: 30px !important;
  }
}

body.page {
  /*送信ボタンのデザイン変更*/
}
body.page .contact__wrapper {
  padding: 30px;
  background-color: rgba(255, 255, 255, 0.72);
}
body.page form {
  margin-bottom: 60px;
  width: 100%;
}
@media not screen and (min-width: 590px), print {
  body.page form {
    margin-bottom: 40px;
  }
}
body.page .form__container {
  width: 100%;
  margin-bottom: 50px;
  /*見出し欄*/
}
@media not screen and (min-width: 590px), print {
  body.page .form__container {
    margin-bottom: 35px;
  }
}
body.page .form__container tr {
  width: 100%;
  display: block;
  padding: 26px 0;
}
body.page .form__container tr:not(:first-child) {
  border-top: 1px solid #eaeaea;
}
@media not screen and (min-width: 767px), print {
  body.page .form__container tr {
    padding: 19px 0;
    display: flex;
    flex-wrap: wrap;
  }
}
body.page .form__container th {
  font-weight: normal;
  color: var(--color-default);
  background-color: transparent;
  border: none;
  padding-right: 5px;
  vertical-align: middle;
  min-width: 270px;
  white-space: nowrap;
  text-align: left;
}
@media not screen and (min-width: 767px), print {
  body.page .form__container th {
    min-width: 0;
    margin-bottom: 15px;
  }
}
@media not screen and (min-width: 378px), print {
  body.page .form__container th {
    font-size: 14px;
  }
}
body.page .form__container th > p {
  margin-top: 0;
}
body.page .form__container th .mark01 {
  margin-right: 12px;
  padding: 3px 12px;
  background: #7d7d7d;
  border-radius: 0px;
  font-size: 13px;
  color: #fff;
  line-height: 1.15;
}
@media not screen and (min-width: 378px), print {
  body.page .form__container th .mark01 {
    padding: 3px;
    margin-right: 5px;
  }
}
body.page .form__container th .mark01.required {
  background-color: #f00;
}
body.page .form__container th .ttl01 {
  font-weight: 500;
}
body.page .form__container td {
  width: 100%;
  padding: 0;
  background-color: transparent;
  border: none;
}
@media not screen and (min-width: 767px), print {
  body.page .form__container td {
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
body.page .form__container td > p {
  margin-top: 0;
}
body.page .form__container td input,
body.page .form__container td textarea {
  display: block;
  width: 100%;
  border: none;
  padding: 7px;
  background-color: #f2f2f2;
  border-radius: 0px;
  font-weight: 400;
  font-family: var(--font-sansSerif);
}
body.page .form__container td input[type=checkbox] {
  display: inline-block;
  width: auto;
  letter-spacing: 0.02rem;
}
body.page .form__container td select {
  display: block;
  width: auto;
  border: none;
  padding: 7px;
  background-color: #f1f0ec;
  border-radius: 3px;
}
body.page .form__container td textarea {
  min-height: 220px;
  line-height: 1.5;
}
@media not screen and (min-width: 590px), print {
  body.page .form__container td .radio01 {
    display: flex;
    flex-wrap: wrap;
  }
}
body.page .form__container td .radio01 > .wpcf7-list-item {
  margin-left: 0;
}
@media not screen and (min-width: 590px), print {
  body.page .form__container td .radio01 > .wpcf7-list-item {
    width: 100%;
  }
}
body.page .form__container td .radio01 label {
  margin-right: 20px;
  display: flex;
  align-items: center;
}
@media not screen and (min-width: 590px), print {
  body.page .form__container td .radio01 label {
    margin-bottom: 7px;
  }
}
body.page .form__container td .radio01 .wpcf7-list-item-label {
  padding-left: 5px;
  white-space: nowrap;
}
body.page .form__container td .radio01 input {
  display: inline-block;
  width: auto;
}
body.page .form__container td input::placeholder {
  color: #999999;
}
body.page .form__container td textarea::placeholder {
  color: #999999;
}
body.page .wpcf7-checkbox .wpcf7-list-item {
  margin-right: 23px;
  margin-left: 0;
}
@media not screen and (min-width: 767px), print {
  body.page .wpcf7-checkbox .wpcf7-list-item {
    margin-bottom: 0.45rem;
  }
}
body.page .privacylink__contents {
  margin-top: 40px;
  text-align: center;
}
@media not screen and (min-width: 590px), print {
  body.page .privacylink__contents {
    margin-top: 30px;
  }
}
body.page .privacylink__contents .contents__txt01 {
  font-weight: 500;
}
@media not screen and (min-width: 1000px), print {
  body.page .privacylink__contents .contents__txt01 {
    text-align: left;
  }
}
body.page .privacylink__contents > .wpcf7-form-control-wrap {
  display: inline-block;
  margin-top: 30px;
}
@media not screen and (min-width: 590px), print {
  body.page .privacylink__contents > .wpcf7-form-control-wrap {
    margin-top: 20px;
  }
}
body.page .privacylink__contents > .wpcf7-form-control-wrap .wpcf7-list-item {
  margin-left: 0;
}
body.page .privacylink__contents > .wpcf7-form-control-wrap .wpcf7-list-item input {
  width: 15px;
  height: 15px;
}
body.page .privacylink__contents > .wpcf7-form-control-wrap .wpcf7-list-item .wpcf7-list-item-label {
  font-size: 15px;
  font-weight: 700;
}
body.page .privacylink__contents .privacylink {
  margin-top: 20px;
  display: block;
  text-align: center;
}
@media not screen and (min-width: 590px), print {
  body.page .privacylink__contents .privacylink {
    margin-top: 20px;
  }
}
body.page .privacylink__contents .privacylink > .link01 {
  margin-top: 0;
  margin-bottom: 18px;
  padding-bottom: 0;
  display: inline-block;
  font-size: 15px;
  font-weight: 500;
  color: var(--color__link);
  text-decoration: underline;
}
body.page .submit__btn {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding: 18px 20px 18px 20px;
  display: block;
  width: 340px;
  font-weight: 700;
  letter-spacing: 0.035rem;
  color: #fff;
  text-align: center;
  line-height: 1;
  background: var(--color-primary);
  border-radius: 0px;
  box-shadow: 5px 5px 0px var(--color__shadow01);
  transition: all 0.3s ease;
  cursor: pointer;
  outline: none;
  border: none;
  -webkit-appearance: none;
}
@media not screen and (min-width: 1000px), print {
  body.page .submit__btn {
    width: 260px;
    font-size: 14px;
  }
}
@media not screen and (min-width: 590px), print {
  body.page .submit__btn {
    padding: 12px 45px;
  }
}
body.page .submit__btn:hover {
  opacity: 0.85;
}

@media not screen and (min-width: 590px), print {
  .contact-intro p {
    text-align: left;
  }
}

/*# sourceMappingURL=style.css.map */
