@layer settings {
  :root {
    --torem: 0.0625rem;
    --torlh: 0.0625rlh;
    --tovi: calc(100vi / var(--viewport));
    --tovi-sm: calc(100vi / var(--design-width-sm));
    --tovi-md: calc(100vi / var(--design-width-md, 768));
    --tovi-lg: calc(100vi / var(--design-width-lg));
    --tovw-sm: calc(100vw / var(--design-width-sm));
    --tovw-md: calc(100vw / var(--design-width-md, 768));
    --tovw-lg: calc(100vw / var(--design-width-lg));
    --toremvw: calc((var(--torem) * 0.5) + (var(--viewport) * 0.5));
    --toremvi-sm: calc((var(--torem) * 0.5) + (var(--tovi-sm) * 0.5));
    --toremvi-md: calc((var(--torem) * 0.5) + (var(--tovi-md) * 0.5));
    --toremvi-lg: calc((var(--torem) * 0.5) + (var(--tovi-lg) * 0.5));
    --design-ratio: calc(100% / var(--viewport));
    --min-viewport: 375;
    --max-viewport: 1440;
    --design-width-sm: 375;
    --design-width-lg: 1440;
    --color-blue-50: #1e1a07;
    --color-grey: #b5b4ac;
    --base-background-color: #fff;
    --base-color: var(--color-dark);
    --font-sans-ja: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Meiryo", sans-serif;
    --font-sans-en: "Montserrat", "Helvetica Neue", "Arial", system-ui, sans-serif;
    --font-sans-mix: "Montserrat", "Noto Sans JP", sans-serif;
    --base-font-family: var(--font-sans-ja);
    --font-base: 16;
    --font-ratio: 8;
    --font-2xs: calc(var(--font-base) * var(--font-ratio) / 12 * var(--torem));
    --font-xs: calc(var(--font-base) * var(--font-ratio) / 10 * var(--torem));
    --font-sm: calc(var(--font-base) * var(--font-ratio) / 9 * var(--torem));
    --font-md: calc(var(--font-base) * var(--font-ratio) / 8 * var(--torem));
    --font-lg: calc(var(--font-base) * var(--font-ratio) / 7 * var(--torem));
    --font-xl: calc(var(--font-base) * var(--font-ratio) / 5 * var(--torem));
    --font-2xl: calc(var(--font-base) * var(--font-ratio) / 3 * var(--torem));
    --font-fluid-xs: clamp(0.666688rem, 0.619746rem + 0.200282vi, 0.8rem);
    --font-fluid-sm: clamp(0.888875rem, 0.849746rem + 0.166948vi, 1rem);
    --font-fluid-md: clamp(1rem, 0.949692rem + 0.214648vi, 1.14288rem);
    --font-fluid-lg: clamp(1.125rem, 1.05165rem + 0.312958vi, 1.33331rem);
    --font-fluid-xl: clamp(1.6rem, 1.45916rem + 0.600939vi, 2rem);
    --font-fluid-2xl: clamp(2rem, 1.76525rem + 1.0016vi, 2.66669rem);
    --font-fluid-3xl: clamp(2.66669rem, 2.19721rem + 2.0031vi, 4rem);
    --leading-base: 4;
    --leading-xs: calc(var(--leading-base) * 3 * var(--torem));
    --leading-sm: calc(var(--leading-base) * 4 * var(--torem));
    --leading-md: calc(var(--leading-base) * 5 * var(--torem));
    --leading-lg: calc(var(--leading-base) * 6 * var(--torem));
    --leading-xl: calc(var(--leading-base) * 7 * var(--torem));
    --leading-2xl: calc(var(--leading-base) * 8 * var(--torem));
    --leading-3xl: calc(var(--leading-base) * 9 * var(--torem));
    --leading-4xl: calc(var(--leading-base) * 10 * var(--torem));
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.75;
    --leading-loose: 2;
    --tracking-tigher: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-normal: normal;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --container-size-4xs: 460px;
    --container-size-3xs: 480px;
    --container-size-2xs: 600px;
    --container-size-xs: 640px;
    --container-size-sm: 768px;
    --container-size-md: 1200px;
    --container-size-lg: 1440px;
    --container-size-xl: 1500px;
    --container-size-2xl: 1640px;
    --offset-xs: 1.5vw;
    --offset-sm: 2.8vw;
    --offset-md: 5.5vw;
    --offset-lg: 7.3vw;
    --offset-xl: 13vw;
    --space-base: 8;
    --space-2xs: calc(var(--space-base) * var(--torem));
    --space-xs: calc(var(--space-base) * 2 * var(--torem));
    --space-sm: calc(var(--space-base) * 3 * var(--torem));
    --space-md: calc(var(--space-base) * 5 * var(--torem));
    --space-lg: calc(var(--space-base) * 8 * var(--torem));
    --space-xl: calc(var(--space-base) * 13 * var(--torem));
    --radius-sm: 1rem;
    --radius-md: 2rem;
    --radius-lg: 2.5rem;
    --radius-full: 50%;
    --grid-fit-sm: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    --grid-fit-md: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
    --grid-fit-lg: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
    --grid-fill-sm: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
    --grid-fill-md: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
    --grid-fill-lg: repeat(auto-fill, minmax(min(400px, 100%), 1fr));
    --grid-1: repeat(1, minmax(0, 1fr));
    --grid-2: repeat(2, minmax(0, 1fr));
    --grid-3: repeat(3, minmax(0, 1fr));
    --grid-4: repeat(4, minmax(0, 1fr));
    --grid-5: repeat(5, minmax(0, 1fr));
    --grid-6: repeat(6, minmax(0, 1fr));
    --grid-7: repeat(7, minmax(0, 1fr));
    --grid-8: repeat(8, minmax(0, 1fr));
    --grid-9: repeat(9, minmax(0, 1fr));
    --grid-10: repeat(10, minmax(0, 1fr));
    --grid-11: repeat(11, minmax(0, 1fr));
    --grid-12: repeat(12, minmax(0, 1fr));
    --arrow-width: 10%;
    --arrow-prev: polygon(
      75% var(--arrow-width),
      calc(75% - var(--arrow-width)) 0,
      calc(25% - var(--arrow-width)) 50%,
      calc(75% - var(--arrow-width)) 100%,
      75% calc(100% - var(--arrow-width)),
      calc(25% + var(--arrow-width)) 50%,
      75% var(--arrow-width)
    );
    --arrow-next: polygon(
      25% var(--arrow-width),
      calc(25% + var(--arrow-width)) 0,
      calc(75% + var(--arrow-width)) 50%,
      calc(25% + var(--arrow-width)) 100%,
      25% calc(100% - var(--arrow-width)),
      calc(75% - var(--arrow-width)) 50%,
      25% var(--arrow-width)
    );
    --arrow-down: polygon(
      var(--arrow-width) 25%,
      0 calc(25% + var(--arrow-width)),
      50% calc(75% + var(--arrow-width)),
      100% calc(25% + var(--arrow-width)),
      calc(100% - var(--arrow-width)) 25%,
      50% calc(75% - var(--arrow-width)),
      var(--arrow-width) 25%
    );
    --duration-fast: 0.3s;
    --duration-normal: 0.6s;
    --duration-slow: 1.6s;
    --ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
    --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);
    --ease-in-out-sine: cubic-bezier(0.37, 0, 0.63, 1);
    --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
    --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
    --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-in-quint: cubic-bezier(0.64, 0, 0.78, 0);
    --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
    --ease-in-out-quint: cubic-bezier(0.83, 0, 0.17, 1);
    --ease-in-circ: cubic-bezier(0.55, 0, 1, 0.45);
    --ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
    --ease-in-out-circ: cubic-bezier(0.85, 0, 0.15, 1);
    --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
    --ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);
    --ease-in-out-quad: cubic-bezier(0.45, 0, 0.55, 1);
    --ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
    --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
    --ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
    --ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);
    --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);
    --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
    --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
    --viewport: var(--design-width-sm);
  }
  @media (min-width: 48rem) {
    :root {
      --viewport: var(--design-width-md, var(--design-width-sm));
    }
  }
  @media (min-width: 64rem) {
    :root {
      --viewport: var(--design-width-lg);
    }
  }
}
@layer base {
  *,
  :before,
  :after {
    box-sizing: border-box;
    min-inline-size: 0;
    padding: 0;
    margin: 0;
    text-underline-offset: 0.25em;
    border-width: 1px;
  }
  :where(html) {
    font-family: var(--base-font-family), system-ui, sans-serif;
    font-weight: var(--base-font-weight, 400);
    line-height: var(--base-leading, 1.5);
    color: var(--base-color, initial);
    letter-spacing: var(--base-tracking, initial);
    overflow-wrap: anywhere;
    color-scheme: var(--base-color-scheme, only light);
    scrollbar-gutter: stable;
    background-color: var(--base-background-color, initial);
    line-break: strict;
    text-rendering: optimizelegibility;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  :where(html:has(dialog:modal[open], :popover-open)) {
    overflow: hidden;
  }
  :where(body) {
    min-block-size: 100svb;
    overflow-x: clip;
  }
  :where(h1, h2, h3, h4, h5, h6) {
    font-weight: var(--base-font-heading-weight, 700);
  }
  :where(h1) {
    font-size: var(--base-font-heading-1, unset);
  }
  :where(h2) {
    font-size: var(--base-font-heading-2, unset);
  }
  :where(h3) {
    font-size: var(--base-font-heading-3, unset);
  }
  :where(h4) {
    font-size: var(--base-font-heading-4, unset);
  }
  :where(h5) {
    font-size: var(--base-font-heading-5, unset);
  }
  :where(h6) {
    font-size: var(--base-font-heading-6, unset);
  }
  :where(hr) {
    border-block-start-style: solid;
  }
  :where(ul, ol) {
    list-style-type: "";
  }
  :where(address:lang(ja)) {
    font-style: unset;
  }
  :where(b, strong) {
    font-weight: 700;
  }
  :where(small) {
    font-size: max(0.625rem, 0.875em);
  }
  :where(code, kbd, samp) {
    font-family: ui-monospace, monospace;
  }
  :where(:-moz-any-link) {
    color: unset;
    -webkit-text-decoration-skip-ink: auto;
    text-decoration-skip-ink: auto;
  }
  :where(:any-link) {
    color: unset;
    -webkit-text-decoration-skip-ink: auto;
    text-decoration-skip-ink: auto;
  }
  :where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block;
  }
  :where(img, picture, svg, video) {
    max-inline-size: 100%;
    block-size: auto;
  }
  :where(svg) {
    fill: currentcolor;
  }
  :where(table) {
    border-collapse: collapse;
  }
  :where(caption, th) {
    text-align: unset;
  }
  :where(th) {
    font-weight: 700;
  }
  :where(input, button, textarea, select, optgroup) {
    font: unset;
    font-variation-settings: inherit;
    font-feature-settings: inherit;
    color: unset;
    letter-spacing: inherit;
    word-spacing: inherit;
  }
  :where(textarea) {
    resize: vertical;
    resize: block;
  }
  :where(textarea:not([rows])) {
    min-block-size: 10em;
  }
  :where(button, label, select, summary, [role=button], [role=option]) {
    cursor: pointer;
  }
  :where(input[type=file])::file-selector-button {
    cursor: pointer;
  }
  :where([disabled], label:has(> input:disabled), label:has(+ input:disabled)) {
    cursor: not-allowed;
  }
  :where(button, [role=button]) {
    touch-action: manipulation;
    border-style: solid;
  }
  :where(dialog, [popover]) {
    max-inline-size: unset;
    max-block-size: unset;
    margin: auto;
    color: unset;
    background-color: unset;
    border-style: none;
  }
  :where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
    display: none;
  }
  :where([aria-disabled=true]) {
    cursor: not-allowed;
  }
  :where([aria-busy=true]) {
    cursor: progress;
  }
  :where([aria-controls]) {
    cursor: pointer;
  }
  :where([aria-hidden=false][hidden]) {
    display: initial;
  }
  :where([aria-hidden=false][hidden]):not(:focus) {
    position: absolute;
    clip: rect(0, 0, 0, 0);
  }
  :where([hidden]:not([hidden=until-found])) {
    display: none;
  }
  :where(:focus:not(:focus-visible)) {
    outline: none;
  }
  :where(:focus-visible, :target) {
    scroll-margin-block: 8vh;
  }
  :where(.visually-hidden:not(:focus-within, :active)) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    -webkit-clip-path: inset(50%) !important;
            clip-path: inset(50%) !important;
    white-space: nowrap !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
         user-select: none !important;
    border: 0 !important;
  }
  @media (prefers-reduced-motion: reduce) {
    *,
    :before,
    :after,
    ::backdrop {
      transition-delay: unset !important;
      transition-duration: 0.01ms !important;
      animation-duration: 0.01ms !important;
      animation-delay: unset !important;
      animation-iteration-count: 1 !important;
      scroll-behavior: auto !important;
      view-transition-name: none !important;
    }
  }
}
@layer general,vendors;
@layer components {
  :where(.grid) {
    --grid-fit: repeat(auto-fit, minmax(min(var(--grid-min, 400px), 100%), 1fr));
    --grid-fill: repeat(auto-fill, minmax(min(var(--grid-min, 400px), 100%), 1fr));
    --grid-cols: none;
    --gap: 0;
    display: grid;
    grid-template-columns: var(--grid-cols);
    gap: var(--gap);
  }
  :where(.container) {
    --container-name: container;
    --layout: flow-root;
    --max-size: none;
    --offset-start: 0;
    --offset-end: 0;
    --offset: var(--offset-start) var(--offset-end);
    box-sizing: content-box;
    display: block var(--layout);
    max-inline-size: var(--max-size);
    padding-inline: var(--offset);
    margin-inline: auto;
  }
}
:root {
  --main-font: "ryo-gothic-plusn", sans-serif;
  --sub-font: "Inter", sans-serif;
  --b: 900;
  --m: 700;
  --color-main: #4d3731;
  --color-en: #4d373169;
  --color-red: #cd3535;
}

