/*!*******************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/swiper/swiper.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************/
/**
 * Swiper 11.1.9
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 31, 2024
 */
/* FONT_START */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/swiper/modules/effect-fade.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
/*!*******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/swiper/modules/navigation.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************/
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

/* Navigation font end */
/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/swiper/modules/zoom.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}
/*!*******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/swiper/modules/pagination.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************/
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}
/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/photoswipe/dist/photoswipe.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 100000;
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: var(--pswp-icon-color);
}

/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/
.pswp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--pswp-root-z-index);
  display: none;
  touch-action: none;
  outline: 0;
  opacity: 0.003;
  contain: layout style size;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
  display: block;
}

.pswp,
.pswp__bg {
  transform: translateZ(0);
  will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
  background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
  overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
  width: auto;
  height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: move;
  cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
  cursor: zoom-out;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pswp__item {
  /* z-index for fade transition */
  z-index: 1;
  overflow: hidden;
}

.pswp__hidden {
  display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}

.pswp__content > * {
  pointer-events: auto;
}

/*

  PhotoSwipe UI

*/
/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}

.pswp__error-msg {
  margin: auto;
  font-size: 1em;
  line-height: 1;
  color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
  opacity: 0.005;
  will-change: opacity;
  transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
  z-index: 10; /* always overlap slide content */
  pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
  position: relative;
  display: block;
  width: 50px;
  height: 60px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 0.85;
  -webkit-appearance: none;
  -webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
  outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
  background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  z-index: 10;
  /* allow events to pass through top bar itself */
  pointer-events: none !important;
}

.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}

/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}

/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}

.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}

/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  margin-inline-start: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/photoswipe-dynamic-caption-plugin/photoswipe-dynamic-caption-plugin.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************/
.pswp__dynamic-caption {
  color: #fff;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  transition: opacity 120ms linear !important; /* override default */
}

.pswp-caption-content {
  display: none;
}

.pswp__dynamic-caption a {
  color: #fff;
}

.pswp__dynamic-caption--faded {
  opacity: 0 !important;
}

.pswp__dynamic-caption--aside {
  width: auto;
  max-width: 300px;
  padding: 20px 15px 20px 20px;
  margin-top: 70px;
}

.pswp__dynamic-caption--below {
  width: auto;
  max-width: 700px;
  padding: 15px 0 0;
}

.pswp__dynamic-caption--on-hor-edge {
  padding-left: 15px;
  padding-right: 15px;
}

.pswp__dynamic-caption--mobile {
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  padding: 10px 15px;
  right: 0;
  bottom: 0;
  /* override styles that were set via JS.
    as they interfere with size measurement */
  top: auto !important;
  left: 0 !important;
}
/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/sass/style.scss ***!
  \********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*!
Theme Name: transit crew
Theme URI: http://underscores.me/
Author: Yusuke Sugimori (apart-apart.com) / Mitsuhiro Sugimori (birnimal)
Author URI: http://apart-apart.com/
Description: transit crew theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ka15ek1
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

ka15ek1 is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  font-family: sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  color: #071425;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

dfn {
  font-style: italic;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #fff;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:hover {
  color: #d9d9d9;
  text-decoration: none;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code,
kbd,
samp {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #aaa;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
  color: #071425;
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.8;
}

body.lang--en {
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}
body.lang--en button,
body.lang--en input,
body.lang--en select,
body.lang--en optgroup,
body.lang--en textarea {
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

dfn, cite, em, i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code, kbd, tt, var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark, ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

@font-face {
  font-family: "iconfont";
  src: url(fonts/iconfont..eot?9a6dada3900ff8ffab84);
  src: url(fonts/iconfont..eot?9a6dada3900ff8ffab84#iefix) format("embedded-opentype"), url(fonts/iconfont..ttf?2bc3c07017f3818d5354) format("truetype"), url(fonts/iconfont..woff?737554e3c81d6e7218a0) format("woff");
  font-weight: normal;
  font-style: normal;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "iconfont" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow_left_thin:before {
  content: "\e900";
}

.icon-arrow_right_thin:before {
  content: "\e901";
}

.icon-close:before {
  content: "\e902";
}

.icon-cart:before {
  content: "\e903";
}

.icon-minus:before {
  content: "\e904";
}

.icon-plus:before {
  content: "\e905";
}

.icon-facebook:before {
  content: "\e906";
}

.icon-instagram:before {
  content: "\e907";
}

.icon-twitter:before {
  content: "\e908";
}

.icon-pinterest:before {
  content: "\e909";
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
  font-size: 100%;
}

body {
  background: #fff; /* Fallback for when there is no custom background color defined. */
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul, ol {
  margin: 0 0 1.5em 0;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: bold;
}

dd {
  margin: 0 1.5em 1.5em;
}

img {
  height: auto; /* Make sure images are scaled correctly. */
  max-width: 100%; /* Adhere to container width. */
}

figure {
  margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

sub,
sup {
  font-size: 50%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.8em;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid;
  border-color: var(--apt-color-text-primary);
  border-radius: 3px;
  background: var(--apt-color-background-primary);
  color: rgba(0, 0, 0, 0.8);
  font-size: 0.875rem;
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: rgb(var(--apt-color-text-primary-rgb)/0.7);
}
button:active, button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: rgb(var(--apt-color-text-primary-rgb)/0.7);
  outline: none;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
select,
textarea {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  color: #000;
  border: 1px solid #071425;
  background-color: transparent;
  border-radius: 0;
  padding: 0.25rem 0.5rem;
  box-shadow: none;
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.5rem;
  height: 2.25rem;
  -webkit-appearance: none;
}
input[type=text]:focus, input[type=text]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=url]:focus,
input[type=url]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=number]:focus,
input[type=number]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=range]:focus,
input[type=range]:active,
input[type=date]:focus,
input[type=date]:active,
input[type=month]:focus,
input[type=month]:active,
input[type=week]:focus,
input[type=week]:active,
input[type=time]:focus,
input[type=time]:active,
input[type=datetime]:focus,
input[type=datetime]:active,
input[type=datetime-local]:focus,
input[type=datetime-local]:active,
input[type=color]:focus,
input[type=color]:active,
select:focus,
select:active,
textarea:focus,
textarea:active {
  color: #333;
  outline: none;
}
input[type=text][disabled], input[type=text].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=range][disabled],
input[type=range].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=color][disabled],
input[type=color].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

input[type=file] {
  font-size: 0.75rem;
  width: 100%;
}

select {
  border: 2px solid #071425;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  background-position: right center;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAIAAAC2BqGFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAihJREFUeNrs3U9OGzEUB+CXrNggsS0XKEehV2BZjtBzVOICcA04ClwAtkhsukstRYqqJhX/xvZ76vfTLGay8nxynNh+k6w2m01I/6wRgAYtoEGDFtCgBTRo0AIatIAGDVpAgxbQoEELaNACGjRoAQ1aQIMGLaBBC2jQoAU0aAENGrSABi2gQYOWetBPD/ftqMjRr+XrHm29ubxsRznrri1f92jrr5eXdtSy7t3y1bK/QPPz2/nz4+Pu8uj4+Pv19ZevZ1WUd6+cnJ7+uL3L26Mvrq4a7u6yRL/eV2630G4k9dDROm/rwoWsDyr3eBcu/2FYyHqYcq+vdyWsRyp3nLAktx6s3HdmmNZ6vHL3KXhC6ynKI9Y6UlnPUo4xi0pJrCcqx7DVu+nWc5Vj5DLpROvpyjF4PXqKdQblGL/wP9g6iXJM2WEZZp1HOWZtZQ2wTqUcE/cMu1pnU465m7OdrBMqx/Rd8MWtcypHhnKDBa3TKkeSuo5FrDMrR54Cmk9aJ1eOVJVKH7bOrxzZSsI+YF1CORLW3r3Luopy5CxyfKN1IeVIW036qnUt5Vi8JGzMqlA7qaWcHfpf1tsOXki5APRB6z9TpY6yQMX//nhdTjmqPFpx0LqQchR6huUv61rKNcbo/fG6ndRSrge9td528FrNXvlzX2M0aAENGrSABi2gQYMW0KAFNGjQAhq0gAYNWkCDFtCgQQto0AIaNGgBDVpAg/5/81uAAQBeRWp3R0o87gAAAABJRU5ErkJggg==);
  background-size: 24px;
  padding-right: 24px;
}

.ie select {
  background: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

textarea {
  width: 100%;
  height: auto;
  max-width: 100%;
  min-height: 5rem;
  line-height: 1.5em;
  padding: 0.5rem;
  font-size: 0.875rem;
}

input[type=text], input[type=password], textarea {
  -webkit-appearance: none;
}

button, html input[type=button], input[type=reset], input[type=submit] {
  background-color: transparent;
  color: var(--apt-color-text-primary);
  border: 1px solid var(--apt-color-text-primary);
  border-radius: 0;
  font-size: 0.875rem;
  height: 3rem;
  line-height: 2.75rem;
  display: block;
  margin: 0 auto;
  padding: 0 20px;
  cursor: pointer;
  transition: all 0.4s ease;
  outline: none;
}
button:focus, button:active, html input[type=button]:focus, html input[type=button]:active, input[type=reset]:focus, input[type=reset]:active, input[type=submit]:focus, input[type=submit]:active {
  border-color: var(--apt-color-text-primary);
}
button:hover, html input[type=button]:hover, input[type=reset]:hover, input[type=submit]:hover {
  background-color: rgb(var(--apt-color-text-primary-rgb)/0.04);
  border-color: var(--apt-color-text-primary);
}
button:disabled:hover, html input[type=button]:disabled:hover, input[type=reset]:disabled:hover, input[type=submit]:disabled:hover {
  background-color: transparent;
}

.checkbox-styled label {
  display: inline-block;
  cursor: pointer;
  padding: 4px 16px 4px 0;
  vertical-align: middle;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}
.checkbox-styled label span {
  vertical-align: middle;
  padding-left: 24px;
  position: relative;
  display: block;
  font-size: 12px;
}
.checkbox-styled label span:before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
}
.checkbox-styled input[type=checkbox] {
  position: absolute;
  left: -20px;
}
.checkbox-styled input[type=checkbox]:checked + span:before {
  background: #fff;
}
.checkbox-styled input[type=checkbox]:checked + span:after {
  content: "";
  display: block;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  position: absolute;
  top: 10px;
  left: 6px;
  margin-top: -6px;
}
.checkbox-styled input[type=checkbox][disabled] + span {
  opacity: 0.5;
}

.radio-styled label {
  display: inline-block;
  cursor: pointer;
  padding: 4px 16px 4px 0;
  vertical-align: top;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}
.radio-styled label span {
  vertical-align: middle;
  padding-left: 24px;
  position: relative;
  display: block;
  font-size: 12px;
}
.radio-styled span:before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 50%;
  cursor: pointer;
}
.radio-styled input[type=radio] {
  position: absolute;
  left: -20px;
}
.radio-styled input[type=radio]:checked + span:before {
  background: #fff;
}
.radio-styled input[type=radio]:checked + span:after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background: #fff;
  position: absolute;
  border-radius: 50%;
  top: 7px;
  left: 5px;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
  color: var(--apt-color-link);
  transition: opacity 0.4s ease;
}
a:visited {
  color: var(--apt-color-link);
}
a:hover, a:focus, a:active {
  color: var(--apt-color-link);
  opacity: 0.8;
}
a:focus {
  outline: 0;
}
a:hover, a:active {
  outline: 0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
  clear: both;
  display: block;
  float: left;
  width: 100%;
}
.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}
.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
  left: 100%;
}
.main-navigation ul ul a {
  width: 200px;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}
.main-navigation li {
  float: left;
  position: relative;
}
.main-navigation a {
  display: block;
  text-decoration: none;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: block;
  }
}
.comment-navigation,
.posts-navigation,
.post-navigation {
  padding: 0 6%;
  margin: 6rem auto 0;
  max-width: 65rem;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.comment-navigation .arrow,
.posts-navigation .arrow,
.post-navigation .arrow {
  position: relative;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
}
.comment-navigation .arrow:before, .comment-navigation .arrow:after,
.posts-navigation .arrow:before,
.posts-navigation .arrow:after,
.post-navigation .arrow:before,
.post-navigation .arrow:after {
  content: "";
  display: block;
}
.comment-navigation .arrow:before,
.posts-navigation .arrow:before,
.post-navigation .arrow:before {
  position: absolute;
  top: 50%;
  width: 2rem;
  height: 2rem;
  border: 1px solid;
  border-bottom: 0;
  border-left: 0;
}
.comment-navigation .nav-previous, .comment-navigation .nav-next,
.posts-navigation .nav-previous,
.posts-navigation .nav-next,
.post-navigation .nav-previous,
.post-navigation .nav-next {
  width: 100%;
  padding: 2rem 0;
}
.comment-navigation .nav-previous a, .comment-navigation .nav-next a,
.posts-navigation .nav-previous a,
.posts-navigation .nav-next a,
.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  display: flex;
  align-items: center;
  line-height: 1.5;
}
.comment-navigation .nav-previous .arrow:before,
.posts-navigation .nav-previous .arrow:before,
.post-navigation .nav-previous .arrow:before {
  right: 0;
  transform: translateY(-50%) rotate(-135deg);
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  border-top: 0.0625rem solid;
}
.comment-navigation .nav-next:first-of-type,
.posts-navigation .nav-next:first-of-type,
.post-navigation .nav-next:first-of-type {
  border: 0;
}
.comment-navigation .nav-next a,
.posts-navigation .nav-next a,
.post-navigation .nav-next a {
  justify-content: flex-end;
}
.comment-navigation .nav-next .arrow:before,
.posts-navigation .nav-next .arrow:before,
.post-navigation .nav-next .arrow:before {
  left: 0;
  transform: translateY(-50%) rotate(45deg);
}
.en-US .comment-navigation .nav-previous .arrow:before,
.en-US .posts-navigation .nav-previous .arrow:before,
.en-US .post-navigation .nav-previous .arrow:before {
  transform: translateY(-42%) rotate(-135deg);
}
.en-US .comment-navigation .nav-next .arrow:before,
.en-US .posts-navigation .nav-next .arrow:before,
.en-US .post-navigation .nav-next .arrow:before {
  transform: translateY(-42%) rotate(45deg);
}

@media screen and (min-width: 481px) {
  .comment-navigation .arrow,
  .posts-navigation .arrow,
  .post-navigation .arrow {
    width: 3rem;
    min-width: 3rem;
    height: 3rem;
  }
  .comment-navigation .arrow:before,
  .posts-navigation .arrow:before,
  .post-navigation .arrow:before {
    width: 2.5rem;
    height: 2.5rem;
  }
  .comment-navigation .nav-previous,
  .posts-navigation .nav-previous,
  .post-navigation .nav-previous {
    width: 50%;
    padding: 0 2rem 0 0;
    margin: 2rem 0;
  }
  .comment-navigation .nav-next,
  .posts-navigation .nav-next,
  .post-navigation .nav-next {
    width: 50%;
    padding: 0 0 0 2rem;
    margin: 2rem 0 2rem auto;
    border-top: 0;
    border-left: 0.0625rem solid;
  }
}
@media screen and (min-width: 900px) {
  .comment-navigation,
  .posts-navigation,
  .post-navigation {
    padding: 0 5%;
  }
}
/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #ededed;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #000;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */
}
.widget select {
  max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Header / Footer
--------------------------------------------------------------*/
:root {
  --apt-color-primary: #000000;
  --apt-color-primary-rgb: 0 0 0;
  --apt-color-primary-light: #333333;
  --apt-color-blue: #255e94;
  --apt-color-green: #2c9d56;
  --apt-color-red: #E50536;
  --apt-color-blue-gray: #7CB3D8;
  --apt-color-secondary: #555555;
  --apt-color-text-primary: #000000;
  --apt-color-text-primary-rgb: 0 0 0;
  --apt-color-text-secondary: rgb(0 0 0 / 0.7);
  --apt-color-text-light: #fff;
  --apt-color-text-light-rgb: 255 255 255;
  --apt-color-text-disabled: #aaa;
  --apt-color-link: var(--apt-color-text-primary);
  --apt-color-border-primary: #000000;
  --apt-color-border-secondary: #959595;
  --apt-color-border-tertiary: #DFE3E8;
  --apt-color-background-primary: #ffffff;
  --apt-color-background-primary-rgb: 255 255 255;
  --apt-color-background-accent: var(--apt-color-primary);
  --apt-color-background-dark: #000000;
  --apt-color-background-placeholder: #dddddd;
  --apt-color-background-hover: #222222;
  --apt-color-background-hover-light: rgb(0 0 0 / 0.05);
  --apt-color-background-dark-rgb: 0 0 0;
  --apt-color-background-dark-light: #231f21;
  --apt-color-background-pink: #e2c1ba;
  --apt-color-background-gray: #d9d9d9;
  --apt-color-selection-image: rgb(0 0 0 / 0.1);
  --apt-color-notice: #e7211a;
  --apt-color-notice-rgb: 231 33 26;
  --apt-letter-spacing-en-font: 0.05em;
  --apt-spacing-side-mobile: clamp(1.25rem, 6vw, 1.5rem);
  --apt-spacing-side-desktop: 2.5rem;
  --apt-header-height-mobile: 3.75rem;
  --apt-header-height-desktop: 6rem;
}

:root :where(a:where(:not(.wp-block-navigation))),
:root :where(a:where(:not(.wp-element-button))) {
  text-decoration: initial;
}

html {
  scroll-padding-top: var(--apt-header-height-mobile);
}

body {
  background-color: var(--apt-wk-color-background-base);
}

html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

.no-scroll {
  overflow: hidden;
}

::-moz-selection {
  background: var(--apt-color-background-dark);
  color: var(--apt-color-text-light);
}

::selection {
  background: var(--apt-color-background-dark);
  color: var(--apt-color-text-light);
}

img::-moz-selection {
  background: var(--apt-color-selection-image);
}

img::selection {
  background: var(--apt-color-selection-image);
}

body {
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
  color: var(--apt-color-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wrap {
  max-width: 80rem;
  margin: 0 auto;
}

.wrap-thin {
  max-width: 43.75rem;
  margin: 0 auto;
}

.wrap-thin2 {
  max-width: 46rem;
  margin: 0 auto;
}

.wrap-wide {
  max-width: 80rem;
  margin: 0 auto;
}

.block-inner {
  padding: 0 var(--apt-spacing-side-mobile);
}

.pc {
  display: none;
}

img.lazy {
  opacity: 0;
}
img.lazy:not(.initial) {
  transition: opacity 0.6s ease;
}
img.lazy.initial, img.lazy.loaded, img.lazy.error {
  opacity: 1;
}

img.lazyload {
  opacity: 0;
  transition: opacity 0.6s ease;
}

img.lazyloaded {
  opacity: 1;
  transition: opacity 0.6s ease;
}

ul.language-switcher {
  padding: 0;
  margin: 0 0 0 -0.75rem;
  display: flex;
}
ul.language-switcher li {
  position: relative;
  display: flex;
  font-size: 0.8125rem;
  padding: 0;
}
ul.language-switcher li a {
  position: relative;
  padding: 0.375rem 0.75rem;
  display: block;
  color: var(--apt-wk-color-progressive);
  text-transform: uppercase;
}
ul.language-switcher li a:hover {
  opacity: 0.7;
}
ul.language-switcher li.active a {
  font-weight: bold;
}

#masthead {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--apt-header-height-mobile);
  display: flex;
  align-content: center;
  padding: 0 var(--apt-spacing-side-mobile);
  z-index: 1000;
}
#masthead .site-branding {
  margin: auto 0 auto 1.5rem;
  margin-left: -0.5rem;
}
#masthead .site-title {
  margin: 0;
}
#masthead .logo-block {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
#masthead .logo-wk {
  position: relative;
  top: -0.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  min-height: 2.5rem;
}
#masthead .logo-wk img {
  width: 100%;
}
#masthead .logo {
  position: relative;
  display: block;
  line-height: 1;
  width: 9.375rem;
}
#masthead .logo img, #masthead .logo svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}
#masthead .logo path {
  fill: var(--apt-color-text-primary);
}
#masthead .sns-links {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
}
#masthead .sns-links a {
  width: 3rem;
  height: 3rem;
  padding: 0.625rem;
  display: block;
}
#masthead .sns-links a img {
  width: 100%;
  height: auto;
  display: block;
}
#masthead .language-switcher {
  display: none;
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.wf-active #masthead .language-switcher {
  opacity: 1;
}

#shutter {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  box-sizing: content-box;
  z-index: 100;
  display: none;
}

