:root {
  --color-text-primary: #333;
  --color-text-light: #fff;
  --color-background-white: #fff;
  --color-background-blue: #4A6DA1;
  --color-background-footer: #EFEDE6;
  --color-accent-blue: #007FFF;
  --color-accent-beige: #F0EADA;
  --color-button: #B49C6E;
  --color-button-hover: #9C855E;
  --color-button-active: #8A7453;
  --color-link: #9C855E;
  --color-link-hover: #8A7453;
  --color-link-footer: #9C855E;
  --color-link-footer-hover: #8A7453;
  --color-breadcrumb: #999;
  --color-breadcrumb-active: #B49C6E;
  --color-breadcrumb-hover: #9C855E;
  --color-border-grid: #ddd;
  --color-black-transparent-15: rgba(0, 0, 0, 0.15);
  --color-black-transparent-20: rgba(0, 0, 0, 0.2);
  --color-black-transparent-70: rgba(0, 0, 0, 0.7);
}

:root {
  --space-unit: 1rem;
  --space-xxs: calc(0.25 * var(--space-unit));
  --space-xs: calc(0.5 * var(--space-unit));
  --space-sm: calc(0.75 * var(--space-unit));
  --space-md: var(--space-unit);
  --space-md-half: calc(1.25 * var(--space-unit));
  --space-lg: calc(1.5 * var(--space-unit));
  --space-xl: calc(2 * var(--space-unit));
  --space-xl-half: calc(2.5 * var(--space-unit));
  --space-xxl: calc(3 * var(--space-unit));
  --space-xxl-half: calc(3.5 * var(--space-unit));
  --space-xxxl: calc(4 * var(--space-unit));
  --space-xxxl-half: calc(4.5 * var(--space-unit));
  --space-xxxxl: calc(5 * var(--space-unit));
  --space-xxxxxl: calc(6 * var(--space-unit));
  --space-xxxxxxl: calc(8 * var(--space-unit));
  --section-padding-top-default-desktop: var(--space-xxl);
  --section-padding-bottom-default-desktop: var(--space-xxl);
  --section-padding-top-default-tablet: var(--space-xxl);
  --section-padding-bottom-default-tablet: var(--space-xxl);
  --section-padding-top-default-mobile: var(--space-xl);
  --section-padding-bottom-default-mobile: var(--space-xl);
  --section-padding-top-generous-desktop: var(--space-xxxxxxl);
  --section-padding-bottom-generous-desktop: var(--space-xxxxxxl);
  --section-padding-top-generous-tablet: var(--space-xxxxxl);
  --section-padding-bottom-generous-tablet: var(--space-xxxxxl);
  --section-padding-top-generous-mobile: var(--space-xxxl);
  --section-padding-bottom-generous-mobile: var(--space-xxxl);
  --container-padding-x-l-desktop: 4rem;
  --container-padding-x-desktop: 2rem;
  --container-padding-x-tablet: 2.5rem;
  --container-padding-x-mobile: 1rem;
  --container-width-l-desktop-default: 1100px;
  --container-width-desktop-default: 960px;
  --container-width-tablet-default: 660px;
  --container-width-mobile-default: none;
  --container-width-sm-landscape-default: 660px;
  --page-container-width-l-desktop: 1100px;
  --page-container-width-desktop: 960px;
  --page-container-width-tablet: 660px;
  --page-container-width-mobile: none;
  --page-container-width-sm-landscape: 660px;
}

:root {
  --z-index-default: 1;
  --z-index-navbar: 1000;
  --transition-duration-fast: 0.2s;
  --transition-duration-normal: 0.3s;
  --transition-duration-medium: 0.5s;
  --transition-timing-function-ease: ease;
  --transition-timing-function-ease-in-out: ease-in-out;
  --shadow-color-default: rgba(0, 0, 0, 0.1);
  --shadow-default: 0 2px 5px var(--shadow-color-default);
  --shadow-text-hero: 0 0 var(--space-xs) var(--color-black-transparent-70);
  --border-radius-sm: 3px;
  --border-width-default: 1px;
  --underline-thickness: 0.08em;
  --button-wrapper-margin-top: var(--space-xl-half);
  --button-wrapper-margin-bottom: 0;
  --breadcrumb-padding-top: var(--space-sm);
  --breadcrumb-padding-bottom: var(--space-sm);
  --hero-min-height-fallback: 9.375rem;
  --container-title-padding-left-desktop: 40px;
  --container-title-padding-right-desktop: 0;
  --container-title-padding-left-tablet: 20px;
  --container-title-padding-right-tablet: 5px;
  --container-title-padding-left-mobile: 10px;
  --container-title-padding-right-mobile: 5px;
  --form-section-max-width-desktop: 750px;
  --form-section-max-width-tablet: 750px;
  --grid-padding-y-desktop: var(--space-xxl);
  --grid-title-padding-left-desktop: var(--space-md);
  --grid-label-padding-left-desktop: var(--space-xxxxl);
  --grid-label-padding-right-desktop: var(--space-xxl-half);
  --grid-value-padding-left-desktop: var(--space-xxxl);
  --grid-value-padding-right-desktop: var(--space-xxl-half);
  --grid-padding-y-tablet: var(--space-xxl);
  --grid-title-padding-left-tablet: var(--space-sm);
  --grid-label-padding-left-tablet: var(--space-xxxl);
  --grid-label-padding-right-tablet: var(--space-xl-half);
  --grid-value-padding-left-tablet: var(--space-xl-half);
  --grid-value-padding-right-tablet: var(--space-lg);
  --grid-title-padding-left-mobile: var(--space-xs);
  --grid-label-padding-top-mobile: var(--space-lg);
  --grid-label-padding-bottom-mobile: var(--space-xs);
  --grid-label-padding-left-mobile: var(--space-md);
  --grid-label-padding-right-mobile: 0;
  --grid-value-padding-top-mobile: var(--space-xs);
  --grid-value-padding-bottom-mobile: var(--space-lg);
  --grid-value-padding-left-mobile: var(--space-xl);
  --grid-value-padding-right-mobile: 0;
}

