@charset "utf-8";

:root {
  --main: "Zen Kaku Gothic New", sans-serif;
  --eng: "Elms Sans", sans-serif;
  --default: 0.4s ease;
}

#root {
  overflow: hidden;
}


body {
  font-family: var(--main);
  font-size: 16px;
  line-height: calc(26/16);
  font-weight: 400;
  color: #000000;
}

body.is-open {
  position: relative;
  overflow: hidden;
}

.menu-open {
  overflow: hidden;
}

.w90 {
  width: 90%;
  margin: 0 auto;
}

.w1728 {
  max-width: 1728px;
  width: 90%;
  margin: 0 auto;
}

.w1536 {
  max-width: 1536px;
  width: 90%;
  margin: 0 auto;
}

.w1344 {
  max-width: 1344px;
  width: 90%;
  margin: 0 auto;
}

.w1152 {
  max-width: 1152px;
  width: 90%;
  margin: 0 auto;
}

.w960 {
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
}



.pc-hidden {
  display: none;
}

.sp-hidden {
  display: block;
}


.morebtn a {
  display: flex;
  align-items: center;
  gap: 16px;

}

.morebtn a .link-text {
  font-weight: 400;
  font-size: clamp(1.25rem, 1.189rem + 0.26vw, 1.5rem);
  color: #000;
}



.morebtn .arrow {
  position: relative;
  width: 90px;
  height: 30px;
  background: url(/system_panel/uploads/images/20260829144433692029.svg) no-repeat center/contain;
}

.morebtn .arrow::before {
  content: "";
  width: 6px;
  height: 8px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 25px;
  margin: auto;
  background: url(/system_panel/uploads/images/20260829144836416136.svg) no-repeat center/contain;
}

.morebtn .arrow .line {
  position: relative;
  overflow: hidden;
  width: 42%;
  height: 1px;
  position: absolute;
  left: 25px;
  top: 0;
  bottom: 0;
  margin: auto;

}

.morebtn .arrow .line::after {
  content: "";
  background: #174D6F;
  width: 100%;
  height: 100%;
  position: absolute;
}

.morebtn a:hover .line::after {
  animation: slideLeftToRight 0.8s ease forwards;
}

@keyframes slideLeftToRight {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.delay-1 {
  animation-delay: 0.1s;
}

.delay-2 {
  animation-delay: 0.2s;
  transition-delay: 0.2s;
}

.delay-3 {
  animation-delay: 0.3s;
}

.delay-4 {
  animation-delay: 0.4s;
}

.delay-5 {
  animation-delay: 0.5s;
}

.delay-6 {
  animation-delay: 0.6s;
}

a.default {
  transition: var(--default);
}

a.default:hover {
  opacity: 50%;
}


@media (max-width: 1180px) {}

@media (max-width: 1023px) {}

@media (max-width: 767px) {}