@charset "UTF-8";
.png-sprite, .icon-tuitate, .icon-tategu, .icon-syouji, .icon-kabegami, .icon-husuma, .icon-garasu, .icon-amido {
  background-image: url(/public/images/sprite.png);
  background-repeat: no-repeat;
  display: block;
}

.icon-amido {
  width: 100%;
  aspect-ratio: 306/306;
  background-size: 107.51634% 649.346405%;
  background-position: 0% 0%;
}

.icon-garasu {
  width: 100%;
  aspect-ratio: 309/281;
  background-size: 106.472492% 707.117438%;
  background-position: 0% -109.608541%;
}

.icon-husuma {
  width: 100%;
  aspect-ratio: 309/281;
  background-size: 106.472492% 707.117438%;
  background-position: 0% -210.320285%;
}

.icon-kabegami {
  width: 100%;
  aspect-ratio: 329/281;
  background-size: 100% 707.117438%;
  background-position: 0% -311.032028%;
}

.icon-syouji {
  width: 100%;
  aspect-ratio: 310/283;
  background-size: 106.129032% 702.120141%;
  background-position: 0% -408.833922%;
}

.icon-tategu {
  width: 100%;
  aspect-ratio: 173/282;
  background-size: 190.17341% 704.609929%;
  background-position: 0% -511.347518%;
}

.icon-tuitate {
  width: 100%;
  aspect-ratio: 258/261;
  background-size: 127.51938% 761.302682%;
  background-position: 0% -661.302682%;
}

:root {
  --color-primary: #f4ece3;
  --color-secondary: #603813;
  --color-accent: #b9145a;
  --color-accent-dark: #55652b;
  --color-accent-dark-hover: #44541b;
  --color-text: #333;
  --color-text-light: #666;
  --color-background: #ffffff;
  --color-background-brown: #f4ece3;
  --color-background-gray: #f2f2f2;
  --color-background-blue: #e8eff6;
  --color-background-dark-blue: #c0d9eb;
  --color-background-hover: #f7f7f7;
  --color-background-alt: #f8f9fa;
  --color-border: #cccccc;
  --color-border-dark: #999;
  --color-success: #0a2510;
  --color-error: #dc3545;
  --font-primary: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --font-heading: "Poppins", "游明朝", "Yu Mincho", YuMincho, serif;
  --fs-10: 10px;
  --fs-12: 12px;
  --fs-14: 14px;
  --fs-16: 16px;
  --fs-18: 18px;
  --fs-20: 20px;
  --fs-22: 22px;
  --fs-24: 24px;
  --fs-26: 26px;
  --fs-28: 28px;
  --fs-30: 30px;
  --fs-32: 32px;
  --fs-34: 34px;
  --fs-36: 36px;
  --fs-38: 38px;
  --fs-40: 40px;
  --fs-42: 42px;
  --fs-44: 44px;
  --fs-46: 46px;
  --fs-48: 48px;
  --fs-50: 50px;
  --fs-52: 52px;
  --fs-54: 54px;
  --fs-56: 56px;
  --fs-58: 58px;
  --fs-60: 60px;
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 2rem;
  --spacing-lg: 3rem;
  --spacing-xl: 4rem;
  --space-8: 8px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-56: 56px;
  --space-64: 64px;
  --space-72: 72px;
  --space-80: 80px;
  --space-96: 96px;
  --space-112: 112px;
  --space-128: 128px;
  --container-max-width: 1200px;
  --transition-fast: 0.15s ease-in-out;
  --transition-base: 0.3s ease-in-out;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --header-height: 56px;
}

#main {
  padding-top: var(--header-height);
}

.intro,
.service,
.payment,
.contact,
.faq,
.compatible-area {
  content-visibility: auto;
  contain-intrinsic-size: 1000px;
}

@media (max-width: 768px) {
  :root {
    --fs-10: 1.3333vw;
    --fs-12: 1.6vw;
    --fs-14: 1.8667vw;
    --fs-16: 2.1333vw;
    --fs-18: 2.4vw;
    --fs-20: 2.6667vw;
    --fs-22: 2.9333vw;
    --fs-24: 3.2vw;
    --fs-26: 3.4667vw;
    --fs-28: 3.7333vw;
    --fs-30: 4vw;
    --fs-32: 4.2667vw;
    --fs-34: 4.5333vw;
    --fs-36: 4.8vw;
    --fs-38: 5.0667vw;
    --fs-40: 5.3333vw;
    --fs-42: 5.6vw;
    --fs-44: 5.8667vw;
    --fs-46: 6.1333vw;
    --fs-48: 6.4vw;
    --fs-50: 6.6667vw;
    --fs-52: 6.9333vw;
    --fs-54: 7.2vw;
    --fs-56: 7.4667vw;
    --fs-58: 7.7333vw;
    --fs-60: 8vw;
    /* Spacing: 8pxグリッドをvw換算（基準幅750px） */
    --space-8: 1.0667vw;
    --space-16: 2.1333vw;
    --space-24: 3.2vw;
    --space-32: 4.2667vw;
    --space-40: 5.3333vw;
    --space-48: 6.4vw;
    --space-56: 7.4667vw;
    --space-64: 8.5333vw;
    --space-72: 9.6vw;
    --space-80: 10.6667vw;
    --space-96: 12.8vw;
    --space-112: 14.9333vw;
    --space-128: 17.0667vw;
  }
}
html {
  font-size: var(--fs-16);
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-primary);
  font-size: 1rem;
  line-height: 160%;
  color: var(--color-text);
  background-color: var(--color-background);
  overflow-x: hidden;
}
body.is-nav-open {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  body {
    background-color: var(--color-background-gray);
  }
}

img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  vertical-align: bottom;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.contents-wrapper {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.contents-container {
  background: var(--color-background);
  width: 100%;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .contents-container {
    position: relative;
    max-width: 525px;
    border: 1px solid var(--color-border);
    overflow: hidden;
  }
}

.c-batch-txt {
  aspect-ratio: 1/1;
  width: 17.8666666667vw;
  height: auto;
}
.c-batch-txt img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .c-batch-txt {
    width: 93.8px;
  }
}

.c-square-txt {
  background: var(--color-accent);
  aspect-ratio: 4/1;
  padding: 7px 10px;
  border-radius: 5px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-34);
  font-weight: 700;
  color: #fff;
  text-align: left;
  line-height: 120%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.05em;
  place-self: center;
}
@media screen and (min-width: 768px) {
  .c-square-txt {
    font-size: calc(var(--fs-34) * 0.7);
  }
}
.c-square-txt span {
  line-height: 100%;
  font-size: var(--fs-24);
}
@media screen and (min-width: 768px) {
  .c-square-txt span {
    font-size: calc(var(--fs-24) * 0.7);
  }
}

.c-title-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.2vw;
  font-size: var(--fs-40);
  font-weight: 700;
  text-align: center;
  margin-bottom: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .c-title-head {
    margin-bottom: 64px;
    font-size: calc(var(--fs-40) * 0.7);
    gap: 24px;
  }
}
.c-title-head::before, .c-title-head::after {
  content: "";
  display: inline-block;
  width: 3.2vw;
  height: 2px;
}
@media screen and (min-width: 768px) {
  .c-title-head::before, .c-title-head::after {
    width: 16.8px;
  }
}

.c-title-sub-head {
  font-size: var(--fs-30);
  font-weight: 700;
  color: var(--color-accent-dark);
}
@media screen and (min-width: 768px) {
  .c-title-sub-head {
    font-size: calc(var(--fs-30) * 0.7);
  }
}

