/* 株式会社ツギテ製作所（架空）｜TERASU ご提案デモ ver48 */
*:where(:not(html, iframe, canvas, img, svg, video, audio, svg *, symbol *)) {
  all: unset;
  display: revert;
}
*,
*:before,
*:after {
  box-sizing: border-box;
  min-inline-size: 0;
}
a,
button {
  cursor: revert;
}
ol,
ul,
menu,
summary {
  list-style: none;
}
ol {
  counter-reset: revert;
}
table {
  border-collapse: collapse;
}
input,
textarea {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  user-select: auto;
}
textarea {
  white-space: revert;
}
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}
:where(pre) {
  all: revert;
  box-sizing: border-box;
}
::-moz-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}
:where([contenteditable]:not([contenteditable="false"])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  line-break: after-white-space;
  -webkit-user-select: auto;
  -moz-user-select: auto;
  user-select: auto;
}
:where([draggable="true"]) {
  -webkit-user-drag: element;
}
:where(dialog:modal) {
  all: revert;
}
::-webkit-details-marker {
  display: none;
}
:where(a, button, summary, label, input, select, textarea):focus-visible {
  outline: var(--focus-color, -webkit-focus-ring-color) auto 1px;
}
@property --vw {
  syntax: "<length>";
  initial-value: 0;
  inherits: true;
}
@property --one-rem {
  syntax: "<length>";
  initial-value: 0;
  inherits: false;
}
:root {
  --vw: 100vw;
  --one-rem: 1rem;
  --window-width: calc(tan(atan2(var(--vw), 1px)) * min(1, 16 / tan(atan2(var(--one-rem), 1px))));
  --scale: calc(var(--window-width) / 390);
  --px: calc(1px * var(--scale));
  --rem: calc(1rem * var(--scale));
  --font-jp: "Zen Kaku Gothic New", sans-serif;
  --font-en: "Roboto", "Zen Kaku Gothic New", sans-serif;
  --color-white: #fff;
  --color-black: #000;
  --color-gray: #f2f2f2;
  --color-brown: #c08a3e;
  --color-lightbrown: #ece8d6;
  --color-red: #c0141b;
  --breakpoint-xs: 390px;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 960px;
  --breakpoint-xl: 1512px;
  --breakpoint-xxl: 1920px;
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --ease-gleasing: cubic-bezier(0.4, 0, 0, 1);
  --ease-linear: linear;
  --ease-bounce-out: linear(
    0,
    0.004,
    0.016,
    0.035,
    0.063 9.1%,
    0.141,
    0.25,
    0.391,
    0.563,
    0.765,
    1,
    0.891,
    0.813 45.5%,
    0.785,
    0.766,
    0.754,
    0.75,
    0.754,
    0.766,
    0.785,
    0.813 63.6%,
    0.891,
    1 72.7%,
    0.973,
    0.953,
    0.941,
    0.938,
    0.941,
    0.953,
    0.973,
    1,
    0.988,
    0.984,
    0.988,
    1
  );
  --ease-spring-1: linear(
    0,
    0.006,
    0.025 2.8%,
    0.101 6.1%,
    0.539 18.9%,
    0.721 25.3%,
    0.849 31.5%,
    0.937 38.1%,
    0.968 41.8%,
    0.991 45.7%,
    1.006 50.1%,
    1.015 55%,
    1.017 63.9%,
    1.001
  );
  --ease-spring-2: linear(
    0,
    0.007,
    0.029 2.2%,
    0.118 4.7%,
    0.625 14.4%,
    0.826 19%,
    0.902,
    0.962,
    1.008 26.1%,
    1.041 28.7%,
    1.064 32.1%,
    1.07 36%,
    1.061 40.5%,
    1.015 53.4%,
    0.999 61.6%,
    0.995 71.2%,
    1
  );
  --ease-spring-3: linear(
    0,
    0.009,
    0.035 2.1%,
    0.141 4.4%,
    0.723 12.9%,
    0.938 16.7%,
    1.017,
    1.077,
    1.121,
    1.149 24.3%,
    1.159,
    1.163,
    1.161,
    1.154 29.9%,
    1.129 32.8%,
    1.051 39.6%,
    1.017 43.1%,
    0.991,
    0.977 51%,
    0.974 53.8%,
    0.975 57.1%,
    0.997 69.8%,
    1.003 76.9%,
    1
  );
  --ease-spring-4: linear(
    0,
    0.009,
    0.037 1.7%,
    0.153 3.6%,
    0.776 10.3%,
    1.001,
    1.142 16%,
    1.185,
    1.209 19%,
    1.215 19.9% 20.8%,
    1.199,
    1.165 25%,
    1.056 30.3%,
    1.008 33%,
    0.973,
    0.955 39.2%,
    0.953 41.1%,
    0.957 43.3%,
    0.998 53.3%,
    1.009 59.1% 63.7%,
    0.998 78.9%,
    1
  );
  --ease-spring-5: linear(
    0,
    0.01,
    0.04 1.6%,
    0.161 3.3%,
    0.816 9.4%,
    1.046,
    1.189 14.4%,
    1.231,
    1.254 17%,
    1.259,
    1.257 18.6%,
    1.236,
    1.194 22.3%,
    1.057 27%,
    0.999 29.4%,
    0.955 32.1%,
    0.942,
    0.935 34.9%,
    0.933,
    0.939 38.4%,
    1 47.3%,
    1.011,
    1.017 52.6%,
    1.016 56.4%,
    1 65.2%,
    0.996 70.2%,
    1.001 87.2%,
    1
  );
  --z-base: 1000;
  --z-recruit-button: 1001;
  --z-modal: 1002;
  --z-header: 1003;
  --z-menu-logo: 1004;
  --z-opening: 1005;
  --grid-columns: 25;
}
@media screen and (min-width: 960px) {
  :root {
    --scale: min(1, var(--window-width) / 1512);
    --scale-raw: calc(var(--window-width) / 1512);
    --px: calc(1px * var(--scale-raw));
    --rem-raw: calc(1rem * var(--scale-raw));
    --grid-columns: 16;
    --grid-gutter: calc(32 * var(--px));
  }
}
@supports not (animation-timing-function: linear(0, 1)) {
  :root {
    --ease-spring-1: var(--ease-out-quad);
    --ease-spring-2: var(--ease-out-cubic);
    --ease-spring-3: var(--ease-out-quart);
    --ease-spring-4: var(--ease-out-quint);
    --ease-spring-5: var(--ease-out-expo);
  }
}
:root.is-scroll-lock {
  overflow: clip;
  scrollbar-gutter: stable;
}
body {
  font-family: var(--font-jp);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}