body {
  font-family: var(--main-font);
  color: var(--color-main);
}

a {
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
  transition: opacity 0.3s ease-in-out;
}

.red {
  color: var(--color-red);
}

.underline-yellow {
  display: inline;
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #ffe946 60%);
}

.underline-yellow2 {
  display: inline;
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, rgba(255, 233, 70, 0.5882352941) 60%);
}

.card__footer-text {
  font-size: calc(18 * var(--torem));
  font-weight: var(--b);
  letter-spacing: 0.1em;
}

@media (max-width: 768px) {
  .card__footer-text {
    font-size: calc(13 * var(--torem));
  }
}
.u-sp {
  display: block;
}

@media (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
.u-pc {
  display: none;
}

@media (min-width: 768px) {
  .u-pc {
    display: block;
  }
}
summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

input,
button,
select,
textarea {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  box-shadow: none;
}

textarea {
  resize: vertical;
}

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

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

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

::-webkit-input-placeholder {
  font-size: calc(13 * var(--torem));
  font-weight: var(--m);
  color: #cebcb7;
  letter-spacing: 0.1em;
}

@media (min-width: 768px) {
  ::-webkit-input-placeholder {
    font-size: calc(16 * var(--torem));
  }
}
.footer {
  padding-top: calc(52 * var(--torem));
  padding-bottom: calc(27 * var(--torem));
  background-color: #61493b;
}

@media (min-width: 48rem) {
  .footer {
    padding-top: calc(76 * var(--torem));
    padding-bottom: calc(37 * var(--torem));
  }
}
.footer__inner {
  display: grid;
  inline-size: 100%;
  max-inline-size: calc(300 * var(--torem));
  margin-inline: auto;
}

@media (min-width: 48rem) {
  .footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    inline-size: 100%;
    max-inline-size: calc(1336 * var(--torem));
    padding: 0 calc(23 * var(--torem));
    margin-inline: auto;
  }
}
.footer__left {
  display: flex;
  align-items: center;
}