.contents-sub {
  display: none;
}
@media screen and (min-width: 768px) {
  .contents-sub {
    position: sticky;
    top: 40%;
    height: 100vh;
    display: block;
    padding: 0 20px;
    display: block;
  }
}
.contents-sub ul {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.contents-sub ul li {
  width: 370px;
  height: 73px;
}
.contents-sub ul li a {
  transition: opacity 0.5s;
}
.contents-sub ul li:hover a {
  opacity: 0.7;
  transition: opacity 0.5s;
}
.contents-sub ul li.line {
  background: var(--color-background);
  border-radius: 10px;
  padding: 10px;
}
.contents-sub ul li.line .item__ttl {
  display: flex;
  font-size: var(--fs-16);
  font-weight: 400;
  color: var(--color-text);
  text-align: left;
  line-height: 120%;
  margin-bottom: 16px;
}
.contents-sub ul li.line .item__ttl sub {
  margin-top: 10px;
  display: block;
  font-size: var(--fs-14);
  font-weight: 500;
  color: var(--color-text);
  text-align: left;
}
.contents-sub ul li.line .item__ttl span {
  padding: 4px 0 0;
}
.contents-sub ul li.line .item__ttl::before {
  content: "";
  display: inline-block;
  background: url(/assets/images/line-logo-color.svg) no-repeat center center/contain;
  width: 51px;
  height: 51px;
  margin-right: 10px;
}
.contents-sub ul li img {
  width: 100%;
  height: auto;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  background-color: var(--color-background);
  box-shadow: var(--shadow-sm);
  width: 100%;
  z-index: 990;
}
@media screen and (min-width: 768px) {
  .header {
    position: fixed;
  }
}
.header__logo {
  width: 38.9333333333vw;
  height: auto;
}
.header__logo a {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .header__logo {
    width: 204.4px;
  }
}
.header__logo img {
  width: 100%;
  height: auto;
}
.header__inner {
  width: 100%;
  height: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 8px 16px;
}
.header__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__logo {
  display: flex;
  align-items: center;
}
.header__logo-link {
  display: block;
  line-height: 0;
}
.header__logo-link:hover {
  opacity: 0.7;
}
.header__logo-img {
  height: 50px;
  width: auto;
}
@media (max-width: 768px) {
  .header__logo-img {
    height: 40px;
  }
}
.header .scroll__inner {
  background-color: #ffffff;
  height: 350px;
  padding: 40px 30px 45px 20px;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.header .scroll__inner::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
.header .simplebar-scrollbar::before {
  background: var(--color-border-dark);
  border-radius: 0;
  width: 8px;
  margin-left: 2px;
  margin-top: 2px;
  border-radius: 999px;
}
.header .simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}
.header .simplebar-track {
  background: var(--color-background-brown);
  width: 15px !important;
}

.nav {
  display: flex;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border-radius: 999px;
}
.nav:active {
  background: var(--color-background-hover);
}
@media screen and (min-width: 768px) {
  .nav:hover {
    background: var(--color-background-hover);
  }
}
.nav__toggle {
  display: block;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
}
.nav__toggle[aria-expanded=true] .nav__toggle-icon {
  background-color: transparent;
}
.nav__toggle[aria-expanded=true] .nav__toggle-icon::before {
  top: 0;
  transform: rotate(45deg);
}
.nav__toggle[aria-expanded=true] .nav__toggle-icon::after {
  top: 0;
  transform: rotate(-45deg);
}
.nav__toggle-icon {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-text);
  position: relative;
}
.nav__toggle-icon::before, .nav__toggle-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-text);
  transition: transform var(--transition-base), top var(--transition-base), opacity var(--transition-base);
}
.nav__toggle-icon::before {
  top: -8px;
}
.nav__toggle-icon::after {
  top: 8px;
}
.nav__scroll {
  position: fixed;
  top: var(--header-height);
  left: -100%;
  width: 85%;
  height: calc(100vh - var(--header-height));
  background-color: var(--color-background);
  box-shadow: var(--shadow-lg);
  padding: 24px 0;
  border-top: 1px solid var(--color-border);
  transition: left var(--transition-base), top var(--transition-base);
  z-index: 980;
}
@media screen and (min-width: 768px) {
  .nav__scroll {
    width: 525px;
  }
}
.nav__scroll.is-open {
  left: 0;
}
.nav__list {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
}
.nav__list .nav__item-head {
  font-family: var(--font-heading);
  font-size: var(--fs-40);
  font-weight: 500;
  color: var(--color-accent-dark);
  text-align: center;
  padding: 0 0 16px;
}
@media screen and (min-width: 768px) {
  .nav__list .nav__item-head {
    font-size: calc(var(--fs-40) * 0.7);
  }
}
.nav__list .nav__item {
  width: 100%;
  margin: 0 auto;
}
.nav__list .nav__item[data-border=false] a {
  border: none;
}
.nav__list .nav__item[data-type=service] a {
  font-weight: 700;
}
.nav__list .nav__item[data-border=true] {
  position: relative;
}
.nav__list .nav__item[data-border=true]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--color-border);
  width: 100%;
  height: 2px;
  z-index: 2;
}
.nav__list .nav__item[data-type=contact] {
  width: calc(100% - 40px);
  padding: 32px 16px 0;
}
.nav__list .nav__item[data-type=contact] ul {
  display: flex;
  justify-content: flex-end;
  flex-direction: row;
  gap: 24px;
}
.nav__list .nav__item[data-type=contact] ul li .contact__btn {
  background-color: var(--color-accent-dark);
  color: var(--color-background);
  display: inline-block;
  font-size: var(--fs-28);
  font-weight: 500;
  padding: 12px 24px;
  border-radius: 999px;
  text-align: center;
  width: auto;
  height: auto;
  line-height: 1;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .nav__list .nav__item[data-type=contact] ul li .contact__btn {
    font-size: calc(var(--fs-28) * 0.7);
  }
}
.nav__list .nav__item[data-type=contact] ul li .contact__btn:active {
  background-color: var(--color-accent-dark-hover);
}
@media screen and (min-width: 768px) {
  .nav__list .nav__item[data-type=contact] ul li .contact__btn:hover {
    background-color: var(--color-accent-dark-hover);
  }
}
.nav__list .nav__item[data-type=contact] ul li .line__icon {
  display: block;
  width: 10vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .nav__list .nav__item[data-type=contact] ul li .line__icon {
    width: 47.6px;
  }
}
.nav__list .nav__item[data-type=contact] ul li .line__icon img {
  width: 100%;
  height: auto;
}
.nav__overlay {
  position: fixed;
  top: var(--header-height);
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.32);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition-base), visibility var(--transition-base), top var(--transition-base);
  z-index: 970;
}
@media screen and (min-width: 768px) {
  .nav__overlay {
    position: fixed;
    width: 100%;
    height: 100vh;
  }
}
.nav__overlay.is-active {
  opacity: 1;
  visibility: visible;
}
.nav__link {
  position: relative;
  width: calc(100% - 40px);
  display: block;
  padding: 14px 16px;
  font-size: var(--fs-28);
  font-weight: 500;
  margin: 0 auto;
  border-bottom: 1px solid var(--color-border);
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .nav__link {
    font-size: calc(var(--fs-28) * 0.7);
  }
}
.nav__link:active {
  background: var(--color-background-hover);
}
@media screen and (min-width: 768px) {
  .nav__link:hover {
    background: var(--color-background-hover);
  }
}

.hero {
  margin-bottom: 12.8vw;
}
@media screen and (min-width: 768px) {
  .hero {
    margin-bottom: 80px;
  }
}
.hero__content {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 750/840;
}
.hero__image {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.hero__image > .hero__img {
  position: absolute;
  inset: 0;
  opacity: 1;
  transition: opacity 1s;
}
.hero__image > .hero__img picture, .hero__image > .hero__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.hero__image > .hero__img--alt {
  opacity: 0;
}
.hero__title-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60.4vw;
  height: auto;
  margin-bottom: 0;
  opacity: 0;
  transition: opacity 1s;
}
.hero__title-img img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .hero__title-img {
    width: 317.1px;
  }
}

body.is-hero-alt .hero__image > .hero__img--base {
  opacity: 0;
}
body.is-hero-alt .hero__image > .hero__img--alt {
  opacity: 1;
}
body.is-hero-alt .hero__title-img {
  opacity: 1;
}