#header-menu {
  display: none;
  position: relative;
  margin-left: auto;
  margin-right: 1rem;
  transition: opacity 2s cubic-bezier(0.25, 1, 0.5, 1) 0s;
}
#header-menu > ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
#header-menu > ul li {
  font-size: 0.875rem;
  margin: 0 min(0.3125vw, 0.5rem);
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
  letter-spacing: var(--apt-letter-spacing-en-font);
}
#header-menu > ul li a {
  position: relative;
  display: block;
  color: var(--apt-color-text-primary);
  padding: 0.25rem 0.75rem;
  transition: opacity 0.4s ease;
}
#header-menu > ul li a:hover {
  opacity: 0.7;
}
#header-menu > ul li.active a {
  background-color: var(--apt-color-text-primary);
  color: var(--apt-color-text-light);
}
.wf-loading #header-menu {
  transition: none;
}

#menu-indicator {
  position: absolute;
  left: 0;
  bottom: -0.75rem;
  display: block;
  height: 0.375rem;
  width: 6.25rem;
  background-color: var(--apt-color-text-primary);
  transform-origin: left center;
  opacity: 0;
}

@keyframes header-menu-underline {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
.sidemenu {
  display: none;
  background: var(--apt-color-background-dark);
}

#sidemenu .logo {
  height: 32px;
  padding: 8px 0 0;
}
#sidemenu .smenulist {
  margin-bottom: 0;
}
#sidemenu .side-footernav {
  margin-top: 0;
}
#sidemenu .closemenu {
  color: var(--apt-color-text-light);
  line-height: 1.5;
}

.toggle-button {
  position: fixed;
  top: 0.375rem;
  left: 0;
  z-index: 3000;
  cursor: pointer;
  height: 3rem;
  display: flex;
  align-items: center;
  transition: opacity 0.6s ease;
}
.toggle-button .toggle-inner {
  display: flex;
  align-items: center;
}
.toggle-button .toggle-lines {
  width: 3.25rem;
  padding: 1rem 1rem;
  margin: 0;
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 0.6s ease, opacity 0.6s ease;
}
.toggle-button .toggle-lines .line {
  display: block;
  width: 100%;
  height: 0.125rem;
  background: var(--apt-color-text-primary);
  margin: 0.25rem 0;
  transition: transform 0.6s ease, background-color 0.2s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.toggle-button .toggle-lines .text {
  font-size: 0.625rem;
  letter-spacing: 0;
  display: block;
  line-height: 1;
  text-align: center;
}
.toggle-button .close {
  display: none;
}
.toggle-button:hover {
  opacity: 0.7;
}
.toggle-button.dark .toggle-lines .line {
  background-color: var(--apt-color-text-light);
}
.toggle-button.open .toggle-lines .line {
  background: var(--apt-color-text-primary);
}
.toggle-button.open .toggle-lines .line:nth-of-type(1) {
  transform: translate(0, 0.375rem) rotate(45deg);
}
.toggle-button.open .toggle-lines .line:nth-of-type(2) {
  transform: scaleX(0);
}
.toggle-button.open .toggle-lines .line:nth-of-type(3) {
  transform: translate(0, -0.375rem) rotate(-45deg);
}

.toggle-button.hidden {
  display: none;
  opacity: 0;
}

.search-button {
  position: fixed;
  top: 0.9375rem;
  right: calc(min(6%, 1.75rem) + 3rem - 0.75rem);
  cursor: pointer;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3000;
}
.search-button svg {
  width: 1.5rem;
  height: auto;
}
.search-button svg path, .search-button svg rect {
  fill: var(--apt-color-text-light);
}

/* ANIMATION */
.anm-up-clip {
  overflow: hidden;
}
.anm-up-clip span {
  display: inline-block;
}

.anm-slide-left {
  transform: translateX(4rem);
  will-change: transform;
}

.anm-expand-right {
  transform-origin: top left;
  transform: scaleX(0);
  will-change: transform;
}

.anm-scale-up {
  transform: scale(0.94);
  will-change: scale;
}

.anm-letter-in {
  opacity: 0;
}
.anm-letter-in.animating {
  opacity: 1;
}
.anm-letter-in .letter {
  will-change: transform;
  display: inline-block;
}

.anm-wipe {
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
}
.anm-wipe img {
  opacity: 0;
  background: #000;
  transform: translateZ(0);
}
.anm-wipe::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  transform: translateX(-101%) translateZ(0);
}
.anm-wipe.animated img {
  animation: wipe-img;
  animation-duration: 1600ms;
  animation-fill-mode: forwards;
}
.anm-wipe.animated::after {
  animation: wipe;
  animation-duration: 1600ms;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}

.ie .anm-wipe::after {
  display: none;
}
.ie .anm-wipe.animated img {
  animation: wipe-img-ie;
  animation-duration: 1600ms;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.ie .anm-wipe.animated::after {
  animation: none;
}

.anm-wipe-half {
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
}
.anm-wipe-half img {
  opacity: 0;
  background: #000;
  transform: translateZ(0);
}
.anm-wipe-half::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  transform: translateX(0) translateZ(0);
}
.anm-wipe-half.animated img {
  opacity: 1;
}
.anm-wipe-half.animated::after {
  animation: wipe-half;
  animation-duration: 800ms;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}

.ie .anm-wipe-half::after {
  display: none;
}
.ie .anm-wipe-half.animated img {
  animation: wipe-img-ie;
  animation-duration: 800ms;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.ie .anm-wipe-half.animated::after {
  animation: none;
}

.image-zoom {
  padding-top: 66.66%;
  position: relative;
  overflow: hidden;
}
.image-zoom img {
  transition: transform 1s ease;
  transform: translate(-50%, -50%) scale(1);
  position: absolute;
  top: 50%;
  left: 50%;
}
.image-zoom:hover img {
  transform: translate(-50%, -50%) scale(1.1);
}

@keyframes wipe-img {
  0% {
    opacity: 0;
  }
  49% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes wipe-img-ie {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes wipe {
  0% {
    transform: translateX(-101%) translateZ(0);
  }
  49% {
    transform: translateX(0) translateZ(0);
  }
  51% {
    transform: translateX(0) translateZ(0);
  }
  100% {
    transform: translateX(101%) translateZ(0);
  }
}
@keyframes wipe-half {
  0% {
    transform: translateX(0) translateZ(0);
  }
  100% {
    transform: translateX(101%) translateZ(0);
  }
}
.site-footer {
  color: var(--apt-wk-color-base, #202122);
  padding: 3.125rem var(--apt-spacing-side-mobile) 1.5rem;
  font-size: 0.875rem;
}
.site-footer .footer-inner {
  border-top: 1px solid var(--apt-wk-color-border-base, #a2a9b1);
  padding: 0.75rem 0;
}
.site-footer .footer-main .last-edited {
  margin: 0;
  padding: 0.5rem 0;
  font-size: 0.75rem;
}
.site-footer .footer-main-content {
  margin: 2.5rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5%;
}
.site-footer .footer-logo {
  width: 6rem;
  margin-bottom: 3rem;
}
.site-footer .footer-logo svg {
  width: 100%;
  height: auto;
  overflow: visible;
}
.site-footer .footer-logo svg rect, .site-footer .footer-logo svg path, .site-footer .footer-logo svg polygon {
  fill: var(--apt-color-text-primary);
}
.site-footer .footer-menu-block {
  width: 47.5%;
  margin-bottom: 4rem;
}
.site-footer .footer-menu-block .label {
  font-size: 0.875rem;
  margin: 0.375rem 0;
  line-height: 1.8rem;
}
.site-footer .footer-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  letter-spacing: 0.06em;
}
.site-footer .footer-menu li a {
  padding: 0.375rem 0;
  display: inline-block;
}
.site-footer .footer-menu-second {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1rem;
}
.site-footer .footer-menu-second li {
  margin: 0;
}
.site-footer .footer-menu-second li a {
  padding: 0.5rem 0;
  display: block;
  color: var(--apt-wk-color-progressive);
}
.site-footer .footer-menu-second li a:hover {
  text-decoration: underline;
}
.site-footer .sns-links {
  display: flex;
  gap: 1rem;
  justify-content: flex-start;
  margin: 1.5rem 0 1.5rem -1rem;
}
.site-footer .sns-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
}
.site-footer .sns-links a svg {
  width: 1.5rem;
  height: auto;
}
.site-footer .sns-links a svg rect, .site-footer .sns-links a svg path, .site-footer .sns-links a svg polygon {
  fill: var(--apt-color-text-light);
}
.site-footer .language-switcher {
  margin-top: 1rem;
}
.site-footer .copyright {
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  margin-top: 3rem;
}
.site-footer .logo-bunkacho {
  margin: 0.5rem 0 0 auto;
  width: 6rem;
}
.site-footer .logo-bunkacho img {
  width: 100%;
  height: auto;
}

#content {
  min-height: calc(100vh - 22rem);
  min-height: calc(var(--vh, 1vh) * 100 - 22rem);
  padding-bottom: 6rem;
}

.content-area {
  padding: var(--apt-header-height-mobile) var(--apt-spacing-side-mobile) 3rem;
}

.content-area-full {
  padding: var(--apt-header-height-mobile) 0 0;
}

#primary {
  margin-right: auto;
  margin-left: auto;
}

.page-header {
  padding: 1.5rem 0;
}

.page-title {
  text-align: left;
  font-size: 2.125rem;
  font-weight: 900;
  font-family: sans-serif;
  font-style: normal;
  line-height: 1.4;
  margin: 0;
}
.page-title span {
  display: inline-block;
}

.page-header-menu {
  display: flex;
  gap: 0 1.5rem;
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  flex-wrap: wrap;
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
  text-transform: uppercase;
}
.page-header-menu a {
  padding: 0.375rem 0;
}

.page-header-description {
  margin: 1.5rem 0 0.5rem;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  font-size: 0.8125rem;
  max-width: 54rem;
}

.archive-author, .page-subtitle {
  font-size: 0.875rem;
  line-height: 1.4;
  margin: 0.25rem 0 0;
  text-align: center;
}

.section-inner {
  position: relative;
}

.section-title {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding-bottom: 2rem;
}
.section-title h2 {
  font-weight: 500;
  font-family: shippori-mincho, sans-serif;
  font-style: normal;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  line-height: 1.4;
  padding: 0;
  margin: 0;
  text-transform: uppercase;
}
.section-title h2 span {
  display: inline-block;
}
.section-title h2 svg {
  width: 0.875rem;
  height: auto;
  margin-top: 2%;
}

.divider {
  width: 30%;
  max-width: 9rem;
  display: block;
  margin: 0 auto 2rem;
}

/* post list */
.post-list, .post-slider {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.post-list .post-list-item, .post-slider .post-list-item {
  width: 100%;
  margin: 0 0 1.5rem;
  position: relative;
}
.post-list .post-list-item > a, .post-slider .post-list-item > a {
  display: block;
}
.post-list .post-list-item .overlay, .post-slider .post-list-item .overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.post-list .post-list-item.recent1 a::after, .post-list .post-list-item.recent2 a::after, .post-list .post-list-item.recent3 a::after, .post-slider .post-list-item.recent1 a::after, .post-slider .post-list-item.recent2 a::after, .post-slider .post-list-item.recent3 a::after {
  content: "";
  display: block;
  position: absolute;
  top: 4%;
  left: 4%;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
}
.post-list .post-list-item.recent1 a::after, .post-slider .post-list-item.recent1 a::after {
  background-color: var(--apt-color-red);
}
.post-list .post-list-item.recent2 a::after, .post-slider .post-list-item.recent2 a::after {
  background-color: var(--apt-color-blue-gray);
}
.post-list .post-list-item.recent3 a::after, .post-slider .post-list-item.recent3 a::after {
  background-color: var(--apt-color-background-placeholder);
}
.post-list .post-image, .post-slider .post-image {
  padding-top: 133.333%;
  position: relative;
  overflow: hidden;
}
.post-list .post-image img, .post-slider .post-image img {
  position: absolute;
  left: 0;
  top: 0;
  transform: none;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.post-list .post-info, .post-slider .post-info {
  position: relative;
  pointer-events: none;
  z-index: 2;
  padding-top: 1rem;
  color: var(--apt-color-primary);
}
.post-list .post-info .info-header, .post-slider .post-info .info-header {
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
}
.post-list .post-info .info-header .post-terms, .post-slider .post-info .info-header .post-terms {
  justify-content: flex-start;
}
.post-list .post-info .post-type, .post-slider .post-info .post-type {
  font-size: 0.8125rem;
}
.post-list .post-info .column-title, .post-slider .post-info .column-title {
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}
.post-list .post-info .title, .post-slider .post-info .title {
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 0;
  overflow-wrap: break-word;
}
.post-list .post-info .excerpt, .post-slider .post-info .excerpt {
  line-height: 1.2;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
}
.post-list .post-info .date, .post-slider .post-info .date {
  padding-right: 0.75rem;
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}
.post-list .post-info .item-name, .post-slider .post-info .item-name {
  opacity: 0.5;
  width: 100%;
  margin-top: 0.25rem;
}
.post-list .post-info a, .post-slider .post-info a {
  pointer-events: all;
}

.post-list-m, .post-list-s {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 2.5rem 0;
}
.post-list-m .post-list-item, .post-list-s .post-list-item {
  position: relative;
  margin: 0;
  width: calc(50% - 0.5rem);
}
.post-list-m .post-list-item > a, .post-list-s .post-list-item > a {
  width: 100%;
}
.post-list-m .post-list-item .post-info, .post-list-s .post-list-item .post-info {
  padding: 0.5rem 0 0;
}
.post-list-m .post-list-item .post-info .info-header, .post-list-s .post-list-item .post-info .info-header {
  font-size: 0.6875rem;
  padding-bottom: 0.5rem;
}
.post-list-m .post-list-item .post-info .title, .post-list-s .post-list-item .post-info .title {
  font-size: 0.8125rem;
  line-height: 1.5;
  padding-top: 0;
}
.post-list-m .post-list-item .post-info .excerpt, .post-list-s .post-list-item .post-info .excerpt {
  font-size: 0.6875rem;
  line-height: 1.5;
  padding-top: 0.5rem;
}

.post-list-s .post-list-item .post-info .excerpt {
  display: block;
}

.post-list-news .post-list-item, .news-slider .post-list-item {
  margin-bottom: 0;
}
.post-list-news .post-list-item a, .news-slider .post-list-item a {
  display: block;
}
.post-list-news .post-list-item .post-image, .news-slider .post-list-item .post-image {
  width: 30%;
  padding-top: 0;
}
.post-list-news .post-list-item .post-image::before, .news-slider .post-list-item .post-image::before {
  content: "";
  padding-top: 100%;
  display: block;
}
.post-list-news .post-list-item .post-info, .news-slider .post-list-item .post-info {
  width: 65%;
  padding-top: 0;
}
.post-list-news .post-list-item .title, .news-slider .post-list-item .title {
  font-size: 0.875rem;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
}
.post-list-news .post-list-item .date, .news-slider .post-list-item .date {
  font-size: 0.875rem;
}

.post-slider {
  flex-wrap: nowrap;
  overflow: visible;
  gap: 0;
  margin: 0 3vw;
}
.post-slider .post-list-item {
  padding: 0 3vw;
  margin-bottom: 0;
  box-sizing: border-box;
}
.post-slider .post-list-item > a {
  position: relative;
}

#column-slider .post-image {
  padding-top: 100%;
}

.news-slider {
  flex-wrap: nowrap;
  overflow: visible;
  gap: 0;
  margin: 0 3vw;
  padding-bottom: 5rem;
}
.news-slider .post-list-item {
  padding: 0 3vw;
  margin-bottom: 0;
  box-sizing: border-box;
}
.news-slider .post-list-item > a {
  position: relative;
}
.news-slider .post-image {
  position: relative;
}
.news-slider .post-image img {
  position: absolute;
  left: 0;
  top: 0;
  transform: none;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.post-list-archive-work .post-info, .post-list-en-font .post-info {
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}

.page-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 2rem 0;
}
.page-list .post-list-item {
  position: relative;
  width: 100%;
  margin: 0 0 1rem;
}
.page-list .post-list-item > a {
  width: 100%;
}
.page-list .post-list-item .post-image {
  padding-top: 40%;
  position: relative;
  overflow: hidden;
}
.page-list .post-list-item .post-image img {
  position: absolute;
  left: 0;
  top: 0;
  transform: none;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.page-list .post-list-item .post-info {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  padding: 0.75rem 0;
  text-align: center;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
}
.page-list .post-list-item .post-info .title {
  line-height: 1.4;
  font-size: 0.9375rem;
}

.taxonomy-links {
  list-style: none;
  margin: 0;
  padding: 0;
}
.taxonomy-links a {
  display: block;
  padding: 0.25rem 0;
}
.taxonomy-links li {
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}
.taxonomy-links li.current {
  text-decoration: underline;
  text-decoration-color: var(--apt-color-primary);
  text-decoration-thickness: 0.125rem;
  text-underline-offset: 0.375rem;
}
.taxonomy-links li.all {
  margin-bottom: 1rem;
}

.instagram-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
  margin: 0;
  gap: 1.5rem;
}
.instagram-list .instagram-list-item {
  width: calc(50% - 0.75rem);
  list-style: none;
}
.instagram-list .instagram-list-item .image {
  padding-top: 100%;
  position: relative;
  border-radius: 50%;
  overflow: hidden;
}
.instagram-list .instagram-list-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.user-image-block .user-image {
  padding: 0 0.5rem;
}
.user-image-block .user-image .user-image-inner {
  width: 100%;
  height: 100%;
  position: relative;
  padding-top: 100%;
  border-radius: 50%;
  overflow: hidden;
}
.user-image-block .user-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.user-image-block .name-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.3;
  margin: 0.75rem 0 0;
}
.user-image-block .name-block span {
  display: inline-block;
}
.user-image-block .organization {
  font-size: 0.625rem;
  text-align: center;
}
.user-image-block .name {
  font-size: 0.625rem;
  text-align: center;
}

.post-user-block {
  display: flex;
  padding-top: 2rem;
}
.post-user-block .user-image-block {
  width: 20%;
  max-width: 5rem;
}
.post-user-block .text-block {
  flex: 1;
  margin-left: 3%;
  padding-left: calc(4% + 0.5rem);
  border-left: 1px solid;
  font-size: 0.75rem;
  display: flex;
  line-height: 1.6;
}

/* archive */
body.archive #content, body.search #content {
  overflow: visible;
}
body.archive .archive-sidebar, body.search .archive-sidebar {
  padding-bottom: 4rem;
}
body.archive .page-header .term-name, body.search .page-header .term-name {
  text-align: center;
  margin-top: 2rem;
}
body.archive .page-header .term-name span, body.search .page-header .term-name span {
  display: inline-block;
  background: var(--apt-color-primary);
  color: #fff;
  padding: 0.125rem 1rem;
  font-size: 0.875rem;
  letter-spacing: 0;
}
body.archive #primary .post-list, body.search #primary .post-list {
  padding-bottom: 0;
}

body.post-type-archive-work .wrap, body.tax-work_category .wrap {
  max-width: 75rem;
}
body.post-type-archive-work .page-header, body.tax-work_category .page-header {
  display: none;
}
body.post-type-archive-work.search .page-header, body.tax-work_category.search .page-header {
  display: block;
}

/* buttons */
.std-button, input[type=submit].std-button {
  background-color: #dddddd;
  border: 0.125rem solid #dddddd;
  color: var(--apt-color-primary);
  font-size: 0.875rem;
  text-align: center;
  height: 3rem;
  line-height: 2.75rem;
  padding: 0 2rem;
  display: inline-block;
  transition: all 0.6s ease;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
}
.std-button:visited, input[type=submit].std-button:visited {
  color: var(--apt-color-primary);
}
.std-button:hover, .std-button:active, input[type=submit].std-button:hover, input[type=submit].std-button:active {
  background-color: rgba(221, 221, 221, 0.5);
  color: var(--apt-color-primary);
}

.std-button-inverse {
  background-color: transparent;
  border: 0.125rem solid var(--apt-color-primary);
  color: var(--apt-color-primary);
  font-size: 0.875rem;
  text-align: center;
  height: 3rem;
  line-height: 2.75rem;
  padding: 0 2rem;
  display: inline-block;
  transition: all 0.6s ease;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
}
.std-button-inverse:visited {
  color: var(--apt-color-primary);
}
.std-button-inverse:hover, .std-button-inverse:active {
  color: var(--apt-color-primary);
  background-color: rgba(var(--apt-color-primary), 0.1);
}