@media (min-width: 48rem) {
  .footer__left {
    gap: calc(22 * var(--torem));
  }
}
.footer__logo {
  inline-size: 100%;
  max-inline-size: calc(140 * var(--torem));
  transform: translate(calc(-5 * var(--torem)));
}

@media (min-width: 48rem) {
  .footer__logo {
    max-inline-size: calc(162 * var(--torem));
  }
}
.footer__logo img {
  inline-size: 100%;
  block-size: 100%;
  aspect-ratio: 108/40;
  -o-object-fit: contain;
     object-fit: contain;
}

@media (min-width: 48rem) {
  .footer__logo img {
    aspect-ratio: 162/60;
  }
}
.footer__text {
  margin-top: calc(-12 * var(--torem));
  font-size: calc(14 * var(--torem));
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.1em;
}

@media (min-width: 48rem) {
  .footer__text {
    font-size: calc(18 * var(--torem));
  }
}
.footer__right {
  display: grid;
  gap: calc(14 * var(--torem));
  margin-top: calc(10 * var(--torem));
}

@media (min-width: 48rem) {
  .footer__right {
    display: flex;
    gap: calc(30 * var(--torem));
    align-items: center;
    margin-top: 0;
  }
}
.footer__link {
  font-size: calc(14 * var(--torem));
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
}

