@charset "UTF-8";
/*
Theme Name:achromachroma
Theme URI:
Author:achromachroma
Description:achromachromaアクロマクロマは久留米市でデザイン制作を行っています。ロックンロールが大好きなデザイナーが様々なデザインを行っています。
Version:1.0
*/
@import url("css/reset.css");
/*viewport
min320px-max1920px*/
/*===========================
共通スタイル
===========================*/
/* Show Current Templateのテンプレートファイル名、改行しないで表示 */
#wpadminbar .quicklinks .ab-empty-item {
  display: flex !important;
  gap: 10px;
}

body {
  position: relative;
  overscroll-behavior-y: none;
  display: flex;
  flex-direction: column;
  background: rgb(0, 0, 0);
}
body.waiting {
  height: 100%;
  overflow: hidden;
}
body.waiting .inner-header {
  pointer-events: none;
}
body.hidden {
  height: 100%;
  overflow: hidden;
  touch-action: none;
  /* iphone chromeで背景スクロールを防ぐ */
}

/* body.waiting の時に、コンテンツが「素のまま」表示されないようにする */
body.waiting .wrapper {
  visibility: hidden;
  /* または opacity: 0; */
}

/* JavaScriptでwaitingクラスが外れたら、コンテンツが表示される */
body:not(.waiting) .wrapper {
  visibility: visible;
  /* または opacity: 1; */
}

/* JavaScriptでactiveクラスが外れたら、ローディング要素は非表示のアニメーションが始まる */
/* .loading.active は初期状態。アニメーションの開始時にこのクラスを外します。 */
.loading {
  pointer-events: none;
}
.loading .disk .disk_back {
  opacity: 0;
}
.loading.active {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgb(255, 255, 255) 0%, rgb(209, 180, 236) 30%, rgb(224, 103, 172) 60%);
  z-index: 5000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 30px;
  pointer-events: none;
  overflow: hidden;
  overscroll-behavior: none;
}
.loading.active .disk {
  display: flex;
  justify-content: center;
  align-items: center;
}
.loading.active .disk .disk_back {
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-animation: fadeIn 0.15s linear 0.5s forwards;
          animation: fadeIn 0.15s linear 0.5s forwards;
  width: 30%;
  position: relative;
  max-width: 200px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  overflow: hidden;
  /* &::before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: url(images/share/disk_back.png) no-repeat center;
    background-size: contain;
    z-index: 2;
  } */
}
.loading.active .disk .disk_back::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: url(images/share/disk_color.png) no-repeat center;
  background-size: contain;
  z-index: 3;
  animation: spin_op 3s linear 0.5s reverse infinite;
}
.loading.active .disk .disk_label {
  width: 30%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  z-index: 3;
  -webkit-animation: spin 2s linear 0.2s infinite;
          animation: spin 2s linear 0.2s infinite;
  background: url(images/share/disk_label.svg) no-repeat center;
  background-size: contain;
}
.loading.active .disk .disk_paint {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-animation: spin 2s linear 0.2s infinite;
          animation: spin 2s linear 0.2s infinite;
  background: url(images/share/disk_paint.png) no-repeat center, linear-gradient(rgb(255, 255, 255) 0%, rgb(209, 180, 236) 30%, rgb(224, 103, 172) 60%);
  background-size: contain;
}
.loading .graequo {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  position: relative;
  width: 30%;
  height: 100%;
  max-width: 150px;
  max-height: 25px;
}
.loading .graequo .illumi {
  height: 100%;
  -webkit-animation: equalizer 2s ease-in infinite;
          animation: equalizer 2s ease-in infinite;
  transform: scale3d(1, 0, 1);
  opacity: 0;
  transform-origin: center bottom;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px -3px 10px 2px rgba(255, 255, 255, 0.5);
  width: 6%;
}
.loading .graequo .illumi:nth-child(1) {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
.loading .graequo .illumi:nth-child(2) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.loading .graequo .illumi:nth-child(3) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.loading .graequo .illumi:nth-child(4) {
  -webkit-animation-delay: 0.65s;
          animation-delay: 0.65s;
}
.loading .graequo .illumi:nth-child(5) {
  -webkit-animation-delay: 0.15s;
          animation-delay: 0.15s;
}
.loading .graequo .illumi:nth-child(6) {
  -webkit-animation-delay: 0.55s;
          animation-delay: 0.55s;
}
.loading .graequo .illumi:nth-child(7) {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
.loading .graequo .illumi:nth-child(8) {
  -webkit-animation-delay: 0.65s;
          animation-delay: 0.65s;
}

@media (scripting: none) {
  .loading {
    display: none;
  }
  .waiting {
    display: block;
  }
}
/* ページ遷移オーバーレイ風 トップページ専用 */
.overlay {
  display: none;
}

.re_load .overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 3000;
  pointer-events: none;
  transform-origin: left;
}
.re_load .overlay img {
  width: 100%;
  transform: scale3d(1.2, 1.2, 1.2);
  -webkit-animation: scaleZero 1s ease-out forwards;
          animation: scaleZero 1s ease-out forwards;
  transform-origin: center;
}
.re_load::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  background: linear-gradient(225deg, rgb(236, 158, 202) 0%, rgb(209, 180, 236) 30%, rgb(236, 158, 202) 100%);
  height: 100vh;
  z-index: 2000;
}

/* ScrollSmootherを安定させるための呪文 */
#smooth-wrapper {
  overflow: hidden;
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}

#smooth-content {
  width: 100%;
  overflow: visible;
  /* コンテンツがはみ出してもOKにする */
}

html {
  scrollbar-width: none;
  -ms-overflow-style: none;
  font-family: "Fira Sans", "Noto Sans JP", sans-serif;
  font-style: normal;
  scroll-behavior: smooth;
}

html::-webkit-scrollbar {
  display: none;
}

.wrapper {
  display: block;
  max-width: 1920px;
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
  overscroll-behavior-y: none;
}

main {
  margin: 0 auto;
  overflow: hidden;
  height: auto;
}

a,
button {
  cursor: url(images/share/cursor.svg), pointer;
}

.xxxxxxx_l {
  font-size: clamp(3.75rem, -3.5rem + 36.25vw, 40rem);
  font-weight: 800;
  width: auto;
}

.xxxxxx_l {
  font-size: clamp(3.125rem, 2.5rem + 3.13vw, 6.25rem);
  font-weight: 800;
  width: auto;
}

.xxxxx_l {
  font-size: clamp(1.5rem, 0.55rem + 4.75vw, 6.25rem);
  font-weight: 800;
  width: auto;
}

.xxxx_l {
  font-size: clamp(1.875rem, 1.25rem + 3.13vw, 5rem);
  font-weight: 800;
  width: auto;
}

.xxx_l {
  font-size: clamp(1.5rem, 0.925rem + 2.88vw, 4.375rem);
  font-weight: 800;
  width: auto;
}

.xx_l {
  font-size: clamp(1.25rem, 0.875rem + 1.88vw, 3.125rem);
  font-weight: 800;
  width: auto;
}

.midium {
  font-size: clamp(1.125rem, 1rem + 0.63vw, 1.75rem);
  font-weight: 800;
  width: auto;
}

.midium_s {
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  font-weight: 800;
  width: auto;
}

.small {
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  font-weight: 800;
  width: auto;
}

.smaller {
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
  font-weight: 800;
  width: auto;
}

.smallest {
  font-size: clamp(0.625rem, 0.6rem + 0.13vw, 0.75rem);
  font-weight: 800;
  width: auto;
}

.black {
  font-weight: 900 !important;
}

.bolder {
  font-weight: 800 !important;
}

.bold {
  font-weight: 600 !important;
}

.light {
  font-weight: 400 !important;
}

.posiab {
  position: absolute;
  transform: translateZ(0);
}

.new_window {
  padding-right: 1.2em;
  background: url(images/share/new_window.svg) right center no-repeat;
  background-size: 0.8em;
  margin-right: 0.5em;
  display: inline;
}

.inline {
  display: inline !important;
}

/*--------------------
    header
--------------------*/
header {
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 2000;
  will-change: transform;
  transform: translate3d(0, -100px, 0);
  transition: transform 0.5s linear;
  mix-blend-mode: luminosity;
}
header.fixed {
  opacity: 1;
  visibility: visible;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  transition: all 0.5s linear;
  overscroll-behavior: none;
}

.inner-header {
  position: relative;
  z-index: 2000;
  width: 100%;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: 0.5s;
  padding: 0 5%;
}
.inner-header .logomark {
  width: 20%;
  min-width: 200px;
  max-width: 450px;
  will-change: filter;
  filter: contrast(0.1);
}

.hamburger {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2px;
  width: 50px;
  height: 50px;
  transition: all 0.5s;
  border: none;
  background: none;
  -webkit-clip-path: polygon(0 0, 50% 3%, 100% 0, 97% 50%, 100% 100%, 50% 97%, 0 100%, 3% 50%);
          clip-path: polygon(0 0, 50% 3%, 100% 0, 97% 50%, 100% 100%, 50% 97%, 0 100%, 3% 50%);
}
.hamburger:hover, .hamburger:focus {
  background: rgb(0, 0, 0);
}

.hamburger span {
  display: block;
  background: url(images/share/menu.svg) no-repeat center;
  width: 30px;
  height: 8px;
  transition-property: opacity, rotate;
  transition-duration: 0.7s;
  transition: all 1s;
}

.open .hamburger {
  background: rgb(0, 0, 0);
}
.open .hamburger:hover, .open .hamburger:focus {
  background: rgba(0, 0, 0, 0.7);
}

.open .hamburger span:nth-child(1) {
  transform: translateY(10px) rotate(225deg);
}

.open .hamburger span:nth-child(2) {
  opacity: 0;
}

.open .hamburger span:nth-child(3) {
  transform: translateY(-10px) rotate(-225deg);
}

#navi {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  will-change: transform;
  transform: translate3d(0, -120dvh, 0);
  background: url(images/share/net.svg) repeat center top;
  background-size: 30%;
  z-index: 1500;
  width: 100%;
  min-height: 100dvh;
  transition: all 0.5s ease-in-out 0.5s;
}

