body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" 1;
  -webkit-font-feature-settings: "palt" 1;
}
@media screen and (max-width: 1000px) {
  body {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: 3.2vw;
  }
}
body.is-loaded {
  filter: blur(0px);
}

main {
  position: relative;
  z-index: 1;
}

a {
  transition-duration: 0.3s;
}
a:hover {
  opacity: 0.6;
}
a.no-active {
  pointer-events: none;
  opacity: 0.6;
}

@media screen and (min-width: 1440px) {
  .pc-none {
    display: none;
  }
}

.pc-block {
  display: none;
}
@media screen and (min-width: 1440px) {
  .pc-block {
    display: block;
  }
}

@media screen and (max-width: 1000px) {
  .tab-none {
    display: none;
  }
}

.tab-block {
  display: none;
}
@media screen and (max-width: 1000px) {
  .tab-block {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .sp-none {
    display: none;
  }
}

.sp-block {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-block {
    display: block;
  }
}

.elm {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.7s ease-in-out, transform 0.7s ease-out;
}
@media screen and (max-width: 768px) {
  .elm {
    transition: opacity 1s ease-in-out, transform 1s ease-out;
    transform: translateY(70px);
  }
}
.elm.fade-in {
  opacity: 1;
  transform: translateY(0px);
}

.elm.elm2 {
  transition-delay: 0.3s;
}
@media screen and (max-width: 768px) {
  .elm.elm2 {
    transition-delay: unset;
  }
}

.elm.elm3 {
  transition-delay: 0.6s;
}
@media screen and (max-width: 768px) {
  .elm.elm3 {
    transition-delay: unset;
  }
}

.elm.elm4 {
  transition-delay: 0.3s;
}
@media screen and (max-width: 768px) {
  .elm.elm4 {
    transition-delay: unset;
  }
}

.elm.elm5 {
  transition-delay: 0.4s;
}
@media screen and (max-width: 768px) {
  .elm.elm5 {
    transition-delay: unset;
  }
}

.elm_title {
  opacity: 1;
  transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
  transform: translateY(-1.5em);
}
@media screen and (max-width: 768px) {
  .elm_title {
    transform: translateY(-70px);
  }
}

.elm_serviceBg {
  opacity: 0;
  transition: opacity 0.1s ease-in-out;
  transition-delay: 0.7s;
}

.elm_r {
  opacity: 0;
  transition-delay: 0.3s;
  transition: opacity 1s ease-in-out, transform 1s ease-out;
  transform: translateX(300px);
}
@media screen and (max-width: 768px) {
  .elm_r {
    transition: opacity 0.7s ease-in-out, transform 0.7s ease-out;
    transition-delay: 0.5s;
    transform: translateX(200px);
  }
}

.elm_l {
  opacity: 0;
  transition-delay: 0.3s;
  transition: opacity 1s ease-in-out, transform 1s ease-out;
  transform: translateX(-300px);
}
@media screen and (max-width: 768px) {
  .elm_l {
    transition: opacity 0.7s ease-in-out, transform 0.7s ease-out;
    transition-delay: 0.5s;
    transform: translateX(-200px);
  }
}

.elm_o {
  opacity: 0;
  transition-duration: 1.8s;
  transition-timing-function: ease-in-out;
  filter: blur(6px);
}
.elm_o.fade-in {
  opacity: 1;
  filter: blur(0px);
}

.elm_title.fade-in {
  opacity: 1;
  transform: translateY(0px);
}

.elm_title_en.fade-in {
  opacity: 1;
}

.elm_r.fade-in {
  opacity: 1;
  transform: translateX(0px);
}

.elm_l.fade-in {
  opacity: 1;
  transform: translateX(0px);
}

.animate-on-appear {
  animation: fadeAndTranslate 1s ease forwards;
}
@keyframes fadeAndTranslate {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-on-appear-l {
  animation: fadeAndTranslateL 1s ease forwards;
}

@keyframes fadeAndTranslateL {
  from {
    opacity: 0;
    transform: translateX(-3.125em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-on-appear-o {
  animation: fadeAndTranslateO 1s ease forwards;
}
@keyframes fadeAndTranslateO {
  from {
    opacity: 0;
    filter: blur(6px);
  }
  to {
    opacity: 1;
    filter: blur(0px);
  }
}
header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 94%;
  z-index: 9999;
}
@media screen and (max-width: 768px) {
  header {
    width: 100%;
  }
}
header .header {
  position: relative;
  border-radius: 0 0 1.25em 1.25em;
  overflow: hidden;
  /* LIQUID GLASS STYLES */
}
@media screen and (max-width: 768px) {
  header .header {
    border-radius: 0;
  }
}
header .header .liquidGlass-wrapper {
  position: relative;
  padding-block: 0.8em 1em;
  padding-inline: 1.5625em;
  display: flex;
  width: 100%;
  font-weight: 600;
  overflow: visible;
  color: black;
  transition: padding-bottom 0.3s ease;
}
@media screen and (max-width: 768px) {
  header .header .liquidGlass-wrapper {
    border-radius: 0;
  }
}
header .header .liquidGlass-wrapper.has-submenu-open {
  padding-bottom: 4em;
}
@media (min-width: 769px) {
  header .header .liquidGlass-wrapper:has(.header_nav_item-solution:hover), header .header .liquidGlass-wrapper:has(.header_nav_item-about:hover) {
    padding-bottom: 4em;
  }
}
header .header .liquidGlass-wrapper .liquidGlass-effect {
  position: absolute;
  z-index: 0;
  inset: 0;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  filter: url(#glass-distortion);
  overflow: hidden;
  isolation: isolate;
  will-change: filter;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  pointer-events: none;
}
header .header .liquidGlass-wrapper .liquidGlass-tint {
  z-index: 1;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
}
header .header .liquidGlass-wrapper .liquidGlass-shine {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  box-shadow: inset 2px 2px 1px 0 rgba(255, 255, 255, 0.1), inset -1px -1px 1px 1px rgba(255, 255, 255, 0.1);
  pointer-events: none;
}
header .header_inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 3;
}
header .header_logo {
  width: 13.625em;
  position: relative;
  z-index: 10002;
}
@media screen and (max-width: 768px) {
  header .header_logo {
    width: 14em;
  }
}
@media screen and (max-width: 768px) {
  header .header_spMenuSide {
    display: flex;
    align-items: center;
    gap: 2em;
    justify-content: flex-end;
    position: relative;
    z-index: 10002;
  }
}
header .header_hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 2em;
  height: 2em;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 10002;
  position: relative;
}
header .header_hamburger_line {
  width: 100%;
  height: 0.2em;
  background-color: #fff;
  border-radius: 0.1em;
  transition: all 0.3s ease;
}
header .header_hamburger.is-open .header_hamburger_line:nth-child(1) {
  transform: translateY(0.6em) rotate(45deg);
}
header .header_hamburger.is-open .header_hamburger_line:nth-child(2) {
  opacity: 0;
}
header .header_hamburger.is-open .header_hamburger_line:nth-child(3) {
  transform: translateY(-0.75em) rotate(-45deg);
}
header .header_nav {
  display: flex;
  align-items: center;
  gap: 3em;
  padding-top: 0.3em;
}
header .header_nav li {
  position: relative;
}
header .header_nav li a {
  font-size: 0.875em;
  color: #fff;
  letter-spacing: 0.1em;
}
header .header_nav li.contactBtn {
  text-align: center;
}
header .header_nav li.contactBtn a {
  display: inline-block;
  color: #000;
  background-color: #fff;
  padding: 0.2em 2em 0.3em;
  border-radius: 5em;
}
header .header_nav li.header_nav_item-about .header_nav_submenu, header .header_nav li.header_nav_item-solution .header_nav_submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-6%);
  margin-top: 0.8em;
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, max-height 0.3s ease;
  z-index: 10;
  display: flex;
  width: 32em;
  border-top: 0.0625em solid rgba(255, 255, 255, 0.5);
}
header .header_nav li.header_nav_item-about .header_nav_submenu.submenu02, header .header_nav li.header_nav_item-solution .header_nav_submenu.submenu02 {
  transform: translateX(-27%);
}
header .header_nav li.header_nav_item-about .header_nav_submenu li, header .header_nav li.header_nav_item-solution .header_nav_submenu li {
  transform: translateY(-0.5em);
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition-delay: 0s;
}
header .header_nav li.header_nav_item-about .header_nav_submenu li a, header .header_nav li.header_nav_item-solution .header_nav_submenu li a {
  display: inline-block;
  padding: 0.8em 1.5em;
  font-size: 0.875em;
  color: #fff;
}
@media (min-width: 769px) {
  header .header_nav li.header_nav_item-about:hover .header_nav_submenu, header .header_nav li.header_nav_item-solution:hover .header_nav_submenu {
    opacity: 1;
    visibility: visible;
    max-height: 20em;
  }
  header .header_nav li.header_nav_item-about:hover .header_nav_submenu li, header .header_nav li.header_nav_item-solution:hover .header_nav_submenu li {
    transform: translateY(0);
    opacity: 1;
  }
  header .header_nav li.header_nav_item-about:hover .header_nav_submenu li:nth-child(1), header .header_nav li.header_nav_item-solution:hover .header_nav_submenu li:nth-child(1) {
    transition-delay: 0.05s;
  }
  header .header_nav li.header_nav_item-about:hover .header_nav_submenu li:nth-child(2), header .header_nav li.header_nav_item-solution:hover .header_nav_submenu li:nth-child(2) {
    transition-delay: 0.1s;
  }
  header .header_nav li.header_nav_item-about:hover .header_nav_submenu li:nth-child(3), header .header_nav li.header_nav_item-solution:hover .header_nav_submenu li:nth-child(3) {
    transition-delay: 0.15s;
  }
  header .header_nav li.header_nav_item-about:hover .header_nav_submenu li:nth-child(4), header .header_nav li.header_nav_item-solution:hover .header_nav_submenu li:nth-child(4) {
    transition-delay: 0.2s;
  }
}
header .header_nav li.header_nav_item-about .header_nav_submenu li:nth-child(1) {
  transition-delay: 0.05s;
}
header .header_nav li.header_nav_item-about .header_nav_submenu li:nth-child(2) {
  transition-delay: 0.1s;
}
header .header_nav li.header_nav_item-about .header_nav_submenu li:nth-child(3) {
  transition-delay: 0.15s;
}
@media (min-width: 769px) {
  header .header_nav li.header_nav_item-about:hover .header_nav_submenu li:nth-child(1) {
    transition-delay: 0.05s;
  }
  header .header_nav li.header_nav_item-about:hover .header_nav_submenu li:nth-child(2) {
    transition-delay: 0.1s;
  }
  header .header_nav li.header_nav_item-about:hover .header_nav_submenu li:nth-child(3) {
    transition-delay: 0.15s;
  }
}
header .header_nav_logo {
  display: none;
}
@media screen and (max-width: 768px) {
  header .header_nav_logo {
    display: block;
  }
}
header .header_tel {
  position: absolute;
  bottom: -2.8em;
  right: 2em;
  color: #fff;
  letter-spacing: 0.2em;
  font-size: 0.625em;
  font-weight: 500;
}
header .header_tel a {
  color: #fff;
  font-size: 1.7em;
  font-weight: bold;
  padding-left: 0.3em;
}
@media screen and (max-width: 768px) {
  header {
    overflow: visible;
  }
  header .header {
    overflow: visible;
  }
  header .header_hamburger {
    display: flex;
  }
  header .header_nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-height: 100vh;
    min-height: 100vh;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    padding-top: 6em;
    padding-bottom: 10em;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease, -webkit-backdrop-filter 0.8s ease, backdrop-filter 0.8s ease, visibility 0.8s ease;
    z-index: 10000;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    will-change: scroll-position;
  }
  header .header_nav.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    position: fixed;
    height: 100vh;
    max-height: 100vh;
  }
  header .header_nav li {
    width: 100%;
    text-align: center;
    padding: 1em 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    opacity: 0;
    transform: translateY(-0.8em);
    transition: opacity 0.8s ease, transform 0.8s ease;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 768px) and (max-width: 321px) and (max-height: 580px) {
  header .header_nav li {
    padding: 0.3em 0;
  }
}
@media screen and (max-width: 768px) {
  header .header_nav li a {
    font-size: 1.2em;
    display: block;
    padding: 0.5em 0;
  }
  header .header_nav li.contactBtn {
    margin-top: 1em;
    border-bottom: none;
  }
  header .header_nav li.contactBtn a {
    display: inline-block;
    padding: 0.5em 2em;
    width: 60%;
  }
  header .header_nav li.header_nav_logo {
    margin-top: auto;
    margin-bottom: 2em;
    padding: 0;
    border-bottom: none;
    opacity: 0;
    filter: blur(20px);
    transform: none;
    transition: opacity 1s ease, filter 1s ease;
    padding-top: 3em;
  }
  header .header_nav li.header_nav_logo img {
    width: 100%;
    height: auto;
    display: block;
  }
  header .header_nav li.header_nav_item-about, header .header_nav li.header_nav_item-solution {
    position: relative;
    padding-bottom: 0;
  }
  header .header_nav li.header_nav_item-about > a, header .header_nav li.header_nav_item-solution > a {
    padding-bottom: 1.3em;
  }
}
@media screen and (max-width: 768px) and (max-width: 321px) and (max-height: 580px) {
  header .header_nav li.header_nav_item-about > a, header .header_nav li.header_nav_item-solution > a {
    padding-bottom: 0.6em;
  }
}
@media screen and (max-width: 768px) {
  header .header_nav li.header_nav_item-about .header_nav_submenu, header .header_nav li.header_nav_item-solution .header_nav_submenu {
    position: static;
    transform: none;
    margin-top: 0;
    width: 100%;
    display: block;
    border-top: none;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    flex-wrap: wrap;
    border-top: 0.0625em solid rgba(255, 255, 255, 0.1);
  }
  header .header_nav li.header_nav_item-about .header_nav_submenu.submenu02, header .header_nav li.header_nav_item-solution .header_nav_submenu.submenu02 {
    transform: none;
  }
  header .header_nav li.header_nav_item-about .header_nav_submenu li, header .header_nav li.header_nav_item-solution .header_nav_submenu li {
    width: 50%;
    text-align: center;
    transform: none;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  header .header_nav li.header_nav_item-about .header_nav_submenu li.header_nav_submenu_w100, header .header_nav li.header_nav_item-solution .header_nav_submenu li.header_nav_submenu_w100 {
    width: 100%;
  }
  header .header_nav li.header_nav_item-about .header_nav_submenu li a, header .header_nav li.header_nav_item-solution .header_nav_submenu li a {
    display: block;
    padding: 0.8em 0;
    font-size: 1em;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu, header .header_nav li.header_nav_item-solution.is-open .header_nav_submenu {
    max-height: 11em;
    opacity: 1;
    visibility: visible;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu li, header .header_nav li.header_nav_item-solution.is-open .header_nav_submenu li {
    width: 50%;
    opacity: 1;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu li:nth-child(1), header .header_nav li.header_nav_item-solution.is-open .header_nav_submenu li:nth-child(1) {
    transition-delay: 0.05s;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu li:nth-child(2), header .header_nav li.header_nav_item-solution.is-open .header_nav_submenu li:nth-child(2) {
    transition-delay: 0.1s;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu li:nth-child(3), header .header_nav li.header_nav_item-solution.is-open .header_nav_submenu li:nth-child(3) {
    transition-delay: 0.15s;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu li:nth-child(4), header .header_nav li.header_nav_item-solution.is-open .header_nav_submenu li:nth-child(4) {
    transition-delay: 0.2s;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu li.header_nav_submenu_w100, header .header_nav li.header_nav_item-solution.is-open .header_nav_submenu li.header_nav_submenu_w100 {
    width: 100%;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu li:nth-child(1) {
    transition-delay: 0.05s;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu li:nth-child(2) {
    transition-delay: 0.1s;
  }
  header .header_nav li.header_nav_item-about.is-open .header_nav_submenu li:nth-child(3) {
    transition-delay: 0.15s;
  }
  header .header_nav.is-open li {
    opacity: 1;
    transform: translateY(0);
  }
  header .header_nav.is-open li:nth-child(1) {
    transition-delay: 0.1s;
  }
  header .header_nav.is-open li:nth-child(2) {
    transition-delay: 0.2s;
  }
  header .header_nav.is-open li:nth-child(3) {
    transition-delay: 0.3s;
  }
  header .header_nav.is-open li:nth-child(4) {
    transition-delay: 0.4s;
  }
  header .header_nav.is-open li:nth-child(5) {
    transition-delay: 0.5s;
  }
  header .header_nav.is-open li:nth-child(6) {
    transition-delay: 0.6s;
  }
  header .header_nav.is-open li:nth-child(7) {
    transition-delay: 0.7s;
  }
  header .header_nav.is-open li:nth-child(8) {
    transition-delay: 0.8s;
  }
  header .header_nav.is-open li:nth-child(9) {
    transition-delay: 0.9s;
  }
  header .header_nav.is-open li:nth-child(10) {
    transition-delay: 1s;
  }
  header .header_nav.is-open li.header_nav_logo {
    opacity: 1;
    filter: blur(0px);
    transition-delay: 0.3s;
  }
}

.scroll-promotion-btn {
  position: fixed;
  bottom: 2em;
  right: 2em;
  width: 1.875em;
  height: 6.28125em;
  z-index: 9990;
  transition: transform 0.3s ease, opacity 0.3s ease;
  mix-blend-mode: difference;
  opacity: 0;
  animation: scroll-promotion-fadein 0.5s ease-out 3s forwards;
}
.scroll-promotion-btn.is-back-to-top:hover {
  transform: scale(1.1);
}
.scroll-promotion-btn_icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 1.5em;
  height: 0;
  color: #fff;
  z-index: 9991;
  animation: scroll-promotion-arrow 2s ease-in-out infinite;
}
.scroll-promotion-btn_icon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0.0625em;
  height: 100%;
  background-color: currentColor;
}
.scroll-promotion-btn_icon::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1em;
  height: 1em;
  border-right: 0.0625em solid currentColor;
  border-bottom: 0;
  transform: translateX(-50%) translateY(-0.25em) rotate(45deg);
}
.scroll-promotion-btn_txt {
  writing-mode: vertical-rl;
  font-size: 0.75em;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 0;
  animation: scroll-promotion-txt01 2s ease-in-out infinite;
}
.scroll-promotion-btn.is-back-to-top {
  cursor: pointer;
}
.scroll-promotion-btn.is-back-to-top .scroll-promotion-btn_icon {
  transform: rotate(180deg);
  top: auto;
  bottom: 0;
}
.scroll-promotion-btn.is-back-to-top .scroll-promotion-btn_icon::after {
  transform: translateX(-50%) translateY(-0.25em) rotate(135deg);
}
.scroll-promotion-btn.is-back-to-top .scroll-promotion-btn_txt {
  top: auto;
  bottom: 0;
  animation: scroll-promotion-txt02 2s ease-in-out infinite;
}
.scroll-promotion-btn.is-hidden {
  opacity: 0;
  pointer-events: none;
}

@keyframes scroll-promotion-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes scroll-promotion-arrow {
  0% {
    opacity: 0;
    height: 0em;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    height: 6.28125em;
  }
}
@keyframes scroll-promotion-txt01 {
  0% {
    transform: translateY(0em);
  }
  70% {
    transform: translateY(0.5em);
  }
  100% {
    transform: translateY(0em);
  }
}
@keyframes scroll-promotion-txt02 {
  0% {
    transform: translateY(0em);
  }
  60% {
    transform: translateY(-0.5em);
  }
  100% {
    transform: translateY(0em);
  }
}
footer {
  position: relative;
  z-index: 10;
}

.footer {
  background-color: #000;
  padding-block: 15.375em;
  position: relative;
  color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .footer {
    padding-block: 9.375em 6em;
  }
}
.footer_inner {
  max-width: 58.4375em;
  width: 90%;
  margin-inline: auto;
  position: relative;
  z-index: 3;
}
@media (max-width: 1250px) {
  .footer_inner {
    margin: 0 5% 0 auto;
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  .footer_inner {
    margin: 0 auto;
    width: 90%;
  }
}
.footer_inner_fb {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .footer_inner_fb {
    flex-direction: column;
    gap: 5em;
  }
}
.footer_infoArea {
  width: 24.0625em;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .footer_infoArea {
    width: 100%;
    transform: translateX(3.5%);
  }
}
.footer_infoArea_logo {
  width: 35.85%;
}
.footer_infoArea_infoBlock {
  width: 55.85%;
}
@media screen and (max-width: 768px) {
  .footer_infoArea_infoBlock {
    font-size: 1.15em;
  }
}
.footer_infoArea_infoBlock .address {
  font-size: 0.8125em;
  line-height: 1.6;
}
.footer_infoArea_infoBlock .tel {
  color: #fff;
  font-weight: 700;
  font-size: 1.4375em;
  margin-top: 0.8em;
  letter-spacing: 0.1em;
}
.footer_infoArea_infoBlock .linkArea {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.2em;
  margin-top: 0.5em;
}
.footer_infoArea_infoBlock .linkArea .linkArea_contact a {
  font-size: 0.75em;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 0.3em 2.5em 0.4em;
  border-radius: 5em;
  border: 0.0625em solid #fff;
  transition: all 0.3s ease;
  color: #fff;
}
.footer_infoArea_infoBlock .linkArea .linkArea_contact a:hover {
  background-color: #fff;
  color: #000;
  opacity: 1;
}
.footer_infoArea_infoBlock .linkArea .linkArea_insta a img {
  width: 2.1em;
  height: 2.1em;
}
.footer_menuArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 0.8em;
  width: 17.6875em;
}
@media screen and (max-width: 768px) {
  .footer_menuArea {
    width: 87%;
    row-gap: 1.5em;
    transform: translateX(5%);
  }
}
.footer_menuArea a {
  width: 50%;
  font-size: 1.2em;
  font-weight: bold;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer_menuArea a {
    font-size: 1.5em;
    letter-spacing: 0.15em;
  }
}
.footer_menuArea a.ss {
  font-size: 0.8em;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .footer_menuArea a.ss {
    font-size: 1.15em;
  }
}
.footer_copyright {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer_copyright {
    position: relative;
    padding-block: 2em 0;
    background-color: #000;
  }
}
.footer_copyright p {
  font-size: 0.75em;
  padding-block: 0.7em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer_copyright p {
    padding-block: 3em 1em;
  }
}
.footer .lineAction_wrapper {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .footer .lineAction_wrapper {
    opacity: 0.5;
  }
}
@media (min-width: 1850px) {
  .footer .lineAction_wrapper .lineAction {
    width: 170%;
    height: 170%;
    left: 80%;
  }
}
@media screen and (max-width: 768px) {
  .footer .lineAction_wrapper .lineAction {
    width: 200%;
    height: 200%;
    top: 34%;
    left: 79%;
  }
  .footer .lineAction_wrapper .lineAction .lineAction_line.line8::after {
    top: -5%;
  }
  .footer .lineAction_wrapper .lineAction .lineAction_line.line8-::after {
    top: 5%;
    transform: rotate(-12deg);
  }
}

.inner1000 {
  max-width: 62.5em;
  width: 90%;
  margin: 0 auto;
}

.inner900 {
  max-width: 56.25em;
  width: 90%;
  margin: 0 auto;
}

section .ttl_en {
  font-size: 0.75em;
  font-weight: 500;
  color: #fff;
  text-align: center;
}
section .ttl_ja {
  font-size: 3.125em;
  font-weight: 500;
  line-height: 1;
  color: #2b2929;
  text-align: center;
  margin-top: 0.2em;
}

.lineAction {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  height: 100%;
  width: 100%;
  z-index: 3;
  overflow: hidden;
}
.lineAction_line {
  width: 0.0625em;
  background-color: #fff;
  z-index: 2;
  position: absolute;
  top: 0%;
  opacity: 0;
  height: 0;
  transform: translateY(0);
  left: 11.815%;
}
.lineAction_line.line1 {
  opacity: 0;
  animation: none;
}
.lineAction_line.line1.start-animation {
  opacity: 0.6;
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line2 {
  height: 110%;
  left: 11.562%;
  transform: translateY(-50%) rotate(10deg);
}
.lineAction_line.line2.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line2.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo2 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line2- {
  height: 110%;
  left: 11.562%;
  transform: translateY(-50%) rotate(-10deg);
}
.lineAction_line.line2-.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line2-.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo2Minus 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line3 {
  height: 120%;
  left: 11.182%;
  transform: translateY(-50%) rotate(20deg);
}
.lineAction_line.line3.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line3.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo3 1s cubic-bezier(0.4, 0, 0.2, 1) 0.1s forwards;
}
.lineAction_line.line3- {
  height: 120%;
  left: 11.182%;
  transform: translateY(-50%) rotate(-20deg);
}
.lineAction_line.line3-.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line3-.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo3Minus 1s cubic-bezier(0.4, 0, 0.2, 1) 0.1s forwards;
}
.lineAction_line.line4 {
  height: 130%;
  left: 10.255%;
  transform: translateY(-50%) rotate(30deg);
}
.lineAction_line.line4.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line4.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo4 1s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
}
.lineAction_line.line4- {
  height: 130%;
  left: 10.255%;
  transform: translateY(-50%) rotate(-30deg);
}
.lineAction_line.line4-.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line4-.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo4Minus 1s cubic-bezier(0.4, 0, 0.2, 1) 0.2s forwards;
}
.lineAction_line.line5 {
  height: 180%;
  left: 8.61%;
  transform: translateY(-50%) rotate(41deg);
}
.lineAction_line.line5.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line5.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo5 1s cubic-bezier(0.4, 0, 0.2, 1) 0.3s forwards;
}
.lineAction_line.line5- {
  height: 180%;
  left: 8.61%;
  transform: translateY(-50%) rotate(-41deg);
}
.lineAction_line.line5-.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line5-.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo5Minus 1s cubic-bezier(0.4, 0, 0.2, 1) 0.3s forwards;
}
.lineAction_line.line6 {
  height: 250%;
  left: 5.6545%;
  transform: translateY(-50%) rotate(52.5deg);
}
.lineAction_line.line6.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line6.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo6 1s cubic-bezier(0.4, 0, 0.2, 1) 0.4s forwards;
}
.lineAction_line.line6- {
  height: 250%;
  left: 5.6545%;
  transform: translateY(-50%) rotate(-52.5deg);
}
.lineAction_line.line6-.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line6-.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo6Minus 1s cubic-bezier(0.4, 0, 0.2, 1) 0.4s forwards;
}
.lineAction_line.line7 {
  height: 300%;
  left: -0.6756%;
  transform: translateY(-50%) rotate(64.5deg);
}
.lineAction_line.line7.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line7.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo7 1s cubic-bezier(0.4, 0, 0.2, 1) 0.5s forwards;
}
.lineAction_line.line7- {
  height: 300%;
  left: -0.6756%;
  transform: translateY(-50%) rotate(-64.5deg);
}
.lineAction_line.line7-.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line7-.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo7Minus 1s cubic-bezier(0.4, 0, 0.2, 1) 0.5s forwards;
}
.lineAction_line.line8 {
  height: 600%;
  left: -20%;
  transform: translateY(-50%) rotate(77deg);
}
.lineAction_line.line8.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line8.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo8 1s cubic-bezier(0.4, 0, 0.2, 1) 0.6s forwards;
}
.lineAction_line.line8::after {
  content: "";
  position: absolute;
  top: -10%;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform: rotate(13deg);
  opacity: 1;
}
.lineAction_line.line8- {
  height: 600%;
  left: -20%;
  transform: translateY(-50%) rotate(-77deg);
}
.lineAction_line.line8-.start-animation {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards;
}
.lineAction_line.line8-.start-move {
  animation: lineExtend 1s cubic-bezier(0.4, 0, 0.2, 1) 0s forwards, lineMoveTo8Minus 1s cubic-bezier(0.4, 0, 0.2, 1) 0.6s forwards;
}
.lineAction_line.line8-::after {
  content: "";
  position: absolute;
  top: 10%;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform: rotate(-13deg);
  opacity: 1;
}
.lineAction_wrapper {
  width: 100%;
  height: 100%;
}