.intro {
  margin-bottom: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .intro {
    margin-bottom: 80px;
  }
}
.intro__content {
  position: relative;
  width: 100%;
  height: auto;
}
.intro__head {
  width: 100%;
  text-align: center;
  margin-bottom: 8.5333333333vw;
}
@media screen and (min-width: 768px) {
  .intro__head {
    margin-bottom: 48px;
  }
}
.intro__head h2 {
  background: var(--color-accent-dark);
  display: inline-block;
  color: #fff;
  padding: 10px 10px 10px 4px;
  text-align: center;
  font-size: var(--fs-32);
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .intro__head h2 {
    font-size: calc(var(--fs-32) * 0.7);
  }
}
.intro__ttl {
  width: 69.7333333333vw;
  height: auto;
  margin: 0 auto 12.8vw;
}
@media screen and (min-width: 768px) {
  .intro__ttl {
    width: 366.1px;
    margin: 0 auto 96px;
  }
}
.intro__ttl img {
  width: 100%;
  height: auto;
}
.intro__img {
  width: 100%;
  height: auto;
  aspect-ratio: 750/600;
  margin: 0 auto 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .intro__img {
    margin: 0 auto 64px;
  }
}
.intro__img img {
  width: 100%;
  height: 100%;
}
.intro__recommend {
  width: 100%;
  margin: 0 0 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .intro__recommend {
    margin: 0 auto 40px;
  }
}
.intro__recommend span {
  background: var(--color-accent-dark);
  display: inline-block;
  color: #fff;
  padding: 10px 24px;
  text-align: center;
  font-size: var(--fs-32);
  font-weight: 500;
  text-align: center;
}
.intro__recommend span:not(:last-child) {
  margin-bottom: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  .intro__recommend span:not(:last-child) {
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 768px) {
  .intro__recommend span {
    font-size: calc(var(--fs-32) * 0.7);
  }
}
.intro__what {
  background: var(--color-background-brown);
  width: calc(100% - 30px);
  padding: 6.4vw 5.3333333333vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .intro__what {
    padding: 32px 24px;
    margin: 0 auto;
  }
}
.intro__what-ttl {
  font-size: var(--fs-30);
  color: var(--color-secondary);
  font-weight: 700;
  text-align: center;
  margin-bottom: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .intro__what-ttl {
    font-size: calc(var(--fs-32) * 0.7);
    margin-bottom: 32px;
  }
}
.intro__what-txt p {
  font-size: var(--fs-24);
  color: var(--color-text);
  font-weight: 500;
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .intro__what-txt p {
    font-size: calc(var(--fs-24) * 0.7);
  }
}
.intro__what-txt p:not(.small) {
  padding-bottom: 2.1333333333vw;
}
.intro__what-txt .small {
  font-size: var(--fs-22);
  color: var(--color-text-light);
  font-weight: 500;
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .intro__what-txt .small {
    font-size: calc(var(--fs-22) * 0.7);
  }
}

.service {
  position: relative;
  padding: 8.5333333333vw 15px 0;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .service {
    padding: 32px 15px 0;
  }
}
.service .c-batch-txt {
  position: absolute;
  top: 0;
  left: 15px;
}
.service__head {
  color: var(--color-secondary);
}
.service__head::before, .service__head::after {
  background: var(--color-secondary);
}
.service__list {
  width: 100%;
  margin: 0 auto 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .service__list {
    margin: 0 auto 80px;
  }
}
.service__icon {
  width: 13.3333333333vw;
  height: auto;
  margin-right: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .service__icon {
    width: 70px;
    margin-right: 40px;
  }
}
.service__icon svg, .service__icon img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
.service ul {
  margin-top: 40px;
  border-top: 1px solid var(--color-border-dark);
}
.service ul li a {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  font-size: var(--fs-40);
  font-weight: 500;
  color: var(--color-secondary);
  text-align: center;
  border-bottom: 1px solid var(--color-border-dark);
  padding: 10px 16px;
}
.service ul li a:active {
  background: var(--color-background-brown);
}
@media screen and (min-width: 768px) {
  .service ul li a {
    padding: 16px 16px;
    font-size: calc(var(--fs-40) * 0.7);
  }
  .service ul li a:hover {
    background: var(--color-background-brown);
  }
}
.service ul li a::after {
  content: "";
  position: absolute;
  right: 5.3333333333vw;
  top: calc(50% - 2px);
  width: 16px;
  height: 16px;
  display: inline-block;
  border-bottom: 2px solid var(--color-secondary);
  border-right: 2px solid var(--color-secondary);
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .service ul li a::after {
    width: 22.4px;
    height: 22.4px;
    right: 24px;
  }
}
.service ul li a span {
  padding-top: 8px;
  font-size: var(--fs-30);
}
@media screen and (min-width: 768px) {
  .service ul li a span {
    font-size: calc(var(--fs-30) * 0.7);
  }
}
.service ul li a:active {
  background: var(--color-background-hover);
}
@media screen and (min-width: 768px) {
  .service ul li a:hover {
    background: var(--color-background-hover);
  }
}
.service__items {
  display: flex;
  flex-direction: column;
  gap: 14.9333333333vw;
}
@media screen and (min-width: 768px) {
  .service__items {
    gap: 64px;
  }
}
.service__items .item {
  z-index: 0;
}
.service__items .item__sub:not(:last-child) {
  margin-bottom: 64px;
}
.service__items .item__sub-ttl {
  position: relative;
  display: flex;
  align-items: center;
  font-size: var(--fs-40);
  font-weight: 700;
  color: var(--color-secondary);
  text-align: center;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .service__items .item__sub-ttl {
    font-size: calc(var(--fs-40) * 0.7);
  }
}
.service__items .item__sub-img {
  width: 100%;
  height: auto;
  aspect-ratio: 670/400;
  margin-bottom: 8px;
}
.service__items .item__sub-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service__items .item__sub .item-txt ul {
  margin: 0 0 8px;
  border-top: none;
}
.service__items .item__sub .item-txt ul li {
  font-size: var(--fs-30);
  font-weight: 500;
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .service__items .item__sub .item-txt ul li {
    font-size: calc(var(--fs-30) * 0.7);
  }
}
.service__items .item__head {
  display: flex;
  justify-content: space-between;
}
.service__items .item__head .item__ttl {
  position: relative;
  display: flex;
  align-items: center;
  font-size: var(--fs-40);
  font-weight: 700;
  color: var(--color-secondary);
  text-align: center;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .service__items .item__head .item__ttl {
    font-size: calc(var(--fs-40) * 0.7);
  }
}
.service__items .item__head .item__ttl .service__icon {
  margin-right: 3.2vw;
}
@media screen and (min-width: 768px) {
  .service__items .item__head .item__ttl .service__icon {
    margin-right: 24px;
  }
}
.service__items .item-point-img {
  width: 100%;
  height: auto;
  margin-bottom: 24px;
}
.service__items .item-point-img img {
  width: 100%;
  height: auto;
}
.service__items .item-img {
  width: 100%;
  height: auto;
  aspect-ratio: 670/400;
  margin-bottom: 24px;
}
.service__items .item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service__items .item-txt p {
  font-size: var(--fs-24);
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .service__items .item-txt p {
    font-size: calc(var(--fs-24) * 0.7);
  }
}
.service__items .item-price .price-table {
  width: 100%;
  margin-bottom: 16px;
}
.service__items .item-price .price-table table {
  width: 100%;
  border-collapse: collapse;
  background: var(--color-background-brown);
}
.service__items .item-price .price-table table thead th {
  text-align: left;
  font-weight: 500;
  padding: 0 8px 12px;
  background: #fff;
  font-size: var(--fs-30);
  border-bottom: 1px solid var(--color-text);
}
@media screen and (min-width: 768px) {
  .service__items .item-price .price-table table thead th {
    font-size: calc(var(--fs-30) * 0.7);
  }
}
.service__items .item-price .price-table table thead th .tax {
  font-weight: 500;
  font-size: var(--fs-22);
  margin-left: 0.25em;
  float: right;
}
@media screen and (min-width: 768px) {
  .service__items .item-price .price-table table thead th .tax {
    font-size: calc(var(--fs-22) * 0.7);
  }
}
.service__items .item-price .price-table table tbody tr {
  border-bottom: 1px solid var(--color-text);
}
.service__items .item-price .price-table table td {
  padding: 12px 16px;
  vertical-align: middle;
  height: 16vw;
  width: 60vw;
}
@media screen and (min-width: 768px) {
  .service__items .item-price .price-table table td {
    width: 280px;
    height: 84px;
  }
}
.service__items .item-price .price-table table td.price {
  font-family: var(--font-heading);
  text-align: right;
  color: #b0004d;
  font-weight: 700;
  font-size: var(--fs-42);
  white-space: nowrap;
  background: #fff;
  padding: 12px 4.2666666667vw 10px 5px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  width: 40vw;
}
@media screen and (min-width: 768px) {
  .service__items .item-price .price-table table td.price {
    width: 100px;
    padding: 12px 32px 10px 5px;
    font-size: calc(var(--fs-42) * 0.7);
  }
}
.service__items .item-price .price-table table td.price span {
  font-family: var(--font-primary);
  font-size: var(--fs-24);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .service__items .item-price .price-table table td.price span {
    font-size: calc(var(--fs-24) * 0.7);
  }
}
.service__items .item-price .price-table table .title {
  font-size: var(--fs-28);
  font-weight: 500;
  line-height: 140%;
}
@media screen and (min-width: 768px) {
  .service__items .item-price .price-table table .title {
    width: initial;
    font-size: calc(var(--fs-28) * 0.7);
  }
}
.service__items .item-price .price-table table .size {
  margin-top: 6px;
  font-size: var(--fs-22);
}
@media screen and (min-width: 768px) {
  .service__items .item-price .price-table table .size {
    font-size: calc(var(--fs-22) * 0.7);
  }
}
.service__items .item .allergy-item {
  border: 2px solid var(--color-accent);
  width: 100%;
  padding: 24px 16px;
  margin-top: 14.9333333333vw;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .service__items .item .allergy-item {
    padding: 40px 24px;
    margin-top: 80px;
  }
}
.service__items .item .allergy-item__head {
  font-size: var(--fs-32);
  font-weight: 700;
  color: var(--color-accent);
  line-height: 140%;
  text-align: center;
  margin-bottom: 6.4vw;
}
@media screen and (min-width: 768px) {
  .service__items .item .allergy-item__head {
    margin-bottom: 48px;
    font-size: calc(var(--fs-32) * 0.7);
  }
}
.service__items .item .allergy-item__img {
  width: 84%;
  height: auto;
  margin: 0 auto 6.4vw;
}
@media screen and (min-width: 768px) {
  .service__items .item .allergy-item__img {
    width: 100%;
    padding: 0 20px;
    margin: 0 auto 48px;
  }
}
.service__items .item .allergy-item__img img {
  width: 100%;
  height: auto;
}
.service__items .item .allergy-item__txt p {
  font-size: var(--fs-22);
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .service__items .item .allergy-item__txt p {
    font-size: calc(var(--fs-22) * 0.7);
  }
}
.service__items .item .allergy-item__txt p:not(.small) {
  padding-bottom: 2.1333333333vw;
}
.service__items .item .allergy-item__txt .small {
  font-size: var(--fs-22);
  color: var(--color-text-light);
  font-weight: 500;
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .service__items .item .allergy-item__txt .small {
    font-size: calc(var(--fs-22) * 0.7);
  }
}
.service__items .item[data-service=tategu] {
  position: relative;
  max-width: 100%;
  padding: 14.9333333333vw 0;
}
.service__items .item[data-service=tategu] .price-table table td:first-of-type {
  background: var(--color-background-gray);
}
@media screen and (min-width: 768px) {
  .service__items .item[data-service=tategu] {
    padding: 64px 0;
  }
}
.service__items .item[data-service=tategu] .item-price {
  border-top: 1px solid var(--color-text);
}
.service__items .item[data-service=tategu] .item-price .title {
  width: initial;
}
.service__items .item[data-service=tategu] .item-price .price .size {
  font-family: var(--font-primary);
  font-size: var(--fs-22);
  color: var(--color-text);
  font-weight: 500;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .service__items .item[data-service=tategu] .item-price .price .size {
    font-size: calc(var(--fs-22) * 0.7);
  }
}
.service__items .item[data-service=tategu] .item-price ol {
  width: initial;
}
.service__items .item[data-service=tategu] .item-price ol li {
  font-size: var(--fs-28);
}
@media screen and (min-width: 768px) {
  .service__items .item[data-service=tategu] .item-price ol li {
    font-size: calc(var(--fs-28) * 0.7);
  }
}
.service__items .item[data-service=tategu] .item-price ol li:not(:last-child) {
  margin-bottom: 1.0666666667vw;
}
.service__items .item[data-service=tategu] .item-price ol li::before {
  content: "●";
  font-size: var(--fs-18);
  display: inline-block;
  margin-right: 1.0666666667vw;
}
.service__items .item[data-service=tategu] .item-worries {
  padding: 5.3333333333vw 0 0;
}
.service__items .item[data-service=tategu] .item-worries__ttl {
  font-size: var(--fs-40);
  font-weight: 700;
  color: var(--color-secondary);
  text-align: center;
  margin-bottom: 3.2vw;
}
@media screen and (min-width: 768px) {
  .service__items .item[data-service=tategu] .item-worries__ttl {
    font-size: calc(var(--fs-40) * 0.7);
  }
}
.service__items .item[data-service=tategu]:after {
  content: "";
  background: var(--color-primary);
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: -15px;
  z-index: -1;
}
.service__items .item[data-service=garasu] {
  position: relative;
  max-width: 100%;
  padding: 14.9333333333vw 0;
}
@media screen and (min-width: 768px) {
  .service__items .item[data-service=garasu] {
    padding: 64px 0;
  }
}
.service__items .item[data-service=garasu] .item-price .price-table table {
  background: var(--color-background-dark-blue);
}
.service__items .item[data-service=garasu] .item-price .price-table table thead th {
  background: var(--color-background-blue);
}
.service__items .item[data-service=garasu]:after {
  content: "";
  background: var(--color-background-blue);
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: -15px;
  z-index: -1;
}

.payment {
  padding: 16vw 0;
}
@media screen and (min-width: 768px) {
  .payment {
    padding: 64px 0;
  }
}
.payment__content {
  width: calc(100% - 30px);
  padding: 6.4vw 5.3333333333vw;
  margin: 0 auto;
  border: 1px solid #000;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .payment__content {
    padding: 48px 40px;
  }
}
.payment__content .payment__head {
  font-size: var(--fs-40);
  font-weight: 700;
  color: var(--color-text);
  text-align: center;
  margin-bottom: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .payment__content .payment__head {
    font-size: calc(var(--fs-40) * 0.7);
    margin-bottom: 48px;
  }
}
.payment__content .payment__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.payment__content .payment__list li {
  background: var(--color-background);
  width: 100%;
}
.payment__content .payment__list li .item__ttl {
  display: flex;
  font-weight: 500;
  font-size: var(--fs-28);
  color: var(--color-text);
  text-align: left;
  line-height: 120%;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .payment__content .payment__list li .item__ttl {
    font-size: calc(var(--fs-28) * 0.7);
  }
}
.payment__content .payment__list li .item__ttl .icon {
  display: inline-block;
  width: 12vw;
  height: auto;
  margin-right: 4.2666666667vw;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .payment__content .payment__list li .item__ttl .icon {
    width: 63px;
    margin-right: 22.4px;
  }
}
.payment__content .payment__list li .item__ttl .icon img {
  width: 100%;
  height: auto;
}
.payment__content .payment__list li .item__ttl sub.detail {
  display: block;
  font-size: var(--fs-22);
  font-weight: 400;
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .payment__content .payment__list li .item__ttl sub.detail {
    font-size: calc(var(--fs-22) * 0.7);
  }
}