.global_navi {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  background: linear-gradient(135deg, transparent 0%, rgba(0, 0, 0, 0.7) 20%, rgba(0, 0, 0, 0.8) 30%, rgb(0, 0, 0) 60%);
  mix-blend-mode: lighten;
  box-shadow: 0px 5px 3px 0px rgba(0, 0, 0, 0.7);
  padding: 20px 100px;
  margin: 0 auto;
  overflow-y: scroll;
  scrollbar-width: none;
}
.global_navi::-webkit-scrollbar {
  display: none;
}
.global_navi .menu_logo {
  position: absolute;
  width: 15%;
}
.global_navi .menu_logo a {
  opacity: 0.3;
}
.global_navi .menu_logo a:hover, .global_navi .menu_logo a:focus {
  opacity: 1;
}
.global_navi .main_menu {
  width: auto;
  margin-left: auto;
  z-index: 50;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.global_navi .main_menu li {
  font-size: clamp(1.5rem, 0.55rem + 4.75vw, 6.25rem);
  font-weight: 900;
  width: auto;
  text-align: right;
}
.global_navi .main_menu li a {
  color: rgb(50, 50, 50);
  overflow-wrap: break-word;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.global_navi .main_menu li a span {
  opacity: 0;
  text-align: center;
  width: auto;
  line-height: 80%;
  transform: translate3d(0, -15px, 0);
  transition: all 0.5s linear 0.1s;
}

.sub_menu {
  width: auto;
  position: relative;
  z-index: 50;
}
.sub_menu li {
  font-size: clamp(1.125rem, 1rem + 0.63vw, 1.75rem);
  margin: 0 0 10px 0;
  text-align: left;
  font-weight: 800;
}
.sub_menu li a {
  color: rgb(80, 80, 80);
  overflow-wrap: break-word;
}
.sub_menu li a:hover, .sub_menu li a:focus {
  color: rgb(133, 198, 219);
}

.open #navi {
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s cubic-bezier(0.35, 0.01, 0, 1.37) 0.3s;
  /* メニュー内をスクロール可能にする */
  /* overflow-y: auto; */
  /* 背景へのスクロール連鎖を完全に止める */
  /* overscroll-behavior: contain; */
}
.open #navi .global_navi ul li a span:nth-child(1) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 0.1s, opacity 0.8s ease-in 0.5s, color 0.2s ease-in 0.05s;
}
.open #navi .global_navi ul li a span:nth-child(2) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 0.2s, opacity 0.8s ease-in 0.6s, color 0.2s ease-in 0.1s;
}
.open #navi .global_navi ul li a span:nth-child(3) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 0.3s, opacity 0.8s ease-in 0.7s, color 0.2s ease-in 0.15s;
}
.open #navi .global_navi ul li a span:nth-child(4) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 0.4s, opacity 0.8s ease-in 0.8s, color 0.2s ease-in 0.2s;
}
.open #navi .global_navi ul li a span:nth-child(5) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 0.5s, opacity 0.8s ease-in 0.9s, color 0.2s ease-in 0.25s;
}
.open #navi .global_navi ul li a span:nth-child(6) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 0.6s, opacity 0.8s ease-in 1s, color 0.2s ease-in 0.3s;
}
.open #navi .global_navi ul li a span:nth-child(7) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 0.7s, opacity 0.8s ease-in 1.1s, color 0.2s ease-in 0.35s;
}
.open #navi .global_navi ul li a span:nth-child(8) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 0.8s, opacity 0.8s ease-in 1.2s, color 0.2s ease-in 0.4s;
}
.open #navi .global_navi ul li a span:nth-child(9) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 0.9s, opacity 0.8s ease-in 1.3s, color 0.2s ease-in 0.45s;
}
.open #navi .global_navi ul li a span:nth-child(10) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 1s, opacity 0.8s ease-in 1.4s, color 0.2s ease-in 0.5s;
}
.open #navi .global_navi ul li a span:nth-child(11) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 1.1s, opacity 0.8s ease-in 1.5s, color 0.2s ease-in 0.55s;
}
.open #navi .global_navi ul li a span:nth-child(12) {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: transform 1.2s ease-in 1.2s, opacity 0.8s ease-in 1.6s, color 0.2s ease-in 0.6s;
}
.open #navi .global_navi ul li a:hover span, .open #navi .global_navi ul li a:focus span {
  transition: color 0.3s ease-in;
  color: rgb(149, 92, 202);
}
.open #navi .global_navi ul li a:hover span:nth-child(2), .open #navi .global_navi ul li a:focus span:nth-child(2) {
  transition-delay: 0.05s;
}
.open #navi .global_navi ul li a:hover span:nth-child(3), .open #navi .global_navi ul li a:focus span:nth-child(3) {
  transition-delay: 0.1s;
}
.open #navi .global_navi ul li a:hover span:nth-child(4), .open #navi .global_navi ul li a:focus span:nth-child(4) {
  transition-delay: 0.15s;
}
.open #navi .global_navi ul li a:hover span:nth-child(5), .open #navi .global_navi ul li a:focus span:nth-child(5) {
  transition-delay: 0.2s;
}
.open #navi .global_navi ul li a:hover span:nth-child(6), .open #navi .global_navi ul li a:focus span:nth-child(6) {
  transition-delay: 0.25s;
}
.open #navi .global_navi ul li a:hover span:nth-child(7), .open #navi .global_navi ul li a:focus span:nth-child(7) {
  transition-delay: 0.3s;
}
.open #navi .global_navi ul li a:hover span:nth-child(8), .open #navi .global_navi ul li a:focus span:nth-child(8) {
  transition-delay: 0.35s;
}
.open #navi .global_navi ul li a:hover span:nth-child(9), .open #navi .global_navi ul li a:focus span:nth-child(9) {
  transition-delay: 0.4s;
}
.open #navi .global_navi ul li a:hover span:nth-child(10), .open #navi .global_navi ul li a:focus span:nth-child(10) {
  transition-delay: 0.45s;
}
.open #navi .global_navi ul li a:hover span:nth-child(11), .open #navi .global_navi ul li a:focus span:nth-child(11) {
  transition-delay: 0.5s;
}
.open #navi .global_navi ul li a:hover span:nth-child(12), .open #navi .global_navi ul li a:focus span:nth-child(12) {
  transition-delay: 0.55s;
}

/*--------------------
    main
--------------------*/
.wrap {
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  overflow: hidden;
}

.paint_heading {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  min-height: 300vh;
}
.paint_heading .on_paint {
  overflow: hidden;
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 30;
}
.paint_heading .back_paint {
  width: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: auto;
  z-index: 1;
}
.paint_heading .back_message {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 0.25em;
  width: auto;
}
.paint_heading .no_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0 0.25em;
  width: auto;
}
.paint_heading .pin-spacer {
  mix-blend-mode: overlay;
}

.split_txt {
  color: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
}
.split_txt .txts {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.25em;
}

.split_word {
  display: flex;
  justify-content: center;
  width: auto;
}

.split_char {
  width: auto;
}

.split_txt > * {
  width: auto;
}

.small.jp_txt {
  font-weight: 600;
}

.information {
  position: relative;
  z-index: 1;
}

.starsLowSpeed,
.starsHighSpeed {
  position: absolute;
  width: 200%;
  height: 100%;
  z-index: 0;
  mix-blend-mode: screen;
}

.starsLowSpeed {
  left: 0;
  top: 0;
  background: url(images/share/starsLowSpeed.png) right bottom repeat;
  -webkit-animation: starsLowSpeed 25s linear infinite;
          animation: starsLowSpeed 25s linear infinite;
}
.starsLowSpeed.upper_stars {
  left: 10%;
  top: unset;
  bottom: 70%;
  height: 30%;
}

.starsHighSpeed {
  left: 0;
  top: 0;
  background: url(images/share/starsHighSpeed.png) left top repeat;
  -webkit-animation: starsHighSpeed 16s linear infinite;
          animation: starsHighSpeed 16s linear infinite;
}
.starsHighSpeed.upper_stars {
  left: unset;
  right: 10%;
  top: unset;
  bottom: 70%;
  height: 30%;
}

/*--------------------
   footer 
--------------------*/
footer {
  position: relative;
  background: linear-gradient(rgb(161, 24, 168) 0%, rgb(25, 0, 25) 80%, rgb(0, 0, 0) 100%);
  min-height: 100vh;
  margin-top: auto;
}
footer::before {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  top: -5px;
  z-index: -1;
  background: rgb(161, 24, 168);
}
footer::after {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  bottom: -5px;
  z-index: -1;
  background: rgb(0, 0, 0);
}
footer .starsLowSpeed,
footer .starsHighSpeed {
  mix-blend-mode: normal;
}
footer .building {
  display: block;
  height: 70vh;
  width: 100%;
  background: url(images/share/final_building.svg) no-repeat center bottom;
  background-size: contain;
  position: absolute;
  mix-blend-mode: overlay;
  z-index: 5;
  bottom: 0;
  left: 0;
}