@media (min-width: 48rem) {
  .footer__link {
    font-size: calc(18 * var(--torem));
  }
}
.footer__small {
  padding: 0 calc(10 * var(--torem));
  margin-top: calc(59 * var(--torem));
}

@media (min-width: 48rem) {
  .footer__small {
    inline-size: 100%;
    max-inline-size: calc(1342 * var(--torem));
    padding: auto;
    margin-inline: auto;
  }
}
.footer__small-text {
  padding-top: calc(35 * var(--torem));
  font-size: calc(10 * var(--torem));
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  border-top: 2px solid #fff;
}

@media (min-width: 48rem) {
  .footer__small-text {
    font-size: calc(13 * var(--torem));
  }
}
.logo {
  position: absolute;
  top: calc(22 * var(--torem));
  left: calc(25 * var(--torem));
  inline-size: 100%;
  max-inline-size: calc(88 * var(--torem));
}

@media (min-width: 48rem) {
  .logo {
    max-inline-size: calc(167 * var(--torem));
  }
}
.logo img {
  inline-size: 100%;
  block-size: 100%;
  aspect-ratio: 88/32;
  -o-object-fit: contain;
     object-fit: contain;
}

@media (min-width: 48rem) {
  .logo img {
    aspect-ratio: 167/61;
  }
}
.contact {
  padding-top: calc(106 * var(--torem));
  padding-bottom: calc(89 * var(--torem));
}