.userreview {
  padding: 5.3333333333vw 0 16vw;
}
@media screen and (min-width: 768px) {
  .userreview {
    padding: 24px 0 60px;
  }
}
.userreview__head {
  color: var(--color-text);
}
.userreview__head::before, .userreview__head::after {
  background: var(--color-text);
}
.userreview__content {
  padding: 0 15px;
}
.userreview .small {
  margin-top: 10px;
  text-align: right;
  font-size: var(--fs-22);
  color: var(--color-text-light);
  font-weight: 500;
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .userreview .small {
    font-size: calc(var(--fs-22) * 0.7);
  }
}
.userreview__img {
  width: 100%;
}
.userreview__img a {
  transition: opacity 0.5s;
}
.userreview__img a:hover {
  opacity: 0.7;
  transition: opacity 0.5s;
}
.userreview__img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  border: 2px solid var(--color-border-dark);
  box-sizing: content-box;
}

.contact {
  position: relative;
  background: var(--color-background-brown);
  padding: 16vw 0;
}
@media screen and (min-width: 768px) {
  .contact {
    padding: 64px 0;
  }
}
.contact .c-batch-txt {
  position: absolute;
  top: 8.5333333333vw;
  left: 15px;
}
@media screen and (min-width: 768px) {
  .contact .c-batch-txt {
    top: 32px;
  }
}
.contact__content,
.contact form[name=form1] {
  padding: 0 15px;
  max-width: 760px;
  margin: 0 auto;
}
.contact__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.contact__list li {
  background: var(--color-background);
  width: 100%;
  padding: 24px 24px;
  border-radius: 10px;
}
.contact__list .item__ttl span {
  align-self: center;
}
.contact__list .item__ttl::before {
  content: "";
  display: inline-block;
}
.contact__list .item[data-type=mail] .item__ttl::before {
  background: url(/assets/images/mail-logo.svg) no-repeat center center/contain;
  width: 10vw;
  height: 8vw;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .contact__list .item[data-type=mail] .item__ttl::before {
    width: 55px;
    height: 40px;
  }
}
.contact__list .item[data-type=line] .item__ttl::before {
  background: url(/assets/images/line-logo-color.svg) no-repeat center center/contain;
  width: 10.8vw;
  height: 10.8vw;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .contact__list .item[data-type=line] .item__ttl::before {
    width: 61px;
    height: 61px;
  }
}
.contact__list .item__ttl {
  display: flex;
  font-size: var(--fs-30);
  font-weight: 700;
  color: var(--color-text);
  text-align: left;
  line-height: 120%;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .contact__list .item__ttl {
    font-size: calc(var(--fs-30) * 0.7);
  }
}
.contact__list .item__ttl a {
  border-bottom: 1px solid var(--color-text);
}
.contact__list .item__ttl sub {
  margin-top: 2.1333333333vw;
  display: block;
  font-size: var(--fs-22);
  font-weight: 500;
  color: var(--color-text);
  text-align: left;
  margin-bottom: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  .contact__list .item__ttl sub {
    margin-top: 16px;
    font-size: calc(var(--fs-22) * 0.7);
  }
}
.contact__list .item__txt {
  font-size: var(--fs-26);
  font-weight: 500;
  line-height: 180%;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .contact__list .item__txt {
    font-size: calc(var(--fs-26) * 0.7);
  }
}

