/* ////////////////////////////////////////////////////////////

index CSS

//////////////////////////////////////////////////////////// */
/* ============================================================
 #Layout
============================================================ */
/* Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body {
  line-height: 1.5;
  margin: 0;
  padding: 0;
  color: #fff;
  background-color: #000;
  font-weight: 400;
  font-family: Bozon, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

img,
picture {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Root */
.p-page {
  overflow-x: hidden;
}

/* ============================================================
 #Component
============================================================ */
/* Loader */
@keyframes tcc-loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.p-page #js-loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 100;
  background-color: white;
  transition: all 0.3s;
  text-align: center;
  opacity: 1;
}

.p-page #js-loading > div {
  border: 4px solid rgba(38, 46, 49, 0.2);
  border-top-color: #262E31;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  margin-top: -30px;
  margin-left: -30px;
  border: 4px solid #ccc;
  border-top-color: #666;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-animation: tcc-loading 1.2s linear infinite;
  animation: tcc-loading 1.2s linear infinite;
}

.p-page #js-loading.js-loading-complete {
  opacity: 0;
  visibility: hidden;
}

/* Button */
.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0;
  text-decoration: none;
  cursor: pointer;
}

/* link */
@media screen and (pointer: fine) {
  .c-link-fade {
    transition: opacity 0.5s 0s ease;
  }
  .c-link-fade:hover {
    opacity: 0.7;
  }
}
/* Logo */
.c-tec-logo,
.c-tec-c-logo,
.c-theme-logo {
  line-height: 1;
}
.c-tec-logo img,
.c-tec-c-logo img,
.c-theme-logo img {
  width: 100%;
  max-width: none;
  height: auto;
}

/* Path */
.c-item-path {
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-miterlimit: 10;
  stroke-width: 2px;
}

/* Item slider */
.c-item-slider {
  position: relative;
}
.c-item-slider .swiper {
  height: 100%;
}
.c-item-slider .swiper-3d {
  perspective: none;
}
.c-item-slider .swiper-slide {
  overflow: hidden;
  box-sizing: border-box;
}
.c-item-slider .swiper-slide .p-item,
.c-item-slider .swiper-slide div[data-swiper-parallax-x] {
  height: 100%;
}
.c-item-slider .swiper-slide img {
  width: 100%;
}
.c-item-slider .swiper-button-prev,
.c-item-slider .swiper-button-next {
  top: 0;
  width: 2.125rem;
  height: 2.125rem;
  overflow: hidden;
  background: transparent;
  transition: 0.5s 0s ease;
}
.c-item-slider .swiper-button-prev::before, .c-item-slider .swiper-button-prev::after,
.c-item-slider .swiper-button-next::before,
.c-item-slider .swiper-button-next::after {
  content: none;
}
.c-item-slider .swiper-button-prev.swiper-button-disabled,
.c-item-slider .swiper-button-next.swiper-button-disabled {
  opacity: 0;
}
.c-item-slider .swiper-button-prev .arrow,
.c-item-slider .swiper-button-next .arrow {
  position: relative;
  display: inline-block;
  width: 10px;
  height: 30px;
}
.c-item-slider .swiper-button-prev .arrow::before, .c-item-slider .swiper-button-prev .arrow::after,
.c-item-slider .swiper-button-next .arrow::before,
.c-item-slider .swiper-button-next .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  width: 18.1px;
  height: 1px;
  border-radius: 0;
  background-color: #fff;
}
@media screen and (pointer: fine) {
  .c-item-slider .swiper-button-prev:hover,
  .c-item-slider .swiper-button-next:hover {
    opacity: 0.7;
  }
}
.c-item-slider .swiper-button-prev {
  left: 1.9323671498%;
}
.c-item-slider .swiper-button-prev .arrow::before, .c-item-slider .swiper-button-prev .arrow::after {
  left: 0;
  transform-origin: 0.5px 50%;
}
.c-item-slider .swiper-button-prev .arrow::before {
  transform: rotate(58.15deg);
}
.c-item-slider .swiper-button-prev .arrow::after {
  transform: rotate(-58.15deg);
}
.c-item-slider .swiper-button-next {
  right: 1.9323671498%;
}
.c-item-slider .swiper-button-next .arrow::before, .c-item-slider .swiper-button-next .arrow::after {
  right: 0;
  transform-origin: calc(100% - 0.5px) 50%;
}
.c-item-slider .swiper-button-next .arrow::after {
  transform: rotate(-58.15deg);
}
.c-item-slider .swiper-button-next .arrow::before {
  transform: rotate(58.15deg);
}
.c-item-slider .swiper-pagination {
  bottom: 0;
  line-height: 1;
  margin-bottom: 4.347826087%;
  font-size: 0;
}
.c-item-slider .swiper-pagination-bullet {
  width: 0.3125rem;
  height: 0.3125rem;
  border: 0.5px solid #fff;
  background: transparent;
  opacity: 1;
}
.c-item-slider .swiper-pagination-bullet-active {
  background: #fff;
}
.c-item-slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 0.3125rem;
}

@media screen and (max-width: 767.98px) {
  .c-item-slider .swiper-button-prev,
  .c-item-slider .swiper-button-next {
    margin-top: calc(74.8792270531% - 1.0625rem);
  }
}
/* Loop text */
.c-loop-text {
  display: flex;
  width: 100%;
  line-height: 1.5;
  overflow: hidden;
  color: #fff;
  font-weight: 400;
  font-family: "Grantha Sangam MN", sans-serif;
  letter-spacing: 0.05em;
  pointer-events: none;
}
.c-loop-text__inner {
  flex-shrink: 0;
  white-space: nowrap;
}
.c-loop-text__inner:nth-child(odd) {
  animation: MoveLeft 80s -40s infinite linear;
}
.c-loop-text__inner:nth-child(even) {
  animation: MoveLeft2 80s infinite linear;
}

@media print, screen and (min-width: 768px) {
  .c-loop-text {
    font-size: max(1.0248901903vw, 0.875rem);
  }
}
@media screen and (max-width: 767.98px) {
  .c-loop-text {
    font-size: 2.6666666667vw;
  }
}
@keyframes MoveLeft {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes MoveLeft2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
/*.Theme banner */
.c-theme-banner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.c-theme-banner__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FF0000;
}
.c-theme-banner__logo {
  position: relative;
  line-height: 1;
  margin: 0;
}
.c-theme-banner__logo img {
  width: 100%;
  max-width: none;
  height: auto;
}
.c-theme-banner__msg {
  position: relative;
  line-height: 1;
  margin: 0;
}
.c-theme-banner__msg img {
  width: 100%;
  max-width: none;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .c-theme-banner {
    gap: 1.6837481698vw;
    padding-top: 2.417302799%;
    padding-bottom: 2.2900763359%;
  }
  .c-theme-banner__logo {
    width: 28.4040995608%;
  }
  .c-theme-banner__msg {
    width: 27.0863836018%;
  }
}
@media screen and (max-width: 767.98px) {
  .c-theme-banner {
    gap: 3.6231884058vw;
    padding-top: 3.1400966184%;
    padding-bottom: 3.3816425121%;
  }
  .c-theme-banner__logo {
    width: 62.3188405797%;
  }
  .c-theme-banner__msg {
    width: 60.38647343%;
  }
}
/* Animation initial state */
[class*=js-fade-] {
  opacity: 0;
  visibility: hidden;
}

