@charset "UTF-8";
:root {
  --white: #FFFFFF;
  --black: #595757;
  --gray-dark: #888888;
  --gray: #C8C9CA;
  --gray-light: #EEEEEF;
  --orange-dark: #ED7600;
  --orange: #F29500;
  --orange-light: #F5AB00;
  --yellow-light: #F7EC92;
  --yellow-white: #FFFCDE;
  --lime-dark: #96C13B;
  --lime: #AAC836;
  --brown-dark: #6A3906;
  --brown: #804F21;
  --beige-white: #F7F6F1;
  --gradient-orange-left: linear-gradient(to left, var(--orange-light), #EBEB83);
  --gradient-orange-right: linear-gradient(to right, var(--orange-light), #EBEB83);
  --gradient-orange-bottom: linear-gradient(to bottom, var(--orange-light), #EBEB83);
  --gradient-lime-left: linear-gradient(to left, var(--lime), var(--yellow-light));
  --gradient-lime-right: linear-gradient(to right, var(--lime), var(--yellow-light));
  --gradient-lime-bottom: linear-gradient(to bottom, var(--lime), var(--yellow-light));
  --shadow-size: clamp(0.375rem, 0.104rem + 1.111vw, 0.938rem);
  --shadow-primary: 0 0 var(--shadow-size) rgb(0 113 170 / .1);
  --border-primary: var(--indigo);
  --border-secondary: var(--aqua-opacity);
  --border-tertiary: var(--gray-opacity);
  --radius-full: calc(1px / 0);
  --font-primary: var(--black);
  --family-primary: "Noto Sans JP", sans-serif;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;
  --weight-black: 900;
  --family-secondary: "Jost", sans-serif;
  --weight-secondary-semibold: 600;
  --weight-secondary-bold: 700;
  --line-height-tight: 1.2;
  --line-height-snug: 1.4;
  --line-height-default: 1.5;
  --line-height-normal: 1.75;
  --line-height-loose: 1.85;
  --line-height-relaxed: 2;
  --header-height: 80px;
  --header-height-sm: 64px;
  --spacing-xl: max(12.5vw, 64px);
  --spacing-gutter: clamp(1.25rem, -0.061rem + 5.379vw, 4rem);
  --gap-xl: clamp(1.5rem, 0.217rem + 5.263vw, 4rem);
  --gap-lg: clamp(1.25rem, 0.480rem + 3.158vw, 2.75rem);
  --gap-md: clamp(1.125rem, 0.484rem + 2.632vw, 2.375rem);
  --gap-sm: clamp(0.75rem, 0.365rem + 1.579vw, 1.5rem);
  --leading-trim: calc((1em - 1lh) / 2);
  --text-box: trim-both cap alphabetic;
}

:root {
  --icon-arrow-right: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="10.5" viewBox="0 0 14 10.5"><path d="M168.75-709.5l-1.225-1.269,3.106-3.106H160v-1.75h10.631l-3.106-3.106L168.75-720l5.25,5.25Z" transform="translate(-160 720)" fill="black"/></svg>');
  --shape-donut: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="160.899" height="160.9" viewBox="0 0 160.899 160.9"><path d="M15.45,80.45a65,65,0,1,1,65,65,65,65,0,0,1-65-65M80.45,0A80.45,80.45,0,1,0,160.9,80.45,80.45,80.45,0,0,0,80.45,0Z" fill="black"/></svg>');
  --wave-bottom-right: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1279.001" height="134.391" viewBox="0 0 1279.001 134.391"><path d="M949.208,134.891c-11.106,0-23.035-.439-35.456-1.3-11.865-.827-24.582-2.072-37.8-3.7-24.454-3.013-51.148-7.362-81.605-13.3-56.744-11.057-116.711-25.679-180.2-41.16l-.008,0c-64.209-15.657-130.6-31.847-195.4-44.593-34.979-6.881-66.328-12.152-95.836-16.115-16.027-2.153-31.666-3.927-46.481-5.273C260.853,8.031,245.661,7.04,231.272,6.5H166.915C101.724,8.261,45.734,14.637.5,25.452V.5h1279V85.7c-23.326,6.05-46.863,11.682-69.958,16.743-27.929,6.12-55.531,11.47-82.039,15.9C1061.852,129.325,1001.865,134.891,949.208,134.891Z" transform="translate(-0.5 -0.5)" fill="black"/></svg>');
  --wave-top-left: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1279.001" height="134.391" viewBox="0 0 1279.001 134.391"><path d="M948.708,134.391c-11.106,0-23.035-.439-35.456-1.3-11.865-.827-24.582-2.072-37.8-3.7-24.454-3.013-51.148-7.362-81.605-13.3-56.744-11.057-116.711-25.679-180.2-41.16l-.008,0c-64.209-15.657-130.6-31.847-195.4-44.593-34.979-6.881-66.328-12.152-95.836-16.115-16.027-2.153-31.666-3.927-46.481-5.273C260.353,7.53,245.161,6.54,230.772,6H166.415C101.224,7.76,45.234,14.137,0,24.952V0H1279V85.2c-23.326,6.05-46.863,11.682-69.958,16.743-27.929,6.12-55.531,11.47-82.039,15.9C1061.352,128.825,1001.364,134.391,948.708,134.391Z" transform="translate(1279.001 134.391) rotate(180)" fill="black"/></svg>');
  --wave-top-right: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1279.001" height="134.391" viewBox="0 0 1279.001 134.391"><path d="M948.708,0C937.6,0,925.673.439,913.252,1.3c-11.865.827-24.582,2.072-37.8,3.7C851,8.017,824.308,12.367,793.85,18.3c-56.744,11.057-116.711,25.679-180.2,41.16l-.008,0c-64.209,15.657-130.6,31.847-195.4,44.593-34.979,6.881-66.328,12.152-95.836,16.115-16.027,2.153-31.666,3.927-46.481,5.273-15.574,1.415-30.766,2.406-45.155,2.945H166.415C101.224,126.63,45.234,120.254,0,109.439v24.952H1279v-85.2c-23.326-6.05-46.863-11.682-69.958-16.743-27.929-6.12-55.531-11.47-82.039-15.9C1061.352,5.566,1001.364,0,948.708,0Z" fill="black"/></svg>');
}

/* ---------------------------
  CSS Reset
----------------------------- */
* {
  min-inline-size: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:where(html) {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

:where(body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
ol) {
  margin: 0;
}

:where(ul, ol) {
  list-style-type: "";
  padding: unset;
}

:where(a:not([class])) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

:where(a) {
  text-decoration: none;
}

:where(img, picture) {
  max-width: 100%;
  height: auto;
  display: block;
}

:where(input, button, textarea, select) {
  font: inherit;
}

:where(input[type=text], textarea) {
  font-size: 16px;
}

:where(textarea) {
  field-sizing: content;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:where(:-moz-any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:focus:not(:focus-visible) {
  outline: none;
}

:where(address) {
  font-style: normal;
}

:where(table) {
  border-collapse: collapse;
}

:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after,
  ::backdrop {
    background-attachment: scroll !important;
    transition-delay: 0s !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
body {
  background-color: var(--blue-white);
  color: var(--font-primary);
  font-size: clamp(0.875rem, 0.81rem + 0.263vw, 1rem);
  font-family: var(--family-primary);
  font-weight: var(--weight-medium);
  letter-spacing: 0;
  overflow-x: clip;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  text-autospace: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body:has(dialog[open]) {
  overflow: hidden;
}

a {
  color: var(--font-primary);
}

button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
}

fieldset {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}

legend {
  width: 100%;
  margin: 0;
  padding: 0;
}

main {
  overflow: hidden;
}

:where(:focus-visible) {
  outline-width: 3px;
  outline-offset: 0.125rem;
  outline-style: solid;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background-color: var(--white);
  transition: background-color 0.2s ease-in;
}
.header[data-page=home] {
  background-color: transparent;
}
.header[data-page=home] .header__logo img {
  filter: brightness(0) invert(1);
}
.header[data-page=home] .global-nav__item a {
  color: var(--white);
}
.header[data-page=home].is-scrolled {
  background-color: rgba(255, 255, 255, 0.9);
}
.header[data-page=home].is-scrolled .header__logo img {
  filter: none;
}
.header[data-page=home].is-scrolled .global-nav__item a {
  color: var(--orange-dark);
}

.header__wrapper {
  height: var(--header-height);
  display: flex;
  align-items: center;
  gap: 40px;
  justify-content: space-between;
  padding-left: 40px;
}
@media (max-width: 979px) {
  .header__wrapper {
    padding-left: 10px;
    height: var(--header-height-sm);
  }
}

.header__logo a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition: opacity 0.2s ease-in-out;
}
.header__logo a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .header__logo a:hover {
    opacity: 0.7;
  }
}
.header__logo img {
  width: clamp(12.5rem, 10.58rem + 7.895vw, 16.25rem);
  transition: filter 0.2s ease-in;
}
.header__logo span {
  display: none;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--orange);
  color: var(--white);
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  font-weight: var(--weight-bold);
  text-align: center;
  padding: 0.2em 1em;
  border-radius: var(--radius-full);
}
@media (max-width: 979px) {
  .header__logo span {
    display: block;
  }
}

.header__nav {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 979px) {
  .header__nav {
    display: none;
  }
}

.header__label {
  display: grid;
  place-content: center;
  height: var(--header-height);
  background-color: var(--orange-light);
  color: var(--white);
  padding: 0.2em 2em 0.3em;
  border-bottom-left-radius: 1em;
  font-size: clamp(0.75rem, 0.37rem + 1.579vw, 1.5rem);
  font-weight: var(--weight-bold);
  letter-spacing: 0.2em;
  white-space: nowrap;
}
@media (max-width: 979px) {
  .header__label {
    height: var(--header-height-sm);
  }
}

.global-nav {
  display: flex;
  align-items: center;
  gap: 32px;
}
@media (max-width: 1080px) {
  .global-nav {
    gap: 20px;
  }
}

.global-nav__item a {
  font-size: clamp(1rem, 0.94rem + 0.263vw, 1.125rem);
  font-family: var(--family-secondary);
  font-weight: var(--weight-bold);
  color: var(--orange-dark);
  transition: opacity 0.2s ease-in-out;
}
.global-nav__item a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .global-nav__item a:hover {
    opacity: 0.7;
  }
}
.global-nav__item a {
  transition: opacity 0.2s ease-in, color 0.2s ease-in;
}

.hamburger {
  display: none;
  container-type: inline-size;
  place-content: center;
  aspect-ratio: 1/1;
  width: var(--header-height);
  height: auto;
  background-color: var(--orange);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  transition: background-color 0.15s ease-in;
}
.hamburger:focus-visible {
  outline-offset: -3px;
}
@media (max-width: 979px) {
  .hamburger {
    display: grid;
    width: var(--header-height-sm);
  }
}
.hamburger:not(.hamburger--close):focus-visible {
  background-color: var(--orange-dark);
}
@media (any-hover: hover) {
  .hamburger:not(.hamburger--close):hover {
    background-color: var(--orange-dark);
  }
}
.hamburger--close {
  position: static;
  background-color: transparent;
  transition: opacity 0.2s ease-in-out;
}
.hamburger--close:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .hamburger--close:hover {
    opacity: 0.7;
  }
}
.hamburger--close .hamburger__inner {
  position: relative;
}
.hamburger--close .hamburger__inner span {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  height: 3px;
  width: 80%;
  transform-origin: center;
  background-color: var(--black);
}
.hamburger--close .hamburger__inner span:first-child {
  rotate: 45deg;
}
.hamburger--close .hamburger__inner span:last-child {
  rotate: -45deg;
}

.hamburger__inner {
  display: flex;
  flex-direction: column;
  gap: 7px;
  width: 50cqw;
  height: 100%;
}
.hamburger__inner span {
  display: block;
  width: 100%;
  height: 3px;
  background-color: var(--white);
}

.folded-nav {
  position: fixed;
  width: 100%;
  top: 0;
  right: 0;
  max-width: 480px;
  margin-left: auto;
  margin-right: 0;
  background-color: var(--beige-white);
  transition: opacity 0.2s ease-out, translate 0.2s ease-out;
}
@media (max-width: 599px) {
  .folded-nav {
    max-width: 100%;
  }
}
.folded-nav[open] {
  display: block;
  translate: 0 0;
}
.folded-nav:not(.is-open) {
  translate: 100% 0;
  opacity: 0;
}
.folded-nav:not(.is-open) .folded-nav__inner {
  opacity: 0;
}
.folded-nav::backdrop {
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(4px);
  transition: opacity 0.2s ease-out;
}
.folded-nav:not(.is-open)::backdrop {
  opacity: 0;
}

.folded-nav__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 32px;
  overflow: auto;
  overscroll-behavior: contain;
  padding-bottom: 80px;
}

.folded-nav__head {
  height: var(--header-height);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 10px;
}
@media (max-width: 979px) {
  .folded-nav__head {
    height: var(--header-height-sm);
  }
}
.folded-nav__head a {
  display: flex;
  align-items: center;
  gap: 8px;
  transition: opacity 0.2s ease-in-out;
}
.folded-nav__head a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .folded-nav__head a:hover {
    opacity: 0.7;
  }
}
.folded-nav__head a span {
  display: none;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--orange);
  color: var(--white);
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  font-weight: var(--weight-bold);
  text-align: center;
  padding: 0.2em 1em;
  border-radius: var(--radius-full);
}
@media (max-width: 979px) {
  .folded-nav__head a span {
    display: block;
  }
}
.folded-nav__head a img {
  width: clamp(12.5rem, 10.58rem + 7.895vw, 16.25rem);
}