.faq {
  padding: 16vw 0 0;
}
@media screen and (min-width: 768px) {
  .faq {
    padding: 64px 0;
  }
}
.faq__head {
  color: var(--color-text);
}
.faq__head::before, .faq__head::after {
  background: var(--color-text);
}
.faq__content {
  display: flex;
  flex-direction: column;
  gap: 3.2vw;
  padding: 0 15px;
}
@media screen and (min-width: 768px) {
  .faq__content {
    gap: 10px;
  }
}
.faq__item {
  background: #eef0ea;
}
.faq__item-head {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 0 48px 0 8px;
  font-size: var(--fs-28);
  line-height: 140%;
  font-weight: 500;
  max-height: 94px;
  height: 20.6666666667vw;
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .faq__item-head {
    padding: 0 72px 0 8px;
    font-size: calc(var(--fs-28) * 0.7);
  }
}
.faq__item-head::-webkit-details-marker {
  display: none;
}
.faq__item-head .faq__item-icon {
  width: 28%;
  height: 100%;
  overflow: hidden;
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
}
.faq__item-head .faq__item-icon img {
  width: auto;
  height: 100%;
  display: block;
}
.faq__item-head .faq__item-text {
  flex: 1 1 auto;
}
.faq__item-head .faq__item-plus {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  border-radius: 999px;
  background: #55652b;
}
@media screen and (min-width: 768px) {
  .faq__item-head .faq__item-plus {
    width: 28px;
    height: 28px;
  }
}
.faq__item-head .faq__item-plus::before,
.faq__item-head .faq__item-plus::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
}
.faq__item-head .faq__item-plus::before {
  width: 40%;
  height: 2px;
}
.faq__item-head .faq__item-plus::after {
  width: 2px;
  height: 40%;
  transition: opacity var(--transition-base), transform var(--transition-base);
}
.faq__item-answer {
  position: relative;
  padding: 16px;
  min-height: 14.6666666667vw;
  font-size: var(--fs-26);
  line-height: 180%;
  font-weight: 400;
  color: var(--color-text);
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .faq__item-answer {
    min-height: initial;
    font-size: calc(var(--fs-26) * 0.7);
  }
}
.faq__item-answer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 16px);
  height: 5px;
  background: url(/assets/images/dots.png) repeat center center/contain;
}

details[open] .faq__item-plus::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.compatible-area {
  padding: 16vw 0 0;
}
@media screen and (min-width: 768px) {
  .compatible-area {
    padding: 64px 0 0;
  }
}
.compatible-area__head {
  color: var(--color-text);
}
.compatible-area__head::before, .compatible-area__head::after {
  background: var(--color-text);
}
.compatible-area__info {
  padding: 0 25px;
}
.compatible-area__info p {
  font-size: var(--fs-26);
  font-weight: 400;
  color: var(--color-text);
  line-height: 180%;
  margin-bottom: 2.1333333333vw;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .compatible-area__info p {
    font-size: calc(var(--fs-26) * 0.7);
  }
}
.compatible-area__info p:not(:last-child) {
  margin-bottom: 4.2666666667vw;
}
.compatible-area__info ul {
  margin-top: 2.1333333333vw;
  font-size: var(--fs-26);
  font-weight: 400;
  color: var(--color-text);
  line-height: 180%;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .compatible-area__info ul {
    font-size: calc(var(--fs-26) * 0.7);
  }
}
.compatible-area__info ul li:not(:last-child) {
  padding-bottom: 2.1333333333vw;
}
.compatible-area__info ul strong {
  font-weight: 700;
}

.contact-btn {
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
  position: fixed;
  left: 15px;
  bottom: 30px;
  width: 77.3333333333vw;
  z-index: 970;
}
@media screen and (min-width: 768px) {
  .contact-btn {
    width: 406px;
    display: none;
  }
}
.contact-btn-img img {
  width: 100%;
  height: auto;
}
.contact-btn-hand {
  position: fixed;
  left: 74.6666666667vw;
  bottom: 20px;
  width: 10.6666666667vw;
  transform-origin: bottom center;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .contact-btn-hand {
    width: 56px;
  }
}
.contact-btn-hand img {
  width: 100%;
  height: auto;
  animation: handDoubleTap 1.6s ease-in-out infinite;
}
@keyframes handDoubleTap {
  0% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
  10% {
    transform: translateY(3px) scale(0.95);
  }
  20% {
    transform: translateY(0) scale(1);
  }
  35% {
    transform: translateY(3px) scale(0.95);
  }
  45% {
    transform: translateY(0) scale(1);
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-btn-hand img {
    animation: none;
  }
}

.page-top {
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
  position: fixed;
  right: 15px;
  bottom: 30px;
  width: 8.5333333333vw;
  z-index: 970;
}
@media screen and (min-width: 768px) {
  .page-top {
    width: 44.8px;
  }
}
.page-top img {
  width: 100%;
  height: auto;
}

body.is-floating-visible .contact-btn,
body.is-floating-visible .page-top {
  opacity: 1;
  pointer-events: auto;
}

.footer {
  padding: 16vw 0 0;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 80px 0 0;
  }
}
.footer__contact ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer__contact ul li {
  width: 18vw;
  max-width: 100px;
  border-radius: 999px;
  transition: background var(--transition-base);
}
.footer__contact ul li:active {
  background: var(--color-background-brown);
}
@media screen and (min-width: 768px) {
  .footer__contact ul li {
    width: 80px;
  }
  .footer__contact ul li:hover {
    background: var(--color-background-brown);
  }
}
.footer__contact ul li a {
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
}
.footer__contact ul li a img {
  width: 100%;
  height: auto;
}
.footer__nav {
  padding: 4.2666666667vw 0 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .footer__nav {
    padding: 32px 0 40px;
  }
}
.footer__nav ul {
  display: flex;
  justify-content: center;
}
.footer__nav ul li:first-of-type a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: var(--color-text);
}
.footer__nav ul li a {
  position: relative;
}
.footer__nav ul li a::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: var(--color-text);
}
.footer__nav ul li a {
  position: relative;
  font-size: var(--fs-22);
  font-weight: 500;
  color: var(--color-text);
  text-align: center;
  padding: 1.0666666667vw 3.2vw;
  transition: background var(--transition-base);
}
@media screen and (min-width: 768px) {
  .footer__nav ul li a {
    padding: 5px 16px;
    font-size: calc(var(--fs-18) * 0.7);
  }
}
.footer__nav ul li a:active {
  background: var(--color-background-hover);
}
@media screen and (min-width: 768px) {
  .footer__nav ul li a:hover {
    background: var(--color-background-hover);
  }
}
.footer__panel {
  background: var(--color-background-brown);
  padding: 8.5333333333vw 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3.2vw;
  border-top: 2px solid var(--color-border);
}
@media screen and (min-width: 768px) {
  .footer__panel {
    padding: 40px 24px;
  }
}
.footer__logo {
  width: 42.5333333333vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    width: 223.3px;
  }
}
.footer__logo img {
  width: 100%;
  height: auto;
}
.footer__info {
  display: flex;
  flex-direction: column;
  gap: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  .footer__info {
    gap: 4px;
  }
}
.footer__info tel {
  font-size: var(--fs-28);
  font-weight: 500;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .footer__info tel {
    font-size: calc(var(--fs-28) * 0.7);
  }
}
.footer__info address {
  font-size: var(--fs-22);
  font-weight: 500;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .footer__info address {
    font-size: calc(var(--fs-22) * 0.7);
  }
}
.footer__copyright {
  padding: 4.2666666667vw 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__copyright {
    padding: 40px 0;
  }
}
.footer__copyright p {
  font-size: var(--fs-20);
  font-weight: 500;
  color: var(--color-text-light);
}
@media screen and (min-width: 768px) {
  .footer__copyright p {
    font-size: calc(var(--fs-20) * 0.7);
  }
}