.button--wide {
  min-width: 12rem;
}

.std-scroll-block {
  height: 100%;
  position: relative;
  padding: 0 1.25rem 0 0;
}

.text-area {
  overflow: hidden;
  display: block;
  line-height: 1;
}
.text-area span {
  display: inline-block;
}

#menu-view {
  display: none;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 2000;
  transform: translateZ(0);
}
#menu-view #menu-view-bg {
  background-color: rgb(var(--apt-color-background-primary-rgb)/0.98);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#menu-view #menu-view-inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  padding: 3rem 0;
  overflow-y: scroll;
  z-index: 1;
}
#menu-view #menu-view-inner .ps__rail-y::before, #menu-view #menu-view-inner .scrollbar-track::before {
  background: var(--apt-color-text-primary);
}
#menu-view #menu-view-inner .ps__thumb-y, #menu-view #menu-view-inner .ps__rail-y:hover > .ps__thumb-y, #menu-view #menu-view-inner .ps__rail-y:focus > .ps__thumb-y, #menu-view #menu-view-inner .ps__rail-y.ps--clicking .ps__thumb-y, #menu-view #menu-view-inner .scrollbar-track .scrollbar-thumb {
  background: var(--apt-color-text-primary);
}
#menu-view .menu-view-center-block {
  min-height: 100%;
  display: flex;
  align-items: center;
}
#menu-view .menu-view-content {
  width: 100%;
  padding: 0 6vw 4rem;
}
#menu-view .menu-view-header {
  padding: 1.25rem 0;
  position: relative;
}
#menu-view .logo {
  width: min(60vw, 15rem);
  height: auto;
  padding: 0.5rem 0 0.5rem 1rem;
  margin: 0 auto 0 0;
  line-height: 1;
  overflow: hidden;
  display: block;
  text-align: center;
}
#menu-view .logo img, #menu-view .logo svg {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
#menu-view .logo path, #menu-view .logo polygon, #menu-view .logo rect {
  fill: var(--apt-color-text-primary);
}
#menu-view .menu-navi {
  width: 100%;
  margin: 0 auto;
  max-width: 48rem;
  padding: 0 1rem 3rem;
}
#menu-view .menu-navi .menu-navi-group {
  padding-top: 2rem;
}
#menu-view .menu-navi .menu-navi-list {
  overflow: hidden;
}
#menu-view .menu-navi .menu-navi-list.label {
  margin-bottom: 0.75rem;
}
#menu-view .menu-navi .title-block {
  overflow: hidden;
  position: relative;
}
#menu-view .menu-navi .title-block > a, #menu-view .menu-navi .title-block > a:visited, #menu-view .menu-navi .title-block > span {
  letter-spacing: var(--apt-letter-spacing-en-font);
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.4;
  padding: 0.75rem 0;
  display: block;
  color: var(--apt-color-text-primary);
  transition: opacity 0.6s ease;
}
#menu-view .menu-navi .title-block .suffix {
  font-size: 0.5em;
}
#menu-view .menu-navi .list-toggle {
  width: 3rem;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}
#menu-view .menu-navi ul {
  padding: 0 0 1.5rem;
}
#menu-view ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#menu-view li {
  font-size: 0.875rem;
}
#menu-view li:last-child {
  margin-bottom: 0;
}
#menu-view li a, #menu-view li a:visited {
  color: var(--apt-color-text-primary);
  display: block;
  padding: 0.5rem 0;
  transition: opacity 0.6s ease;
}
#menu-view li > span {
  color: var(--apt-color-text-primary);
  padding: 1rem 0;
}
#menu-view .menu-view-second-block {
  padding: 0.75rem 1rem;
}
#menu-view .menu-view-group-block {
  margin-top: 3rem;
}
#menu-view .menu-view-group-block .label {
  margin-bottom: 0.75rem;
  font-size: 0.75rem;
}
#menu-view .menu-view-language-block {
  margin-top: 2.625rem;
}
#menu-view ul.language-switcher {
  margin: 0 0 0 -0.75rem;
}
#menu-view ul.language-switcher li a {
  padding: 0.375rem 0.75rem;
}
#menu-view .close-button {
  display: block;
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0.5rem;
  cursor: pointer;
  padding: 0;
  width: 3rem;
  height: 3rem;
}
#menu-view .close-button .line {
  width: 2rem;
  height: 0.0625rem;
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--apt-color-text-primary);
}
#menu-view .close-button .line:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
#menu-view .close-button .line:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#menu-view .sns-links {
  position: static;
  margin-top: 4rem;
  display: flex;
  justify-content: center;
}
#menu-view .sns-links a {
  margin: 0 1.5rem;
  width: 1.75rem;
}
#menu-view .sns-links svg {
  width: 100%;
}

/* breadcrumbs */
.breadcrumbs {
  display: none;
  font-size: 0.75rem;
  padding: 0.5rem 0;
}

/* search box */
.searchitem {
  overflow: hidden;
  margin-bottom: 3rem;
}
.searchitem ul {
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.wordSearch form {
  display: flex;
}
.wordSearch .inputField {
  height: 1.875rem;
}
.wordSearch input[type=submit] {
  height: 1.875rem;
  line-height: 1.75rem;
  border-width: 1px;
  border-left: 0;
  background: var(--apt-color-primary);
  color: #fff;
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
  font-size: 0.8125rem;
}
.wordSearch input[type=submit]:hover {
  background-color: rgba(var(--apt-color-primary), 0.75);
}

/* scroll bar */
.ps__rail-y, .scrollbar-track {
  background: 0 !important;
  opacity: 1;
}
.ps__rail-y::before, .scrollbar-track::before {
  content: "";
  width: 1px;
  height: 100%;
  display: block;
  background: var(--apt-color-primary);
  position: absolute;
  right: 0.25rem;
  top: 0;
}

.ps .ps__rail-x:hover, .ps .ps__rail-y:hover, .ps .ps__rail-x:focus, .ps .ps__rail-y:focus, .ps .ps__rail-x.ps--clicking, .ps .ps__rail-y.ps--clicking {
  background: 0;
}

.ps:hover > .ps__rail-x, .ps:hover > .ps__rail-y, .ps--focus > .ps__rail-x, .ps--focus > .ps__rail-y, .ps--scrolling-x > .ps__rail-x, .ps--scrolling-y > .ps__rail-y {
  opacity: 1;
}

.ps__thumb-y, .ps__rail-y:hover > .ps__thumb-y, .ps__rail-y:focus > .ps__thumb-y, .ps__rail-y.ps--clicking .ps__thumb-y,
.scrollbar-track .scrollbar-thumb {
  width: 0.3125rem;
  background: var(--apt-color-primary);
  left: 1px;
  opacity: 1;
  border-radius: 0;
}

.information_item {
  display: flex;
  align-items: flex-start;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}
.information_item:first-child {
  margin-top: 0;
}
.information_item > span {
  font-size: 0.75rem;
  min-width: 6rem;
  padding-top: 0.0625rem;
  margin-bottom: 0.125rem;
}
.information_item > div {
  font-size: 0.8125rem;
  font-feature-settings: "palt" 1;
}

.post-terms {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
}

.term-list-block {
  background-color: rgba(255, 255, 255, 0.85);
  padding: 0.25rem 0;
  width: 10rem;
  position: absolute;
  z-index: 10;
}
.term-list-block .label {
  font-size: 0.8125rem;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  position: relative;
  padding-left: 1rem;
  cursor: pointer;
}
.term-list-block .label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.375rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.375rem 0 0.375rem 0.65rem;
  border-color: transparent transparent transparent var(--apt-color-primary);
  transition: transform 0.4s ease;
}
.term-list-block ul {
  display: none;
  padding: 0.5rem 0 0;
  margin: 0;
  list-style: none;
}
.term-list-block li {
  padding: 0.25rem 1rem;
  font-size: 0.8125rem;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  line-height: 1.4;
}
.term-list-block.opened .label::before {
  transform: rotate(90deg);
}
.term-list-block.opened ul {
  display: block;
}

.force-absolute {
  position: absolute !important;
}

.plus-icon {
  background-color: #fff;
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: 0.0625rem solid var(--apt-color-primary);
  border-radius: 50%;
}
.plus-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1rem;
  height: 0.0625rem;
  background-color: var(--apt-color-primary);
}
.plus-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 1rem;
  width: 0.0625rem;
  background-color: var(--apt-color-primary);
}

.opened > .plus-icon::after {
  display: none;
}

.triangle-icon {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10.4px 6px 0 6px;
  border-color: var(--apt-color-primary) transparent transparent transparent;
  display: inline-block;
}

/* LOADER */
#loading {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  background: var(--apt-color-background-primary);
  top: 0;
  left: 0;
  z-index: 100;
  transform: translateZ(0);
  pointer-events: none;
}
.first-load #loading {
  z-index: 10000;
}
#loading .logo svg rect, #loading .logo svg polygon, #loading .logo svg path {
  fill: var(--apt-color-text-primary);
}
#loading .logo-front {
  transform: translateZ(0);
  position: relative;
}
#loading .logo-front img {
  width: 100%;
  height: auto;
}
#loading .logo-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
#loading .logo-bg svg rect, #loading .logo-bg svg polygon, #loading .logo-bg svg path {
  fill: var(--apt-color-text-primary);
}
#loading .wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
}

.js #loading {
  display: block;
}

.loader {
  margin: 6em auto;
  font-size: 10px;
  border-top: 0.5em solid rgb(var(--apt-color-primary-rgb)/0.2);
  border-right: 0.5em solid rgb(var(--apt-color-primary-rgb)/0.2);
  border-bottom: 0.5em solid rgb(var(--apt-color-primary-rgb)/0.2);
  border-left: 0.5em solid var(--apt-color-primary);
  animation: load8 1.5s infinite linear;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -2em;
  margin-left: -2em;
}

.loader,
.loader::after {
  border-radius: 50%;
  width: 4em;
  height: 4em;
}
@keyframes load8 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.loading-indicator {
  width: 100%;
  height: 100%;
  position: fixed;
  background: rgba(255, 255, 255, 0.4);
  top: 0;
  left: 0;
  z-index: 99999;
}

/* LOADER FOR POST LIST */
.post-loader {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 4rem;
}
.post-loader .post-loader_dot {
  border-radius: 50%;
  width: 0.5rem;
  height: 0.5rem;
  animation-fill-mode: both;
  animation: post-loader-animation 1.6s infinite ease-in-out;
  will-change: transform;
  background: #000;
}
.post-loader .post-loader_dot:nth-child(1) {
  animation-delay: -0.6s;
}
.post-loader .post-loader_dot:nth-child(2) {
  animation-delay: -0.3s;
}
@keyframes post-loader-animation {
  0%, 80%, 100% {
    transform: scale(0.75);
    opacity: 0.25;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
.spinner {
  width: 40px;
  height: 40px;
  margin: 0 auto;
  background-color: var(--apt-color-primary);
  border-radius: 100%;
  animation: sk-scaleout 1.2s infinite ease-in-out;
}

.page-load-status {
  display: none; /* hidden by default */
  padding: 1rem 0 3rem;
  text-align: center;
  color: #777;
  min-height: 7rem;
}
@keyframes sk-scaleout {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
/* NO RESULTS */
.no-results {
  margin: 4rem auto;
  text-align: center;
}

/* SEARCH */
.search-form {
  margin: 3rem auto 0;
  display: flex;
  justify-content: center;
  border: 1px solid;
  max-width: 25rem;
}
.search-form > div {
  display: flex;
  align-items: center;
  width: 100%;
}
.search-form label {
  margin: 0;
  flex: 1;
}
.search-form input {
  height: 2.5rem;
  padding: 0 1rem;
  border: none;
}
.search-form button {
  background: var(--apt-color-background-primary);
  color: var(--apt-color-text-primary);
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  margin: 0;
  line-height: 1;
  border: 0;
  transition: opacity 0.3s ease;
}
.search-form button svg {
  width: 1.25rem;
  height: auto;
}
.search-form button svg path, .search-form button svg rect {
  fill: var(--apt-color-text-primary);
}
.search-form button:hover {
  opacity: 0.8;
}

#search-view {
  display: none;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
}
#search-view .cover {
  width: 100%;
  height: 100%;
  background-color: rgb(var(--apt-color-background-dark-rgb)/0.75);
  display: flex;
  align-items: center;
  justify-content: center;
}
#search-view .search-form {
  width: 90vw;
  max-width: 28rem;
  margin: 0;
}
#search-view .search-form > div {
  max-width: 28rem;
}
#search-view .search-form input {
  background-color: var(--apt-color-text-light);
  border-color: var(--apt-color-text-light);
  height: 3.5rem;
}
#search-view .search-form input::-moz-placeholder {
  color: #aaa;
}
#search-view .search-form input::placeholder {
  color: #aaa;
}
#search-view .search-form button {
  width: 3.5rem;
  height: 3.5rem;
  background-color: var(--apt-color-text-light);
}
#search-view .search-form button svg path, #search-view .search-form button svg rect {
  fill: var(--apt-color-text-primary);
}
#search-view .close-button {
  display: block;
  position: fixed;
  z-index: 2;
  top: 0.5rem;
  right: 0.25rem;
  cursor: pointer;
  padding: 0;
  width: 3rem;
  height: 3rem;
}
#search-view .close-button .line {
  width: 1.5rem;
  height: 0.125rem;
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--apt-color-text-light);
  transition: transform 0.5s ease-in-out;
}
#search-view .close-button .line:first-child {
  transform: translate(-50%, -50%);
}
#search-view .close-button .line:last-child {
  transform: translate(-50%, -50%);
}
#search-view.open .close-button .line:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
#search-view.open .close-button .line:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media (hover: none) {
  /* ホバー不可のデバイス向けのCSS */
  .post-slider .swiper-button-prev, .post-slider .swiper-button-next, #news .swiper-button-prev, #news .swiper-button-next {
    display: none;
  }
}
@media screen and (min-width: 481px) {
  #menu-view .menu-view-content {
    display: flex;
    flex-wrap: wrap;
  }
  #menu-view .menu-view-header {
    width: 100%;
    padding-bottom: 5rem;
  }
  #menu-view .menu-navi {
    width: 50%;
  }
  #menu-view .menu-navi .menu-navi-group {
    padding-top: 0.75rem;
  }
  #menu-view .menu-view-second-block {
    width: 50%;
  }
  .post-list .post-list-item, .post-slider .post-list-item {
    width: calc(50% - 0.875rem);
    gap: 1.75rem;
  }
  .post-list .post-info .column-title, .post-slider .post-info .column-title {
    font-size: 0.75rem;
  }
  .post-list .post-info .title, .post-slider .post-info .title {
    font-size: 0.875rem;
  }
  .post-list .featured-label, .post-slider .featured-label {
    font-size: 0.8125rem;
  }
  .post-list .featured-title, .post-slider .featured-title {
    font-size: 1.1875rem;
  }
  .post-slider {
    margin: 0 -0.875rem;
  }
  .post-slider .post-list-item {
    padding: 0 0.875rem;
  }
  .post-list-news .post-list-item, .news-slider .post-list-item {
    width: 100%;
  }
  .news-slider {
    margin: 0 -0.875rem;
  }
  .news-slider .post-list-item {
    padding: 0 0.875rem;
  }
  .post-list-m {
    gap: 1.75rem;
  }
  .instagram-list .instagram-list-item {
    width: calc(25% - 1.125rem);
  }
}
@media screen and (min-width: 641px) {
  .searchitem-box, .new-arrival-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .searchitem-box > div, .new-arrival-box > div {
    width: 48.5%;
  }
  div.searchitem-2item {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  div.searchitem-2item .searchitem {
    width: 48.5%;
  }
  .post-list-s .post-list-item {
    margin: 0 0 8%;
  }
  .post-list-s .post-list-item .post-info .title {
    font-size: 0.875rem;
  }
  .post-list-news, .news-slider {
    gap: 1.5rem 2rem;
  }
  .post-list-news .post-list-item, .news-slider .post-list-item {
    width: calc(50% - 1rem);
    margin-bottom: 0;
  }
  .page-list .post-list-item {
    width: calc(50% - 0.5rem);
    margin: 0 0 1rem;
  }
  .page-list .post-list-item .post-info .title {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .smp {
    display: none;
  }
  .language-switcher {
    margin-left: -0.375rem;
    order: -1;
  }
  .language-switcher li a {
    padding: 0.375rem 0.375rem;
  }
  #menu-view li a {
    padding: 0.25rem 0;
  }
  #menu-view #menu-view-inner {
    top: 0;
    height: 100%;
    padding-top: 0;
  }
  #menu-view .menu-view-content {
    display: flex;
    justify-content: space-between;
    max-width: 72rem;
    margin: 0 auto 0;
    padding: 10rem 3rem 0;
  }
  #menu-view .logo {
    width: 100%;
    max-width: 14rem;
    padding: 0 0;
    margin: 0;
  }
  #menu-view .menu-view-header {
    background: 0;
    height: auto;
    padding: 1.25rem 0 0;
    width: 40%;
    display: flex;
    flex: 1;
  }
  #menu-view .menu-navi {
    width: 30%;
    max-width: 25rem;
    padding-top: 0;
    margin: 0;
  }
  #menu-view .menu-navi .menu-navi-group {
    padding-top: 0;
  }
  #menu-view .menu-navi .title-block {
    margin: 0.5rem 0;
  }
  #menu-view .menu-navi .title-block > div {
    font-size: 1.75rem;
  }
  #menu-view .close-button {
    top: 0.75rem;
    left: 0.375rem;
  }
  #menu-view .menu-view-second-block {
    width: 30%;
    padding: 0.875rem 1rem;
    max-width: 12rem;
  }
  #menu-view .menu-view-group-block {
    margin-top: 3rem;
  }
  #menu-view .menu-view-group-block .label {
    margin-bottom: 0.75rem;
    font-size: 0.75rem;
  }
  .page-header {
    padding: 2rem 0;
  }
  .page-title {
    font-size: 3.75rem;
    line-height: 1.2;
  }
  .page-header-menu {
    display: grid;
    grid-auto-flow: column; /* 列優先で配置 */
    grid-template-rows: repeat(4, auto); /* 4行に設定 */
    gap: 0 4rem;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content; /* コンテンツに合わせて幅を調整 */
    font-size: 1.125rem;
    margin: 1.5rem 0 0.5rem;
  }
  .page-header-menu a {
    padding: 0.375rem 0;
  }
  .page-header-description {
    font-size: 0.875rem;
  }
  .section-title {
    padding-bottom: 2.5rem;
  }
  .section-title h2 {
    font-size: 2.5rem;
  }
  .section-title h2 svg {
    width: 1rem;
  }
  .term-list-block {
    margin-top: 1rem;
  }
  .post-list .post-list-item, .post-slider .post-list-item {
    width: calc(33.333% - 1.167rem);
  }
  .post-list-m .post-list-item {
    width: calc(33.3333% - 1.167rem);
    margin: 0;
    position: relative;
    display: block;
  }
  .post-list-m .post-list-item .post-info {
    padding-top: 1rem;
  }
  .post-list-m .post-list-item .post-info .info-header {
    font-size: 0.75rem;
    padding-bottom: 0.5rem;
  }
  .post-list-m .post-list-item .post-info .title {
    font-size: 0.875rem;
  }
  .post-list-news, .news-slider {
    gap: 1.5rem 2rem;
  }
  .post-list-news .post-list-item, .news-slider .post-list-item {
    width: calc(50% - 1rem);
  }
  .post-list-archive-work {
    justify-content: space-between;
    gap: 0;
  }
  .post-list-archive-work .post-list-item {
    width: 47%;
    margin: 0 0 6%;
  }
  .scrollbox {
    height: 18rem;
  }
  .site-footer {
    position: relative;
  }
  .site-footer .footer-inner {
    display: grid;
    grid-template-columns: 1fr 8rem;
    gap: 2rem;
  }
  .site-footer .footer-main {
    width: 100%;
  }
  .site-footer .footer-main-content {
    display: flex;
    justify-content: flex-start;
    gap: min(7%, 4.5rem);
    margin-bottom: 5rem;
  }
  .site-footer .footer-logo {
    width: 7.25rem;
    max-width: 18%;
    margin-bottom: 4rem;
  }
  .site-footer .footer-menu-block {
    width: auto;
    margin-bottom: 3rem;
  }
  .site-footer .footer-menu-block:last-of-type {
    margin-left: auto;
    min-width: min(15vw, 9.375rem);
  }
  .site-footer .footer-menu-block .label {
    font-size: 1rem;
    margin-top: 0.4375rem;
    margin-bottom: 1.5rem;
  }
  .site-footer .footer-menu {
    font-size: 1.3125rem;
  }
  .site-footer .footer-menu li a {
    padding: 0.125rem 0;
  }
  .site-footer .footer-group {
    font-size: 1.3125rem;
    margin-top: -0.125rem;
    line-height: 1.6;
  }
  .site-footer .footer-group li a {
    padding: 0;
  }
  .site-footer .footer-footer {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .site-footer .footer-menu-second-block {
    display: flex;
    gap: 3rem;
  }
  .site-footer .footer-menu-second {
    display: flex;
    flex: 1;
    gap: 1rem;
    margin: 0;
    padding: 0;
  }
  .site-footer .sns-links {
    margin-top: 3rem;
  }
  .site-footer .sns-links a {
    padding: 1rem;
  }
  .site-footer .sns-links a svg {
    width: 1.75rem;
  }
  .site-footer .language-switcher {
    margin-top: 0;
  }
  .site-footer .copyright {
    font-size: 0.8125rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0;
    margin: 0;
  }
}
@media screen and (min-width: 900px) {
  html {
    scroll-padding-top: var(--apt-header-height-desktop);
  }
  .block-inner {
    padding: 0 var(--apt-spacing-side-desktop);
  }
  #masthead {
    align-items: flex-start;
    height: var(--apt-header-height-desktop);
    padding: 0 var(--apt-spacing-side-desktop);
  }
  #masthead .logo-wk {
    width: 3.125rem;
    min-width: 3.125rem;
    height: 3.125rem;
    min-height: 3.125rem;
  }
  #masthead .logo {
    width: 11.5rem;
  }
  #masthead .logo svg {
    width: 100%;
    height: auto;
  }
  #masthead .language-switcher {
    display: flex;
    top: 1.75rem;
    right: 1.5rem;
  }
  .search-button {
    display: none;
  }
  #header-menu {
    display: flex;
    align-items: center;
    margin-top: 2rem;
    margin-right: max(12%, 8.125rem);
  }
  .toggle-button {
    top: 1.5rem;
  }
  .search-button {
    top: 1.625rem;
    right: 4.5rem;
    left: auto;
  }
  .search-button svg {
    width: 1.5rem;
  }
  .content-area {
    padding: var(--apt-header-height-desktop) var(--apt-spacing-side-desktop) 3rem;
  }
  .content-area-full {
    padding: var(--apt-header-height-desktop) 0 0;
  }
  #page {
    padding-top: 0;
  }
  #content {
    min-height: calc(100vh - 23.3125rem);
    min-height: calc(var(--vh, 1vh) * 100 - 23.3125rem);
    padding-bottom: 8rem;
  }
  .post-list .post-list-item, .post-slider .post-list-item {
    width: calc(33.3333% - 1.1666rem);
    margin: 0 0 6%;
  }
  .post-list .post-list-item .post-info .info-header .item-name, .post-slider .post-list-item .post-info .info-header .item-name {
    margin: 0;
    width: auto;
  }
  .post-list-s .post-list-item {
    width: calc(25% - 0.75rem);
    margin: 0 0 8%;
  }
  .post-list-s .post-list-item .post-info .title {
    font-size: 0.875rem;
  }
  .post-list-news, .news-slider {
    gap: 1.5rem 2rem;
  }
  .post-list-news .post-list-item, .news-slider .post-list-item {
    width: calc(50% - 1rem);
    margin-bottom: 0;
  }
  .post-slider {
    margin: 0 -0.875rem;
  }
  .post-slider .post-list-item {
    padding: 0 0.875rem;
    margin-bottom: 0;
    box-sizing: border-box;
  }
  .news-slider {
    margin: 0 -0.875rem;
  }
  .news-slider .post-list-item {
    padding: 0 0.875rem;
    margin-bottom: 0;
    box-sizing: border-box;
  }
  .news-slider-prev {
    left: -5rem;
  }
  .news-slider-next {
    right: -5rem;
  }
  .post-list-archive-work .post-list-item {
    width: 47%;
    margin: 0 0 6%;
  }
  .page-list .post-list-item {
    width: calc(33.3333% - 1.1666rem);
    margin: 0 0 0.5rem;
  }
  .page-list .post-list-item .post-info .title {
    font-size: 0.9375rem;
  }
  .post-list-m .post-list-item {
    margin: 0;
  }
  #search-view .close-button {
    top: 1.875rem;
    right: 1.125rem;
  }
  body.archive .archive-block, body.search .archive-block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 4rem;
  }
  body.archive .archive-block.sticky-bottom, body.search .archive-block.sticky-bottom {
    align-items: flex-end;
  }
  body.archive .archive-block.sticky-bottom .archive-sidebar, body.search .archive-block.sticky-bottom .archive-sidebar {
    top: auto;
    bottom: 0;
    padding-bottom: 6rem;
  }
  body.archive .archive-sidebar, body.search .archive-sidebar {
    width: 20%;
    position: sticky;
    top: 14rem;
    padding-bottom: 4.5rem;
  }
  body.archive .archive-content, body.search .archive-content {
    width: 76%;
    padding-top: 0.25rem;
  }
  .site-footer {
    padding: 3.125rem var(--apt-spacing-side-desktop) 5.125rem;
  }
}
@media screen and (min-width: 1100px) {
  .toggle-button {
    position: absolute;
    left: 1.5rem;
  }
  #header-menu ul > li {
    font-size: 1rem;
    margin: 0 min(0.75vw, 0.75rem);
  }
  .post-list-m {
    padding: 4rem 0 0;
  }
  .post-list-m .post-list-item .post-info .title {
    font-size: 1rem;
  }
  .post-list-archive-work .post-list-item {
    width: 45%;
    margin: 0 0 10%;
  }
  .page-load-status {
    display: none;
  }
  .searchitem-box > div {
    width: 31.5%;
  }
  .searchitem {
    margin-bottom: 1.5rem;
  }
  div.searchitem-2item {
    flex-direction: column;
    width: 31.5%;
  }
  div.searchitem-2item .searchitem {
    width: 100%;
  }
}
.error-404 .page-header {
  padding-top: 6rem;
}
.error-404 .page-header .page-title {
  text-align: center;
}
.error-404 .page-content {
  text-align: center;
  margin-top: 3rem;
}
.error-404 .page-content .link-top-page {
  margin-top: 2rem;
  display: inline-block;
  border-bottom: 1px solid;
}