.footer_info {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  z-index: 10;
}
.footer_info .final {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  overflow: hidden;
}
.footer_info .final_logo {
  width: 50%;
  z-index: 5;
  transform-origin: center;
}
.footer_info .final_backlight {
  height: 100%;
  width: 50%;
  transform-origin: bottom center;
  will-change: filter;
  filter: drop-shadow(0px 0px 15px rgb(223, 46, 113)) blur(2px);
  bottom: 0%;
  z-index: 1;
  opacity: 0.5;
}
.footer_info .final_backlight .backclip {
  width: 100%;
  height: 100vh;
  background-image: radial-gradient(at 50% 100%, rgb(161, 24, 168) 0%, transparent 60%);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.footer_info .final_midlight {
  height: 100%;
  width: 35%;
  transform-origin: bottom center;
  will-change: filter;
  filter: drop-shadow(0px 0px 15px rgb(223, 46, 113)) blur(2px);
  bottom: 0%;
  z-index: 1;
  opacity: 0.5;
}
.footer_info .final_midlight .midclip {
  width: 100%;
  height: 100%;
  background-image: radial-gradient(at 50% 100%, rgb(149, 92, 202) 0%, transparent 60%);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.footer_info .final_light {
  height: 100%;
  width: 25%;
  transform-origin: bottom center;
  will-change: filter;
  filter: drop-shadow(0px 0px 15px rgb(223, 46, 113)) blur(2px);
  bottom: 0%;
  z-index: 1;
  opacity: 0.5;
}
.footer_info .final_light .clip {
  width: 100%;
  height: 100%;
  background-image: radial-gradient(at 50% 100%, rgb(223, 46, 113) 0%, transparent 60%);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
          clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.final_txt {
  color: rgb(25, 0, 25);
  overflow: hidden;
  width: auto;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  z-index: 5;
  bottom: 0;
  mix-blend-mode: darken;
}
.final_txt .last_navi {
  margin-bottom: 35px;
}
.final_txt .last_navi ul {
  display: flex;
  justify-content: center;
  gap: 20px;
  align-items: center;
}
.final_txt .last_navi ul li {
  font-size: clamp(1.125rem, 1rem + 0.63vw, 1.75rem);
  font-weight: 800;
  width: auto;
}
.final_txt .last_navi ul li a {
  color: rgb(25, 0, 25);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.final_txt .last_navi ul li a:hover, .final_txt .last_navi ul li a:focus {
  transition: color 0.3s ease-in;
  color: rgb(255, 255, 255);
}
.final_txt .last_navi .mainnav {
  margin-bottom: 20px;
}
.final_txt .last_navi .subnav {
  width: auto;
}
.final_txt .last_navi .subnav li {
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
}
.final_txt .last_navi .subnav a {
  gap: 0.25em;
}
.final_txt small {
  font-weight: 800;
  display: flex;
  width: auto;
  align-items: center;
  justify-content: center;
}
.final_txt small .split_char:nth-child(1) {
  text-box-trim: trim-start;
}
.final_txt .split_txt {
  color: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: auto;
}
.final_txt .split_txt .txts {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.25em;
}
.final_txt .split_txt > * {
  width: auto;
}
.final_txt .place {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-bottom: 10px;
}
.final_txt .day_hours {
  margin-bottom: 20px;
  width: auto;
}
.final_txt .day_hours_item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  margin-bottom: 5px;
}
.final_txt .day_hours_item .day_hours_list {
  width: auto;
  font-weight: 600;
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
  display: flex;
  gap: 5px;
}
.final_txt .day_hours_item .day_hours_header {
  font-weight: 800;
}
.final_txt .copy {
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
}

.corner_guitarist {
  right: 0;
  bottom: 0;
  width: auto;
  z-index: 3;
  mix-blend-mode: difference;
}
.corner_guitarist img {
  width: auto;
  height: 70vh;
}

/*--------------------
    汎用ボタン
--------------------*/
.universal_menu {
  visibility: hidden;
  opacity: 0;
  display: flex;
  align-items: center;
  width: auto;
  height: 100dvh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
}

.universal_menu.show_btn {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}

#universal_btn {
  opacity: 0;
  transition: opacity 0.1s ease-in-out;
  cursor: url(images/share/cursor.svg), pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  max-width: 60px;
  aspect-ratio: 1/1;
  transition: all 0.5s;
  border: none;
  border-radius: 50%;
  position: fixed;
  right: -30px;
  top: calc(50dvh - 30px);
  z-index: 300;
}

/* クラスが付与された時の状態（フェードインして表示） */
.show_btn #universal_btn {
  opacity: 1;
  transition: opacity 1.5s ease-in-out;
}

.arrow_btn {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  transition: all 0.5s;
  background: none;
  border: none;
  outline: none;
}
.arrow_btn span {
  display: block;
  background: url(images/share/universal_arrow.svg) no-repeat center;
  background-size: 100%;
  width: 55%;
  aspect-ratio: 8/5;
  transition: transform 0.75s ease-in-out 0.3s;
  transform-origin: center;
}

.rolling {
  position: absolute;
  z-index: 1;
  width: 100%;
  max-width: 60px;
  aspect-ratio: 1/1;
}

.rolling_text {
  overflow: visible;
  -webkit-animation: spin 18s linear infinite;
          animation: spin 18s linear infinite;
}
.rolling_text .circle {
  fill: none;
}
.rolling_text .loop_txt {
  fill: rgb(190, 190, 190);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
}

/* .open .cross_btn {
  background: $color-blk;

  &:hover {
    background: $color-blk-op7;
  }
} */
.open .arrow_btn span {
  transform: rotate3d(0, 1, 0, 180deg);
  background-position: center right;
  transition: transform 0.75s ease-in-out 0.3s;
  transform-origin: center;
}

.universal_nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: fixed;
  top: 0;
  left: 0;
  will-change: transform;
  transform: translate3d(100vw, 0, 0);
  background: url(images/share/net.svg) repeat center top;
  background-size: 30%;
  z-index: 200;
  width: 100%;
  mix-blend-mode: luminosity;
  min-height: 100dvh;
  visibility: hidden;
  transition: all 0.75s ease-in-out 0.25s;
}
.universal_nav h2 {
  color: rgb(128, 128, 128);
  text-align: center;
}

.menu_list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 50px;
  align-items: center;
  position: relative;
  min-width: 50vw;
  width: auto;
  height: 100dvh;
  background: linear-gradient(135deg, transparent 0%, rgba(0, 0, 0, 0.7) 20%, rgba(0, 0, 0, 0.8) 30%, rgb(0, 0, 0) 60%);
  mix-blend-mode: lighten;
  box-shadow: 0px 5px 3px 0px rgba(0, 0, 0, 0.7);
  padding: 20px 100px;
  overflow-y: scroll;
  scrollbar-width: none;
}
.menu_list::-webkit-scrollbar {
  display: none;
}
.menu_list ul {
  width: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 10px 0;
}
.menu_list li {
  font-size: clamp(1.5rem, 0.55rem + 4.75vw, 6.25rem);
  font-weight: 800;
  width: auto;
  opacity: 0;
  transform: translate3d(10%, 0, 0);
}
.menu_list li:nth-child(1) {
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}
.menu_list li:nth-child(2) {
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}
.menu_list li:nth-child(3) {
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}
.menu_list li a {
  text-align: right;
  color: rgb(128, 128, 128);
  overflow-wrap: break-word;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
}
.menu_list li a:hover {
  color: rgb(149, 92, 202);
}
.menu_list li a span {
  text-align: center;
  width: auto;
  transition: all 0.3s linear 0.1s;
}

.open .universal_nav {
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s cubic-bezier(0.35, 0.01, 0, 1.37) 0.3s;
  visibility: visible;
  /* メニュー内をスクロール可能にする */
  /* overflow-y: auto; */
  /* 背景へのスクロール連鎖を完全に止める */
  /* overscroll-behavior: contain; */
}

.open .menu_list ul li {
  font-size: clamp(1.5rem, 0.55rem + 4.75vw, 6.25rem);
  font-weight: 800;
  width: auto;
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.open .menu_list ul li:nth-child(1) {
  transition: opacity 1s ease-in-out 0.3s, transform 1s ease-in-out 0.1s;
}
.open .menu_list ul li:nth-child(2) {
  transition: opacity 1s ease-in-out 0.4s, transform 1s ease-in-out 0.2s;
}
.open .menu_list ul li:nth-child(3) {
  transition: opacity 1s ease-in-out 0.5s, transform 1s ease-in-out 0.3s;
}
.open .menu_list ul li a {
  opacity: 1;
  text-align: right;
  color: rgb(128, 128, 128);
  overflow-wrap: break-word;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
}
.open .menu_list ul li a:hover {
  color: rgb(149, 92, 202);
}

/*===========================
トップ
===========================*/
/*--------------------
topアイキャッチ
--------------------*/
.eyeCatch {
  position: relative;
}
.eyeCatch::before {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  bottom: -5px;
  z-index: -1;
  background: rgb(224, 103, 172);
}

.deep {
  height: 150vh;
  width: 100%;
  position: relative;
  overscroll-behavior: none;
  transform: translateZ(0);
  background: linear-gradient(rgb(255, 255, 255) 0%, rgb(209, 180, 236) 30%, rgb(224, 103, 172) 60%);
}
.deep .starsLowSpeed,
.deep .starsHighSpeed {
  top: unset;
  bottom: 0;
  height: 75%;
}

.wrap_3d {
  display: flex;
  height: 100dvh;
  width: 100%;
  justify-content: center;
  align-items: center;
  overflow: visible;
  position: relative;
  overscroll-behavior: none;
}
.wrap_3d .deep_back_logo {
  width: 80%;
  z-index: 1;
  margin: 0 auto;
  filter: drop-shadow(0px -2px 3px rgb(224, 103, 172)) drop-shadow(-5px 0px 35px rgb(223, 46, 113)) drop-shadow(10px 0px 5px rgb(149, 92, 202));
  will-change: filter;
}
.wrap_3d .deep_back_logoEdge {
  margin: 0 auto;
  transform-origin: bottom center;
  z-index: 70;
}
.wrap_3d .deep_light {
  height: 100%;
  width: 25%;
  transform-origin: top center;
  will-change: filter;
  filter: drop-shadow(0px 0px 15px rgb(224, 103, 172)) blur(2px);
  left: 37.5%;
  top: -10%;
  z-index: 3;
  mix-blend-mode: hard-light;
}
.wrap_3d .deep_light .clip {
  background: radial-gradient(ellipse 100% 100% at 50% 0%, rgb(236, 136, 193) 10%, rgb(236, 158, 202) 70%, transparent 90%);
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
          clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  filter: blur(50px);
}
.wrap_3d .deep_light_final {
  height: 100%;
  width: 25%;
  transform-origin: top center;
  will-change: filter;
  filter: drop-shadow(0px 0px 15px rgb(224, 103, 172)) blur(2px);
  left: 37.5%;
  top: -10%;
  z-index: 45;
  mix-blend-mode: hard-light;
}
.wrap_3d .deep_light_final .clip {
  background: radial-gradient(ellipse 100% 100% at 50% 0%, rgb(236, 136, 193) 10%, rgb(236, 158, 202) 70%, transparent 90%);
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
          clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  filter: blur(50px);
}
.wrap_3d .deep_item .clip {
  display: block;
  height: 100%;
  width: 100%;
}
.wrap_3d .deep_guitarist_dark {
  width: auto;
  height: 105vh;
  top: 15%;
  z-index: 1;
  mix-blend-mode: hard-light;
}
.wrap_3d .deep_guitarist_dark img {
  height: 100%;
  width: auto;
}
.wrap_3d .deep_guitarist_silhouette {
  width: auto;
  height: 105vh;
  top: 15%;
  z-index: 50;
  mix-blend-mode: hard-light;
}
.wrap_3d .deep_guitarist_silhouette img {
  height: 100%;
  width: auto;
}
.wrap_3d .deep_paint {
  mix-blend-mode: normal;
  will-change: transform;
}
.wrap_3d .deep_paint_blk {
  width: 55%;
  left: 15%;
  bottom: -15%;
  z-index: 20;
  mix-blend-mode: soft-light;
}
.wrap_3d .deep_paint_wht {
  width: 50%;
  right: 20%;
  top: -10%;
  z-index: 21;
  mix-blend-mode: overlay;
  opacity: 0.5;
}
.wrap_3d .deep_paint_pur {
  width: 45%;
  left: -5%;
  top: -10%;
  z-index: 22;
}
.wrap_3d .deep_paint_org {
  width: 60%;
  right: -5%;
  bottom: -40%;
  z-index: 23;
}
.wrap_3d .deep_paint_blu {
  width: 45%;
  right: 5%;
  top: -10%;
  z-index: 24;
}
.wrap_3d .deep_paint_grn {
  width: 50%;
  left: 0%;
  bottom: -35%;
  z-index: 25;
}
.wrap_3d .deep_paint_ylw {
  width: 50%;
  left: 10%;
  top: -5%;
  z-index: 26;
}
.wrap_3d .deep_paint_pnk {
  width: 75%;
  left: 15%;
  bottom: -50%;
  z-index: 27;
}
.wrap_3d .deep_brush_01 {
  transform: rotate3d(0, 0, 1, -15deg);
  transform-origin: left;
  left: -50%;
  bottom: -50%;
  z-index: 40;
  width: 100%;
  height: 100%;
  background: url(images/top/multi_brush.svg) right top repeat;
  background-size: cover;
  overflow: hidden;
}
.wrap_3d .deep_brush_02 {
  transform: rotate3d(0, 0, 1, -15deg);
  transform-origin: right;
  right: -50%;
  top: -50%;
  z-index: 40;
  width: 100%;
  height: 100%;
  background: url(images/top/multi_brush.svg) left bottom repeat;
  background-size: cover;
  overflow: hidden;
}
.wrap_3d .deep_amp {
  mix-blend-mode: overlay;
  will-change: filter;
  filter: hue-rotate(150deg);
}
.wrap_3d .deep_amp::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(images/share/net.svg) repeat center;
  background-size: 30%;
}
.wrap_3d .deep_amp_rightL {
  right: 10%;
  top: 0%;
  z-index: 35;
  width: 25%;
  padding: 30px;
  transform: rotate3d(0, 0, 1, -15deg);
}
.wrap_3d .deep_amp_leftL {
  left: 5%;
  bottom: 5%;
  z-index: 35;
  width: 35%;
  padding: 50px;
  transform: rotate3d(0, 0, 1, 15deg);
}
.wrap_3d .deep_guitarist {
  width: auto;
  height: 105vh;
  top: 15%;
  z-index: 60;
}
.wrap_3d .deep_guitarist img {
  height: 100%;
  width: auto;
}