.company {
  padding: 10.6666666667vw 24px 0;
}
@media screen and (min-width: 768px) {
  .company {
    padding: 72px 24px 0;
  }
}
.company__head {
  margin: 0 0 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .company__head {
    margin: 0 0 24px;
  }
}
.company__content {
  background: var(--color-background);
}
.company__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.company__table th,
.company__table td {
  border-top: 1px solid var(--color-border);
  padding: 4.2666666667vw 3.2vw;
  font-size: var(--fs-24);
  vertical-align: top;
  line-height: 140%;
}
@media screen and (min-width: 768px) {
  .company__table th,
  .company__table td {
    padding: 24px 16px;
    font-size: calc(var(--fs-24) * 0.7);
  }
}
.company__table tr:last-child th,
.company__table tr:last-child td {
  border-bottom: 1px solid var(--color-border);
}
.company__table th {
  width: 32%;
  font-weight: 600;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .company__table th {
    width: 190px;
  }
}
.company__table td {
  color: var(--color-text);
}
.company__table td a[href^="tel:"] {
  color: inherit;
  text-decoration: underline;
}
.company__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.company__list li {
  position: relative;
  padding-left: 3.2vw;
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .company__list li {
    padding-left: 18px;
  }
}
.company__list li::before {
  content: "●";
  position: absolute;
  top: 0.05em;
  left: 0;
  color: var(--color-text);
}
.company__list li + li {
  margin-top: 1.0666666667vw;
}
@media screen and (min-width: 768px) {
  .company__list li + li {
    margin-top: 6px;
  }
}

.privacy {
  padding: 10.6666666667vw 24px 0;
}
@media screen and (min-width: 768px) {
  .privacy {
    padding: 72px 24px 0;
  }
}
.privacy__head {
  margin: 0 0 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .privacy__head {
    margin: 0 0 24px;
  }
}
.privacy__content {
  background: var(--color-background);
}
.privacy__intro {
  font-size: var(--fs-24);
  line-height: 1.8;
  margin: 0 0 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .privacy__intro {
    font-size: calc(var(--fs-24) * 0.7);
    margin: 0 0 24px;
  }
}
.privacy__article {
  padding: 3.2vw 0;
}
@media screen and (min-width: 768px) {
  .privacy__article {
    padding: 16px 0;
  }
}
.privacy__title {
  font-weight: 700;
  font-size: var(--fs-26);
  margin: 0 0 2.1333333333vw;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .privacy__title {
    font-size: calc(var(--fs-26) * 0.7);
    margin: 0 0 10px;
  }
}
.privacy__text {
  font-size: var(--fs-24);
  line-height: 180%;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .privacy__text {
    font-size: calc(var(--fs-24) * 0.7);
  }
}
.privacy__text a {
  color: var(--color-link);
  text-decoration: underline;
}
.privacy__list {
  margin: 1.0666666667vw 0 0;
  padding-left: 3.2vw;
}
@media screen and (min-width: 768px) {
  .privacy__list {
    padding-left: 18px;
  }
}
.privacy__item {
  position: relative;
  line-height: 180%;
  font-size: var(--fs-26);
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .privacy__item {
    font-size: calc(var(--fs-26) * 0.7);
  }
}
.privacy__item + .privacy__item {
  margin-top: 1.0666666667vw;
}
@media screen and (min-width: 768px) {
  .privacy__item + .privacy__item {
    margin-top: 6px;
  }
}
.privacy__item::before {
  content: "・";
  position: absolute;
  left: -1em;
}