/* way the hell off screen */
.scrollbar-measure {
  width: 100px;
  height: 100px;
  overflow: scroll;
  position: absolute;
  top: -9999px;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  10% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  10% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes loading-color {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}

.hentry {
  margin: 0 0 1.5rem;
}

.updated:not(.published) {
  display: none;
}

.button-block {
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2rem;
}
.button-block > * {
  margin: 0 0.5rem 1rem;
}
.button-block p {
  width: 100%;
  font-size: 0.8125rem;
}

.main-visual {
  position: relative;
}
.main-visual .main-visual-inner {
  position: relative;
}
.main-visual .main-visual-image {
  width: 100%;
  height: 70.721%;
  max-height: 100vh;
  max-height: calc(var(--vh, 1vh) * 100);
  position: relative;
}
.main-visual .img-wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.main-visual .img-wrapper img {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  width: 100%;
  height: 100%;
}
.main-visual .main-visual-content {
  z-index: 1;
  padding: 3rem 5% 0;
  max-width: 25rem;
}
.main-visual .slogan {
  font-size: 2rem;
  letter-spacing: 0;
  line-height: 1.1;
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
  border-bottom: 0.375rem solid;
  padding-bottom: 0.25rem;
  max-width: 26rem;
}
.main-visual .title {
  margin: 0;
  padding: 0.375rem 0;
  line-height: 1.4;
  font-size: 1.125rem;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
}
.main-visual .title.txt--en {
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}
.main-visual .description {
  font-size: 0.75rem;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
}
.main-visual .description.txt--en {
  font-size: 0.8125rem;
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}
.main-visual .bottom-arrow {
  position: absolute;
  bottom: -1px;
  width: 105%;
  left: 50%;
  max-width: none;
  transform: translateX(-50%);
  z-index: 2;
}

.main-visual-small {
  max-width: 46rem;
  margin: 1rem auto;
}
.main-visual-small img {
  width: 100%;
}

.content-title-block {
  text-align: center;
  position: relative;
  padding: 1rem 7vw;
}
.content-title-block > h2, .content-title-block h3, .content-title-block h4, .content-title-block div {
  font-size: 1.25rem;
  line-height: 1.4;
  margin: 0;
}
.content-title-block > h2 span, .content-title-block h3 span, .content-title-block h4 span, .content-title-block div span {
  display: inline-block;
}
.content-title-block > h2 .sub, .content-title-block h3 .sub, .content-title-block h4 .sub, .content-title-block div .sub {
  font-size: 0.875em;
}
.content-title-block::before {
  content: "";
  position: absolute;
  top: 1.875rem;
  left: -6vw;
  transform: translateY(-50%);
  display: block;
  width: 10vw;
  height: 0.1875rem;
  background-color: var(--apt-color-primary);
}
.content-title-block::after {
  content: "";
  position: absolute;
  top: 1.875rem;
  left: -4vw;
  transform: translateY(-50%);
  display: block;
  width: 0.1875rem;
  height: 5vw;
  background-color: var(--apt-color-primary);
}

a.btn-internal {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  font-size: 0.875rem;
  transition: background-color 0.4s ease;
  color: var(--apt-color-text-light);
  background-color: var(--apt-color-primary);
  border-radius: 0.25rem;
  padding: 0.75rem 1.5rem;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
a.btn-internal:hover {
  opacity: 1;
  background-color: var(--apt-color-primary-light);
}

a.btn-internal-light {
  color: var(--apt-color-primary);
  background-color: var(--apt-color-text-light);
}
a.btn-internal-light:hover {
  opacity: 1;
  background-color: rgb(var(--apt-color-text-light-rgb)/0.8);
}

a.btn-internal-s {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  transition: background-color 0.4s ease;
  color: var(--apt-color-text-primary);
  border: 1px solid;
  border-radius: 0.25rem;
  padding: 0.5rem 1.125rem;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
a.btn-internal-s:hover {
  opacity: 1;
  background-color: rgb(var(--apt-color-background-dark-rgb)/0.04);
}

a.btn-external {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.125rem;
  transition: background-color 0.4s ease;
  color: #fff;
  background-color: #000;
  padding: 0.25rem 1.125rem;
}
a.btn-external:hover {
  background-color: var(--apt-color-primary);
  opacity: 1;
}

a.btn-external2 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: color 0.4s ease;
  color: #071425;
  border-bottom: 0.4375rem solid var(--apt-color-primary);
  padding: 0.125rem 0;
}
a.btn-external2:hover {
  color: var(--apt-color-primary);
}

a.btn-download {
  border: 1px solid;
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 31.25rem;
  padding: 1.5rem 1rem;
  color: #071425;
  transition: background-color 0.4s ease;
}
a.btn-download span > span {
  display: inline-block;
}
a.btn-download i {
  width: 1rem;
  margin-right: 0.5rem;
  line-height: 1;
}
a.btn-download i img {
  width: 100%;
  height: auto;
}
a.btn-download:hover {
  background-color: rgba(7, 20, 37, 0.05);
}

div.btn-dropdown {
  position: relative;
}
div.btn-dropdown .label {
  border: 1px solid;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  height: 2.5rem;
  padding: 0 1.5rem;
  text-decoration: none;
  letter-spacing: 0.06em;
  transition: background-color 0.4s ease;
}
div.btn-dropdown .dropdown-list {
  position: absolute;
  z-index: 1;
  top: 2.5rem;
  right: 0;
  width: 13rem;
  visibility: hidden;
  padding: 1rem 0;
  opacity: 0;
}
div.btn-dropdown ul {
  margin: 0;
  padding: 0.75rem;
  list-style: none;
  background: #FFF;
  box-shadow: 0 0.1875rem 0.75rem 0 rgba(0, 0, 0, 0.1), 0 0.0625rem 0.125rem 0 rgba(0, 0, 0, 0.08);
}
div.btn-dropdown li {
  font-size: 0.875rem;
}
div.btn-dropdown li a {
  display: block;
  padding: 0.75rem 1rem;
  transition: background-color 0.3s ease;
  line-height: 1.5;
}
div.btn-dropdown li a:hover {
  background-color: var(--apt-color-background-hover-light);
}
div.btn-dropdown:hover .label {
  opacity: 1;
  background-color: rgb(var(--apt-color-background-dark-rgb)/0.04);
}
div.btn-dropdown:hover .dropdown-list {
  visibility: visible;
  opacity: 1;
}

.entry-header {
  position: relative;
}
.entry-header .wrap {
  max-width: 50rem;
}
.entry-header .title-block {
  margin: 0 auto;
  padding: 0 0 2rem 0;
  text-align: center;
  color: var(--apt-color-primary);
}
.entry-header .title-block h1 {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: bold;
}
.entry-header .title-block h2 {
  font-size: 1.25rem;
  margin: 0;
  line-height: 1.4;
  font-weight: bold;
}
.entry-header .title-block .category {
  font-size: 0.8125rem;
  margin: 0.25rem 0 0;
  line-height: 1.4;
}
.entry-header .title-block .subtext {
  font-size: 0.8125rem;
  margin: 0.5rem 0 0;
  line-height: 1.6;
}
.entry-header .title-block .date {
  font-size: 0.875rem;
  margin-top: 1rem;
}
.entry-header .post-user-block {
  margin: 0 auto;
  padding-top: 0;
}

.entry-title {
  font-size: 1.25rem;
  line-height: 1.4;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5rem 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5rem;
}

.featured-img-block {
  aspect-ratio: 2/1;
  position: relative;
}
.featured-img-block .featured-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.featured-img {
  width: 100%;
  max-width: 50rem;
  margin: 0 auto 4rem;
  display: block;
}

.sns-buttons {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 7.5rem;
  margin: 0;
  display: flex;
  list-style: none;
  padding: 0;
}
.sns-buttons li {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #e9e9e9;
  border-right: 0;
}
.sns-buttons li.last {
  border-right: 1px solid #e9e9e9;
}
.sns-buttons li a {
  text-align: center;
  display: block;
  line-height: 2.5rem;
  color: #878787;
  font-size: 1.125rem;
}
.sns-buttons li a:hover {
  color: white;
}

.content-inner {
  padding: 0 var(--apt-spacing-side-mobile);
}

.entry-content {
  font-size: 0.875rem;
}
.entry-content h1 {
  font-size: 1.5rem;
  line-height: 1.7;
  margin: 4.5rem 0 2.25rem;
}
.entry-content h2 {
  font-size: 1.25rem;
  line-height: 1.7;
  margin: 4rem 0 2rem;
}
.entry-content h3 {
  font-size: 1.125rem;
  line-height: 1.8;
  margin: 4rem 0 2rem;
}
.entry-content h4 {
  font-size: 1rem;
  line-height: 2;
  margin: 4rem 0 2rem;
}
.entry-content h5 {
  font-size: 0.9375rem;
  line-height: 2;
  margin: 4rem 0 2rem;
}
.entry-content h6 {
  font-size: 0.9375rem;
  line-height: 2;
  margin: 4rem 0 2rem;
}
.entry-content h1:first-child, .entry-content h2:first-child, .entry-content h3:first-child, .entry-content h4:first-child, .entry-content h5:first-child, .entry-content h6:first-child {
  margin-top: 0;
}
.entry-content p {
  font-size: 0.875rem;
  margin-top: 0;
  margin-bottom: 1.75rem;
  line-height: 1.5;
}
.entry-content p a {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}
.entry-content a {
  color: var(--apt-color-link);
}
.entry-content ul, .entry-content ol {
  font-size: 0.875rem;
  margin: 2rem 0;
  line-height: 2.25;
}
.entry-content ul li, .entry-content ol li {
  margin-bottom: 1rem;
}
.entry-content ul li:last-of-type, .entry-content ol li:last-of-type {
  margin-bottom: 0;
}
.entry-content ul {
  padding: 0 0 0 1.5em;
  list-style-type: disc;
}
.entry-content ol {
  padding: 0 0 0 1.5em;
  list-style-type: decimal;
}
.entry-content table {
  width: 100%;
  border: 1px solid #d6d6d6;
  font-size: 0.875rem;
  margin: 2.5rem 0;
  table-layout: fixed;
}
.entry-content table caption {
  margin: 0 0 7px;
  font-size: 0.75em;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.entry-content tr {
  border-bottom: 1px solid #d6d6d6;
}
.entry-content tr:nth-child(even) {
  background-color: #ededed;
}
.entry-content td {
  padding: 0.4rem;
  border-right: 1px solid #d6d6d6;
}
.entry-content td:last-child {
  border-right: 0;
}
.entry-content th {
  background-color: #ededed;
  border-bottom: 1px solid #d6d6d6;
  border-right: 1px solid #d6d6d6;
}
.entry-content th:last-child {
  border-right: 0;
}
.entry-content dd {
  margin-left: 0;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}
.entry-content p img {
  margin: 0;
}
.entry-content hr {
  border-bottom: 0;
  background-color: transparent;
  height: auto;
  margin: 2.5rem 0;
  border-top: 1px solid;
}
.entry-content .wp-block-columns {
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.entry-content .wp-block-column p:last-child, .entry-content .wp-block-column figure:last-child {
  margin-bottom: 0;
}
.entry-content .wp-block-column img:first-child {
  padding-top: 0;
}
.entry-content .wp-block-column .wp-block-image {
  max-width: 32rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.entry-content .wp-block-column .wp-block-image:first-child {
  margin-top: 0.25rem;
}
.entry-content .wp-block-column .wp-block-image:last-child {
  margin-bottom: 0.25rem;
}
.entry-content .wp-block-column .wp-block-gallery:first-child {
  margin-top: 0.25rem;
}
.entry-content .wp-block-column .wp-block-gallery:last-child {
  margin-bottom: 0.25rem;
}
.entry-content img {
  transition: opacity 0.6s ease;
}
.entry-content .wp-block-image, .entry-content .wp-caption, .entry-content .wp-block-gallery {
  margin: 2.5rem 0;
}
.entry-content .wp-block-image a, .entry-content .wp-caption a, .entry-content .wp-block-gallery a {
  display: block;
}
.entry-content .wp-block-image img, .entry-content .wp-caption img, .entry-content .wp-block-gallery img {
  margin: 0;
}
.entry-content .wp-block-image figcaption, .entry-content .wp-caption figcaption, .entry-content .wp-block-gallery figcaption {
  margin-top: 0.5rem;
  margin-bottom: 0;
  font-size: 0.75rem;
}
.entry-content .wp-block-spacer {
  height: 2.5rem !important;
}
.entry-content .wp-block-embed {
  margin: 2.5rem 0;
}
.entry-content .wp-block-embed figcaption {
  margin-top: 0.5rem;
  margin-bottom: 0;
  font-size: 0.75rem;
}
.entry-content .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
}
.entry-content .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.entry-content .wp-block-gallery {
  margin: 2.5rem 0;
  padding: 0;
}
.entry-content .wp-block-gallery img {
  margin: 0;
  padding: 0;
}
.entry-content .wp-block-gallery figcaption {
  margin: 0.5rem 0 0;
  line-height: 1.5;
  text-align: left;
  font-size: 0.75rem;
}
.entry-content .wp-block-gallery figure.wp-block-image {
  flex-grow: initial;
  aspect-ratio: 1/1;
}
.entry-content .wp-block-gallery figure.wp-block-image figcaption {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3) 50%, transparent);
  font-size: 0.75rem;
  line-height: 1.3;
  padding: 1.125rem 0.5rem 0.375rem;
  pointer-events: none;
}
.entry-content .wp-block-buttons {
  margin: 4rem 0;
}
.entry-content .wp-block-buttons .wp-block-button__link {
  background-color: var(--apt-color-primary);
  color: var(--apt-color-text-light);
  border-radius: 0.25rem;
  padding: 0.75rem 1.5rem;
  min-width: 10rem;
  line-height: 1.5;
}
.entry-content .wp-block-slider-gallery .swiper-button-prev::after, .entry-content .wp-block-slider-gallery .swiper-button-next::after {
  -webkit-clip-path: none;
          clip-path: none;
}
.entry-content .is-layout-grid > :is(*, div) {
  margin: 0;
}
.entry-content .is-layout-constrained > :first-child {
  margin-block-start: 0;
}
.entry-content .is-layout-constrained > :last-child {
  margin-block-start: 0;
}
.entry-content .btn-internal {
  color: var(--apt-color-text-light);
}

div[id*=cp_widget_] div:last-child {
  display: none;
}

.single .page-header .wrap {
  max-width: 80rem;
}
.single .wrap {
  max-width: 68.75rem;
}
.single #content {
  overflow: visible;
}
.single .site-main {
  padding-top: 1rem;
}
.single .hentry {
  background-color: var(--apt-color-background-gray);
  max-width: 75rem;
  margin: 0 auto;
}
.single .hentry .block-inner {
  padding: min(6.75vw, 6.75rem) min(8.125vw, 8.125rem);
}
.single .entry-header {
  margin: 0 auto;
}
.single .entry-header .featured-img {
  max-width: 100%;
}
.single .entry-header .page-title {
  margin-bottom: 3rem;
}
.single .entry-header .title-block {
  text-align: left;
}
.single .entry-header .title-block .entry-title {
  font-size: 0.875rem;
  line-height: 1.5;
}
.single .entry-header .news-type {
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}
.single .entry-content {
  margin: 0 auto 3rem;
}
.single .entry-content.no-thumbnail {
  margin-top: 0;
}
.single .post-terms {
  justify-content: center;
}
.single .post-terms li {
  margin: 0 0.25rem;
}
.single .post-terms li a {
  background: var(--apt-color-primary);
  color: #fff;
  padding: 0.125rem 1rem;
  font-size: 0.875rem;
  letter-spacing: 0;
  min-width: 3.5rem;
  display: block;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  transition: background-color 0.6s ease;
}
.single .post-terms li a:hover {
  background-color: rgba(var(--apt-color-primary), 0.75);
}

.single-work .wrap {
  max-width: 75rem;
}
.single-work .entry-header .entry-title {
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}
.single-work .entry-content {
  margin-top: 0;
}

.collection-list {
  margin: 2rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4vw;
}

.collection-list-item {
  width: calc(50% - 2vw);
  transition: opacity 0.3s ease;
}
.collection-list-item:hover {
  opacity: 0.8;
}
.collection-list-item > div {
  width: 100%;
  height: 100%;
  position: relative;
  aspect-ratio: 3/2;
  cursor: pointer;
}
.collection-list-item > div img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.single-related {
  margin: 0 auto;
}
.single-related .single-related-title {
  text-align: center;
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
  font-size: 1.125rem;
}
.single-related .post-list-related {
  margin-top: 4rem;
}
.single-related .no-related-post {
  text-align: center;
  width: 100%;
}

.recent-post-block h2 {
  text-align: center;
}
.recent-post-block .post-list-m .post-list-item .post-info .excerpt {
  display: block;
}

#main-bottom {
  margin-top: 0;
  margin-bottom: 5rem;
}
#main-bottom .single-product-carousel-block {
  margin-bottom: 5rem;
}