@media (min-width: 48rem) {
  .contact {
    padding-top: calc(139 * var(--torem));
    padding-bottom: calc(165 * var(--torem));
  }
}
.contact__inner {
  padding: 0 calc(20 * var(--torem));
}

.contact-title__hgroup {
  justify-self: center;
}

.contact-form__title {
  inline-size: 100%;
  max-inline-size: calc(200 * var(--torem));
  margin-inline: auto;
}

@media (min-width: 48rem) {
  .contact-form__title {
    max-inline-size: calc(320 * var(--torem));
  }
}
.contact-form__title img {
  inline-size: 100%;
  block-size: 100%;
  aspect-ratio: 270/68;
  -o-object-fit: contain;
     object-fit: contain;
}

.contact-title__text {
  font-size: calc(20 * var(--torem));
  font-weight: var(--b);
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
}

@media (min-width: 48rem) {
  .contact-title__text {
    font-size: calc(40 * var(--torem));
  }
}
#wpcf7-f86542-p57780-o1 form {
  inline-size: 100%;
  max-inline-size: calc(1093 * var(--torem));
  padding: calc(40 * var(--torem)) calc(22 * var(--torem)) calc(52 * var(--torem));
  margin-inline: auto;
  margin-top: calc(34 * var(--torem));
  background-color: #fff;
  border-radius: calc(21 * var(--torem));
  box-shadow: 8px 10px 20px rgba(77, 55, 49, 0.5215686275);
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 form {
    padding: calc(100 * var(--torem)) calc(20 * var(--torem));
    margin-top: calc(97 * var(--torem));
    border-radius: calc(50 * var(--torem));
  }
}
#wpcf7-f86542-p57780-o1 .form-est {
  display: grid;
}