.folded-nav__body {
  padding: 0 var(--spacing-gutter);
}

.folded-nav__list li {
  border-bottom: 1px solid #dddddd;
}
.folded-nav__list li:first-child {
  border-top: 1px solid #dddddd;
}
.folded-nav__list a {
  display: block;
  padding: 1em 1em 1.1em;
  font-size: clamp(0.75rem, 0.69rem + 0.263vw, 0.875rem);
  font-weight: var(--weight-bold);
  position: relative;
  transition: opacity 0.2s ease-in-out;
}
.folded-nav__list a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .folded-nav__list a:hover {
    opacity: 0.7;
  }
}
.folded-nav__list a::after {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 14/11;
  -webkit-mask-image: var(--icon-arrow-right);
          mask-image: var(--icon-arrow-right);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: var(--black);
  position: absolute;
  top: 50%;
  right: 1em;
  translate: 0 -50%;
  z-index: 10;
}
.folded-nav__list span {
  display: block;
  font-size: clamp(1.5rem, 1.24rem + 1.053vw, 2rem);
  font-family: var(--family-secondary);
  font-weight: var(--weight-secondary-bold);
  letter-spacing: 0.05em;
  color: var(--orange-dark);
}

.folded-nav__foot {
  width: calc(100% - 60px);
  margin-inline: auto;
  padding-top: 28px;
  border-top: 1px solid var(--border-secondary);
}
.folded-nav__foot a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  transition: opacity 0.2s ease-in-out;
}
.folded-nav__foot a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .folded-nav__foot a:hover {
    opacity: 0.7;
  }
}

.using-mouse dialog * {
  outline: none;
}
.using-mouse .hamburger {
  outline: none;
}

.footer {
  background-image: var(--gradient-orange-right);
  padding: clamp(2.5rem, 1.73rem + 3.158vw, 4rem) 0;
}