.content-page .page-block {
  padding: 1rem 0;
}
.content-page .page-block h1 {
  font-size: 1.3125rem;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  line-height: 1.4;
  margin: 0 0 4rem;
  text-align: center;
}
.content-page .page-block h2 {
  font-size: 1.125rem;
  margin: 0 0 2rem;
  text-align: center;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
}
.content-page .page-block h2 span {
  display: inline-block;
}
.content-page .page-block .block-title--label {
  text-align: left;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  font-size: 1.125rem;
  margin-bottom: 1.25rem;
}
.content-page .page-block .block-title--label span {
  display: inline-block;
  padding: 0.25rem 1rem;
  background-color: var(--apt-color-primary);
  color: #fff;
}
.content-page .page-block .block-sub-title {
  text-align: left;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  font-size: 1.125rem;
  margin-bottom: 1rem;
}
.content-page .page-block .title-block .title-main {
  font-size: 1.3125rem;
  text-align: center;
}
.content-page .page-block .title-block .title-main.txt--en {
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}
.content-page .page-block .title-block .title-sub {
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
}
.content-page .page-block .description {
  font-size: 0.8125rem;
}
.content-page .page-block .description-center {
  text-align: center;
}
.content-page .page-block .detail-list {
  padding: 0;
  margin: 3rem 0 0;
  font-size: 0.875rem;
}
.content-page .page-block .detail-list dt {
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
}
.content-page .page-block .detail-list dd {
  margin: 0 0 2rem;
}
.content-page .page-block .block-sub {
  margin-top: 3rem;
}
.content-page .page-block:last-of-type {
  padding-bottom: 6rem;
}
.content-page .page-block--first {
  padding-top: 0.5rem;
}
.content-page.content-area-full .page-block {
  padding-right: 5%;
  padding-left: 5%;
}
.content-page.content-area-full .main-visual {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}
.content-page .text--small {
  font-size: 0.75rem;
}

.page-common .wrap-thin {
  max-width: 45rem;
  margin: 0 auto;
}
.page-common .entry-header {
  padding-top: 2rem;
}
.page-common .entry-title {
  text-align: center;
  font-size: 1.25rem;
  margin-top: 2rem;
}
.page-common .page-title {
  font-size: 1.5rem;
  text-align: center;
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
  padding: 1rem 0;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

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

.link-internal {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-bottom: 0.125rem solid;
  font-size: 0.875rem;
  letter-spacing: 0.1rem;
  font-weight: bold;
  transition: opacity 0.5s ease;
  text-decoration: none;
}
.link-internal span {
  display: inline-block;
}
.link-internal:hover {
  opacity: 0.7;
}

.coming-soon {
  padding: 4rem 0;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 400;
  font-family: "interstate-condensed", sans-serif, sans-serif;
}

/* SLIDER */
.swiper-button-next, .swiper-button-prev {
  width: 12%;
  height: 100%;
  position: absolute;
  top: 0;
  cursor: pointer;
  outline: none;
  z-index: 1;
  margin: 0;
  transition: opacity 0.5s ease;
  background: 0;
}
.swiper-button-next::after, .swiper-button-prev::after {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  position: absolute;
  border: 0.125rem solid var(--apt-color-border-primary);
  top: 50%;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
  opacity: 0.75;
}

.swiper-button-prev {
  left: -1%;
}
.swiper-button-prev::after {
  transform: translate(-50%, -50%) rotate(-45deg);
  border-right: 0;
  border-bottom: 0;
  left: 50%;
}

.swiper-button-next {
  right: -1%;
}
.swiper-button-next::after {
  transform: translate(50%, -50%) rotate(45deg);
  border-left: 0;
  border-bottom: 0;
  right: 50%;
}

/* COLLECTION VIEW */
#collection-view {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 100000;
  background: #fff;
  top: 0;
  left: 0;
  opacity: 0;
  display: none;
  transform: translateZ(0);
}
#collection-view .close-button {
  display: block;
  position: fixed;
  z-index: 2;
  top: 0.75rem;
  right: 0.5rem;
  cursor: pointer;
  padding: 0;
  width: 3rem;
  height: 3rem;
}
#collection-view .close-button .line {
  width: 2rem;
  height: 0.125rem;
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--apt-color-primary);
}
#collection-view .close-button .line:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
#collection-view .close-button .line:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.collection-slider {
  height: 100%;
  width: 100%;
}
.collection-slider .swiper-slide {
  overflow: hidden;
}
.collection-slider .collection-slide-content {
  width: 100%;
  height: 100%;
  padding: 3rem 0;
  box-sizing: border-box;
}
.collection-slider .collection-slide-content img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
}
.collection-slider .video-container {
  display: grid;
  align-content: center;
  height: 100%;
}
.collection-slider .video-container iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}
.collection-slider .swiper-button-next, .collection-slider .swiper-button-prev {
  width: 3rem;
  height: 100%;
  position: absolute;
  top: 0;
  cursor: pointer;
  outline: none;
  z-index: 1;
  margin: 0;
  transition: opacity 0.5s ease;
  display: none;
  background: 0;
}
.collection-slider .swiper-button-next::after, .collection-slider .swiper-button-prev::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  position: absolute;
  border: 0.0625rem solid var(--apt-color-text-primary);
  top: 50%;
}
.collection-slider .swiper-button-next:hover, .collection-slider .swiper-button-prev:hover {
  opacity: 0.5;
}
.collection-slider .swiper-button-prev {
  left: 0;
}
.collection-slider .swiper-button-prev::after {
  transform: translateY(-50%) rotate(-45deg);
  border-right: 0;
  border-bottom: 0;
  left: 1rem;
}
.collection-slider .swiper-button-next {
  right: 0;
}
.collection-slider .swiper-button-next::after {
  transform: translateY(-50%) rotate(45deg);
  border-left: 0;
  border-bottom: 0;
  right: 1rem;
}
.collection-slider .swiper-lazy-preloader {
  border-color: var(--apt-color-primary);
  border-top-color: #000;
}

.pagination {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem;
  margin: 0;
  padding: 5rem 0 0;
}
.pagination .page-numbers {
  list-style: none;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.5rem;
  font-size: 0.875rem;
  font-weight: bold;
  min-width: 2rem;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--apt-color-border-tertiary);
  border-radius: 0.25rem;
  color: var(--apt-color-text-primary);
}
.pagination .page-numbers.current {
  color: var(--apt-color-primary);
  border-color: var(--apt-color-primary);
}
.pagination .prev::before, .pagination .next::before {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border: 0.125rem solid #C4CDD5;
  border-bottom: 0;
  transition: border-color 0.3s ease;
}
.pagination .prev:not(.disabled):hover::before, .pagination .next:not(.disabled):hover::before {
  border-color: var(--apt-color-text-primary);
}
.pagination .prev::before {
  border-right: 0;
  left: 50%;
  transform: rotate(-45deg) translateY(-50%);
}
.pagination .next::before {
  border-left: 0;
  right: 50%;
  transform: rotate(45deg) translateY(-50%);
}
.pagination a {
  transition: color 0.3s ease, border-color 0.3s ease;
}
.pagination a:hover {
  color: var(--apt-color-text-primary);
  border-color: var(--apt-color-text-primary);
}
.pagination .disabled {
  background-color: #919EAB;
  border-color: #919EAB;
  opacity: 0.5;
}

.next-post-block {
  max-width: 800px;
  margin: 10rem auto 0;
}
.next-post-block a:hover {
  opacity: 1;
}
.next-post-block a:hover .baton-author-block {
  background-color: var(--apt-color-background-hover);
}
.next-post-block .baton-author-block {
  margin: 0 -0.5rem;
}
.next-post-block .next-post-block-title {
  display: flex;
  justify-content: center;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
  margin: 0 0 2rem;
}
.next-post-block .next-post-block-title span {
  display: inline-block;
  padding: 0.5rem 1rem;
  color: var(--apt-color-text-light);
  background-color: var(--apt-color-background-dark);
}

/* PhotoSwipe */
.pswp__dynamic-caption--below {
  max-width: 100%;
  padding: 1rem 0 0;
}

.pswp__dynamic-caption--mobile {
  background: none;
  padding: 1rem 1rem;
}

@media screen and (min-width: 481px) {
  .main-visual {
    display: flex;
  }
  .main-visual .main-visual-content {
    width: 88%;
    position: absolute;
    left: 5%;
    bottom: 8vw;
    color: #fff;
    max-width: 100%;
    padding: 0;
  }
  .entry-header {
    margin: 0;
  }
  .entry-content .vlp-layout-spotlight {
    flex-direction: row;
  }
  .entry-content .vlp-link-container {
    gap: 1rem;
  }
  .entry-content .vlp-link-container .vlp-layout-zone-side {
    width: 40%;
  }
  .feature-list .list-item {
    width: 48%;
  }
  .recent-post-block .post-list-m .post-list-item {
    margin-bottom: 8%;
  }
}
@media screen and (min-width: 641px) {
  .entry-content .vlp-link-container {
    gap: 1.5rem;
    padding: 1.25rem;
  }
  .entry-content .vlp-link-container .vlp-layout-zone-side {
    width: 30%;
  }
  .sgb-list .sgb-list-item .description {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .entry-content .wp-block-columns {
    gap: 3rem;
  }
  .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}
@media screen and (min-width: 768px) {
  a.btn-external2 {
    font-size: 1.125rem;
  }
  .content-page .page-block {
    padding: 3rem 0;
  }
  .main-visual {
    margin: 0 auto;
    width: 100%;
  }
  .main-visual .main-visual-image {
    height: 47.333vw;
  }
  .main-visual .slogan {
    font-size: 2.5rem;
    width: 54%;
    max-width: 29rem;
  }
  .main-visual .title {
    font-size: 1.625rem;
    width: 54%;
    max-width: 34rem;
  }
  .main-visual .title br {
    display: none;
  }
  .main-visual .description {
    width: 54%;
    max-width: 34rem;
  }
  .content-title-block {
    padding: 1rem 12rem;
  }
  .content-title-block > h2, .content-title-block h3, .content-title-block h4, .content-title-block div {
    font-size: 1.75rem;
  }
  .content-title-block::before {
    top: 2rem;
    left: -3rem;
    width: 10rem;
    height: 0.1875rem;
  }
  .content-title-block::after {
    top: 2rem;
    left: -1.5rem;
    width: 0.1875rem;
    height: 3rem;
  }
  .recent-post-block .post-list-m .post-list-item {
    margin-bottom: 5%;
  }
  .entry-header .title-block {
    padding-bottom: 3rem;
  }
  .featured-img {
    margin-bottom: 5rem;
  }
  .entry-content .wp-block-columns {
    gap: 5rem;
  }
  .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0;
    flex-grow: 1 !important;
  }
  .single .entry-header .post-user-block .user-image-block {
    width: 13%;
  }
  .single .entry-header .prev-post-block a {
    font-size: 1rem;
  }
  .single .entry-content {
    margin-top: 0;
  }
  .single .entry-content .wp-block-spacer {
    height: 2.5rem !important;
  }
  .single-work .entry-header .title-block {
    padding-bottom: 2.25rem;
  }
  .single-work .entry-content {
    margin-top: 0;
  }
  .footer-gallery {
    margin-top: 6rem;
  }
  .collection-list {
    gap: 6vw;
  }
  .collection-list-item {
    width: calc(50% - 3vw);
  }
  .swiper-button-next::after, .swiper-button-prev::after {
    border-width: 0.25rem;
    width: 1.25rem;
    height: 1.25rem;
  }
  /* COLLECTION VIEW */
  .collection-slider .collection-slide-content {
    padding: 4rem;
  }
  .collection-slider .swiper-button-next, .collection-slider .swiper-button-prev {
    display: block;
  }
  .next-post-block .next-post-block-title {
    font-size: 1rem;
  }
  .next-post-block .baton-author-block {
    margin: 0;
  }
  .next-post-block .baton-author-block .post-data {
    padding: 0 13% 0 10%;
  }
  .page-common .page-title {
    font-size: 2.5rem;
    padding: 2rem 0;
  }
}
@media screen and (min-width: 900px) {
  .content-inner {
    padding: 0 var(--apt-spacing-side-desktop);
  }
  .single .site-main {
    padding-top: 3rem;
  }
  .single .entry-header .title-block .date {
    text-align: center;
  }
  .single .entry-content {
    margin-top: 0;
  }
  .single .entry-content .wp-block-columns {
    gap: 6%;
  }
  .single .entry-content .wp-block-column .wp-block-image {
    max-width: 100%;
    width: auto;
  }
  .single .entry-content .wp-block-column .wp-block-image:first-child {
    margin-top: 0.25rem;
  }
  .single .entry-content-header .title-block h1 {
    font-weight: 400;
    font-size: 1.3125rem;
  }
  .single .entry-content-header .data-block {
    font-size: 1rem;
  }
  .single .collection-list {
    margin-top: 7rem;
    padding: 0 5%;
  }
  .single-work .entry-header .title-block .entry-title {
    font-size: 1.125rem;
    text-align: left;
  }
  .single-work .entry-content {
    margin-top: 0;
  }
}
@media screen and (min-width: 1100px) {
  .content-page .page-block--first {
    padding-top: 1.5rem;
  }
  .collection-list {
    gap: 4.125rem;
  }
  .collection-list-item {
    width: calc(50% - 2.0625rem);
  }
}
@keyframes slider-dot-expand {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

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

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Pages
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Pages
--------------------------------------------------------------*/
:root {
  --swiper-theme-color: #000;
  --apt-wk-color-base: #202122;
  --apt-wk-color-border-base: #a2a9b1;
  --apt-wk-color-border-base-rgb: 162 169 177;
  --apt-wk-color-border-base-rgb-effect: 162 169 177;
  --apt-wk-color-border-subtle: #c8ccd1;
  --apt-wk-color-border-subtle-rgb: 200 204 209;
  --apt-wk-color-border-subtle-rgb-effect: 200 204 209;
  --apt-wk-color-border-muted: #dadde3;
  --apt-wk-color-progressive: #36c;
  --apt-wk-color-progressive--hover: #4b77d6;
  --apt-wk-color-progressive--active: #233566;
  --apt-wk-color-progressive--focus: #36c;
  --apt-wk-color-emphasized: #101418;
  --apt-wk-color-background-base: #fff;
  --apt-wk-color-background-neutral-subtle: #f8f9fa;
  --apt-wk-color-background-interactive: #eaecf0;
  --apt-wk-color-flicker-a: #ea36af;
  --apt-wk-color-flicker-a-rgb: 234 54 175;
  --apt-wk-color-flicker-b: #75fa69;
  --apt-wk-color-flicker-b-rgb: 117 250 105;
  --apt-wk-opacity-flicker-border: 1;
}

.dark {
  --apt-wk-color-background-base: #202122;
  --apt-wk-color-base: #eaecf0;
  --apt-wk-color-progressive: #88a3e8;
  --apt-wk-color-background-interactive: #202122;
  --apt-wk-color-background-neutral-subtle: #202122;
}

.flicker-border-o75 {
  --apt-wk-opacity-flicker-border: 0.75;
}

.flicker-border-o50 {
  --apt-wk-opacity-flicker-border: 0.5;
}

.flicker-border-c100 {
  --apt-wk-opacity-flicker-border: 1;
}

.flicker-border-c85 {
  --apt-wk-color-border-base-rgb-effect: 176 182 189;
  --apt-wk-color-border-subtle-rgb-effect: 208 212 216;
}

.flicker-border-c75 {
  --apt-wk-color-border-base-rgb-effect: 185 191 196;
  --apt-wk-color-border-subtle-rgb-effect: 214 217 221;
}

.flicker-border-c50 {
  --apt-wk-color-border-base-rgb-effect: 208 212 216;
  --apt-wk-color-border-subtle-rgb-effect: 228 230 232;
}

.flicker-border-c25 {
  --apt-wk-color-border-base-rgb-effect: 232 234 236;
  --apt-wk-color-border-subtle-rgb-effect: 241 242 244;
}

@media screen and (min-width: 768px) {
  .flicker-border-desktop-c50 {
    --apt-wk-color-border-base-rgb-effect: 208 212 216;
    --apt-wk-color-border-subtle-rgb-effect: 228 230 232;
    --apt-wk-opacity-flicker-border: 1;
  }
}
html.has-scroll-smooth {
  overflow: hidden;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

#scanline {
  position: fixed;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10000;
  mix-blend-mode: color-burn;
  opacity: 0.5;
  min-height: 900px;
}
#scanline img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

#vignette {
  position: fixed;
  width: 100%;
  height: 100%;
  pointer-events: none;
  mix-blend-mode: multiply;
  top: 0;
  left: 0;
  z-index: 10001;
  opacity: 0.7;
}
#vignette img {
  display: block;
  width: 100%;
  height: 100%;
}