/*--------------------
横スクロール
--------------------*/
.hybrid::after {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  bottom: -5px;
  z-index: -1;
  background: rgb(250, 217, 236);
}
.hybrid .paint_heading {
  background: linear-gradient(rgb(224, 103, 172) 20%, rgb(236, 136, 193) 50%, rgb(236, 158, 202) 90%);
}
.hybrid .paint_heading::after {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  bottom: -5px;
  z-index: -1;
  background: rgb(236, 158, 202);
}

/*横スクロール*/
.slide {
  margin: 0 auto;
  background: linear-gradient(rgb(236, 158, 202) 35%, rgb(250, 217, 236) 100%);
}
.slide .inner_slide {
  display: flex;
  flex-wrap: nowrap;
  width: 400vw;
  height: 100vh;
  margin: 0 auto;
}
.slide .slide_road {
  display: block;
  height: 20vh;
  width: 100%;
  background: url(images/top/slide_road.png) repeat-x left bottom;
  background-size: contain;
  position: absolute;
  z-index: 5;
  bottom: 5vh;
  left: 0;
}
.slide .slide_road_spray {
  display: block;
  width: 100%;
  height: 15vh;
  position: absolute;
  z-index: 10;
  bottom: 8vh;
  left: 0;
  background: url(images/top/slide_road_spray.svg) repeat-x center;
  background-size: contain;
  mix-blend-mode: lighten;
}
.slide .slide_building {
  display: block;
  height: 35vh;
  width: 200%;
  background: url(images/top/slide_building.svg) repeat-x left bottom;
  background-size: contain;
  position: absolute;
  mix-blend-mode: overlay;
  z-index: -1;
  bottom: 60vh;
  left: 0;
}
.slide .slide_town {
  display: block;
  height: 35vh;
  width: 100%;
  background: url(images/top/slide_town.svg) repeat-x left bottom;
  background-size: contain;
  position: absolute;
  mix-blend-mode: soft-light;
  z-index: -1;
  bottom: 25vh;
  left: 0;
}
.slide .slide_wall {
  display: block;
  height: 100vh;
  width: 70%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left bottom;
  position: absolute;
  z-index: -1;
  bottom: 25vh;
}
.slide .slide_wall_wing {
  background-image: url(images/top/slide_wall.png);
  right: 0;
}
.slide .slide_wall_circle {
  background-image: url(images/top/slide_wall_circle.png);
  left: 0%;
}
.slide .slide_wall_curve {
  background-image: url(images/top/slide_wall_curve.png);
  left: 0%;
}
.slide .slide_wall_logo {
  background-image: url(images/top/slide_wall_logo.png);
  left: 0%;
}
.slide .slide_forest {
  display: block;
  height: 50vh;
  width: 200%;
  background: url(images/top/slide_forest.png) repeat-x center bottom;
  background-size: contain;
  position: absolute;
  mix-blend-mode: overlay;
  z-index: -1;
  bottom: 25vh;
  left: 0;
}
.slide .slide_item {
  width: 100vw;
  height: 100vh;
  flex-shrink: 0;
  /* スライドが縮まないように */
  position: relative;
  z-index: 30;
  display: flex;
  justify-content: center;
  align-items: center;
  /* &:last-of-type::before {
    right: -10%;
  } */
}
.slide .slide_item::before {
  content: "";
  display: block;
  height: 100%;
  width: 30%;
  position: absolute;
  bottom: 25vh;
  right: 0;
  background: url(images/top/slide_tree.png) no-repeat center bottom;
  background-size: contain;
  z-index: 10;
}
.slide .slide_item::after {
  content: "";
  display: block;
  height: 100%;
  width: 25%;
  position: absolute;
  bottom: 25vh;
  left: 35%;
  background: url(images/top/slide_tree_wht.png) no-repeat center bottom;
  background-size: contain;
  z-index: -1;
}
.slide .slide_item .split {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0.25em;
}
.slide .txt_set {
  display: flex;
  gap: 20px;
  width: auto;
  align-items: flex-start;
  z-index: 5;
  top: 80%;
  color: rgba(0, 0, 0, 0.7);
}
.slide .txt_set .jp_txt {
  font-weight: 600;
  width: 23em;
}
.slide .txt_set .jp_txt .split_word {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.slide .starsLowSpeed {
  -webkit-animation: starsLowSpeed 25s linear infinite;
          animation: starsLowSpeed 25s linear infinite;
  z-index: -1;
}
.slide .starsHighSpeed {
  -webkit-animation: starsHighSpeed 32s linear infinite;
          animation: starsHighSpeed 32s linear infinite;
  z-index: -1;
}
.slide .slide_image {
  bottom: 25vh;
}
.slide .shop_garage {
  width: 40%;
  left: 0;
}
.slide .shop_clothes {
  width: 50%;
  left: 0%;
}
.slide .shop_neighbour {
  width: 50%;
  right: 0%;
}
.slide .shop_guitar {
  width: 40%;
  left: 0;
}
.slide .shop_restaurant {
  width: 55%;
  right: 0%;
}
.slide .slider_mini {
  width: 30%;
  left: -15%;
  bottom: 20vh;
  z-index: 10;
}
.slide .slider_bentley {
  width: 50%;
  left: -30%;
  bottom: 20vh;
  z-index: 10;
}
.slide .slider_blackcab {
  width: 55%;
  left: -5%;
  bottom: -5vh;
  z-index: 10;
}
.slide .slider_vespa {
  width: 15%;
  left: 50%;
  bottom: 25vh;
  z-index: 10;
}
.slide .shop_club {
  width: 55%;
  right: 0;
}
.slide .shop_gift {
  width: 50%;
  left: -5%;
}

/*--------------------
WEB
--------------------*/
.web_section {
  background: linear-gradient(rgb(250, 217, 236) 0%, rgb(236, 158, 202) 20%, rgb(133, 198, 219) 30%, rgb(223, 46, 113) 70%, rgb(236, 158, 202) 100%);
  /* .pin-spacer {
    mix-blend-mode: difference;
  } */
}
.web_section::after {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  bottom: -5px;
  z-index: -1;
  background: rgb(236, 158, 202);
}
.web_section .paint_heading .pin-spacer {
  mix-blend-mode: overlay;
}

.split_web {
  max-width: 30%;
  width: auto;
  height: auto;
  z-index: 20;
}
.split_web .split_txt {
  height: auto;
  align-items: flex-start;
  color: rgb(60, 0, 60);
}
.split_web .split_txt .heading {
  text-shadow: 10px 10px 3px rgba(0, 0, 0, 0.3);
  margin-bottom: 10px;
}
.split_web .jp_txt {
  width: 20em;
}
.split_web .jp_txt .split_word {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.split_web_01 {
  top: 30%;
  left: 10%;
  z-index: 20;
}

.split_web_02 {
  bottom: 30%;
  right: 10%;
  z-index: 20;
}

.web_paint {
  z-index: -1;
}

.web_paint_01 {
  width: auto;
  left: -15%;
  top: 0;
}
.web_paint_01 img {
  height: 100vh;
  width: auto;
}

.web_paint_02 {
  width: 50%;
  right: -5%;
  bottom: 0;
}

.web_graphic {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.graphic_item {
  height: 80vh;
  width: auto;
  aspect-ratio: 12/25;
  display: flex;
  justify-content: center;
  border-radius: 20px;
  align-items: center;
}

.phone_item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.graphic_phone {
  z-index: 2;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}

.phone_bright {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(60deg, rgb(161, 24, 168) 0%, rgb(224, 103, 172) 30%, rgb(149, 92, 202) 60%, rgb(250, 217, 236) 100%);
  mix-blend-mode: hard-light;
  border-radius: 20px;
  z-index: 10;
}

.phone_browser {
  display: block;
  width: 92%;
  top: 8%;
  z-index: 10;
}

.phone_face {
  width: 100%;
  height: 100%;
  aspect-ratio: 12/25;
}
.phone_face img {
  height: 100%;
}

.phone_side {
  width: 100%;
  height: 100%;
  aspect-ratio: 240/461;
  z-index: 1;
  border-radius: 20px;
  overflow: hidden;
  background: url(images/top/phone_side.png) no-repeat center right;
  background-size: cover;
}

.phone_slider {
  width: 92%;
  top: 15%;
  overflow: hidden;
}

.phone_slider_01 {
  z-index: 3;
}

.phone_slider_02 {
  z-index: 4;
}

.phone_slider_03 {
  z-index: 5;
}

/*--------------------
MORE ABOUT 
FAQページ共通
--------------------*/
.answer_section {
  position: relative;
  background: linear-gradient(rgb(236, 158, 202) 10%, rgb(200, 238, 250) 30%, rgb(133, 198, 219) 50%, rgb(149, 92, 202) 70%, rgb(161, 24, 168) 100%);
}

.talk {
  position: relative;
  z-index: 5;
  width: 100%;
  min-height: 100dvh;
  height: 100dvh;
  /* スクロール中はこの高さで固定されます */
}

.imageL {
  left: 0;
  bottom: 0;
  height: 85%;
  width: auto;
  z-index: 50;
}
.imageL img {
  width: auto;
  height: 100%;
}

.imageR {
  right: 0;
  bottom: 0;
  height: 90%;
  width: auto;
  z-index: 10;
}
.imageR img {
  width: auto;
  height: 100%;
}

/* 最初のパネルだけ表示状態にするためのクラス（JSで制御） */
.faq_item.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.talk-item {
  position: relative;
  width: 100%;
  min-height: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  transform-origin: bottom;
  /* 子要素共通設定 */
}
.talk-item .link_txt {
  padding: 8px 15px;
  border: 1px solid rgb(224, 103, 172);
  border-radius: 30px;
  color: rgb(224, 103, 172);
  font-weight: 800;
  margin-top: 10px;
  display: inline-block;
  width: auto;
  min-width: 60%;
}
.talk-item .link_txt:hover, .talk-item .link_txt:focus {
  border: 1px solid rgb(255, 255, 255);
  background: rgb(255, 255, 255);
  color: rgb(0, 0, 0);
}
.talk-item .q_head,
.talk-item .a_head,
.talk-item .question,
.talk-item .answer,
.talk-item .comment,
.talk-item .image {
  position: absolute;
  /* すべて absolute で制御 */
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  visibility: hidden;
  /* 最初は隠しておく */
}
.talk-item .q_head {
  width: 30%;
  aspect-ratio: 1/1;
  bottom: 25%;
  left: 22.5%;
  z-index: 30;
  background: url(images/top/paint_faq_wht.svg) no-repeat center;
  background-size: contain;
  will-change: transform;
}
.talk-item .q_head::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 45%;
  left: -15%;
  width: 20%;
  transform: rotate3d(0, 0, 1, 50deg);
  aspect-ratio: 1/1;
  background: url(images/top/paint_bubble_wht.svg) no-repeat center;
  background-size: contain;
}
.talk-item .question {
  width: 30%;
  aspect-ratio: 1/1;
  top: 0;
  left: 22.5%;
  z-index: 30;
  background: url(images/top/paint_faq_wht.svg) no-repeat center;
  background-size: contain;
  will-change: transform;
}
.talk-item .question::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 45%;
  left: -15%;
  width: 20%;
  transform: rotate3d(0, 0, 1, 50deg);
  aspect-ratio: 1/1;
  background: url(images/top/paint_bubble_wht.svg) no-repeat center;
  background-size: contain;
}
.talk-item .a_head {
  bottom: 25%;
  right: 22.5%;
  width: 30%;
  z-index: 30;
  aspect-ratio: 1/1;
  background: url(images/top/paint_faq_blk.svg) no-repeat center;
  background-size: contain;
  color: rgb(255, 255, 255);
  will-change: transform;
}
.talk-item .a_head .xxx_l {
  margin-bottom: 10px;
}
.talk-item .a_head::after {
  content: "";
  display: block;
  position: absolute;
  top: 20%;
  right: -15%;
  width: 20%;
  transform: rotate3d(0, 0, 1, -60deg);
  aspect-ratio: 1/1;
  background: url(images/top/paint_bubble_blk.svg) no-repeat center;
  background-size: contain;
}
.talk-item .answer {
  bottom: 25%;
  right: 22.5%;
  width: 30%;
  z-index: 30;
  aspect-ratio: 1/1;
  background: url(images/top/paint_faq_blk.svg) no-repeat center;
  background-size: contain;
  color: rgb(255, 255, 255);
  will-change: transform;
}
.talk-item .answer::after {
  content: "";
  display: block;
  position: absolute;
  top: 20%;
  right: -15%;
  width: 20%;
  transform: rotate3d(0, 0, 1, -60deg);
  aspect-ratio: 1/1;
  background: url(images/top/paint_bubble_blk.svg) no-repeat center;
  background-size: contain;
}
.talk-item .answer2 {
  bottom: 5%;
  right: 20%;
  width: 20%;
  aspect-ratio: 1/1;
  background: url(images/top/paint_faq_blk.svg) no-repeat center;
  background-size: contain;
  color: rgb(255, 255, 255);
}
.talk-item .answer2::after {
  content: "";
  display: block;
  position: absolute;
  top: 20%;
  right: -20%;
  width: 20%;
  transform: rotate3d(0, 0, 1, -75deg);
  aspect-ratio: 1/1;
  background: url(images/top/paint_bubble_blk.svg) no-repeat center;
  background-size: contain;
}
.talk-item .comment {
  bottom: 10%;
  left: 15%;
  z-index: 30;
  width: 20%;
  aspect-ratio: 1/1;
  background: url(images/top/paint_faq_wht.svg) no-repeat center;
  background-size: contain;
  will-change: transform;
}
.talk-item .comment::after {
  content: "";
  display: block;
  position: absolute;
  top: 0%;
  left: 0;
  width: 20%;
  transform: rotate3d(0, 0, 1, 75deg);
  aspect-ratio: 1/1;
  background: url(images/top/paint_bubble_wht.svg) no-repeat center;
  background-size: contain;
}
.talk-item .faq_paint {
  width: 100%;
}
.talk-item .talk_txt {
  font-size: clamp(1.125rem, 1rem + 0.63vw, 1.75rem);
  flex-direction: column;
  z-index: 5;
  width: 60%;
}
.talk-item .talk_txt .small {
  font-weight: 400;
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
}
.talk-item .talk_txt .color_que {
  color: rgba(10, 135, 236, 0.87);
  font-weight: 800;
}
.talk-item .talk_txt .color_ans {
  color: rgb(224, 103, 172);
  font-weight: 800;
}
.talk-item .talk_txt .bold {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  letter-spacing: -0.1em;
}

/*===========================
下層ページ
===========================*/
/*--------------------
下層ページ共通
--------------------*/
.under_wrap {
  display: flex;
  flex-wrap: nowrap;
  position: relative;
  width: 100vw;
  height: 100vh;
  margin: 0 auto;
  overflow: hidden;
  background: linear-gradient(rgb(236, 136, 193) 0%, rgb(236, 158, 202) 50%, rgb(255, 255, 255) 100%);
}

.sub_page .paint_heading {
  min-height: 100vh;
  overflow: hidden;
}

.narrow {
  position: relative;
  padding: 20vh 0;
}

.usual {
  color: rgb(255, 255, 255);
  font-size: small;
  padding-top: 100px;
}
.usual h2 {
  font-weight: 600;
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 40px;
  position: relative;
}
.usual h2 .xx_l {
  margin-bottom: 10px;
}
.usual h2::after {
  content: "";
  display: block;
  height: 5px;
  width: 100%;
  border-radius: 2px;
  background: rgb(223, 46, 113);
  position: absolute;
  bottom: 0;
  left: 0;
}

.usual_text {
  font-size: 16px;
  margin: 0 auto;
}
.usual_text a {
  display: inline;
  color: inherit;
  text-decoration: underline;
}
.usual_text h3 {
  margin: 50px 0 10px 0;
  font-weight: 600;
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
}
.usual_text h4 {
  margin: 10px 0 5px 0;
  font-weight: 400;
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
}
.usual_text .date {
  margin: 20px 0 10px 0;
  font-weight: 400;
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
}
.usual_text .date .date_item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.usual_text .date h4 {
  width: auto;
  white-space: nowrap;
  margin: 0;
}
.usual_text .date p {
  width: auto;
}
.usual_text p {
  line-height: 1.2;
  font-weight: 400;
}
.usual_text ol {
  list-style-position: inside;
  margin-top: 10px;
  font-weight: 400;
}
.usual_text ol li {
  line-height: 1.2;
}
.usual_text ul {
  list-style-type: none;
  list-style-position: inside;
  font-weight: 400;
}
.usual_text ul li {
  margin: 8px 0 8px 15px;
  position: relative;
  line-height: 1.2;
}
.usual_text ul li::before {
  content: "";
  background: rgb(255, 255, 255);
  display: block;
  width: 6px;
  height: 6px;
  aspect-ratio: 1/1;
  margin: 6.6px;
  border-radius: 100%;
  position: absolute;
  left: -15px;
}

/*パンくずリストスタイル*/
.breadcrumb {
  margin-bottom: 50px;
  padding: 0 5%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  z-index: 1;
}

.breadcrumb_item {
  width: auto;
  color: rgb(190, 190, 190);
}
.breadcrumb_item:hover {
  color: rgb(255, 255, 255);
}

.breadcrumb_last {
  width: auto;
  color: rgb(128, 128, 128);
}

.normal_info {
  background: linear-gradient(rgb(250, 217, 236) 0%, rgb(149, 92, 202) 30%, rgb(15, 5, 65) 100%);
}

.paint_info {
  background: linear-gradient(rgb(250, 217, 236) 0%, rgb(149, 92, 202) 30%, rgb(15, 5, 65) 100%);
}

.on_paint {
  mix-blend-mode: soft-light;
  z-index: 30;
}

.wire_mesh_back {
  width: 100%;
  height: 100vh;
  background: url(images/share/net.svg) repeat center;
  background-size: 30%;
  transform-origin: left;
  left: 0;
  top: 0;
  z-index: 10;
  mix-blend-mode: plus-lighter;
}

.paint_info .paint_item {
  mix-blend-mode: overlay;
}
.paint_info .paint_pur {
  width: 40%;
  left: -5%;
  top: 0%;
  z-index: 1;
}
.paint_info .paint_org {
  width: 30%;
  right: -5%;
  bottom: 0%;
  z-index: 2;
}
.paint_info .paint_blu {
  width: 35%;
  right: 0%;
  top: 0%;
  z-index: 3;
}
.paint_info .paint_grn {
  width: 30%;
  left: 15%;
  bottom: 0%;
  z-index: 4;
}
.paint_info .paint_ylw {
  width: 45%;
  left: 20%;
  top: 0%;
  z-index: 5;
}
.paint_info .paint_pnk {
  width: 35%;
  right: 15%;
  bottom: 0%;
  z-index: 6;
}

/*--------------------
FAQ PAGE
--------------------*/
.page_faq .answer_section {
  position: relative;
  background: linear-gradient(rgb(161, 24, 168) 0%, rgb(236, 158, 202) 30%, rgb(200, 238, 250) 40%, rgb(133, 198, 219) 60%, rgb(149, 92, 202) 80%, rgb(161, 24, 168) 100%);
}

.narrow_faq {
  min-height: auto;
  background: linear-gradient(rgb(15, 5, 65) 0%, rgb(161, 24, 168) 100%);
}
.narrow_faq::before {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  top: -5px;
  z-index: -1;
  background: rgb(15, 5, 65);
}
.narrow_faq::after {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  bottom: -5px;
  z-index: -1;
  background: rgb(161, 24, 168);
}

.faq_item {
  width: 100%;
  height: 100%;
  position: absolute;
  /* 全て重ねる */
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  /* 最初はすべて消しておく */
  visibility: hidden;
}
.faq_item .paint_heading {
  min-height: 100dvh;
}
.faq_item .on_paint h2 {
  width: auto;
  color: rgb(255, 255, 255);
  z-index: 3;
  text-align: center;
}

/*--------------------
POLICY PAGE
--------------------*/
.narrow_policy {
  background: linear-gradient(rgb(15, 5, 65) 0%, rgb(161, 24, 168) 100%);
  min-height: 100vh;
}
.narrow_policy .narrow_inner {
  width: 40%;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
.narrow_policy::after {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  top: -5px;
  z-index: -1;
  background: rgb(15, 5, 65);
}

/*--------------------
CONTACT PAGE
--------------------*/
.narrow_contact {
  background: linear-gradient(rgb(15, 5, 65) 0%, rgb(161, 24, 168) 100%);
  min-height: 100vh;
}
.narrow_contact::after {
  content: "";
  display: block;
  height: 10px;
  width: 100%;
  position: absolute;
  top: -5px;
  z-index: -1;
  background: rgb(15, 5, 65);
}
.narrow_contact .usual_text {
  line-height: 1.4;
}
.narrow_contact form {
  margin-top: 60px;
}
.narrow_contact label {
  color: rgb(255, 255, 255);
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  display: block;
}
.narrow_contact .txt_form .wpcf7-form-control-wrap {
  margin: 10px 0px 30px 0px;
}
.narrow_contact .txt_form input,
.narrow_contact .txt_form textarea {
  display: block;
  width: 100%;
  background: linear-gradient(90deg, rgb(0, 0, 0), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.8));
  border: none;
  outline: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  padding: 16px;
  color: #FFF;
  box-shadow: inset 5px 15px 15px 5px rgba(0, 0, 0, 0.5);
  margin-bottom: 5px;
  font-size: 16px;
}
.narrow_contact .txt_form textarea {
  line-height: 1.5;
  height: 9rem;
}
.narrow_contact .wpcf7 form .wpcf7-response-output {
  text-align: center;
  margin: 0;
  padding: 0;
  color: #FFF;
  border: none;
}
.narrow_contact input:-webkit-autofill, .narrow_contact input:-webkit-autofill:hover, .narrow_contact input:-webkit-autofill:focus, .narrow_contact input:-webkit-autofill:active {
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
  -webkit-text-fill-color: #FFF !important;
  caret-color: #000;
  background: linear-gradient(90deg, rgb(0, 0, 0), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.8)) !important;
}
.narrow_contact input:autofill,
.narrow_contact input:autofill:hover,
.narrow_contact input:autofill:focus,
.narrow_contact input:autofill:active {
  transition: background-color 5000s ease-in-out 0s;
  -webkit-text-fill-color: #FFF !important;
  caret-color: #000;
  background: linear-gradient(90deg, rgb(0, 0, 0), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.8)) !important;
}
@media (prefers-color-scheme: light) {
  .narrow_contact input:-webkit-autofill, .narrow_contact input:-webkit-autofill:hover, .narrow_contact input:-webkit-autofill:focus, .narrow_contact input:-webkit-autofill:active {
    -webkit-text-fill-color: #FFF !important;
    caret-color: #000;
  }
  .narrow_contact input:autofill,
.narrow_contact input:autofill:hover,
.narrow_contact input:autofill:focus,
.narrow_contact input:autofill:active {
    -webkit-text-fill-color: #FFF !important;
    caret-color: #000;
  }
}
.narrow_contact .wpcf7-not-valid-tip {
  color: rgb(223, 46, 113);
  font-weight: bold;
}
.narrow_contact .narrow_inner {
  width: 40%;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}