.footer__logo img {
  width: clamp(12.5rem, 6.09rem + 26.316vw, 25rem);
}
@media (max-width: 599px) {
  .footer__logo img {
    margin-inline: auto;
  }
}

.c-btn-main {
  --_shadow-color: rgb(120 162 48 / .7);
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  text-align: center;
  font-size: clamp(1.125rem, 0.87rem + 1.053vw, 1.625rem);
  font-weight: var(--weight-bold);
  color: var(--white);
  letter-spacing: 0.05em;
  padding: 0.4em 2.4em;
  border: 3px solid var(--white);
  border-radius: var(--radius-full);
  background-image: linear-gradient(to bottom, var(--lime), var(--yellow-light));
  box-shadow: 0.23em 0.23em 0 var(--_shadow-color);
  transition: box-shadow 0.2s ease-in, translate 0.2s ease-in;
}
.c-btn-main:focus-visible {
  box-shadow: 0 0 0 var(--_shadow-color);
  translate: 0.23em 0.23em;
}
@media (any-hover: hover) {
  .c-btn-main:hover {
    box-shadow: 0 0 0 var(--_shadow-color);
    translate: 0.23em 0.23em;
  }
}

.c-btn-border {
  display: block;
  max-width: clamp(12.5rem, 7.69rem + 19.737vw, 21.875rem);
  border: 3px solid var(--orange-dark);
  border-radius: var(--radius-full);
  background-color: var(--white);
  padding: 0.3em 1em 0.4em;
  font-size: clamp(0.875rem, 0.68rem + 0.789vw, 1.25rem);
  font-weight: var(--weight-black);
  text-align: center;
  letter-spacing: 0.1em;
  color: var(--orange-dark);
  transition: opacity 0.2s ease-in-out;
}
.c-btn-border:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .c-btn-border:hover {
    opacity: 0.7;
  }
}
.c-btn-border::after {
  content: "→";
  font-size: 1em;
  display: inline-block;
  margin-left: 1em;
}

.c-hgroup {
  position: relative;
  z-index: 999;
}
.c-hgroup h2, .c-hgroup h1 {
  font-size: clamp(3.875rem, 1.89rem + 8.158vw, 7.75rem);
  font-family: var(--family-secondary);
  font-weight: var(--weight-secondary-bold);
  line-height: 1;
}
.c-hgroup p {
  font-size: clamp(1.125rem, 0.55rem + 2.368vw, 2.25rem);
  font-weight: var(--weight-bold);
  letter-spacing: 0.2em;
}
.c-hgroup[data-color=white] {
  color: var(--white);
}
.c-hgroup[data-color=orange] {
  color: var(--orange);
}
.c-hgroup[data-color=lime] {
  color: var(--lime-dark);
}
.c-hgroup[data-mb=md] {
  margin-bottom: clamp(2.5rem, 1.22rem + 5.263vw, 5rem);
}