#wiki-bg, #white {
  position: fixed;
  width: 100%;
  height: 100%;
  pointer-events: none;
  top: 0;
  left: 0;
  z-index: -1;
}
#wiki-bg img, #white img {
  display: block;
  width: 100%;
  height: 100%;
}
#wiki-bg video, #white video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.wk-page {
  padding-top: 1.5rem;
  padding-bottom: 3.125rem;
  max-width: 99.75rem;
  margin: 0 auto;
  line-height: initial;
  color: var(--apt-wk-color-base);
}
.wk-page a:where(:not([role=button])) {
  color: var(--apt-wk-color-progressive, #36c);
  border-radius: 2px;
  text-decoration: none;
}
.wk-page a:where(:not([role=button])):hover {
  color: var(--apt-wk-color-progressive--hover, #4b77d6);
  text-decoration: underline;
}
.wk-page ul {
  margin: 0.3rem 0 0 0;
  padding: 0 0 0 1rem;
}
.wk-page .wk-sidebar {
  display: none;
}
.wk-page .wk-pinned-block {
  padding: 0 1rem;
  margin-bottom: 2rem;
}
.wk-page .wk-toc .wk-toc-numb {
  display: none;
}
.wk-page .wk-toc .wk-toc-list {
  margin: 0;
}
.wk-page .wk-toc .wk-toc-list-item {
  position: relative;
  list-style-type: none;
  padding-left: 0.75rem;
  margin: 0;
}
.wk-page .wk-toc .wk-toc-toggle {
  transform: rotate(-90deg);
}
.wk-page .wk-toc .wk-toc-text {
  padding: 0.375rem 0;
}
.wk-page .wk-toc .wk-toc-list-item-active > .wk-toc-link, .wk-page .wk-toc .wk-toc .wk-toc-level-1-active:not(.wk-toc-list-item-expanded) > .wk-toc-link, .wk-page .wk-toc .wk-toc .wk-toc-list-item-active.wk-toc-level-1-active > .wk-toc-link {
  color: var(--apt-color-base, #202122);
  font-weight: bold;
}
.wk-page .wk-toc .wk-toc-level-1 .wk-toc-list-item {
  display: none;
}
.wk-page .wk-toc .wk-toc-level-1.wk-toc-list-item-expanded .wk-toc-list-item {
  display: block;
}
.wk-page .wk-toc .wk-toc-level-1.wk-toc-list-item-expanded .wk-toc-toggle {
  transform: rotate(0);
}
.wk-page .wk-toc-pinnable-header {
  margin-left: 0.75rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0.375rem;
  border-bottom: 1px solid var(--apt-wk-color-background-interactive, #eaecf0);
  line-height: 1.6;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 2.125rem;
}
.wk-page .wk-toc-pinnable-header h2 {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.875rem;
  margin: 0 0.5rem 0 0;
  padding: 0;
  border: 0;
  font-weight: bold;
}
.wk-page .wk-toc-pinnable-header button {
  display: none;
  border: 0;
  padding: 0.25rem 0.5rem;
  background-color: var(--apt-wk-color-background-interactive, #eaecf0);
  color: var(--apt-color-base, #202122);
  cursor: pointer;
  text-align: left;
  font-size: 0.75rem;
  border-radius: 0.125rem;
  height: auto;
  line-height: normal;
  margin: 0;
}
.wk-page .wk-toc-contents {
  margin: 0;
  list-style: none;
}
.wk-page .wk-ui-icon-wikimedia-expand {
  min-width: 20px;
  min-height: 20px;
  width: 1.25rem;
  height: 1.25rem;
  min-width: 12px;
  min-height: 12px;
  width: 0.75rem;
  height: 0.75rem;
  display: inline-block;
  vertical-align: text-bottom;
}
@supports ((-webkit-mask-image: none) or (mask-image: none)) {
  .wk-page .wk-ui-icon-wikimedia-expand {
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m17.5 4.75-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z\"/></svg>");
            mask-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"%23000000\"><path d=\"m17.5 4.75-7.5 7.5-7.5-7.5L1 6.25l9 9 9-9z\"/></svg>");
    background-color: var(--apt-color-base, #202122);
  }
}
@supports ((-webkit-mask-image: none) or (mask-image: none)) {
  .wk-page .wk-ui-icon-wikimedia-expand {
    -webkit-mask-size: max(0.75rem, 12px);
            mask-size: max(0.75rem, 12px);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
  }
}
.wk-page .wk-toc-toggle {
  border: 0;
  height: auto;
  width: auto;
  margin: 0;
  line-height: initial;
  transition: 100ms;
  position: absolute;
  left: -11px;
  top: 1px;
  min-width: 22px;
  min-height: 22px;
  padding: 0;
  font-size: 0.7rem;
}
.wk-page .wk-main {
  padding: 0 1rem;
}
.wk-page .wk-titlebar {
  position: relative;
  padding-bottom: 0.75rem;
}
.wk-page .wk-titlebar::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--apt-wk-color-border-base, #a2a9b1);
  z-index: -1;
}
.wk-page .wk-titlebar h1 {
  font-size: 1.6875rem;
  line-height: 1.375;
  font-weight: 400;
  margin: 0;
}
.wk-page .wk-toolbar .wk-toolbar-inner {
  display: flex;
  font-size: 0.875rem;
  box-shadow: 0 1px var(--apt-wk-color-border-subtle, #c8ccd1);
  margin-bottom: 1px;
}
.wk-page .wk-toolbar .wk-toolbar-inner.active::after {
  border-color: rgb(var(--apt-wk-color-border-subtle-rgb-effect)/var(--apt-wk-opacity-flicker-border));
}
.wk-page .wk-toolbar .wk-toolbar-menu-list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 0 0 -0.5rem;
  line-height: initial;
}
.wk-page .wk-toolbar .wk-toolbar-menu-list li {
  margin: 0 0.5rem;
}
.wk-page .wk-toolbar .wk-toolbar-menu-list li a {
  display: inline-flex;
  position: relative;
  cursor: pointer;
  padding: 0.75rem 0 0.4375rem 0;
  margin-bottom: -1px;
  border-bottom: 2px solid transparent;
}
.wk-page .wk-toolbar .wk-toolbar-menu-list li a:hover {
  text-decoration: none;
}
.wk-page .wk-toolbar .wk-toolbar-menu-list li.selected a {
  color: var(--apt-wk-color-base, #202122);
  border-bottom: 2px solid;
}
.wk-page .wk-toolbar .wk-toolbar-menu-list li.selected a::after {
  border-width: 2px;
}
.wk-page .wk-body {
  line-height: 1.65;
  font-size: 1rem;
}
.wk-page .wk-body p {
  margin: 0.5rem 0 1rem 0;
}
.wk-page .wk-body a {
  word-wrap: break-word;
}
.wk-page .wk-body ol {
  margin: 0;
  padding: 0 0 0 2.25rem;
  padding-inline: 2.25rem 0;
}
.wk-page .wk-body ol.references {
  counter-reset: wk-ref-extends-parent wk-references list-item;
}
.wk-page .wk-body ol.references > li {
  counter-increment: wk-ref-extends-parent wk-references;
  counter-reset: wk-ref-extends-child;
}
.wk-page .wk-body li, .wk-page .wk-body dd {
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid-column;
}
.wk-page .wk-body li {
  margin-bottom: 0.625rem;
}
.wk-page .wk-body p + ul, .wk-page .wk-body p + ol, .wk-page .wk-body p + table, .wk-page .wk-body p + dl, .wk-page .wk-body p + blockquote {
  margin-top: -0.5rem;
}
.wk-page .wk-body sup {
  font-size: smaller;
  line-height: 1;
  top: 0;
  vertical-align: super;
}
.wk-page .wk-body sup.reference {
  unicode-bidi: isolate;
  white-space: nowrap;
  font-weight: normal;
  font-style: normal;
}
.wk-page .wk-body .icon-external svg {
  width: 1.125rem;
  height: auto;
  position: relative;
  top: -2px;
}
.wk-page .wk-body .icon-external svg path {
  fill: var(--apt-wk-color-base);
}
.wk-page .wk-body a .icon-external svg path {
  fill: var(--apt-wk-color-progressive);
}
.wk-page .wk-source {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
}
.wk-page .wk-body-content {
  margin-top: 1rem;
}
.wk-page .ambox {
  margin: 2rem 0;
  border: 1px solid #a2a9b1;
  border-left: 10px solid #f28500;
  background-color: #fbfbfb;
  box-sizing: border-box;
  font-size: 0.8125rem;
}
.wk-page .ambox .mbox-image {
  border: none;
  padding: 2px 0 2px 0.5rem;
  text-align: center;
}
.wk-page .ambox .mbox-image-div {
  width: 28px;
}
.wk-page .ambox .mbox-text {
  border: none;
  padding: 0.25rem 0.5rem;
  width: 100%;
}
.wk-page .ambox.active::after {
  border-left: 10px solid #f28500 !important;
  left: -5px !important;
  width: calc(100% + 6px) !important;
  z-index: 10 !important;
}
.dark .wk-page .ambox {
  background-color: var(--apt-wk-color-background-interactive);
}
.wk-page .infobox {
  border-collapse: separate;
  border: 1px solid var(--apt-wk-color-border-base);
  background-color: #f8f9fa;
  color: black;
  padding: 0.2em;
  font-size: 88%;
  line-height: 1.5em;
  border-spacing: 3px;
}
.wk-page .infobox .infobox-above {
  font-size: 125%;
  font-weight: bold;
  text-align: center;
}
.wk-page .infobox .infobox-image .image {
  width: 220px;
  display: block;
  margin: 0 auto;
  position: relative;
}
.wk-page .infobox .infobox-image .image video {
  width: 100%;
  height: auto;
  position: relative;
}
.wk-page .infobox .infobox-caption {
  text-align: center;
}
.wk-page .infobox th, .wk-page .infobox td {
  vertical-align: top;
  text-align: left;
}
.dark .wk-page .infobox {
  background-color: inherit;
}
.wk-page .wk-heading {
  color: var(--apt-wk-color-emphasized, #101418);
  font-weight: bold;
  margin: 0;
  padding-top: 0.5rem;
  padding-bottom: 0.17rem;
  display: flow-root;
  word-break: break-word;
}
.wk-page .wk-heading2 {
  margin: 0 0 0.75rem 0;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--apt-wk-color-border-base, #a2a9b1);
}
.wk-page .wk-heading2 h2 {
  font-weight: normal;
  line-height: 1.375;
  font-size: 1.5rem;
  margin: 0;
}
.wk-page .wk-heading3 {
  margin: 0.3rem 0 0.3rem 0;
  padding-top: 0.6rem;
}
.wk-page .wk-heading3 h3 {
  line-height: 1.6;
  font-size: 1.2rem;
  margin: 0;
}
.wk-page .catlinks {
  background-color: var(--apt-wk-color-background-neutral-subtle, #f8f9fa);
  margin-top: 1rem;
  border: 1px solid var(--apt-wk-color-border-base, #a2a9b1);
  padding: 0.3125rem;
  clear: both;
}
.wk-page .catlinks ul {
  display: inline;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wk-page .catlinks li {
  display: inline-block;
  line-height: 1.25rem;
  margin: 0.125rem 0;
  border-left: 1px solid var(--apt-wk-color-border-base, #a2a9b1);
  padding: 0 0.5rem;
}
.wk-page .catlinks li:first-child {
  border-left: 0;
  padding-left: 0.25rem;
}
.wk-page .cite-accessibility-label {
  top: -99999px;
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

.home #header-menu, .page-template-top-preview #header-menu {
  opacity: 1;
}
.home #content, .page-template-top-preview #content {
  padding-bottom: 0;
}
.home #primary, .page-template-top-preview #primary {
  position: relative;
}
.home #loading, .page-template-top-preview #loading {
  z-index: 10000;
  background-color: var(--apt-color-background-dark);
}
.home #loading .wrapper, .page-template-top-preview #loading .wrapper {
  width: 50%;
  height: auto;
  max-width: 14rem;
}
.home #loading .wrapper svg, .page-template-top-preview #loading .wrapper svg {
  width: 100%;
  height: auto;
}
.home #loading .wrapper path, .page-template-top-preview #loading .wrapper path {
  fill: var(--apt-color-primary);
}
.home .site-footer, .page-template-top-preview .site-footer {
  position: relative;
}

@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.image-with-padding {
  margin: -0.625rem -0.75rem;
  display: block;
  width: calc(100% + 1.5rem);
  max-width: none;
}

.image-for-effect {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.flicker005.active {
  text-shadow: 0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a), -0.125rem 0 0.0625rem var(--apt-wk-color-flicker-b);
  animation-duration: 0.01s;
  animation-name: text-flicker005;
  animation-iteration-count: infinite;
}
.flicker005.active img, .flicker005.active svg {
  filter: drop-shadow(0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a)) drop-shadow(-0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-b));
  animation-duration: 0.01s;
  animation-name: image-flicker005;
  animation-iteration-count: infinite;
}
.flicker005.active:hover {
  animation: none;
}
.flicker005.active:hover img, .flicker005.active:hover svg {
  animation: none;
}

@keyframes text-flicker005 {
  from {
    text-shadow: 1px 0 0 var(--apt-wk-color-flicker-a), -1px 0 0 var(--apt-wk-color-flicker-b);
  }
  to {
    text-shadow: 1.5px 0.5px 1.5px var(--apt-wk-color-flicker-a), -0.5px -0.5px 1.5px var(--apt-wk-color-flicker-b);
  }
}
@keyframes image-flicker005 {
  from {
    filter: drop-shadow(1px 0 0 var(--apt-wk-color-flicker-a)) drop-shadow(-1px 0 0 var(--apt-wk-color-flicker-b));
  }
  to {
    filter: drop-shadow(1.5px 0.5px 1.5px var(--apt-wk-color-flicker-a)) drop-shadow(-0.5px -0.5px 1px var(--apt-wk-color-flicker-b));
  }
}
.flicker01.active {
  text-shadow: 0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a), -0.125rem 0 0.0625rem var(--apt-wk-color-flicker-b);
  animation-duration: 0.01s;
  animation-name: text-flicker01;
  animation-iteration-count: infinite;
}
.flicker01.active img, .flicker01.active svg {
  filter: drop-shadow(0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a)) drop-shadow(-0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-b));
  animation-duration: 0.01s;
  animation-name: image-flicker01;
  animation-iteration-count: infinite;
}
.flicker01.active:hover {
  animation: none;
}
.flicker01.active:hover img, .flicker01.active:hover svg {
  animation: none;
}

@keyframes text-flicker01 {
  from {
    text-shadow: 1px 0 0 var(--apt-wk-color-flicker-a), -2px 0 0 var(--apt-wk-color-flicker-b);
  }
  to {
    text-shadow: 2px 0.5px 2px var(--apt-wk-color-flicker-a), -1px -0.5px 2px var(--apt-wk-color-flicker-b);
  }
}
@keyframes image-flicker01 {
  from {
    filter: drop-shadow(1px 0 0 var(--apt-wk-color-flicker-a)) drop-shadow(-1.5px 0 0 var(--apt-wk-color-flicker-b));
  }
  to {
    filter: drop-shadow(2px 0.5px 2px var(--apt-wk-color-flicker-a)) drop-shadow(-1px -0.5px 1px var(--apt-wk-color-flicker-b));
  }
}
.flicker01-border.active {
  position: relative;
  z-index: 1;
}
.flicker01-border.active::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  border: 1px solid rgb(var(--apt-wk-color-border-base-rgb-effect)/var(--apt-wk-opacity-flicker-border));
  z-index: -1;
  filter: drop-shadow(0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a)) drop-shadow(-0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-b));
  animation: border-flicker01 0.01s infinite;
  pointer-events: none;
}
.flicker01-border.active:hover::after {
  animation: none;
}
.flicker-border-under .flicker01-border.active {
  z-index: inherit;
}
.flicker-border-under .flicker01-border.active::after {
  border: 1px solid rgb(var(--apt-wk-color-border-base-rgb)/1);
}

.flicker01-border-bottom.active::after {
  border-top: 0;
  border-left: 0;
  border-right: 0;
  height: 1px;
  top: auto;
  bottom: -1px;
}

.flicker01-border-bottom-pseudo.active::after {
  bottom: 0;
}

.flicker01-border-top.active::after {
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  height: 1px;
}

@keyframes border-flicker01 {
  from {
    filter: drop-shadow(1px 0 0 rgba(var(--apt-wk-color-flicker-a-rgb)/1)) drop-shadow(-1.5px 0 0 rgba(var(--apt-wk-color-flicker-b-rgb)/0.5));
  }
  to {
    filter: drop-shadow(2px 0.5px 2px rgba(var(--apt-wk-color-flicker-a-rgb)/1)) drop-shadow(-1px -0.5px 1px rgba(var(--apt-wk-color-flicker-b-rgb)/0.5));
  }
}
.flicker01_5.active {
  text-shadow: 0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a), -0.125rem 0 0.0625rem var(--apt-wk-color-flicker-b);
  animation-duration: 0.01s;
  animation-name: text-flicker01_5;
  animation-iteration-count: infinite;
}
.flicker01_5.active img, .flicker01_5.active svg {
  filter: drop-shadow(0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a)) drop-shadow(-0.125rem 0 0.0625rem var(--apt-wk-color-flicker-b));
  animation-duration: 0.01s;
  animation-name: image-flicker01_5;
  animation-iteration-count: infinite;
}
.flicker01_5.active:hover {
  animation: none;
}
.flicker01_5.active:hover img, .flicker01_5.active:hover svg {
  animation: none;
}

@keyframes text-flicker01_5 {
  from {
    text-shadow: 1.5px 0 0 var(--apt-wk-color-flicker-a), -2.5px 0 0 var(--apt-wk-color-flicker-b);
  }
  to {
    text-shadow: 2.5px 1px 2px var(--apt-wk-color-flicker-a), -1px -1px 2.5px var(--apt-wk-color-flicker-b);
  }
}
@keyframes image-flicker01_5 {
  from {
    filter: drop-shadow(1.5px 0 0 var(--apt-wk-color-flicker-a)) drop-shadow(-2.5px 0 0 var(--apt-wk-color-flicker-b));
  }
  to {
    filter: drop-shadow(2.5px 1px 2px var(--apt-wk-color-flicker-a)) drop-shadow(-1px -1px 2.5px var(--apt-wk-color-flicker-b));
  }
}
.flicker02.active {
  text-shadow: 0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a), -0.125rem 0 0.0625rem var(--apt-wk-color-flicker-b);
  animation-duration: 0.01s;
  animation-name: text-flicker02;
  animation-iteration-count: infinite;
}
.flicker02.active img, .flicker02.active svg {
  filter: drop-shadow(0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a)) drop-shadow(-0.125rem 0 0.0625rem var(--apt-wk-color-flicker-b));
  animation-duration: 0.01s;
  animation-name: image-flicker02;
  animation-iteration-count: infinite;
}
.flicker02.active:hover {
  animation: none;
}
.flicker02.active:hover img, .flicker02.active:hover svg {
  animation: none;
}

@keyframes text-flicker02 {
  from {
    text-shadow: 2px 0 0 var(--apt-wk-color-flicker-a), -3px 0 0 var(--apt-wk-color-flicker-b);
  }
  to {
    text-shadow: 3px 1px 2px var(--apt-wk-color-flicker-a), -1px -1px 3px var(--apt-wk-color-flicker-b);
  }
}
@keyframes image-flicker02 {
  from {
    filter: drop-shadow(2px 0 0 var(--apt-wk-color-flicker-a)) drop-shadow(-3px 0 0 var(--apt-wk-color-flicker-b));
  }
  to {
    filter: drop-shadow(3px 1px 2px var(--apt-wk-color-flicker-a)) drop-shadow(-1px -1px 3px var(--apt-wk-color-flicker-b));
  }
}
.flicker03.active {
  text-shadow: 0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a), -0.125rem 0 0.0625rem var(--apt-wk-color-flicker-b);
  animation-duration: 0.01s;
  animation-name: text-flicker03;
  animation-iteration-count: infinite;
}
.flicker03.active img, .flicker03.active svg {
  filter: drop-shadow(0.0625rem 0 0.0625rem var(--apt-wk-color-flicker-a)) drop-shadow(-0.125rem 0 0.0625rem var(--apt-wk-color-flicker-b));
  animation-duration: 0.01s;
  animation-name: image-flicker03;
  animation-iteration-count: infinite;
}
.flicker03.active:hover {
  animation: none;
}
.flicker03.active:hover img, .flicker03.active:hover svg {
  animation: none;
}

@keyframes text-flicker03 {
  from {
    text-shadow: 3px 0 0 var(--apt-wk-color-flicker-a), -4px 0 0 var(--apt-wk-color-flicker-b);
  }
  to {
    text-shadow: 4px 1.5px 2px var(--apt-wk-color-flicker-a), -2px -1.5px 3px var(--apt-wk-color-flicker-b);
  }
}
@keyframes image-flicker03 {
  from {
    filter: drop-shadow(1px 0 0 var(--apt-wk-color-flicker-a)) drop-shadow(-4px 0 0 var(--apt-wk-color-flicker-b));
  }
  to {
    filter: drop-shadow(3px 1px 2px var(--apt-wk-color-flicker-a)) drop-shadow(-1px -1px 3px var(--apt-wk-color-flicker-b));
  }
}
.glitch-border {
  position: relative;
  z-index: 1;
}

.glitch-border::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #a2a9b1;
  filter: drop-shadow(0.02rem 0 var(--apt-wk-color-flicker-a)) drop-shadow(-0.02rem 0 var(--apt-wk-color-flicker-b));
  animation: border-glitch-filter 0.1s infinite alternate;
}