.moreBtn {
  text-align: left;
  margin-top: 2em;
}
.moreBtn a {
  display: inline-block;
  color: #fff;
  border: 0.0625em solid #fff;
  padding: 1em 2em;
  font-size: 0.8125em;
  font-weight: 500;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}
.moreBtn a .btn-text,
.moreBtn a .btn-hover-text {
  display: block;
  transition: transform 0.3s ease;
}
.moreBtn a .btn-hover-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) translateY(-150%);
  color: #3c6c4a;
}
.moreBtn a:hover {
  background-color: #fff;
  color: #3c6c4a;
  opacity: 1;
}
.moreBtn a:hover .btn-text {
  transform: translateY(150%);
}
.moreBtn a:hover .btn-hover-text {
  transform: translate(-50%, -50%) translateY(0);
}

.lineWaveAction {
  position: relative;
  width: 100%;
  height: 5.75em;
  overflow: hidden;
}
.lineWaveAction_line {
  position: absolute;
  width: 100%;
  height: 0.0625em;
  background-color: #fff;
  top: 0;
}
.lineWaveAction_line.line1 {
  animation: waveMoveDown 3s ease-in-out 0s infinite;
}
.lineWaveAction_line.line2 {
  animation: waveMoveDown 3s ease-in-out 0.8s infinite;
}
.lineWaveAction_line.line3 {
  animation: waveMoveDown 3s ease-in-out 1.6s infinite;
}
.lineWaveAction_line.line4 {
  animation: waveMoveDown 3s ease-in-out 2.4s infinite;
}