#wpcf7-f86542-p57780-o1 dd {
  display: grid;
  gap: calc(15 * var(--torem));
  inline-size: 100%;
  max-inline-size: calc(702 * var(--torem));
  margin-inline: auto;
  margin-top: calc(5 * var(--torem));
  margin-bottom: calc(16 * var(--torem));
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 dd {
    margin-top: calc(12 * var(--torem));
    margin-bottom: calc(35 * var(--torem));
  }
}
#wpcf7-f86542-p57780-o1 dd:has(input[type=checkbox]) {
  padding: calc(14 * var(--torem)) calc(14 * var(--torem)) calc(14 * var(--torem)) calc(14 * var(--torem));
  font-size: calc(14 * var(--torem));
  background-color: #f6f2eb;
  border-radius: calc(10 * var(--torem));
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 dd:has(input[type=checkbox]) {
    padding: calc(17 * var(--torem)) calc(16 * var(--torem)) calc(17 * var(--torem)) calc(32 * var(--torem));
  }
}
#wpcf7-f86542-p57780-o1 dd:has(input[type=checkbox]) span {
  font-size: calc(14 * var(--torem));
  font-weight: var(--m);
  line-height: 1.2;
  letter-spacing: 0.1em;
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 dd:has(input[type=checkbox]) span {
    font-size: calc(17 * var(--torem));
  }
}
#wpcf7-f86542-p57780-o1 dd:has(input[type=checkbox]) span:nth-of-type(2) {
  margin-top: calc(8 * var(--torem));
}

.form-est dt p {
  display: block;
  inline-size: 100%;
  max-inline-size: calc(702 * var(--torem));
  padding-left: calc(14 * var(--torem));
  margin-inline: auto;
  font-size: calc(14 * var(--torem));
  font-weight: var(--b);
  letter-spacing: 0.1em;
}

@media (min-width: 48rem) {
  .form-est dt p {
    padding-left: 0;
    font-size: calc(20 * var(--torem));
  }
}
.form-est dt:nth-of-type(3) p {
  letter-spacing: 0;
}

#check-01 label span {
  display: flex;
  align-items: center;
}

.form-est dt span {
  display: inline-block;
  font-size: calc(14 * var(--torem));
  font-weight: var(--b);
  color: var(--color-red);
  transform: translateY(-4px);
}

@media (min-width: 48rem) {
  .form-est dt span {
    transform: translateY(-8px);
  }
}
.form-est dd p {
  position: relative;
}

#wpcf7-f86542-p57780-o1 .wpcf7-list-item label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

