@charset "UTF-8";
/* ////////////////////////////////////////////////////////////

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: #231815;
  background-color: #fff;
  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;
}

/*.スクロールスナップ（PCのみ） */
@media print, screen and (min-width: 768px) {
  .p-page {
    height: 100vh;
    overflow-y: auto;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .p-page .p-main-visual,
  .p-page .p-sec--01,
  .p-page .p-sec--02,
  .p-page .p-sec--03,
  .p-page .p-sec--04,
  .p-page .p-sec--05,
  .p-page .p-sec--06,
  .p-page .p-sec--07,
  .p-page .p-sec--08,
  .p-page .p-sec--09,
  .p-page .p-sec--10,
  .p-page .p-sec--11-01,
  .p-page .p-sec--11-02,
  .p-page .p-sec--11-03,
  .p-page .p-footer {
    scroll-snap-align: start;
  }
}
/* ============================================================
 #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-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);
  }
}
.p-accessories .swiper-pagination {
  bottom: 0;
  line-height: 1;
  margin-bottom: 7.2463768116%;
  font-size: 0;
}
.p-accessories .swiper-pagination-bullet {
  width: 0.3125rem;
  height: 0.3125rem;
  border: 0.5px solid #211815;
  background: transparent;
  opacity: 1;
}
.p-accessories .swiper-pagination-bullet-active {
  background: #211815;
}
.p-accessories .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 0.3125rem;
}

@media print, screen and (min-width: 768px) {
  .p-accessories .swiper {
    position: static;
  }
  .p-accessories .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    z-index: auto;
  }
  .p-accessories .swiper-slide:nth-child(3) {
    order: -3;
  }
  .p-accessories .swiper-slide:nth-child(4) {
    order: -2;
  }
  .p-accessories .swiper-slide:nth-child(2) {
    order: -1;
  }
  .p-accessories .swiper-pagination {
    display: none;
  }
}
/* Animation initial state */
[class*=js-fade-] {
  opacity: 0;
  visibility: hidden;
}

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

/* ============================================================
 #Project
============================================================ */
/* Section */
.p-sec {
  position: relative;
}

/* 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: 2px;
  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.47);
  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-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__number {
  position: absolute;
  top: 0;
  z-index: 2;
  line-height: 1;
  margin: 0;
  color: #fff;
  font-weight: 400;
  font-family: "Outfit";
  letter-spacing: 0.175em;
}
.p-item .p-cha {
  position: absolute;
  top: 0;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
}
.p-item .p-cha img {
  width: 100%;
  max-width: none;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .p-item__list-pc {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: max(1.6105417277vw, 1.375rem);
  }
  .p-item__list-sp {
    display: none;
  }
  .p-item__button::before, .p-item__button::after {
    top: 11.5384615385%;
    right: 7.619047619%;
    width: clamp(2.125rem, 2.4890190337vw, 2.75rem);
    height: 1px;
  }
  .p-item__credit-text {
    font-size: clamp(0.5625rem, 0.6588579795vw, 0.8125rem);
  }
  .p-item__credit-button {
    margin: clamp(1.125rem, 1.317715959vw, 1.5625rem) 0 0;
  }
  .p-item__credit-button .c-button {
    width: 4.2em;
    height: 2em;
    border-radius: 1em;
    font-size: clamp(0.625rem, 0.7320644217vw, 0.875rem);
  }
  .p-item__number {
    left: clamp(2.1875rem, 2.5622254758vw, 2.8125rem);
    margin-top: clamp(3.125rem, 3.6603221083vw, 4.0625rem);
    font-size: clamp(1.3125rem, 1.5373352855vw, 1.75rem);
  }
}
@media screen and (max-width: 767.98px) {
  .p-item__list-pc {
    display: none;
  }
  .p-item__list-sp {
    display: block;
  }
  .p-item__button::before, .p-item__button::after {
    top: 5.8441558442%;
    right: 5.7971014493%;
    width: 6.2801932367vw;
  }
  .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-text {
    font-size: clamp(0.5625rem, 2.1739130435vw, 0.8125rem);
  }
  .p-item__credit-button {
    margin: clamp(1.125rem, 4.347826087vw, 1.5625rem) 0 0;
  }
  .p-item__credit-button .c-button {
    width: 4em;
    height: 1.9090909091em;
    border-radius: 0.9090909091em;
    font-size: clamp(0.6875rem, 2.6570048309vw, 0.9375rem);
  }
  .p-item__number {
    left: 8.4541062802vw;
    margin-top: 9.6618357488vw;
    font-size: clamp(1.375rem, 5.3140096618vw, 1.75rem);
  }
}
@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;
  }
}
/* 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(35, 24, 21, 0.5);
    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 {
  position: relative;
  background-color: #fff;
}
.p-main-visual__image {
  overflow: hidden;
}
.p-main-visual__image img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
}
.p-main-visual__logo {
  position: absolute;
  top: 0;
  margin: 0;
  line-height: 1;
}
.p-main-visual__logo img {
  width: 100%;
  max-width: none;
  height: auto;
}
.p-main-visual__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}
.p-main-visual__text img {
  width: 100%;
  max-width: none;
  height: auto;
}
.p-main-visual__desc {
  width: 100%;
}
.p-main-visual__theme-01, .p-main-visual__theme-02 {
  margin: 0;
}

@media print, screen and (min-width: 768px) {
  .p-main-visual {
    height: 100vh;
  }
  .p-main-visual__image {
    width: max(77.4158125915vw, 66.09375rem);
    height: 100%;
    margin-left: auto;
  }
  .p-main-visual__logo {
    right: max(3.8067349927%, 3.25rem);
    width: max(10.3953147877%, 8.875rem);
    margin-top: max(4.0995607613%, 3.5rem);
  }
  .p-main-visual__text {
    position: absolute;
    top: 50%;
    left: max(5.4172767204%, 4.625rem);
    width: max(24.0849194729vw, 20.5625rem);
    transform: translateY(-36.1809045226%);
  }
  .p-main-visual__theme-01 {
    width: 77.2036474164%;
    margin-bottom: 4.8632218845%;
  }
  .p-main-visual__theme-02 {
    width: 40.4255319149%;
    margin-top: 20.6686930091%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-main-visual {
    display: flex;
    flex-direction: column;
  }
  .p-main-visual__image {
    aspect-ratio: 414/576;
  }
  .p-main-visual__image img {
    object-position: 50% 40%;
  }
  .p-main-visual__logo {
    left: 6.7632850242%;
    width: 34.2995169082%;
    margin-top: 6.7632850242%;
  }
  .p-main-visual__text {
    height: 60.38647343vw;
    padding-top: 10.1449275362%;
    padding-bottom: 12.5603864734%;
  }
  .p-main-visual__theme-01 {
    width: 61.3526570048%;
    margin-bottom: 3.6231884058%;
  }
  .p-main-visual__desc {
    width: 76.0869565217%;
  }
  .p-main-visual__theme-02 {
    width: 32.1256038647%;
    margin-top: 7.729468599%;
  }
}
@media screen and (min-width: 768px) and (orientation: portrait) {
  .p-main-visual {
    height: 100%;
    aspect-ratio: 1366/786;
  }
  .p-main-visual__image {
    width: 77.4158125915vw;
  }
  .p-main-visual__logo {
    right: 3.8067349927%;
    width: 10.3953147877%;
    margin-top: 4.0995607613%;
  }
  .p-main-visual__text {
    left: 5.4172767204%;
    width: 24.0849194729vw;
  }
}
/*.01 */
@media print, screen and (min-width: 768px) {
  .p-sec--01 {
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--01 .p-item .p-credit {
    margin-top: 3.1104199067%;
    padding-left: 3.499222395%;
  }
  .p-sec--01 .p-item .p-cha {
    left: 25.9720062208%;
    margin-top: 45.567651633%;
    width: 3.1104199067%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--01 {
    margin-bottom: 14.4927536232vw;
  }
  .p-sec--01 .p-item .p-credit {
    margin-top: 9.6618357488%;
    padding-left: 10.8695652174%;
  }
  .p-sec--01 .p-item .p-cha {
    right: 9.6618357488%;
    margin-top: 141.5458937198%;
    width: 9.6618357488%;
  }
}
/*.02 */
@media print, screen and (min-width: 768px) {
  .p-sec--02 {
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--02 .p-item .p-credit {
    margin-top: 3.1104199067%;
    padding-left: 3.499222395%;
  }
  .p-sec--02 .p-item .p-cha {
    right: -0.3888024883%;
    margin-top: 21.7729393468%;
    width: 5.598755832%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--02 {
    margin-bottom: 14.4927536232vw;
  }
  .p-sec--02 .p-item .p-credit {
    margin-top: 9.6618357488%;
    padding-left: 10.8695652174%;
  }
  .p-sec--02 .p-item .p-cha {
    left: -4.347826087%;
    margin-top: 84.5410628019%;
    width: 17.3913043478%;
  }
}
/*.03 */
@media print, screen and (min-width: 768px) {
  .p-sec--03 {
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--03 .p-item .p-credit {
    margin-top: 3.1104199067%;
    padding-left: 3.499222395%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--03 {
    margin-bottom: 14.4927536232vw;
  }
  .p-sec--03 .p-item .p-credit {
    margin-top: 9.6618357488%;
    padding-left: 10.8695652174%;
  }
}
/*.04 */
@media print, screen and (min-width: 768px) {
  .p-sec--04 {
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--04 .p-item .p-credit {
    margin-top: 3.1104199067%;
    padding-left: 3.499222395%;
  }
  .p-sec--04 .p-item .p-cha--04-01 {
    right: 11.5863141524%;
    margin-top: -1.5552099533%;
    width: 3.032659409%;
  }
  .p-sec--04 .p-item .p-cha--04-02 {
    left: 34.7589424572%;
    margin-top: 37.6360808709%;
    width: 6.065318818%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--04 {
    margin-bottom: 14.4927536232vw;
  }
  .p-sec--04 .p-item .p-credit {
    margin-top: 9.6618357488%;
    padding-left: 10.8695652174%;
  }
  .p-sec--04 .p-item .p-cha--04-01 {
    right: 11.1111111111%;
    margin-top: -4.5893719807%;
    width: 9.4202898551%;
  }
  .p-sec--04 .p-item .p-cha--04-02 {
    left: -0.9661835749%;
    margin-top: 116.9082125604%;
    width: 18.8405797101%;
  }
}
/*.05 */
@media print, screen and (min-width: 768px) {
  .p-sec--05 {
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--05 .p-item .p-credit {
    margin-top: 3.1104199067%;
    padding-left: 3.499222395%;
  }
  .p-sec--05 .p-item .p-cha {
    left: 24.8833592535%;
    margin-top: -3.265940902%;
    width: 8.3981337481%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--05 {
    margin-bottom: 14.4927536232vw;
  }
  .p-sec--05 .p-item .p-credit {
    margin-top: 9.6618357488%;
    padding-left: 10.8695652174%;
  }
  .p-sec--05 .p-item .p-cha {
    right: -3.1400966184%;
    margin-top: -6.5217391304%;
    width: 26.0869565217%;
  }
}
/*.06 */
@media print, screen and (min-width: 768px) {
  .p-sec--06 {
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--06 .p-item .p-credit {
    margin-top: 3.1104199067%;
    padding-left: 3.499222395%;
  }
  .p-sec--06 .p-item .p-cha {
    left: 24.8833592535%;
    margin-top: -3.265940902%;
    width: 8.3981337481%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--06 {
    margin-bottom: 14.4927536232vw;
  }
  .p-sec--06 .p-item .p-credit {
    margin-top: 9.6859903382%;
    padding-left: 10.8695652174%;
  }
  .p-sec--06 .p-item .p-cha {
    right: -3.1400966184%;
    margin-top: -6.5217391304%;
    width: 26.0869565217%;
  }
}
/*.07 */
.p-sec--07 .p-cha--06 {
  position: absolute;
  top: 0;
  opacity: 0;
  visibility: hidden;
}
.p-sec--07 .p-cha--06 img {
  width: 100%;
  max-width: none;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .p-sec--07 {
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--07 .p-item .p-credit {
    margin-top: 3.1104199067%;
    padding-left: 3.499222395%;
  }
  .p-sec--07 .p-item .p-cha--07 {
    right: 18.8958009331%;
    margin-top: 38.8802488336%;
    width: 7.6982892691%;
  }
  .p-sec--07 .p-cha--06 {
    left: 22.5475841874%;
    margin-top: 0;
    width: 3.074670571%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--07 {
    margin-bottom: 14.4927536232vw;
  }
  .p-sec--07 .p-item .p-credit {
    margin-top: 9.6618357488%;
    padding-left: 10.8695652174%;
  }
  .p-sec--07 .p-item .p-cha--07 {
    right: 6.7632850242%;
    margin-top: 120.7729468599%;
    width: 23.9130434783%;
  }
  .p-sec--07 .p-cha--06 {
    right: 28.0193236715%;
    margin-top: -11.1111111111%;
    width: 10.1449275362%;
  }
}
/*.08 */
@media print, screen and (min-width: 768px) {
  .p-sec--08 {
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--08 .p-item .p-credit {
    margin-top: 3.1104199067%;
    padding-left: 3.499222395%;
  }
  .p-sec--08 .p-item .p-cha--08-01 {
    left: 35.1477449456%;
    margin-top: -1.866251944%;
    width: 4.2768273717%;
  }
  .p-sec--08 .p-item .p-cha--08-02 {
    right: 1.7107309487%;
    margin-top: 40.5909797823%;
    width: 5.132192846%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--08 {
    margin-bottom: 14.4927536232vw;
  }
  .p-sec--08 .p-item .p-credit {
    margin-top: 9.6618357488%;
    padding-left: 10.8695652174%;
  }
  .p-sec--08 .p-item .p-cha--08-01 {
    right: 12.077294686%;
    margin-top: -8.4541062802%;
    width: 13.2850241546%;
  }
  .p-sec--08 .p-item .p-cha--08-02 {
    left: -4.8309178744%;
    margin-top: 120.7729468599%;
    width: 15.9420289855%;
  }
}
/*.09 */
@media print, screen and (min-width: 768px) {
  .p-sec--09 {
    max-width: 76.8667642753%;
    margin: 0 auto max(5.1244509517vw, 4.375rem);
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--09 {
    padding-bottom: calc(12.077294686% + 0.3125rem);
  }
}
/*.10 */
.p-sec--10 .p-item__theme-01, .p-sec--10 .p-item__desc, .p-sec--10 .p-item__theme-02 {
  margin: 0 auto;
}
.p-sec--10 .p-item__theme-01 img, .p-sec--10 .p-item__desc img, .p-sec--10 .p-item__theme-02 img {
  width: 100%;
  max-width: none;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .p-sec--10 {
    padding-top: max(4.39238653vw, 3.75rem);
    padding-bottom: max(8.0527086384vw, 6.875rem);
  }
  .p-sec--10 .p-item--mv02 {
    width: 24.2313323572%;
    margin: 0 auto;
  }
  .p-sec--10 .p-item--mv02 .p-item__theme-01 {
    width: 76.5060240964%;
    margin-top: -5.421686747%;
    margin-bottom: 4.8192771084%;
  }
  .p-sec--10 .p-item--mv02 .p-item__desc {
    width: 90.6626506024%;
    margin-bottom: 9.6385542169%;
  }
  .p-sec--10 .p-item--mv02 .p-item__theme-02 {
    width: 36.4457831325%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--10 {
    padding-top: 9.6618357488vw;
    padding-bottom: 19.3236714976vw;
  }
  .p-sec--10 .p-item--mv02 {
    width: 80.193236715%;
    margin: 0 auto;
  }
  .p-sec--10 .p-item--mv02 .p-item__theme-01 {
    width: 76.5060240964%;
    margin-top: -9.186746988%;
    margin-bottom: 4.8192771084%;
  }
  .p-sec--10 .p-item--mv02 .p-item__desc {
    width: 90.6626506024%;
    margin-bottom: 9.6385542169%;
  }
  .p-sec--10 .p-item--mv02 .p-item__theme-02 {
    width: 36.4457831325%;
  }
}
/*.11 */
.p-sec--11 .p-item--mv03 .p-item__theme-01,
.p-sec--11 .p-item--mv03 .p-item__logo {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.p-sec--11 .p-item--mv03 .p-item__theme-01 img,
.p-sec--11 .p-item--mv03 .p-item__logo img {
  width: 100%;
  max-width: none;
  height: auto;
}
.p-sec--11 .p-item--mv03 .p-item__theme-01 {
  top: 0;
}
.p-sec--11 .p-item--mv03 .p-item__logo {
  bottom: 0;
}

@media print, screen and (min-width: 768px) {
  .p-sec--11 .p-item .p-credit {
    margin-top: max(2.9282576867vw, 2.5rem);
  }
  .p-sec--11 .p-sec--11-01 {
    display: grid;
    grid-template-columns: auto 30.3074670571vw;
    grid-template-rows: 1fr;
    gap: max(2.4890190337vw, 2.125rem);
    align-items: start;
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--11 .p-sec--11-01 .p-item--mv03 .p-item__theme-01 {
    width: 50.1193317422%;
    margin-top: 33.6515513126%;
  }
  .p-sec--11 .p-sec--11-01 .p-item--mv03 .p-item__logo {
    width: 20.2863961814%;
    margin-bottom: 4.2959427208%;
  }
  .p-sec--11 .p-sec--11-02,
  .p-sec--11 .p-sec--11-03 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    gap: max(1.6105417277vw, 1.375rem);
    align-items: start;
    padding: max(2.196193265vw, 1.875rem) max(2.9282576867vw, 2.5rem);
  }
  .p-sec--11 .p-sec--11-03 {
    margin-bottom: max(4.39238653vw, 3.75rem);
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--11 .p-item .p-credit {
    margin-top: 9.6618357488%;
    padding-left: 10.8695652174%;
  }
  .p-sec--11 .p-item--13,
  .p-sec--11 .p-item--14,
  .p-sec--11 .p-item--15,
  .p-sec--11 .p-item--16,
  .p-sec--11 .p-item--17,
  .p-sec--11 .p-item--18,
  .p-sec--11 .p-item--19 {
    padding-bottom: 14.4927536232%;
  }
  .p-sec--11 .p-sec--11-01 .p-item--mv03 {
    margin-bottom: 4.8309178744vw;
  }
  .p-sec--11 .p-sec--11-01 .p-item--mv03 .p-item__theme-01 {
    width: 46.1352657005%;
    margin-top: 48.7922705314%;
  }
  .p-sec--11 .p-sec--11-01 .p-item--mv03 .p-item__logo {
    width: 34.2995169082%;
    margin-bottom: 6.7632850242%;
  }
  .p-sec--11 .p-sec--11-03 {
    margin-bottom: 7.2463768116vw;
  }
}
/* Footer */
.p-footer {
  position: relative;
  color: #fff;
  background-color: #6F6F6F;
}
.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 */