.c-headline-dots {
  font-size: clamp(1.75rem, 0.85rem + 3.684vw, 3.5rem);
  font-weight: var(--weight-black);
  color: var(--orange);
  text-align: center;
  letter-spacing: 0.1em;
}
.c-headline-dots[data-color=orange] {
  color: var(--orange);
}
.c-headline-dots[data-color=lime] {
  color: var(--lime-dark);
}
.c-headline-dots::after {
  content: "";
  display: block;
  width: clamp(7.5rem, 3.01rem + 18.421vw, 16.25rem);
  aspect-ratio: 340/20;
  margin-inline: auto;
  background-image: url(../img/common/dots.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: clamp(1.25rem, 0.61rem + 2.632vw, 2.5rem);
}

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

.c-donut {
  position: absolute;
  display: block;
  aspect-ratio: 1/1;
  -webkit-mask-image: var(--shape-donut);
          mask-image: var(--shape-donut);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.c-circle {
  position: absolute;
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.c-dots-ring {
  position: absolute;
  display: block;
  aspect-ratio: 1/1;
  animation: rotation 40s linear infinite;
}
.c-dots-ring img {
  width: 100%;
}

@keyframes rotation {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 360deg;
  }
}
.u-sm-only {
  display: none;
}
@media (max-width: 599px) {
  .u-sm-only {
    display: block;
  }
}

@media (max-width: 599px) {
  br.u-sm-only {
    display: inline;
  }
}

.u-md-only {
  display: none;
}
@media (max-width: 979px) {
  .u-md-only {
    display: block;
  }
}

@media (max-width: 979px) {
  br.u-md-only {
    display: inline;
  }
}

.u-sm-none {
  display: block;
}
@media (max-width: 599px) {
  .u-sm-none {
    display: none;
  }
}

br.u-sm-none {
  display: inline;
}
@media (max-width: 599px) {
  br.u-sm-none {
    display: none;
  }
}

.u-md-none {
  display: block;
}
@media (max-width: 979px) {
  .u-md-none {
    display: none;
  }
}

br.u-md-none {
  display: inline;
}
@media (max-width: 979px) {
  br.u-md-none {
    display: none;
  }
}

.u-wrapper {
  margin-inline: auto;
  max-width: calc(1080px + var(--spacing-gutter) * 2);
  padding-left: var(--spacing-gutter);
  padding-right: var(--spacing-gutter);
}
@media (min-width: 1281px) {
  .u-wrapper {
    max-width: 84.31vw;
    padding-left: 0;
    padding-right: 0;
  }
}

.u-inner {
  max-width: 1080px;
  margin-inline: auto;
}

.u-gutter {
  padding-left: var(--spacing-gutter-sm);
  padding-right: var(--spacing-gutter-sm);
}
@media (max-width: 979px) {
  .u-gutter {
    padding-left: 0;
    padding-right: 0;
  }
}

.u-visually-hidden {
  position: fixed !important;
  inset: 0 !important;
  contain: strict !important;
  visibility: initial !important;
  inline-size: 4px !important;
  block-size: 4px !important;
  margin: unset !important;
  padding: unset !important;
  border: unset !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.top-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  background-color: #f2f2f2;
}
@media (max-width: 599px) {
  .top-hero {
    height: 100%;
    aspect-ratio: 1/1;
  }
}
.top-hero video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-hero__logo {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: grid;
  place-content: center;
}
.top-hero__logo img {
  width: clamp(16.25rem, 6.63rem + 39.474vw, 35rem);
  padding-top: calc(var(--header-height-sm) / 2);
}

.top-intro-section {
  position: relative;
  padding: clamp(5rem, 1.15rem + 15.789vw, 12.5rem) 0;
  background-image: linear-gradient(to bottom, var(--orange), #EED352);
  position: relative;
  z-index: 100;
}
.top-intro-section::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1280/134.5;
  background-color: #EED352;
  -webkit-mask-image: var(--wave-bottom-right);
          mask-image: var(--wave-bottom-right);
  -webkit-mask-position: center bottom;
          mask-position: center bottom;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  translate: 0 99%;
}

.top-intro-text {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.top-intro-text p {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: clamp(1.0625rem, 0.58rem + 1.974vw, 2rem);
  font-weight: var(--weight-black);
  color: var(--white);
  text-align: center;
  line-height: 4;
}
@media (max-width: 599px) {
  .top-intro-text p {
    line-height: 2.5;
  }
}
.top-intro-text span {
  display: inline-block;
}
@media (max-width: 599px) {
  .top-intro-text span {
    opacity: 1 !important;
    transform: none !important;
  }
}

.top-intro-deco-1 {
  width: clamp(8.125rem, -2.46rem + 43.421vw, 28.75rem);
  top: 0;
  left: 0;
  translate: -60% -25%;
  z-index: 100;
}
@media (max-width: 599px) {
  .top-intro-deco-1 {
    translate: -60% -45%;
  }
}

.top-intro-deco-2 {
  width: clamp(7.5rem, -1.8rem + 38.158vw, 25.625rem);
  bottom: 0;
  right: 0;
  translate: 50% -10%;
}

.top-intro-deco-3 {
  width: clamp(3.5rem, 0.68rem + 11.579vw, 9rem);
  bottom: 0;
  left: 0;
  translate: -70% 40%;
}

.top-works-section {
  position: relative;
  padding-top: clamp(4rem, 2.85rem + 4.737vw, 6.25rem);
  padding-bottom: clamp(5.5rem, 3.19rem + 9.474vw, 10rem);
  background-image: url(../img/common/bg_mesh.png);
  background-size: 100%;
  background-repeat: repeat;
  background-position: center;
}
@media (min-width: 1281px) {
  .top-works-section {
    padding-top: 7.8vw;
    padding-bottom: 12.5vw;
  }
}
@media (max-width: 599px) {
  .top-works-section {
    background-size: 200%;
  }
}
.top-works-section .c-btn-main {
  margin-top: clamp(2.5rem, 1.22rem + 5.263vw, 5rem);
}

.top-works-deco-1 {
  width: clamp(5rem, 2.43rem + 10.526vw, 10rem);
  background-image: var(--gradient-orange-right);
  z-index: 200;
  top: clamp(1.25rem, -1.32rem + 10.526vw, 6.25rem);
  right: 20%;
}
@media (max-width: 599px) {
  .top-works-deco-1 {
    right: 15%;
  }
}

.top-works-deco-2 {
  width: clamp(4rem, 0.92rem + 12.632vw, 10rem);
  background-image: var(--gradient-lime-right);
  z-index: 200;
  top: 55%;
  left: 0;
  translate: -55% 0;
}
@media (max-width: 599px) {
  .top-works-deco-2 {
    display: none;
  }
}

.top-works-deco-3 {
  width: clamp(7.5rem, 1.73rem + 23.684vw, 18.75rem);
  background-image: var(--gradient-lime-left);
  z-index: 200;
  bottom: 0;
  right: 0;
  translate: -10% 20%;
}
@media (max-width: 599px) {
  .top-works-deco-3 {
    translate: -10% 70%;
  }
}

.top-team-section {
  padding-top: 40px;
  padding-bottom: clamp(6.25rem, 2.4rem + 15.789vw, 13.75rem);
  background-color: var(--beige-white);
  position: relative;
}
.top-team-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1280/134.5;
  background-color: var(--beige-white);
  -webkit-mask-image: var(--wave-top-left);
          mask-image: var(--wave-top-left);
  -webkit-mask-position: center top;
          mask-position: center top;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  translate: 0 -99%;
}

.top-team {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  min-height: 536px;
  position: relative;
  z-index: 100;
}
@media (max-width: 1080px) {
  .top-team {
    min-height: auto;
  }
}
@media (max-width: 979px) {
  .top-team {
    grid-template-columns: 1fr;
  }
}

.top-team__img {
  position: relative;
}
.top-team__img img {
  position: absolute;
  top: 0;
  right: 0;
  width: 132%;
  max-width: inherit;
}
@media (min-width: 1281px) {
  .top-team__img img {
    width: 713px;
  }
}
@media (min-width: 1690px) {
  .top-team__img img {
    position: static;
    width: 100%;
  }
}
@media (max-width: 979px) {
  .top-team__img img {
    position: static;
    width: 117%;
    translate: -15% 0;
  }
}

.top-team__content {
  order: 1;
  padding-left: 50px;
  position: relative;
}
@media (max-width: 979px) {
  .top-team__content {
    padding-left: 0;
  }
}
.top-team__content h3 {
  font-size: clamp(1.625rem, 0.73rem + 3.684vw, 3.375rem);
  font-weight: var(--weight-black);
  letter-spacing: 0.2em;
  color: var(--brown);
  margin-bottom: 0.5em;
}
@media (max-width: 979px) {
  .top-team__content h3 {
    margin-top: 1em;
  }
}
.top-team__content p:not([class]) {
  font-size: clamp(0.875rem, 0.62rem + 1.053vw, 1.375rem);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-relaxed);
  letter-spacing: 0.05em;
  color: var(--brown-dark);
  text-align: justify;
}
@media (max-width: 599px) {
  .top-team__content p:not([class]) {
    line-height: var(--line-height-loose);
    letter-spacing: 0;
  }
}

.top-team[data-direction=reverse] .top-team__img img {
  left: 0;
}
@media (max-width: 979px) {
  .top-team[data-direction=reverse] .top-team__img img {
    translate: 0 0;
  }
}
.top-team[data-direction=reverse] .top-team__content {
  order: inherit;
  padding-left: 0;
  padding-right: 50px;
}
@media (max-width: 979px) {
  .top-team[data-direction=reverse] .top-team__content {
    order: 1;
    padding-right: 0;
  }
}

.top-team-typo {
  font-size: clamp(4rem, 1.56rem + 10vw, 8.75rem);
  font-family: var(--family-secondary);
  font-weight: var(--weight-secondary-bold);
  color: var(--white);
  white-space: nowrap;
  line-height: 1;
  margin-top: 0.2em;
}
@media (max-width: 979px) {
  .top-team-typo {
    margin-top: 0;
    position: absolute;
    top: 0;
    right: 0;
    translate: 0 -47%;
    z-index: 100;
  }
}

.top-team-separator {
  position: relative;
  padding: 48px 0;
}
@media (min-width: 1281px) {
  .top-team-separator {
    padding: 3.75vw 0;
  }
}
.top-team-separator img {
  width: 100%;
}

.top-team-deco-1 {
  background-image: var(--gradient-orange-right);
  bottom: 0;
  left: 0;
  width: clamp(12.5rem, 5.44rem + 28.947vw, 26.25rem);
  translate: -70% 25%;
}

.top-team-deco-2 {
  background-image: var(--gradient-orange-right);
  width: clamp(5rem, 2.43rem + 10.526vw, 10rem);
  top: 0;
  right: 2%;
  translate: 0 -16%;
}
@media (max-width: 599px) {
  .top-team-deco-2 {
    translate: 0 14%;
  }
}

.top-team-deco-3 {
  bottom: 0;
  left: 4%;
  width: clamp(5rem, 2.43rem + 10.526vw, 10rem);
  background-image: var(--gradient-lime-left);
  translate: 0 20%;
  z-index: 100;
}

.top-int-section {
  padding-top: clamp(4rem, 2.2rem + 7.368vw, 7.5rem);
  padding-bottom: clamp(6.25rem, 2.4rem + 15.789vw, 13.75rem);
  background-color: var(--yellow-white);
  position: relative;
}
.top-int-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1280/134.5;
  background-color: var(--yellow-white);
  -webkit-mask-image: var(--wave-top-right);
          mask-image: var(--wave-top-right);
  -webkit-mask-position: center top;
          mask-position: center top;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  translate: 0 -99%;
}

.top-int {
  display: grid;
  gap: 32px 40px;
  position: relative;
}
@media (min-width: 1590px) {
  .top-int {
    align-items: center;
  }
}
@media (max-width: 599px) {
  .top-int {
    gap: 24px;
  }
}

.top-int__img {
  position: relative;
}
.top-int__img img {
  max-width: inherit;
  position: absolute;
  width: 125%;
}
@media (min-width: 1281px) {
  .top-int__img img {
    width: 620px;
  }
}
@media (min-width: 1590px) {
  .top-int__img img {
    width: 100%;
    position: static;
    translate: 0 0 !important;
  }
}
@media (max-width: 979px) {
  .top-int__img img {
    position: static;
    width: 115%;
  }
}

.top-int__content {
  position: relative;
}
.top-int__content h3 {
  position: relative;
  font-size: clamp(1.375rem, 0.73rem + 2.632vw, 2.625rem);
  font-weight: var(--weight-black);
  line-height: var(--line-height-snug);
  color: var(--orange);
  margin-bottom: 0.8em;
}
@media (max-width: 1210px) {
  .top-int__content h3 br {
    display: none;
  }
}
@media (max-width: 599px) {
  .top-int__content h3 br {
    display: inline;
  }
}