#wpcf7-f86542-p57780-o1 .wpcf7-list-item label span {
  display: flex;
  align-items: center;
  font-size: calc(14 * var(--torem));
  letter-spacing: 0.1em;
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 .wpcf7-list-item label span {
    font-size: calc(18 * var(--torem));
  }
}
#wpcf7-f86542-p57780-o1 .wpcf7-list-item-label:before {
  display: block;
  flex-shrink: 0;
  inline-size: calc(15 * var(--torem));
  block-size: calc(15 * var(--torem));
  margin-top: calc(2 * var(--torem));
  margin-right: calc(7 * var(--torem));
  content: "";
  background-color: #fff;
  border: calc(2 * var(--torem)) solid #4d3731;
  border-radius: calc(3 * var(--torem));
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 .wpcf7-list-item-label:before {
    inline-size: calc(20 * var(--torem));
    block-size: calc(20 * var(--torem));
    margin-top: 0;
    margin-right: calc(13 * var(--torem));
  }
}
#wpcf7-f86542-p57780-o1 .wpcf7-list-item input[type=checkbox] + .wpcf7-list-item-label:after {
  position: absolute;
  top: 50%;
  left: calc(3 * var(--torem));
  z-index: 1;
  display: block;
  inline-size: calc(9 * var(--torem));
  block-size: calc(6 * var(--torem));
  content: "";
  border-bottom: 3px solid var(--color-main);
  border-left: 3px solid var(--color-main);
  opacity: 0;
  transition: all 0.3s;
  transform: translateY(-50%) rotate(-45deg);
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 .wpcf7-list-item input[type=checkbox] + .wpcf7-list-item-label:after {
    left: calc(5 * var(--torem));
    inline-size: calc(10 * var(--torem));
    block-size: calc(7 * var(--torem));
  }
}
#wpcf7-f86542-p57780-o1 .wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}

#wpcf7-f86542-p57780-o1 small {
  display: block;
  margin-top: calc(5 * var(--torem));
  margin-bottom: calc(5 * var(--torem));
  margin-left: 0;
  font-size: calc(12 * var(--torem));
  font-weight: 500;
  line-height: 1.3;
  color: var(--color-red);
  letter-spacing: 0.1em;
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 small {
    display: inline-block;
    margin-left: calc(10 * var(--torem));
    font-size: calc(15 * var(--torem));
  }
}
#select-11,
#select-01 {
  position: relative;
  inline-size: 100%;
  padding: calc(8 * var(--torem)) calc(10 * var(--torem));
  background-color: #f6f2eb;
  border-radius: calc(10 * var(--torem));
}

@media (min-width: 48rem) {
  #select-11,
  #select-01 {
    padding: calc(17 * var(--torem)) calc(16 * var(--torem)) calc(17 * var(--torem)) calc(32 * var(--torem));
  }
}
#wpcf7-f86542-p57780-o1 .wpcf7-form dd:nth-of-type(2) p:after,
#wpcf7-f86542-p57780-o1 .wpcf7-form dd:nth-of-type(4) p:after {
  position: absolute;
  top: 27%;
  right: calc(26 * var(--torem));
  display: block;
  inline-size: calc(13 * var(--torem));
  block-size: calc(13 * var(--torem));
  content: "";
  border-right: calc(2 * var(--torem)) solid var(--color-main);
  border-bottom: calc(2 * var(--torem)) solid var(--color-main);
  transform: translateY(-50%) rotate3d(0, 0, 1, 45deg);
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 .wpcf7-form dd:nth-of-type(2) p:after,
  #wpcf7-f86542-p57780-o1 .wpcf7-form dd:nth-of-type(4) p:after {
    top: 33%;
    inline-size: calc(18 * var(--torem));
    block-size: calc(18 * var(--torem));
    border-right: calc(4 * var(--torem)) solid var(--color-main);
    border-bottom: calc(4 * var(--torem)) solid var(--color-main);
  }
}
#wpcf7-f86542-p57780-o1 .wpcf7-form input[type=text],
#wpcf7-f86542-p57780-o1 .wpcf7-form input[type=tel],
#wpcf7-f86542-p57780-o1 .wpcf7-form input[type=email] {
  inline-size: 100%;
  padding: calc(8 * var(--torem)) calc(10 * var(--torem));
  background-color: #f6f2eb;
  border-radius: calc(10 * var(--torem));
}

