@charset "UTF-8";
@font-face {
  font-family: "Yu Gothic";
  src: url("/wp-content/themes/vlcholdings/fonts/yu-gothic.eot");
  src: url("/wp-content/themes/vlcholdings/fonts/yu-gothic.eot#iefix") format("embedded-opentype"), url("/wp-content/themes/vlcholdings/fonts/yu-gothic.woff") format("woff"), url("/wp-content/themes/vlcholdings/fonts/yu-gothic.woff2") format("woff2"), url("/wp-content/themes/vlcholdings/fonts/yu-gothic.ttf") format("truetype"), url("/wp-content/themes/vlcholdings/fonts/yu-gothic.svg#Yu Gothic") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 2.67vw;
  scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
  html {
    -webkit-user-select: none; /* Safari, Chrome */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE/Edge */
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
}
@media screen and (min-width: 1441px) {
  html {
    font-size: 10px;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1440px) {
  html {
    font-size: 0.6944vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1239px) {
  html {
    font-size: 0.6944vw;
  }
}

.container-custom {
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .container-custom {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333333;
  min-height: 100vh;
  overflow-x: hidden;
  overflow-wrap: anywhere;
  line-break: strict;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  border: none;
  background: none;
  cursor: pointer;
}

ul,
ol {
  list-style: none;
}

.container {
  max-width: 144.1rem;
  margin: 0 auto;
  padding: 0 2rem;
}

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

.hidden {
  display: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.is-pc {
  display: block;
}

.is-mtablet {
  display: none;
}

.is-sp {
  display: none;
}

@media screen and (max-width: 479px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
}
@media screen and (min-width: 480px) and (max-width: 768px) {
  .is-pc {
    display: none;
  }
  .is-mtablet {
    display: block;
  }
}
@-webkit-keyframes moveEnd {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes moveEnd {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
body.admin-bar .header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar .header {
    top: 0;
  }
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 1000;
  padding: 1.2rem 2rem;
  -webkit-transition: background-color 0.1s ease 0.4s, all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transition: background-color 0.1s ease 0.4s, all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: visible;
  z-index: 999;
}
.header .header__container {
  margin: 0 auto;
  padding: 0 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}
.header .header__logo .header__logo-img {
  height: 5.6rem;
}
.header .header__logo .header__logo-white {
  display: block;
}
.header .header__logo .header__logo-basic {
  display: none;
}
.header .header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-right: 0;
}
.header .header__nav .header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  gap: 4rem;
  margin-top: -0.5rem;
}
@media screen and (max-width: 1024px) {
  .header .header__nav .header__nav-list {
    margin-top: 0;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #eff0f2;
    backdrop-filter: blur(15px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 3.2rem 6rem;
    -webkit-box-shadow: unset;
            box-shadow: unset;
    gap: 1.5rem;
    opacity: 0;
  }
  .header .header__nav .header__nav-list.header__nav-list--active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 3.2rem 6rem;
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .header .header__nav .header__nav-list {
    padding: 3.2rem 2rem;
  }
  .header .header__nav .header__nav-list.header__nav-list--active {
    padding: 3.2rem 2rem;
  }
}
.header .header__nav .header__nav-list .dropdown {
  position: relative;
  height: 5.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
.header .header__nav .header__nav-list .dropdown .header__nav-link {
  position: relative;
  font-family: "Jost", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.3rem;
}
@media screen and (max-width: 1024px) {
  .header .header__nav .header__nav-list .dropdown .header__nav-link {
    font-size: 2rem;
    line-height: 2.7rem;
  }
}
@media screen and (max-width: 768px) {
  .header .header__nav .header__nav-list .dropdown .header__nav-link {
    font-size: 1.6rem;
    line-height: 2.3rem;
  }
}
.header .header__nav .header__nav-list .dropdown .header__nav-link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -0.2rem;
  left: 0;
  width: 0%;
  height: 0.2rem;
  background-color: rgba(0, 0, 0, 0);
  -webkit-transition: all 500ms ease;
  transition: all 500ms ease;
}
.header .header__nav .header__nav-list .dropdown:hover > .header__nav-link::before {
  width: 100%;
  background-color: #9e925c !important;
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu {
  position: absolute;
  top: 106%;
  left: 0;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 17.2rem;
  overflow: visible;
  padding: 1.6rem 2rem;
  font-size: 1.4rem;
  text-align: left;
  list-style: none;
  background-color: #eff0f2;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  gap: 0.6rem;
}
@media screen and (max-width: 1024px) {
  .header .header__nav .header__nav-list .dropdown .dropdown-menu {
    background: transparent;
  }
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu::before {
  content: "";
  position: absolute;
  top: -2rem;
  left: -20px;
  right: -20px;
  height: 2rem;
  background: transparent;
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li {
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1024px) {
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li {
    padding-left: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li {
    padding-left: 2rem;
  }
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  color: #5c6d7c;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: 400;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 3rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li a {
    font-size: 1.8rem;
    line-height: 3.4rem;
  }
}
@media screen and (max-width: 768px) {
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li a {
    font-size: 1.4rem;
    line-height: 3rem;
  }
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li a::before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='12' viewBox='0 0 6 12'%3E%3Cpath id='Path_64400' data-name='Path 64400' d='M122.567,213.552l6-5.98-6-6.02Z' transform='translate(-122.567 -201.552)' fill='%239e925c'/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 0;
  height: 1.2rem;
  margin-right: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2rem;
  opacity: 0;
  margin-top: 0.3rem;
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li a::after {
  content: "";
  width: 0.5rem;
  height: 100%;
  opacity: 1;
  position: absolute;
  top: 0;
  left: -0.2rem;
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li a:hover, .header .header__nav .header__nav-list .dropdown .dropdown-menu li a.active {
  color: #9e925c;
  font-weight: 700;
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li a:hover::before, .header .header__nav .header__nav-list .dropdown .dropdown-menu li a.active::before {
  color: #9e925c;
  width: 0.6rem;
  opacity: 1;
  margin-right: 0.4rem;
}
@media screen and (max-width: 1024px) {
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li a:hover::before, .header .header__nav .header__nav-list .dropdown .dropdown-menu li a.active::before {
    width: 1.2rem;
    height: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li a:hover::before, .header .header__nav .header__nav-list .dropdown .dropdown-menu li a.active::before {
    width: 0.8rem;
    height: 1.4rem;
  }
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li a small {
  font-size: 1.2rem;
  color: #666666;
  font-weight: 300;
  display: block;
  line-height: 1.3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li a:hover small, .header .header__nav .header__nav-list .dropdown .dropdown-menu li a.active small {
  color: #9e925c;
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li:last-child a {
  border-bottom: none;
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li:first-child a {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  white-space: nowrap;
}
.header .header__nav .header__nav-list .dropdown .dropdown-menu li:last-child a {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  white-space: nowrap;
}
@media screen and (min-width: 1025px) {
  .header .header__nav .header__nav-list .dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
  }
  .header .header__nav .header__nav-list .dropdown .dropdown-menu:hover {
    opacity: 1;
    visibility: visible;
  }
}
.header .header__nav .header__btn--download {
  display: none;
}
.header .header__nav .header__nav-link {
  text-decoration: none;
  color: white;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  font-size: 1.6rem;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.header .header__nav .header__nav-link:hover {
  color: white;
}
@media screen and (max-width: 1024px) {
  .header .header__nav .header__nav-link {
    color: #52687d;
    text-shadow: none;
    padding: 1rem 0;
    border-bottom: 1px solid #eee;
  }
  .header .header__nav .header__nav-link:hover {
    color: #52687d;
  }
  .header .header__nav .header__nav-link:last-child {
    border-bottom: none;
  }
}
.header .header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  position: relative;
}
.header .header__btn {
  font-size: 1.3rem;
  line-height: 1.5rem;
  height: 4.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  color: #fff;
  border: 1px solid #fff;
  background-color: rgba(255, 255, 255, 0.2);
  width: 16rem;
  position: relative;
}
.header .header__btn > * {
  position: relative;
  z-index: 10;
}
.header .header__btn::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-size: contain;
  margin-right: 0.6rem;
  margin-left: 0.7rem;
  position: relative;
  z-index: 10;
}
.header .header__btn.header__btn--download {
  width: 22rem;
  padding-right: 0.7rem;
  gap: 0.2rem;
}
.header .header__btn.header__btn--download::after {
  background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_download.svg");
}
.header .header__btn.header__btn--contact::after {
  background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_email.svg");
  margin-right: 9px;
  margin-left: -7px;
}
.header .header__btn:hover.header__btn--download::after {
  background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_download_basic.svg");
}
.header .header__btn:hover.header__btn--contact::after {
  background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_email_basic.svg");
}
.header .header__danger {
  position: fixed;
  top: 8.8rem;
  width: 5rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background-color: #BA293A;
  text-orientation: mixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.9rem;
  font-weight: 500;
  z-index: 1001;
  padding: 1.4rem 0.1rem 2rem 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.08rem;
  right: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-top-left-radius: 0.4rem;
  border-bottom-left-radius: 0.4rem;
}
@media screen and (max-width: 479px) {
  .header .header__danger {
    width: 4.4rem;
    padding-top: 0.9rem;
    gap: 0.3rem;
    padding-bottom: 1.7rem;
    font-size: 1.3rem;
  }
}
.header .header__danger:hover {
  background-color: #d33952;
}
.header .header__danger::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2.6rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_warning.svg");
}
.header .header__danger.header__danger--fixed {
  position: fixed !important;
  top: 40px !important;
}
.header .header__menu-btn {
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: none;
  border: none;
  cursor: pointer;
  gap: 1rem;
}
.header .header__menu-btn span {
  width: 2.6rem;
  height: 0.2rem;
  background: white;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (max-width: 1024px) {
  .header .header__menu-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.header .header__menu-btn.header__menu-btn--active span {
  width: 3.2rem;
}
.header .header__menu-btn.header__menu-btn--active span:nth-child(1) {
  -webkit-transform: translateY(1.2rem) rotate(39deg);
          transform: translateY(1.2rem) rotate(39deg);
}
.header .header__menu-btn.header__menu-btn--active span:nth-child(2) {
  opacity: 0;
}
.header .header__menu-btn.header__menu-btn--active span:nth-child(3) {
  -webkit-transform: translateY(-1.2rem) rotate(-36deg);
          transform: translateY(-1.2rem) rotate(-36deg);
}
.header.header--scrolled, .header.header--active, .header.header--show, .header.header--scrolled.header--active {
  padding: 1.2rem 2rem;
  background: rgba(255, 255, 255, 0.61);
  backdrop-filter: blur(13px) brightness(1.22);
  -webkit-backdrop-filter: blur(13px) brightness(1.22);
}
.header.header--scrolled .header__logo-white, .header.header--active .header__logo-white, .header.header--show .header__logo-white, .header.header--scrolled.header--active .header__logo-white {
  display: none;
}
.header.header--scrolled .header__logo-basic, .header.header--active .header__logo-basic, .header.header--show .header__logo-basic, .header.header--scrolled.header--active .header__logo-basic {
  display: block;
}
.header.header--scrolled .header__nav-link,
.header.header--scrolled .header__btn, .header.header--active .header__nav-link,
.header.header--active .header__btn, .header.header--show .header__nav-link,
.header.header--show .header__btn, .header.header--scrolled.header--active .header__nav-link,
.header.header--scrolled.header--active .header__btn {
  color: #52687d;
  text-shadow: none;
  border-color: #52687d;
}
.header.header--scrolled .header__nav-link:hover,
.header.header--scrolled .header__btn:hover, .header.header--active .header__nav-link:hover,
.header.header--active .header__btn:hover, .header.header--show .header__nav-link:hover,
.header.header--show .header__btn:hover, .header.header--scrolled.header--active .header__nav-link:hover,
.header.header--scrolled.header--active .header__btn:hover {
  color: #52687d;
}
.header.header--scrolled .header__nav-link.header__btn--download::after,
.header.header--scrolled .header__btn.header__btn--download::after, .header.header--active .header__nav-link.header__btn--download::after,
.header.header--active .header__btn.header__btn--download::after, .header.header--show .header__nav-link.header__btn--download::after,
.header.header--show .header__btn.header__btn--download::after, .header.header--scrolled.header--active .header__nav-link.header__btn--download::after,
.header.header--scrolled.header--active .header__btn.header__btn--download::after {
  background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_download_basic.svg");
}
.header.header--scrolled .header__nav-link.header__btn--contact::after,
.header.header--scrolled .header__btn.header__btn--contact::after, .header.header--active .header__nav-link.header__btn--contact::after,
.header.header--active .header__btn.header__btn--contact::after, .header.header--show .header__nav-link.header__btn--contact::after,
.header.header--show .header__btn.header__btn--contact::after, .header.header--scrolled.header--active .header__nav-link.header__btn--contact::after,
.header.header--scrolled.header--active .header__btn.header__btn--contact::after {
  background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_email_basic.svg");
}
.header.header--scrolled .header__nav .header__nav-list .dropdown .header__nav-link::before, .header.header--active .header__nav .header__nav-list .dropdown .header__nav-link::before, .header.header--show .header__nav .header__nav-list .dropdown .header__nav-link::before, .header.header--scrolled.header--active .header__nav .header__nav-list .dropdown .header__nav-link::before {
  background-color: rgba(0, 0, 0, 0);
}
.header.header--scrolled .header__nav .header__nav-list .dropdown:hover > .header__nav-link::before, .header.header--active .header__nav .header__nav-list .dropdown:hover > .header__nav-link::before, .header.header--show .header__nav .header__nav-list .dropdown:hover > .header__nav-link::before, .header.header--scrolled.header--active .header__nav .header__nav-list .dropdown:hover > .header__nav-link::before {
  background-color: #52687d;
}
.header.header--scrolled .header__nav .header__nav-list .dropdown .dropdown-menu, .header.header--active .header__nav .header__nav-list .dropdown .dropdown-menu, .header.header--show .header__nav .header__nav-list .dropdown .dropdown-menu, .header.header--scrolled.header--active .header__nav .header__nav-list .dropdown .dropdown-menu {
  margin-top: 0;
}
.header.header--scrolled .header__menu-btn span, .header.header--active .header__menu-btn span, .header.header--show .header__menu-btn span, .header.header--scrolled.header--active .header__menu-btn span {
  background: #52687d;
}

.home .header {
  z-index: -1;
}

@media screen and (max-width: 1024px) {
  .header {
    padding: 1.2rem 2.1rem 1.2rem 2rem;
  }
  .header.header--active .header__actions .header__danger {
    opacity: 0;
    pointer-events: none;
  }
  .header.header--active::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, 0.68);
    backdrop-filter: blur(20px) brightness(1.22);
    -webkit-backdrop-filter: blur(20px) brightness(1.22);
  }
  .header.header--active::after {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    left: 0;
    height: 100vh;
    background-image: url("/wp-content/themes/vlcholdings/images/bg-menu.png");
    background-size: 100% 100%;
    z-index: -1;
  }
  .header .header__container {
    padding: 0;
    min-height: 4.8rem;
  }
  .header .header__logo .header__logo-img {
    height: 4.8rem;
  }
  .header .header__actions {
    gap: 3rem;
  }
  .header .header__actions .header__btn--download {
    display: none;
  }
  .header .header__actions .header__btn--contact {
    width: 3rem;
    height: 2.4rem;
    padding: 0;
    border: none;
    background: none;
    font-size: 0;
  }
  .header .header__actions .header__btn--contact::after {
    margin: 0;
    width: 3rem;
    height: 2.4rem;
    display: block;
  }
  .header .header__actions .header__btn--contact span,
  .header .header__actions .header__btn--contact br {
    display: none;
  }
  .header .header__actions .header__danger span {
    display: block;
    line-height: 1;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .header .header__actions .header__danger span:hover {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    color: #ffe4e6;
  }
  .header .header__actions .header__danger::before {
    content: "";
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    margin: 0 auto 0.8rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_warning.svg");
    margin-bottom: 1rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (max-width: 1024px) and (max-width: 479px) {
  .header .header__actions .header__danger::before {
    margin-top: 0.4rem;
    margin-bottom: 0.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .header .header__menu-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0.8rem;
  }
  .header .header__nav .header-line {
    display: none;
    width: 100%;
    height: 2.5rem;
    background-color: #041126;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .header .header__nav .header-line::before {
    content: "";
    width: 100%;
    height: 100vw;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='375' height='374.526' viewBox='0 0 375 374.526'%3E%3Cdefs%3E%3ClinearGradient id='linear-gradient' x1='0.981' y1='0.034' x2='0.131' y2='0.82' gradientUnits='objectBoundingBox'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='0.545'/%3E%3Cstop offset='1' stop-color='%23fff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='Group_16283' data-name='Group 16283' transform='translate(-59.786 -187.62)' opacity='0.3'%3E%3Cpath id='Path_64136' data-name='Path 64136' d='M653.533,463.042,718,398.64V300.732L555.647,463.042,718,625.353V527.486Z' transform='translate(-283.218 -113.112)' fill='url(/wp-content/themes/vlcholdings/css/%23linear-gradient)'/%3E%3Cpath id='Path_64138' data-name='Path 64138' d='M446.428,669.764,510.9,734.217h97.871L446.405,571.925,284.028,734.217h97.959Z' transform='translate(-224.242 -172.071)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    bottom: 2.5rem;
    left: 0;
    position: absolute;
  }
  .header .header__nav .header__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    top: 7.2rem;
    left: 0;
    width: 100%;
    height: 0;
    gap: 0;
    background: transparent;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden;
    z-index: 999;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    visibility: visible;
    -webkit-transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .header .header__nav .header__nav-list.header__nav-list--active {
    background: transparent;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, padding 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
    transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s, padding 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
    backdrop-filter: unset;
    -webkit-box-shadow: unset;
            box-shadow: unset;
    padding-bottom: 4rem;
    height: auto;
    min-height: calc(100vh - 7.2rem);
    max-height: calc(100vh - 7.2rem);
    margin-top: -0.2rem;
  }
  .header .header__nav .header__nav-list .dropdown {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    min-height: auto;
    display: block;
    height: unset;
    z-index: 2;
  }
  .header .header__nav .header__nav-list .dropdown .header__nav-link {
    display: block;
    padding: 2.1rem 0rem 1.05rem;
    color: #52687d;
    text-decoration: none;
    border: none;
    background: none;
    width: 100%;
    text-align: left;
    position: relative;
    cursor: pointer;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .header .header__nav .header__nav-list .dropdown .header__nav-link::before {
    display: none;
  }
  .header .header__nav .header__nav-list .dropdown .header__nav-link::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 3rem;
    height: 3rem;
    background-image: url(/wp-content/themes/vlcholdings/images/icon/icon_plus.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    padding-top: 1.5rem;
  }
  .header .header__nav .header__nav-list .dropdown.active .header__nav-link::after {
    background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_minus.svg");
  }
  .header .header__nav .header__nav-list .dropdown .dropdown-menu {
    display: block;
    position: relative;
    -webkit-box-shadow: none;
            box-shadow: none;
    border-radius: 0;
    width: 100%;
    max-height: 0;
    overflow: hidden;
    padding: 0;
    top: 0;
    left: auto;
    margin-top: 0 !important;
    -webkit-transform: none;
            transform: none;
    border: 0;
    -webkit-transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .header .header__nav .header__nav-list .dropdown .dropdown-menu {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 1024px) {
  .header .header__nav .header__nav-list .dropdown .dropdown-menu.show {
    padding-bottom: 0.3rem;
    padding-top: 1.1rem;
  }
  .header .header__nav .header__nav-list .dropdown .dropdown-menu::before {
    display: none;
  }
  .header .header__nav .header__nav-list .dropdown .dropdown-menu.show {
    background: transparent;
    max-height: 50rem;
    overflow: visible;
    opacity: 1;
  }
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li {
    display: block;
    width: 100%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    opacity: 1;
  }
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li a {
    text-decoration: none;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 100%;
    visibility: visible;
    opacity: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    letter-spacing: -0.07em;
  }
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li a.active::before {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header .header__nav .header__nav-list .dropdown .dropdown-menu li:last-child a {
    border-bottom: none;
  }
  .header .header__nav .header__btn--download {
    width: 100%;
    margin-top: 5.3rem;
    margin-bottom: 5.6rem;
    line-height: 2rem;
    padding: 1.7rem 0 1.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: unset;
    border: 0.1rem solid #fff;
    z-index: 2;
    background-color: rgba(255, 255, 255, 0.5019607843);
    gap: 0.4rem;
    margin-left: -0.4rem;
    letter-spacing: -0.03em;
  }
  .header.header--scrolled {
    background-color: #eff0f2;
  }
  .header.header--show.header--active .header__container {
    padding: 0;
  }
  .header.header--active, .header.header--show, .header.header--scrolled.header--active {
    padding: 1.2rem 2rem;
  }
  .header.header--active .header__actions {
    gap: 2.7rem;
  }
  .header.header--active .header__container {
    padding: 0;
    margin-left: -0.1rem;
    margin-right: -0.3rem;
  }
  .header.header--active .header__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.header .header__nav .header__nav-list .dropdown.menu-services .dropdown-menu::after {
  content: "※尚、グループ各社のWEBサイトにつきましては順次移行して参ります。";
  display: block;
  font-size: 1.2rem;
  width: 100%;
  height: auto;
  position: relative;
  color: #5c6d7c;
  font-weight: 400;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .header .header__nav .header__nav-list .dropdown.menu-services .dropdown-menu::after {
    font-size: 1.6rem;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .header .header__nav .header__nav-list .dropdown.menu-services .dropdown-menu.show::after {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

.footer .footer__column .footer__column--item.menu-services .footer__list::after {
  content: "※尚、グループ各社のWEBサイトにつきましては順次移行して参ります。";
  display: block;
  font-size: 1.2rem;
  width: 100%;
  height: auto;
  position: relative;
  color: #fff;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .footer .footer__column .footer__column--item.menu-services .footer__list::after {
    font-size: 1.6rem;
    padding-left: 2rem;
  }
}

.footer .footer__accordion-item.menu-services .footer__accordion-list::after {
  content: "※尚、グループ各社のWEBサイトにつきましては順次移行して参ります。";
  display: block;
  font-size: 1.2rem;
  width: 100%;
  height: auto;
  position: relative;
  color: #fff;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.4;
}

.footer {
  background: url("/wp-content/themes/vlcholdings/images/common/bg-footer.jpg") center center no-repeat;
  background-size: 100% 100%;
  color: white;
  padding: 6rem 0 2rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 6rem 0 1rem;
  }
}
.footer .footer__to__top {
  position: fixed;
  right: 4rem;
  bottom: 4rem;
  width: 8rem;
  height: 8rem;
  background: #a59968;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 1.6rem;
  cursor: pointer;
  z-index: 1000;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 480px) and (max-width: 768px) {
  .footer .footer__to__top {
    bottom: 2rem;
    right: 2rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1239px) {
  .footer .footer__to__top {
    right: 2rem;
    bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer__to__top {
    width: 4.8rem;
    height: 4.8rem;
    bottom: 2rem;
    right: 2rem;
    padding-bottom: 1rem;
  }
}
.footer .footer__to__top .footer__to__top-icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 0.9rem;
  color: white;
  margin-bottom: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer .footer__to__top .footer__to__top-icon.footer__to__top-icon--hover {
  opacity: 0;
  height: 0.9rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .footer .footer__to__top .footer__to__top-icon {
    width: 1.8rem;
    height: 0.9rem;
    margin-bottom: 0.2rem;
  }
}
.footer .footer__to__top .footer__to__top-text {
  color: white;
  font-size: 1.4rem;
  line-height: 1;
  margin-top: 0.8rem;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  letter-spacing: 0.05em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .footer .footer__to__top .footer__to__top-text {
    font-size: 1rem;
    line-height: 1.5rem;
    margin-top: 0.2rem;
  }
}
.footer .footer__to__top:hover {
  background-color: #9e925c;
}
@media screen and (max-width: 768px) {
  .footer .footer__to__top:hover {
    padding-bottom: 0;
  }
}
.footer .footer__to__top:hover .footer__to__top-icon--hover {
  opacity: 1;
  height: unset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer .footer__container {
  max-width: 120rem;
  overflow-x: hidden;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .footer .footer__container {
    padding: 1.3rem 2rem;
  }
}
.footer .footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10.3rem;
}
@media screen and (max-width: 768px) {
  .footer .footer__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4.3rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.footer .footer__left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 32rem;
          flex: 0 0 32rem;
  width: 31.7rem;
  padding: 0.4rem 0px;
}
@media screen and (max-width: 768px) {
  .footer .footer__left {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0;
    margin-top: -0.2rem;
  }
}
.footer .footer__logo {
  margin-bottom: 6.8rem;
}
@media screen and (max-width: 768px) {
  .footer .footer__logo {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: center;
    padding-left: 0;
    padding-top: 1.1rem;
    height: 5.6rem;
    margin-bottom: 0;
  }
}
.footer .footer__logo .footer__logo-img {
  height: 6.2rem;
  width: auto;
}
@media screen and (max-width: 768px) {
  .footer .footer__logo .footer__logo-img {
    height: 5.6rem;
  }
}
.footer .footer__company-info .footer__company-name {
  font-size: 1.8rem;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  color: white;
  margin-bottom: 1.7rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .footer .footer__company-info .footer__company-name {
    line-height: 2.6rem;
    margin-top: 0;
    text-align: center;
    padding-left: 0;
    margin-bottom: 1.2rem;
  }
}
.footer .footer__company-info .footer__address,
.footer .footer__company-info .footer__contact {
  font-size: 1.6rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  line-height: 2rem;
  color: #fff;
  margin-bottom: 0;
  letter-spacing: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  .footer .footer__company-info .footer__address,
  .footer .footer__company-info .footer__contact {
    text-align: center;
    gap: 1rem;
    font-size: 1.4rem;
    line-height: 2.1rem;
    margin-bottom: 0.5rem;
    gap: 0;
  }
}
.footer .footer__company-info .footer__address {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 2.2rem;
}
.footer .footer__company-info .footer__contact {
  line-height: 3.25rem;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .footer .footer__company-info .footer__contact {
    line-height: 2.7rem;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer__company-info .footer__contact p {
    margin-bottom: 0;
    padding-left: 0;
  }
}
.footer .footer__right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1024px) {
  .footer .footer__right {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer__right {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding: 0 4rem;
    order: 2;
  }
}
.footer .footer__links {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 19.6rem 4rem 22.3rem 4rem 19.6rem;
  grid-template-columns: 19.6rem 22.3rem 19.6rem;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .footer .footer__links {
    display: none;
  }
}
.footer .footer__accordion {
  display: none;
}
@media screen and (max-width: 768px) {
  .footer .footer__accordion {
    display: block;
    padding-top: 1.6rem;
  }
}
.footer .footer__column > .footer__column--item {
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 768px) {
  .footer .footer__column > .footer__column--item {
    margin-bottom: 2.5rem;
  }
}
.footer .footer__column > .footer__column--item:last-child {
  margin-bottom: 0;
}
.footer .footer__column .footer__column-title {
  font-size: 1.6rem;
  font-family: "Jost", sans-serif;
  font-weight: 700;
  line-height: 3rem;
  color: white;
  margin-bottom: 2.2rem;
  text-transform: uppercase;
  position: relative;
}
.footer .footer__column .footer__column-title::after {
  content: "";
  position: absolute;
  bottom: -0.4rem;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
}
.footer .footer__column .footer__column--contact .footer__column-title {
  text-transform: none;
  letter-spacing: normal;
}
.footer .footer__column:nth-child(2) .footer__column--item {
  margin-bottom: 11.5rem;
}
.footer .footer__column:nth-child(2) .footer__column--item:nth-child(2) {
  margin-bottom: 0rem;
}
.footer .footer__column:nth-child(3) > .footer__column--item {
  margin-bottom: 6.6rem;
}
.footer .footer__column:nth-child(3) > .footer__column--item:nth-child(2) {
  margin-bottom: 6.6rem;
}
.footer .footer__column:nth-child(3) > .footer__column--item:nth-child(2) .footer__column-title {
  margin-bottom: 1.8rem;
}
.footer .footer__accordion-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.footer .footer__accordion-item:last-child {
  border-bottom: none;
}
.footer .footer__accordion-header {
  font-size: 1.6rem;
  font-family: "Jost", sans-serif;
  font-weight: 500;
  line-height: 2.2rem;
  color: white;
  margin: 0;
  position: relative;
  padding: 1rem 0;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer .footer__accordion-header {
    line-height: 2.3rem;
    font-weight: 500;
  }
}
.footer .footer__accordion-header::after {
  content: "+";
  font-size: 2.28rem;
  font-weight: normal;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.footer .footer__accordion-header.active::after {
  content: "−";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.footer .footer__accordion-content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease, padding 0.3s ease;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0;
}
.footer .footer__accordion-content.active {
  max-height: 50rem;
  padding: 0 0 2rem 0;
}
.footer .footer__accordion-list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.8rem;
  margin: 0;
  padding-left: 1rem;
}
.footer .footer__extend {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0.4rem 0;
  gap: 1.6rem;
  display: none;
}
@media screen and (max-width: 768px) {
  .footer .footer__extend {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 2.7rem;
  }
}
.footer .footer__extend .footer__btn {
  font-size: 1.3rem;
  line-height: 1.5rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  padding: 1.3rem 0;
  letter-spacing: -0.052rem;
  background-color: transparent;
  color: #fff;
  border: 0.1rem solid #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.footer .footer__extend .footer__btn::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  margin-right: 1.2rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-size: contain;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.footer .footer__extend .footer__btn.footer__btn--download::before {
  background-image: url(/wp-content/themes/vlcholdings/images/icon/icon_download_basic-white.svg);
}
.footer .footer__extend .footer__btn.footer__btn--contact::before {
  background-image: url(/wp-content/themes/vlcholdings/images/icon/icon_email_basic-white.svg);
  margin-left: -0.8rem;
  margin-top: 0.2rem;
}
.footer .footer__list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.8rem;
}
.footer .footer__link {
  color: white;
  text-decoration: none;
  font-size: 1.4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.footer .footer__link::before {
  content: "";
  position: absolute;
  bottom: -0.4rem;
  left: 0;
  width: 0;
  height: 0.1rem;
  z-index: 2;
  background: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer .footer__link:hover {
  color: white;
}
.footer .footer__link:hover::before {
  width: 100%;
}
.footer .footer__bottom {
  padding-top: 4.5rem;
  padding-bottom: 0.6rem;
  padding-right: 0.6rem;
}
@media screen and (max-width: 768px) {
  .footer .footer__bottom {
    padding-top: 4.2rem;
    padding-left: 0.7rem;
    letter-spacing: -0.02em;
    margin-left: -0.3rem;
    padding-bottom: 0.3rem;
  }
}
.footer .footer-bottom__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.2rem;
  line-height: 2.4rem;
  gap: 2.4rem;
  position: relative;
  left: 0.3rem;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 768px) {
  .footer .footer-bottom__list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5rem 1.6rem;
    margin-bottom: 2.7rem;
  }
}
.footer .footer-bottom__list .footer-bottom__link {
  position: relative;
}
.footer .footer-bottom__list .footer-bottom__link::before {
  content: "";
  position: absolute;
  bottom: -0.4rem;
  left: 0;
  width: 0;
  height: 0.1rem;
  z-index: 2;
  background: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer .footer-bottom__list .footer-bottom__link:hover::before {
  width: 100%;
}
.footer .footer__copyright {
  font-weight: 500;
  font-family: "Jost", sans-serif;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.8rem;
  position: relative;
  left: 0.3rem;
}
@media screen and (max-width: 768px) {
  .footer .footer__copyright {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }
}

.sidebar {
  padding: 2rem 1rem;
  margin-top: 2rem;
}
.sidebar .widget {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: #f8f9fa;
  border-radius: 8px;
}
.sidebar .widget:last-child {
  margin-bottom: 0;
}
.sidebar .widget-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #007acc;
}
.sidebar .widget ul {
  list-style: none;
  padding: 0;
}
.sidebar .widget ul li {
  margin-bottom: 0.5rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #e9ecef;
}
.sidebar .widget ul li:last-child {
  border-bottom: none;
}
.sidebar .widget ul li a {
  color: #333;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.sidebar .widget ul li a:hover {
  color: #007acc;
}
@media screen and (max-width: 768px) {
  .sidebar {
    padding: 1rem;
    margin-top: 1rem;
  }
  .sidebar .widget {
    padding: 1rem;
  }
}

.single-post,
.single-topics {
  padding: 4rem 0 0;
  min-height: 60vh;
}
.single-post .container,
.single-topics .container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 4rem 30rem;
  grid-template-columns: 1fr 30rem;
  gap: 4rem;
}
@media screen and (max-width: 479px) {
  .single-post .container,
  .single-topics .container {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0 1rem;
  }
}

.single-article,
.single-topics-article {
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.single-article .entry-header,
.single-topics-article .entry-header {
  padding: 3rem 3rem 2rem;
  border-bottom: 1px solid #e9ecef;
}
@media screen and (max-width: 479px) {
  .single-article .entry-header,
  .single-topics-article .entry-header {
    padding: 2rem 2rem 1.5rem;
  }
}
.single-article .entry-header .entry-meta,
.single-topics-article .entry-header .entry-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 2rem;
  font-size: 1.4rem;
  color: #666;
}
.single-article .entry-header .entry-meta .post-date,
.single-topics-article .entry-header .entry-meta .post-date {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.single-article .entry-header .entry-meta .post-date::before,
.single-topics-article .entry-header .entry-meta .post-date::before {
  content: "📅";
  font-size: 1.2rem;
}
.single-article .entry-header .entry-meta .post-categories,
.single-article .entry-header .entry-meta .topics-series,
.single-article .entry-header .entry-meta .topics-categories,
.single-topics-article .entry-header .entry-meta .post-categories,
.single-topics-article .entry-header .entry-meta .topics-series,
.single-topics-article .entry-header .entry-meta .topics-categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.single-article .entry-header .entry-meta .category-tag,
.single-article .entry-header .entry-meta .series-tag,
.single-topics-article .entry-header .entry-meta .category-tag,
.single-topics-article .entry-header .entry-meta .series-tag {
  background: #007acc;
  color: #fff;
  padding: 0.3rem 0.8rem;
  border-radius: 1.5rem;
  font-size: 1.2rem;
  font-weight: 500;
}
.single-article .entry-header .entry-meta .category-tag.series-tag,
.single-article .entry-header .entry-meta .series-tag.series-tag,
.single-topics-article .entry-header .entry-meta .category-tag.series-tag,
.single-topics-article .entry-header .entry-meta .series-tag.series-tag {
  background: #28a745;
}
.single-article .entry-header .entry-title,
.single-topics-article .entry-header .entry-title {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.3;
  color: #333;
  margin: 0 0 2rem;
}
@media screen and (max-width: 479px) {
  .single-article .entry-header .entry-title,
  .single-topics-article .entry-header .entry-title {
    font-size: 2.4rem;
  }
}
.single-article .entry-header .entry-thumbnail,
.single-topics-article .entry-header .entry-thumbnail {
  margin: 2rem 0 0;
}
.single-article .entry-header .entry-thumbnail .featured-image,
.single-topics-article .entry-header .entry-thumbnail .featured-image {
  width: 100%;
  height: auto;
  border-radius: 0.8rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.single-article .entry-content,
.single-topics-article .entry-content {
  padding: 3rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 479px) {
  .single-article .entry-content,
  .single-topics-article .entry-content {
    padding: 2rem;
    font-size: 1.5rem;
  }
}
.single-article .entry-content h2, .single-article .entry-content h3, .single-article .entry-content h4, .single-article .entry-content h5, .single-article .entry-content h6,
.single-topics-article .entry-content h2,
.single-topics-article .entry-content h3,
.single-topics-article .entry-content h4,
.single-topics-article .entry-content h5,
.single-topics-article .entry-content h6 {
  margin: 3rem 0 1.5rem;
  color: #333;
  line-height: 1.4;
}
.single-article .entry-content h2,
.single-topics-article .entry-content h2 {
  font-size: 2.4rem;
  border-bottom: 2px solid #007acc;
  padding-bottom: 0.5rem;
}
.single-article .entry-content h3,
.single-topics-article .entry-content h3 {
  font-size: 2rem;
  position: relative;
  padding-left: 1.5rem;
}
.single-article .entry-content h3::before,
.single-topics-article .entry-content h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3rem;
  width: 4px;
  height: 2rem;
  background: #007acc;
  border-radius: 2px;
}
.single-article .entry-content p,
.single-topics-article .entry-content p {
  margin: 0 0 2rem;
}
.single-article .entry-content ul, .single-article .entry-content ol,
.single-topics-article .entry-content ul,
.single-topics-article .entry-content ol {
  margin: 2rem 0;
  padding-left: 3rem;
}
.single-article .entry-content ul li, .single-article .entry-content ol li,
.single-topics-article .entry-content ul li,
.single-topics-article .entry-content ol li {
  margin-bottom: 0.8rem;
}
.single-article .entry-content blockquote,
.single-topics-article .entry-content blockquote {
  margin: 3rem 0;
  padding: 2rem;
  border-left: 4px solid #007acc;
  background: #f8f9fa;
  border-radius: 0 0.5rem 0.5rem 0;
  font-style: italic;
}
.single-article .entry-content img,
.single-topics-article .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  margin: 2rem 0;
}
.single-article .entry-content .page-links,
.single-topics-article .entry-content .page-links {
  margin-top: 3rem;
  padding: 2rem;
  background: #f8f9fa;
  border-radius: 0.5rem;
  text-align: center;
}
.single-article .entry-content .page-links .page-links-title,
.single-topics-article .entry-content .page-links .page-links-title {
  font-weight: 600;
  margin-right: 1rem;
}
.single-article .entry-content .page-links span,
.single-topics-article .entry-content .page-links span {
  display: inline-block;
  margin: 0 0.5rem;
  padding: 0.5rem 1rem;
  background: #007acc;
  color: #fff;
  border-radius: 0.3rem;
  text-decoration: none;
}
.single-article .entry-content .page-links span:hover,
.single-topics-article .entry-content .page-links span:hover {
  background: #0056b3;
}
.single-article .entry-footer,
.single-topics-article .entry-footer {
  padding: 2rem 3rem 3rem;
  border-top: 1px solid #e9ecef;
}
@media screen and (max-width: 479px) {
  .single-article .entry-footer,
  .single-topics-article .entry-footer {
    padding: 1.5rem 2rem 2rem;
  }
}
.single-article .entry-footer .post-tags,
.single-topics-article .entry-footer .post-tags {
  margin-bottom: 3rem;
}
.single-article .entry-footer .post-tags .tags-label,
.single-topics-article .entry-footer .post-tags .tags-label {
  font-weight: 600;
  margin-right: 1rem;
  color: #666;
}
.single-article .entry-footer .post-tags .tag-item,
.single-topics-article .entry-footer .post-tags .tag-item {
  display: inline-block;
  margin: 0.3rem 0.5rem 0.3rem 0;
  padding: 0.4rem 1rem;
  background: #e9ecef;
  color: #666;
  border-radius: 1.5rem;
  font-size: 1.3rem;
  text-decoration: none;
}
.single-article .entry-footer .post-tags .tag-item:hover,
.single-topics-article .entry-footer .post-tags .tag-item:hover {
  background: #007acc;
  color: #fff;
}
.single-article .entry-footer .post-navigation,
.single-article .entry-footer .topics-navigation,
.single-topics-article .entry-footer .post-navigation,
.single-topics-article .entry-footer .topics-navigation {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 479px) {
  .single-article .entry-footer .post-navigation,
  .single-article .entry-footer .topics-navigation,
  .single-topics-article .entry-footer .post-navigation,
  .single-topics-article .entry-footer .topics-navigation {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.single-article .entry-footer .post-navigation .nav-previous,
.single-article .entry-footer .post-navigation .nav-next,
.single-article .entry-footer .topics-navigation .nav-previous,
.single-article .entry-footer .topics-navigation .nav-next,
.single-topics-article .entry-footer .post-navigation .nav-previous,
.single-topics-article .entry-footer .post-navigation .nav-next,
.single-topics-article .entry-footer .topics-navigation .nav-previous,
.single-topics-article .entry-footer .topics-navigation .nav-next {
  padding: 2rem;
  background: #f8f9fa;
  border-radius: 0.8rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.single-article .entry-footer .post-navigation .nav-previous:hover,
.single-article .entry-footer .post-navigation .nav-next:hover,
.single-article .entry-footer .topics-navigation .nav-previous:hover,
.single-article .entry-footer .topics-navigation .nav-next:hover,
.single-topics-article .entry-footer .post-navigation .nav-previous:hover,
.single-topics-article .entry-footer .post-navigation .nav-next:hover,
.single-topics-article .entry-footer .topics-navigation .nav-previous:hover,
.single-topics-article .entry-footer .topics-navigation .nav-next:hover {
  background: #e9ecef;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
.single-article .entry-footer .post-navigation .nav-previous a,
.single-article .entry-footer .post-navigation .nav-next a,
.single-article .entry-footer .topics-navigation .nav-previous a,
.single-article .entry-footer .topics-navigation .nav-next a,
.single-topics-article .entry-footer .post-navigation .nav-previous a,
.single-topics-article .entry-footer .post-navigation .nav-next a,
.single-topics-article .entry-footer .topics-navigation .nav-previous a,
.single-topics-article .entry-footer .topics-navigation .nav-next a {
  display: block;
  text-decoration: none;
  color: #333;
}
.single-article .entry-footer .post-navigation .nav-previous .nav-subtitle,
.single-article .entry-footer .post-navigation .nav-next .nav-subtitle,
.single-article .entry-footer .topics-navigation .nav-previous .nav-subtitle,
.single-article .entry-footer .topics-navigation .nav-next .nav-subtitle,
.single-topics-article .entry-footer .post-navigation .nav-previous .nav-subtitle,
.single-topics-article .entry-footer .post-navigation .nav-next .nav-subtitle,
.single-topics-article .entry-footer .topics-navigation .nav-previous .nav-subtitle,
.single-topics-article .entry-footer .topics-navigation .nav-next .nav-subtitle {
  display: block;
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.single-article .entry-footer .post-navigation .nav-previous .nav-title,
.single-article .entry-footer .post-navigation .nav-next .nav-title,
.single-article .entry-footer .topics-navigation .nav-previous .nav-title,
.single-article .entry-footer .topics-navigation .nav-next .nav-title,
.single-topics-article .entry-footer .post-navigation .nav-previous .nav-title,
.single-topics-article .entry-footer .post-navigation .nav-next .nav-title,
.single-topics-article .entry-footer .topics-navigation .nav-previous .nav-title,
.single-topics-article .entry-footer .topics-navigation .nav-next .nav-title {
  display: block;
  font-weight: 600;
  line-height: 1.4;
}
.single-article .entry-footer .post-navigation .nav-next,
.single-article .entry-footer .topics-navigation .nav-next,
.single-topics-article .entry-footer .post-navigation .nav-next,
.single-topics-article .entry-footer .topics-navigation .nav-next {
  text-align: right;
}
@media screen and (max-width: 479px) {
  .single-article .entry-footer .post-navigation .nav-next,
  .single-article .entry-footer .topics-navigation .nav-next,
  .single-topics-article .entry-footer .post-navigation .nav-next,
  .single-topics-article .entry-footer .topics-navigation .nav-next {
    text-align: left;
  }
}
.single-article .entry-footer .related-topics .related-title,
.single-topics-article .entry-footer .related-topics .related-title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 2rem;
  color: #333;
  padding-bottom: 1rem;
  border-bottom: 2px solid #007acc;
}
.single-article .entry-footer .related-topics .related-grid,
.single-topics-article .entry-footer .related-topics .related-grid {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
  gap: 2rem;
}
@media screen and (max-width: 479px) {
  .single-article .entry-footer .related-topics .related-grid,
  .single-topics-article .entry-footer .related-topics .related-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.single-article .entry-footer .related-topics .related-item,
.single-topics-article .entry-footer .related-topics .related-item {
  background: #f8f9fa;
  border-radius: 0.8rem;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.single-article .entry-footer .related-topics .related-item:hover,
.single-topics-article .entry-footer .related-topics .related-item:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
          box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.single-article .entry-footer .related-topics .related-item .related-thumbnail img,
.single-topics-article .entry-footer .related-topics .related-item .related-thumbnail img {
  width: 100%;
  height: 20rem;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0;
}
.single-article .entry-footer .related-topics .related-item .related-content,
.single-topics-article .entry-footer .related-topics .related-item .related-content {
  padding: 1.5rem;
}
.single-article .entry-footer .related-topics .related-item .related-content .related-item-title,
.single-topics-article .entry-footer .related-topics .related-item .related-content .related-item-title {
  margin: 0 0 1rem;
  font-size: 1.5rem;
  line-height: 1.4;
}
.single-article .entry-footer .related-topics .related-item .related-content .related-item-title a,
.single-topics-article .entry-footer .related-topics .related-item .related-content .related-item-title a {
  color: #333;
  text-decoration: none;
}
.single-article .entry-footer .related-topics .related-item .related-content .related-item-title a:hover,
.single-topics-article .entry-footer .related-topics .related-item .related-content .related-item-title a:hover {
  color: #007acc;
}
.single-article .entry-footer .related-topics .related-item .related-content .related-date,
.single-topics-article .entry-footer .related-topics .related-item .related-content .related-date {
  font-size: 1.3rem;
  color: #666;
}

.single-topics .topics-series .series-tag {
  background: #28a745;
}
.single-topics .topics-categories .category-tag {
  background: #17a2b8;
}

.topics-archive,
.topics-taxonomy {
  padding: 4rem 0;
  min-height: 60vh;
}
.topics-archive .container,
.topics-taxonomy .container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 4rem 30rem;
  grid-template-columns: 1fr 30rem;
  gap: 4rem;
}
@media screen and (max-width: 479px) {
  .topics-archive .container,
  .topics-taxonomy .container {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0 1rem;
  }
}
.topics-archive .archive-header,
.topics-taxonomy .archive-header {
  grid-column: 1/-1;
  text-align: center;
  margin-bottom: 4rem;
  padding: 3rem;
  background: linear-gradient(135deg, #007acc 0%, #0056b3 100%);
  color: #fff;
  border-radius: 1.2rem;
}
@media screen and (max-width: 479px) {
  .topics-archive .archive-header,
  .topics-taxonomy .archive-header {
    margin-bottom: 2rem;
    padding: 2rem;
  }
}
.topics-archive .archive-header .archive-title,
.topics-taxonomy .archive-header .archive-title {
  font-size: 3.6rem;
  font-weight: 700;
  margin: 0 0 1rem;
}
@media screen and (max-width: 479px) {
  .topics-archive .archive-header .archive-title,
  .topics-taxonomy .archive-header .archive-title {
    font-size: 2.8rem;
  }
}
.topics-archive .archive-header .archive-description,
.topics-taxonomy .archive-header .archive-description {
  font-size: 1.6rem;
  margin-bottom: 3rem;
  opacity: 0.9;
}
.topics-archive .archive-header .topics-filters,
.topics-taxonomy .archive-header .topics-filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 479px) {
  .topics-archive .archive-header .topics-filters,
  .topics-taxonomy .archive-header .topics-filters {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
}
.topics-archive .archive-header .topics-filters .filter-group,
.topics-taxonomy .archive-header .topics-filters .filter-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.topics-archive .archive-header .topics-filters .filter-group label,
.topics-taxonomy .archive-header .topics-filters .filter-group label {
  font-size: 1.4rem;
  font-weight: 600;
}
.topics-archive .archive-header .topics-filters .filter-group select,
.topics-taxonomy .archive-header .topics-filters .filter-group select {
  padding: 0.8rem 1.5rem;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 1.4rem;
  outline: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.topics-archive .archive-header .topics-filters .filter-group select:focus,
.topics-taxonomy .archive-header .topics-filters .filter-group select:focus {
  border-color: rgba(255, 255, 255, 0.8);
  background: rgba(255, 255, 255, 0.2);
}
.topics-archive .archive-header .topics-filters .filter-group select option,
.topics-taxonomy .archive-header .topics-filters .filter-group select option {
  color: #333;
  background: #fff;
}
.topics-archive .topics-grid,
.topics-taxonomy .topics-grid {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
  gap: 3rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 479px) {
  .topics-archive .topics-grid,
  .topics-taxonomy .topics-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 3rem;
  }
}
.topics-archive .topics-card,
.topics-taxonomy .topics-card {
  background: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.topics-archive .topics-card:hover,
.topics-taxonomy .topics-card:hover {
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
  -webkit-box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15);
          box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15);
}
.topics-archive .topics-card .topics-card-thumbnail,
.topics-taxonomy .topics-card .topics-card-thumbnail {
  position: relative;
  overflow: hidden;
}
.topics-archive .topics-card .topics-card-thumbnail img,
.topics-taxonomy .topics-card .topics-card-thumbnail img {
  width: 100%;
  height: 25rem;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.topics-archive .topics-card .topics-card-thumbnail a:hover img,
.topics-taxonomy .topics-card .topics-card-thumbnail a:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.topics-archive .topics-card .topics-card-content,
.topics-taxonomy .topics-card .topics-card-content {
  padding: 2.5rem;
}
.topics-archive .topics-card .topics-card-content .topics-card-meta,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  font-size: 1.3rem;
}
.topics-archive .topics-card .topics-card-content .topics-card-meta .topics-date,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .topics-date {
  color: #666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.topics-archive .topics-card .topics-card-content .topics-card-meta .topics-date::before,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .topics-date::before {
  content: "📅";
  font-size: 1.2rem;
}
.topics-archive .topics-card .topics-card-content .topics-card-meta .topics-series-tags,
.topics-archive .topics-card .topics-card-content .topics-card-meta .topics-category-tags,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .topics-series-tags,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .topics-category-tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.topics-archive .topics-card .topics-card-content .topics-card-meta .series-tag,
.topics-archive .topics-card .topics-card-content .topics-card-meta .category-tag,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .series-tag,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .category-tag {
  color: #fff;
  text-decoration: none;
  padding: 0.3rem 0.8rem;
  border-radius: 1.2rem;
  font-size: 1.1rem;
  font-weight: 500;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.topics-archive .topics-card .topics-card-content .topics-card-meta .series-tag,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .series-tag {
  background: #28a745;
}
.topics-archive .topics-card .topics-card-content .topics-card-meta .series-tag:hover,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .series-tag:hover {
  background: #218838;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}
.topics-archive .topics-card .topics-card-content .topics-card-meta .category-tag,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .category-tag {
  background: #17a2b8;
}
.topics-archive .topics-card .topics-card-content .topics-card-meta .category-tag:hover,
.topics-taxonomy .topics-card .topics-card-content .topics-card-meta .category-tag:hover {
  background: #138496;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
}
.topics-archive .topics-card .topics-card-content .topics-card-title,
.topics-taxonomy .topics-card .topics-card-content .topics-card-title {
  margin: 0 0 1.5rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}
.topics-archive .topics-card .topics-card-content .topics-card-title a,
.topics-taxonomy .topics-card .topics-card-content .topics-card-title a {
  color: #333;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.topics-archive .topics-card .topics-card-content .topics-card-title a:hover,
.topics-taxonomy .topics-card .topics-card-content .topics-card-title a:hover {
  color: #007acc;
}
.topics-archive .topics-card .topics-card-content .topics-card-excerpt,
.topics-taxonomy .topics-card .topics-card-content .topics-card-excerpt {
  color: #666;
  line-height: 1.6;
  margin-bottom: 2rem;
  font-size: 1.4rem;
}
.topics-archive .topics-card .topics-card-content .read-more-btn,
.topics-taxonomy .topics-card .topics-card-content .read-more-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  background: linear-gradient(135deg, #007acc 0%, #0056b3 100%);
  color: #fff;
  text-decoration: none;
  border-radius: 2.5rem;
  font-weight: 600;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.topics-archive .topics-card .topics-card-content .read-more-btn:hover,
.topics-taxonomy .topics-card .topics-card-content .read-more-btn:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 6px 20px rgba(0, 122, 204, 0.3);
          box-shadow: 0 6px 20px rgba(0, 122, 204, 0.3);
}
.topics-archive .topics-card .topics-card-content .read-more-btn::after,
.topics-taxonomy .topics-card .topics-card-content .read-more-btn::after {
  content: "→";
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.topics-archive .topics-card .topics-card-content .read-more-btn:hover::after,
.topics-taxonomy .topics-card .topics-card-content .read-more-btn:hover::after {
  -webkit-transform: translateX(3px);
          transform: translateX(3px);
}
.topics-archive .no-topics,
.topics-taxonomy .no-topics {
  grid-column: 1/-1;
  text-align: center;
  padding: 6rem 2rem;
  background: #f8f9fa;
  border-radius: 1rem;
  color: #666;
  font-size: 1.6rem;
}
.topics-archive .topics-pagination,
.topics-taxonomy .topics-pagination {
  grid-column: 1/-1;
  margin-top: 4rem;
}
.topics-archive .topics-pagination .page-numbers,
.topics-taxonomy .topics-pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.topics-archive .topics-pagination .page-numbers .page-numbers,
.topics-taxonomy .topics-pagination .page-numbers .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 4rem;
  height: 4rem;
  border: 2px solid #e9ecef;
  border-radius: 0.8rem;
  color: #666;
  text-decoration: none;
  font-weight: 600;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.topics-archive .topics-pagination .page-numbers .page-numbers:hover, .topics-archive .topics-pagination .page-numbers .page-numbers.current,
.topics-taxonomy .topics-pagination .page-numbers .page-numbers:hover,
.topics-taxonomy .topics-pagination .page-numbers .page-numbers.current {
  background: #007acc;
  color: #fff;
  border-color: #007acc;
}
.topics-archive .topics-pagination .page-numbers .page-numbers.prev, .topics-archive .topics-pagination .page-numbers .page-numbers.next,
.topics-taxonomy .topics-pagination .page-numbers .page-numbers.prev,
.topics-taxonomy .topics-pagination .page-numbers .page-numbers.next {
  width: auto;
  padding: 0 1.5rem;
  font-size: 1.4rem;
}
.topics-archive .related-terms,
.topics-taxonomy .related-terms {
  grid-column: 1/-1;
  margin-top: 4rem;
  padding: 3rem;
  background: #f8f9fa;
  border-radius: 1.2rem;
}
.topics-archive .related-terms .related-terms-title,
.topics-taxonomy .related-terms .related-terms-title {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 2rem;
  color: #333;
  text-align: center;
}
.topics-archive .related-terms .related-terms-list,
.topics-taxonomy .related-terms .related-terms-list {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: 1.5rem;
}
@media screen and (max-width: 479px) {
  .topics-archive .related-terms .related-terms-list,
  .topics-taxonomy .related-terms .related-terms-list {
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: 1rem;
  }
}
.topics-archive .related-terms .related-term-item,
.topics-taxonomy .related-terms .related-term-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.5rem;
  background: #fff;
  border-radius: 0.8rem;
  text-decoration: none;
  color: #333;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.topics-archive .related-terms .related-term-item:hover,
.topics-taxonomy .related-terms .related-term-item:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  background: #007acc;
  color: #fff;
}
.topics-archive .related-terms .related-term-item .term-name,
.topics-taxonomy .related-terms .related-term-item .term-name {
  font-weight: 600;
  font-size: 1.4rem;
}
.topics-archive .related-terms .related-term-item .term-count,
.topics-taxonomy .related-terms .related-term-item .term-count {
  background: rgba(0, 122, 204, 0.1);
  color: #007acc;
  padding: 0.3rem 0.8rem;
  border-radius: 1rem;
  font-size: 1.2rem;
  font-weight: 500;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.topics-archive .related-terms .related-term-item:hover .term-count,
.topics-taxonomy .related-terms .related-term-item:hover .term-count {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.topics-archive .container > .topics-grid,
.topics-taxonomy .container > .topics-grid {
  -ms-grid-column: 1;
  grid-column: 1;
}

.topics-archive .container > .topics-pagination,
.topics-taxonomy .container > .topics-pagination {
  -ms-grid-column: 1;
  grid-column: 1;
}

.topics-archive .container > .related-terms,
.topics-taxonomy .container > .related-terms {
  -ms-grid-column: 1;
  grid-column: 1;
}

.banner-wrapper {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .banner-wrapper {
    background: transparent;
  }
}

.banner-container {
  width: 100%;
  max-width: 144rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-right: 11rem;
}
@media screen and (max-width: 768px) {
  .banner-container {
    padding-right: 0;
  }
}
.banner-container.banner-container--ir {
  padding-left: 11rem;
  padding-right: 0;
}
@media screen and (max-width: 768px) {
  .banner-container.banner-container--ir {
    padding-left: 0;
  }
}

.ir-banner {
  position: relative;
  margin-top: 14rem;
  margin-bottom: 0.6rem;
  color: #fff;
  max-width: 132rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1439px) {
  .ir-banner {
    max-width: 132rem;
  }
}
@media screen and (max-width: 768px) {
  .ir-banner {
    max-width: 100%;
    margin-top: 7.2rem;
  }
}
.ir-banner .ir-banner__bg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.ir-banner .ir-banner__bg img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .ir-banner .ir-banner__bg.ir-banner__bg--pc {
    display: none;
  }
  .ir-banner .ir-banner__bg.ir-banner__bg--sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 769px) {
  .ir-banner .ir-banner__bg.ir-banner__bg--pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .ir-banner .ir-banner__bg.ir-banner__bg--sp {
    display: none;
  }
}
.ir-banner .ir-banner__content {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: 10.8rem;
}
@media screen and (max-width: 768px) {
  .ir-banner .ir-banner__content {
    padding-left: 0;
  }
}
.ir-banner .ir-banner__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 91.9%;
}
@media screen and (max-width: 768px) {
  .ir-banner .ir-banner__left {
    width: 94.5%;
    padding-top: 0;
  }
}
.ir-banner .ir-banner__title {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  padding-left: 4rem;
  font-size: 3.6rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .ir-banner .ir-banner__title {
    padding-left: 3.1rem;
    font-size: 3.2rem;
  }
}
.ir-banner .ir-banner__title::after {
  content: "";
  position: absolute;
  width: 2.8rem;
  height: 2.4rem;
  top: 50%;
  left: -0.1rem;
  background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_arrow_title_ir.svg");
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .ir-banner .ir-banner__title::after {
    left: 0;
  }
}
.ir-banner .ir-banner__right .ir-banner__big {
  font-size: 4.8rem;
  font-weight: 400;
  opacity: 0.9;
}
@media screen and (min-width: 769px) {
  .ir-banner .ir-banner__content.ir-banner__content--extend .ir-banner__left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-left: 1.3rem;
  }
}
.ir-banner .ir-banner__content.ir-banner__content--extend .ir-banner__left .ir-banner__subtitle {
  font-family: "Noto Sans JP", sans-serif;
  padding-left: 4rem;
  margin-top: -0.1rem;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .ir-banner .ir-banner__content.ir-banner__content--extend .ir-banner__left .ir-banner__subtitle {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .ir-banner.sdgs-baner {
    left: 0;
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
}
.ir-banner.sdgs-baner .ir-banner__content.ir-banner__content--extend {
  left: 1.3rem;
}
@media screen and (max-width: 768px) {
  .ir-banner.sdgs-baner .ir-banner__content.ir-banner__content--extend {
    left: -2.1rem;
    margin-top: 0.9rem;
  }
}
.ir-banner.sdgs-baner .ir-banner__content.ir-banner__content--extend .ir-banner__left {
  padding-left: 0;
  padding-top: 0;
}
.ir-banner.sdgs-baner .ir-banner__content.ir-banner__content--extend .ir-banner__left .ir-banner__title {
  padding-left: 4.2rem;
}
@media screen and (max-width: 768px) {
  .ir-banner.sdgs-baner .ir-banner__content.ir-banner__content--extend .ir-banner__left .ir-banner__title {
    font-size: 3.2rem;
    padding-left: 5.2rem;
    line-height: 3.6rem;
    top: -1.2rem;
  }
  .ir-banner.sdgs-baner .ir-banner__content.ir-banner__content--extend .ir-banner__left .ir-banner__title::after {
    left: 1.7rem;
    top: 2rem;
  }
}
.ir-banner.sdgs-baner .ir-banner__content.ir-banner__content--extend .ir-banner__left .ir-banner__subtitle {
  position: absolute;
  top: 100%;
  font-size: 1.5rem;
  line-height: 2rem;
  margin-left: 4.1rem;
  padding-left: 0;
  margin-top: 1px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .ir-banner.sdgs-baner .ir-banner__content.ir-banner__content--extend .ir-banner__left .ir-banner__subtitle {
    display: block;
    max-width: 27rem;
    font-size: 1.1rem;
    margin-left: 5.2rem;
    line-height: 1.5rem;
    margin-top: -0.1rem;
  }
}

/**
 * Banner Animation Component
 * 
 * Creates gentle fade-in animations for banner elements:
 * 1. Background image appears gently (フワッと)
 * 2. Title appears gently after background
 * 3. Subtitle appears gently after title
 * 
 * Usage: Add 'banner-animated' class to banner container
 */
/* Keyframe Animations */
@-webkit-keyframes bannerFadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes bannerFadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes bannerCharFadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes bannerCharFadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes bannerImageFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes bannerImageFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Banner Animation Container */
.banner-animated {
  /* Background Image Animation */
  /* Content Container */
  /* Unified Banner Support */
}
.banner-animated .banner__image {
  opacity: 0;
  -webkit-animation: bannerImageFade 1.2s ease-out 0.2s forwards;
          animation: bannerImageFade 1.2s ease-out 0.2s forwards;
}
.banner-animated .banner__content {
  z-index: 10;
}
.banner-animated .banner__content .banner__title .banner__title_ir {
  opacity: 1;
}
.banner-animated .banner__content .banner__title .banner__title_ir .char {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-animation: bannerCharFadeInUp 0.6s ease-out forwards;
          animation: bannerCharFadeInUp 0.6s ease-out forwards;
}
.banner-animated .banner__content .banner__title .banner__subtitle {
  opacity: 0;
  -webkit-animation: bannerFadeInUp 0.8s ease-out 1s forwards;
          animation: bannerFadeInUp 0.8s ease-out 1s forwards;
}
.banner-animated .ir-banner__title {
  opacity: 1;
}
.banner-animated .ir-banner__title .char {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-animation: bannerCharFadeInUp 0.6s ease-out forwards;
          animation: bannerCharFadeInUp 0.6s ease-out forwards;
}
.banner-animated .ir-banner__subtitle {
  opacity: 0;
  -webkit-animation: bannerFadeInUp 0.8s ease-out 1s forwards;
          animation: bannerFadeInUp 0.8s ease-out 1s forwards;
}

/* Fallback - Direct character animation support */
.char {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-animation: bannerCharFadeInUp 0.6s ease-out forwards;
          animation: bannerCharFadeInUp 0.6s ease-out forwards;
  /* Will-change for better performance */
  will-change: opacity, transform;
}

/* Breadcrumb Animation */
.breadcrumb-animated {
  opacity: 0;
  -webkit-animation: bannerFadeInUp 0.6s ease-out 1.2s forwards;
          animation: bannerFadeInUp 0.6s ease-out 1.2s forwards;
}

main {
  opacity: 0;
}

/* Main Content Animation */
.main-animated {
  opacity: 0;
  -webkit-animation: bannerFadeInUp 0.6s ease-out 1.4s forwards;
          animation: bannerFadeInUp 0.6s ease-out 1.4s forwards;
}

/* Responsive Animations */
@media (max-width: 768px) {
  .banner-animated .banner__image {
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
  }
  .banner-animated .banner__content .banner__title .banner__title_ir .char {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
    -webkit-animation-duration: 0.4s;
            animation-duration: 0.4s;
  }
  .banner-animated .banner__content .banner__title .banner__subtitle {
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
    -webkit-animation-duration: 0.6s;
            animation-duration: 0.6s;
  }
  .banner-animated .ir-banner__title .char {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
    -webkit-animation-duration: 0.4s;
            animation-duration: 0.4s;
  }
  .banner-animated .ir-banner__subtitle {
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
    -webkit-animation-duration: 0.6s;
            animation-duration: 0.6s;
  }
  .breadcrumb-animated {
    -webkit-animation-duration: 0.4s;
            animation-duration: 0.4s;
    -webkit-animation-delay: 1.2s;
            animation-delay: 1.2s;
  }
  .main-animated {
    -webkit-animation-duration: 0.4s;
            animation-duration: 0.4s;
    -webkit-animation-delay: 1.4s;
            animation-delay: 1.4s;
  }
}
/* Additional smooth effects */
.banner-animated .banner__content .banner__title {
  /* Ensure parent doesn't interfere with child animations */
  -webkit-transform: none;
          transform: none;
}

/* Fallback for reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .banner-animated .banner__image,
  .banner-animated .banner__content .banner__title .banner__title_ir,
  .banner-animated .banner__content .banner__title .banner__subtitle {
    -webkit-animation: none;
            animation: none;
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  .breadcrumb-animated,
  .main-animated {
    -webkit-animation: none;
            animation: none;
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
/**
 * Reusable Slide Animation Component
 * 
 * Usage:
 * 1. Add class 'slide-animation' to any element
 * 2. Optionally add data attributes for customization:
 *    - data-slide-duration="600" (animation duration in ms)
 *    - data-slide-in-class="custom-slide-in" (custom slide in class)
 *    - data-slide-out-class="custom-slide-out" (custom slide out class)
 *    - data-slide-auto-reset="false" (disable auto reset)
 *    - data-slide-trigger="parent" (trigger from parent element)
 *    - data-slide-trigger=".custom-parent" (trigger from specific selector)
 *    - data-slide-trigger="closest" data-slide-closest=".card" (trigger from closest parent with class)
 * 
 * CSS Variables (can be customized):
 * --slide-bg-color: Background color (default: #52687d)
 * --slide-duration: Animation duration (default: 0.4s)
 * --slide-z-index: Z-index for slide element (default: 2)
 * 
 * Examples:
 * 
 * <!-- Basic usage -->
 * <div class="slide-animation">Content</div>
 * 
 * <!-- Trigger from parent -->
 * <div class="parent-card">
 *   <div class="slide-animation" data-slide-trigger="parent">Content</div>
 * </div>
 * 
 * <!-- Trigger from specific parent -->
 * <div class="card">
 *   <div class="content">
 *     <div class="slide-animation" data-slide-trigger="closest" data-slide-closest=".card">Content</div>
 *   </div>
 * </div>
 */
@-webkit-keyframes slideIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes slideIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes slideOut {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes slideOut {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
.slide-animation {
  position: relative;
  overflow: hidden;
  --slide-bg-color: #52687d;
  --slide-bg-image: none;
  --slide-bg-image-mobile: none;
  --slide-bg-opacity: 1;
  --slide-duration: 0.4s;
  --slide-z-index: 2;
}
.slide-animation::before {
  opacity: 0;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--slide-bg-color);
  background-image: var(--slide-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  z-index: var(--slide-z-index);
}
@media screen and (max-width: 768px) {
  .slide-animation::before {
    background-image: var(--slide-bg-image-mobile);
  }
}
.slide-animation.slide-in::before {
  opacity: var(--slide-bg-opacity);
  -webkit-animation: slideIn var(--slide-duration) ease forwards;
          animation: slideIn var(--slide-duration) ease forwards;
}
.slide-animation.slide-out::before {
  opacity: var(--slide-bg-opacity);
  -webkit-animation: slideOut var(--slide-duration) ease forwards;
          animation: slideOut var(--slide-duration) ease forwards;
}

.slide-animation--primary {
  --slide-bg-color: #52687d;
}

.slide-animation--grey {
  --slide-bg-color: #748697;
}

.slide-animation--secondary {
  --slide-bg-color: #9e925c;
}

.slide-animation--white {
  --slide-bg-color: #ffffff;
}

.slide-animation--fast {
  --slide-duration: 0.2s;
}

.slide-animation--slow {
  --slide-duration: 0.6s;
}

.slide-animation--low-z {
  --slide-z-index: 1;
}

.slide-animation--high-z {
  --slide-z-index: 10;
}

.slide-animation--opacity-10 {
  --slide-bg-opacity: 0.1;
}

.slide-animation--opacity-30 {
  --slide-bg-opacity: 0.3;
}

.slide-animation--opacity-50 {
  --slide-bg-opacity: 0.5;
}

.slide-animation--opacity-70 {
  --slide-bg-opacity: 0.7;
}

.slide-animation--opacity-80 {
  --slide-bg-opacity: 0.8;
}

.slide-animation--opacity-90 {
  --slide-bg-opacity: 0.9;
}

.header__btn.slide-animation {
  --slide-z-index: -1;
}
.header__btn.slide-animation * {
  position: relative;
  z-index: 10;
}
.header__btn.slide-animation::after {
  position: relative;
  z-index: 10;
}
.header__btn.slide-animation:hover {
  color: #fff !important;
}
.header__btn.slide-animation:hover::after {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.vlc-banner {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 14rem auto 0.6rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .vlc-banner {
    max-width: 100%;
    margin-top: 7.2rem;
  }
}

.vlc-banner__wrapper {
  position: relative;
  width: 100%;
  display: block;
}

.vlc-banner__background {
  position: relative;
  width: 100%;
  z-index: 1;
}
.vlc-banner__background--pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .vlc-banner__background--pc {
    display: none;
  }
}
.vlc-banner__background--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .vlc-banner__background--sp {
    display: block;
  }
}

.vlc-banner__image {
  width: 100%;
  height: auto;
  display: block;
  max-height: 46rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .vlc-banner__image {
    aspect-ratio: 375/360;
  }
}

.vlc-banner__size-container {
  position: relative;
  width: 100%;
}

.vlc-banner__content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0.2rem;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.vlc-banner__content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: -1;
}

.vlc-banner__container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 2rem;
  width: 100%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .vlc-banner__container {
    padding: 0 1.5rem;
  }
}

.vlc-banner__text {
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .vlc-banner__text {
    max-width: 100%;
  }
}

.vlc-banner__title {
  font-size: 6.3rem;
  letter-spacing: 0.01em;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  color: #ffffff;
  margin: 1.3rem 0 0.8rem 0;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .vlc-banner__title {
    font-size: 2.8rem;
    line-height: 1.1;
  }
}
@media screen and (max-width: 639px) {
  .vlc-banner__title {
    font-size: 2.4rem;
  }
}

.vlc-banner__subtitle {
  font-size: 2rem;
  color: rgba(255, 255, 255, 0.95);
  margin: 0;
  font-weight: 500;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 768px) {
  .vlc-banner__subtitle {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 639px) {
  .vlc-banner__subtitle {
    font-size: 1.2rem;
  }
}
.vlc-banner__subtitle .note {
  font-size: 1.4rem;
}

.section__title {
  font-family: "Jost", sans-serif;
  font-size: 8rem;
  font-weight: 700;
  line-height: 11.6rem;
  color: #526875;
  margin: 0 0 0rem 0;
}
@media screen and (max-width: 1239px) {
  .section__title {
    font-size: 5.2rem;
    list-style: 1.5;
  }
}
@media screen and (max-width: 768px) {
  .section__title {
    font-size: 4.8rem;
    line-height: 6.9rem;
  }
}

.button-left-to-right {
  position: relative;
}

.button-left-to-right::after {
  content: "";
  width: 100%;
  background: #333;
  position: absolute;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: top left;
          transform-origin: top left;
  opacity: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: -1;
  height: 100%;
  top: 0;
  bottom: 0;
}

.button-left-to-right:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  opacity: 1;
}

.button-left-to-right:hover {
  color: #fff !important;
}

.button-left-to-right.header__btn--download:hover::before {
  background-image: url(/wp-content/themes/vlcholdings/images/icon/icon_download.svg) !important;
}

.button-left-to-right.header__btn--contact:hover::before {
  background-image: url(/wp-content/themes/vlcholdings/images/icon/icon_email.svg) !important;
}

.vlc__main {
  margin-top: 4.6rem;
}
@media screen and (max-width: 768px) {
  .vlc__main {
    margin: 0 auto;
  }
}

.section__breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #52687d;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: -0.9rem;
  margin-left: 0.7rem;
  gap: 0.2rem;
}
@media screen and (max-width: 1239px) {
  .section__breadcrumb {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .section__breadcrumb {
    font-size: 1.2rem;
    line-height: 3rem;
    margin-top: -0.6rem;
    margin-left: 0.4rem;
  }
}
.section__breadcrumb .section__breadcrumb-icon {
  width: 0.6rem;
  padding-top: 0.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .section__breadcrumb .section__breadcrumb-icon {
    padding-top: 0;
  }
}
.section__breadcrumb .section__breadcrumb-icon.section__breadcrumb-icon--left img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.section__breadcrumb .section__breadcrumb-icon img {
  width: 100%;
}
.section__breadcrumb .section__breadcrumb-text {
  font-weight: 400;
  padding: 0 1rem;
}
.section__breadcrumb .left-to-right {
  color: #fff;
  background-color: #000;
}

.left-to-right {
  color: #fff;
  background-color: #000;
  position: relative;
}

.left-to-right::after {
  content: "";
  position: absolute;
  top: -0.1rem;
  left: -0.1rem;
  width: calc(100% + 0.2rem);
  height: calc(100% + 0.2rem);
  background: #eee;
  -webkit-transform-origin: right center;
          transform-origin: right center;
}

.left-to-right::after {
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.04, 0.4, 0.1, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.04, 0.4, 0.1, 1);
  transition: transform 0.3s cubic-bezier(0.04, 0.4, 0.1, 1);
  transition: transform 0.3s cubic-bezier(0.04, 0.4, 0.1, 1), -webkit-transform 0.3s cubic-bezier(0.04, 0.4, 0.1, 1);
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.left-to-right.animate-in::after {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}

@-webkit-keyframes cameraZoom {
  0% {
    -webkit-mask: radial-gradient(circle 0px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 0px at center, transparent 99%, black 100%);
  }
  10% {
    -webkit-mask: radial-gradient(circle 50px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 50px at center, transparent 99%, black 100%);
  }
  20% {
    -webkit-mask: radial-gradient(circle 100px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 100px at center, transparent 99%, black 100%);
  }
  35% {
    -webkit-mask: radial-gradient(circle 200px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 200px at center, transparent 99%, black 100%);
  }
  50% {
    -webkit-mask: radial-gradient(circle 400px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 400px at center, transparent 99%, black 100%);
  }
  60% {
    -webkit-mask: radial-gradient(circle 800px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 800px at center, transparent 99%, black 100%);
  }
  75% {
    -webkit-mask: radial-gradient(circle 1200px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 1200px at center, transparent 99%, black 100%);
  }
  85% {
    -webkit-mask: radial-gradient(circle 1600px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 1600px at center, transparent 99%, black 100%);
  }
  100% {
    -webkit-mask: radial-gradient(circle 2000px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 2000px at center, transparent 99%, black 100%);
  }
}

@keyframes cameraZoom {
  0% {
    -webkit-mask: radial-gradient(circle 0px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 0px at center, transparent 99%, black 100%);
  }
  10% {
    -webkit-mask: radial-gradient(circle 50px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 50px at center, transparent 99%, black 100%);
  }
  20% {
    -webkit-mask: radial-gradient(circle 100px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 100px at center, transparent 99%, black 100%);
  }
  35% {
    -webkit-mask: radial-gradient(circle 200px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 200px at center, transparent 99%, black 100%);
  }
  50% {
    -webkit-mask: radial-gradient(circle 400px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 400px at center, transparent 99%, black 100%);
  }
  60% {
    -webkit-mask: radial-gradient(circle 800px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 800px at center, transparent 99%, black 100%);
  }
  75% {
    -webkit-mask: radial-gradient(circle 1200px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 1200px at center, transparent 99%, black 100%);
  }
  85% {
    -webkit-mask: radial-gradient(circle 1600px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 1600px at center, transparent 99%, black 100%);
  }
  100% {
    -webkit-mask: radial-gradient(circle 2000px at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 2000px at center, transparent 99%, black 100%);
  }
}
@-webkit-keyframes cameraZoomPercent {
  0% {
    -webkit-mask: radial-gradient(circle 0% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 0% at center, transparent 99%, black 100%);
  }
  10% {
    -webkit-mask: radial-gradient(circle 2% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 2% at center, transparent 99%, black 100%);
  }
  20% {
    -webkit-mask: radial-gradient(circle 5% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 5% at center, transparent 99%, black 100%);
  }
  35% {
    -webkit-mask: radial-gradient(circle 12% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 12% at center, transparent 99%, black 100%);
  }
  50% {
    -webkit-mask: radial-gradient(circle 25% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 25% at center, transparent 99%, black 100%);
  }
  60% {
    -webkit-mask: radial-gradient(circle 30% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 30% at center, transparent 99%, black 100%);
  }
  75% {
    -webkit-mask: radial-gradient(circle 80% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 80% at center, transparent 99%, black 100%);
  }
  85% {
    -webkit-mask: radial-gradient(circle 120% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 120% at center, transparent 99%, black 100%);
  }
  100% {
    -webkit-mask: radial-gradient(circle 150% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 150% at center, transparent 99%, black 100%);
  }
}
@keyframes cameraZoomPercent {
  0% {
    -webkit-mask: radial-gradient(circle 0% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 0% at center, transparent 99%, black 100%);
  }
  10% {
    -webkit-mask: radial-gradient(circle 2% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 2% at center, transparent 99%, black 100%);
  }
  20% {
    -webkit-mask: radial-gradient(circle 5% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 5% at center, transparent 99%, black 100%);
  }
  35% {
    -webkit-mask: radial-gradient(circle 12% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 12% at center, transparent 99%, black 100%);
  }
  50% {
    -webkit-mask: radial-gradient(circle 25% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 25% at center, transparent 99%, black 100%);
  }
  60% {
    -webkit-mask: radial-gradient(circle 30% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 30% at center, transparent 99%, black 100%);
  }
  75% {
    -webkit-mask: radial-gradient(circle 80% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 80% at center, transparent 99%, black 100%);
  }
  85% {
    -webkit-mask: radial-gradient(circle 120% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 120% at center, transparent 99%, black 100%);
  }
  100% {
    -webkit-mask: radial-gradient(circle 150% at center, transparent 99%, black 100%);
    mask: radial-gradient(circle 150% at center, transparent 99%, black 100%);
  }
}
@-webkit-keyframes contentReveal {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes contentReveal {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.camera-zoom {
  position: relative;
  overflow: hidden;
}
.camera-zoom::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(255, 255, 255);
  z-index: 10;
  pointer-events: none;
  -webkit-mask: var(--mask-value, radial-gradient(circle 0px at center, transparent 99%, black 100%));
  -webkit-mask-composite: destination-out;
  -webkit-mask: var(--mask-value, radial-gradient(circle 0px at center, transparent 99%, black 100%));
          mask: var(--mask-value, radial-gradient(circle 0px at center, transparent 99%, black 100%));
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
.camera-zoom .hero__content .hero__subtitle,
.camera-zoom .hero__content .hero__title,
.camera-zoom .hero__content .hero__logo-text .hero__go,
.camera-zoom .hero__content .hero__logo-text .hero__beyond {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out, -webkit-transform 0.8s ease-out;
}
.camera-zoom .content-hidden {
  opacity: 0 !important;
  -webkit-transform: translateY(30px) !important;
          transform: translateY(30px) !important;
}
.camera-zoom .content-visible {
  opacity: 1 !important;
  -webkit-transform: translateY(0) !important;
          transform: translateY(0) !important;
}

.fade-in {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
}

.fade-in.delay-1 {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.fade-in.delay-2 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.fade-in.animate-in {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.section__more {
  text-align: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
.section__more::after {
  content: "";
  width: 0.5rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10'%3E%3Cpath id='_01' data-name='01' d='M0,56.094v10l5-4.984Z' transform='translate(0 -56.094)' fill='%239e925c' opacity='0.6'/%3E%3C/svg%3E%0A");
  margin-left: 0.5rem;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.3rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.section__more::before {
  content: "";
  width: 0.5rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10'%3E%3Cpath id='_02' data-name='02' d='M0,56.094v10l5-4.984Z' transform='translate(0 -56.094)' fill='%239e925c'/%3E%3C/svg%3E%0A");
  margin-left: 0.5rem;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.section__more.more--white::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10'%3E%3Cpath id='_01' data-name='01' d='M0,56.094v10l5-4.984Z' transform='translate(0 -56.094)' fill='%23fff' opacity='0.6'/%3E%3C/svg%3E%0A");
}
.section__more.more--white::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10'%3E%3Cpath id='_02' data-name='02' d='M0,56.094v10l5-4.984Z' transform='translate(0 -56.094)' fill='%23fff'/%3E%3C/svg%3E%0A");
}
.section__more.more--white .section__more-link::before {
  background: rgba(255, 255, 255, 0.3019607843);
}
.section__more.is-back {
  text-align: center;
}
.section__more.is-back .section__more-link {
  width: 15.4rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-right: 1.9rem;
  letter-spacing: 0;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .section__more.is-back .section__more-link {
    width: 12.4rem;
    font-size: 1.6rem;
    line-height: 2.4rem;
    padding-right: 1.3rem;
    padding-bottom: 0.5rem;
  }
}
.section__more.is-back::before {
  top: 44.5%;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  right: auto;
  left: 0;
}
@media screen and (max-width: 768px) {
  .section__more.is-back::before {
    top: 35%;
    left: -0.4rem;
  }
}
.section__more.is-back::after {
  top: 44.5%;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  right: auto;
  left: 0.8rem;
}
@media screen and (max-width: 768px) {
  .section__more.is-back::after {
    top: 35%;
    left: 0.2rem;
  }
}
.section__more:hover::after {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.section__more:hover::before {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 1;
}
.section__more .section__more-link {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  gap: 0.5rem;
  color: #52687d;
  padding-bottom: 0.6rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 16.8rem;
  position: relative;
}
.section__more .section__more-link::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: rgba(82, 104, 125, 0.3);
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.section__more .section__more-link:hover > span {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.section__more .section__more-link:hover::before {
  background: -webkit-gradient(linear, left top, right top, from(rgba(83, 105, 127, 0.2)), to(#52687d));
  background: linear-gradient(to right, rgba(83, 105, 127, 0.2), #52687d);
}
.section__more .section__more-link .section__more-arrow {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 1.2rem;
}
.section__more.more--white:hover .section__more-link::before {
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.2)), to(#ffffff));
  background: linear-gradient(to right, rgba(255, 255, 255, 0.2), #ffffff);
}

@-webkit-keyframes redWave {
  0% {
    width: 0;
    left: 0;
  }
  50% {
    width: 100%;
    left: 0;
  }
  100% {
    width: 0;
    left: 100%;
  }
}

@keyframes redWave {
  0% {
    width: 0;
    left: 0;
  }
  50% {
    width: 100%;
    left: 0;
  }
  100% {
    width: 0;
    left: 100%;
  }
}
.breadcrumb-container {
  background: #fff;
  padding-bottom: 0.1rem;
}
@media screen and (max-width: 768px) {
  .breadcrumb-container {
    padding-bottom: 0;
    background: transparent;
  }
}

.breadcrumb {
  font-size: 1.2rem;
  padding: 1.65rem 0;
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  font-weight: 700;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.breadcrumb.top {
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .breadcrumb {
    padding: 0 1.9rem;
    margin: 0 auto;
    padding: 1rem 1.81rem 0.8rem 1.81rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.breadcrumb span {
  font-family: "Noto Sans JP", sans-serif;
  color: #5c6d7c;
  font-size: 1.2rem;
  font-weight: 500;
}
.breadcrumb span a {
  color: rgba(92, 109, 124, 0.5);
  text-decoration: none;
}
.breadcrumb a {
  color: #5c6d7c;
  text-decoration: none;
}
.breadcrumb .breadcrumb__separator {
  width: 0.4rem;
  height: 0.7rem;
  margin: 0 1.7rem;
  background-image: url("/wp-content/themes/vlcholdings/images/icon/icon_breadcrumb-seperator.svg");
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .breadcrumb .breadcrumb__separator {
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  .breadcrumb .breadcrumb__item {
    margin: 0 1.6rem;
  }
  .breadcrumb .breadcrumb__item:last-child {
    margin-right: 0;
  }
}
.breadcrumb > .breadcrumb__item:last-child {
  max-width: 24rem;
  overflow-x: hidden;
  line-clamp: 1;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .breadcrumb > .breadcrumb__item:last-child {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.breadcrumb > .breadcrumb__item:last-child a {
  color: #5c6d7c;
  font-weight: 700;
}

.loading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4rem 2rem;
  text-align: center;
  min-height: 20rem;
  font-size: 1.6rem;
  color: #5c6d7c;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}
.loading::before {
  content: "";
  width: 4rem;
  height: 4rem;
  border: 0.3rem solid #f3f3f3;
  border-top: 0.3rem solid #26506c;
  border-radius: 50%;
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 768px) {
  .loading {
    padding: 3rem 2rem;
    min-height: 15rem;
    font-size: 1.4rem;
  }
  .loading::before {
    width: 3rem;
    height: 3rem;
    border-width: 0.2rem;
    margin-bottom: 1.2rem;
  }
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.ir-list__pagination,
.nav-links > .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 4.05rem;
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  .ir-list__pagination,
  .nav-links > .page-numbers {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.ir-list__page,
.page-numbers > li > a.page-numbers {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border: 0.1rem solid #ffffff;
  background-color: #ffffff;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 2.8rem;
  color: #5c6d7c;
  text-decoration: none;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
}

@media screen and (max-width: 768px) {
  .ir-list__page,
  .page-numbers > li > a.page-numbers.next,
  .page-numbers > li > a.page-numbers.prev {
    border: 0.1rem solid #5c6d7c;
  }
}

.ir-list__page--active,
.page-numbers .current span {
  background: #52687d;
  color: #fff;
  border-color: #52687d;
}

.view-more-custom {
  width: 16.8rem;
  position: relative;
}
.view-more-custom::after {
  content: "";
  width: 0.5rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10'%3E%3Cpath id='_01' data-name='01' d='M0,56.094v10l5-4.984Z' transform='translate(0 -56.094)' fill='%239e925c' opacity='0.6'/%3E%3C/svg%3E%0A");
  margin-left: 0.5rem;
  vertical-align: middle;
  position: absolute;
  top: 43.6%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.3rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background-size: contain;
}
.view-more-custom::before {
  content: "";
  width: 0.5rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='10' viewBox='0 0 5 10'%3E%3Cpath id='_02' data-name='02' d='M0,56.094v10l5-4.984Z' transform='translate(0 -56.094)' fill='%239e925c'/%3E%3C/svg%3E%0A");
  margin-left: 0.5rem;
  vertical-align: middle;
  position: absolute;
  top: 43.6%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
}
.view-more-custom .view-more-custom__link {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  gap: 0.5rem;
  color: #52687d;
  padding-bottom: 0.6rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.view-more-custom .view-more-custom__link::before {
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: rgba(82, 104, 125, 0.1);
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.view-more-custom:hover::before {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 1;
}
.view-more-custom:hover .view-more-custom__link::before {
  background: -webkit-gradient(linear, left top, right top, from(rgba(83, 105, 127, 0.2)), to(#52687d));
  background: linear-gradient(to right, rgba(83, 105, 127, 0.2), #52687d);
}

.breadcrumb-animate .breadcrumb-fade {
  opacity: 0;
}

.breadcrumb-animate--active .breadcrumb-fade {
  -webkit-animation: breadcrumbFadeIn 0.5s forwards;
          animation: breadcrumbFadeIn 0.5s forwards;
}

.breadcrumb-animate--active .breadcrumb-fade-1 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.breadcrumb-animate--active .breadcrumb-fade-2 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.breadcrumb-animate--active .breadcrumb-fade-3 {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

@-webkit-keyframes breadcrumbFadeIn {
  to {
    opacity: 1;
  }
}

@keyframes breadcrumbFadeIn {
  to {
    opacity: 1;
  }
}
.is-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .is-sp {
    display: block;
  }
}

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

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

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

.extend__breadcrumb {
  padding-bottom: 6.3rem;
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .extend__breadcrumb {
    padding-top: 0.9rem;
    padding-bottom: 0;
  }
}