:root {
  --font-family-sans: "Noto Sans", "Noto Sans JP", sans-serif;
  --font-family-serif: "Noto Serif", "Noto Serif JP", serif;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --font-size-base: 1rem;
  --font-size-xs: 0.8rem;
  --font-size-sm: 1.05rem;
  --font-size-sm-plus: 1.15rem;
  --font-size-md: 1.25rem;
  --font-size-lg: 1.35rem;
  --font-size-lg-plus: 1.5rem;
  --font-size-xl: 1.7rem;
  --font-size-xl-plus: 2rem;
  --font-size-xxl: 2.2rem;
  --font-size-xxl-plus: 2.3rem;
  --font-size-xxxl: 2.5rem;
  --font-size-xxxl-plus: 2.7rem;
  --font-size-xxxxl: 3rem;
  --font-size-xxxxl-plus: 3.2rem;
  --font-size-paragraph-default: var( --font-size-base);
  --font-size-paragraph-tablet: var( --font-size-base);
  --font-size-paragraph-mobile: var(--font-size-base);
  --font-size-p-desktop: var(--font-size-sm-plus);
  --font-size-p-tablet: var(--font-size-sm-plus);
  --font-size-p-mobile: var(--font-size-base);
  --font-size-p-generous-desktop: var(--font-size-md);
  --font-size-p-generous-tablet: var(--font-size-md);
  --font-size-p-generous-mobile: var(--font-size-sm);
  --font-size-p-compact-desktop: var(--font-size-base);
  --font-size-p-compact-tablet: var(--font-size-base);
  --font-size-p-compact-mobile: var(--font-size-xs);
  --font-size-h1: var(--font-size-xl-plus);
  --font-size-h1-tablet: var(--font-size-xl-plus);
  --font-size-h1-mobile: var(--font-size-xl);
  --font-size-h1-generous-desktop: var(--font-size-xl-plus);
  --font-size-h1-generous-tablet: var(--font-size-xl-plus);
  --font-size-h1-generous-mobile: var(--font-size-xl);
  --font-size-h1-compact-desktop: var(--font-size-xl-plus);
  --font-size-h1-compact-tablet: var(--font-size-xl-plus);
  --font-size-h1-compact-mobile: var(--font-size-xl);
  --font-size-h2: var(--font-size-xxxxl-plus);
  --font-size-h2-tablet: var(--font-size-xxxxl);
  --font-size-h2-mobile: var(--font-size-xxxl);
  --font-size-h2-generous-desktop: var(--font-size-xxxxl-plus);
  --font-size-h2-generous-tablet: var(--font-size-xxxxl);
  --font-size-h2-generous-mobile: var(--font-size-xxxl);
  --font-size-h2-compact-desktop: var(--font-size-xxxxl-plus);
  --font-size-h2-compact-tablet: var(--font-size-xxxxl);
  --font-size-h2-compact-mobile: var(--font-size-xxxl);
  --font-size-h3: var(--font-size-xl-plus);
  --font-size-h3-tablet: var(--font-size-xl);
  --font-size-h3-mobile: var(--font-size-lg);
  --font-size-h3-generous-desktop: var(--font-size-xxl);
  --font-size-h3-generous-tablet: var(--font-size-xl-plus);
  --font-size-h3-generous-mobile: var(--font-size-lg-plus);
  --font-size-h3-compact-desktop: var(--font-size-xl);
  --font-size-h3-compact-tablet: var(--font-size-lg-plus);
  --font-size-h3-compact-mobile: var(--font-size-md);
  --line-height-ultra-tight: 0.9;
  --line-height-super-tight: 1.0;
  --line-height-tight: 1.2;
  --line-height-snug: 1.4;
  --line-height-normal: 1.6;
  --line-height-relaxed: 1.8;
  --line-height-heading-default: var(--line-height-tight);
  --line-height-paragraph-default: var(--line-height-normal);
  --line-height-paragraph-generous-desktop: var(--line-height-relaxed);
  --line-height-paragraph-generous-tablet: var(--line-height-relaxed);
  --line-height-paragraph-generous-mobile: var(--line-height-relaxed);
  --line-height-paragraph-generous-sm-landscape: var(--line-height-relaxed);
  --space-paragraph-to-paragraph-desktop: 0;
  --space-paragraph-to-paragraph-tablet: 0;
  --space-paragraph-to-paragraph-mobile: 0;
  --space-paragraph-to-paragraph-sm-landscape: 0;
  --space-paragraph-to-paragraph-generous-desktop: var(--space-sm);
  --space-paragraph-to-paragraph-generous-tablet: var(--space-sm);
  --space-paragraph-to-paragraph-generous-mobile: var(--space-xs);
  --space-paragraph-to-paragraph-generous-sm-landscape: var(--space-xs);
  --space-heading-to-paragraph-desktop: var(--space-lg);
  --space-heading-to-paragraph-tablet: var(--space-md);
  --space-heading-to-paragraph-mobile: var(--space-md);
  --space-heading-to-paragraph-sm-landscape: var(--space-md);
  --space-heading-to-paragraph-generous-desktop: var(--space-xl);
  --space-heading-to-paragraph-generous-tablet: var(--space-lg);
  --space-heading-to-paragraph-generous-mobile: var(--space-lg);
  --space-heading-to-paragraph-generous-sm-landscape: var(--space-lg);
  --space-heading-to-paragraph-x-desktop: var(--space-xxs);
  --space-heading-to-paragraph-x-tablet: var(--space-xxs);
  --space-heading-to-paragraph-x-mobile: var(--space-xxs);
  --space-heading-to-paragraph-x-sm-landscape: var(--space-xxs);
}

:root {
  --navbar-padding-y-desktop: 10px;
  --navbar-padding-y-tablet: 15px;
  --navbar-padding-y-mobile: 10px;
  --navbar-padding-y-at-top-desktop: 25px;
  --navbar-padding-y-at-top-tablet: 30px;
  --navbar-padding-y-at-top-mobile: 20px;
  --navbar-logo-height-desktop: 50px;
  --navbar-logo-height-tablet: 50px;
  --navbar-logo-height-mobile: 40px;
  --navbar-max-width-l-desktop: 1300px;
  --navbar-max-width-desktop: 100%;
  --navbar-max-width-tablet: 100%;
  --navbar-max-width-mobile: none;
  --navbar-max-width-sm-landscape: none;
  --navbar-height-desktop: calc(var(--navbar-logo-height-desktop) + (var(--navbar-padding-y-desktop) * 2));
  --navbar-height-tablet: calc(var(--navbar-logo-height-tablet) + (var(--navbar-padding-y-tablet) * 2));
  --navbar-height-mobile: calc(var(--navbar-logo-height-mobile) + (var(--navbar-padding-y-mobile) * 2));
}

:root {
  --footer-base-font-size-ref: var(--font-size-base);
  --footer-primary-text-font-size-desktop: calc(var(--footer-base-font-size-ref) * 1.15);
  --footer-primary-text-font-size-tablet: calc(var(--footer-base-font-size-ref) * 1.15);
  --footer-primary-text-font-size-mobile: calc(var(--footer-base-font-size-ref) * 1);
  --footer-primary-text-line-height: var(--line-height-tight);
  --footer-home-left-col-p-plus-p-margin-top-desktop-rem: 0.45rem;
  --footer-home-left-col-p-plus-p-margin-top-tablet-rem: 0.45rem;
  --footer-home-left-col-p-plus-p-margin-top-mobile-rem: 0.45rem;
  --footer-copyright-margin-top-p2-desktop-rem: 0.15rem;
  --footer-copyright-margin-top-p3-desktop-rem: -0.15rem;
  --footer-copyright-margin-top-p2-tablet-rem: 0.15rem;
  --footer-copyright-margin-top-p3-tablet-rem: -0.15rem;
  --footer-copyright-margin-top-p2-mobile-rem: 0.3rem;
  --footer-copyright-margin-top-p3-mobile-rem: 0.03rem;
  --footer-copyright-base-lh-ref: var(--line-height-super-tight);
  --footer-copyright-font-size-main-desktop: calc(var(--footer-base-font-size-ref) * 0.99);
  --footer-copyright-font-size-notice-jp-desktop: calc(var(--footer-base-font-size-ref) * 0.88);
  --footer-copyright-font-size-notice-en-desktop: calc(var(--footer-base-font-size-ref) * 0.79);
  --footer-copyright-font-size-main-tablet: calc(var(--footer-base-font-size-ref) * 0.99);
  --footer-copyright-font-size-notice-jp-tablet: calc(var(--footer-base-font-size-ref) * 0.81);
  --footer-copyright-font-size-notice-en-tablet: calc(var(--footer-base-font-size-ref) * 0.72);
  --footer-copyright-font-size-main-mobile: calc(var(--footer-base-font-size-ref) * 0.91);
  --footer-copyright-font-size-notice-jp-mobile: calc(var(--footer-base-font-size-ref) * 0.77);
  --footer-copyright-line-height-notice-jp-mobile: var(--footer-copyright-base-lh-ref);
  --footer-copyright-font-size-notice-en-mobile: calc(var(--footer-base-font-size-ref) * 0.69);
  --footer-copyright-line-height-notice-en-mobile: calc(var(--footer-copyright-base-lh-ref) * 0.7);
  --footer-padding-top-desktop: var(--space-xl);
  --footer-copyright-padding-top-desktop: var(--space-lg);
  --footer-padding-bottom-desktop: var(--space-lg);
  --footer-padding-top-tablet: var(--space-xl);
  --footer-copyright-padding-top-tablet: var(--space-lg);
  --footer-padding-bottom-tablet: var(--space-lg);
  --footer-padding-top-mobile: var(--space-lg);
  --footer-copyright-padding-top-mobile: var(--space-md);
  --footer-padding-bottom-mobile: var(--space-md);
  --footer-max-width-l-desktop: 720px;
  --footer-max-width-desktop: 720px;
  --footer-max-width-tablet: 660px;
  --footer-max-width-mobile: none;
  --footer-max-width-sm-landscape: 660px;
}