.top-int__text {
  position: relative;
  font-size: clamp(0.875rem, 0.65rem + 0.921vw, 1.3125rem);
  font-weight: var(--weight-bold);
  line-height: var(--line-height-relaxed);
  color: var(--brown-dark);
}

.top-int__meta {
  position: relative;
  display: flex;
  align-items: baseline;
  font-size: clamp(1.25rem, 0.74rem + 2.105vw, 2.25rem);
  font-weight: var(--weight-black);
  letter-spacing: 0.1em;
  color: var(--brown-dark);
  margin-top: 0.6em;
}
.top-int__meta span {
  font-size: clamp(0.75rem, 0.62rem + 0.526vw, 1rem);
  font-weight: var(--weight-regular);
  letter-spacing: 0;
}

.top-int[data-format=primary] {
  padding-top: 9.6vw;
  grid-template-columns: 1fr 1.1fr;
}
@media (min-width: 1590px) {
  .top-int[data-format=primary] {
    padding-top: 0;
  }
}
@media (max-width: 979px) {
  .top-int[data-format=primary] {
    grid-template-columns: 1fr;
    padding-top: 0;
  }
}
.top-int[data-format=primary] .top-int__img {
  order: -1;
}
.top-int[data-format=primary] .top-int__img img {
  top: 0;
  right: 0;
  translate: 0 -20%;
}
@media (max-width: 979px) {
  .top-int[data-format=primary] .top-int__img img {
    translate: -13% 0;
  }
}

.top-int[data-format=secondary] {
  margin-top: clamp(5rem, -2.06rem + 28.947vw, 18.75rem);
  padding-bottom: 9.6vw;
  grid-template-columns: 1.1fr 1fr;
}
@media (min-width: 1590px) {
  .top-int[data-format=secondary] {
    margin-top: 180px;
    padding-bottom: 0;
  }
}
@media (max-width: 979px) {
  .top-int[data-format=secondary] {
    grid-template-columns: 1fr;
    padding-bottom: 0;
  }
}
@media (max-width: 979px) {
  .top-int[data-format=secondary] .top-int__img {
    order: -1;
  }
}
.top-int[data-format=secondary] .top-int__img img {
  bottom: 0;
  left: 0;
  translate: 0 20%;
}
@media (max-width: 979px) {
  .top-int[data-format=secondary] .top-int__img img {
    translate: 0 0;
  }
}

.top-int[data-format=tertiary] {
  margin-top: clamp(5rem, -0.13rem + 21.053vw, 15rem);
  padding-bottom: 9.6vw;
  grid-template-columns: 1fr 1.1fr;
}
@media (min-width: 1590px) {
  .top-int[data-format=tertiary] {
    padding-bottom: 0;
  }
}
@media (max-width: 979px) {
  .top-int[data-format=tertiary] {
    grid-template-columns: 1fr;
    padding-bottom: 0;
  }
}
.top-int[data-format=tertiary] .top-int__img {
  order: -1;
}
.top-int[data-format=tertiary] .top-int__img img {
  bottom: 0;
  right: 0;
  translate: 0 20%;
}
@media (max-width: 979px) {
  .top-int[data-format=tertiary] .top-int__img img {
    translate: -13% 0;
  }
}

.top-int-deco-1 {
  background-image: var(--gradient-lime-right);
  width: clamp(9.375rem, -3.77rem + 53.947vw, 35rem);
  top: 0;
  right: 0;
  z-index: 100;
  translate: 20% -36%;
}
@media (max-width: 599px) {
  .top-int-deco-1 {
    translate: 20% -53%;
  }
}

.top-int-deco-2 {
  background-image: var(--gradient-orange-right);
  width: clamp(6.25rem, 3.84rem + 9.868vw, 10.9375rem);
  top: 0;
  right: 5%;
  z-index: 100;
  translate: 0 -57%;
}
@media (min-width: 1590px) {
  .top-int-deco-2 {
    translate: 0 10%;
  }
}
@media (max-width: 979px) {
  .top-int-deco-2 {
    right: 0;
    translate: 0 30%;
  }
}

.top-int-deco-3 {
  background-image: var(--gradient-orange-left);
  bottom: 0;
  right: 0;
  width: clamp(10.625rem, 5.17rem + 22.368vw, 21.25rem);
  translate: 60% 25%;
}
@media (max-width: 979px) {
  .top-int-deco-3 {
    translate: 60% 40%;
  }
}

.top-int-deco-4 {
  background-image: var(--gradient-orange-right);
  top: 0;
  left: 0;
  width: clamp(12.5rem, 5.44rem + 28.947vw, 26.25rem);
  translate: -80% -54%;
}
@media (max-width: 979px) {
  .top-int-deco-4 {
    translate: -80% -34%;
  }
}

.top-int-deco-5 {
  background-image: var(--gradient-orange-left);
  bottom: 0;
  right: 0;
  width: clamp(4.625rem, 2.25rem + 9.737vw, 9.25rem);
  translate: 20% 110%;
}
@media (max-width: 979px) {
  .top-int-deco-5 {
    translate: 0% 70%;
  }
}

.top-int-deco-6 {
  background-image: var(--gradient-lime-left);
  bottom: 0;
  left: 0;
  width: clamp(7.5rem, 3.39rem + 16.842vw, 15.5rem);
  translate: -68% 43%;
  z-index: 100;
}
@media (min-width: 1590px) {
  .top-int-deco-6 {
    translate: -10% 30%;
  }
}
@media (max-width: 979px) {
  .top-int-deco-6 {
    display: none;
  }
}

.top-int-deco-7 {
  display: none;
  background-image: var(--gradient-lime-left);
  bottom: 0;
  right: 0;
  width: clamp(7.5rem, 3.39rem + 16.842vw, 15.5rem);
  translate: 10% 10%;
}
@media (max-width: 979px) {
  .top-int-deco-7 {
    display: block;
  }
}

.top-data-section {
  padding-top: clamp(4rem, 2.2rem + 7.368vw, 7.5rem);
  padding-bottom: clamp(5rem, 2.43rem + 10.526vw, 10rem);
  background-color: var(--beige-white);
  position: relative;
}
.top-data-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1280/134.5;
  background-color: var(--beige-white);
  -webkit-mask-image: var(--wave-top-right);
          mask-image: var(--wave-top-right);
  -webkit-mask-position: center top;
          mask-position: center top;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  translate: 0 -99%;
}

.top-data {
  --_gap: 40px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1rem, -1.05rem + 8.421vw, 5rem) 0;
  margin-left: calc(-1 * var(--_gap));
}
@media (max-width: 979px) {
  .top-data {
    gap: 16px;
  }
}
.top-data .top-data__item {
  padding-left: var(--_gap);
}
.top-data .top-data__item[data-width=lg] {
  width: 60%;
}
@media (max-width: 979px) {
  .top-data .top-data__item[data-width=lg] {
    width: 100%;
  }
}
.top-data .top-data__item[data-width=md] {
  width: 50%;
}
@media (max-width: 979px) {
  .top-data .top-data__item[data-width=md] {
    width: 100%;
  }
}
.top-data .top-data__item[data-width=sm] {
  width: 40%;
}
@media (max-width: 979px) {
  .top-data .top-data__item[data-width=sm] {
    width: 100%;
  }
}
.top-data .top-data__item[data-width=xs] {
  width: 33.3%;
}
@media (max-width: 979px) {
  .top-data .top-data__item[data-width=xs] {
    width: 100%;
  }
}

@media (max-width: 979px) {
  .top-data__item {
    width: 100%;
    padding-left: 0;
  }
}