@keyframes waveMoveDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(3em);
  }
}
@keyframes waveMoveDown2 {
  0% {
    opacity: 1;
    transform: translateY(0);
    width: 100%;
  }
  100% {
    opacity: 0;
    transform: translateY(2em);
    width: 90%;
  }
}
@keyframes lineExtend {
  0% {
    height: 0;
    top: 0%;
    transform: translateY(0);
  }
  100% {
    height: 100%;
    top: 0%;
    transform: translateY(0);
  }
}
@keyframes lineMoveTo8 {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: -20%;
    top: 50%;
    height: 600%;
    transform: translateY(-50%) rotate(77deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo8Minus {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: -20%;
    top: 50%;
    height: 600%;
    transform: translateY(-50%) rotate(-77deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo7 {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: -0.6756%;
    top: 50%;
    height: 300%;
    transform: translateY(-50%) rotate(64.5deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo7Minus {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: -0.6756%;
    top: 50%;
    height: 300%;
    transform: translateY(-50%) rotate(-64.5deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo6 {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 5.6545%;
    top: 50%;
    height: 250%;
    transform: translateY(-50%) rotate(52.5deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo6Minus {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 5.6545%;
    top: 50%;
    height: 250%;
    transform: translateY(-50%) rotate(-52.5deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo5 {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 8.61%;
    top: 50%;
    height: 180%;
    transform: translateY(-50%) rotate(41deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo5Minus {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 8.61%;
    top: 50%;
    height: 180%;
    transform: translateY(-50%) rotate(-41deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo4 {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 10.255%;
    top: 50%;
    height: 130%;
    transform: translateY(-50%) rotate(30deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo4Minus {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 10.255%;
    top: 50%;
    height: 130%;
    transform: translateY(-50%) rotate(-30deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo3 {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 11.182%;
    top: 50%;
    height: 120%;
    transform: translateY(-50%) rotate(20deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo3Minus {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 11.182%;
    top: 50%;
    height: 120%;
    transform: translateY(-50%) rotate(-20deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo2 {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 11.562%;
    top: 50%;
    height: 110%;
    transform: translateY(-50%) rotate(10deg);
    opacity: 0.6;
  }
}
@keyframes lineMoveTo2Minus {
  0% {
    left: 11.815%;
    top: 50%;
    height: 100%;
    transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    left: 11.562%;
    top: 50%;
    height: 110%;
    transform: translateY(-50%) rotate(-10deg);
    opacity: 0.6;
  }
}
body,
main {
  background-color: #efefef;
}

.vehicles {
  padding-block: 8em;
  color: #000;
}
.vehicles_inner {
  max-width: 62.5em;
  width: 90%;
  margin-inline: auto;
}
.vehicles_ttlArea {
  margin-top: 3em;
}
.vehicles_ttlArea .ttl_en {
  color: #000;
}
.vehicles_ttlArea .ttl_ja {
  font-size: 1.875em;
}
.vehicles_leadArea {
  margin-top: 2em;
  text-align: center;
}
.vehicles_leadArea_ttl {
  font-size: 1.5625em;
  font-weight: 500;
}
.vehicles_leadArea_txt {
  font-size: 0.75em;
  font-weight: 500;
  line-height: 2.5;
  margin-top: 2em;
}
@media screen and (max-width: 768px) {
  .vehicles_leadArea_txt {
    font-size: 0.95em;
    letter-spacing: 0.01em;
  }
}
.vehicles_listArea {
  margin-top: 4em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  row-gap: 3em;
}
@media screen and (max-width: 768px) {
  .vehicles_listArea {
    row-gap: 2.5em;
  }
}
.vehicles_listArea_item {
  width: 28%;
  margin-right: 8%;
}
.vehicles_listArea_item:nth-of-type(3n) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .vehicles_listArea_item {
    width: 100%;
    margin-right: 0%;
  }
  .vehicles_listArea_item:nth-of-type(2n) {
    margin-right: 0;
  }
}
.vehicles_listArea_item_name {
  text-align: center;
  font-size: 1.25em;
  font-weight: 500;
  margin-top: 0.8em;
}
@media screen and (max-width: 768px) {
  .vehicles_listArea_item_name {
    font-size: 1.4em;
  }
}
.vehicles_listArea_item dl div {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  font-size: 0.8125em;
}
.vehicles_listArea_item dl div:nth-of-type(n + 2) {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .vehicles_listArea_item dl div {
    font-size: 1em;
  }
}
.vehicles_listArea_item dl div dt {
  width: 35%;
  text-align: right;
}
.vehicles_listArea_item dl div dd {
  width: 55%;
  margin-left: 10%;
}/*# sourceMappingURL=style-vehicles.css.map */