html {
  padding: 0;
  height: 100%;
  box-sizing: border-box;
  -webkit-user-drag: none;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  overflow-y: scroll;
}

body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  -webkit-user-drag: none;
}

main {
  flex-grow: 1;
}

img {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-thickness: var(--underline-thickness);
  transition: color var(--transition-duration-normal) var(--transition-timing-function-ease), font-weight var(--transition-duration-normal) var(--transition-timing-function-ease);
}
a:hover, a:focus {
  color: var(--color-link-hover);
  font-weight: var(--font-weight-bold);
}
a:visited {
  color: var(--color-link);
}

body {
  background-color: var(--color-background-white);
  color: var(--color-text-primary);
}

h3 {
  color: var(--color-accent-blue);
}

body {
  font-family: var(--font-family-sans);
  --font-size-paragraph-current: var(--font-size-p-desktop);
  line-height: var(--line-height-paragraph-default);
}

p {
  font-family: var(--font-family-sans);
  font-size: var(--font-size-p-desktop);
  line-height: var(--line-height-paragraph-default);
  margin: 0;
}

h1 {
  font-family: var(--font-family-sans);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-snug);
  margin: 0;
  margin-bottom: var(--space-heading-to-paragraph-desktop);
}

h2 {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-tight);
  margin: 0;
  margin-bottom: var(--space-heading-to-paragraph-desktop);
}

h3 {
  font-family: var(--font-family-serif);
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  margin: 0;
  margin-bottom: var(--space-heading-to-paragraph-desktop);
}

p + p {
  margin-top: var(--space-paragraph-to-paragraph-desktop);
}

h1 + p, h2 + p, h3 + p {
  margin-top: 0;
}