/* アニメーション */
@keyframes border-glitch-filter {
  from {
    filter: drop-shadow(1px 0 0 var(--apt-wk-color-flicker-a)) drop-shadow(-1px 0 0 var(--apt-wk-color-flicker-b));
  }
  to {
    filter: drop-shadow(2px 0.5px 2px var(--apt-wk-color-flicker-a)) drop-shadow(-1.5px -0.5px 1px var(--apt-wk-color-flicker-b));
  }
}
.glitch [data-char] {
  display: inline-block;
  --split: 50;
  color: transparent;
  position: relative;
  animation: glitch 1.5s infinite ease-in-out alternate-reverse;
}

*:hover .glitch [data-char] {
  animation: none;
}

.glitch [data-char]:after,
.glitch [data-char]:before {
  content: attr(data-char);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  color: var(--apt-wk-color-base);
  -webkit-clip-path: var(--clip);
          clip-path: var(--clip);
}

.glitch [data-char]:after {
  transform: translate(calc(var(--shift) * 1%), 0);
  --clip: inset(0 0 calc(var(--split) * 1%) 0);
  text-shadow: calc(var(--shadow) * 1px) calc(var(--shadow) * 1px) var(--apt-wk-color-flicker-a);
}

.glitch [data-char]:before {
  --clip: inset(calc((95 - var(--split)) * 1%) 0 0 0);
}

@keyframes glitch {
  0% {
    --split: 20;
    --shift: 15;
    --shadow: -2;
  }
  5% {
    --split: 30;
    --shift: 15;
    --shadow: -2;
  }
  10% {
    --split: 80;
    --shift: 10;
    --shadow: -2;
  }
  15% {
    --split: 55;
    --shift: 10;
    --shadow: -2;
  }
  20%, 50% {
    --split: 0;
    --shift: 0;
    --shadow: 0;
  }
  100% {
    --split: 0;
    --shift: 0;
    --shadow: 0;
  }
}
.glitch02 {
  display: block;
  filter: url(#filter-glitch02) !important;
}

:root {
  --apt-crt-scan-width: .15rem;
  --apt-crt-scan-color: rgb( 0 0 0 / .04);
}

@media screen and (min-width: 768px) {
  :root {
    --apt-crt-scan-width: .2rem;
    --apt-crt-scan-color: rgb( 0 0 0 / .06);
  }
}
#switch + .switch-label {
  background: #444;
  background-image: radial-gradient(circle at left top, #5e5e5e, #2b2b2b);
  box-shadow: -0.1rem -0.1rem 0 #5e5e5e, 0.1rem 0.1rem 0 #2b2b2b, 0 0 0 0.2rem #111111, 0.1rem 0.1rem 0 0.2rem #444;
}
#switch + .switch-label:after {
  background: #003300;
}

#switch:checked + .switch-label,
#switch:active + .switch-label {
  box-shadow: -0.1rem -0.1rem 0 #2b2b2b, 0.1rem 0.1rem 0 #5e5e5e, 0 0 0 0.2rem #111111, 0.1rem 0.1rem 0 0.2rem #444;
}
#switch:checked + .switch-label:after,
#switch:active + .switch-label:after {
  background: #66ff66;
  box-shadow: 0 0 1.2rem 0 lime;
}

.scanlines {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  pointer-events: none;
  min-height: 900px;
}
.scanlines:before, .scanlines:after {
  display: block;
  pointer-events: none;
  content: "";
  position: absolute;
}
.scanlines:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(var(--apt-crt-scan-width) * 1);
  z-index: 2147483649;
  opacity: 0.75;
}
.scanlines:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2147483648;
}

#switch ~ .screen {
  background: #111;
}
#switch ~ .screen.scanlines:before, #switch ~ .screen.scanlines:after {
  animation: none;
}
#switch ~ .screen > .contents {
  animation: crt-power-off 0.55s forwards ease-in-out;
}

.scanlines:before {
  background: var(--apt-crt-scan-color);
  animation: scan-moving 6s linear infinite;
}
.scanlines:after {
  background: linear-gradient(to bottom, transparent 50%, var(--apt-crt-scan-color) 51%);
  background-size: 100% calc(var(--apt-crt-scan-width) * 2);
  animation: scan-crt 1s steps(60) infinite;
}

@keyframes scan-moving {
  0% {
    transform: translate3d(0, 100vh, 0);
  }
}
@keyframes scan-crt {
  0% {
    background-position: 0 50%;
  }
}
@keyframes blink {
  to {
    visibility: hidden;
  }
}
@keyframes crt-power-on {
  0% {
    transform: scale(1, 0.8) translate3d(0, 0, 0);
    filter: brightness(30);
    opacity: 1;
  }
  3.5% {
    transform: scale(1, 0.8) translate3d(0, 100%, 0);
  }
  3.6% {
    transform: scale(1, 0.8) translate3d(0, -100%, 0);
  }
  9% {
    transform: scale(1.3, 0.6) translate3d(0, 100%, 0);
  }
  11% {
    transform: scale(1, 1) translate3d(0, 0, 0);
    filter: contrast(0) brightness(0);
    opacity: 0;
  }
  100% {
    transform: scale(1, 1) translate3d(0, 0, 0);
    filter: contrast(1) brightness(1.2) saturate(1.3);
    opacity: 1;
  }
}
@keyframes crt-power-off {
  0% {
    transform: scale(1, 1.3) translate3d(0, 0, 0);
    filter: brightness(1);
    opacity: 1;
  }
  60% {
    transform: scale(1.3, 0.001) translate3d(0, 0, 0);
    filter: brightness(10);
  }
  100% {
    transform: scale(0, 0.0001) translate3d(0, 0, 0);
    filter: brightness(50);
  }
}
#switch {
  display: none;
}

.switch-label {
  align-self: flex-end;
  position: relative;
  display: inline-block;
  margin: 2rem 2rem 0 0;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  font-family: sans-serif;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1;
  text-shadow: 0.1rem 0.1rem 0 rgba(255, 255, 255, 0.4);
  color: #444;
  cursor: pointer;
}
.switch-label:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-5rem, -50%);
  content: "";
  display: block;
  border-radius: 50%;
  height: 0.5rem;
  width: 0.5rem;
}
.switch-label span {
  position: absolute;
  top: 5rem;
  left: 0;
  width: 100%;
  text-align: center;
}

.content-top section {
  position: relative;
  padding: 3rem 6% 3rem;
  border-bottom: 1px solid var(--apt-color-border-primary);
}
.content-top section:last-child {
  border-bottom: none;
}
.content-top .section-title {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding-bottom: 2rem;
}
.content-top .section-title h2 {
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.25rem;
  line-height: 1.4;
  padding: 0;
  margin: 0;
}
.content-top .section-title h2 span {
  display: inline-block;
}
.content-top .section-title h2 svg {
  width: 0.875rem;
  height: auto;
  margin-top: 2%;
}
.content-top .wrap {
  max-width: 75rem;
  margin: 0 auto;
  position: relative;
}
.content-top .wrap-thin {
  max-width: 56rem;
  margin: 0 auto;
}
.content-top .button-block {
  margin-top: 3rem;
}
.content-top .button-block .btn-internal {
  min-width: 12.5rem;
  margin: 0;
}
.content-top .btn-external {
  position: relative;
  font-size: 1.125rem;
  line-height: 1;
  background-color: var(--apt-color-primary);
  color: var(--apt-color-text-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-family: "interstate-condensed", sans-serif;
  z-index: 0;
  border-radius: 0.25rem;
  padding: 1rem 1.5rem;
}
.content-top .btn-external span {
  display: inline-block;
}
.content-top .btn-external:hover {
  background-color: var(--apt-color-primary-dark);
}
.content-top .section-subtitle {
  text-align: center;
  font-size: 0.875rem;
  padding-bottom: 2rem;
}
.content-top .section-description {
  text-align: center;
  margin: 0 auto 3rem;
  font-size: 1rem;
}
.content-top .section-description span {
  display: inline-block;
}
@keyframes slider-dot-expand {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}
.content-top .video-block {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-bottom: 1px solid var(--apt-color-border-primary);
}
.content-top .video-block video {
  width: 100%;
  height: 101%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 480px) {
  .wk-page .infobox-data {
    overflow-wrap: anywhere;
  }
}
@media screen and (min-width: 641px) {
  .wk-page .infobox {
    margin: 0.25em 0 0.5em 1em;
    float: right;
    clear: right;
    width: 22em;
  }
}
@media screen and (min-width: 768px) {
  .home .site-footer, .page-template-top-preview .site-footer {
    width: 100%;
    bottom: 0;
  }
  .content-top section {
    padding: 4rem 6% 4rem;
  }
  .content-top .section-title {
    padding-bottom: 2.5rem;
  }
  .content-top .section-title h2 {
    font-size: 1.3125rem;
  }
  .content-top .section-title h2 svg {
    width: 1rem;
  }
  .content-top .section-subtitle {
    margin-top: -2rem;
    padding-bottom: 4rem;
  }
  .content-top .section-description {
    text-align: center;
    margin: 0 auto 3rem;
    font-size: 1.125rem;
  }
  .content-top .button-block {
    margin-top: 4rem;
  }
  .content-top .button-block .btn-internal {
    min-width: 14rem;
  }
  .flicker-desktop01.active {
    animation-name: text-flicker01;
  }
  .flicker-desktop01.active img, .flicker-desktop01.active svg {
    animation-name: image-flicker01;
  }
}
@media screen and (min-width: 900px) {
  .wk-page .ambox {
    margin: 2rem auto;
    width: 80%;
    font-size: 1rem;
  }
  .wk-page .ambox .mbox-image-div {
    width: 52px;
  }
}
@media screen and (min-width: 1100px) {
  .wk-page {
    display: grid;
    -moz-column-gap: 24px;
         column-gap: 24px;
    grid-template-columns: 12.25rem minmax(0, 1fr);
    padding-top: 5rem;
    padding-left: 2.75rem;
    padding-right: 2.75rem;
  }
  .wk-page ul {
    margin: 0.3rem 0 0 1.6rem;
    margin-inline-start: 1.6rem;
    margin-inline-end: 0;
    padding: 0;
  }
  .wk-page .wk-sidebar {
    display: block;
    margin-top: 2.8rem;
    margin-left: -0.75rem;
    border-top: 1px solid transparent;
  }
  .wk-page .wk-sidebar .wk-sticky-pinned-block {
    overflow: hidden auto;
    position: sticky;
    top: 1.5rem;
    box-sizing: border-box;
    max-height: calc(100vh - 3rem);
  }
  .wk-page .wk-main {
    display: grid;
    grid-template: -webkit-min-content -webkit-min-content -webkit-min-content 1fr/minmax(0, 59.25rem) -webkit-min-content;
    grid-template: min-content min-content min-content 1fr/minmax(0, 59.25rem) min-content;
    grid-template-areas: "titlebar columnEnd" "toolbar columnEnd" "content columnEnd";
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    padding: 0;
  }
  .wk-page .wk-titlebar {
    grid-area: titlebar;
    padding-bottom: 0;
  }
  .wk-page .wk-titlebar h1 {
    font-size: 1.8rem;
    line-height: 1.375;
    font-weight: 400;
    margin: 0;
  }
  .wk-page .wk-toolbar {
    grid-area: toolbar;
  }
  .wk-page .wk-body {
    grid-area: content;
    line-height: 1.6;
  }
  .wk-page .wk-body ol {
    margin: 0.3rem 0 0 3.2rem;
    margin-inline-start: 3.2rem;
    margin-inline-end: 0;
    padding: 0;
    list-style-image: none;
  }
  .wk-page .wk-body li {
    margin-bottom: 0.1rem;
  }
  .wk-page .wk-body ol.references, .wk-page .wk-body div.reflist {
    font-size: 90%;
  }
  .wk-page .wk-body div.reflist ol.references {
    font-size: 100%;
    margin: 0.27rem 0 0 2.88rem;
    margin-inline-start: 2.88rem;
  }
  .wk-page .wk-sidebar-end {
    grid-area: columnEnd;
    width: 12.25rem;
  }
  .wk-page .wk-heading2 {
    margin: 0.375rem 0 0.375rem 0;
    padding: 0.75rem 0 0;
  }
  .home .section-inner {
    padding: 0 5rem;
  }
}
@media screen and (min-width: 1680px) {
  .wk-page {
    grid-template-columns: 15.5rem minmax(0, 1fr);
  }
}
.page-template-about #content {
  padding-bottom: 0;
}

.content-about {
  overflow-x: hidden;
  position: relative;
  font-weight: 700;
  font-family: sans-serif;
  font-style: normal;
}
.content-about .wrap {
  max-width: 80rem;
}
.content-about .wrap-thin {
  max-width: 50rem;
}
.content-about section {
  padding: 4rem var(--apt-spacing-side-mobile);
  border-bottom: 1px solid var(--apt-color-border-primary);
  position: relative;
}
.content-about section:last-child {
  border-bottom: none;
}
.content-about .section-title {
  padding-top: 1rem;
}
.content-about #main-visual {
  padding: 0;
  border-bottom: 0;
}
.content-about .main-visual {
  aspect-ratio: 16/9;
  position: relative;
}
.content-about .main-visual .bg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.content-about .main-visual .logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40%;
  height: auto;
}
.content-about .about-title {
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
  font-size: 1rem;
  margin-bottom: 3rem;
}
.content-about .about-subtitle {
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
  font-size: 1.5rem;
  margin-bottom: 3rem;
}
.content-about .intro {
  font-size: 1rem;
  line-height: 2;
}
.content-about .intro p:last-child {
  margin-bottom: 0;
}
.content-about .company-info dl {
  font-size: 0.875rem;
  margin: 0 0 3rem;
}
.content-about .company-info dl:last-child {
  margin-bottom: 0;
}
.content-about .company-info dl dt {
  margin: 0 0 0.25rem;
}
.content-about .company-info dl dd {
  margin: 0 0 1.5rem;
}
.content-about .company-info dl dd:last-of-type {
  margin-bottom: 0;
}
.content-about .service-list {
  padding: 0 0 0 1.25rem;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem 2.5rem;
  line-height: 1.5;
}
.content-about .service-list .item-name {
  font-size: 1rem;
  font-weight: 900;
  font-family: sans-serif;
  font-style: normal;
}
.content-about .service-list ul {
  padding: 0;
  margin: 1.5rem 0 0;
  list-style: none;
}
.content-about .service-list ul li {
  position: relative;
  padding: 0 0 0 1rem;
  margin-left: -0.25rem;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.content-about .service-list ul li:last-of-type {
  margin-bottom: 0;
}
.content-about .service-list ul li::before {
  content: "";
  position: absolute;
  top: 0.75rem;
  left: 0;
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background-color: var(--apt-color-text-primary);
}

@media screen and (min-width: 481px) {
  .content-about .service-list {
    padding: 0 0 0 1.25rem;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .content-about .about-subtitle {
    font-size: 1.75rem;
  }
  .content-about #main-visual {
    padding: 0;
  }
  .content-about .intro {
    font-size: 1.125rem;
  }
  .content-about .intro p {
    margin-bottom: 2.5rem;
  }
  .content-about .intro p:last-child {
    margin-bottom: 0;
  }
  .content-about .company-info dl {
    font-size: 1rem;
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 1rem 12%;
  }
  .content-about .company-info dl dt {
    margin: 0;
  }
  .content-about .company-info dl dd {
    margin: 0;
  }
  .content-about .service-list {
    font-size: 1.125rem;
    gap: 3rem 2.5rem;
  }
  .content-about .service-list .item-name {
    font-size: 1.3125rem;
  }
}
@media screen and (min-width: 900px) {
  .content-about section {
    padding: 8rem var(--apt-spacing-side-desktop);
  }
}
@media screen and (min-width: 1100px) {
  .content-about .about-title {
    writing-mode: vertical-rl;
    position: absolute;
    margin: 0;
    top: 0.75rem;
    left: 0;
    letter-spacing: 0.08em;
  }
  .content-about .company-info {
    padding-top: 0.25rem;
  }
  .content-about #service .wrap-thin {
    max-width: 60rem;
  }
  .content-about #service .section-inner {
    padding: 0 5rem;
  }
  .content-about .service-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 2.5rem;
  }
}
.page-template-works #content {
  padding-bottom: 0;
}

.content-works {
  overflow-x: hidden;
  position: relative;
}
.content-works .wrap {
  max-width: 80rem;
}
.content-works .wrap-thin {
  max-width: 50rem;
}
.content-works .page-header {
  border-bottom: 1px solid var(--apt-color-border-primary);
}
.content-works section {
  padding: 0 var(--apt-spacing-side-mobile) 4rem;
  border-bottom: 1px solid var(--apt-color-border-primary);
  position: relative;
}
.content-works section:last-child {
  border-bottom: none;
}
.content-works .works-title {
  font-weight: 500;
  font-family: shippori-mincho, sans-serif;
  font-style: normal;
  font-size: 1rem;
  margin-bottom: 3rem;
}
.content-works .works-subtitle {
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
  font-size: 1.5rem;
  margin-bottom: 3rem;
}
.content-works .video-block {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.content-works .video-block video {
  width: 100%;
  height: 101%;
  -o-object-fit: cover;
     object-fit: cover;
}
.content-works #work-list {
  padding-left: 0;
  padding-right: 0;
  background-color: var(--apt-color-background-primary);
}
.content-works #work-list .video-block {
  margin-top: 4rem;
  margin-bottom: 2rem;
}
.content-works .work-group {
  padding-top: 3rem;
  padding-bottom: 2rem;
}
.content-works .work-group .info-block {
  mix-blend-mode: difference;
  color: var(--apt-color-text-light);
  padding: 1rem 8% 0;
  max-width: 38rem;
}
.content-works .work-group .info-block .title {
  font-weight: 400;
  font-family: sans-serif;
  font-style: normal;
  line-height: 1.5;
  font-size: 1.125rem;
  text-transform: uppercase;
}
.content-works .work-group .info-block .description {
  font-size: 0.75rem;
  line-height: 1.5;
  text-transform: uppercase;
  padding-top: 1rem;
}
.content-works .slider-block {
  position: relative;
  padding: 0 8%;
}
.content-works .work-slider .slider-item {
  cursor: pointer;
}
.content-works .work-slider .image-block {
  aspect-ratio: 3/2;
}
.content-works .work-slider .image-block img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.content-works .work-collection-data {
  display: none;
}

@media screen and (min-width: 768px) {
  .content-works .works-subtitle {
    font-size: 1.75rem;
  }
  .content-works #work-list .video-block {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
  .content-works .work-group {
    padding-top: 4rem;
    padding-bottom: 2rem;
  }
  .content-works .work-group .info-block {
    position: relative;
    z-index: 1;
    top: -3rem;
    padding: 0 3rem;
  }
  .content-works .work-group .info-block .title {
    font-size: 1.875rem;
  }
  .content-works .work-group .info-block .description {
    padding-top: 2rem;
    font-size: 1rem;
  }
  .content-works .slider-block {
    padding: 0 10%;
  }
}
@media screen and (min-width: 900px) {
  .content-works section {
    padding: 0 var(--apt-spacing-side-desktop) 4rem;
  }
}
@media screen and (min-width: 1100px) {
  .content-works .works-title {
    writing-mode: vertical-rl;
    position: absolute;
    margin: 0;
    top: 0.75rem;
    left: 0;
    letter-spacing: 0.08em;
  }
}
/* CONTACT */
.content-contact .hentry {
  margin-top: 0;
}
.content-contact .entry-content {
  margin-top: 0;
}
.content-contact .wrap {
  max-width: 80rem;
}
.content-contact .wrap-thin {
  padding: 0;
  max-width: 39rem;
  margin: 0 auto;
}
.content-contact .lede {
  color: var(--apt-color-text-primary);
  margin-top: 2.5rem;
  font-size: 0.875rem;
  line-height: 2;
}
.content-contact .lede a {
  text-decoration: underline;
}
.content-contact .lede .note {
  font-size: 0.75rem;
  color: var(--apt-color-text-primary);
  margin-bottom: 0;
}
.content-contact .lede ul {
  list-style: none;
  padding: 0;
  margin-top: 0.5rem;
}
.content-contact .lede ul li {
  line-height: 1.5;
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
}
.content-contact .lede ul li:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

#contact-form {
  margin-bottom: 40px;
}

/* contact form 7 */
.wpcf7-form {
  padding-top: 2rem;
}