.contactForm {
  background: var(--color-background);
  padding: 10.6666666667vw 24px 0;
}
@media screen and (min-width: 768px) {
  .contactForm {
    padding: 72px 24px 0;
  }
}
.contactForm .privacy-policy {
  max-height: 160px;
  overflow-y: auto;
  padding: 10px 16px;
  background: var(--color-background);
  border-radius: 5px;
  border: 1px solid var(--color-border);
}
.contactForm .privacy-policy .privacy {
  padding: 10px 0;
  max-width: 100%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .contactForm .privacy-policy {
    margin: 16px 0 0;
    max-height: 200px;
  }
}
.contactForm__head {
  margin: 0 0 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .contactForm__head {
    margin: 0 0 24px;
  }
}
.contactForm__content .required,
.contactForm .contactForm .required,
.contactForm form[name=form1] .required {
  color: #e4007f;
  font-weight: 500;
  margin-left: 8px;
}
.contactForm__content .is-required,
.contactForm__content .is-required-text,
.contactForm .contactForm .is-required,
.contactForm .contactForm .is-required-text,
.contactForm form[name=form1] .is-required,
.contactForm form[name=form1] .is-required-text {
  color: #e4007f;
  font-weight: 500;
}
.contactForm__content .formmailer-embed,
.contactForm .contactForm .formmailer-embed,
.contactForm form[name=form1] .formmailer-embed {
  background: var(--color-background);
  border-radius: 12px;
  box-shadow: var(--shadow-lg);
  padding: 24px;
}
@media screen and (min-width: 768px) {
  .contactForm__content .formmailer-embed,
  .contactForm .contactForm .formmailer-embed,
  .contactForm form[name=form1] .formmailer-embed {
    padding: 24px;
  }
}
.contactForm__content .form-title,
.contactForm .contactForm .form-title,
.contactForm form[name=form1] .form-title {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 8px;
  margin: 8px 0 0;
  font-size: var(--fs-24);
  font-weight: 500;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .contactForm__content .form-title,
  .contactForm .contactForm .form-title,
  .contactForm form[name=form1] .form-title {
    margin: 10px 0 0;
    font-size: calc(var(--fs-24) * 0.7);
  }
}
.contactForm__content .radio-wrap,
.contactForm .contactForm .radio-wrap,
.contactForm form[name=form1] .radio-wrap {
  display: flex;
  align-items: center;
  flex-direction: row;
  gap: 8px;
}
.contactForm__content form, .contactForm__content,
.contactForm .contactForm form,
.contactForm .contactForm,
.contactForm form[name=form1] form,
.contactForm form[name=form1] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .contactForm__content form, .contactForm__content,
  .contactForm .contactForm form,
  .contactForm .contactForm,
  .contactForm form[name=form1] form,
  .contactForm form[name=form1] {
    gap: 16px;
  }
}
.contactForm__content > p .required,
.contactForm .contactForm > p .required,
.contactForm form[name=form1] > p .required {
  color: #e4007f;
  font-weight: 500;
  margin-left: 8px;
}
.contactForm__content > p > input[type=text],
.contactForm__content > p > input[type=email],
.contactForm__content > p > input[type=tel],
.contactForm__content > p > input[type=url],
.contactForm__content > p > input[type=number],
.contactForm__content > p > select,
.contactForm__content > p > textarea,
.contactForm .contactForm > p > input[type=text],
.contactForm .contactForm > p > input[type=email],
.contactForm .contactForm > p > input[type=tel],
.contactForm .contactForm > p > input[type=url],
.contactForm .contactForm > p > input[type=number],
.contactForm .contactForm > p > select,
.contactForm .contactForm > p > textarea,
.contactForm form[name=form1] > p > input[type=text],
.contactForm form[name=form1] > p > input[type=email],
.contactForm form[name=form1] > p > input[type=tel],
.contactForm form[name=form1] > p > input[type=url],
.contactForm form[name=form1] > p > input[type=number],
.contactForm form[name=form1] > p > select,
.contactForm form[name=form1] > p > textarea {
  width: 100%;
  display: block;
  margin-top: 10px;
}
.contactForm__content > p br,
.contactForm .contactForm > p br,
.contactForm form[name=form1] > p br {
  display: none;
}
.contactForm__content > p input[type=radio],
.contactForm__content > p input[type=checkbox],
.contactForm .contactForm > p input[type=radio],
.contactForm .contactForm > p input[type=checkbox],
.contactForm form[name=form1] > p input[type=radio],
.contactForm form[name=form1] > p input[type=checkbox] {
  margin-right: 8px;
}
.contactForm__content > p input[type=radio] + *,
.contactForm__content > p input[type=checkbox] + *,
.contactForm .contactForm > p input[type=radio] + *,
.contactForm .contactForm > p input[type=checkbox] + *,
.contactForm form[name=form1] > p input[type=radio] + *,
.contactForm form[name=form1] > p input[type=checkbox] + * {
  margin-right: 24px;
  vertical-align: middle;
}
.contactForm__content .form-row,
.contactForm__content .form-group,
.contactForm__content .field,
.contactForm__content > p,
.contactForm .contactForm .form-row,
.contactForm .contactForm .form-group,
.contactForm .contactForm .field,
.contactForm .contactForm > p,
.contactForm form[name=form1] .form-row,
.contactForm form[name=form1] .form-group,
.contactForm form[name=form1] .field,
.contactForm form[name=form1] > p {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media screen and (min-width: 768px) {
  .contactForm__content .form-row,
  .contactForm__content .form-group,
  .contactForm__content .field,
  .contactForm__content > p,
  .contactForm .contactForm .form-row,
  .contactForm .contactForm .form-group,
  .contactForm .contactForm .field,
  .contactForm .contactForm > p,
  .contactForm form[name=form1] .form-row,
  .contactForm form[name=form1] .form-group,
  .contactForm form[name=form1] .field,
  .contactForm form[name=form1] > p {
    gap: 14px;
  }
}
.contactForm__content label,
.contactForm__content > p:first-child,
.contactForm .contactForm label,
.contactForm .contactForm > p:first-child,
.contactForm form[name=form1] label,
.contactForm form[name=form1] > p:first-child {
  font-size: var(--fs-24);
  font-weight: 500;
  color: var(--color-text);
}
@media screen and (min-width: 768px) {
  .contactForm__content label,
  .contactForm__content > p:first-child,
  .contactForm .contactForm label,
  .contactForm .contactForm > p:first-child,
  .contactForm form[name=form1] label,
  .contactForm form[name=form1] > p:first-child {
    font-size: calc(var(--fs-24) * 0.7);
  }
}
.contactForm__content label .required,
.contactForm__content > p:first-child .required,
.contactForm .contactForm label .required,
.contactForm .contactForm > p:first-child .required,
.contactForm form[name=form1] label .required,
.contactForm form[name=form1] > p:first-child .required {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: transparent;
  color: #e4007f;
  border: 0;
  border-radius: 999px;
  font-size: var(--fs-18);
}
@media screen and (min-width: 768px) {
  .contactForm__content label .required,
  .contactForm__content > p:first-child .required,
  .contactForm .contactForm label .required,
  .contactForm .contactForm > p:first-child .required,
  .contactForm form[name=form1] label .required,
  .contactForm form[name=form1] > p:first-child .required {
    font-size: calc(var(--fs-18) * 0.7);
  }
}
.contactForm__content .is-required,
.contactForm__content .is-required-text,
.contactForm .contactForm .is-required,
.contactForm .contactForm .is-required-text,
.contactForm form[name=form1] .is-required,
.contactForm form[name=form1] .is-required-text {
  color: #e4007f;
  font-weight: 500;
}
.contactForm__content input[type=text],
.contactForm__content input[type=email],
.contactForm__content input[type=tel],
.contactForm__content input[type=url],
.contactForm__content input[type=number],
.contactForm__content select,
.contactForm__content textarea,
.contactForm .contactForm input[type=text],
.contactForm .contactForm input[type=email],
.contactForm .contactForm input[type=tel],
.contactForm .contactForm input[type=url],
.contactForm .contactForm input[type=number],
.contactForm .contactForm select,
.contactForm .contactForm textarea,
.contactForm form[name=form1] input[type=text],
.contactForm form[name=form1] input[type=email],
.contactForm form[name=form1] input[type=tel],
.contactForm form[name=form1] input[type=url],
.contactForm form[name=form1] input[type=number],
.contactForm form[name=form1] select,
.contactForm form[name=form1] textarea {
  width: 100%;
  background: #fff;
  border: 1.5px solid var(--color-border);
  border-radius: 10px;
  padding: 16px 16px;
  font-size: var(--fs-24);
  color: var(--color-text);
  transition: border-color var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);
}
@media screen and (min-width: 768px) {
  .contactForm__content input[type=text],
  .contactForm__content input[type=email],
  .contactForm__content input[type=tel],
  .contactForm__content input[type=url],
  .contactForm__content input[type=number],
  .contactForm__content select,
  .contactForm__content textarea,
  .contactForm .contactForm input[type=text],
  .contactForm .contactForm input[type=email],
  .contactForm .contactForm input[type=tel],
  .contactForm .contactForm input[type=url],
  .contactForm .contactForm input[type=number],
  .contactForm .contactForm select,
  .contactForm .contactForm textarea,
  .contactForm form[name=form1] input[type=text],
  .contactForm form[name=form1] input[type=email],
  .contactForm form[name=form1] input[type=tel],
  .contactForm form[name=form1] input[type=url],
  .contactForm form[name=form1] input[type=number],
  .contactForm form[name=form1] select,
  .contactForm form[name=form1] textarea {
    font-size: calc(var(--fs-24) * 0.7);
  }
}
.contactForm__content input[type=text]::placeholder,
.contactForm__content input[type=email]::placeholder,
.contactForm__content input[type=tel]::placeholder,
.contactForm__content input[type=url]::placeholder,
.contactForm__content input[type=number]::placeholder,
.contactForm__content select::placeholder,
.contactForm__content textarea::placeholder,
.contactForm .contactForm input[type=text]::placeholder,
.contactForm .contactForm input[type=email]::placeholder,
.contactForm .contactForm input[type=tel]::placeholder,
.contactForm .contactForm input[type=url]::placeholder,
.contactForm .contactForm input[type=number]::placeholder,
.contactForm .contactForm select::placeholder,
.contactForm .contactForm textarea::placeholder,
.contactForm form[name=form1] input[type=text]::placeholder,
.contactForm form[name=form1] input[type=email]::placeholder,
.contactForm form[name=form1] input[type=tel]::placeholder,
.contactForm form[name=form1] input[type=url]::placeholder,
.contactForm form[name=form1] input[type=number]::placeholder,
.contactForm form[name=form1] select::placeholder,
.contactForm form[name=form1] textarea::placeholder {
  color: var(--color-text-light);
}
.contactForm__content input[type=text]:focus,
.contactForm__content input[type=email]:focus,
.contactForm__content input[type=tel]:focus,
.contactForm__content input[type=url]:focus,
.contactForm__content input[type=number]:focus,
.contactForm__content select:focus,
.contactForm__content textarea:focus,
.contactForm .contactForm input[type=text]:focus,
.contactForm .contactForm input[type=email]:focus,
.contactForm .contactForm input[type=tel]:focus,
.contactForm .contactForm input[type=url]:focus,
.contactForm .contactForm input[type=number]:focus,
.contactForm .contactForm select:focus,
.contactForm .contactForm textarea:focus,
.contactForm form[name=form1] input[type=text]:focus,
.contactForm form[name=form1] input[type=email]:focus,
.contactForm form[name=form1] input[type=tel]:focus,
.contactForm form[name=form1] input[type=url]:focus,
.contactForm form[name=form1] input[type=number]:focus,
.contactForm form[name=form1] select:focus,
.contactForm form[name=form1] textarea:focus {
  outline: none;
  border-color: var(--color-accent-dark);
  box-shadow: 0 0 0 3px rgba(85, 101, 43, 0.18);
  background: #fff;
}
.contactForm__content input[type=text][aria-invalid=true], .contactForm__content input[type=text].is-error,
.contactForm__content input[type=email][aria-invalid=true],
.contactForm__content input[type=email].is-error,
.contactForm__content input[type=tel][aria-invalid=true],
.contactForm__content input[type=tel].is-error,
.contactForm__content input[type=url][aria-invalid=true],
.contactForm__content input[type=url].is-error,
.contactForm__content input[type=number][aria-invalid=true],
.contactForm__content input[type=number].is-error,
.contactForm__content select[aria-invalid=true],
.contactForm__content select.is-error,
.contactForm__content textarea[aria-invalid=true],
.contactForm__content textarea.is-error,
.contactForm .contactForm input[type=text][aria-invalid=true],
.contactForm .contactForm input[type=text].is-error,
.contactForm .contactForm input[type=email][aria-invalid=true],
.contactForm .contactForm input[type=email].is-error,
.contactForm .contactForm input[type=tel][aria-invalid=true],
.contactForm .contactForm input[type=tel].is-error,
.contactForm .contactForm input[type=url][aria-invalid=true],
.contactForm .contactForm input[type=url].is-error,
.contactForm .contactForm input[type=number][aria-invalid=true],
.contactForm .contactForm input[type=number].is-error,
.contactForm .contactForm select[aria-invalid=true],
.contactForm .contactForm select.is-error,
.contactForm .contactForm textarea[aria-invalid=true],
.contactForm .contactForm textarea.is-error,
.contactForm form[name=form1] input[type=text][aria-invalid=true],
.contactForm form[name=form1] input[type=text].is-error,
.contactForm form[name=form1] input[type=email][aria-invalid=true],
.contactForm form[name=form1] input[type=email].is-error,
.contactForm form[name=form1] input[type=tel][aria-invalid=true],
.contactForm form[name=form1] input[type=tel].is-error,
.contactForm form[name=form1] input[type=url][aria-invalid=true],
.contactForm form[name=form1] input[type=url].is-error,
.contactForm form[name=form1] input[type=number][aria-invalid=true],
.contactForm form[name=form1] input[type=number].is-error,
.contactForm form[name=form1] select[aria-invalid=true],
.contactForm form[name=form1] select.is-error,
.contactForm form[name=form1] textarea[aria-invalid=true],
.contactForm form[name=form1] textarea.is-error {
  border-color: #d93025;
}
.contactForm__content textarea,
.contactForm .contactForm textarea,
.contactForm form[name=form1] textarea {
  min-height: 280px;
  resize: vertical;
}
.contactForm__content input[type=checkbox],
.contactForm__content input[type=radio],
.contactForm .contactForm input[type=checkbox],
.contactForm .contactForm input[type=radio],
.contactForm form[name=form1] input[type=checkbox],
.contactForm form[name=form1] input[type=radio] {
  accent-color: var(--color-text);
  transform: translateY(2px);
  width: 22px;
  height: 22px;
}
@media screen and (min-width: 768px) {
  .contactForm__content input[type=checkbox],
  .contactForm__content input[type=radio],
  .contactForm .contactForm input[type=checkbox],
  .contactForm .contactForm input[type=radio],
  .contactForm form[name=form1] input[type=checkbox],
  .contactForm form[name=form1] input[type=radio] {
    width: 20px;
    height: 20px;
  }
}
.contactForm__content .radio-group, .contactForm__content .checkbox-group,
.contactForm .contactForm .radio-group,
.contactForm .contactForm .checkbox-group,
.contactForm form[name=form1] .radio-group,
.contactForm form[name=form1] .checkbox-group {
  display: grid;
  gap: 16px;
}
.contactForm__content .radio-item, .contactForm__content .checkbox-item,
.contactForm .contactForm .radio-item,
.contactForm .contactForm .checkbox-item,
.contactForm form[name=form1] .radio-item,
.contactForm form[name=form1] .checkbox-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.contactForm__content input[type=\"radio\"] + label, .contactForm__content input[type=\"checkbox\"] + label,
.contactForm .contactForm input[type=\"radio\"] + label,
.contactForm .contactForm input[type=\"checkbox\"] + label,
.contactForm form[name=form1] input[type=\"radio\"] + label,
.contactForm form[name=form1] input[type=\"checkbox\"] + label {
  margin-left: 8px;
}
.contactForm__content .help,
.contactForm__content .note,
.contactForm .contactForm .help,
.contactForm .contactForm .note,
.contactForm form[name=form1] .help,
.contactForm form[name=form1] .note {
  font-size: var(--fs-20);
  color: var(--color-text-light);
}
@media screen and (min-width: 768px) {
  .contactForm__content .help,
  .contactForm__content .note,
  .contactForm .contactForm .help,
  .contactForm .contactForm .note,
  .contactForm form[name=form1] .help,
  .contactForm form[name=form1] .note {
    font-size: calc(var(--fs-20) * 0.7);
  }
}
.contactForm__content .error,
.contactForm__content .error-message,
.contactForm .contactForm .error,
.contactForm .contactForm .error-message,
.contactForm form[name=form1] .error,
.contactForm form[name=form1] .error-message {
  color: #d93025;
  font-size: var(--fs-20);
}
@media screen and (min-width: 768px) {
  .contactForm__content .error,
  .contactForm__content .error-message,
  .contactForm .contactForm .error,
  .contactForm .contactForm .error-message,
  .contactForm form[name=form1] .error,
  .contactForm form[name=form1] .error-message {
    font-size: calc(var(--fs-20) * 0.7);
  }
}
.contactForm__content .actions,
.contactForm__content .buttons,
.contactForm .contactForm .actions,
.contactForm .contactForm .buttons,
.contactForm form[name=form1] .actions,
.contactForm form[name=form1] .buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .contactForm__content .actions,
  .contactForm__content .buttons,
  .contactForm .contactForm .actions,
  .contactForm .contactForm .buttons,
  .contactForm form[name=form1] .actions,
  .contactForm form[name=form1] .buttons {
    margin-top: 24px;
  }
}
.contactForm__content button,
.contactForm__content input[type=submit],
.contactForm__content .btn,
.contactForm .contactForm button,
.contactForm .contactForm input[type=submit],
.contactForm .contactForm .btn,
.contactForm form[name=form1] button,
.contactForm form[name=form1] input[type=submit],
.contactForm form[name=form1] .btn {
  display: inline-block;
  background: var(--color-background);
  color: var(--color-text);
  border: 1px solid var(--color-text);
  border-radius: 999px;
  padding: 16px 48px;
  font-size: var(--fs-28);
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base);
}
@media screen and (min-width: 768px) {
  .contactForm__content button,
  .contactForm__content input[type=submit],
  .contactForm__content .btn,
  .contactForm .contactForm button,
  .contactForm .contactForm input[type=submit],
  .contactForm .contactForm .btn,
  .contactForm form[name=form1] button,
  .contactForm form[name=form1] input[type=submit],
  .contactForm form[name=form1] .btn {
    font-size: calc(var(--fs-28) * 0.7);
  }
}
.contactForm__content button:hover,
.contactForm__content input[type=submit]:hover,
.contactForm__content .btn:hover,
.contactForm .contactForm button:hover,
.contactForm .contactForm input[type=submit]:hover,
.contactForm .contactForm .btn:hover,
.contactForm form[name=form1] button:hover,
.contactForm form[name=form1] input[type=submit]:hover,
.contactForm form[name=form1] .btn:hover {
  background: var(--color-text);
  color: #fff;
  border-color: var(--color-text);
  transform: translateY(-1px);
}
.contactForm__content button:active,
.contactForm__content input[type=submit]:active,
.contactForm__content .btn:active,
.contactForm .contactForm button:active,
.contactForm .contactForm input[type=submit]:active,
.contactForm .contactForm .btn:active,
.contactForm form[name=form1] button:active,
.contactForm form[name=form1] input[type=submit]:active,
.contactForm form[name=form1] .btn:active {
  transform: translateY(0);
}
.contactForm__content button:disabled,
.contactForm__content input[type=submit]:disabled,
.contactForm__content .btn:disabled,
.contactForm .contactForm button:disabled,
.contactForm .contactForm input[type=submit]:disabled,
.contactForm .contactForm .btn:disabled,
.contactForm form[name=form1] button:disabled,
.contactForm form[name=form1] input[type=submit]:disabled,
.contactForm form[name=form1] .btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.contactForm__content .small a,
.contactForm .contactForm .small a,
.contactForm form[name=form1] .small a {
  font-size: var(--fs-10);
  font-weight: 400;
  text-align: center;
  color: var(--color-text-light);
}
/*# sourceMappingURL=main.css.map */