.top-data-box {
  background-color: var(--white);
  border-radius: 24px;
  height: 100%;
  min-height: clamp(10rem, 7.11rem + 11.842vw, 15.625rem);
  padding: 28px 10px 20px;
  text-align: center;
}
.top-data-box figure img {
  margin-inline: auto;
  margin-top: clamp(1rem, 0.87rem + 0.526vw, 1.25rem);
  width: clamp(6.25rem, 4rem + 9.211vw, 10.625rem);
}
@media (max-width: 979px) {
  .top-data-box figure img {
    width: 150px;
  }
}
.top-data-box h3 {
  font-size: clamp(1.125rem, 0.8rem + 1.316vw, 1.75rem);
  font-weight: var(--weight-bold);
  color: var(--brown);
  text-align: center;
  margin-bottom: 0.4em;
}

.top-data-value-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 56px;
}

.top-data-value {
  display: flex;
  justify-content: center;
  align-items: baseline;
  white-space: nowrap;
  gap: 4px;
  color: var(--orange-dark);
}

.top-data-value__number {
  font-size: clamp(4rem, 2.2rem + 7.368vw, 7.5rem);
  font-family: var(--family-secondary);
  font-weight: var(--weight-secondary-semibold);
  letter-spacing: -0.05em;
  line-height: 1.1;
}
.top-data-value__number[data-condensed=true] {
  margin-inline: -0.2em;
  transform-origin: center;
  scale: 0.75 1;
}
@media (max-width: 979px) {
  .top-data-value__number[data-condensed=true] {
    margin-inline: 0;
    scale: 1;
  }
}
.top-data-value__number[data-size=sm] {
  font-size: clamp(2.5rem, 1.22rem + 5.263vw, 5rem);
}

.top-data-value__unit {
  font-size: clamp(1.125rem, 0.16rem + 3.947vw, 3rem);
  font-weight: var(--weight-bold);
  color: var(--orange-dark);
}
.top-data-value__unit[data-size=sm] {
  font-size: clamp(0.875rem, 0.3rem + 2.368vw, 2rem);
}

.top-data-value-detail {
  display: flex;
  align-items: baseline;
  gap: 24px;
}
.top-data-value-detail dt {
  font-size: clamp(0.875rem, 0.68rem + 0.789vw, 1.25rem);
  font-weight: var(--weight-bold);
  color: var(--orange-dark);
  text-align: center;
  translate: 0 30%;
}

.top-data-notice {
  font-size: clamp(0.75rem, 0.62rem + 0.526vw, 1rem);
  font-weight: var(--weight-bold);
  color: var(--gray-dark);
  text-align: center;
  margin-top: 1.2em;
}

.top-data-deco-1 {
  background-image: var(--gradient-lime-right);
  top: -15vw;
  right: 25%;
  width: clamp(8.75rem, 4.26rem + 18.421vw, 17.5rem);
  z-index: 100;
}
@media (max-width: 979px) {
  .top-data-deco-1 {
    top: -20vw;
    right: 6%;
  }
}

.top-data-deco-2 {
  background-image: var(--gradient-lime-left);
  bottom: 0;
  left: 0;
  translate: -27% 40%;
  width: clamp(12.5rem, 6.25rem + 25.658vw, 24.6875rem);
}

.top-data-deco-3 {
  background-image: var(--gradient-orange-right);
  top: 34%;
  right: 0;
  translate: 20% 0;
  width: clamp(13.125rem, 6.39rem + 27.632vw, 26.25rem);
}
@media (max-width: 979px) {
  .top-data-deco-3 {
    display: none;
  }
}

.top-data-deco-4 {
  background-image: var(--gradient-orange-right);
  top: 10%;
  right: 4%;
  width: clamp(4rem, 0.92rem + 12.632vw, 10rem);
}
@media (max-width: 979px) {
  .top-data-deco-4 {
    top: 6%;
  }
}

.top-recruit-section {
  position: relative;
}

.top-recruit-head {
  padding-top: clamp(2.75rem, 1.6rem + 4.737vw, 5rem);
  padding-bottom: clamp(3.5rem, 2.09rem + 5.789vw, 6.25rem);
  background-image: var(--gradient-orange-right);
}

.top-recruit-body {
  padding-top: clamp(4rem, 2.2rem + 7.368vw, 7.5rem);
  padding-bottom: clamp(5rem, 2.43rem + 10.526vw, 10rem);
  background-image: url(../img/common/bg_mesh.png);
  background-size: 100%;
  background-repeat: repeat;
  background-position: center;
}
@media (max-width: 599px) {
  .top-recruit-body {
    background-size: 200%;
  }
}

.top-recruit-headline {
  font-size: clamp(1.375rem, 0.8rem + 2.368vw, 2.5rem);
  font-weight: var(--weight-black);
  color: var(--orange-dark);
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 1.5em;
  margin-top: 2em;
}

.top-recruit-list {
  display: grid;
  grid-template-columns: 2.4fr 7.2fr;
  gap: 0;
}
@media (max-width: 599px) {
  .top-recruit-list {
    grid-template-columns: 1fr;
  }
}
.top-recruit-list dt, .top-recruit-list dd {
  line-height: var(--line-height-loose);
  height: 100%;
  padding: 1.5em;
  border-top: 1px solid var(--gray);
}
@media (max-width: 599px) {
  .top-recruit-list dt, .top-recruit-list dd {
    padding-left: 0;
    padding-right: 0;
  }
}
.top-recruit-list dt {
  font-size: clamp(0.875rem, 0.75rem + 0.526vw, 1.125rem);
  font-weight: var(--weight-black);
  color: var(--orange-dark);
  padding-left: 2em;
}
@media (max-width: 599px) {
  .top-recruit-list dt {
    padding-left: 0;
    padding-bottom: 0.6em;
  }
}
.top-recruit-list dt:last-of-type {
  border-bottom: 1px solid var(--gray);
}
@media (max-width: 599px) {
  .top-recruit-list dt:last-of-type {
    border-bottom: none;
  }
}
.top-recruit-list dd {
  font-size: clamp(0.875rem, 0.75rem + 0.526vw, 1.125rem);
}
@media (max-width: 599px) {
  .top-recruit-list dd {
    border-top: none;
    padding-top: 0;
  }
}
.top-recruit-list dd:last-of-type {
  border-bottom: 1px solid var(--gray);
}
.top-recruit-list ul {
  list-style: disc;
  padding-left: 1.2em;
}
.top-recruit-list .c-btn-border {
  margin-top: clamp(0.875rem, 0.55rem + 1.316vw, 1.5rem);
  margin-bottom: 0.2em;
}
.top-recruit-list + .c-btn-main {
  margin-top: clamp(2rem, 0.97rem + 4.211vw, 4rem);
}

.p-header {
  position: relative;
}
@media (max-width: 979px) {
  .p-header {
    margin-top: var(--header-height-sm);
  }
}

.p-header__head {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
}
.p-header__head h1, .p-header__head p {
  --_shadow: 0 0 0.4em var(--white);
  color: var(--lime-dark);
  text-align: center;
  text-shadow: var(--_shadow), var(--_shadow), var(--_shadow), var(--_shadow), var(--_shadow), var(--_shadow), var(--_shadow), var(--_shadow), var(--_shadow), var(--_shadow);
}
.p-header__head h1 {
  font-size: clamp(3.75rem, 1.83rem + 7.895vw, 7.5rem);
  font-family: var(--family-secondary);
  font-weight: var(--weight-secondary-bold);
  line-height: 1;
  padding-top: 0.5em;
}
@media (max-width: 979px) {
  .p-header__head h1 {
    padding-top: 0;
  }
}
.p-header__head p {
  font-size: clamp(1.125rem, 0.42rem + 2.895vw, 2.5rem);
  color: var(--lime-dark);
  font-weight: var(--weight-bold);
}

.p-header__bg img {
  width: 100%;
}