@media (min-width: 48rem) {
  #wpcf7-f86542-p57780-o1 .wpcf7-form input[type=text],
  #wpcf7-f86542-p57780-o1 .wpcf7-form input[type=tel],
  #wpcf7-f86542-p57780-o1 .wpcf7-form input[type=email] {
    padding: calc(17 * var(--torem)) calc(16 * var(--torem)) calc(17 * var(--torem)) calc(32 * var(--torem));
  }
}
.form__text-sub--bold {
  margin-left: calc(10 * var(--torem));
  font-size: calc(16 * var(--torem));
  font-weight: var(--b);
  color: var(--color-red);
  letter-spacing: 0.1em;
}

.wpcf7-acceptance label {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.wpcf7-acceptance label span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.cta-est input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  background: rgba(77, 55, 49, 0.1607843137) !important;
}

.cta-est input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}

.cta-est {
  margin-top: calc(37 * var(--torem));
}

@media (min-width: 48rem) {
  .cta-est {
    margin-top: calc(47 * var(--torem));
  }
}
.wpcf7-list-item label span {
  font-size: calc(18 * var(--torem));
  font-weight: var(--b);
}

.wpcf7-list-item label a {
  font-size: calc(18 * var(--torem));
  font-size: calc(14 * var(--torem));
  font-weight: var(--b);
  text-decoration: underline;
}

@media (min-width: 48rem) {
  .wpcf7-list-item label a {
    font-size: calc(18 * var(--torem));
  }
}
.cta-est input[type=submit] {
  display: block;
  inline-size: 100%;
  max-inline-size: clamp(16.5rem, 14.6074rem + 8.07512vi, 21.875rem);
  padding: calc(11 * var(--torem)) calc(10 * var(--torem));
  margin-inline: auto;
  font-weight: var(--b);
  color: #fff;
  letter-spacing: 0.2em;
  background-color: var(--color-red);
  border-radius: calc(30 * var(--torem));
  border-radius: calc(50 * var(--torem));
  box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.2509803922);
}

@media (min-width: 48rem) {
  .cta-est input[type=submit] {
    max-inline-size: calc(489 * var(--torem));
    font-size: calc(24 * var(--torem));
  }
}
.back {
  position: relative;
  inline-size: 100%;
  max-inline-size: clamp(16.5rem, 14.6074rem + 8.07512vi, 21.875rem);
  margin-inline: auto;
  margin-top: calc(70 * var(--torem));
  text-align: center;
  transition: all 0.3s;
}

@media (min-width: 48rem) {
  .back {
    max-inline-size: calc(363 * var(--torem));
    margin-top: calc(101 * var(--torem));
  }
}
.back:after {
  position: absolute;
  top: 50%;
  right: calc(25 * var(--torem));
  display: block;
  inline-size: calc(8 * var(--torem));
  block-size: calc(8 * var(--torem));
  content: "";
  border-right: calc(2 * var(--torem)) solid #4d3731;
  border-bottom: calc(2 * var(--torem)) solid #4d3731;
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media (min-width: 48rem) {
  .back:after {
    inline-size: calc(13 * var(--torem));
    block-size: calc(13 * var(--torem));
  }
}
.back__link {
  display: block;
  inline-size: 100%;
  padding: calc(12.5 * var(--torem)) calc(10 * var(--torem));
  font-weight: var(--b);
  text-decoration: none;
  letter-spacing: 0.2em;
  border: calc(3 * var(--torem)) solid var(--color-main);
  border-radius: calc(30 * var(--torem));
  transition: all 0.3s;
}

@media (min-width: 48rem) {
  .back__link {
    inline-size: 100%;
    font-size: calc(24 * var(--torem));
  }
}
.back:hover:after {
  border-right: calc(2 * var(--torem)) solid #fff;
  border-bottom: calc(2 * var(--torem)) solid #fff;
}

.back:hover .back__link {
  color: #fff;
  background-color: var(--color-main);
  border: calc(3 * var(--torem)) solid #fff;
  opacity: 1;
}

.wpcf7-list-item {
  display: block;
}

.wpcf7-list-item + .wpcf7-list-item {
  margin-top: calc(6 * var(--torem));
}/*# sourceMappingURL=contact.css.map */