.contact-form-inner {
  position: relative;
  color: var(--apt-color-text-primary);
}
.contact-form-inner .form-title-block {
  padding: 1rem 0;
}
.contact-form-inner .form-title-block h1 {
  text-align: center;
  font-size: 1.25rem;
}
.contact-form-inner .form-title-block h2, .contact-form-inner .form-title-block h3 {
  text-align: center;
  font-size: 1rem;
}
.contact-form-inner .form-title-block .divider {
  width: 30%;
  max-width: 9rem;
  display: block;
  margin: 0 auto 2rem;
}
.contact-form-inner .form-group {
  margin-bottom: 3rem;
}
.contact-form-inner .form-label {
  letter-spacing: 0;
  margin-bottom: 0.5rem;
}
.contact-form-inner .form-label span {
  font-size: 0.875rem;
  display: inline-block;
}
.contact-form-inner .form-label.large {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
.contact-form-inner .form-label--second {
  color: #000;
  padding-bottom: 0.5rem;
}
.contact-form-inner .form-required {
  color: var(--apt-color-notice);
}
.contact-form-inner .form-item {
  margin-bottom: 2rem;
}
.contact-form-inner .form-item p {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.8;
  margin: 0.5rem 0;
}
.contact-form-inner .form-item .sublabel {
  margin-bottom: 5px;
}
.contact-form-inner .form-item--second {
  margin-top: -0.5rem;
}
.contact-form-inner .form-2col {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.contact-form-inner .form-2col .form-item {
  width: 49%;
}
.contact-form-inner .form-2col .label-2col {
  width: 100%;
}
.contact-form-inner .form-item.no-margin-bottom {
  margin-bottom: 0.5rem;
}
.contact-form-inner .note {
  font-size: 0.8125rem;
  margin-bottom: 2rem;
  color: var(--apt-color-text-primary);
}
.contact-form-inner .form-email-confirm {
  padding-top: 0.5rem;
}
.contact-form-inner .form-subitem {
  margin-bottom: 20px;
}
.contact-form-inner .form-subitem:last-child {
  margin-bottom: 0;
}
.contact-form-inner .form-item-multi {
  display: flex;
}
.contact-form-inner .form-item-multi span {
  display: inline-block;
  min-width: 2.25rem;
}
.contact-form-inner .form-multiple {
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.contact-form-inner .input--second {
  padding-top: 1rem;
}
.contact-form-inner select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}
.contact-form-inner .form-item-radio--horizon .form-right {
  display: flex;
  flex-wrap: wrap;
}
.contact-form-inner .form-item-radio--horizon .form-right label {
  display: flex;
  align-items: center;
  width: auto;
}
.contact-form-inner .form-item-birth .form-right {
  display: flex;
  align-items: center;
}
.contact-form-inner .form-item-birth .form-right span {
  min-width: 4rem;
  margin-left: 0.5rem;
  margin-right: 0.25rem;
}
.contact-form-inner .form-item-birth .form-right span:first-of-type {
  margin-left: 0;
  min-width: 5rem;
}
.contact-form-inner .form-item-birth .form-right label {
  margin: 0;
  padding: 0 0.25rem 0 0;
}
.contact-form-inner .form-item-multi-select .form-right {
  display: flex;
  align-items: center;
}
.contact-form-inner .form-item-multi-select .form-right span {
  min-width: 6rem;
}
.contact-form-inner .form-item-multi-select .form-right label {
  margin: 0;
  padding: 0 0.25rem 0 0;
}
.contact-form-inner .form-item-multi-select .form-right .form-text {
  min-width: 0;
  padding: 0 0.25rem;
}
.contact-form-inner .form-item-privacy {
  margin-bottom: 10px;
}
.contact-form-inner .privacylink {
  font-size: 13px;
  font-weight: bold;
}
.contact-form-inner .form-item-confirm {
  overflow: hidden;
  float: right;
}
.contact-form-inner .form-item-back {
  overflow: hidden;
  font-size: 16px;
  float: left;
  margin: 0;
}
.contact-form-inner .form-item-back input {
  background: #fff;
  color: var(--apt-color-text-primary);
}
.contact-form-inner .form-item-back input:hover {
  background: #fff;
}
.contact-form-inner .form-submit-button-block {
  overflow: hidden;
}
.contact-form-inner .form-item-submit, .contact-form-inner .form-item-confirm {
  width: 15rem;
  max-width: 100%;
  position: relative;
  margin: 4rem 0 2rem auto;
}
.contact-form-inner .form-item-submit input, .contact-form-inner .form-item-confirm input {
  width: 100%;
  font-size: 0.875rem;
  font-weight: normal;
  color: var(--apt-color-text-light);
  background-color: var(--apt-color-text-primary);
  border: 1px solid;
  padding: 0;
}
.contact-form-inner .form-item-submit input:hover, .contact-form-inner .form-item-confirm input:hover {
  color: var(--apt-color-primary);
  background-color: transparent;
}
.contact-form-inner .form-item-submit .ajax-loader, .contact-form-inner .form-item-submit .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 0;
  margin: 0;
  width: 1.25rem;
  height: 1.25rem;
  transform: translate(-50%, -50%);
  background-color: var(--apt-color-red);
  opacity: 1;
}
.contact-form-inner .form-item-submit .ajax-loader:before, .contact-form-inner .form-item-submit .wpcf7-spinner:before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  transform-origin: center;
}
.contact-form-inner .form-item-confirm {
  z-index: 10;
}
.contact-form-inner .wpcf7-list-item {
  display: flex;
  margin: 0 0 0.5rem;
  align-items: center;
}
.contact-form-inner .wpcf7-list-item label {
  margin-bottom: 0;
}
.contact-form-inner .wpcf7-list-item input {
  margin-right: 5px;
}
.contact-form-inner .wpcf7-list-item .wpcf7-list-item-label {
  font-weight: normal;
  line-height: 1.4;
}
.contact-form-inner .wpcf7-list-item.has-free-text {
  flex-wrap: wrap;
}
.contact-form-inner .wpcf7-list-item.has-free-text .wpcf7-free-text {
  display: block;
  margin: 0.5rem 0 0.5rem 1.5rem;
}
.contact-form-inner .form-item-accept > label {
  width: 100%;
  display: flex;
}
.contact-form-inner .form-item-accept .acceptance-this {
  display: inline-block;
}
.contact-form-inner .form-item-accept .wpcf7-list-item {
  margin: 0.4375rem 0 0;
}
.contact-form-inner .form-item-accept .wpcf7-list-item input {
  margin-right: 0.5rem;
}
.contact-form-inner .wpcf7-submit[disabled], .contact-form-inner .wpcf7-confirm[disabled] {
  color: var(--apt-color-text-disabled);
  cursor: default;
}
.contact-form-inner .wpcf7-submit[disabled]:hover, .contact-form-inner .wpcf7-confirm[disabled]:hover {
  background: transparent;
  color: var(--apt-color-text-disabled);
}
.contact-form-inner .wpcf7-not-valid-tip {
  color: var(--apt-color-notice);
  font-size: 0.75rem;
  padding: 0.375rem 0.625rem;
  font-weight: bold;
  background-color: rgb(var(--apt-color-notice-rgb)/0.06);
  line-height: 1.4;
}
.contact-form-inner textarea + .wpcf7-not-valid-tip {
  margin-top: -0.5rem;
}
.contact-form-inner input[readonly], .contact-form-inner textarea[readonly], .contact-form-inner select[disabled] {
  background: 0;
  border: 0;
  padding: 0;
  -webkit-appearance: none;
  outline: none;
}
.contact-form-inner .wpcf7-checkbox .wpcf7-list-item label, .contact-form-inner .acceptance-this label {
  display: inline-block;
  cursor: pointer;
  padding: 0.25rem 0 0.25rem 0;
  vertical-align: middle;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}
.contact-form-inner .wpcf7-checkbox .wpcf7-list-item label span, .contact-form-inner .acceptance-this label span {
  vertical-align: middle;
  padding-left: 24px;
  position: relative;
  display: block;
}
.contact-form-inner .wpcf7-checkbox .wpcf7-list-item label span:before, .contact-form-inner .acceptance-this label span:before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  border: 1px solid var(--apt-color-text-primary);
}
.contact-form-inner .wpcf7-checkbox .wpcf7-list-item input[type=checkbox], .contact-form-inner .acceptance-this input[type=checkbox] {
  position: absolute;
  left: -20px;
}
.contact-form-inner .wpcf7-checkbox .wpcf7-list-item input[type=checkbox]:checked + span:before, .contact-form-inner .acceptance-this input[type=checkbox]:checked + span:before {
  background: var(--apt-color-text-primary);
}
.contact-form-inner .wpcf7-checkbox .wpcf7-list-item input[type=checkbox]:checked + span:after, .contact-form-inner .acceptance-this input[type=checkbox]:checked + span:after {
  content: "";
  display: block;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  position: absolute;
  top: 10px;
  left: 6px;
  margin-top: -6px;
}
.contact-form-inner .wpcf7-checkbox .wpcf7-list-item input[type=checkbox][disabled] + span, .contact-form-inner .acceptance-this input[type=checkbox][disabled] + span {
  opacity: 0.5;
}
.contact-form-inner .acceptance-this label span {
  padding-top: 1px;
}
.contact-form-inner .acceptance-this label span a {
  text-decoration: underline;
}
.contact-form-inner .wpcf7-radio .wpcf7-list-item label {
  display: inline-block;
  cursor: pointer;
  padding: 0.25rem 0 0.25rem 0;
  vertical-align: top;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}
.contact-form-inner .wpcf7-radio .wpcf7-list-item label span {
  vertical-align: middle;
  padding-left: 1.5rem;
  position: relative;
  display: block;
}
.contact-form-inner .wpcf7-radio .wpcf7-list-item span:before {
  content: "";
  display: block;
  position: absolute;
  top: 0.125rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  background: #fff;
  border-radius: 50%;
  cursor: pointer;
  border: 1px solid var(--apt-color-text-primary);
}
.contact-form-inner .wpcf7-radio .wpcf7-list-item input[type=radio] {
  position: absolute;
  left: -1.25rem;
}
.contact-form-inner .wpcf7-radio .wpcf7-list-item input[type=radio]:checked + span:before {
  background: var(--apt-color-text-primary);
}
.contact-form-inner .wpcf7-radio .wpcf7-list-item input[type=radio]:checked + span:after {
  content: "";
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  background: #fff;
  position: absolute;
  border-radius: 50%;
  top: 0.4375rem;
  left: 0.3125rem;
}
.contact-form-inner .form-upload-file {
  display: flex;
  align-items: center;
  padding-bottom: 0.625rem;
  position: relative;
}
.contact-form-inner .form-upload-file label.upload-file {
  margin-bottom: 0;
}
.contact-form-inner .form-upload-file label.upload-file .btn-upload {
  display: block;
  cursor: pointer;
  color: #fff;
  background-color: var(--apt-color-text-primary);
  font-size: 0.8125rem;
  padding: 6px 0;
  width: 100px;
  text-align: center;
  margin-right: 0.9375rem;
  transition: opacity 0.4s ease;
  border-radius: 0.25rem;
}
.contact-form-inner .form-upload-file label.upload-file .btn-upload:hover {
  opacity: 0.7;
}
.contact-form-inner .form-upload-file label.upload-file.selected .btn-upload {
  opacity: 0.7;
}
.contact-form-inner .form-upload-file .file-name {
  font-size: 0.875rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0.75rem 0;
  font-weight: 400;
}
.contact-form-inner .form-upload-file .wpcf7-form-control-wrap {
  width: 100%;
  position: absolute;
  visibility: hidden;
}

.step-confirm-content {
  display: none;
}
.step-confirm-content.message-confirm {
  border-bottom: 1px solid var(--apt-color-border-secondary);
  padding: 2.5rem 0;
  margin-bottom: 2.5rem;
}
.step-confirm-content.message-confirm h3 {
  font-weight: normal;
  margin-bottom: 10px;
}
.step-confirm-content.message-confirm p {
  margin: 0;
  font-size: 0.875em;
}

.step-confirm .wpcf7-form {
  overflow: hidden;
}
.step-confirm .step-confirm-content {
  display: block;
}
.step-confirm .hide-step-confirm {
  display: none;
}
.step-confirm table {
  width: 100%;
  font-size: 0.875em;
  border: 0;
}
.step-confirm table tr {
  border: 0;
  background: 0;
}
.step-confirm table tr:nth-child(even) {
  background: 0;
}
.step-confirm table th {
  text-align: left;
  vertical-align: top;
  color: var(--apt-color-text-secondary);
  font-weight: normal;
  width: 100%;
  border: 0;
  background: 0;
  font-size: 1rem;
  display: block;
}
.step-confirm table td {
  vertical-align: top;
  width: 100%;
  font-size: 1rem;
  border: 0;
  background: 0;
  padding: 0 0 2rem;
  display: block;
}
.step-confirm table p {
  margin: 0;
  line-height: 1.8;
}
.step-confirm .wpcf7cp-btns {
  display: flex;
  justify-content: space-between;
  margin-top: 3rem;
}
.step-confirm .wpcf7cp-btns .wpcf7cp-cfm-edit-btn {
  transition: background-color 0.4s ease;
}
.step-confirm .wpcf7cp-btns button {
  min-width: 25%;
  margin: 0;
}
.step-confirm .wpcf7-submit {
  background-color: var(--apt-color-primary);
  border-color: var(--apt-color-primary);
  transition: background-color 0.4s ease, border-color 0.4s ease;
  color: var(--apt-color-text-light);
}
.step-confirm .wpcf7-submit:focus, .step-confirm .wpcf7-submit:hover {
  background-color: var(--apt-color-primary-light);
  border-color: var(--apt-color-primary-light);
}

div#wpcf7cpcnf {
  z-index: 1;
}

.contact-submitting .message-confirm {
  visibility: hidden;
}

.wpcf7cp-progress-cover {
  opacity: 1 !important;
}

.wpcf7cp-progress-content {
  visibility: hidden !important;
}

#cf-loading-indicator {
  display: none;
}

.step-confirm.sent .wpcf7-response-output {
  display: none !important;
}

.wpcf7 div.wpcf7-response-output {
  font-size: 0.875rem;
  font-weight: bold;
  margin: 1.25rem 0;
  padding: 0.75rem 1.25rem;
}

div.wpcf7-mail-sent-ok {
  border: 2px solid #000;
}

div.wpcf7-mail-sent-ng {
  border: 0;
  color: var(--apt-color-notice);
  background-color: rgb(var(--apt-color-notice-rgb)/0.06);
  font-weight: bold;
}

div.wpcf7-spam-blocked {
  border: 0;
  color: var(--apt-color-notice);
  background-color: rgb(var(--apt-color-notice-rgb)/0.06);
}

div.wpcf7-validation-errors {
  border: 0;
  color: var(--apt-color-notice);
  background-color: rgb(var(--apt-color-notice-rgb)/0.06);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  border: 0;
  color: var(--apt-color-notice);
  background-color: rgb(var(--apt-color-notice-rgb)/0.06);
}

.terms-wrapper {
  margin-bottom: 2rem;
  position: relative;
  font-size: 0.75rem;
  padding: 1rem;
  border: 2px solid var(--apt-color-text-primary);
  height: 15rem;
  overflow: auto;
  color: #000;
  word-break: break-all;
}
.terms-wrapper h3 {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  border: none;
  font-weight: bold;
  text-align: center;
}
.terms-wrapper h4 {
  margin: 1.5rem 0 1rem;
  font-size: 0.875rem;
}
.terms-wrapper p {
  line-height: 1.8;
  margin-bottom: 1rem !important;
}
.terms-wrapper a {
  color: var(--apt-color-text-primary);
  border-bottom: 1px solid var(--apt-color-text-primary);
  margin-bottom: 1rem;
}
.terms-wrapper ul li, .terms-wrapper ol li {
  line-height: 1.8;
}
.terms-wrapper dl dt {
  margin-bottom: 0.25rem;
}
.terms-wrapper dl dd {
  line-height: 1.8;
  margin-bottom: 2rem;
}
.terms-wrapper .wrap-thin {
  padding: 0;
}

/* thanks */
#contact-thanks {
  display: none;
  padding: 5rem 0;
  min-height: 15rem;
}

#contact-thanks p {
  font-size: 0.875rem;
  margin-bottom: 0.625rem;
}

#contact-thanks .title {
  font-size: 1.125rem;
  margin-bottom: 1rem;
  line-height: 1.4;
}

.sent .form-inner {
  display: none;
}

@media screen and (min-width: 768px) {
  .wpcf7-form {
    padding-top: 2rem;
  }
  .contact-form-inner .form-subitem {
    display: flex;
    flex-wrap: wrap;
  }
  .contact-form-inner .form-subitem > span:first-child {
    width: 20%;
  }
  .contact-form-inner .form-subitem > span:last-child {
    width: 80%;
  }
  .contact-form-inner .form-item-submit, .contact-form-inner .form-item-confirm {
    width: 15rem;
  }
  .contact-form-inner .form-item-submit input, .contact-form-inner .form-item-confirm input {
    height: 3rem;
    font-size: 0.9375rem;
  }
  .step-confirm table th {
    width: 30%;
    padding: 0 1rem 2rem 0;
    display: table-cell;
  }
  .step-confirm table td {
    width: 70%;
    display: table-cell;
  }
  #contact-thanks {
    padding: 8rem 0;
  }
}
.page-template-product #content {
  padding-bottom: 0;
}

.content-product {
  position: relative;
}
.content-product .wrap {
  max-width: 80rem;
}
.content-product .wrap-thin {
  max-width: 50rem;
}
.content-product section {
  padding: 4rem var(--apt-spacing-side-mobile);
  position: relative;
}
.content-product section:last-child {
  border-bottom: none;
}
.content-product .section-title {
  padding-top: 1rem;
}
.content-product #sidebar-last {
  font-family: "Courier New", serif;
  padding-top: 0;
}
.content-product #sidebar-last .buy-image {
  display: flex;
  align-items: center;
  padding: 0 8%;
  margin-bottom: 3rem;
}
.content-product #sidebar-last .buy-image img {
  max-width: 10rem;
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.content-product #sidebar-last .product-name {
  font-weight: bold;
  font-size: 1.25rem;
  text-align: center;
  margin-bottom: 0.25rem;
}
.content-product #sidebar-last .price {
  font-weight: bold;
  font-size: 1.25rem;
  text-align: center;
  margin-bottom: 0;
}
.content-product #sidebar-last .buy-button {
  margin: 3rem auto 0;
}
.content-product #detail .product-detail .heading {
  margin: 0 0 0.75rem 0;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--apt-wk-color-border-base, #a2a9b1);
}
.content-product #detail .product-detail .heading h2 {
  font-weight: normal;
  line-height: 1.375;
  font-size: 1.5rem;
  margin: 0;
}
.content-product #detail .product-detail p {
  margin: 0.5rem 0 1rem;
  font-size: 1rem;
}
.content-product .buy-button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  max-width: 15rem;
}
.content-product .buy-button img {
  width: 100%;
  height: auto;
  display: block;
}
.content-product .buy-button div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.25rem;
  font-weight: bold;
  color: #fff;
}
.content-product .product-image {
  max-width: 50rem;
  margin: 0 auto;
  height: calc(100vh - 11rem);
  max-height: min(50rem, 100vw - var(--apt-spacing-side-mobile) * 2);
}
.content-product .product-image img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 900px) {
  .content-product section {
    padding: 6rem var(--apt-spacing-side-desktop);
  }
}
@media screen and (min-width: 1100px) {
  .content-product .site-main {
    display: grid;
    grid-template: -webkit-min-content -webkit-min-content -webkit-min-content 1fr/minmax(0, 59.25rem) -webkit-min-content;
    grid-template: min-content min-content min-content 1fr/minmax(0, 59.25rem) min-content;
    grid-template-areas: "productImage sidebarLast" "productImageSub sidebarLast" "productDetail sidebarLast";
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .content-product #product-image {
    grid-area: productImage;
    padding: 0 0 6rem;
  }
  .content-product #product-image-sub {
    grid-area: productImageSub;
    padding: 0 0 6rem;
  }
  .content-product #sidebar-last {
    grid-area: sidebarLast;
    padding: 0;
    min-width: 12.5rem;
  }
  .content-product #sidebar-last .sidebar-inner {
    overflow: hidden auto;
    position: sticky;
    top: 1.5rem;
  }
  .content-product #sidebar-last .buy-image {
    margin-bottom: min(10rem, 20vh);
  }
  .content-product #detail {
    grid-area: productDetail;
    padding: 6rem 5% 6rem;
  }
  .content-product #detail .product-detail .heading {
    margin: 0.375rem 0 0.375rem 0;
    padding: 0.75rem 0 0;
  }
  .content-product .product-image {
    height: calc(100vh - 11rem);
    max-height: min(50rem, 51.63vw);
    min-height: 30rem;
  }
}