.error-404 {
  margin-top: var(--header-height);
  padding-top: clamp(2.5rem, 1.22rem + 5.263vw, 5rem);
  padding-bottom: clamp(5rem, 2.43rem + 10.526vw, 10rem);
  background-image: url(../img/common/bg_mesh.png);
  background-size: 100%;
  background-repeat: repeat;
  background-position: center;
  min-height: 74vh;
}
@media (max-width: 979px) {
  .error-404 {
    margin-top: var(--header-height-sm);
  }
}

.error-404-content p {
  line-height: var(--line-height-relaxed);
}
.error-404-content .c-btn-main {
  margin-right: auto;
  margin-left: 0;
  margin-top: 2em;
}

.works-article a {
  display: block;
  color: var(--brown-dark);
  transition: opacity 0.2s ease-in-out;
}
.works-article a:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .works-article a:hover {
    opacity: 0.7;
  }
}

.works-article__thumbnail {
  margin-bottom: 10px;
}
.works-article__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 333/186;
}

.works-article__cat {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2em 0.8em;
  font-size: clamp(0.6875rem, 0.66rem + 0.132vw, 0.75rem);
  padding-left: 1.1em;
}
.works-article__cat li {
  font-size: clamp(0.6875rem, 0.66rem + 0.132vw, 0.75rem);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
}
.works-article__cat li::before {
  content: "#";
  font-size: 1em;
}

.works-article__title {
  font-size: clamp(1rem, 0.81rem + 0.789vw, 1.375rem);
  font-weight: var(--weight-bold);
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 0.6em;
}

.works-posts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(2.5rem, 1.22rem + 5.263vw, 5rem) 40px;
}
@media (max-width: 979px) {
  .works-posts {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 599px) {
  .works-posts {
    grid-template-columns: 1fr;
  }
}

.works-archive {
  margin-top: var(--header-height);
  padding-top: clamp(2.5rem, 1.22rem + 5.263vw, 5rem);
  padding-bottom: clamp(5rem, 2.43rem + 10.526vw, 10rem);
  background-image: url(../img/common/bg_mesh.png);
  background-size: 100%;
  background-repeat: repeat;
  background-position: center;
}
@media (max-width: 979px) {
  .works-archive {
    margin-top: var(--header-height-sm);
  }
}

.works-single {
  margin-top: var(--header-height);
  padding-top: clamp(2.5rem, 1.22rem + 5.263vw, 5rem);
  padding-bottom: clamp(5rem, 2.43rem + 10.526vw, 10rem);
  background-image: url(../img/common/bg_mesh.png);
  background-size: 100%;
  background-repeat: repeat;
  background-position: center;
}
@media (max-width: 979px) {
  .works-single {
    margin-top: var(--header-height-sm);
  }
}

.works-single-header {
  margin-bottom: clamp(2.5rem, 1.22rem + 5.263vw, 5rem);
}
.works-single-header h1 {
  font-size: clamp(1.25rem, 0.87rem + 1.579vw, 2rem);
  font-weight: var(--weight-bold);
  color: var(--brown-dark);
}
.works-single-header ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2em 0.8em;
  font-size: clamp(0.75rem, 0.62rem + 0.526vw, 1rem);
  margin-top: 0.5em;
}
.works-single-header li {
  font-size: clamp(0.75rem, 0.62rem + 0.526vw, 1rem);
  font-weight: var(--weight-bold);
  letter-spacing: 0.05em;
  color: var(--lime);
}
.works-single-header li::before {
  content: "#";
  font-size: 1em;
}

.works-single-body__youtube iframe {
  display: block;
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}

.works-single-body__youtube + .works-single-body__gallery {
  margin-top: clamp(1.25rem, 0.61rem + 2.632vw, 2.5rem);
}

.works-single-body__gallery img {
  width: 100%;
}
.works-single-body__gallery img + img {
  margin-top: clamp(1.25rem, 0.61rem + 2.632vw, 2.5rem);
}