.narrow_contact .check {
  position: relative;
}
.narrow_contact .check label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0 10px;
  width: auto;
  line-height: 1.25;
}
.narrow_contact .check input {
  width: 20px;
  height: 20px;
}
.narrow_contact .wpcf7-list-item {
  display: inline-block;
  margin: 0;
}
.narrow_contact .wpcf7-list-item-label {
  width: 100%;
  justify-content: flex-start;
}
.narrow_contact .wpcf7-list-item-label a {
  width: auto;
  color: rgb(255, 255, 255);
  text-decoration: underline;
}

input[type=checkbox] {
  appearance: none;
  /* これで標準のチェックボックスが消える */
  -webkit-appearance: none;
  /* Safari用 */
  -moz-appearance: none;
  /* Firefox用 */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  background-color: rgb(161, 24, 168);
  /* デフォルトの背景色 */
  border-radius: 4px;
  cursor: pointer;
}

/* 2. チェックされた時のスタイル */
input[type=checkbox]:checked::before {
  position: absolute;
  content: "";
  color: rgb(255, 255, 255);
  display: block;
  width: 10px;
  height: 4px;
  border-left: 3px solid rgb(255, 255, 255);
  border-bottom: 2px solid rgb(255, 255, 255);
  transform: rotate(305deg);
  z-index: 5;
}