[class*=js-flip] span {
  display: inline-block;
}

/* ============================================================
 #Project
============================================================ */
/* Navigation */
body {
  height: 100%;
  min-height: 100vh;
}

.p-page {
  height: 100%;
}

.p-main {
  position: relative;
  height: 100%;
}

.p-page-nav {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 3.6603221083%;
  z-index: 2;
  height: fit-content;
  margin: auto 0;
  transition: opacity 0.5s 0s ease;
}
.is-wt .p-page-nav {
  color: #000;
}
.is-bottom .p-page-nav {
  position: absolute;
  top: auto;
  bottom: 3.125rem;
}
.p-page-nav__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0.625rem, 1.953125vh, 0.9375rem);
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-weight: 400;
  font-family: "Outfit";
  font-size: 0.75rem;
  letter-spacing: 0.02em;
}
.p-page-nav__list .sup {
  display: inline-block;
  position: relative;
  top: -0.25em;
  left: -0.0416666667em;
  margin-right: 0.3333333333em;
  transform: scale(0.7);
}
.p-page-nav__list .va {
  letter-spacing: 0.04em;
}
.p-page-nav__list > li {
  width: 100%;
  height: 2.8333333333em;
  transition: color 0.5s 0s ease;
}
.p-page-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  text-decoration: none;
  pointer-events: none;
}
.p-page-nav a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: -1;
  right: -0.8333333333em;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg width='35' height='35' viewBox='0 0 35 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.4601 34.61C26.9317 34.61 34.6101 26.9317 34.6101 17.46C34.6101 7.98831 26.9317 0.309998 17.4601 0.309998C7.98837 0.309998 0.310059 7.98831 0.310059 17.46C0.310059 26.9317 7.98837 34.61 17.4601 34.61Z' stroke='white' stroke-width='0.61' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  opacity: 0;
  transition: 0.5s 0s ease;
}
.is-wt .p-page-nav a::after {
  background-image: url("data:image/svg+xml,%3Csvg width='35' height='35' viewBox='0 0 35 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.4601 34.61C26.9317 34.61 34.6101 26.9317 34.6101 17.46C34.6101 7.98831 26.9317 0.309998 17.4601 0.309998C7.98837 0.309998 0.310059 7.98831 0.310059 17.46C0.310059 26.9317 7.98837 34.61 17.4601 34.61Z' stroke='black' stroke-width='0.61' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
}
.p-page-nav .is-nav-active {
  color: #ff0000;
}
.p-page-nav .is-nav-active a::after {
  opacity: 1;
}

@media screen and (min-height: 768px) and (orientation: portrait) {
  .p-page-nav {
    top: clamp(11.875rem, 24.7395833333vh, 12.5rem);
    bottom: auto;
    margin: 0;
  }
  .p-page-nav.is-bottom {
    position: fixed;
    top: clamp(11.875rem, 24.7395833333vh, 12.5rem);
    bottom: auto;
    opacity: 0 !important;
  }
}
@media screen and (max-width: 767.98px) {
  .p-page-nav {
    top: 0;
    bottom: auto;
    left: 0.4830917874%;
    margin: 19.3236714976% 0 0;
  }
  .is-bottom .p-page-nav {
    position: fixed;
    top: 0;
    bottom: auto;
    opacity: 0 !important;
  }
  .p-page-nav__list {
    gap: 2.4154589372vw;
    font-size: 1.9323671498vw;
  }
  .p-page-nav__list .sup {
    top: -0.25em;
    left: -0.0625em;
    margin-right: 0.25em;
  }
  .p-page-nav__list > li {
    height: 2.75em;
  }
  .p-page-nav a::after {
    right: -0.875em;
  }
}
/* Container */
.p-container {
  position: relative;
  background: #000;
}
.p-container--wt {
  background: #fff;
}
.p-container--gy {
  background: #c3c3c3;
}

/* Section */
.p-sec {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}

@media print, screen and (min-width: 768px) {
  .p-sec {
    max-width: 57.5402635432%;
  }
}
/* Text */
.p-text {
  line-height: 1;
  margin: 0;
}
.p-text img {
  width: 100%;
  max-width: none;
  height: auto;
}

/* Item */
.p-item {
  position: relative;
  overflow: hidden;
}
.p-item.is-active {
  z-index: 3;
}
.p-item__image {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.p-item__image picture {
  width: 100%;
  height: 100%;
}
.p-item__image img,
.p-item__image video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: middle;
}
.p-item__button {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
}
.p-item__button::before, .p-item__button::after {
  content: "";
  position: absolute;
  height: 1px;
  background: #fff;
  transition: 0.5s 0s ease;
}
.p-item__button::before {
  transform: rotate(-90deg);
}
.is-active .p-item__button::before {
  transform: rotate(0deg);
}
.p-item__credit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.8);
  font-weight: 400;
  font-family: "Bozon Book";
  opacity: 0;
  visibility: hidden;
  transition: 0.5s 0s ease;
  container-type: inline-size;
}
.is-active .p-item__credit {
  opacity: 1;
  visibility: visible;
}
.p-item__credit-inner {
  padding: clamp(1.625rem, 9.9047619048%, 2.125rem) clamp(1.875rem, 11.4285714286%, 2.4375rem);
  transform: translateY(0.625rem);
  transition: 0.5s 0s ease;
}
.p-item__credit-inner a {
  display: inline-block;
  text-decoration: none;
}
.is-active .p-item__credit-inner {
  transform: translateY(0);
}
.p-item__credit-num {
  line-height: 1;
  font-weight: 400;
  font-family: "Outfit";
  letter-spacing: normal;
  width: fit-content;
}
.p-item__credit-num .sup {
  position: relative;
  display: inline-block;
}
.p-item__credit-num .va {
  letter-spacing: 0.04em;
}
.p-item__credit-text {
  width: fit-content;
  line-height: 1.7777777778;
  margin: 0;
  letter-spacing: 0.05em;
}
.p-item__credit-button {
  width: fit-content;
  line-height: 1;
}
.p-item__credit-button .c-button {
  line-height: 1;
  border: 0.5px solid #fff;
  font-style: italic;
  font-family: "Bozon";
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.p-item__by-button {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  border-radius: 0;
  color: #fff;
  background: transparent;
  cursor: pointer;
}
.p-item__by-button .c-button {
  position: absolute;
  line-height: 1;
  border: 1px solid #fff;
  font-style: italic;
  font-family: "Bozon";
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.p-item__number {
  position: absolute;
  bottom: 0;
  z-index: 2;
  line-height: 1;
  margin: 0;
  color: #fff;
  font-weight: 400;
  font-family: "Outfit";
  letter-spacing: normal;
  pointer-events: none;
}
.p-item__number .sup {
  position: relative;
  display: inline-block;
}
.p-item__number .va {
  letter-spacing: 0.04em;
}
.p-item__text {
  position: absolute;
  z-index: 1;
  line-height: 1;
  margin: 0;
  pointer-events: none;
}
.p-item__text img {
  width: 100%;
  max-width: none;
  height: auto;
}
.p-item__big-credit {
  position: absolute;
  top: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}
.p-item__big-credit-item-name {
  line-height: 1;
  margin: 0;
  font-weight: 400;
  font-family: "Butler Stencil";
  letter-spacing: 0.075em;
}
.p-item__big-credit-item-name img {
  width: 100%;
  max-width: none;
  height: auto;
}
.p-item__big-credit-text {
  margin: 0;
  font-weight: 400;
  font-family: "Bozon Book";
  letter-spacing: 0.05em;
}

@media print, screen and (min-width: 768px) {
  .p-item__button::before, .p-item__button::after {
    top: 0;
    right: 8.1424936387%;
    margin-top: 13.2315521628%;
    width: clamp(1.5rem, 3.3674963397vw, 2.875rem);
  }
  .p-item__credit-num {
    margin: 0 0 clamp(1rem, 1.1713030747vw, 1.375rem);
    font-size: clamp(0.875rem, 1.0248901903vw, 1.25rem);
  }
  .p-item__credit-num .sup {
    top: -0.2142857143em;
    left: -0.0357142857em;
    transform: scale(0.7);
    margin-right: 0.2857142857em;
  }
  .p-item__credit-text {
    font-size: clamp(0.5625rem, 0.6588579795vw, 0.8125rem);
  }
  .p-item__credit-button {
    margin: clamp(0.875rem, 1.0248901903vw, 1.3125rem) 0 0;
  }
  .p-item__credit-button .c-button {
    width: 4.125em;
    height: 4.125em;
    border-radius: 50%;
    font-size: clamp(0.5rem, 0.5856515373vw, 0.75rem);
  }
  .p-item__by-button .c-button {
    width: 4.1333333333em;
    height: 4.1333333333em;
    border-radius: 50%;
    font-size: clamp(0.9375rem, 1.0980966325vw, 1.3125rem);
  }
  .p-item__number {
    right: 8.9058524173%;
    margin-bottom: 8.9058524173%;
    font-size: clamp(1.4375rem, 1.6837481698vw, 2rem);
  }
  .p-item__number .sup {
    top: -0.2608695652em;
    left: -0.0434782609em;
    transform: scale(0.6);
    margin-right: 0.2608695652em;
  }
  .p-item__big-credit-item-name {
    font-size: clamp(3.6875rem, 4.3191800878vw, 4.75rem);
  }
  .p-item__big-credit-text {
    line-height: 1.6;
    font-size: clamp(0.625rem, 0.7320644217vw, 0.875rem);
  }
}
@media screen and (max-width: 767.98px) {
  .p-item__button::before, .p-item__button::after {
    top: 6.7692307692%;
    right: 5.7971014493%;
    width: 5.7971014493vw;
  }
  .p-item.is-active {
    z-index: 0;
  }
  .is-active .p-item__credit {
    opacity: 0;
    visibility: hidden;
  }
  .p-item__credit-inner {
    padding: clamp(2.375rem, 9.1787439614%, 3.0625rem) clamp(2.125rem, 8.2125603865%, 2.75rem);
  }
  .p-item__credit-num {
    margin: 0 0 3.8647342995vw;
    font-size: 3.3816425121vw;
  }
  .p-item__credit-num .sup {
    top: -0.2142857143em;
    left: -0.0357142857em;
    transform: scale(0.7);
    margin-right: 0.2857142857em;
  }
  .p-item__credit-text {
    font-size: 2.1739130435vw;
  }
  .p-item__credit-button {
    margin: 2.8985507246vw 0 0;
  }
  .p-item__credit-button .c-button {
    width: 4.125em;
    height: 4.125em;
    border-radius: 50%;
    font-size: 1.9323671498vw;
  }
  .p-item__by-button .c-button {
    width: 4.125em;
    height: 4.125em;
    border-radius: 50%;
    font-size: 1.9323671498vw;
  }
  .p-item__number {
    right: 8.6956521739%;
    margin-bottom: 4.347826087vw;
    font-size: 2.8985507246vw;
  }
  .p-item__number .sup {
    top: -0.25em;
    left: -0.0833333333em;
    transform: scale(0.6);
    margin-right: 0.25em;
  }
  .p-item__big-credit-item-name {
    font-size: 7.4879227053vw;
  }
  .p-item__big-credit-text {
    line-height: 1.4444444444;
    font-size: 2.1739130435vw;
  }
}
@media screen and (pointer: fine) {
  .p-item__image {
    transition: opacity 0.5s 0s ease;
  }
  .p-item__button:hover + .p-item__image {
    opacity: 0.8;
  }
  .p-main-visual .p-item__button:hover + .p-item__image {
    opacity: 1;
  }
  .p-item__credit {
    cursor: pointer;
  }
  .p-item__credit-button .c-button {
    transition: 0.5s 0s ease;
  }
  .p-item__credit-inner a:hover .c-button {
    color: #000;
    background-color: #fff;
  }
  .p-item__by-button .c-button {
    transition: 0.5s 0s ease;
  }
  .p-item__by-button:hover + .p-item__image {
    opacity: 0.8;
  }
  .p-item__by-button:hover .c-button {
    color: #000;
    background-color: #fff;
  }
}
/* Credit */
.p-credit {
  font-weight: 400;
  font-family: "Bozon Book";
}
.p-credit a {
  display: inline-block;
  text-decoration: none;
}
.p-credit__text {
  width: fit-content;
  line-height: 1.7777777778;
  margin: 0;
  letter-spacing: 0.05em;
}
.p-credit__button {
  width: fit-content;
  line-height: 1;
}
.p-credit__button .c-button {
  line-height: 1;
  border: 0.5px solid #231815;
  font-style: italic;
  font-family: "Bozon";
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

@media print, screen and (min-width: 768px) {
  .p-credit__text {
    font-size: clamp(0.5625rem, 0.6588579795vw, 0.8125rem);
  }
  .p-credit__button {
    margin: clamp(1.125rem, 1.317715959vw, 1.5625rem) 0 0;
  }
  .p-credit__button .c-button {
    width: 4.2em;
    height: 2em;
    border-radius: 1em;
    font-size: clamp(0.625rem, 0.7320644217vw, 0.875rem);
  }
}
@media screen and (max-width: 767.98px) {
  .p-credit__num {
    margin: 0 0 clamp(0.5rem, 1.9323671498vw, 0.6875rem);
    font-size: clamp(1.3125rem, 5.0724637681vw, 1.75rem);
  }
  .p-credit__text {
    font-size: clamp(0.5625rem, 2.1739130435vw, 0.8125rem);
  }
  .p-credit__button {
    margin: clamp(1.125rem, 4.347826087vw, 1.5625rem) 0 0;
  }
  .p-credit__button .c-button {
    width: 4em;
    height: 1.9090909091em;
    border-radius: 0.9090909091em;
    font-size: clamp(0.6875rem, 2.6570048309vw, 0.9375rem);
  }
}
@media screen and (pointer: fine) {
  .p-credit__button .c-button {
    transition: 0.5s 0s ease;
  }
  .p-credit a:hover .c-button {
    color: #fff;
    background-color: #000;
  }
}
/* Modal */
@media print, screen and (min-width: 768px) {
  .p-credit-modal-overlay,
  .p-credit-modal {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .p-credit-modal-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0;
    visibility: hidden;
    transition: 0.5s 0s ease;
  }
  .is-modal-open .p-credit-modal-overlay {
    opacity: 1;
    visibility: visible;
  }
  .p-credit-modal {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100vh;
    height: 100dvh;
    color: #fff;
    font-weight: 400;
    font-family: "Bozon Book";
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s 0s ease;
  }
  .is-modal-open .p-credit-modal {
    opacity: 1;
    visibility: visible;
  }
}
/* Main visual */
.p-main-visual {
  overflow: hidden;
}
.p-main-visual__inner {
  position: relative;
  margin-right: auto;
  margin-left: auto;
}
.p-main-visual__inner img {
  width: 100%;
  max-width: none;
  height: auto;
}
.p-main-visual__image-01, .p-main-visual__image-02, .p-main-visual__image-03, .p-main-visual__image-04, .p-main-visual__image-05 {
  position: absolute;
  top: 0;
}
.p-main-visual__image-01 img, .p-main-visual__image-02 img, .p-main-visual__image-03 img, .p-main-visual__image-04 img, .p-main-visual__image-05 img {
  transform: translate3d(0, 0, 0);
}
.p-main-visual__image-01 {
  transform: rotate(-358.5deg);
}
.p-main-visual__image-02 {
  transform: rotate(-2.6deg);
}
.p-main-visual__image-03 {
  transform: rotate(-358.4deg);
}
.p-main-visual__image-04 {
  transform: rotate(-356.9deg);
}
.p-main-visual__image-05 {
  transform: rotate(-358.4deg);
}
.p-main-visual__year {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
  font-weight: 400;
  font-family: "Grantha Sangam MN", sans-serif;
  letter-spacing: 0.04em;
  pointer-events: none;
}
.p-main-visual__year > li {
  position: relative;
  z-index: 0;
}
.p-main-visual__year .this-year {
  color: #FF0000;
}
.p-main-visual__year .circle {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  background-image: url("data:image/svg+xml,%3Csvg width='35' height='35' viewBox='0 0 35 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.4601 34.61C26.9317 34.61 34.6101 26.9317 34.6101 17.46C34.6101 7.98831 26.9317 0.309998 17.4601 0.309998C7.98837 0.309998 0.310059 7.98831 0.310059 17.46C0.310059 26.9317 7.98837 34.61 17.4601 34.61Z' stroke='white' stroke-width='0.61' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.p-main-visual__theme {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.p-main-visual__season {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
  font-weight: 400;
  font-family: "Grantha Sangam MN", sans-serif;
  letter-spacing: 0.04em;
  pointer-events: none;
}
.p-main-visual__season > li {
  position: relative;
  z-index: 0;
}
.p-main-visual__season .this-season {
  color: #FF0000;
}
.p-main-visual__season .circle {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  background-image: url("data:image/svg+xml,%3Csvg width='35' height='35' viewBox='0 0 35 35' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.4601 34.61C26.9317 34.61 34.6101 26.9317 34.6101 17.46C34.6101 7.98831 26.9317 0.309998 17.4601 0.309998C7.98837 0.309998 0.310059 7.98831 0.310059 17.46C0.310059 26.9317 7.98837 34.61 17.4601 34.61Z' stroke='white' stroke-width='0.61' stroke-miterlimit='10'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.p-main-visual__theme-logo, .p-main-visual__theme-msg {
  line-height: 1;
  margin: 0 auto;
}
.p-main-visual__theme-logo {
  width: 100%;
}
.p-main-visual__logo {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .p-main-visual__inner {
    max-width: 57.5402635432%;
    aspect-ratio: 786/1240;
  }
  .p-main-visual__image-01 {
    width: 100%;
    left: -1.5267175573%;
    margin-top: 0.8905852417%;
  }
  .p-main-visual__image-02 {
    width: 95.6743002545%;
    left: 2.7989821883%;
    margin-top: -0.7633587786%;
  }
  .p-main-visual__image-03 {
    width: 95.165394402%;
    left: 1.1450381679%;
    margin-top: 3.5623409669%;
  }
  .p-main-visual__image-04 {
    width: 94.0203562341%;
    left: 3.5623409669%;
    margin-top: 1.272264631%;
  }
  .p-main-visual__image-05 {
    width: 95.165394402%;
    left: 3.3078880407%;
    margin-top: 4.0712468193%;
  }
  .p-main-visual__year {
    gap: 1.6em;
    margin-top: 12.9770992366%;
    font-size: 1.4641288433vw;
  }
  .p-main-visual__year .circle {
    top: -1.1em;
    right: -0.1em;
    width: 2.2em;
    height: 2.2em;
  }
  .p-main-visual__theme {
    width: 61.4503816794%;
    margin-top: 28.8804071247%;
  }
  .p-main-visual__theme-msg {
    width: 95.0310559006%;
    margin-top: 6.0041407867%;
  }
  .p-main-visual__season {
    gap: 2.56em;
    margin-top: 66.9211195929%;
    font-size: 1.8301610542vw;
    text-indent: -0.56em;
  }
  .p-main-visual__season .circle {
    top: -0.64em;
    right: -0.68em;
    width: 1.76em;
    height: 1.76em;
  }
  .p-main-visual__logo {
    width: 34.2239185751%;
    margin-bottom: 9.6692111959%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-main-visual__inner {
    height: calc(100% - 11.25rem);
    height: 100svh;
  }
  .p-main-visual [class*=p-main-visual__image-] img {
    height: 100%;
    object-fit: cover;
  }
  .p-main-visual__image-01 {
    width: 100%;
    height: 100%;
    left: 0;
    margin-top: 0;
  }
  .p-main-visual__image-02 {
    width: 95.652173913%;
    height: 95.5384615385%;
    left: -0.4830917874%;
    margin-top: -1.4492753623%;
  }
  .p-main-visual__image-03 {
    width: 95.1690821256%;
    height: 95.0769230769%;
    left: 1.2077294686%;
    margin-top: 3.1400966184%;
  }
  .p-main-visual__image-04 {
    width: 93.961352657%;
    height: 93.8461538462%;
    left: 3.8647342995%;
    margin-top: -0.9661835749%;
  }
  .p-main-visual__image-05 {
    width: 95.1690821256%;
    height: 95.0769230769%;
    left: 3.3816425121%;
    margin-top: 3.6231884058%;
  }
  .p-main-visual__year {
    gap: 1.7em;
    margin-top: 14.4927536232%;
    font-size: 2.4154589372vw;
  }
  .p-main-visual__year .circle {
    top: -1.1em;
    right: -0.2em;
    width: 2.2em;
    height: 2.2em;
  }
  .p-main-visual__theme {
    width: 62.3188405797%;
    margin-top: 28.5024154589%;
  }
  .p-main-visual__theme-msg {
    width: 96.8992248062%;
    margin-top: 5.8139534884%;
  }
  .p-main-visual__season {
    gap: 2.5384615385em;
    margin-top: 66.4251207729%;
    font-size: 3.1400966184vw;
    text-indent: -0.7692307692em;
  }
  .p-main-visual__season .circle {
    top: -0.6153846154em;
    right: -0.6923076923em;
    width: 1.6923076923em;
    height: 1.6923076923em;
  }
  .p-main-visual__logo {
    width: 34.2995169082%;
    margin-bottom: 14.4927536232%;
  }
}
/* 01 */
.p-sec--01 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-sec--01 .p-item--02 .p-item__button::before,
.p-sec--01 .p-item--02 .p-item__button::after {
  background: #000;
}
.p-sec--01 .c-loop-text {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media print, screen and (min-width: 768px) {
  .p-sec--01 .c-loop-text {
    margin-top: 50.8905852417%;
  }
  .p-sec--01 .p-item--01.is-active .p-item__image,
  .p-sec--01 .p-item--02.is-active .p-item__image {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--01 .c-loop-text {
    margin-top: 50.2415458937%;
  }
}
/* 02 */
.p-sec--02 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-sec--02 .p-item--03,
.p-sec--02 .p-item--06 {
  background-color: #f7f7f7;
}
.p-sec--02 .p-item--03 .p-item__button::before,
.p-sec--02 .p-item--03 .p-item__button::after,
.p-sec--02 .p-item--06 .p-item__button::before,
.p-sec--02 .p-item--06 .p-item__button::after {
  background: #000;
}
.p-sec--02 .p-item--03 .p-item__number,
.p-sec--02 .p-item--06 .p-item__number {
  color: #000;
}
.p-sec--02 .p-item--04 .p-item__text--01 {
  top: 0;
}
.p-sec--02 .p-item--04 .p-item__text--02 {
  bottom: 0;
}
.p-sec--02 .p-item--07 .p-item__text--04 {
  top: 0;
}
.p-sec--02 .p-text {
  position: absolute;
  top: 0;
  z-index: 1;
}
.p-sec--02 .p-text--03 {
  animation: rotation 5s linear infinite;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media print, screen and (min-width: 768px) {
  .p-sec--02 .p-item--04 .p-item__text--01 {
    width: 13.7404580153%;
    left: 12.4681933842%;
    margin-top: 15.0127226463%;
  }
  .p-sec--02 .p-item--04 .p-item__text--02 {
    width: 16.5394402036%;
    right: 8.9058524173%;
    margin-bottom: 11.7048346056%;
  }
  .p-sec--02 .p-text--03 {
    width: 22.2646310433%;
    left: 45.0381679389%;
    margin-top: 112.7226463104%;
  }
  .p-sec--02 .p-item--06.is-active .p-item__image,
  .p-sec--02 .p-item--05.is-active .p-item__image {
    opacity: 0.8;
  }
  .p-sec--02 .p-item--07 .p-item__text--04 {
    width: 94.6564885496%;
    left: 0.7633587786%;
    margin-top: 14.5038167939%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--02 .p-item--04 .p-item__text--01 {
    left: 12.5603864734%;
    width: 13.5265700483%;
    margin-top: 14.9758454106%;
  }
  .p-sec--02 .p-item--04 .p-item__text--02 {
    right: 8.6956521739%;
    width: 16.4251207729%;
    margin-bottom: 11.5942028986%;
  }
  .p-sec--02 .p-text--03 {
    width: 22.2222222222%;
    left: 44.9275362319%;
    margin-top: 112.5603864734%;
  }
  .p-sec--02 .p-item--07 .p-item__text--04 {
    width: 94.2028985507%;
    left: 0.9661835749%;
    margin-top: 14.4927536232%;
  }
}
/* 03 */
.p-sec--03 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-sec--03 .p-item--10 {
  background-color: #f7f7f7;
}
.p-sec--03 .p-item--10 .p-item__button::before,
.p-sec--03 .p-item--10 .p-item__button::after {
  background: #000;
}
.p-sec--03 .c-loop-text {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media print, screen and (min-width: 768px) {
  .p-sec--03 .c-loop-text {
    margin-bottom: 19.3384223919%;
  }
  .p-sec--03 .p-item--09.is-active .p-item__image,
  .p-sec--03 .p-item--10.is-active .p-item__image {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--03 .c-loop-text {
    margin-bottom: 19.3236714976%;
  }
}
/* 04 */
.p-sec--04 .p-item--11,
.p-sec--04 .p-item--12 {
  overflow: visible;
}
.p-sec--04 .p-item--11 .p-item__button::before,
.p-sec--04 .p-item--11 .p-item__button::after,
.p-sec--04 .p-item--12 .p-item__button::before,
.p-sec--04 .p-item--12 .p-item__button::after {
  background: #000;
}
.p-sec--04 .p-item--11 .p-item__number,
.p-sec--04 .p-item--12 .p-item__number {
  color: #000;
}
.p-sec--04 .p-item--11 .p-item__text,
.p-sec--04 .p-item--12 .p-item__text {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  margin: 0 auto;
}
.p-sec--04 .p-item--12 .p-item__number {
  transform: rotate(90deg);
  transform-origin: top left;
  top: 0;
  bottom: auto;
  right: auto;
  margin-bottom: 0;
}
.p-sec--04 .p-item--12 .p-item__object {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 0;
  background-color: #ff0000;
  mix-blend-mode: color;
}
.p-sec--04 .c-theme-banner {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media print, screen and (min-width: 768px) {
  .p-sec--04 {
    padding-top: 21.3762811127%;
    padding-bottom: 3.2942898975%;
  }
  .p-sec--04 .p-item--11 .p-item__text--05 {
    width: 51.1450381679%;
    margin-top: -18.8295165394%;
  }
  .p-sec--04 .p-item--11 .p-item__text--06 {
    width: 37.0229007634%;
    margin-top: -3.0534351145%;
  }
  .p-sec--04 .p-item--11 .p-item__text--07 {
    width: 25.4452926209%;
    margin-top: 12.0865139949%;
  }
  .p-sec--04 .p-item--11 .p-item__credit-inner {
    padding-bottom: 17.2767203514vw;
  }
  .p-sec--04 .p-item--12 .p-item__number {
    margin-top: -1.0178117048%;
    margin-left: 16.2849872774%;
    font-size: clamp(2.8125rem, 3.2942898975vw, 3.9375rem);
  }
  .p-sec--04 .p-item--12 .p-item__object {
    margin-top: 69.465648855%;
    padding-top: 29.262086514%;
  }
  .p-sec--04 .c-theme-banner {
    margin-top: 143.1297709924%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--04 {
    padding-top: 37.1980676329%;
    padding-bottom: 4.8309178744%;
  }
  .p-sec--04 .p-item--11 .p-item__text--05 {
    width: 51.690821256%;
    margin-top: -18.8405797101%;
  }
  .p-sec--04 .p-item--11 .p-item__text--06 {
    width: 37.1980676329%;
    margin-top: -3.1400966184%;
  }
  .p-sec--04 .p-item--11 .p-item__text--07 {
    width: 25.6038647343%;
    margin-top: 12.077294686%;
  }
  .p-sec--04 .p-item--11 .p-item__credit-inner {
    padding-bottom: 34.7826086957vw;
  }
  .p-sec--04 .p-item--12 .p-item__number {
    margin-top: -3.6231884058%;
    margin-left: 16.9082125604%;
    font-size: 5.7971014493vw;
  }
  .p-sec--04 .p-item--12 .p-item__object {
    margin-top: 76.8115942029%;
    padding-top: 28.9855072464%;
  }
  .p-sec--04 .c-theme-banner {
    margin-top: 137.6811594203%;
  }
}
/* 05 */
@media print, screen and (min-width: 768px) {
  .p-sec--05 {
    padding-bottom: 3.2942898975%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--05 {
    padding-bottom: 4.8309178744%;
  }
}
/* 06 */
.p-sec--06 {
  background-color: #fff;
}
.p-sec--06 .p-item--14 {
  overflow: visible;
}
.p-sec--06 .p-item--14 .p-item__text {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 1;
  margin: 0 auto;
  text-align: center;
}
.p-sec--06 .p-item--14 .p-item__text--09 {
  font-weight: 400;
  font-family: "Grantha Sangam MN", sans-serif;
  letter-spacing: 0.05em;
}

@media print, screen and (min-width: 768px) {
  .p-sec--06 .p-item--14 .p-item__text--08 {
    width: 28.6259541985%;
    margin-bottom: 5.9796437659%;
  }
  .p-sec--06 .p-item--14 .p-item__text--09 {
    line-height: 1.2941176471;
    margin-bottom: -5.3435114504%;
    font-size: max(1.2445095168vw, 1.0625rem);
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--06 .p-item--14 .p-item__text--08 {
    width: 28.9855072464%;
    margin-bottom: 6.038647343%;
  }
  .p-sec--06 .p-item--14 .p-item__text--09 {
    line-height: 1.3333333333;
    margin-bottom: -6.038647343%;
    font-size: 2.1739130435vw;
  }
}
/*.07 */
@media print, screen and (min-width: 768px) {
  .p-sec--07 {
    padding-bottom: 7.3206442167%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--07 {
    padding-bottom: 20.5314009662%;
    background-color: #c3c3c3;
  }
}
/* 08 */
.p-sec--08 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-sec--08 .p-item {
  background-color: #626260;
}

/* 09 */
.p-sec--09 .p-item {
  overflow: visible;
}
.p-sec--09 .p-item--20 .c-button,
.p-sec--09 .p-item--24 .c-button {
  bottom: 0;
}
.p-sec--09 .p-item--21 .c-button,
.p-sec--09 .p-item--22 .c-button {
  top: 0;
}
.p-sec--09 .p-item--20 .p-item__text--10 {
  top: 0;
  right: 0;
  left: 0;
}
.p-sec--09 .p-item--20 .p-item__text--11 {
  bottom: 0;
  right: 0;
  left: 0;
}
.p-sec--09 .p-item--22 .p-item__text--12 {
  top: 0;
  right: 0;
}
.p-sec--09 .p-item--23 .p-item__text--13,
.p-sec--09 .p-item--23 .p-item__text--14 {
  top: 0;
  left: 0;
}
.p-sec--09 .p-keyword--01,
.p-sec--09 .p-keyword--02,
.p-sec--09 .p-keyword--03 {
  position: absolute;
  z-index: 1;
  line-height: 1;
  margin: 0;
}
.p-sec--09 .p-keyword--01 img,
.p-sec--09 .p-keyword--02 img,
.p-sec--09 .p-keyword--03 img {
  width: 100%;
  max-width: none;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .p-sec--09 {
    padding-top: 7.3206442167%;
    padding-bottom: 9.1508052709%;
  }
  .p-sec--09 .p-keyword--01,
  .p-sec--09 .p-keyword--02 {
    display: none;
  }
  .p-sec--09 .p-item--20 {
    width: 67.9389312977%;
    margin: 0 auto 12.7226463104%;
  }
  .p-sec--09 .p-item--20 .c-button {
    left: 6.7415730337%;
    margin-bottom: 6.3670411985%;
  }
  .p-sec--09 .p-item--20 .p-item__big-credit {
    right: -11.797752809%;
    margin-top: 46.8164794007%;
  }
  .p-sec--09 .p-item--20 .p-item__text--10 {
    width: 42.5093632959%;
    margin: -7.1161048689% auto 0;
  }
  .p-sec--09 .p-item--20 .p-item__text--11 {
    width: 42.8838951311%;
    margin: 0 auto -6.9288389513%;
  }
  .p-sec--09 .p-item--21 {
    width: 46.6921119593%;
    margin: 0 0 0 auto;
  }
  .p-sec--09 .p-item--21 .c-button {
    right: 6.5395095368%;
    margin-top: 10.3542234332%;
  }
  .p-sec--09 .p-item--21 .p-item__big-credit--01 {
    left: -29.4277929155%;
    margin-top: 21.7983651226%;
  }
  .p-sec--09 .p-item--21 .p-item__big-credit--02 {
    left: -35.9673024523%;
    margin-top: 54.4959128065%;
  }
  .p-sec--09 .p-item--21 .p-keyword--03 {
    bottom: 0;
    left: 20.1634877384%;
    width: 4.6852122987vw;
    margin-bottom: 8.719346049%;
  }
  .p-sec--09 .p-item--22 {
    width: 60.8142493639%;
    margin: -23.6641221374% auto 0 0;
  }
  .p-sec--09 .p-item--22 .c-button {
    left: 6.2761506276%;
    margin-top: 10.0418410042%;
  }
  .p-sec--09 .p-item--22 .p-item__big-credit--01 {
    right: -16.7364016736%;
    margin-top: 46.4435146444%;
  }
  .p-sec--09 .p-item--22 .p-item__big-credit--02 {
    right: -14.2259414226%;
    margin-top: 75.7322175732%;
  }
  .p-sec--09 .p-item--22 .p-item__big-credit--03 {
    right: -16.1087866109%;
    margin-top: 102.9288702929%;
  }
  .p-sec--09 .p-item--22 .p-item__text--12 {
    right: -0.8368200837%;
    width: 36.820083682%;
    margin: 12.1338912134% 0 0;
  }
  .p-sec--09 .p-item--23 {
    width: 61.7048346056%;
    margin: -12.4681933842% 0 0 auto;
  }
  .p-sec--09 .p-item--23 .p-item__text--13 {
    left: -7.6288659794%;
    width: 52.3711340206%;
    margin: 15.6701030928% 0 0;
  }
  .p-sec--09 .p-item--23 .p-item__text--14 {
    left: -24.5360824742%;
    width: 96.2886597938%;
    margin: 72.9896907216% 0 0;
  }
  .p-sec--09 .p-item--24 {
    width: 59.5419847328%;
    margin: -9.2875318066% 0 0 7.6335877863%;
  }
  .p-sec--09 .p-item--24 .c-button {
    left: 8.547008547%;
    margin-bottom: 5.5555555556%;
  }
  .p-sec--09 .p-item--24 .p-item__big-credit--01 {
    right: -26.9230769231%;
    margin-top: 20.5128205128%;
  }
  .p-sec--09 .p-item--24 .p-item__big-credit--02 {
    right: -26.9230769231%;
    margin-top: 73.9316239316%;
  }
  .p-sec--09 .p-item--24 .p-item__big-credit--03 {
    top: auto;
    bottom: 0;
    right: -29.9145299145%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--09 {
    padding-top: 22.7053140097%;
    padding-bottom: 15.9420289855%;
  }
  .p-sec--09 .p-keyword--01 {
    display: block;
    top: 0;
    right: 10.1449275362%;
    width: 15.4589371981%;
    margin-top: 13.5265700483%;
  }
  .p-sec--09 .p-keyword--02 {
    display: block;
    top: 0;
    left: 9.6618357488%;
    width: 16.1835748792%;
    margin-top: 12.5603864734%;
  }
  .p-sec--09 .p-item--20 {
    width: 67.8743961353%;
    margin: 0 auto 12.5603864734%;
  }
  .p-sec--09 .p-item--20 .c-button {
    left: 6.4056939502%;
    margin-bottom: 6.4056939502%;
  }
  .p-sec--09 .p-item--20 .p-item__big-credit {
    right: -11.743772242%;
    margin-top: 46.975088968%;
  }
  .p-sec--09 .p-item--20 .p-item__text--10 {
    width: 61.5658362989%;
    margin: -10.6761565836% auto 0;
  }
  .p-sec--09 .p-item--20 .p-item__text--11 {
    width: 62.2775800712%;
    margin: 0 auto -12.0996441281%;
  }
  .p-sec--09 .p-item--21 {
    width: 46.6183574879%;
    margin: 0 0 0 auto;
  }
  .p-sec--09 .p-item--21 .c-button {
    right: 6.2176165803%;
    margin-top: 10.3626943005%;
  }
  .p-sec--09 .p-item--21 .p-item__big-credit--01 {
    left: -31.0880829016%;
    margin-top: 15.5440414508%;
  }
  .p-sec--09 .p-item--21 .p-item__big-credit--02 {
    left: -36.2694300518%;
    margin-top: 62.1761658031%;
  }
  .p-sec--09 .p-item--21 .p-keyword--03 {
    display: none;
  }
  .p-sec--09 .p-item--22 {
    width: 60.6280193237%;
    margin: -23.4299516908% auto 0 0;
  }
  .p-sec--09 .p-item--22 .c-button {
    left: 5.9760956175%;
    margin-top: 9.9601593625%;
  }
  .p-sec--09 .p-item--22 .p-item__big-credit--01 {
    right: -19.1235059761%;
    margin-top: 43.8247011952%;
  }
  .p-sec--09 .p-item--22 .p-item__big-credit--02 {
    right: -17.5298804781%;
    margin-top: 73.7051792829%;
  }
  .p-sec--09 .p-item--22 .p-item__big-credit--03 {
    right: -18.3266932271%;
    margin-top: 103.5856573705%;
  }
  .p-sec--09 .p-item--22 .p-item__text--12 {
    right: -9.561752988%;
    width: 53.7848605578%;
    margin: 23.1075697211% 0 0;
  }
  .p-sec--09 .p-item--23 {
    width: 61.5942028986%;
    margin: -12.5603864734% 0 0 auto;
  }
  .p-sec--09 .p-item--23 .p-item__text--13 {
    left: -18.8235294118%;
    width: 76.0784313725%;
    margin: 0.7843137255% 0 0;
  }
  .p-sec--09 .p-item--23 .p-item__text--14 {
    left: -24.3137254902%;
    width: 96.4705882353%;
    margin: 72.9411764706% 0 0;
  }
  .p-sec--09 .p-item--24 {
    width: 59.4202898551%;
    margin: -9.1787439614% 0 0 14.4927536232%;
  }
  .p-sec--09 .p-item--24 .c-button {
    left: 8.1300813008%;
    margin-bottom: 4.8780487805%;
  }
  .p-sec--09 .p-item--24 .p-item__big-credit--01 {
    right: -19.1056910569%;
    margin-top: 17.0731707317%;
  }
  .p-sec--09 .p-item--24 .p-item__big-credit--02 {
    right: -19.1056910569%;
    margin-top: 74.7967479675%;
  }
  .p-sec--09 .p-item--24 .p-item__big-credit--03 {
    top: auto;
    bottom: 0;
    right: -22.7642276423%;
    margin-bottom: -4.0650406504%;
  }
}
/* 10 */
.p-sec--10 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media print, screen and (min-width: 768px) {
  .p-sec--10 {
    margin-bottom: 7.3206442167%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--10 {
    margin-bottom: 12.077294686%;
  }
}
/* 11 */
.p-sec--11 .p-item {
  overflow: visible;
}
.p-sec--11 .p-item--29 {
  margin: 0 auto;
}
.p-sec--11 .p-item--29 .c-button {
  top: 0;
}
.p-sec--11 .c-theme-banner {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media print, screen and (min-width: 768px) {
  .p-sec--11 {
    padding-bottom: 10.541727672%;
  }
  .p-sec--11 .p-item--29 {
    width: 50%;
    margin: 0 auto;
  }
  .p-sec--11 .p-item--29 .c-button {
    left: 6.3613231552%;
    margin-top: 7.6335877863%;
  }
  .p-sec--11 .p-item--29 .p-item__big-credit {
    right: -10.1781170483%;
    margin-top: 37.4045801527%;
  }
  .p-sec--11 .p-item--29 .p-item__big-credit-item-name {
    width: 7.467057101vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--11 {
    padding-bottom: 23.6714975845%;
  }
  .p-sec--11 .p-item--29 {
    width: 50%;
    margin: 0 auto;
  }
  .p-sec--11 .p-item--29 .c-button {
    left: 7.2463768116%;
    margin-top: 7.2463768116%;
  }
  .p-sec--11 .p-item--29 .p-item__big-credit {
    right: -16.9082125604%;
    margin-top: 38.6473429952%;
  }
  .p-sec--11 .p-item--29 .p-item__big-credit-item-name {
    width: 13.0434782609vw;
  }
}
/* 12 */
.p-sec--12 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-sec--12 .p-item--30 .p-item__button::before,
.p-sec--12 .p-item--30 .p-item__button::after,
.p-sec--12 .p-item--33 .p-item__button::before,
.p-sec--12 .p-item--33 .p-item__button::after {
  background: #000;
}
.p-sec--12 .p-item--30 .p-item__number,
.p-sec--12 .p-item--33 .p-item__number {
  color: #000;
}
.p-sec--12 .p-item--31,
.p-sec--12 .p-item--32 {
  background-color: #000;
}
.p-sec--12 .c-loop-text {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

@media print, screen and (min-width: 768px) {
  .p-sec--12 .c-loop-text {
    margin-bottom: 22.9007633588%;
  }
  .p-sec--12 .p-item--32.is-active .p-item__image,
  .p-sec--12 .p-item--33.is-active .p-item__image {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--12 .c-loop-text {
    margin-bottom: 18.8405797101%;
  }
}
/* 13 */
.p-sec--13 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-sec--13 .p-item--35 {
  background-color: #000;
}

/* 14 */
.p-sec--14 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.p-sec--14 .p-item {
  overflow: visible;
}
.p-sec--14 .p-item__image {
  overflow: visible;
}
.p-sec--14 .p-item--36 {
  grid-column: 1/3;
}
.p-sec--14 .p-item--36 .p-item__image {
  position: relative;
  aspect-ratio: 386/587;
}
.p-sec--14 .p-item--36 .p-item__image .front,
.p-sec--14 .p-item--36 .p-item__image .back {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  backface-visibility: hidden;
}
.p-sec--14 .p-item--36 .p-item__image .front {
  background-color: #000;
}
.p-sec--14 .p-item--36 .p-item__text--15 {
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  height: auto;
  aspect-ratio: 177/243;
  margin: auto;
}

@media print, screen and (min-width: 768px) {
  .p-sec--14 {
    gap: 1.9033674963vw;
    padding: 2.0497803807vw 1.9033674963vw 1.9033674963vw;
  }
  .p-sec--14 .p-item__image img {
    border-radius: 1.75rem;
  }
  .p-sec--14 .p-item__text--15 {
    width: 24.1144414169%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--14 {
    gap: 3.3816425121vw;
    padding: 3.8647342995vw 3.3816425121vw 3.3816425121vw;
  }
  .p-sec--14 .p-item__image img {
    border-radius: 0.9375rem;
  }
  .p-sec--14 .p-item__text--15 {
    width: 21.7616580311%;
  }
}
/* 15 */
@media print, screen and (min-width: 768px) {
  .p-sec--15 {
    padding: 0 1.9033674963vw 7.3206442167vw;
  }
  .p-sec--15 .p-item__image img {
    border-radius: 1.75rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--15 {
    padding: 0 3.3816425121vw 13.2850241546vw;
  }
  .p-sec--15 .p-item__image img {
    border-radius: 0.9375rem;
  }
}
/* 16 */
.p-sec--16 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-sec--16 .p-item {
  background-color: #000;
}
.p-sec--16 .p-item--42 {
  grid-column: 1/3;
}
.p-sec--16 .p-item--42 .p-item__text--16,
.p-sec--16 .p-item--42 .p-item__text--17,
.p-sec--16 .p-item--42 .p-item__text--18 {
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.p-sec--16 .p-item--42 .p-item__text--16-01,
.p-sec--16 .p-item--42 .p-item__text--16-02 {
  display: block;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .p-sec--16 .p-item--42 .p-item__text--16 {
    width: 66.5394402036%;
    margin-top: 54.4529262087%;
  }
  .p-sec--16 .p-item--42 .p-item__text--16-01 {
    width: 87.7629063098%;
  }
  .p-sec--16 .p-item--42 .p-item__text--16-02 {
    margin-top: -1.9120458891%;
  }
  .p-sec--16 .p-item--42 .p-item__text--17 {
    width: 36.3867684478%;
    margin-top: 88.8040712468%;
  }
  .p-sec--16 .p-item--42 .p-item__text--18 {
    width: 55.4707379135%;
    margin-top: 95.6743002545%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--16 .p-item--42 .p-item__text--16 {
    width: 66.9082125604%;
    margin-top: 54.1062801932%;
  }
  .p-sec--16 .p-item--42 .p-item__text--16-01 {
    width: 87.725631769%;
  }
  .p-sec--16 .p-item--42 .p-item__text--16-02 {
    margin-top: -1.8050541516%;
  }
  .p-sec--16 .p-item--42 .p-item__text--17 {
    width: 36.7149758454%;
    margin-top: 88.8888888889%;
  }
  .p-sec--16 .p-item--42 .p-item__text--18 {
    width: 56.038647343%;
    margin-top: 95.652173913%;
  }
}
/* 17 */
.p-sec--17 {
  background-color: #000;
}

/* 18 */
.p-sec--18 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  background-color: #fff;
}
.p-sec--18 .p-item {
  background-color: #626260;
}
.p-sec--18 .p-item--48 {
  grid-column: 1/3;
}
.p-sec--18 .p-item--48 .p-item__text--19 {
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .p-sec--18 {
    padding-bottom: 9.5168374817%;
  }
  .p-sec--18 .p-item--48 .p-item__text--19 {
    width: 46.4376590331%;
    margin-bottom: 14.2493638677%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--18 .p-item--48 .p-item__text--19 {
    width: 56.038647343%;
    margin-bottom: 13.2850241546%;
  }
}
/* Footer */
.p-footer {
  position: relative;
}
.p-footer__inner {
  padding: max(4.39238653vw, 3.75rem) max(6.588579795vw, 5.625rem) max(2.196193265vw, 1.875rem);
}
.p-footer__head {
  display: flex;
  align-items: flex-start;
  margin-bottom: max(3.2942898975vw, 2.8125rem);
}
.p-footer__head-logo {
  display: flex;
  flex-direction: column;
  gap: max(2.4890190337vw, 2.125rem);
}
.p-footer__head-logo .c-tec-logo {
  width: max(9.3704245974vw, 8rem);
  margin: 0;
}
.p-footer__head-logo .c-tec-c-logo {
  width: max(9.224011713vw, 7.875rem);
  margin: 0;
}
.p-footer__sns {
  display: flex;
  align-items: center;
  gap: max(1.1713030747vw, 1rem);
  line-height: 1;
  margin: 0 0 0 auto;
  padding: max(0.2928257687vw, 0.25rem) 0 0;
  list-style-type: none;
}
.p-footer__sns > li {
  width: max(1.1713030747vw, 1rem);
  height: max(1.1713030747vw, 1rem);
}
.p-footer__links {
  line-height: 1.4;
  margin: 0 0 max(1.6105417277vw, 1.375rem);
  padding: 0;
  list-style-type: none;
  font-size: max(0.7320644217vw, 0.625rem);
  letter-spacing: 0.11em;
}
.p-footer__links > li + li {
  margin-top: max(0.878477306vw, 0.75rem);
}
.p-footer__links a {
  color: #fff;
  text-underline-offset: 0.3em;
}
.p-footer__contact {
  line-height: 1.4;
  margin: 0 0 max(2.196193265vw, 1.875rem);
  font-size: max(0.7320644217vw, 0.625rem);
  letter-spacing: 0.11em;
}
.p-footer__contact small {
  font-size: max(0.6588579795vw, 0.5625rem);
}
.p-footer__credit {
  line-height: 1.6666666667;
  margin: 0 0 max(1.6105417277vw, 1.375rem);
  font-size: max(0.6588579795vw, 0.5625rem);
  letter-spacing: 0.05em;
}
.p-footer__foot {
  display: flex;
  justify-content: space-between;
}
.p-footer__copyright {
  line-height: 1.7;
  margin: 0 0 max(1.6105417277vw, 1.375rem);
  font-size: max(0.703125vw, 0.5625rem);
  letter-spacing: 0.11em;
}
.p-footer__note {
  line-height: 1.7;
  margin: 0;
  font-size: max(0.5124450952vw, 0.4375rem);
  letter-spacing: 0.11em;
}

@media screen and (max-width: 767.98px) {
  .p-footer__inner {
    padding: 13.2850241546vw 7.2463768116vw 12.077294686vw;
  }
  .p-footer__head {
    margin-bottom: 8.4541062802vw;
  }
  .p-footer__head-logo {
    flex-direction: column;
    gap: 7.2463768116vw;
  }
  .p-footer__head-logo .c-tec-logo {
    width: 30.9178743961vw;
  }
  .p-footer__head-logo .c-tec-c-logo {
    width: 30.4347826087vw;
  }
  .p-footer__sns {
    gap: 3.6231884058vw;
  }
  .p-footer__sns > li {
    width: 3.6231884058vw;
    height: 3.6231884058vw;
  }
  .p-footer__links {
    margin-bottom: 6.038647343vw;
    font-size: 2.4154589372vw;
  }
  .p-footer__links > li + li {
    margin-top: 2.8985507246vw;
  }
  .p-footer__contact {
    margin-bottom: 7.2463768116vw;
    font-size: 2.4154589372vw;
  }
  .p-footer__contact small {
    font-size: 2.1739130435vw;
  }
  .p-footer__credit {
    margin-bottom: 5.3140096618vw;
    font-size: 2.1739130435vw;
  }
  .p-footer__foot {
    flex-direction: column;
    justify-content: space-between;
  }
  .p-footer__copyright {
    margin-bottom: 4.8309178744vw;
    font-size: 2.1739130435vw;
  }
  .p-footer__note {
    font-size: 1.8115942029vw;
  }
}
/* ============================================================
 #Utility
============================================================ */
/* Break */
@media print, screen and (min-width: 768px) {
  .u-sp-block {
    display: none;
  }
  .u-pc-none {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .u-sp-block {
    display: block;
  }
  .u-sp-none {
    display: none;
  }
}
/* Visually hidden */
.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}/*# sourceMappingURL=index.css.map */