@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,500;1,400;1,500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap");
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400;0,500;1,400&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500&display=swap");
@import url("https://cdn.jsdelivr.net/npm/gen-interface-jp@0.1.9/display-500.css");
@import url("https://cdn.jsdelivr.net/npm/gen-interface-jp@0.1.9/display-400.css");
@import url("https://cdn.jsdelivr.net/npm/gen-interface-jp@0.1.9/display-300.css");
:root {
  /*===================== Color =====================*/
  --color-toyopet: #005952;
  --color-hac-base: #005952;
  --color-chubase-red: #F40013;
  --color-hac-base: #0F5E75;
  --color-kinto: #20A5C0;
  --color-main: #1F1F1F;
  --color-light-blue: #44A0BE;
  --color-blue: #178BD2;
  --color-red: #DB0011;
  --color-red02: #E54956;
  --color-pink: #EB6B76;
  --color-orange: #F28212;
  --color-gold: #B18B31;
  --color-light-gray: #C8C8C8;
  --color-white-blue: #E1ECEF;
  --color-gray: #DEE4E8;
  --color-blue-gray-light: rgba(235, 241, 245, 0.9);
  --color-blue-gray: #8E9FA4;
  --color-used: #EC1223;
  --color-light-green: #46B41E;
  --color-dark-green: #3A4246;
  --color-green: #00A941;
  --color-green02: #46B196;
  --color-green03: #00CDA4;
  --color-02: #556168;
  --color-03: #2970C0;
  --color-navy: #38405C;
  --color-sub-txt: #818181;
  --color-sub-txt-v02: #6F6F6F;
  --color-sub: #9D9D9D;
  --color-sub-line05: #d6d6d6;
  /*表*/
  --color-table: #494949;
  /*Table*/
  --color-table-bg: #F2F2F2;
  --color-table-menu: #79888D;
  /*===================== Gradient =====================*/
  --gradient-green-blue: linear-gradient(90deg,#78B50F 1%,#69D04D 35%,#38B5CE 72%,#3C64A1 100%);
  --gradient-red-yellow: linear-gradient(90deg,#F05353,#E7B500);
  /*===================== Font =====================*/
  --font-montserrat: "Montserrat", sans-serif;
  --font-manrope: "Manrope", sans-serif;
  --font-bungee: "Bungee", sans-serif;
  /*===================== CONT radius =====================*/
  --ease-bounce-s:linear(0, 0.271 8.8%, 0.542 19.9%, 0.837 34.2%, 1 44.7%, 0.943 51.1%, 0.925 57.5%, 0.937 63.1%, 1 77.4%, 0.991 84.2%, 1);
  --ease-bounce:linear(0, 0.247 13.2%, 0.415 20.5%, 0.624 27.4%, 1 37.8%, 0.794 44.9%, 0.747 47.9%, 0.731 50.8%, 0.744 53.5%, 0.785 56.4%, 0.999 65.5%, 0.927 69.6%, 0.904 73.4%, 0.921 77%, 1 84.5%, 0.981 89.4%, 1);
}

/*================================= 見出し =================================*/
/*======================= SP-VW =======================*/
/*======================= PC-VW =======================*/
/*------ 使用例 ------
.text {
	font-size: spvw(16);
}
*/
/*======================= PCLG-VW =======================*/
/*================================= マウスオーバー =================================*/
/*================================= コンテンツ 角丸 =================================*/
/*================================= アニメーション =================================*/
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes big {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes flipcard01 {
  0% {
    transform: rotateY(0);
  }
  100% {
    transform: rotateY(180deg);
  }
}
@keyframes flipcard02 {
  0% {
    transform: rotateY(180deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
/*================================= メニュー左寄せ =================================*/
:root {
  --font-barlow: "Barlow", sans-serif;
  --font-google-sans-flex: "Google Sans Flex", sans-serif;
  --font-jetbrains-mono: "JetBrains Mono", monospace;
  --font-roboto-condensed: "Roboto Condensed", sans-serif;
  --font-space-grotesk: "Space Grotesk", sans-serif;
  --font-gen-interface: "Gen Interface JP Display", sans-serif;
  --color-f8: #F8F8F8;
  --color-ce: #CECECE;
  --color-9e: #9E9E9E;
  --color-7e: #7E7E7E;
  --color-5e: #5E5E5E;
  --color-24: #242424;
  --color-18: #181818;
  --color-red: #F00000;
}

body {
  background: rgb(0, 0, 0);
  font-family: var(--font-gen-interface);
}

div.video-bg-fix {
  z-index: 0;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
}
div.video-bg-fix video {
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

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

header {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 100;
  opacity: 0;
  animation: nav-fadein 0.6s 2.6s ease forwards;
  padding: calc(40 / 750 * 100vw);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  header {
    top: calc(52 / 1366 * 100vw);
    right: calc(250 / 1366 * 100vw);
    padding: 0;
    position: absolute;
  }
}
header.is-active div.hd-inner a span.wh {
  opacity: 0;
}
header.is-active div.hd-inner a span.bk {
  opacity: 1;
}
header.is-active div.hd-inner button .line-wrap {
  transform: scale(0.6);
}
header.is-active div.hd-inner button .line {
  background: #000;
}
header.is-active div.hd-inner button .line:nth-of-type(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
header.is-active div.hd-inner button .line:nth-of-type(2) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
header.is-active div.menu-wrap {
  opacity: 1;
  pointer-events: fill;
}
header div.hd-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  header div.hd-inner {
    display: none;
  }
}
header div.hd-inner a {
  display: block;
  width: calc(278 / 750 * 100vw);
  position: relative;
}
header div.hd-inner a span {
  display: block;
  transition: all 0.3s;
}
header div.hd-inner a span.bk {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
header div.hd-inner button {
  display: block;
  color: #fff;
  font-weight: 400;
  font-size: calc(22 / 750 * 100vw);
  line-height: 1em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: calc(145 / 750 * 100vw);
}
header div.hd-inner button .txt {
  font-family: var(--font-barlow);
}
header div.hd-inner button .line-wrap {
  display: block;
  width: calc(70 / 750 * 100vw);
  height: calc(20 / 750 * 100vw);
  position: relative;
}
header div.hd-inner button .line {
  transition: all 0.3s;
  width: 100%;
  height: calc(1 / 750 * 100vw);
  position: absolute;
  transform: translate(-50%, 0);
  background: #fff;
}
header div.hd-inner button .line:nth-of-type(1) {
  top: 0;
  left: 50%;
}
header div.hd-inner button .line:nth-of-type(2) {
  top: 100%;
  left: 50%;
}
header div.menu-wrap {
  background: #fff;
  width: 100vw;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  padding: calc(254 / 750 * 100vw) calc(42 / 750 * 100vw) calc(130 / 750 * 100vw);
  opacity: 0;
  pointer-events: none;
  border-radius: 0 0 calc(30 / 750 * 100vw) calc(30 / 750 * 100vw);
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  header div.menu-wrap {
    position: revert;
    display: block;
    opacity: 1;
    pointer-events: fill;
    padding: 0;
    background: none;
    width: 100%;
  }
}
header ul.l-list {
  line-height: 1em;
  font-weight: 500;
  font-size: calc(50 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  header ul.l-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    -moz-column-gap: calc(30 / 1366 * 100vw);
         column-gap: calc(30 / 1366 * 100vw);
    font-size: max(10px, 16 / 1366 * 100vw);
  }
}
header ul.l-list li {
  margin-bottom: 0.6em;
}
@media screen and (min-width: 768px) {
  header ul.l-list li {
    margin-bottom: 0;
    display: inline-block;
  }
}
header ul.l-list li.logo {
  display: none;
}
@media screen and (min-width: 768px) {
  header ul.l-list li.logo {
    display: inline-block;
    width: calc(165 / 1366 * 100vw);
    margin-left: 2vw;
    position: fixed;
    top: calc(43 / 1366 * 100vw);
    right: calc(30 / 1366 * 100vw);
  }
}
header ul.l-list a {
  display: inline-block;
  font-family: var(--font-google-sans-flex);
}
@media screen and (min-width: 768px) {
  header ul.l-list a {
    font-family: var(--font-barlow);
    font-style: italic;
    color: #fff;
    transition: all 0.3s;
  }
  header ul.l-list a:hover {
    color: var(--color-red);
  }
}
header ul.s-list {
  font-size: calc(32 / 750 * 100vw);
  font-weight: 500;
  margin-top: calc(90 / 750 * 100vw);
}
header ul.s-list li {
  margin-bottom: 0.6em;
}

div.hero-area {
  background: #000;
  padding-top: calc(288 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  div.hero-area {
    padding-top: calc(110 / 1366 * 100vw);
  }
}

.hero--wrap {
  width: 100%;
  position: relative;
  height: calc(770 / 750 * 100vw);
  font-family: var(--font-google-sans-flex);
}
@media screen and (min-width: 768px) {
  .hero--wrap {
    height: auto;
    height: calc(539 / 1366 * 100vw);
  }
}
.hero--wrap div.hero-txt01 {
  font-size: calc(140 / 750 * 100vw);
  line-height: 1;
  color: #FFF;
  position: absolute;
  left: 0;
  top: 15%;
  z-index: 5;
  opacity: 0;
  animation: text01-ani01-sp 2s 0.2s ease forwards, text01-ani02 0.6s 2.6s ease forwards;
}
@media screen and (min-width: 768px) {
  .hero--wrap div.hero-txt01 {
    font-size: 7.3206vw;
    animation: text01-ani01 2s 0.2s ease forwards, text01-ani02 0.6s 2.6s ease forwards;
  }
}
.hero--wrap div.hero-txt02 {
  font-size: calc(280 / 750 * 100vw);
  line-height: 1;
  color: #FFF;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(0, 25%);
  z-index: 5;
  animation: text02-ani01-sp 2s 0.2s ease forwards, text02-ani02 0.6s 2.6s ease forwards;
}
@media screen and (min-width: 768px) {
  .hero--wrap div.hero-txt02 {
    animation: text02-ani01 2s 0.2s ease forwards, text02-ani02 0.6s 2.6s ease forwards;
    font-size: 21.23vw;
  }
}

@keyframes nav-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes text01-ani01-sp {
  0% {
    font-size: calc(70 / 750 * 100vw);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%) scale(1.4);
    opacity: 0;
  }
  10% {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.4);
    opacity: 1;
  }
  20% {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.4);
    opacity: 1;
  }
  35% {
    top: 50%;
    left: 50%;
    transform: translate(-90%, -50%) scale(1.4);
    opacity: 1;
  }
  55% {
    top: 50%;
    left: 50%;
    transform: translate(-90%, -50%) scale(1.4);
    opacity: 1;
  }
  65% {
    font-size: calc(70 / 750 * 100vw);
    top: 50%;
    left: 50%;
    transform: translate(-95%, -50%) scale(1.4);
    opacity: 0;
  }
  100% {
    font-size: calc(140 / 750 * 100vw);
    left: calc(30 / 750 * 100vw);
    top: calc(-91 / 750 * 100vw);
    transform: translate(0, 0);
  }
}
@keyframes text01-ani01 {
  0% {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%) scale(1.4);
    opacity: 0;
  }
  10% {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.4);
    opacity: 1;
  }
  20% {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.4);
    opacity: 1;
  }
  35% {
    top: 50%;
    left: 50%;
    transform: translate(-90%, -50%) scale(1.4);
    opacity: 1;
  }
  55% {
    top: 50%;
    left: 50%;
    transform: translate(-90%, -50%) scale(1.4);
    opacity: 1;
  }
  65% {
    top: 50%;
    left: 50%;
    transform: translate(-90%, -50%) scale(1.4);
    opacity: 0;
  }
  100% {
    left: calc(30 / 1366 * 100vw);
    top: calc(-60 / 1366 * 100vw);
    transform: translate(0, 0);
  }
}
@keyframes text01-ani02 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes text02-ani01-sp {
  0% {
    font-size: calc(180 / 750 * 100vw);
    right: 10%;
    bottom: 50%;
    transform: translate(-20%, 50%);
    opacity: 0;
  }
  10% {
    right: 10%;
    bottom: 50%;
    transform: translate(-20%, 50%);
    opacity: 0;
  }
  20% {
    right: 10%;
    bottom: 50%;
    transform: translate(-20%, 50%);
    opacity: 0;
  }
  35% {
    right: 10%;
    bottom: 50%;
    transform: translate(20%, 50%);
    opacity: 1;
  }
  55% {
    right: 10%;
    bottom: 50%;
    transform: translate(20%, 50%);
    opacity: 1;
  }
  65% {
    font-size: calc(180 / 750 * 100vw);
    right: 10%;
    bottom: 50%;
    transform: translate(20%, 50%);
    opacity: 0;
  }
  100% {
    font-size: calc(280 / 750 * 100vw);
    right: calc(30 / 1366 * 100vw);
    bottom: -0.15em;
    transform: translate(0, 25%);
    opacity: 0;
  }
}
@keyframes text02-ani01 {
  0% {
    right: 10%;
    bottom: 50%;
    transform: translate(-20%, 50%);
    opacity: 0;
  }
  10% {
    right: 10%;
    bottom: 50%;
    transform: translate(-20%, 50%);
    opacity: 0;
  }
  20% {
    right: 10%;
    bottom: 50%;
    transform: translate(-20%, 50%);
    opacity: 0;
  }
  35% {
    right: 10%;
    bottom: 50%;
    transform: translate(0%, 50%);
    opacity: 1;
  }
  55% {
    right: 10%;
    bottom: 50%;
    transform: translate(0%, 50%);
    opacity: 1;
  }
  65% {
    right: 10%;
    bottom: 50%;
    transform: translate(0%, 50%);
    opacity: 0;
  }
  100% {
    right: calc(30 / 1366 * 100vw);
    bottom: -0.02em;
    transform: translate(0, 25%);
    opacity: 0;
  }
}
@keyframes text02-ani02 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.image-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#webgl {
  width: 100%;
  height: 100%;
  display: block;
}

@keyframes slider-opening01 {
  0% {
    clip-path: polygon(0 49%, 0% 49%, 0% 50%, 0 50%);
  }
  100% {
    clip-path: polygon(0 49%, 100% 49%, 100% 50%, 0 50%);
  }
}
@keyframes slider-opening02 {
  0% {
    clip-path: polygon(0 49%, 100% 49%, 100% 50%, 0 50%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
.hero-slider-wrapper {
  overflow: hidden;
  width: 100%;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
  clip-path: polygon(0 49%, 0% 49%, 0% 50%, 0 50%);
  animation: slider-opening01 0.6s 0.4s cubic-bezier(0.05, 0.68, 0.25, 0.99) forwards, slider-opening02 0.6s 1s cubic-bezier(0.05, 0.68, 0.25, 0.99) forwards;
  margin-top: calc(166 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  .hero-slider-wrapper {
    margin-top: calc(194 / 1366 * 100vw);
  }
}
.hero-slider-wrapper div.hero-slider {
  display: flex;
  width: 700%;
}
@media screen and (min-width: 768px) {
  .hero-slider-wrapper div.hero-slider {
    width: 300%;
  }
}
.hero-slider-wrapper .slider {
  animation: scroll-left 40s infinite linear 0.5s both;
  display: flex;
}
.hero-slider-wrapper .slide {
  padding-right: calc(20 / 750 * 100vw);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .hero-slider-wrapper .slide {
    padding-right: calc(20 / 1366 * 100vw);
  }
}
.hero-slider-wrapper .slide img {
  overflow: hidden;
  isolation: isolate;
  border-radius: calc(5 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  .hero-slider-wrapper .slide img {
    border-radius: 5px;
  }
}

section {
  background: #000000;
}

section.sec-about {
  color: #fff;
  box-sizing: border-box;
  padding: calc(200 / 750 * 100vw) calc(40 / 750 * 100vw) 0;
}
@media screen and (min-width: 768px) {
  section.sec-about {
    padding: calc(140 / 1366 * 100vw) 30px 0;
  }
}
section.sec-about div.sec-about-inner {
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  section.sec-about div.sec-about-inner {
    padding-left: 2%;
  }
}
section.sec-about h2 {
  font-weight: 500;
  line-height: 1em;
  letter-spacing: -0.02em;
  font-size: calc(80 / 750 * 100vw);
  font-family: var(--font-barlow);
  font-style: italic;
  margin-bottom: calc(70 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-about h2 {
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -0.02em;
    font-size: calc(80 / 1366 * 100vw);
    font-family: var(--font-barlow);
    font-style: italic;
    margin-bottom: calc(60 / 1366 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  section.sec-about div.about-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  section.sec-about div.about-box div.about-txt-wrap {
    width: 25.4%;
  }
}
section.sec-about div.about-box div.about-txt-wrap h3 {
  color: var(--color-ce);
  font-weight: 400;
  line-height: 1.83em;
  letter-spacing: 0.03em;
  font-size: calc(30 / 750 * 100vw);
  font-family: var(--font-gen-interface);
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  section.sec-about div.about-box div.about-txt-wrap h3 {
    font-weight: 400;
    line-height: 1.63em;
    letter-spacing: 0.03em;
    font-size: calc(22 / 1366 * 100vw);
    font-family: var(--font-gen-interface);
    margin-bottom: 1em;
  }
}
section.sec-about div.about-box div.about-txt-wrap p {
  color: var(--color-9e);
  font-weight: 300;
  line-height: 1.84em;
  letter-spacing: 0.04em;
  font-size: calc(26 / 750 * 100vw);
  font-family: var(--font-gen-interface);
}
@media screen and (min-width: 768px) {
  section.sec-about div.about-box div.about-txt-wrap p {
    font-weight: 300;
    line-height: 1.875em;
    letter-spacing: 0.04em;
    font-size: calc(16 / 1366 * 100vw);
    font-family: var(--font-gen-interface);
  }
}
section.sec-about div.about-box div.about-img-wrap {
  margin-top: calc(70 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-about div.about-box div.about-img-wrap {
    width: 66.2%;
    margin-top: 0;
  }
}

section.sec-lineup {
  color: #fff;
  box-sizing: border-box;
  padding: calc(200 / 750 * 100vw) 0 0;
}
@media screen and (min-width: 768px) {
  section.sec-lineup {
    padding: calc(180 / 1366 * 100vw) 0 0;
  }
}
section.sec-lineup div.lineup-lead-wrap {
  padding: 0 calc(40 / 750 * 100vw);
  margin-bottom: calc(110 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-lineup div.lineup-lead-wrap {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 91%;
    margin: 0 auto calc(70 / 1366 * 100vw);
  }
}
section.sec-lineup div.lineup-lead-wrap h2 {
  font-family: var(--font-barlow);
  font-style: italic;
  color: #fff;
  font-weight: 500;
  font-weight: 500;
  line-height: 1em;
  letter-spacing: -0.02em;
  font-size: calc(80 / 750 * 100vw);
  font-family: var(--font-barlow);
  font-style: italic;
  margin-bottom: calc(70 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-lineup div.lineup-lead-wrap h2 {
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -0.02em;
    font-size: calc(80 / 1366 * 100vw);
    font-family: var(--font-barlow);
    font-style: italic;
    margin-bottom: 0;
  }
}
section.sec-lineup div.lineup-lead-wrap div.lineup-lead-inner h3 {
  color: var(--color-ce);
  font-weight: 400;
  line-height: 1.83em;
  letter-spacing: 0.03em;
  font-size: calc(30 / 750 * 100vw);
  font-family: var(--font-gen-interface);
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  section.sec-lineup div.lineup-lead-wrap div.lineup-lead-inner h3 {
    font-weight: 400;
    line-height: 1.63em;
    letter-spacing: 0.03em;
    font-size: calc(22 / 1366 * 100vw);
    font-family: var(--font-gen-interface);
  }
}
section.sec-lineup div.lineup-lead-wrap div.lineup-lead-inner p {
  color: var(--color-9e);
  font-weight: 300;
  line-height: 1.84em;
  letter-spacing: 0.04em;
  font-size: calc(26 / 750 * 100vw);
  font-family: var(--font-gen-interface);
}
@media screen and (min-width: 768px) {
  section.sec-lineup div.lineup-lead-wrap div.lineup-lead-inner p {
    font-weight: 300;
    line-height: 1.875em;
    letter-spacing: 0.04em;
    font-size: calc(16 / 1366 * 100vw);
    font-family: var(--font-gen-interface);
  }
}
@media screen and (min-width: 768px) {
  section.sec-lineup div.lineup-link-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  section.sec-lineup div.lineup-link-wrap a {
    width: 50%;
  }
}
section.sec-lineup div.lineup-link-wrap a:hover div.lineup-img {
  opacity: 1;
}
section.sec-lineup div.lineup-link-wrap a:hover div.lineup-img img {
  transform: scale(1.03);
}
section.sec-lineup div.lineup-link-wrap a div.lineup-link-inner h3 {
  font-size: calc(55 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-lineup div.lineup-link-wrap a div.lineup-link-inner h3 {
    font-size: calc(60 / 1366 * 100vw);
  }
}
section.sec-lineup div.lineup-link-wrap a div.video-wrap video {
  width: 150%;
}
section.sec-lineup a {
  display: block;
  position: relative;
  color: #fff;
  overflow: hidden;
}
section.sec-lineup a::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  opacity: 0.6;
  z-index: 1;
  transition: all 0.3s;
}
section.sec-lineup a:hover::after {
  opacity: 0;
}
section.sec-lineup a:hover div.lineup-img img {
  transform: scale(1.03);
}
section.sec-lineup a:hover div.lineup-link-inner .arrow {
  background-color: #fff;
}
section.sec-lineup a:hover div.lineup-link-inner .arrow svg:nth-of-type(1) {
  transform: translate(100%, 0);
}
section.sec-lineup a:hover div.lineup-link-inner .arrow svg:nth-of-type(2) {
  transform: translate(0, 0);
}
section.sec-lineup a:hover div.lineup-link-inner .arrow svg path {
  stroke: #000;
}
section.sec-lineup a div.lineup-link-inner {
  position: absolute;
  bottom: calc(50 / 750 * 100vw);
  left: 0;
  box-sizing: border-box;
  width: 100%;
  z-index: 2;
  padding: 0 calc(40 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-lineup a div.lineup-link-inner {
    padding: 0 55px;
    bottom: calc(40 / 1366 * 100vw);
  }
}
section.sec-lineup a div.lineup-link-inner h3 {
  font-family: var(--font-google-sans-flex);
  font-weight: 400;
  line-height: 1em;
  font-size: calc(100 / 750 * 100vw);
  margin-bottom: 0.2em;
}
@media screen and (min-width: 768px) {
  section.sec-lineup a div.lineup-link-inner h3 {
    margin-bottom: 0.1em;
    font-size: calc(120 / 1366 * 100vw);
  }
}
section.sec-lineup a div.lineup-link-inner p {
  font-size: calc(30 / 750 * 100vw);
  line-height: 1.4em;
}
@media screen and (min-width: 768px) {
  section.sec-lineup a div.lineup-link-inner p {
    font-size: calc(18 / 1366 * 100vw);
  }
}
section.sec-lineup a div.lineup-link-inner p span {
  display: block;
  color: var(--color-ce);
  font-size: calc(24 / 750 * 100vw);
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  section.sec-lineup a div.lineup-link-inner p span {
    font-size: 0.83em;
    margin-left: 2em;
    display: inline-block;
  }
}
section.sec-lineup a div.lineup-link-inner .arrow {
  display: block;
  position: absolute;
  bottom: 1vw;
  right: calc(40 / 750 * 100vw);
  overflow: hidden;
  border-radius: 50em;
  border: solid 1px #fff;
  transition: all 0.3s;
  width: calc(115 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-lineup a div.lineup-link-inner .arrow {
    width: calc(57 / 1366 * 100vw);
    right: 55px;
    bottom: 0;
  }
}
section.sec-lineup a div.lineup-link-inner .arrow svg {
  transition: all 0.3s;
}
section.sec-lineup a div.lineup-link-inner .arrow svg:nth-of-type(1) {
  transform: translate(10%, 0);
}
@media screen and (min-width: 768px) {
  section.sec-lineup a div.lineup-link-inner .arrow svg:nth-of-type(1) {
    transform: translate(0);
  }
}
section.sec-lineup a div.lineup-link-inner .arrow svg:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-120%, 0);
}
section.sec-lineup a div.lineup-link-inner .arrow svg path {
  transition: all 0.3s;
}
section.sec-lineup a div.lineup-img {
  position: relative;
  z-index: 1;
  transition: all 0.3s;
}
section.sec-lineup a div.lineup-img img {
  transition: all 0.3s;
}
section.sec-lineup a div.video-wrap {
  position: relative;
  top: 0;
  left: 0;
  line-height: 0;
  height: calc(900 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-lineup a div.video-wrap {
    height: calc(540 / 1366 * 100vw);
  }
}
section.sec-lineup a video {
  height: 100%;
  position: relative;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  line-height: 0;
}
@media screen and (min-width: 768px) {
  section.sec-lineup a video {
    height: auto;
    min-height: auto;
    width: 100%;
  }
}

section.sec-rally {
  box-sizing: border-box;
  color: #fff;
  padding: 0 calc(40 / 750 * 100vw) 0;
}
@media screen and (min-width: 768px) {
  section.sec-rally {
    padding: 0 calc(85 / 1366 * 100vw) 0;
  }
}
section.sec-rally div.sec-rally-inner {
  background-color: var(--color-18);
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: calc(20 / 750 * 100vw);
  padding: calc(169 / 750 * 100vw) calc(54 / 750 * 100vw) calc(258 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-rally div.sec-rally-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-radius: 20px;
    padding: calc(96 / 1366 * 100vw) calc(68 / 1366 * 100vw);
  }
}
section.sec-rally div.sec-rally-inner div.rally-bg01_pc {
  position: absolute;
  top: 0;
  right: 0;
  width: 80%;
}
@media screen and (min-width: 768px) {
  section.sec-rally div.sec-rally-inner div.rally-bg01_pc {
    width: 43%;
  }
}
section.sec-rally div.sec-rally-inner div.rally-bg02_pc {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 80%;
}
@media screen and (min-width: 768px) {
  section.sec-rally div.sec-rally-inner div.rally-bg02_pc {
    width: 50%;
  }
}
section.sec-rally div.rally-txt-wrap {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-txt-wrap {
    width: 45%;
  }
}
section.sec-rally div.rally-txt-wrap h2 {
  line-height: 1.14em;
  font-family: var(--font-google-sans-flex);
  font-weight: 500;
  letter-spacing: -0.02em;
  font-size: calc(70 / 750 * 100vw);
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-txt-wrap h2 {
    font-size: calc(60 / 1366 * 100vw);
    margin-bottom: 0.6em;
  }
}
section.sec-rally div.rally-txt-wrap h2 .sm {
  display: block;
  line-height: 1em;
  font-size: calc(35 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-txt-wrap h2 .sm {
    font-size: 0.37em;
  }
}
section.sec-rally div.rally-txt-wrap div.rally-txt-inner h3 {
  margin-bottom: 0.8em;
  font-weight: 400;
  font-size: calc(30 / 750 * 100vw);
  line-height: 1.63em;
  color: var(--color-f8);
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-txt-wrap div.rally-txt-inner h3 {
    margin-bottom: 1em;
    font-size: calc(22 / 1366 * 100vw);
  }
}
section.sec-rally div.rally-txt-wrap div.rally-txt-inner p {
  font-family: var(--font-google-sans-flex);
  color: var(--color-ce);
  font-weight: 300;
  line-height: 1.84em;
  letter-spacing: 0.04em;
  font-size: calc(26 / 750 * 100vw);
  font-family: var(--font-gen-interface);
  line-height: 1.875em;
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-txt-wrap div.rally-txt-inner p {
    font-size: calc(16 / 1366 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-img-wrap {
    width: 53%;
    margin-top: calc(80 / 1366 * 100vw);
  }
}
section.sec-rally div.rally-img-wrap div.rally-img0102-wrap, section.sec-rally div.rally-img-wrap div.rally-img0304-wrap {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-img-wrap div.rally-img0102-wrap, section.sec-rally div.rally-img-wrap div.rally-img0304-wrap {
    -moz-column-gap: 15px;
         column-gap: 15px;
  }
}
section.sec-rally div.rally-img-wrap div.rally-img0102-wrap {
  align-items: flex-end;
}
section.sec-rally div.rally-img-wrap div.rally-img0304-wrap {
  justify-content: flex-end;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-img-wrap div.rally-img0304-wrap {
    margin-top: 15px;
  }
}
section.sec-rally div.rally-img-wrap div.rally-img {
  overflow: hidden;
  isolation: isolate;
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-img-wrap div.rally-img {
    border-radius: 5px;
  }
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-img-wrap div.rally-img01 {
    width: 57.6%;
  }
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-img-wrap div.rally-img02 {
    width: 37%;
  }
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-img-wrap div.rally-img03 {
    width: 30.4%;
  }
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-img-wrap div.rally-img04 {
    width: 52.8%;
  }
}
section.sec-rally div.rally-slider {
  display: flex;
  width: 680%;
  margin-top: calc(82 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-rally div.rally-slider {
    display: none;
  }
}
section.sec-rally div.rally-slider .slider {
  animation: scroll-left 40s infinite linear 0.5s both;
  display: flex;
}
section.sec-rally div.rally-slider .slide {
  padding-right: calc(20 / 750 * 100vw);
  box-sizing: border-box;
}
section.sec-rally div.rally-slider .slide img {
  border-radius: calc(10 / 750 * 100vw);
  overflow: hidden;
  isolation: isolate;
}

section.sec-event {
  box-sizing: border-box;
  padding-top: calc(247 / 750 * 100vw);
  padding-left: calc(40 / 750 * 100vw);
  padding-bottom: calc(80 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-event {
    padding-top: calc(190 / 1366 * 100vw);
    padding-left: calc(85 / 1366 * 100vw);
    padding-bottom: calc(90 / 1366 * 100vw);
  }
}
section.sec-event div.lineup-lead-wrap {
  margin-bottom: calc(110 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-event div.lineup-lead-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    width: 94%;
    margin-bottom: calc(90 / 1366 * 100vw);
  }
}
section.sec-event div.lineup-lead-wrap h2 {
  font-family: var(--font-barlow);
  font-style: italic;
  color: #fff;
  font-weight: 500;
  font-size: calc(110 / 750 * 100vw);
  margin-bottom: 0.6em;
}
@media screen and (min-width: 768px) {
  section.sec-event div.lineup-lead-wrap h2 {
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -0.02em;
    font-size: calc(80 / 1366 * 100vw);
    font-family: var(--font-barlow);
    font-style: italic;
    margin-bottom: 0;
  }
}
section.sec-event div.lineup-lead-wrap div.lineup-lead-inner h3 {
  color: var(--color-ce);
  font-size: calc(30 / 750 * 100vw);
  font-weight: 300;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  section.sec-event div.lineup-lead-wrap div.lineup-lead-inner h3 {
    font-weight: 400;
    line-height: 1.63em;
    letter-spacing: 0.03em;
    font-size: calc(22 / 1366 * 100vw);
    font-family: var(--font-gen-interface);
    font-size: calc(20 / 1366 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  section.sec-event div.lineup-lead-wrap div.lineup-lead-inner h3 br {
    display: none;
  }
}
section.sec-event h3 {
  color: #fff;
  font-size: calc(50 / 750 * 100vw);
  font-weight: 500;
  font-style: italic;
}
@media screen and (min-width: 768px) {
  section.sec-event h3 {
    font-weight: 500;
    line-height: 0.5em;
    letter-spacing: -0.02em;
    font-size: calc(40 / 1366 * 100vw);
    font-family: var(--font-barlow);
    font-style: italic;
  }
}
section.sec-event div.event-slide-wrap {
  margin-top: calc(60 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap {
    margin-top: calc(40 / 1366 * 100vw);
  }
}
section.sec-event div.event-slide-wrap div.splide__arrows {
  position: absolute;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  top: -14vw;
  right: 5vw;
  -moz-column-gap: calc(10 / 750 * 100vw);
       column-gap: calc(10 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__arrows {
    -moz-column-gap: calc(7 / 1366 * 100vw);
         column-gap: calc(7 / 1366 * 100vw);
    top: -4.3vw;
    right: auto;
    left: calc(150 / 1366 * 100vw);
  }
}
section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow {
  background: none;
  position: revert;
  transform: translate(0);
  border-radius: 50em;
  border: solid 1px #fff;
  transition: all 0.3s;
  width: calc(115 / 750 * 100vw);
  height: calc(50 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow {
    width: calc(57 / 1366 * 100vw);
    height: calc(25 / 1366 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow:hover {
    background: #fff;
  }
  section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow:hover .arrow svg:nth-of-type(1) {
    transform: translate(100%, 0);
  }
  section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow:hover .arrow svg:nth-of-type(2) {
    transform: translate(0, 0);
  }
  section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow:hover .arrow svg path {
    stroke: #000;
  }
}
section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow:disabled {
  pointer-events: none;
}
section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow.splide__arrow--prev {
  transform: rotate(180deg);
}
section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow .arrow {
  overflow: hidden;
  position: relative;
  width: calc(25 / 750 * 100vw);
  transform: translate(70%, 0);
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow .arrow {
    transform: translate(0);
    width: calc(12 / 1366 * 100vw);
  }
}
section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow .arrow svg {
  transition: all 0.3s;
}
section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow .arrow svg:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-120%, 0);
}
section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow .arrow svg path {
  transition: all 0.3s;
}
section.sec-event div.event-slide-wrap div.splide__arrows .splide__arrow svg {
  fill: none;
  height: 100%;
  width: 100%;
  transform: translate(0);
}
section.sec-event div.event-slide-wrap div.splide__slide {
  background: #fff;
  display: flex;
  flex-direction: column;
  border-radius: calc(10 / 750 * 100vw);
  overflow: hidden;
  isolation: isolate;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__slide {
    box-sizing: border-box;
    border-radius: 10px;
    border: solid 1px #000;
  }
  section.sec-event div.event-slide-wrap div.splide__slide:hover {
    border: solid 1px #fff;
  }
}
section.sec-event div.event-slide-wrap div.splide__slide a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__slide a:hover div.event-img img {
    transform: scale(1.04);
  }
}
section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap {
  box-sizing: border-box;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: calc(48 / 750 * 100vw) calc(40 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap {
    padding: calc(42 / 1366 * 100vw) calc(40 / 1366 * 100vw);
  }
}
section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap h4 {
  font-size: calc(28 / 750 * 100vw);
  font-weight: 500;
  line-height: 1.5em;
  flex: 1;
  margin-bottom: calc(116 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap h4 {
    font-size: calc(22 / 1366 * 100vw);
    margin-bottom: calc(73 / 1366 * 100vw);
  }
}
section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap .time-txt {
  color: var(--color-7e);
  line-height: 1em;
  margin-bottom: 1em;
  font-size: calc(20 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap .time-txt {
    font-size: calc(13 / 1366 * 100vw);
  }
}
section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap .time-info {
  line-height: 1em;
  font-size: calc(60 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap .time-info {
    font-size: calc(50 / 1366 * 100vw);
  }
}
section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap .time-info span {
  display: inline-block;
  position: relative;
  margin-right: 0.4em;
}
section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap .time-info span:last-child::after {
  content: none;
}
section.sec-event div.event-slide-wrap div.splide__slide div.event-txt-wrap .time-info span::after {
  content: "";
  display: block;
  width: 1px;
  height: 0.4em;
  position: absolute;
  top: 0.3em;
  right: -0.4em;
  background-color: var(--color-ce);
}
section.sec-event div.event-slide-wrap div.splide__slide div.event-img {
  flex-shrink: 0;
  overflow: hidden;
  isolation: isolate;
}
section.sec-event div.event-slide-wrap div.splide__slide div.event-img img {
  transition: all 0.3s;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 598/365;
}
@media screen and (min-width: 768px) {
  section.sec-event div.event-slide-wrap div.splide__slide div.event-img img {
    aspect-ratio: 426/250;
  }
}

.lineup-slider-wrapper {
  overflow: hidden;
  width: 100%;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .lineup-slider-wrapper {
    margin-top: calc(205 / 1366 * 100vw);
  }
}
.lineup-slider-wrapper div.lineup-slider {
  display: flex;
  width: 500%;
}
@media screen and (min-width: 768px) {
  .lineup-slider-wrapper div.lineup-slider {
    width: 490%;
  }
}
.lineup-slider-wrapper .slider {
  animation: scroll-left 40s infinite linear 0.5s both;
  display: flex;
}
.lineup-slider-wrapper .slide {
  padding-right: calc(8 / 750 * 100vw);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .lineup-slider-wrapper .slide {
    padding-right: 20px;
  }
}
.lineup-slider-wrapper .slide img {
  overflow: hidden;
  isolation: isolate;
}
@media screen and (min-width: 768px) {
  .lineup-slider-wrapper .slide img {
    border-radius: 10px;
  }
}
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

.parts-video {
  position: relative;
}
.parts-video video {
  display: block;
  width: 100%;
}

section.sec-parts {
  background: rgba(0, 0, 0, 0.6);
  position: relative;
  z-index: 0;
  padding: calc(200 / 750 * 100vw) 0 0;
}
@media screen and (min-width: 768px) {
  section.sec-parts {
    padding-top: calc(180 / 1366 * 100vw);
    padding-bottom: calc(118 / 1366 * 100vw);
  }
}
section.sec-parts::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  z-index: -1;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}
section.sec-parts div.video-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
section.sec-parts div.video-bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1;
}
section.sec-parts div.video-bg::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  backdrop-filter: blur(15px);
  background-image: linear-gradient(900deg, rgba(0, 0, 0, 0), rgb(0, 0, 0));
}
section.sec-parts div.video-bg video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}
section.sec-parts div.parts-lead-box-wrap {
  box-sizing: border-box;
  padding: 0 calc(40 / 750 * 100vw);
  position: relative;
}
@media screen and (min-width: 768px) {
  section.sec-parts div.parts-lead-box-wrap {
    padding: 0 30px;
  }
}
section.sec-parts div.parts-lead-box {
  margin-bottom: calc(145 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-parts div.parts-lead-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 91%;
    margin: 0 auto calc(58 / 1366 * 100vw);
  }
}
section.sec-parts div.parts-lead-box div.parts-title h2 {
  color: #fff;
  font-weight: 500;
  line-height: 1em;
  letter-spacing: -0.02em;
  font-size: calc(80 / 750 * 100vw);
  font-family: var(--font-barlow);
  font-style: italic;
}
@media screen and (min-width: 768px) {
  section.sec-parts div.parts-lead-box div.parts-title h2 {
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -0.02em;
    font-size: calc(80 / 1366 * 100vw);
    font-family: var(--font-barlow);
    font-style: italic;
  }
}
section.sec-parts div.parts-lead-box div.parts-title a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  box-sizing: border-box;
  line-height: 1.2em;
  padding: 0.4em 1.2em;
  font-size: calc(22 / 750 * 100vw);
  font-family: var(--font-barlow);
  margin-top: 2.4em;
  width: calc(186 / 750 * 100vw);
  border: solid 1px;
  border-radius: 50em;
  position: absolute;
  right: calc(40 / 750 * 100vw);
  bottom: 0;
  transform: translate(0, 150%);
}
@media screen and (min-width: 768px) {
  section.sec-parts div.parts-lead-box div.parts-title a {
    transform: translate(0);
    position: relative;
    left: 0;
    top: 0;
    bottom: 0;
    padding: 0.4em 1em;
    font-size: calc(14 / 1366 * 100vw);
    width: 8em;
    transition: all 0.3s;
  }
  section.sec-parts div.parts-lead-box div.parts-title a:hover {
    background: #fff;
    color: #000;
  }
  section.sec-parts div.parts-lead-box div.parts-title a:hover .arrow svg:nth-of-type(1) {
    transform: translate(100%, 0);
  }
  section.sec-parts div.parts-lead-box div.parts-title a:hover .arrow svg:nth-of-type(2) {
    transform: translate(0, 0);
  }
  section.sec-parts div.parts-lead-box div.parts-title a:hover .arrow svg path {
    stroke: #000;
  }
}
section.sec-parts div.parts-lead-box div.parts-title a span {
  display: block;
}
section.sec-parts div.parts-lead-box div.parts-title a span.arrow {
  width: 1em;
  overflow: hidden;
  position: relative;
  width: 1em;
}
section.sec-parts div.parts-lead-box div.parts-title a span.arrow svg {
  transition: all 0.3s;
}
section.sec-parts div.parts-lead-box div.parts-title a span.arrow svg:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-120%, 0);
}
section.sec-parts div.parts-lead-box div.parts-title a span.arrow svg path {
  transition: all 0.3s;
}
section.sec-parts div.parts-lead-box div.parts-lead-inner {
  margin-top: calc(50 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-parts div.parts-lead-box div.parts-lead-inner {
    margin-top: calc(35 / 1366 * 100vw);
  }
}
section.sec-parts div.parts-lead-box div.parts-lead-inner h3 {
  color: var(--color-ce);
  font-weight: 400;
  line-height: 1.83em;
  letter-spacing: 0.03em;
  font-size: calc(30 / 750 * 100vw);
  font-family: var(--font-gen-interface);
  margin-bottom: 0.6em;
}
@media screen and (min-width: 768px) {
  section.sec-parts div.parts-lead-box div.parts-lead-inner h3 {
    font-weight: 400;
    line-height: 1.63em;
    letter-spacing: 0.03em;
    font-size: calc(22 / 1366 * 100vw);
    font-family: var(--font-gen-interface);
    margin-bottom: 1em;
  }
}
section.sec-parts div.parts-lead-box div.parts-lead-inner p {
  color: var(--color-9e);
  font-weight: 300;
  line-height: 1.84em;
  letter-spacing: 0.04em;
  font-size: calc(26 / 750 * 100vw);
  font-family: var(--font-gen-interface);
}
@media screen and (min-width: 768px) {
  section.sec-parts div.parts-lead-box div.parts-lead-inner p {
    font-weight: 300;
    line-height: 1.875em;
    letter-spacing: 0.04em;
    font-size: calc(16 / 1366 * 100vw);
    font-family: var(--font-gen-interface);
  }
}
section.sec-parts div.pickup-cont {
  box-sizing: border-box;
  overflow: hidden;
  padding-left: calc(40 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-parts div.pickup-cont {
    padding-left: 30px;
  }
}
section.sec-parts div.pickup-cont h4 {
  font-weight: 400;
  color: var(--color-ce);
  font-size: calc(18 / 750 * 100vw);
  font-family: var(--font-google-sans-flex);
}
@media screen and (min-width: 768px) {
  section.sec-parts div.pickup-cont h4 {
    font-size: calc(12 / 1366 * 100vw);
  }
}
section.sec-parts div.pickup-cont div.pickup-slider {
  display: flex;
  width: 580%;
  margin-top: calc(30 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-parts div.pickup-cont div.pickup-slider {
    width: 200%;
    margin-top: calc(17 / 1366 * 100vw);
  }
}
section.sec-parts div.pickup-cont div.pickup-slider .slider {
  animation: scroll-left 40s infinite linear 0.5s both;
  display: flex;
}
section.sec-parts div.pickup-cont div.pickup-slider .slide {
  padding-right: calc(8 / 750 * 100vw);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  section.sec-parts div.pickup-cont div.pickup-slider .slide {
    padding-right: 0.6%;
  }
}
section.sec-parts div.pickup-cont div.pickup-slider .slide img {
  overflow: hidden;
  isolation: isolate;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.flex-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner img {
  overflow: hidden;
  isolation: isolate;
  border-radius: calc(5 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-parts div.pickup-cont div.pickup-cont-inner img {
    border-radius: 5px;
  }
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap01 {
  width: 26.9%;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap01 div.parts-img01, section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap01 div.parts-img02 {
  width: 48.6%;
  margin-bottom: 2.4%;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap02 {
  width: 19.64%;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap02 div.parts-img04 {
  margin-bottom: 3%;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap03 {
  width: 19.2%;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap04 {
  width: 32.9%;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap04 div.parts-img07 {
  width: 41%;
  margin-bottom: 1.8%;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap04 div.parts-img08 {
  width: 57.4%;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap04 div.parts-img09 {
  width: 48.7%;
}
section.sec-parts div.pickup-cont div.pickup-cont-inner div.parts-img-wrap04 div.parts-img10 {
  width: 49.2%;
}

section.sec-shop, section.sec-staff {
  box-sizing: border-box;
  padding: calc(200 / 750 * 100vw) calc(40 / 750 * 100vw) 0;
}
@media screen and (min-width: 768px) {
  section.sec-shop, section.sec-staff {
    padding: calc(70 / 1366 * 100vw) 30px 0;
  }
}
@media screen and (min-width: 768px) {
  section.sec-shop div.sec-shop-inner, section.sec-shop div.sec-staff-inner, section.sec-staff div.sec-shop-inner, section.sec-staff div.sec-staff-inner {
    width: 91%;
    margin: auto;
  }
}
section.sec-shop h3, section.sec-staff h3 {
  line-height: 1em;
  color: #fff;
  font-weight: 500;
  font-family: var(--font-barlow);
  font-style: italic;
  margin-bottom: 1em;
  font-size: calc(60 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-shop h3, section.sec-staff h3 {
    font-size: calc(40 / 1366 * 100vw);
    margin-bottom: calc(40 / 1366 * 100vw);
  }
}

section.sec-shop {
  color: #fff;
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-flex-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
}
section.sec-shop div.shop-slide-wrap {
  box-sizing: border-box;
  width: calc(637 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-slide-wrap {
    width: 49.4%;
  }
}
section.sec-shop div.shop-slide-wrap .splide__track {
  overflow: hidden;
  isolation: isolate;
  border-radius: calc(5 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-slide-wrap .splide__track {
    border-radius: 5px;
  }
}
section.sec-shop div.shop-slide-wrap .splide__pagination {
  right: 0;
  bottom: calc(-40 / 750 * 100vw);
  gap: calc(13 / 750 * 100vw);
  justify-content: flex-end;
  padding: 0;
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-slide-wrap .splide__pagination {
    right: 0;
    bottom: calc(-30 / 1366 * 100vw);
    gap: calc(13 / 1366 * 100vw);
  }
}
section.sec-shop div.shop-slide-wrap .splide__pagination li {
  line-height: 0;
}
section.sec-shop div.shop-slide-wrap .splide__pagination li button.splide__pagination__page {
  margin: 0;
  background: var(--color-5e);
  width: calc(8 / 750 * 100vw);
  height: calc(8 / 750 * 100vw);
  opacity: 1;
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-slide-wrap .splide__pagination li button.splide__pagination__page {
    width: calc(6 / 1366 * 100vw);
    height: calc(6 / 1366 * 100vw);
  }
}
section.sec-shop div.shop-slide-wrap .splide__pagination li button.splide__pagination__page.is-active {
  background-color: var(--color-f8);
  transform: scale(1);
}
section.sec-shop div.shop-txt-wrap {
  margin-top: calc(70 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-txt-wrap {
    margin-top: 0;
    width: 35.6%;
  }
}
section.sec-shop div.shop-txt-wrap div.shop-lead-wrap {
  border-bottom: solid 1px var(--color-5e);
  padding-bottom: calc(50 / 750 * 100vw);
  margin-bottom: calc(70 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-txt-wrap div.shop-lead-wrap {
    padding-bottom: calc(50 / 1366 * 100vw);
    margin-bottom: calc(50 / 1366 * 100vw);
  }
}
section.sec-shop div.shop-txt-wrap div.shop-lead-wrap h4 {
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2em;
  margin-bottom: 0.8em;
  font-size: calc(40 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-txt-wrap div.shop-lead-wrap h4 {
    font-size: calc(26 / 1366 * 100vw);
  }
}
section.sec-shop div.shop-txt-wrap div.shop-lead-wrap p {
  color: var(--color-9e);
  font-weight: 300;
  line-height: 1.84em;
  letter-spacing: 0.04em;
  font-size: calc(26 / 750 * 100vw);
  font-family: var(--font-gen-interface);
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-txt-wrap div.shop-lead-wrap p {
    font-weight: 300;
    line-height: 1.875em;
    letter-spacing: 0.04em;
    font-size: calc(16 / 1366 * 100vw);
    font-family: var(--font-gen-interface);
  }
}
section.sec-shop div.shop-txt-wrap div.shop-info-wrap div.logo-img {
  width: calc(340 / 750 * 100vw);
  margin-bottom: calc(55 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-txt-wrap div.shop-info-wrap div.logo-img {
    width: 48.2%;
    margin-bottom: calc(40 / 1366 * 100vw);
  }
}
section.sec-shop div.shop-txt-wrap div.shop-info-wrap dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: calc(5 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-txt-wrap div.shop-info-wrap dl {
    margin-bottom: calc(5 / 1366 * 100vw);
  }
}
section.sec-shop div.shop-txt-wrap div.shop-info-wrap dl:last-child {
  margin-bottom: 0;
}
section.sec-shop div.shop-txt-wrap div.shop-info-wrap dl dt {
  color: var(--color-9e);
  font-weight: 400;
  line-height: 1.2em;
  font-size: calc(24 / 750 * 100vw);
  width: 15%;
  transform: translate(0, 0.5em);
  font-family: var(--font-google-sans-flex);
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-txt-wrap div.shop-info-wrap dl dt {
    width: 15%;
    font-size: max(10px, 12 / 1366 * 100vw);
    transform: translate(0, 0.7em);
  }
}
section.sec-shop div.shop-txt-wrap div.shop-info-wrap dl dd {
  line-height: 1.66em;
  font-size: calc(28 / 750 * 100vw);
  width: 85%;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  section.sec-shop div.shop-txt-wrap div.shop-info-wrap dl dd {
    width: 85%;
    font-size: calc(18 / 1366 * 100vw);
  }
}
section.sec-shop div.shop-txt-wrap div.shop-info-wrap dl dd span.small {
  font-size: 0.8em;
}
section.sec-shop div.shop-txt-wrap div.shop-info-wrap dl dd a {
  color: #fff;
}

section.sec-staff {
  padding: calc(200 / 750 * 100vw) 0 calc(160 / 750 * 100vw) calc(40 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-staff {
    padding: calc(70 / 1366 * 100vw) 0 calc(152 / 1366 * 100vw) 30px;
  }
}
@media screen and (min-width: 768px) {
  section.sec-staff div.sec-shop-inner, section.sec-staff div.sec-staff-inner {
    width: 95.5%;
    margin: 0 0 0 auto;
  }
}
section.sec-staff .splide__slide {
  background-color: #fff;
  width: 32.2%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  border-radius: calc(10 / 750 * 100vw);
  padding: calc(70 / 750 * 100vw) calc(36 / 750 * 100vw) calc(36 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-staff .splide__slide {
    border-radius: 10px;
    padding: calc(54 / 1366 * 100vw) calc(28 / 1366 * 100vw) calc(30 / 1366 * 100vw);
  }
}
@media screen and (min-width: 1000px) {
  section.sec-staff .splide__slide {
    padding: calc(57 / 1366 * 100vw) calc(28 / 1366 * 100vw) calc(30 / 1366 * 100vw);
  }
}
section.sec-staff .splide__slide div.staff-txt-wrap {
  flex: 1;
}
section.sec-staff .splide__slide p.en-txt {
  color: var(--color-7e);
  font-weight: 300;
  line-height: 1em;
  text-align: right;
  font-size: calc(20 / 750 * 100vw);
  margin-bottom: calc(50 / 750 * 100vw);
  font-style: italic;
  transform: translate(0.5em, 0);
  font-family: var(--font-google-sans-flex);
}
@media screen and (min-width: 768px) {
  section.sec-staff .splide__slide p.en-txt {
    transform: translate(0.8em, 0);
    font-size: calc(12 / 1366 * 100vw);
    margin-bottom: calc(51 / 1366 * 100vw);
  }
}
section.sec-staff .splide__slide h4.staff-copy {
  font-size: calc(28 / 750 * 100vw);
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.03em;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  section.sec-staff .splide__slide h4.staff-copy {
    font-size: calc(20 / 1366 * 100vw);
    font-weight: 400;
  }
}
@media screen and (min-width: 1000px) {
  section.sec-staff .splide__slide h4.staff-copy {
    font-size: calc(21 / 1366 * 100vw);
  }
}
section.sec-staff .splide__slide p.staff-txt {
  font-size: calc(24 / 750 * 100vw);
  line-height: 1.75em;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  section.sec-staff .splide__slide p.staff-txt {
    font-weight: 300;
    line-height: 1.84em;
    letter-spacing: 0.04em;
    font-size: calc(13 / 1366 * 100vw);
    font-family: var(--font-gen-interface);
  }
}
section.sec-staff .splide__slide div.staff-img-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: calc(90 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-staff .splide__slide div.staff-img-wrap {
    margin-top: calc(80 / 1366 * 100vw);
  }
}
section.sec-staff .splide__slide div.staff-img-wrap div.staff-img {
  overflow: hidden;
  isolation: isolate;
  width: 46%;
  border-radius: calc(7 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-staff .splide__slide div.staff-img-wrap div.staff-img {
    width: 37.5%;
    border-radius: 7px;
  }
}
section.sec-staff .splide__slide div.staff-img-wrap div.staff-name-wrap {
  width: 43%;
}
@media screen and (min-width: 768px) {
  section.sec-staff .splide__slide div.staff-img-wrap div.staff-name-wrap {
    width: 55%;
  }
}
section.sec-staff .splide__slide div.staff-img-wrap div.staff-name-wrap p.name {
  font-weight: 400;
  font-size: calc(28 / 750 * 100vw);
  line-height: 1.2em;
}
@media screen and (min-width: 768px) {
  section.sec-staff .splide__slide div.staff-img-wrap div.staff-name-wrap p.name {
    font-size: calc(20 / 1366 * 100vw);
  }
}
section.sec-staff .splide__slide div.staff-img-wrap div.staff-name-wrap p.position {
  color: var(--color-red);
  font-weight: 400;
  line-height: 1.2em;
  margin-top: 1em;
  font-size: calc(18 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  section.sec-staff .splide__slide div.staff-img-wrap div.staff-name-wrap p.position {
    font-size: calc(11 / 1366 * 100vw);
  }
}

footer {
  position: relative;
  box-sizing: border-box;
  background: #000;
  z-index: 10;
  padding: calc(20 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  footer {
    padding: 30px;
  }
}
footer div.footer-bg {
  background-color: var(--color-18);
  padding: calc(100 / 750 * 100vw) calc(46 / 750 * 100vw) calc(60 / 750 * 100vw);
  border-radius: calc(20 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  footer div.footer-bg {
    border-radius: 20px;
    padding: calc(60 / 1366 * 100vw) 0 calc(40 / 1366 * 100vw);
  }
}
footer div.footer-inner {
  margin: auto;
}
@media screen and (min-width: 768px) {
  footer div.footer-inner {
    width: 91%;
    margin: auto;
  }
}
footer div.ul-wrap {
  /*display: flex;
  column-gap: spvw(96);*/
}
@media screen and (min-width: 768px) {
  footer div.ul-wrap {
    display: block;
  }
}
footer ul.l-list, footer ul.s-list {
  font-family: var(--font-google-sans-flex);
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  footer ul.l-list, footer ul.s-list {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1.4em;
         column-gap: 1.4em;
  }
}
footer ul.l-list li, footer ul.s-list li {
  margin-bottom: 0.8em;
}
@media screen and (min-width: 768px) {
  footer ul.l-list li, footer ul.s-list li {
    margin-bottom: 0;
  }
}
footer ul.l-list a, footer ul.s-list a {
  display: inline-block;
  color: #fff;
  line-height: 1em;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  footer ul.l-list a:hover, footer ul.s-list a:hover {
    color: var(--color-red);
  }
}
footer ul.l-list {
  font-size: calc(50 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  footer ul.l-list {
    font-size: calc(26 / 1366 * 100vw);
  }
}
footer ul.s-list {
  font-size: calc(32 / 750 * 100vw);
  margin-top: calc(120 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  footer ul.s-list {
    font-size: calc(18 / 1366 * 100vw);
    margin-top: calc(45 / 1366 * 100vw);
  }
}
footer div.ft-logo-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: calc(210 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  footer div.ft-logo-wrap {
    margin-top: calc(182 / 1366 * 100vw);
  }
}
footer div.ft-logo-wrap a.gr-logo {
  display: block;
  width: calc(281 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  footer div.ft-logo-wrap a.gr-logo {
    width: 30.4%;
  }
}
footer div.ft-logo-wrap a.oktp-logo {
  display: block;
  width: calc(176 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  footer div.ft-logo-wrap a.oktp-logo {
    width: 13.6%;
  }
}/*# sourceMappingURL=gr.css.map */