.works-single-body__info {
  margin-top: clamp(2.5rem, 1.22rem + 5.263vw, 5rem);
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 1em 2em;
  padding: 0 20px;
}
@media (max-width: 599px) {
  .works-single-body__info {
    grid-template-columns: max-content 1fr;
    padding: 0;
  }
}
.works-single-body__info dt, .works-single-body__info dd {
  font-size: clamp(0.875rem, 0.75rem + 0.526vw, 1.125rem);
  color: var(--brown-dark);
}
.works-single-body__info a {
  color: var(--brown-dark);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.works-single-body__info a:focus-visible {
  text-decoration: none;
}
@media (any-hover: hover) {
  .works-single-body__info a:hover {
    text-decoration: none;
  }
}

.works-single-body__notice {
  font-size: clamp(0.75rem, 0.62rem + 0.526vw, 1rem);
  color: var(--brown-dark);
  padding-left: 20px;
  margin-top: 1.2em;
}
@media (max-width: 599px) {
  .works-single-body__notice {
    padding-left: 0;
  }
}

.works-single-footer {
  margin-top: clamp(3rem, 1.97rem + 4.211vw, 5rem);
}
.works-single-footer .c-btn-main {
  margin-inline: auto;
}

.entry-section {
  padding-top: clamp(4rem, 2.2rem + 7.368vw, 7.5rem);
  padding-bottom: clamp(5rem, 2.43rem + 10.526vw, 10rem);
  background-image: url(../img/common/bg_mesh.png);
  background-size: 100%;
  background-repeat: repeat;
  background-position: center;
}
@media (max-width: 599px) {
  .entry-section {
    background-size: 200%;
  }
}

.entry-lead {
  font-size: clamp(0.875rem, 0.75rem + 0.526vw, 1.125rem);
  text-align: center;
  line-height: var(--line-height-loose);
  margin: clamp(2.5rem, 1.22rem + 5.263vw, 5rem) 0;
}
@media (max-width: 599px) {
  .entry-lead {
    text-align: left;
  }
}
.entry-lead[data-color=red] {
  color: var(--red);
  font-weight: var(--weight-bold);
}

:root .entry-form {
  max-width: 960px;
  margin-inline: auto;
}
:root .entry-form .smf-item {
  padding: clamp(1.25rem, 0.61rem + 2.632vw, 2.5rem) 0;
}
:root .entry-form .smf-item:not(.smf-item--divider) {
  display: grid;
  grid-template-columns: 240px auto;
  border-bottom: 1px solid var(--lime-dark);
}
@media (max-width: 979px) {
  :root .entry-form .smf-item:not(.smf-item--divider) {
    grid-template-columns: 180px auto;
  }
}
@media (max-width: 599px) {
  :root .entry-form .smf-item:not(.smf-item--divider) {
    grid-template-columns: 1fr;
  }
}
:root .entry-form .smf-item:not(.smf-item--divider):first-child {
  border-top: 1px solid var(--lime-dark);
}
:root .entry-form .smf-item:last-child {
  padding-bottom: 0;
}
:root .entry-form .smf-item__label {
  font-size: clamp(0.875rem, 0.75rem + 0.526vw, 1.125rem);
  font-weight: var(--weight-bold);
  padding-top: 0.8em;
}
@media (max-width: 599px) {
  :root .entry-form .smf-item__label {
    padding-top: 0;
    margin-bottom: 0.8em;
  }
}
:root .entry-form .smf-control-description {
  font-size: clamp(0.75rem, 0.62rem + 0.526vw, 1rem);
  margin-top: 1em;
}
:root .entry-form .smf-item__controls p:not([class]) {
  font-size: clamp(0.625rem, 0.56rem + 0.263vw, 0.75rem);
  line-height: var(--line-height-loose);
  margin-top: 1em;
}
:root .entry-form .smf-checkbox-control {
  display: flex;
  align-items: center;
  gap: 8px;
}
:root .entry-form .smf-checkboxes-control + .smf-error-messages {
  text-align: center;
}
:root .entry-form label:has(.smf-checkbox-control) {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
:root .entry-form .smf-checkbox-control__label {
  font-size: clamp(0.875rem, 0.75rem + 0.526vw, 1.125rem);
}
:root .entry-form .is-scrollable {
  height: 200px;
  overflow-y: scroll;
  padding: 2em;
  font-size: clamp(0.6875rem, 0.59rem + 0.395vw, 0.875rem);
  margin-bottom: clamp(1.5rem, 0.99rem + 2.105vw, 2.5rem);
  border: 1px solid var(--gray);
}
@media (max-width: 599px) {
  :root .entry-form .is-scrollable {
    padding: 1em;
  }
}
:root .entry-form .smf-radio-button-control {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 60px;
}
@media (max-width: 599px) {
  :root .entry-form .smf-radio-button-control {
    height: auto;
  }
}
:root .entry-form .smf-radio-buttons-control__control {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}
:root .entry-form .smf-button-control__control {
  --_shadow-color: rgb(120 162 48 / .7);
  display: block;
  width: 100%;
  max-width: clamp(16.25rem, 13.04rem + 13.158vw, 22.5rem);
  margin-inline: auto;
  text-align: center;
  font-size: clamp(1.125rem, 0.87rem + 1.053vw, 1.625rem);
  font-weight: var(--weight-bold);
  color: var(--white);
  letter-spacing: 0.05em;
  padding: 0.4em 2.4em;
  border: 3px solid var(--white);
  border-radius: var(--radius-full);
  background-image: linear-gradient(to bottom, var(--lime), var(--yellow-light));
  box-shadow: 0.23em 0.23em 0 var(--_shadow-color);
  transition: box-shadow 0.2s ease-in, translate 0.2s ease-in;
}
:root .entry-form .smf-button-control__control:focus-visible {
  box-shadow: 0 0 0 var(--_shadow-color);
  translate: 0.23em 0.23em;
}
@media (any-hover: hover) {
  :root .entry-form .smf-button-control__control:hover {
    box-shadow: 0 0 0 var(--_shadow-color);
    translate: 0.23em 0.23em;
  }
}
:root .entry-form .smf-button-control__control:focus-visible {
  outline: 3px solid blue;
  outline-offset: 3px;
}
:root .entry-form .smf-button-control__control[onclick] {
  background: var(--gray);
  --_shadow-color: #888888;
}
:root .entry-form [data-action=back] {
  --_shadow-color: rgb(0 0 0 / .5);
  background-image: linear-gradient(to bottom, var(--gray-dark), var(--gray));
}
:root .entry-form .smf-action {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px 40px;
  margin-top: clamp(2.5rem, 1.22rem + 5.263vw, 5rem);
}
:root .entry-form label {
  cursor: pointer;
}
:root .entry-form input[type=text],
:root .entry-form input[type=email],
:root .entry-form input[type=tel],
:root .entry-form input[type=date],
:root .entry-form textarea,
:root .entry-form select {
  width: 100%;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 1em;
  font-size: 1rem;
  color: var(--black);
  line-height: var(--line-height-normal);
  background-color: var(--gray-light);
}
@media (max-width: 599px) {
  :root .entry-form input[type=text],
  :root .entry-form input[type=email],
  :root .entry-form input[type=tel],
  :root .entry-form input[type=date],
  :root .entry-form textarea,
  :root .entry-form select {
    padding: 0.5em 1em;
  }
}
:root .entry-form input[type=text]::-moz-placeholder, :root .entry-form input[type=email]::-moz-placeholder, :root .entry-form input[type=tel]::-moz-placeholder, :root .entry-form input[type=date]::-moz-placeholder, :root .entry-form textarea::-moz-placeholder, :root .entry-form select::-moz-placeholder {
  font-size: clamp(0.875rem, 0.81rem + 0.263vw, 1rem);
  color: var(--gray);
}
:root .entry-form input[type=text]::placeholder,
:root .entry-form input[type=email]::placeholder,
:root .entry-form input[type=tel]::placeholder,
:root .entry-form input[type=date]::placeholder,
:root .entry-form textarea::placeholder,
:root .entry-form select::placeholder {
  font-size: clamp(0.875rem, 0.81rem + 0.263vw, 1rem);
  color: var(--gray);
}
:root .entry-form input[type=text]:focus,
:root .entry-form input[type=email]:focus,
:root .entry-form input[type=tel]:focus,
:root .entry-form input[type=date]:focus,
:root .entry-form textarea:focus,
:root .entry-form select:focus {
  background-color: var(--yellow-white);
}
:root .entry-form input[type=date] {
  max-width: 200px;
  cursor: pointer;
}
:root .entry-form textarea {
  display: block;
  min-height: 200px;
  resize: vertical;
}
:root .entry-form input[type=radio] {
  display: grid;
  place-content: center;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid var(--gray);
  border-radius: 50%;
  background-color: var(--white);
  margin: 0;
  padding: 0;
  cursor: pointer;
}
:root .entry-form input[type=radio]::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: var(--orange);
  border-radius: 50%;
  opacity: 0;
  position: static;
}
:root .entry-form input[type=radio]:checked::before {
  opacity: 1;
}
:root .entry-form select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-image: url("../img/common/select.svg");
  background-repeat: no-repeat;
  background-position: right 28px center;
  background-size: 10px;
  padding-right: 60px;
  color: var(--indigo);
  font-size: clamp(0.875rem, 0.81rem + 0.263vw, 1rem);
  line-height: 1.9rem;
}
@media (max-width: 599px) {
  :root .entry-form select {
    background-position: right 16px center;
    padding-right: 40px;
  }
}
:root .entry-form select.wpcf7-not-valid {
  border-color: var(--red);
}
:root .entry-form input[type=checkbox] {
  display: grid;
  place-content: center;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid var(--gray);
  border-radius: 0;
  background-color: var(--white);
  margin: 0;
  padding: 0;
  cursor: pointer;
  background-image: url("../img/common/check.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px;
}
:root .entry-form input[type=checkbox]:checked {
  background-color: var(--orange);
}
:root .entry-form [data-screen=confirm] p:not([class]) {
  display: none;
}
:root .entry-form [data-screen=confirm] .smf-item:has(.is-scrollable) {
  display: none;
}
:root .entry-form table {
  width: 100%;
  border-collapse: collapse;
  font-size: clamp(0.8125rem, 0.65rem + 0.658vw, 1.125rem);
}
:root .entry-form table th, :root .entry-form table td {
  border: 1px solid var(--gray);
  padding: 0.8em 1em;
  text-align: left;
  vertical-align: middle;
}
:root .entry-form table th {
  background-color: var(--gray-light);
  width: 30%;
}
@media (max-width: 599px) {
  :root .entry-form table th {
    width: auto;
    max-width: 100px;
  }
}
:root .entry-form table td {
  background-color: var(--white);
}

.using-mouse input:focus-visible, .using-mouse textarea:focus-visible {
  outline: none;
}

h1.wp-block-heading {
  font-size: var(--wp--preset--font-size--xxl);
  margin-block-start: 3em;
  margin-block-end: 1em;
}

h2.wp-block-heading {
  font-size: var(--wp--preset--font-size--xxl);
  margin-block-start: 3em;
  margin-block-end: 1em;
  padding-bottom: 0.5em;
  border-bottom: 2px solid var(--wp--preset--color--blue);
}

h3.wp-block-heading {
  font-size: var(--wp--preset--font-size--xl);
  margin-block-start: 3em;
  margin-block-end: 1em;
}

h4.wp-block-heading {
  font-size: var(--wp--preset--font-size--lg);
}

:where(ol.wp-block-list) {
  list-style: decimal;
}

:where(ul.wp-block-list) {
  list-style: disc;
}

.wp-block-post-content {
  font-weight: var(--weight-medium);
  line-height: var(--line-height-normal);
}
.wp-block-post-content img {
  display: inline;
}
/*# sourceMappingURL=style.css.map */