@media (max-width: 599px) {
  body {
    --font-size-paragraph-current: var(--font-size-p-mobile);
  }
  p {
    font-size: var(--font-size-p-mobile);
  }
  h1 {
    font-size: var(--font-size-h1-mobile);
  }
  h2 {
    font-size: var(--font-size-h2-mobile);
  }
  h3 {
    font-size: var(--font-size-h3-mobile);
  }
  h1, h2, h3 {
    margin-bottom: var(--space-heading-to-paragraph-mobile);
  }
  p + p {
    margin-top: var(--space-paragraph-to-paragraph-mobile);
  }
  h1 + p, h2 + p, h3 + p {
    margin-top: 0;
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  body {
    --font-size-paragraph-current: var(--font-size-p-tablet);
  }
  p {
    font-size: var(--font-size-p-tablet);
  }
  h1 {
    font-size: var(--font-size-h1-tablet);
  }
  h2 {
    font-size: var(--font-size-h2-tablet);
  }
  h3 {
    font-size: var(--font-size-h3-tablet);
  }
  h1, h2, h3 {
    margin-bottom: var(--space-heading-to-paragraph-tablet);
  }
  p + p {
    margin-top: var(--space-paragraph-to-paragraph-tablet);
  }
  h1 + p, h2 + p, h3 + p {
    margin-top: 0;
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  body {
    --font-size-paragraph-current: var(--font-size-p-mobile);
  }
  p {
    font-size: var(--font-size-p-mobile);
  }
  h1 {
    font-size: var(--font-size-h1-mobile);
  }
  h2 {
    font-size: var(--font-size-h2-mobile);
  }
  h3 {
    font-size: var(--font-size-h3-mobile);
  }
  h1, h2, h3 {
    margin-bottom: var(--space-heading-to-paragraph-mobile);
  }
  p + p {
    margin-top: var(--space-paragraph-to-paragraph-mobile);
  }
  h1 + p, h2 + p, h3 + p {
    margin-top: 0;
  }
  h1, h2, h3 {
    margin-bottom: var(--space-heading-to-paragraph-sm-landscape);
  }
  p + p {
    margin-top: var(--space-paragraph-to-paragraph-sm-landscape);
  }
  h1 + p, h2 + p, h3 + p {
    margin-top: 0;
  }
}
.visually-hidden {
  position: absolute;
  width: var(--border-width-default);
  height: var(--border-width-default);
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: 0;
}

.no-wrap {
  white-space: nowrap;
}

@media (min-width: 1024px) {
  .no-wrap-pc-only {
    white-space: nowrap;
  }
}
@media (min-width: 600px) {
  .no-wrap-pc-tablet {
    white-space: nowrap;
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  .no-wrap-tablet-only {
    white-space: nowrap;
  }
}
@media (max-width: 599px) {
  .no-wrap-mobile-only {
    white-space: nowrap;
  }
}

@media (min-width: 600px) {
  .br-mobile {
    display: none;
  }
}
@media (min-width: 1024px) {
  .br-tablet,
  .br-mobile {
    display: none;
  }
}
.flex-v-center {
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
}
.flex-v-center .material-symbols-outlined {
  font-size: 1.1em;
  transform: translateY(0.02em);
  font-variation-settings: "FILL" 0;
  transition: font-variation-settings var(--transition-duration-normal) var(--transition-timing-function-ease);
}
.flex-v-center.--filled .material-symbols-outlined {
  font-variation-settings: "FILL" 1;
}

.button-wrapper {
  margin-top: var(--button-wrapper-margin-top);
  text-align: center;
}

.button-wrapper .button-link {
  display: inline-block;
  padding: 0.8em 2em;
  text-decoration: none;
  border-radius: var(--border-radius-sm);
  font-family: var(--font-family-serif);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-paragraph-current);
  border: none;
  transition: background-color var(--transition-duration-normal) var(--transition-timing-function-ease), color var(--transition-duration-normal) var(--transition-timing-function-ease), transform var(--transition-duration-fast) var(--transition-timing-function-ease);
  cursor: pointer;
  text-align: center;
  background-color: var(--color-button);
  color: var(--color-text-light);
}
.button-wrapper .button-link:hover {
  background-color: var(--color-button-hover);
  color: var(--color-accent-beige);
}
.button-wrapper .button-link:active {
  background-color: var(--color-button-active);
  color: var(--color-accent-beige);
  transform: scale(0.98);
}

[data-section] {
  padding-left: var(--container-padding-x-desktop);
  padding-right: var(--container-padding-x-desktop);
  padding-top: var(--section-padding-top-default-desktop);
  padding-bottom: var(--section-padding-bottom-default-desktop);
}
@media (min-width: 1200px) {
  [data-section] {
    padding-left: var(--container-padding-x-l-desktop);
    padding-right: var(--container-padding-x-l-desktop);
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-section] {
    padding-left: var(--container-padding-x-tablet);
    padding-right: var(--container-padding-x-tablet);
    padding-top: var(--section-padding-top-default-tablet);
    padding-bottom: var(--section-padding-bottom-default-tablet);
  }
}
@media (max-width: 599px) {
  [data-section] {
    padding-left: var(--container-padding-x-mobile);
    padding-right: var(--container-padding-x-mobile);
    padding-top: var(--section-padding-top-default-mobile);
    padding-bottom: var(--section-padding-bottom-default-mobile);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-section] {
    padding-left: var(--container-padding-x-tablet);
    padding-right: var(--container-padding-x-tablet);
    padding-top: var(--section-padding-top-default-mobile);
    padding-bottom: var(--section-padding-bottom-default-mobile);
  }
}

[data-section] > .content-container {
  max-width: var(--container-width-desktop-default);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (min-width: 1200px) {
  [data-section] > .content-container {
    max-width: var(--container-width-l-desktop-default);
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-section] > .content-container {
    max-width: var(--container-width-tablet-default);
  }
}
@media (max-width: 599px) {
  [data-section] > .content-container {
    max-width: var(--container-width-mobile-default);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-section] > .content-container {
    max-width: var(--container-width-sm-landscape-default);
  }
}
[data-section] > .content-container > * {
  text-align: left;
}
[data-section] > .content-container > .button-wrapper {
  margin-top: var(--button-wrapper-margin-top);
  margin-bottom: var(--button-wrapper-margin-bottom);
  text-align: center;
}

[data-section=footer-home] {
  flex-shrink: 0;
  background-color: var(--color-background-footer);
  color: var(--color-text-primary);
  padding-top: var(--footer-padding-top-desktop);
  padding-bottom: var(--footer-padding-bottom-desktop);
  padding-left: var(--container-padding-x-desktop);
  padding-right: var(--container-padding-x-desktop);
  font-size: var(--footer-base-font-size-ref);
}

[data-section=footer-home] > .footer-content {
  display: grid;
  row-gap: var(--space-lg);
  -moz-column-gap: var(--space-xxxxl);
       column-gap: var(--space-xxxxl);
  max-width: var(--footer-max-width-desktop);
  margin: 0 auto;
  padding: 0;
  grid-template-columns: auto 1fr;
}

[data-section=footer-home] > .footer-content > .footer-col-left p {
  font-size: var(--footer-primary-text-font-size-desktop);
  line-height: var(--footer-primary-text-line-height);
  margin-bottom: 0;
  color: var(--color-text-primary);
}
[data-section=footer-home] > .footer-content > .footer-col-left p:first-child {
  margin-top: 0;
}
[data-section=footer-home] > .footer-content > .footer-col-left p + p {
  margin-top: var(--footer-home-left-col-p-plus-p-margin-top-desktop-rem);
}

[data-section=footer-home] > .footer-content .footer-link {
  color: var(--color-link-footer);
  font-size: inherit;
  text-decoration: underline;
  display: inline-block;
  transition: color var(--transition-duration-normal) var(--transition-timing-function-ease), font-weight var(--transition-duration-normal) var(--transition-timing-function-ease);
  line-height: inherit;
  font-weight: var(--font-weight-normal);
}

[data-section=footer-home] > .footer-content .footer-link:hover,
[data-section=footer-home] > .footer-content .footer-link:focus {
  color: var(--color-link-footer-hover);
  font-weight: var(--font-weight-bold);
}

[data-section=footer-home] > .footer-content .footer-link:visited {
  color: var(--color-link-footer);
}

[data-section=footer-home] > .footer-content > .footer-col-copyright {
  grid-column: 1/-1;
  text-align: left;
  text-align: left;
}
[data-section=footer-home] > .footer-content > .footer-col-copyright > p {
  margin: 0;
  line-height: var(--footer-copyright-base-lh-ref);
}
[data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(1) small {
  font-size: var(--footer-copyright-font-size-main-desktop);
}
[data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(2) small {
  font-size: var(--footer-copyright-font-size-notice-jp-desktop);
}
[data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(3) small {
  font-size: var(--footer-copyright-font-size-notice-en-desktop);
}
[data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(2) {
  margin-top: var(--footer-copyright-margin-top-p2-desktop-rem);
}
[data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(3) {
  margin-top: var(--footer-copyright-margin-top-p3-desktop-rem);
}
@media (max-width: 599px) {
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(1) small {
    font-size: var(--footer-copyright-font-size-main-mobile);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(2) small {
    font-size: var(--footer-copyright-font-size-notice-jp-mobile);
    line-height: var(--footer-copyright-line-height-notice-jp-mobile);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(3) small {
    font-size: var(--footer-copyright-font-size-notice-en-mobile);
    line-height: var(--footer-copyright-line-height-notice-en-mobile);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(2) {
    margin-top: var(--footer-copyright-margin-top-p2-mobile-rem);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(3) {
    margin-top: var(--footer-copyright-margin-top-p3-mobile-rem);
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(1) small {
    font-size: var(--footer-copyright-font-size-main-tablet);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(2) small {
    font-size: var(--footer-copyright-font-size-notice-jp-tablet);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(3) small {
    font-size: var(--footer-copyright-font-size-notice-en-tablet);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(2) {
    margin-top: var(--footer-copyright-margin-top-p2-tablet-rem);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(3) {
    margin-top: var(--footer-copyright-margin-top-p3-tablet-rem);
  }
}
@media (min-width: 600px) and (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(1) small {
    font-size: var(--footer-copyright-font-size-main-mobile);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(2) small {
    font-size: var(--footer-copyright-font-size-notice-jp-mobile);
    line-height: var(--footer-copyright-line-height-notice-jp-mobile);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(3) small {
    font-size: var(--footer-copyright-font-size-notice-en-mobile);
    line-height: var(--footer-copyright-line-height-notice-en-mobile);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(2) {
    margin-top: var(--footer-copyright-margin-top-p2-mobile-rem);
  }
  [data-section=footer-home] > .footer-content > .footer-col-copyright > p:nth-child(3) {
    margin-top: var(--footer-copyright-margin-top-p3-mobile-rem);
  }
}

@media (max-width: 1023px) {
  [data-section=footer-home] > .footer-content {
    grid-template-columns: 1fr;
    padding: 0;
    row-gap: var(--space-sm);
    -moz-column-gap: var(--space-xl);
         column-gap: var(--space-xl);
    text-align: left;
    max-width: var(--footer-max-width-mobile);
  }
}
@media (max-width: 599px) {
  [data-section=footer-home] {
    padding-top: var(--footer-padding-top-mobile);
    padding-bottom: var(--footer-padding-bottom-mobile);
    padding-left: var(--container-padding-x-mobile);
    padding-right: var(--container-padding-x-mobile);
  }
  [data-section=footer-home] > .footer-content {
    max-width: var(--footer-max-width-mobile);
  }
  [data-section=footer-home] > .footer-content > .footer-col-left p {
    font-size: var(--footer-primary-text-font-size-mobile);
  }
  [data-section=footer-home] > .footer-content > .footer-col-left p + p {
    margin-top: var(--footer-home-left-col-p-plus-p-margin-top-mobile-rem);
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-section=footer-home] {
    padding-top: var(--footer-padding-top-tablet);
    padding-bottom: var(--footer-padding-bottom-tablet);
    padding-left: var(--container-padding-x-tablet);
    padding-right: var(--container-padding-x-tablet);
  }
  [data-section=footer-home] > .footer-content {
    max-width: var(--footer-max-width-tablet);
  }
  [data-section=footer-home] > .footer-content > .footer-col-left p {
    font-size: var(--footer-primary-text-font-size-tablet);
  }
  [data-section=footer-home] > .footer-content > .footer-col-left p + p {
    margin-top: var(--footer-home-left-col-p-plus-p-margin-top-tablet-rem);
  }
}
@media (min-width: 600px) and (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-section=footer-home] > .footer-content {
    max-width: var(--footer-max-width-sm-landscape);
  }
  [data-section=footer-home] > .footer-content > .footer-col-left p {
    font-size: var(--footer-primary-text-font-size-mobile);
  }
  [data-section=footer-home] > .footer-content > .footer-col-left p + p {
    margin-top: var(--footer-home-left-col-p-plus-p-margin-top-mobile-rem);
  }
}
@media (min-width: 1200px) {
  [data-section=footer-home] {
    padding-left: var(--container-padding-x-l-desktop);
    padding-right: var(--container-padding-x-l-desktop);
  }
  [data-section=footer-home] > .footer-content {
    max-width: var(--footer-max-width-l-desktop);
  }
}
[data-section=navbar-home] {
  flex-shrink: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: var(--navbar-padding-y-desktop) 0;
  z-index: var(--z-index-navbar);
  transition: background-color var(--transition-duration-normal) var(--transition-timing-function-ease), background-image var(--transition-duration-normal) var(--transition-timing-function-ease);
  transition: padding-top var(--transition-duration-normal) var(--transition-timing-function-ease), padding-bottom var(--transition-duration-normal) var(--transition-timing-function-ease), background-color var(--transition-duration-normal) var(--transition-timing-function-ease), background-image var(--transition-duration-normal) var(--transition-timing-function-ease);
  background-color: transparent;
  background-image: linear-gradient(to bottom, var(--color-black-transparent-20) 0%, var(--color-black-transparent-15) 50%, transparent 100%);
}
[data-section=navbar-home] > .navbar-container {
  max-width: var(--navbar-max-width-desktop);
  margin: 0 auto;
  padding: 0 var(--container-padding-x-desktop);
  display: flex;
  align-items: center;
}
[data-section=navbar-home] .navbar-brand {
  position: relative;
  display: block;
  height: var(--navbar-logo-height-desktop);
  width: calc(var(--navbar-logo-height-desktop) * 800 / 170);
  cursor: pointer;
}
[data-section=navbar-home] .navbar-brand .navbar-logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
@media (max-width: 599px) {
  [data-section=navbar-home] {
    padding: var(--navbar-padding-y-mobile) 0;
  }
  [data-section=navbar-home] > .navbar-container {
    max-width: var(--navbar-max-width-mobile);
    padding: 0 var(--container-padding-x-mobile);
  }
  [data-section=navbar-home] .navbar-brand {
    height: var(--navbar-logo-height-mobile);
    width: calc(var(--navbar-logo-height-mobile) * 800 / 170);
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-section=navbar-home] {
    padding-top: var(--navbar-padding-y-tablet);
    padding-bottom: var(--navbar-padding-y-tablet);
    padding-left: 0;
    padding-right: 0;
  }
  [data-section=navbar-home] > .navbar-container {
    max-width: var(--navbar-max-width-tablet);
    padding-left: var(--container-padding-x-tablet);
    padding-right: var(--container-padding-x-tablet);
  }
  [data-section=navbar-home] .navbar-brand {
    height: var(--navbar-logo-height-tablet);
    width: calc(var(--navbar-logo-height-tablet) * 800 / 170);
  }
}
@media (min-width: 1200px) {
  [data-section=navbar-home] > .navbar-container {
    max-width: var(--navbar-max-width-l-desktop);
    padding: 0 var(--container-padding-x-l-desktop);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-section=navbar-home] > .navbar-container {
    max-width: var(--navbar-max-width-sm-landscape);
  }
}
[data-section=navbar-home] .navbar-brand .navbar-logo {
  transition: opacity var(--transition-duration-medium) var(--transition-timing-function-ease-in-out);
}
body.is-intro-loading [data-section=navbar-home] .navbar-logo.logo-intro {
  opacity: 1;
  pointer-events: auto;
  z-index: calc(var(--z-index-default) + 2);
}
body.is-intro-loading [data-section=navbar-home] .navbar-logo.logo-on-photo {
  opacity: 0;
  pointer-events: none;
  z-index: calc(var(--z-index-default) + 1);
}
body.is-intro-loading [data-section=navbar-home] .navbar-logo.logo-scrolled {
  opacity: 0;
  pointer-events: none;
  z-index: var(--z-index-default);
}

body[data-page=home]:not(.is-intro-loading)[data-bar-scrolled=false] [data-section=navbar-home] .navbar-logo.logo-intro {
  opacity: 0;
  pointer-events: none;
}
body[data-page=home]:not(.is-intro-loading)[data-bar-scrolled=false] [data-section=navbar-home] .navbar-logo.logo-on-photo {
  opacity: 1;
  pointer-events: auto;
}
body[data-page=home]:not(.is-intro-loading)[data-bar-scrolled=false] [data-section=navbar-home] .navbar-logo.logo-scrolled {
  opacity: 0;
  pointer-events: none;
}

body[data-page=home]:not(.is-intro-loading)[data-bar-scrolled=true] [data-section=navbar-home] {
  background-color: var(--color-background-white);
  background-image: none;
  box-shadow: var(--shadow-default);
}
body[data-page=home]:not(.is-intro-loading)[data-bar-scrolled=true] [data-section=navbar-home] .navbar-logo.logo-intro {
  opacity: 0;
  pointer-events: none;
}
body[data-page=home]:not(.is-intro-loading)[data-bar-scrolled=true] [data-section=navbar-home] .navbar-logo.logo-on-photo {
  opacity: 0;
  pointer-events: none;
}
body[data-page=home]:not(.is-intro-loading)[data-bar-scrolled=true] [data-section=navbar-home] .navbar-logo.logo-scrolled {
  opacity: 1;
  pointer-events: auto;
  z-index: calc(var(--z-index-default) + 1);
}

body[data-page=home][data-navbar-at-top=true] [data-section=navbar-home] {
  padding-top: var(--navbar-padding-y-at-top-desktop);
  padding-bottom: var(--navbar-padding-y-at-top-desktop);
}
@media (max-width: 1023px) {
  body[data-page=home][data-navbar-at-top=true] [data-section=navbar-home] {
    padding-top: var(--navbar-padding-y-at-top-tablet);
    padding-bottom: var(--navbar-padding-y-at-top-tablet);
  }
}
@media (max-width: 599px) {
  body[data-page=home][data-navbar-at-top=true] [data-section=navbar-home] {
    padding-top: var(--navbar-padding-y-at-top-mobile);
    padding-bottom: var(--navbar-padding-y-at-top-mobile);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  body[data-page=home][data-navbar-at-top=true] [data-section=navbar-home] {
    padding-top: var(--navbar-padding-y-at-top-mobile);
    padding-bottom: var(--navbar-padding-y-at-top-mobile);
  }
}

body[data-page=home][data-navbar-at-top=false] [data-section=navbar-home] {
  padding-top: var(--navbar-padding-y-desktop);
  padding-bottom: var(--navbar-padding-y-desktop);
}
@media (max-width: 1023px) {
  body[data-page=home][data-navbar-at-top=false] [data-section=navbar-home] {
    padding-top: var(--navbar-padding-y-tablet);
    padding-bottom: var(--navbar-padding-y-tablet);
  }
}
@media (max-width: 599px) {
  body[data-page=home][data-navbar-at-top=false] [data-section=navbar-home] {
    padding-top: var(--navbar-padding-y-mobile);
    padding-bottom: var(--navbar-padding-y-mobile);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  body[data-page=home][data-navbar-at-top=false] [data-section=navbar-home] {
    padding-top: var(--navbar-padding-y-mobile);
    padding-bottom: var(--navbar-padding-y-mobile);
  }
}

[data-section=hero] {
  position: relative;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  height: 100vh;
  background-image: url("/assets/photos/hero/top-hero-pc_acr08005.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--color-text-light);
  min-height: var(--hero-min-height-fallback);
  padding-top: var(--navbar-height-desktop);
  box-sizing: border-box;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

[data-section=hero] > div {
  width: 100%;
  padding: 0 5vw;
  position: relative;
  z-index: 2;
  text-align: center;
}

[data-section=hero] h2 {
  font-weight: var(--font-weight-normal);
  color: var(--color-text-light);
  margin-bottom: 0;
  text-shadow: var(--shadow-text-hero);
  display: inline-block;
  text-align: left;
}

@media (max-width: 599px) {
  [data-section=hero] {
    background-image: url("/assets/photos/hero/top-hero-mobile_acr08005.webp");
    height: 100vh;
    padding-top: var(--navbar-height-mobile);
    background-position: right bottom;
  }
  [data-section=hero] > div {
    width: 100vw;
    padding: 0;
    margin: 0;
    transform: translateY(calc(var(--space-xxl) * -1));
  }
}
@media (max-width: 599px) and (orientation: landscape) and (max-height: 400px) {
  [data-section=hero] > div {
    transform: translateY(var(--space-xxs));
  }
}
@media (min-width: 600px) and (max-width: 1023px) and (orientation: landscape) {
  [data-section=hero] {
    background-image: url("/assets/photos/hero/top-hero-tablet_acr08005.webp");
    padding-top: var(--navbar-height-tablet);
    background-position: right bottom;
  }
  [data-section=hero] > div {
    transform: translateY(calc(var(--space-xl) * -1));
  }
}
@media (min-width: 600px) and (max-width: 1023px) and (orientation: landscape) and (max-height: 400px) {
  [data-section=hero] > div {
    transform: translateY(var(--space-xs));
  }
}
@media (min-width: 600px) and (max-width: 1023px) and (orientation: portrait) {
  [data-section=hero] {
    background-image: url("/assets/photos/hero/top-hero-tablet-v_acr08005.webp");
    padding-top: var(--navbar-height-tablet);
    background-position: right bottom;
  }
  [data-section=hero] > div {
    transform: translateY(calc(var(--space-xxxxxl) * -1));
  }
}
@media (min-width: 1024px) {
  [data-section=hero] {
    padding-top: var(--navbar-height-desktop);
    height: 100vh;
    background-position: right bottom;
  }
  [data-section=hero] h2 {
    text-align: center;
  }
  [data-section=hero] > div {
    transform: translateY(calc(var(--space-md) * -1));
  }
}
@media (min-width: 1024px) and (max-width: 1024px) and (orientation: portrait) {
  [data-section=hero] {
    background-image: url("/assets/photos/hero/top-hero-tablet-v_acr08005.webp");
    padding-top: var(--navbar-height-tablet);
  }
  [data-section=hero] > div {
    transform: translateY(calc(var(--space-xxxxxl) * -1));
  }
  [data-section=hero] h2 {
    text-align: left;
  }
}
[data-section=gallery] {
  background-color: var(--color-background-white);
  max-width: 100%;
  padding: 0;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

[data-section=gallery] h3.visually-hidden {
  pointer-events: none;
}

[data-section=gallery] > .gallery-grid {
  display: grid;
  gap: var(--border-width-default);
  width: 100%;
  grid-template-columns: 1fr;
}

[data-section=gallery] > .gallery-grid > .gallery-item {
  position: relative;
  width: 100%;
  padding-top: 83.3333333333%;
}

[data-section=gallery] > .gallery-grid > .gallery-item > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

@media (min-width: 1024px) {
  [data-section=gallery] > .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
[data-page=home] {
  --page-container-width-l-desktop: 750px;
  --page-container-width-desktop: 750px;
  --page-container-width-tablet: 660px;
  --page-container-width-mobile: none;
  --page-container-width-sm-landscape: 660px;
}
[data-page=home] [data-section=about],
[data-page=home] [data-section=services],
[data-page=home] [data-section=contact] {
  padding-top: var(--section-padding-top-generous-desktop);
  padding-bottom: var(--section-padding-bottom-generous-desktop);
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=about],
  [data-page=home] [data-section=services],
  [data-page=home] [data-section=contact] {
    padding-top: var(--section-padding-top-generous-tablet);
    padding-bottom: var(--section-padding-bottom-generous-tablet);
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=about],
  [data-page=home] [data-section=services],
  [data-page=home] [data-section=contact] {
    padding-top: var(--section-padding-top-generous-mobile);
    padding-bottom: var(--section-padding-bottom-generous-mobile);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=about],
  [data-page=home] [data-section=services],
  [data-page=home] [data-section=contact] {
    padding-top: var(--section-padding-top-generous-mobile);
    padding-bottom: var(--section-padding-bottom-generous-mobile);
  }
}
[data-page=home] [data-section=about] p,
[data-page=home] [data-section=services] p,
[data-page=home] [data-section=contact] p {
  font-size: var(--font-size-p-generous-desktop);
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=about] p,
  [data-page=home] [data-section=services] p,
  [data-page=home] [data-section=contact] p {
    font-size: var(--font-size-p-generous-tablet);
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=about] p,
  [data-page=home] [data-section=services] p,
  [data-page=home] [data-section=contact] p {
    font-size: var(--font-size-p-generous-mobile);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=about] p,
  [data-page=home] [data-section=services] p,
  [data-page=home] [data-section=contact] p {
    font-size: var(--font-size-p-generous-mobile);
  }
}
[data-page=home] [data-section=about] h1,
[data-page=home] [data-section=services] h1,
[data-page=home] [data-section=contact] h1 {
  font-size: var(--font-size-h1-generous-desktop, inherit);
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=about] h1,
  [data-page=home] [data-section=services] h1,
  [data-page=home] [data-section=contact] h1 {
    font-size: var(--font-size-h1-generous-tablet, inherit);
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=about] h1,
  [data-page=home] [data-section=services] h1,
  [data-page=home] [data-section=contact] h1 {
    font-size: var(--font-size-h1-generous-mobile, inherit);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=about] h1,
  [data-page=home] [data-section=services] h1,
  [data-page=home] [data-section=contact] h1 {
    font-size: var(--font-size-h1-generous-mobile, inherit);
  }
}
[data-page=home] [data-section=about] h2,
[data-page=home] [data-section=services] h2,
[data-page=home] [data-section=contact] h2 {
  font-size: var(--font-size-h2-generous-desktop, inherit);
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=about] h2,
  [data-page=home] [data-section=services] h2,
  [data-page=home] [data-section=contact] h2 {
    font-size: var(--font-size-h2-generous-tablet, inherit);
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=about] h2,
  [data-page=home] [data-section=services] h2,
  [data-page=home] [data-section=contact] h2 {
    font-size: var(--font-size-h2-generous-mobile, inherit);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=about] h2,
  [data-page=home] [data-section=services] h2,
  [data-page=home] [data-section=contact] h2 {
    font-size: var(--font-size-h2-generous-mobile, inherit);
  }
}
[data-page=home] [data-section=about] h3,
[data-page=home] [data-section=services] h3,
[data-page=home] [data-section=contact] h3 {
  font-size: var(--font-size-h3-generous-desktop, inherit);
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=about] h3,
  [data-page=home] [data-section=services] h3,
  [data-page=home] [data-section=contact] h3 {
    font-size: var(--font-size-h3-generous-tablet, inherit);
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=about] h3,
  [data-page=home] [data-section=services] h3,
  [data-page=home] [data-section=contact] h3 {
    font-size: var(--font-size-h3-generous-mobile, inherit);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=about] h3,
  [data-page=home] [data-section=services] h3,
  [data-page=home] [data-section=contact] h3 {
    font-size: var(--font-size-h3-generous-mobile, inherit);
  }
}
[data-page=home] [data-section=about] p,
[data-page=home] [data-section=services] p,
[data-page=home] [data-section=contact] p {
  line-height: var(--line-height-paragraph-generous-desktop);
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=about] p,
  [data-page=home] [data-section=services] p,
  [data-page=home] [data-section=contact] p {
    line-height: var(--line-height-paragraph-generous-tablet);
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=about] p,
  [data-page=home] [data-section=services] p,
  [data-page=home] [data-section=contact] p {
    line-height: var(--line-height-paragraph-generous-mobile);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=about] p,
  [data-page=home] [data-section=services] p,
  [data-page=home] [data-section=contact] p {
    line-height: var(--line-height-paragraph-generous-sm-landscape);
  }
}
[data-page=home] [data-section=about] h1, [data-page=home] [data-section=about] h2, [data-page=home] [data-section=about] h3,
[data-page=home] [data-section=services] h1,
[data-page=home] [data-section=services] h2,
[data-page=home] [data-section=services] h3,
[data-page=home] [data-section=contact] h1,
[data-page=home] [data-section=contact] h2,
[data-page=home] [data-section=contact] h3 {
  margin-bottom: var(--space-heading-to-paragraph-generous-desktop);
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=about] h1, [data-page=home] [data-section=about] h2, [data-page=home] [data-section=about] h3,
  [data-page=home] [data-section=services] h1,
  [data-page=home] [data-section=services] h2,
  [data-page=home] [data-section=services] h3,
  [data-page=home] [data-section=contact] h1,
  [data-page=home] [data-section=contact] h2,
  [data-page=home] [data-section=contact] h3 {
    margin-bottom: var(--space-heading-to-paragraph-generous-tablet);
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=about] h1, [data-page=home] [data-section=about] h2, [data-page=home] [data-section=about] h3,
  [data-page=home] [data-section=services] h1,
  [data-page=home] [data-section=services] h2,
  [data-page=home] [data-section=services] h3,
  [data-page=home] [data-section=contact] h1,
  [data-page=home] [data-section=contact] h2,
  [data-page=home] [data-section=contact] h3 {
    margin-bottom: var(--space-heading-to-paragraph-generous-mobile);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=about] h1, [data-page=home] [data-section=about] h2, [data-page=home] [data-section=about] h3,
  [data-page=home] [data-section=services] h1,
  [data-page=home] [data-section=services] h2,
  [data-page=home] [data-section=services] h3,
  [data-page=home] [data-section=contact] h1,
  [data-page=home] [data-section=contact] h2,
  [data-page=home] [data-section=contact] h3 {
    margin-bottom: var(--space-heading-to-paragraph-generous-sm-landscape);
  }
}
[data-page=home] [data-section=about] > .content-container {
  max-width: 910px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  align-items: center;
  justify-content: center;
  text-align: left;
  grid-template-columns: minmax(0, 270px) minmax(0, 610px);
  gap: 30px;
}
@media (min-width: 1200px) {
  [data-page=home] [data-section=about] > .content-container {
    max-width: 1140px;
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=about] > .content-container {
    max-width: 635px;
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=about] > .content-container {
    max-width: 530px;
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=about] > .content-container {
    max-width: 530px;
  }
}
[data-page=home] [data-section=about] > .content-container .layout-column-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
[data-page=home] [data-section=about] > .content-container .layout-column-left > * {
  text-align: left;
  display: inline-block;
  max-width: 100%;
}
[data-page=home] [data-section=about] > .content-container .layout-column-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: left;
}
[data-page=home] [data-section=about] > .content-container .layout-column-right > * {
  text-align: left;
  display: inline-block;
  max-width: 100%;
}
[data-page=home] [data-section=about] > .content-container .layout-column-left h1, [data-page=home] [data-section=about] > .content-container .layout-column-left h2, [data-page=home] [data-section=about] > .content-container .layout-column-left h3 {
  margin-bottom: 0;
}
[data-page=home] [data-section=about] > .content-container .layout-column-right h1, [data-page=home] [data-section=about] > .content-container .layout-column-right h2, [data-page=home] [data-section=about] > .content-container .layout-column-right h3 {
  margin-bottom: 0;
}
@media (min-width: 1200px) {
  [data-page=home] [data-section=about] > .content-container {
    grid-template-columns: minmax(0, 300px) minmax(0, 800px);
    gap: 40px;
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=about] > .content-container {
    grid-template-columns: 1fr;
    row-gap: var(--space-heading-to-paragraph-generous-tablet);
    -moz-column-gap: 0;
         column-gap: 0;
  }
  [data-page=home] [data-section=about] > .content-container .layout-column-left,
  [data-page=home] [data-section=about] > .content-container .layout-column-right {
    align-items: stretch;
  }
  [data-page=home] [data-section=about] > .content-container .layout-column-left > *,
  [data-page=home] [data-section=about] > .content-container .layout-column-right > * {
    text-align: left;
    padding-left: 0;
    padding-right: 0;
    width: auto;
    margin-left: 0;
    margin-right: 0;
    display: block;
    max-width: none;
  }
  [data-page=home] [data-section=about] > .content-container .layout-column-left h1, [data-page=home] [data-section=about] > .content-container .layout-column-left h2, [data-page=home] [data-section=about] > .content-container .layout-column-left h3 {
    margin-bottom: 0;
  }
  [data-page=home] [data-section=about] > .content-container .layout-column-right h1, [data-page=home] [data-section=about] > .content-container .layout-column-right h2, [data-page=home] [data-section=about] > .content-container .layout-column-right h3 {
    margin-bottom: 0;
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=about] > .content-container {
    grid-template-columns: 1fr;
    row-gap: var(--space-heading-to-paragraph-generous-tablet);
    -moz-column-gap: 0;
         column-gap: 0;
  }
  [data-page=home] [data-section=about] > .content-container .layout-column-left,
  [data-page=home] [data-section=about] > .content-container .layout-column-right {
    align-items: stretch;
  }
  [data-page=home] [data-section=about] > .content-container .layout-column-left > *,
  [data-page=home] [data-section=about] > .content-container .layout-column-right > * {
    text-align: left;
    padding-left: 0;
    padding-right: 0;
    width: auto;
    margin-left: 0;
    margin-right: 0;
    display: block;
    max-width: none;
  }
  [data-page=home] [data-section=about] > .content-container .layout-column-left h1, [data-page=home] [data-section=about] > .content-container .layout-column-left h2, [data-page=home] [data-section=about] > .content-container .layout-column-left h3 {
    margin-bottom: 0;
  }
  [data-page=home] [data-section=about] > .content-container .layout-column-right h1, [data-page=home] [data-section=about] > .content-container .layout-column-right h2, [data-page=home] [data-section=about] > .content-container .layout-column-right h3 {
    margin-bottom: 0;
  }
}
[data-page=home] [data-section=services] > .content-container {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  align-items: center;
  justify-content: center;
  text-align: left;
  grid-template-columns: minmax(0, 290px) minmax(0, 610px);
  gap: 50px;
}
@media (min-width: 1200px) {
  [data-page=home] [data-section=services] > .content-container {
    max-width: 1140px;
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=services] > .content-container {
    max-width: 635px;
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=services] > .content-container {
    max-width: 530px;
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=services] > .content-container {
    max-width: 530px;
  }
}
[data-page=home] [data-section=services] > .content-container .layout-column-left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
[data-page=home] [data-section=services] > .content-container .layout-column-left > * {
  text-align: left;
  display: inline-block;
  max-width: 100%;
}
[data-page=home] [data-section=services] > .content-container .layout-column-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: left;
}
[data-page=home] [data-section=services] > .content-container .layout-column-right > * {
  text-align: left;
  display: inline-block;
  max-width: 100%;
}
[data-page=home] [data-section=services] > .content-container .layout-column-left h1, [data-page=home] [data-section=services] > .content-container .layout-column-left h2, [data-page=home] [data-section=services] > .content-container .layout-column-left h3 {
  margin-bottom: 0;
}
[data-page=home] [data-section=services] > .content-container .layout-column-right h1, [data-page=home] [data-section=services] > .content-container .layout-column-right h2, [data-page=home] [data-section=services] > .content-container .layout-column-right h3 {
  margin-bottom: 0;
}
@media (min-width: 1200px) {
  [data-page=home] [data-section=services] > .content-container {
    grid-template-columns: minmax(0, 300px) minmax(0, 780px);
    gap: 60px;
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=services] > .content-container {
    grid-template-columns: 1fr;
    row-gap: var(--space-heading-to-paragraph-generous-tablet);
    -moz-column-gap: 0;
         column-gap: 0;
  }
  [data-page=home] [data-section=services] > .content-container .layout-column-left,
  [data-page=home] [data-section=services] > .content-container .layout-column-right {
    align-items: stretch;
  }
  [data-page=home] [data-section=services] > .content-container .layout-column-left > *,
  [data-page=home] [data-section=services] > .content-container .layout-column-right > * {
    text-align: left;
    padding-left: 0;
    padding-right: 0;
    width: auto;
    margin-left: 0;
    margin-right: 0;
    display: block;
    max-width: none;
  }
  [data-page=home] [data-section=services] > .content-container .layout-column-left h1, [data-page=home] [data-section=services] > .content-container .layout-column-left h2, [data-page=home] [data-section=services] > .content-container .layout-column-left h3 {
    margin-bottom: 0;
  }
  [data-page=home] [data-section=services] > .content-container .layout-column-right h1, [data-page=home] [data-section=services] > .content-container .layout-column-right h2, [data-page=home] [data-section=services] > .content-container .layout-column-right h3 {
    margin-bottom: 0;
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=services] > .content-container {
    grid-template-columns: 1fr;
    row-gap: var(--space-heading-to-paragraph-generous-tablet);
    -moz-column-gap: 0;
         column-gap: 0;
  }
  [data-page=home] [data-section=services] > .content-container .layout-column-left,
  [data-page=home] [data-section=services] > .content-container .layout-column-right {
    align-items: stretch;
  }
  [data-page=home] [data-section=services] > .content-container .layout-column-left > *,
  [data-page=home] [data-section=services] > .content-container .layout-column-right > * {
    text-align: left;
    padding-left: 0;
    padding-right: 0;
    width: auto;
    margin-left: 0;
    margin-right: 0;
    display: block;
    max-width: none;
  }
  [data-page=home] [data-section=services] > .content-container .layout-column-left h1, [data-page=home] [data-section=services] > .content-container .layout-column-left h2, [data-page=home] [data-section=services] > .content-container .layout-column-left h3 {
    margin-bottom: 0;
  }
  [data-page=home] [data-section=services] > .content-container .layout-column-right h1, [data-page=home] [data-section=services] > .content-container .layout-column-right h2, [data-page=home] [data-section=services] > .content-container .layout-column-right h3 {
    margin-bottom: 0;
  }
}
[data-page=home] [data-section=contact] {
  background-color: var(--color-background-blue);
  color: var(--color-text-light);
}
[data-page=home] [data-section=contact] h1, [data-page=home] [data-section=contact] h2, [data-page=home] [data-section=contact] h3 {
  color: var(--color-accent-beige);
}
[data-page=home] [data-section=contact] > .content-container {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] [data-section=contact] > .content-container {
    max-width: 635px;
  }
}
@media (max-width: 599px) {
  [data-page=home] [data-section=contact] > .content-container {
    max-width: 530px;
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] [data-section=contact] > .content-container {
    max-width: 530px;
  }
}
[data-page=home] [data-section=contact] > .content-container > * {
  text-align: center;
}
[data-page=home] [data-section=contact] > .content-container > .button-wrapper {
  margin-top: var(--button-wrapper-margin-top);
  margin-bottom: var(--button-wrapper-margin-bottom);
}
@media (max-width: 1023px) {
  [data-page=home] [data-section=contact] > .content-container {
    align-items: stretch;
  }
  [data-page=home] [data-section=contact] > .content-container > * {
    text-align: left;
  }
  [data-page=home] [data-section=contact] > .content-container > .button-wrapper {
    text-align: center;
  }
}
[data-page=home] footer[data-section=footer-home] > .footer-content {
  max-width: var(--page-container-width-desktop);
}
@media (min-width: 1200px) {
  [data-page=home] footer[data-section=footer-home] > .footer-content {
    max-width: var(--page-container-width-l-desktop);
  }
}
@media (min-width: 600px) and (max-width: 1023px) {
  [data-page=home] footer[data-section=footer-home] > .footer-content {
    max-width: var(--page-container-width-tablet);
  }
}
@media (max-width: 599px) {
  [data-page=home] footer[data-section=footer-home] > .footer-content {
    max-width: var(--page-container-width-mobile);
  }
}
@media (max-width: 1023px) and (orientation: landscape) and (max-height: 480px) {
  [data-page=home] footer[data-section=footer-home] > .footer-content {
    max-width: var(--page-container-width-sm-landscape);
  }
}