a {
  display: block;
  color: currentcolor;
  cursor: pointer;
}
button {
  color: currentcolor;
  cursor: pointer;
}
details,
summary {
  cursor: pointer;
}
video,
img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.preload * {
  transition: none !important;
}
::-moz-selection {
  color: var(--color-white);
  background-color: var(--color-black);
}
::selection {
  color: var(--color-white);
  background-color: var(--color-black);
}
:focus-visible {
  outline: 2px solid var(--color-black);
  outline-offset: 2px;
}
.t-l-main {
  width: 100%;
  overflow: clip;
}
.t-u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  clip-path: rect(0 0 0 0) !important;
}
@media screen and (min-width: 960px) {
  .t-u-sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 959px) {
  .t-u-pc-only {
    display: none !important;
  }
}
.t-c-menu__wrapper {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.t-c-menu__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: calc(112 * var(--px)) calc(8 * var(--px)) 0;
  overflow: hidden;
  background-color: var(--color-white);
  opacity: 0;
  clip-path: inset(0 0 100% 0);
  transition:
    opacity 0.4s var(--ease-out-expo),
    clip-path 0.6s var(--ease-out-expo);
}
.t-c-menu__scroll {
  width: 100%;
  height: 100%;
  overflow: scroll;
}
.t-c-menu__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: auto;
  padding-bottom: calc(32 * var(--px));
}
.t-c-menu__address {
  margin-top: calc(24 * var(--px));
}
.t-c-menu__address-name {
  font-size: calc(16 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
.t-c-menu__address-content {
  margin-top: calc(8 * var(--px));
  font-size: calc(13 * var(--px));
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
.t-c-menu-nav {
  width: 100%;
}
.t-c-menu-nav__list {
  border-top: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  border-left: 1px solid var(--color-black);
}
.t-c-menu-nav__sns {
  display: flex;
  gap: calc(16 * var(--px));
  align-items: center;
  padding-left: calc(3 * var(--px));
  margin-top: calc(16 * var(--px));
}
.t-c-menu-nav__sns-link {
  display: flex;
  gap: calc(7 * var(--px));
  align-items: center;
  justify-content: center;
}
.t-c-menu-nav__sns-link-text {
  font-size: calc(14 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.t-c-menu-nav-item {
  padding: calc(24 * var(--px)) calc(16 * var(--px)) calc(23 * var(--px));
  border-bottom: 1px solid var(--color-black);
}
.t-c-menu-nav-item__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.t-c-menu-nav-item__link-text {
  font-size: calc(16 * var(--px));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}
.t-c-menu-nav-item__link-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(20 * var(--px));
  height: calc(20 * var(--px));
  background-color: var(--color-black);
  border-radius: 50%;
}
.t-c-menu-nav-item__link-arrow-icon {
  width: calc(6 * var(--px));
  height: calc(9 * var(--px));
  margin: 0 0 0 calc(1 * var(--px));
}
.t-c-menu-nav-item__child {
  display: flex;
  flex-direction: column;
  gap: calc(17 * var(--px));
  padding-bottom: calc(6 * var(--px));
  margin-top: calc(24 * var(--px));
}
.t-c-menu-nav-item__child-item-link-text {
  display: flex;
  gap: calc(8 * var(--px));
  align-items: center;
  font-size: calc(14 * var(--px));
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
.t-c-menu-nav-item__child-item-link-text:before {
  display: inline-block;
  width: calc(8 * var(--px));
  height: 0;
  content: "";
  border-top: 1px solid var(--color-black);
}
.is-open .t-c-menu__wrapper {
  pointer-events: auto;
}
.is-open .t-c-menu__inner {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}
@media screen and (min-width: 960px) {
  .t-c-menu__inner {
    width: calc(183 * var(--px));
    height: -moz-fit-content;
    height: fit-content;
  }
}
.t-c-arrow-link {
  display: flex;
  gap: var(--_link-gap, calc(10 * var(--px)));
  align-items: center;
}
.t-c-arrow-link__text {
  font-size: var(--_font-size, calc(16 * var(--px)));
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: var(--_letter-spacing, 0);
}
.t-c-arrow-link__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(36 * var(--px));
  height: calc(36 * var(--px));
  background-color: var(--color-black);
  border-radius: 50%;
}
.t-c-arrow-link__icon-inner {
  display: grid;
  align-items: center;
  justify-content: center;
  width: calc(8 * var(--px));
  height: calc(9 * var(--px));
  margin-left: calc(2 * var(--px));
  overflow: hidden;
}
.t-c-arrow-link__icon-arrow1 {
  grid-area: 1/1;
  width: calc(8 * var(--px));
  height: calc(9 * var(--px));
}
.t-c-arrow-link__icon-arrow2 {
  display: none;
  grid-area: 1/1;
  width: calc(8 * var(--px));
  height: calc(9 * var(--px));
}
.t-c-color-link {
  background-color: var(--_link-background, #000);
  transition: background-color 0.5s var(--ease-out-expo);
}
.t-c-color-link__text {
  color: var(--_link-text-color, #fff);
  transition: color 0.5s var(--ease-out-expo);
}
.t-c-color-link__icon svg path {
  stroke: var(--_link-svg, #000);
  transition: stroke 0.5s var(--ease-out-expo);
}
@media screen and (min-width: 960px) {
  @keyframes link-hover-arrow-in {
    0% {
      transform: translate(-200%);
    }
    50% {
      transform: translate(0);
    }
    to {
      transform: translate(0);
    }
  }
  @keyframes link-hover-arrow-out {
    0% {
      transform: translate(0);
    }
    50% {
      transform: translate(200%);
    }
    to {
      transform: translate(200%);
    }
  }
  .t-c-arrow-link__text {
    position: relative;
  }
  .t-c-arrow-link__text:after {
    position: absolute;
    bottom: calc(-4 * var(--px));
    left: 0;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--_line-color, var(--color-black));
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s var(--ease-out-expo);
  }
  .t-c-arrow-link__icon-arrow2 {
    display: block;
    transform: translate(-200%);
  }
  .t-c-link__text {
    position: relative;
  }
  .t-c-link__text:after {
    position: absolute;
    bottom: calc(-4 * var(--px));
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--_line-color, var(--color-black));
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s var(--ease-out-expo);
  }
  .t-c-link-image__image {
    overflow: hidden;
  }
  .t-c-link-image__image img {
    transition: transform 0.5s var(--ease-out-expo);
  }
}
@media screen and (min-width: 960px) and (any-hover: hover) {
  .t-c-arrow-link:hover .t-c-arrow-link__text:after {
    transform: scaleX(1);
    transform-origin: left;
  }
  .t-c-arrow-link:hover .t-c-arrow-link__icon-arrow1 {
    animation: link-hover-arrow-out 1.3s infinite;
  }
  .t-c-arrow-link:hover .t-c-arrow-link__icon-arrow2 {
    animation: link-hover-arrow-in 1.3s infinite;
  }
  .t-c-link:hover .t-c-link__text:after {
    transform: scaleX(1);
    transform-origin: left;
  }
  .t-c-link-image:hover .t-c-link-image__image img {
    transform: scale(1.05);
  }
  .t-c-color-link:hover {
    background-color: var(--_link-hover-background, #424242);
  }
  .t-c-color-link:hover .t-c-color-link__text {
    color: var(--_link-hover-text-color, var(--color-white));
  }
  .t-c-color-link:hover .t-c-color-link__icon svg path {
    stroke: var(--_link-hover-svg, #000);
  }
}
.t-c-contact {
  width: 100%;
  overflow: hidden;
}
.t-c-contact__inner {
  position: relative;
  display: flex;
  justify-content: center;
  padding: calc(110 * var(--px)) 0;
  background-color: #4d4337;
}
.t-c-contact__motif {
  position: absolute;
  top: 0;
  left: calc(-100 * var(--px));
  width: calc(614 * var(--px));
  height: calc(210 * var(--px));
}
.t-c-contact__motif-inner {
  position: relative;
  display: flex;
  gap: calc(8 * var(--px));
  align-items: flex-start;
  width: 100%;
  height: 100%;
}
.t-c-contact__motif-item[data-contact="1"] {
  width: calc(177 * var(--px));
  height: calc(213 * var(--px));
  transform: translate(calc(-40 * var(--px)));
}
.t-c-contact__motif-item[data-contact="2"] {
  width: calc(219 * var(--px));
  height: calc(208 * var(--px));
}
.t-c-contact__motif-item[data-contact="3"] {
  width: calc(202 * var(--px));
  height: calc(213 * var(--px));
  transform: rotate(-90deg) translate(calc(-2 * var(--px)), calc(-8 * var(--px)));
  transform-origin: left bottom;
}
.t-c-contact__content {
  position: relative;
  width: calc(291 * var(--px));
  color: var(--color-white);
}
.t-c-contact__headline {
  font-size: calc(20 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
.t-c-contact__description {
  margin-top: calc(16 * var(--px));
  font-size: calc(14 * var(--px));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
}
.t-c-contact__link {
  --_letter-spacing: 0.04em;
  --_link-gap: calc(20 * var(--px));
  --_line-color: var(--color-white);
  margin: calc(22 * var(--px)) 0 0 calc(2 * var(--px));
}
@media screen and (min-width: 960px) {
  .t-c-contact__inner {
    display: grid;
    grid-template-columns: calc(895 * var(--px)) calc(291 * var(--px));
    -moz-column-gap: calc(89 * var(--px));
    column-gap: calc(89 * var(--px));
    align-items: center;
    padding: calc(95 * var(--px)) calc(136 * var(--px)) calc(95 * var(--px)) calc(100 * var(--px));
  }
  .t-c-contact__motif {
    position: relative;
    top: auto;
    left: auto;
    grid-column: 1/2;
    width: calc(895 * var(--px));
    height: calc(311 * var(--px));
    margin: 0;
  }
  .t-c-contact__motif-inner {
    justify-content: space-between;
    width: 100%;
    height: 100%;
    margin: 0;
  }
  .t-c-contact__motif-item[data-contact="1"] {
    width: calc(258 * var(--px));
    height: calc(311 * var(--px));
  }
  .t-c-contact__motif-item[data-contact="2"] {
    width: calc(319 * var(--px));
    height: calc(303 * var(--px));
  }
  .t-c-contact__motif-item[data-contact="3"] {
    width: calc(294 * var(--px));
    height: calc(301 * var(--px));
  }
  .t-c-contact__content {
    grid-column: 2/3;
  }
  .t-c-contact__headline {
    font-size: calc(28 * var(--px));
  }
  .t-c-contact__description {
    margin-top: calc(24 * var(--px));
    font-size: calc(16 * var(--px));
  }
  .t-c-contact__link {
    margin-top: calc(40 * var(--px));
    --_link-gap: calc(20 * var(--px));
  }
}
.t-c-bottom-nav {
  width: 100%;
}
.t-c-bottom-nav__inner {
  width: 100%;
  padding: 0 calc(8 * var(--px));
}
.t-c-bottom-nav__list {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-top: 1px solid #d0d0d0;
}
.t-c-bottom-nav__list li {
  border-bottom: 1px solid #d0d0d0;
}
.t-c-bottom-nav__link {
  width: 100%;
}
.t-c-bottom-nav__link-item {
  display: flex;
  gap: 0;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: calc(32 * var(--px)) calc(16 * var(--px));
}
.t-c-bottom-nav__link-item-content {
  flex-grow: 1;
}
.t-c-bottom-nav__link-item-title {
  font-size: calc(18 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
.t-c-bottom-nav__link-item-description {
  display: block;
  margin-top: calc(10 * var(--px));
  font-size: calc(14 * var(--px));
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
}
@media screen and (min-width: 960px) {
  .t-c-bottom-nav__inner {
    padding: 0;
  }
  .t-c-bottom-nav__link {
    display: grid;
    grid-template-rows: min-content;
    grid-template-columns: repeat(var(--grid-columns), 1fr);
    padding: 0 var(--grid-gutter);
  }
  .t-c-bottom-nav__link-item {
    position: relative;
    padding: calc(40 * var(--px)) calc(16 * var(--px));
    overflow: hidden;
  }
  .t-c-bottom-nav__link-item-background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: #f8f8f8;
    opacity: 0;
  }
  .t-c-bottom-nav__link-item-title {
    font-size: calc(24 * var(--px));
  }
  .t-c-bottom-nav__link-item-description {
    display: block;
    margin-top: calc(10 * var(--px));
    font-size: calc(16 * var(--px));
  }
  .t-c-bottom-nav__list {
    grid-column: 2/10;
  }
  .t-c-bottom-nav__list li {
    padding: calc(8 * var(--px)) 0;
  }
}
.t-c-headline-line {
  width: 100%;
  height: calc(6 * var(--px));
  border-top: 1px solid var(--color-black);
  border-right: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
}
.t-l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-header);
  width: 100%;
}
.t-l-header__inner {
  display: grid;
  grid-template-columns: calc(162 * var(--px)) calc(130 * var(--px));
  justify-content: space-between;
  width: 100%;
  padding-right: calc(12 * var(--px));
}
.t-l-header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(60 * var(--px));
  background-color: var(--color-white);
}
.t-l-header__logo-link {
  width: calc(130 * var(--px));
  height: calc(20 * var(--px));
  margin-top: calc(6 * var(--px));
}
.t-l-header__menulogo {
  position: absolute;
  top: calc(43 * var(--px));
  left: calc(14 * var(--px));
  z-index: var(--z-menu-logo);
  width: calc(160 * var(--px));
  height: calc(25 * var(--px));
  pointer-events: auto;
  opacity: 0;
}
.t-l-header__content {
  display: flex;
  flex-direction: column;
  gap: calc(2 * var(--px));
  width: 100%;
  padding-top: calc(12 * var(--px));
}
.t-l-header__menu {
  position: relative;
  z-index: var(--z-header-menu);
  display: flex;
  gap: calc(8 * var(--px));
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(41 * var(--px));
  background-color: var(--color-white);
  border: 1px solid var(--color-black);
}
.t-l-header__menu-inner {
  position: relative;
  width: calc(15 * var(--px));
  height: calc(4 * var(--px));
}
.t-l-header__menu-line {
  --line-top-y: calc(-2 * var(--px));
  --line-bottom-y: calc(-5 * var(--px));
  --line-bottom-x: calc(-1 * var(--px));
  display: block;
  width: 100%;
  height: 0;
  border-top: 1px solid var(--color-black);
  transform-origin: right;
  transition: transform 0.5s var(--ease-out-expo);
}
.t-l-header__menu-line.\--top {
  position: absolute;
  top: 0;
  left: 0;
}
.t-l-header__menu-line.\--bottom {
  position: absolute;
  bottom: 0;
  left: 0;
}
.t-l-header__menu-text {
  display: grid;
}
.t-l-header__menu-text-item {
  grid-area: 1/1;
  font-size: calc(13 * var(--px));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  transition: opacity 0.4s var(--ease-out-expo);
}
.t-l-header__menu-text-item.\--open {
  opacity: 1;
}
.t-l-header__menu-text-item.\--close {
  opacity: 0;
}
.t-l-header__contact {
  display: flex;
  gap: calc(8 * var(--px));
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(41 * var(--px));
  background-color: var(--color-black);
}
.is-menu-open .t-l-header__logo {
  pointer-events: none;
  opacity: 0;
}
@media screen and (min-width: 960px) {
  .t-l-header {
    pointer-events: none;
  }
  .t-l-header__inner {
    grid-template-columns: calc(252 * var(--px)) calc(183 * var(--px));
    padding-right: calc(16 * var(--px));
    pointer-events: none;
  }
  .t-l-header__inner.t-recruit {
    grid-template-columns: calc(252 * var(--px)) calc(707 * var(--px));
    padding-right: 0;
  }
  .t-l-header__content {
    padding-top: calc(16 * var(--px));
  }
  .t-l-header__content.t-recruit {
    padding: calc(29 * var(--px)) calc(32 * var(--px)) 0 0;
  }
  .t-l-header__logo {
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: calc(95 * var(--px));
    padding: calc(34 * var(--px)) 0 0 calc(32 * var(--px));
    pointer-events: auto;
    background-color: transparent;
  }
  .t-l-header__logo-link {
    width: calc(196 * var(--px));
    height: calc(29 * var(--px));
  }
  .t-l-header__menu,
  .t-l-header__contact {
    height: calc(49 * var(--px));
    pointer-events: auto;
  }
  .t-l-header__menu-inner {
    width: calc(16 * var(--px));
    height: calc(5 * var(--px));
  }
  .t-l-header__contact {
    --_line-color: var(--color-white);
  }
  .t-l-header-nav {
    height: 0;
    overflow: hidden;
    pointer-events: auto;
    transition: height 0.4s var(--ease-out-expo);
  }
  .t-l-header-nav__list {
    display: flex;
    flex-direction: column;
    gap: calc(17 * var(--px));
    align-items: center;
    justify-content: center;
    padding: calc(16 * var(--px)) 0;
    background-color: var(--color-white);
    border-right: 1px solid var(--color-black);
    border-left: 1px solid var(--color-black);
  }
  .t-l-header-nav__item-link {
    font-size: calc(14 * var(--px));
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
  }
  .t-l-header.is-open .t-l-header__content {
    gap: 0;
  }
  .t-l-header.is-open .t-l-header-nav {
    height: calc(201 * var(--px));
  }
  .t-l-header-recruit-nav {
    width: 100%;
    padding: calc(8 * var(--px)) calc(11 * var(--px)) calc(8 * var(--px)) calc(32 * var(--px));
    pointer-events: auto;
    background-color: var(--color-white);
    border: 1px solid #f0f0f0;
    border-radius: calc(43 * var(--px));
    box-shadow: 5px 0 16px #0000000d;
  }
  .t-l-header-recruit-nav__list {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .t-l-header-recruit-nav__item-link {
    font-size: calc(16 * var(--px));
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
  }
  .t-l-header-recruit-nav__item-link[data-header="requirement"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(160 * var(--px));
    height: calc(35 * var(--px));
    padding: calc(8 * var(--px)) 0 calc(9 * var(--px));
    font-size: calc(15 * var(--px));
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    border-radius: calc(48 * var(--px));
  }
  .t-l-header-recruit-nav__item-link[data-header="application"] {
    --_link-background: #c08a3e;
    --_link-hover-background: #d3a25f;
    --_link-text-color: var(--color-white);
    --_link-hover-text-color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(160 * var(--px));
    height: calc(35 * var(--px));
    padding: calc(8 * var(--px)) 0 calc(9 * var(--px));
    margin-left: calc(-26 * var(--px));
    font-size: calc(15 * var(--px));
    line-height: 1;
    text-align: center;
    letter-spacing: 0.04em;
    border-radius: calc(48 * var(--px));
  }
}
@media screen and (min-width: 960px) and (any-hover: hover) {
  .t-l-header__menu:hover .t-l-header__menu-line.\--top {
    transform: translateY(1px);
  }
  .t-l-header__menu:hover .t-l-header__menu-line.\--bottom {
    transform: translateY(-1px);
  }
  .t-l-header__menu.is-animating {
    pointer-events: none;
  }
  .t-l-header__menu.is-animating:hover .t-l-header__menu-line.\--top,
  .t-l-header__menu.is-animating:hover .t-l-header__menu-line.\--bottom {
    transform: none !important;
  }
}
.t-l-footer__inner {
  position: relative;
  width: 100%;
  padding: 0 calc(24 * var(--px)) calc(24 * var(--px)) calc(27 * var(--px));
}
.t-l-footer__content {
  margin-top: calc(56 * var(--px));
}
.t-l-footer__logo {
  width: calc(220 * var(--px));
  height: calc(50 * var(--px));
}
.t-l-footer__address {
  margin-top: calc(16 * var(--px));
}
.t-l-footer__address-name {
  font-size: calc(16 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
.t-l-footer__address-content {
  margin-top: calc(8 * var(--px));
  font-size: calc(13 * var(--px));
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
}
.t-l-footer__sns {
  display: flex;
  gap: calc(18 * var(--px));
  margin: calc(42 * var(--px)) 0 0 calc(3 * var(--px));
}
.t-l-footer__sns-link {
  display: flex;
  gap: calc(7 * var(--px));
  align-items: center;
}
.t-l-footer__sns-link-text {
  font-size: calc(14 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.t-l-footer__copyright {
  position: absolute;
  right: calc(5 * var(--px));
  bottom: calc(22 * var(--px));
  width: calc(18 * var(--px));
  font-size: calc(10 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  color: #666;
  letter-spacing: 0;
}
.t-l-footer__copyright-text {
  display: block;
  writing-mode: sideways-rl;
}
.t-l-footer-nav__list {
  display: grid;
  grid-template-columns: calc(130 * var(--px)) auto;
  row-gap: calc(9 * var(--px));
  -moz-column-gap: calc(34 * var(--px));
  column-gap: calc(34 * var(--px));
}
.t-l-footer-nav-item:first-child {
  grid-row: 1/7;
  grid-column: 1/2;
}
.t-l-footer-nav-item:nth-child(n + 2) {
  grid-column: 2/3;
}
.t-l-footer-nav-item__link-text {
  font-size: calc(14 * var(--px));
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
}
.t-l-footer-nav-item__child {
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--px));
  margin-top: calc(3 * var(--px));
}
.t-l-footer-nav-item__child-item-link-text {
  font-size: calc(13 * var(--px));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
}
@media screen and (min-width: 960px) {
  .t-l-footer__inner {
    display: grid;
    grid-template-rows: min-content;
    grid-template-columns: repeat(var(--grid-columns), 1fr);
    padding: 0 var(--grid-gutter);
    padding-bottom: calc(40 * var(--px));
  }
  .t-l-footer__content {
    grid-row: 1;
    grid-column: 2/7;
    margin: 0;
  }
  .t-l-footer__logo {
    width: calc(220 * var(--px));
    height: calc(50 * var(--px));
  }
  .t-l-footer__address {
    margin-top: calc(39 * var(--px));
  }
  .t-l-footer__address-name {
    font-size: calc(16 * var(--px));
  }
  .t-l-footer__address-content {
    margin-top: calc(8 * var(--px));
    font-size: calc(13 * var(--px));
  }
  .t-l-footer__copyright {
    position: relative;
    right: auto;
    bottom: auto;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: calc(107 * var(--px));
  }
  .t-l-footer__copyright-text {
    letter-spacing: 0.04em;
    writing-mode: inherit;
  }
  .t-l-footer-nav {
    grid-row: 1;
    grid-column: 12/17;
  }
  .t-l-footer-nav__list {
    row-gap: calc(10 * var(--px));
    -moz-column-gap: calc(80 * var(--px));
    column-gap: calc(80 * var(--px));
  }
  .t-l-footer-nav-item:first-child {
    margin-top: calc(2 * var(--px));
  }
  .t-l-footer-nav-item__link-text {
    font-size: calc(16 * var(--px));
  }
  .t-l-footer-nav-item__child {
    gap: calc(4 * var(--px));
    margin-top: calc(8 * var(--px));
  }
}