.send_btn input {
  letter-spacing: 0.25em;
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  font-weight: 400;
  text-align: center;
  background: rgb(25, 0, 25);
  padding: 0.5rem 2.5rem;
  color: #FFF;
  border: 2px solid rgb(25, 0, 25);
  border-radius: 8px;
  outline: none;
  display: block;
  margin: 2.5rem auto 0 auto;
  transition: 0.3s;
  width: auto;
  cursor: url(images/share/cursor.svg), pointer;
}
.send_btn input:hover {
  background: rgba(255, 255, 255, 0.3);
  color: rgb(25, 0, 25);
  transition: 0.3s;
}

/*===========================
アニメーション
===========================*/
/* headerが一旦上に消えて降りてくる */
@-webkit-keyframes slide-header {
  0% {
    transform: translateY(-100px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-header {
  0% {
    transform: translateY(-100px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* navが上から降りてくる */
@-webkit-keyframes slide-menu {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slide-menu {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
/* navが上に戻る */
@-webkit-keyframes return-menu {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes return-menu {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
/* 不透明から透明になる */
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* ぼかし */
@-webkit-keyframes blur {
  0% {
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    opacity: 1;
  }
  100% {
    -webkit-backdrop-filter: blur(0px);
            backdrop-filter: blur(0px);
    opacity: 0;
  }
}
@keyframes blur {
  0% {
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    opacity: 1;
  }
  100% {
    -webkit-backdrop-filter: blur(0px);
            backdrop-filter: blur(0px);
    opacity: 0;
  }
}
/* 幅を0にする */
@-webkit-keyframes scaleY {
  0% {
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale3d(1, 2, 1);
    opacity: 0;
  }
}
@keyframes scaleY {
  0% {
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale3d(1, 2, 1);
    opacity: 0;
  }
}
@-webkit-keyframes colorMove {
  0% {
    background: rgba(255, 255, 255, 0);
  }
  20% {
    background: rgba(108, 147, 255, 0.3);
  }
  40% {
    background: rgba(204, 102, 204, 0.3);
  }
  60% {
    background: rgba(224, 156, 224, 0.3);
  }
  80% {
    background: rgba(208, 177, 238, 0.3);
  }
  100% {
    background: rgba(255, 255, 255, 0);
  }
}
@keyframes colorMove {
  0% {
    background: rgba(255, 255, 255, 0);
  }
  20% {
    background: rgba(108, 147, 255, 0.3);
  }
  40% {
    background: rgba(204, 102, 204, 0.3);
  }
  60% {
    background: rgba(224, 156, 224, 0.3);
  }
  80% {
    background: rgba(208, 177, 238, 0.3);
  }
  100% {
    background: rgba(255, 255, 255, 0);
  }
}
/* 透明から不透明になる */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0.25;
  }
  50% {
    opacity: 0.5;
  }
  75% {
    opacity: 0.75;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  25% {
    opacity: 0.25;
  }
  50% {
    opacity: 0.5;
  }
  75% {
    opacity: 0.75;
  }
  100% {
    opacity: 1;
  }
}
/* 回転 */
@-webkit-keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* 逆回転 */
@-webkit-keyframes spin_reverse {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes spin_reverse {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
/* 回転と透明 */
@-webkit-keyframes spin_op {
  0% {
    transform: rotate(0deg);
    opacity: 0;
  }
  40% {
    opacity: 0.5;
  }
  50% {
    opacity: 0.75;
  }
  60% {
    opacity: 0.5;
  }
  100% {
    transform: rotate(360deg);
    opacity: 0;
  }
}
@keyframes spin_op {
  0% {
    transform: rotate(0deg);
    opacity: 0;
  }
  40% {
    opacity: 0.5;
  }
  50% {
    opacity: 0.75;
  }
  60% {
    opacity: 0.5;
  }
  100% {
    transform: rotate(360deg);
    opacity: 0;
  }
}
/* 拡大縮小 */
@-webkit-keyframes scale {
  0% {
    transform: scale3d(1, 1, 1);
  }
  35% {
    transform: scale3d(1, 1, 1);
  }
  40% {
    transform: scale3d(1.02, 1.02, 1.02);
  }
  45% {
    transform: scale3d(1, 1, 1);
  }
  65% {
    transform: scale3d(1, 1, 1);
  }
  67% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  69% {
    transform: scale3d(1, 1, 1);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes scale {
  0% {
    transform: scale3d(1, 1, 1);
  }
  35% {
    transform: scale3d(1, 1, 1);
  }
  40% {
    transform: scale3d(1.02, 1.02, 1.02);
  }
  45% {
    transform: scale3d(1, 1, 1);
  }
  65% {
    transform: scale3d(1, 1, 1);
  }
  67% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  69% {
    transform: scale3d(1, 1, 1);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
/* 縮小 */
@-webkit-keyframes scaleZero {
  0% {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  100% {
    transform: scale3d(0, 0, 0);
    opacity: 0;
  }
}
@keyframes scaleZero {
  0% {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  100% {
    transform: scale3d(0, 0, 0);
    opacity: 0;
  }
}
/* loadingイコライザー */
@-webkit-keyframes equalizer {
  0% {
    transform: scale3d(1, 0.5, 1);
  }
  35% {
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
  50% {
    transform: scale3d(1, 0.75, 1);
  }
  75% {
    transform: scale3d(1, 1, 1);
    opacity: 0.5;
  }
  100% {
    transform: scale3d(1, 0.5, 1);
  }
}
@keyframes equalizer {
  0% {
    transform: scale3d(1, 0.5, 1);
  }
  35% {
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
  50% {
    transform: scale3d(1, 0.75, 1);
  }
  75% {
    transform: scale3d(1, 1, 1);
    opacity: 0.5;
  }
  100% {
    transform: scale3d(1, 0.5, 1);
  }
}
/* 星空 */
@-webkit-keyframes starsHighSpeed {
  0% {
    transform: translate3d(0%, 0%, 0);
    opacity: 0;
  }
  5% {
    opacity: 0;
  }
  10% {
    opacity: 0.5;
  }
  20% {
    opacity: 1;
  }
  30% {
    opacity: 0.5;
  }
  40% {
    opacity: 0.75;
  }
  50% {
    opacity: 0.5;
  }
  60% {
    opacity: 1;
  }
  70% {
    opacity: 0.75;
  }
  80% {
    opacity: 1;
  }
  90% {
    opacity: 0.5;
  }
  95% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translate3d(-8%, 0%, 0);
  }
}
@keyframes starsHighSpeed {
  0% {
    transform: translate3d(0%, 0%, 0);
    opacity: 0;
  }
  5% {
    opacity: 0;
  }
  10% {
    opacity: 0.5;
  }
  20% {
    opacity: 1;
  }
  30% {
    opacity: 0.5;
  }
  40% {
    opacity: 0.75;
  }
  50% {
    opacity: 0.5;
  }
  60% {
    opacity: 1;
  }
  70% {
    opacity: 0.75;
  }
  80% {
    opacity: 1;
  }
  90% {
    opacity: 0.5;
  }
  95% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translate3d(-8%, 0%, 0);
  }
}
@-webkit-keyframes starsLowSpeed {
  0% {
    transform: translate3d(0%, 0%, 0);
    opacity: 0;
  }
  3% {
    opacity: 0;
  }
  5% {
    opacity: 0.25;
  }
  7% {
    opacity: 0.35;
  }
  10% {
    opacity: 0.5;
  }
  20% {
    opacity: 1;
  }
  30% {
    opacity: 0.5;
  }
  40% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.5;
  }
  60% {
    opacity: 1;
  }
  70% {
    opacity: 0.75;
  }
  80% {
    opacity: 0.5;
  }
  90% {
    opacity: 0.75;
  }
  95% {
    opacity: 0.5;
  }
  98% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translate3d(-5%, 0%, 0);
  }
}
@keyframes starsLowSpeed {
  0% {
    transform: translate3d(0%, 0%, 0);
    opacity: 0;
  }
  3% {
    opacity: 0;
  }
  5% {
    opacity: 0.25;
  }
  7% {
    opacity: 0.35;
  }
  10% {
    opacity: 0.5;
  }
  20% {
    opacity: 1;
  }
  30% {
    opacity: 0.5;
  }
  40% {
    opacity: 0.35;
  }
  50% {
    opacity: 0.5;
  }
  60% {
    opacity: 1;
  }
  70% {
    opacity: 0.75;
  }
  80% {
    opacity: 0.5;
  }
  90% {
    opacity: 0.75;
  }
  95% {
    opacity: 0.5;
  }
  98% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: translate3d(-5%, 0%, 0);
  }
}
@-webkit-keyframes slideMove {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
@keyframes slideMove {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}
/*===========================
レスポンシブ
===========================*/
/*///// 画面幅 769px 以上 /////*/ /*///// 画面幅 641px 以上 /////*/
@media only screen and (min-width: 641px) {
  .telephone a[href^="tel:"] {
    pointer-events: none;
  }
}
/*///// 画面幅 1200px 以内 /////*/
@media only screen and (max-width: 1200px) {
  /*--------------------
      faq
  --------------------*/
  .talk-item .q_head {
    width: 35%;
    bottom: 30%;
    left: 18%;
  }
  .talk-item .a_head {
    bottom: 30%;
    right: 18%;
    width: 35%;
  }
  .talk-item .question {
    width: 35%;
    left: 18%;
  }
  .talk-item .answer {
    top: 5%;
    right: 18%;
    width: 35%;
    bottom: unset;
  }
  .talk-item .comment {
    bottom: 15%;
    left: 15%;
    width: 30%;
  }
  .talk-item .answer2 {
    bottom: 5%;
    right: 20%;
    width: 35%;
    top: unset;
  }
  /*--------------------
      下層ページ共通
  --------------------*/
  .paint_info .paint_pur {
    width: 50%;
  }
  .paint_info .paint_org {
    width: 50%;
    right: -5%;
    bottom: 0%;
    z-index: 2;
  }
  .paint_info .paint_blu {
    width: 45%;
    right: 0%;
    top: 0%;
    z-index: 3;
  }
  .paint_info .paint_grn {
    width: 40%;
    left: 5%;
    bottom: 0%;
    z-index: 4;
  }
  .paint_info .paint_ylw {
    width: 55%;
    left: 20%;
    top: 0%;
    z-index: 5;
  }
  .paint_info .paint_pnk {
    width: 45%;
    right: 15%;
    bottom: 0%;
    z-index: 6;
  }
}
/*///// 画面幅 768px 以内 /////*/
@media only screen and (max-width: 900px) {
  /*--------------------
      topアイキャッチ
  --------------------*/
  .wrap_3d .deep_light {
    width: 50%;
    left: 25%;
    top: -10%;
  }
  .wrap_3d .deep_paint_blk {
    width: 100%;
  }
  .wrap_3d .deep_paint_wht {
    width: 80%;
  }
  .wrap_3d .deep_paint_pur {
    width: 70%;
  }
  .wrap_3d .deep_paint_org {
    width: 70%;
    right: -15%;
    bottom: -30%;
  }
  .wrap_3d .deep_paint_blu {
    width: 80%;
    right: -25%;
    top: -10%;
  }
  .wrap_3d .deep_paint_grn {
    width: 70%;
    left: -5%;
    bottom: -30%;
  }
  .wrap_3d .deep_paint_ylw {
    width: 75%;
    left: 10%;
    top: 15%;
  }
  .wrap_3d .deep_paint_pnk {
    width: 100%;
    left: 15%;
    bottom: -50%;
  }
  .wrap_3d .deep_brush_01 {
    left: -50%;
    bottom: -10%;
    width: 100%;
    height: 60%;
  }
  .wrap_3d .deep_brush_02 {
    right: -50%;
    top: 0%;
    width: 100%;
    height: 60%;
  }
  .wrap_3d .deep_amp_rightL {
    right: 5%;
    top: 10%;
    width: 35%;
  }
  .wrap_3d .deep_amp_leftL {
    left: 0%;
    bottom: -5%;
    top: unset;
    width: 50%;
  }
}
/*///// 画面幅 768px 以内 /////*/
@media only screen and (max-width: 768px) {
  /*--------------------
      共通
  --------------------*/
  .paint_heading .back_paint {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80%;
    height: auto;
    z-index: 1;
  }
  /*--------------------
      下層ページ共通
  --------------------*/
  .paint_info .paint_pur {
    width: 80%;
  }
  .paint_info .paint_org {
    width: 80%;
    right: -5%;
    bottom: 0%;
    z-index: 2;
  }
  .paint_info .paint_blu {
    width: 75%;
    right: 0%;
    top: 0%;
    z-index: 3;
  }
  .paint_info .paint_grn {
    width: 70%;
    left: -5%;
    bottom: 0%;
    z-index: 4;
  }
  .paint_info .paint_ylw {
    width: 75%;
    left: 20%;
    top: 20%;
    z-index: 5;
  }
  .paint_info .paint_pnk {
    width: 75%;
    right: 15%;
    bottom: 20%;
    z-index: 6;
  }
  .narrow .narrow_inner {
    width: 60%;
  }
  .narrow .txt_form input,
.narrow .txt_form textarea {
    padding: 8px;
  }
  /*--------------------
      footer
  --------------------*/
  footer .building {
    width: 300%;
  }
  .corner_guitarist img {
    height: 50vh;
  }
  /*--------------------
      topアイキャッチ
  --------------------*/
  .wrap_3d .deep_light {
    width: 50%;
    left: 25%;
    top: -10%;
  }
  .wrap_3d .deep_paint_blk {
    width: 100%;
  }
  .wrap_3d .deep_paint_wht {
    width: 80%;
  }
  .wrap_3d .deep_paint_pur {
    width: 70%;
  }
  .wrap_3d .deep_paint_org {
    width: 70%;
    right: -15%;
    bottom: -30%;
  }
  .wrap_3d .deep_paint_blu {
    width: 80%;
    right: -25%;
    top: -10%;
  }
  .wrap_3d .deep_paint_grn {
    width: 70%;
    left: -5%;
    bottom: -30%;
  }
  .wrap_3d .deep_paint_ylw {
    width: 75%;
    left: 10%;
    top: 15%;
  }
  .wrap_3d .deep_paint_pnk {
    width: 100%;
    left: 15%;
    bottom: -50%;
  }
  .wrap_3d .deep_brush_01 {
    left: -50%;
    bottom: -10%;
    width: 100%;
    height: 60%;
  }
  .wrap_3d .deep_brush_02 {
    right: -50%;
    top: 0%;
    width: 100%;
    height: 60%;
  }
  .wrap_3d .deep_amp_rightL {
    right: 5%;
    top: 10%;
    width: 35%;
  }
  .wrap_3d .deep_amp_leftL {
    left: 0%;
    bottom: -5%;
    top: unset;
    width: 50%;
  }
  /*--------------------
      slide
  --------------------*/
  .slide .inner_slide {
    width: 800vw;
  }
  .slide .slide_item {
    width: 200vw;
  }
  .slide .txt_set {
    flex-direction: column;
    top: 65%;
    gap: 10px;
  }
  .slide .txt_set .jp_txt {
    width: 80vw;
  }
  .slide .slide_road {
    bottom: 15vh;
    height: 25vh;
  }
  .slide .slide_road_spray {
    bottom: 18vh;
    height: 20vh;
  }
  .slide .slide_building {
    bottom: 75vh;
  }
  .slide .slide_town {
    bottom: 40vh;
  }
  .slide .slide_wall {
    bottom: 40vh;
  }
  .slide .slide_forest {
    bottom: 40vh;
  }
  .slide .slide_item::before {
    content: "";
    bottom: 40vh;
  }
  .slide .slide_item::after {
    content: "";
    bottom: 40vh;
  }
  .slide .slide_image {
    bottom: 40vh;
  }
  .slide .slider_mini {
    bottom: 35vh;
  }
  .slide .slider_bentley {
    bottom: 35vh;
  }
  .slide .slider_blackcab {
    bottom: 5vh;
  }
  .slide .slider_vespa {
    bottom: 40vh;
  }
  /*--------------------
      web
  --------------------*/
  .split_web {
    width: auto;
    max-width: 75%;
    height: auto;
    z-index: 20;
  }
  .split_web .split_txt {
    height: auto;
    align-items: flex-start;
    color: rgb(60, 0, 60);
  }
  .split_web .split_txt .xxx_l {
    font-size: clamp(1.25rem, 0.875rem + 1.88vw, 3.125rem);
    white-space: nowrap;
    text-shadow: none;
  }
  .split_web .split_txt .xxx_l .split_char {
    width: auto;
    background: rgb(202, 150, 252);
  }
  .split_web .jp_txt {
    text-shadow: none;
    width: 100%;
  }
  .split_web .jp_txt .split_word {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .split_web .jp_txt .split_char {
    width: auto;
    background: rgba(0, 0, 0, 0.7);
    color: rgb(250, 217, 236);
    margin: 1px;
  }
  .web_paint_01 {
    width: 100%;
  }
  .web_paint_01 img {
    height: auto;
    width: 100%;
  }
  .web_paint_02 {
    width: 100%;
  }
  /*--------------------
      faq
  --------------------*/
  .faq_item .imageL {
    height: 70%;
  }
  .faq_item .imageR {
    height: 75%;
  }
  .talk-item .q_head {
    width: 35%;
    bottom: 30%;
    left: 22.5%;
  }
  .talk-item .q_head::after {
    bottom: unset;
    top: 0%;
    left: 0;
    width: 15%;
    transform: rotate3d(0, 0, 1, 75deg);
  }
  .talk-item .a_head {
    top: 30%;
    bottom: unset;
    right: 22.5%;
    width: 35%;
  }
  .talk-item .a_head::after {
    content: "";
    top: 20%;
    right: -5%;
    width: 15%;
  }
  .talk-item .question {
    width: 35%;
    top: 10%;
    left: 20%;
  }
  .talk-item .question::after {
    content: "";
    bottom: 0%;
    left: 15%;
    width: 15%;
    transform: rotate3d(0, 0, 1, 0deg);
  }
  .talk-item .answer {
    top: 30%;
    right: 25%;
    width: 35%;
    bottom: unset;
  }
  .talk-item .answer::after {
    content: "";
    top: 20%;
    right: -5%;
    width: 15%;
  }
  .talk-item .comment {
    bottom: 30%;
    left: 17.5%;
    width: 30%;
  }
  .talk-item .answer2 {
    bottom: 15%;
    right: 20%;
    width: 40%;
    top: unset;
  }
  .talk-item .answer2::after {
    content: "";
    top: 20%;
    right: -5%;
    width: 15%;
  }
}
/*///// 画面幅 640px 以内 /////*/
@media only screen and (max-width: 640px) {
  /*--------------------
      共通
  --------------------*/
  .loading.active .disk .disk_back {
    width: 30%;
  }
  .loading .graequo {
    width: 30%;
  }
  .paint_heading .back_paint {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 150%;
    height: auto;
  }
  .split_txt .xxx_l {
    font-size: clamp(3.125rem, 2.5rem + 3.13vw, 6.25rem);
  }
  /*--------------------
      header
  --------------------*/
  .global_navi {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 20px;
  }
  .global_navi .menu_logo {
    position: static;
    width: 50%;
  }
  .global_navi .main_menu {
    width: auto;
    margin-left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  .global_navi .main_menu li {
    font-size: clamp(3.125rem, 2.5rem + 3.13vw, 6.25rem);
  }
  #navi {
    background-size: 75%;
  }
  .narrow label {
    font-size: 16px;
  }
  /*--------------------
      footer
  --------------------*/
  .final_txt .last_navi {
    margin-bottom: 25px;
  }
  .final_txt .last_navi ul {
    flex-direction: column;
    gap: 5px;
  }
  .final_txt .last_navi .mainnav {
    margin-bottom: 10px;
  }
  /*--------------------
      topアイキャッチ
  --------------------*/
  .deep {
    height: 120vh;
  }
  .wrap_3d .deep_light {
    width: 50%;
    left: 25%;
    top: -10%;
  }
  .wrap_3d .deep_paint_blk {
    width: 100%;
    left: -18%;
    top: 40%;
    bottom: unset;
  }
  .wrap_3d .deep_paint_wht {
    width: 80%;
    right: 0%;
    top: 25%;
  }
  .wrap_3d .deep_paint_pur {
    width: 100%;
    left: -15%;
    top: 0%;
  }
  .wrap_3d .deep_paint_org {
    width: 100%;
    right: -15%;
    bottom: 25%;
  }
  .wrap_3d .deep_paint_blu {
    width: 100%;
    right: -35%;
    top: -5%;
  }
  .wrap_3d .deep_paint_grn {
    width: 100%;
    left: -20%;
    bottom: -15%;
  }
  .wrap_3d .deep_paint_ylw {
    width: 160%;
    left: -50%;
    top: 25%;
  }
  .wrap_3d .deep_paint_pnk {
    width: 175%;
    left: -10%;
    bottom: -20%;
  }
  .wrap_3d .deep_brush_01 {
    left: -50%;
    bottom: -10%;
    width: 100%;
    height: 60%;
  }
  .wrap_3d .deep_brush_02 {
    right: -50%;
    top: 0%;
    width: 100%;
    height: 60%;
  }
  .wrap_3d .deep_amp_rightL {
    right: 5%;
    top: 0%;
    width: 70%;
  }
  .wrap_3d .deep_amp_leftL {
    left: 0%;
    bottom: -5%;
    top: unset;
    width: 100%;
  }
  /*--------------------
      下層ページ見出し
  --------------------*/
  .wire_mesh_back {
    background-size: contain;
  }
  .sub_page .paint_heading .on_paint {
    height: 100dvh;
  }
  .sub_page .split_txt {
    height: 100dvh;
  }
  /*--------------------
      web
  --------------------*/
  .split_web_01 {
    top: 12.5%;
  }
  .split_web_02 {
    bottom: 12.5%;
  }
  /*--------------------
      MORE ABOUT 
      FAQ共通
  --------------------*/
  .talk-item {
    flex-direction: column;
    align-items: center;
  }
  .talk-item .q_head {
    width: 55%;
    bottom: 25%;
    left: 20%;
  }
  .talk-item .q_head::after {
    bottom: unset;
    top: 5%;
    left: 10%;
    width: 15%;
    transform: rotate3d(0, 0, 1, 90deg);
  }
  .talk-item .a_head {
    width: 55%;
    right: 25%;
    top: 15%;
    bottom: unset;
  }
  .talk-item .a_head::after {
    top: unset;
    bottom: 25%;
    right: 0%;
    width: 15%;
    transform: rotate3d(0, 0, 1, 330deg);
  }
  .talk-item .question {
    width: 50%;
    top: 0%;
    left: 5%;
  }
  .talk-item .answer {
    width: 60%;
    right: 24.5%;
    top: 20%;
    bottom: unset;
  }
  .talk-item .answer::after {
    content: "";
    top: 45%;
    right: 0%;
    width: 15%;
    transform: rotate3d(0, 0, 1, 295deg);
  }
  .talk-item .comment {
    width: 45%;
    left: 20%;
    bottom: 30%;
  }
  .talk-item .comment::after {
    content: "";
    top: 20%;
    right: -5%;
    width: 15%;
  }
  .talk-item .answer2 {
    bottom: 5%;
    right: 20%;
    width: 60%;
    top: unset;
  }
  .talk-item .answer2::after {
    content: "";
    top: 10%;
    right: 5%;
    width: 15%;
    transform: rotate3d(0, 0, 1, 270deg);
  }
  .talk-item .link_txt {
    padding: 4px 6px;
    margin-top: 5px;
  }
  .talk-item .talk_txt {
    font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
    flex-direction: column;
    width: 60%;
  }
  /*--------------------
      FAQ
  --------------------*/
  .universal_nav {
    background-size: 75%;
    width: 100%;
    min-height: 100dvh;
    justify-content: center;
  }
  .menu_list {
    gap: 30px;
    align-items: center;
    position: relative;
    width: 100%;
    height: auto;
    padding: 50px 40px;
  }
  .menu_list ul {
    width: auto;
    margin-left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 10px 0;
  }
  .menu_list li {
    font-size: clamp(1.5rem, 0.55rem + 4.75vw, 6.25rem);
    font-weight: 800;
    width: auto;
  }
  .menu_list li a {
    opacity: 1;
    text-align: right;
    overflow-wrap: break-word;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
  }
  .menu_list li a:hover {
    color: rgb(149, 92, 202);
  }
  .menu_list li a span {
    opacity: 1;
    text-align: center;
    width: auto;
    transition: all 0.3s linear 0.1s;
  }
  .menu_list li a .smaller {
    font-size: clamp(0.625rem, 0.6rem + 0.13vw, 0.75rem);
  }
  .menu_list li a .xxx_l {
    font-size: clamp(1.875rem, 1.25rem + 3.13vw, 5rem);
  }
  /*--------------------
  汎用ボタン
  --------------------*/
}
/*///// 画面幅 480px 以内 /////*/
@media only screen and (max-width: 480px) {
  /*--------------------
      共通
  --------------------*/
  /*--------------------
      header
  --------------------*/
  /*--------------------
      WEB
  --------------------*/
  .graphic_item {
    height: 70vh;
  }
  .web_paint_01 {
    width: 100%;
    left: -15%;
    top: 0;
  }
  .web_paint_01 img {
    height: auto;
    width: 100%;
  }
  .web_paint_02 {
    width: 100%;
    right: -25%;
    bottom: 0;
  }
  /*--------------------
      CONTACT PAGE
  --------------------*/
  .narrow .narrow_inner {
    width: 80%;
  }
}
/*///// 画面幅 375px 以内 /////*/ /*///// 画面幅 320px 以内 /////*/
/*# sourceMappingURL=style.css.map */