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

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;
}

/* ============================================================
 #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;
}

.js-motion-in {
  clip-path: polygon(0 0, 0 0, 0 0, 0 0);
}

/* ============================================================
 #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__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: 1;
  line-height: 1;
  margin: 0;
  color: #000;
  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.15em;
}
.p-item .p-cha {
  position: absolute;
  top: 0;
  z-index: 1;
  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__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: 8.6956521739%;
    margin-top: 10.1449275362%;
    font-size: clamp(1.125rem, 1.317715959vw, 1.4375rem);
  }
  .p-item__number .sup {
    top: -0.1666666667em;
    left: -0.0277777778em;
    transform: scale(0.7);
  }
}
@media screen and (max-width: 767.98px) {
  .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 {
    z-index: 2;
    left: 4.347826087vw;
    margin-top: 4.8309178744vw;
    font-size: 3.1400966184vw;
  }
  .p-item__number .sup {
    top: -0.2307692308em;
    transform: scale(0.7);
  }
}
@media screen and (pointer: fine) {
  .p-item__image {
    transition: opacity 0.5s 0s ease;
  }
  .p-item__image a {
    transition: opacity 0.5s 0s ease;
  }
  .p-item__image a:hover {
    opacity: 0.8;
  }
  .p-item__image .js-item-slider-02 a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    background-color: #fff;
    opacity: 0;
    transition: opacity 0.5s 0s ease;
  }
  .p-item__image .js-item-slider-02 a:hover {
    opacity: 1;
  }
  .p-item__image .js-item-slider-02 a:hover::before {
    opacity: 0.2;
  }
  .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__num {
  line-height: 1;
  font-weight: 400;
  font-family: "Outfit";
  letter-spacing: normal;
  width: fit-content;
  pointer-events: none;
}
.p-credit__num .sup {
  position: relative;
  display: inline-block;
}
.p-credit__num .va {
  letter-spacing: 0.15em;
}
.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__num {
    margin: 0 0 clamp(1.25rem, 1.4641288433vw, 1.625rem);
    font-size: clamp(1.1875rem, 1.3909224012vw, 1.5rem);
  }
  .p-credit__num .sup {
    top: -0.1666666667em;
    left: -0.0277777778em;
    transform: scale(0.7);
  }
  .p-credit__text {
    font-size: clamp(0.5625rem, 0.6588579795vw, 0.8125rem);
  }
  .p-credit__text--sp {
    display: none;
  }
  .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 4.8309178744vw;
    font-size: 4.5893719807vw;
  }
  .p-credit__num .sup {
    top: -0.1842105263em;
    left: -0.0526315789em;
    transform: scale(0.7);
  }
  .p-credit__text {
    font-size: clamp(0.5625rem, 2.1739130435vw, 0.8125rem);
  }
  .p-credit__text--pc {
    display: none;
  }
  .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;
}
.p-main-visual__mosaic-01a, .p-main-visual__mosaic-01b, .p-main-visual__mosaic-02a, .p-main-visual__mosaic-02b, .p-main-visual__mosaic-03a, .p-main-visual__mosaic-03b {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.p-main-visual__mosaic-01a img, .p-main-visual__mosaic-01b img, .p-main-visual__mosaic-02a img, .p-main-visual__mosaic-02b img, .p-main-visual__mosaic-03a img, .p-main-visual__mosaic-03b img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
}

@media print, screen and (min-width: 768px) {
  .p-main-visual {
    height: 100vh;
  }
  .p-main-visual__image {
    width: 100%;
    height: 100%;
  }
  .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.3045387994vw, 20.75rem);
    transform: translateY(-36.1809045226%);
  }
  .p-main-visual__theme-01 {
    width: 76.5060240964%;
    margin-bottom: 4.8192771084%;
  }
  .p-main-visual__theme-02 {
    width: 30.7228915663%;
    margin-top: 20.4819277108%;
  }
  .p-main-visual__mosaic-01a, .p-main-visual__mosaic-01b, .p-main-visual__mosaic-02a, .p-main-visual__mosaic-02b, .p-main-visual__mosaic-03a, .p-main-visual__mosaic-03b {
    height: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-main-visual {
    display: flex;
    flex-direction: column;
  }
  .p-main-visual__image {
    aspect-ratio: 414/569;
  }
  .p-main-visual__logo {
    left: 5.7971014493%;
    width: 34.2995169082%;
    margin-top: 10.6280193237%;
  }
  .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: 24.6376811594%;
    margin-top: 6.038647343%;
  }
  .p-main-visual__mosaic-01a, .p-main-visual__mosaic-01b, .p-main-visual__mosaic-02a, .p-main-visual__mosaic-02b, .p-main-visual__mosaic-03a, .p-main-visual__mosaic-03b {
    aspect-ratio: 414/569;
  }
}
@media screen and (min-width: 768px) and (orientation: portrait) {
  .p-main-visual {
    height: 100%;
    aspect-ratio: 1366/786;
  }
  .p-main-visual__logo {
    right: 3.8067349927%;
    width: 10.3953147877%;
    margin-top: 4.0995607613%;
  }
  .p-main-visual__text {
    left: 5.4172767204%;
    width: 24.3045387994vw;
  }
}
/*.01 */
.p-sec--01 {
  display: grid;
}
.p-sec--01 .p-item {
  background-color: #b4b1a8;
}

@media print, screen and (min-width: 768px) {
  .p-sec--01 {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.4641288433vw;
    padding: 5.8565153734vw 18.0087847731vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--01 {
    grid-template-columns: repeat(2, 1fr);
    padding: 10.1449275362vw 0;
  }
}
/*.02 */
@media print, screen and (min-width: 768px) {
  .p-sec--02 {
    padding-top: 7.3206442167vw;
  }
  .p-sec--02 .p-item--01-03 {
    width: 41.2884333821%;
    margin-left: 11.420204978%;
  }
  .p-sec--02 .p-credit {
    margin-top: 2.196193265%;
    margin-left: 13.7628111274%;
  }
  .p-sec--02 .p-item--01-04 {
    position: absolute;
    top: 0;
    right: 16.3982430454%;
    width: 16.1786237189%;
    margin-top: 24.6705710102%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--02 {
    padding-top: 10.6280193237vw;
    padding-bottom: 9.6618357488vw;
  }
  .p-sec--02 .p-item--01-03 {
    width: 94.6859903382%;
    margin: 0 auto;
  }
  .p-sec--02 .p-credit {
    margin-top: 7.2463768116%;
    margin-left: 10.8695652174%;
  }
  .p-sec--02 .p-item--01-04 {
    width: 53.3816425121%;
    margin-left: auto;
    margin-right: 6.5217391304%;
  }
}
/*.03 */
@media print, screen and (min-width: 768px) {
  .p-sec--03 {
    padding-top: 5.8565153734vw;
  }
  .p-sec--03 .p-item--02-03 {
    width: 38.7262079063%;
  }
  .p-sec--03 .p-item--02-04 {
    position: absolute;
    top: 0;
    left: 48.3162518302%;
    margin-top: calc(5.8565153734vw + 5.5636896047%);
    width: 20.7174231332%;
  }
  .p-sec--03 .p-credit {
    position: absolute;
    top: 0;
    z-index: 1;
    left: 52.5622254758%;
    margin-top: calc(5.8565153734vw + 31.3323572474%);
  }
  .p-sec--03 .p-item--02-05 {
    position: absolute;
    top: 0;
    right: 5.270863836%;
    width: 14.3484626647%;
    margin-top: calc(5.8565153734vw + 14.055636896%);
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--03 {
    padding-top: 9.6618357488vw;
    padding-bottom: 14.4927536232vw;
  }
  .p-sec--03 .p-item--02-03 {
    position: relative;
    z-index: 1;
    width: 88.8888888889%;
    margin-left: auto;
  }
  .p-sec--03 .p-item--02-04 {
    margin-top: -12.5603864734vw;
    width: 61.3526570048%;
  }
  .p-sec--03 .p-credit {
    position: absolute;
    top: 0;
    left: 13.5265700483%;
    margin-top: calc(9.6618357488vw + 151.690821256%);
  }
  .p-sec--03 .p-item--02-05 {
    width: 28.9855072464%;
    margin-top: -12.5603864734vw;
    margin-left: auto;
  }
}
/*.04 */
@media print, screen and (min-width: 768px) {
  .p-sec--04 {
    padding-top: 9.1508052709vw;
    padding-bottom: 8.2723279649vw;
  }
  .p-sec--04 .p-item--03-03 {
    width: 37.9209370425%;
    margin-left: auto;
  }
  .p-sec--04 .p-item--03-04 {
    position: absolute;
    top: 0;
    left: 32.7964860908%;
    width: 18.7408491947%;
    margin-top: calc(9.1508052709vw + 3.8067349927%);
  }
  .p-sec--04 .p-credit {
    position: absolute;
    top: 0;
    z-index: 1;
    left: 28.8433382138%;
    margin-top: calc(9.1508052709vw + 30.3074670571%);
  }
  .p-sec--04 .p-item--03-05 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 17.8623718887%;
    margin-bottom: calc(8.2723279649vw - 0.5856515373%);
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--04 {
    padding-top: 14.4927536232vw;
    padding-bottom: 12.5603864734vw;
  }
  .p-sec--04 .p-item--03-03 {
    width: 100%;
    margin-bottom: 10.6280193237%;
  }
  .p-sec--04 .p-item--03-04 {
    width: 61.8357487923%;
    margin-left: auto;
  }
  .p-sec--04 .p-credit {
    left: 28.8433382138%;
    margin-top: -5.7971014493%;
    margin-bottom: 11.5942028986%;
    margin-left: 25.1207729469%;
  }
  .p-sec--04 .p-item--03-05 {
    width: 58.9371980676%;
  }
}
/*.05 */
@media print, screen and (min-width: 768px) {
  .p-sec--05 {
    display: grid;
    grid-template-columns: 1fr 1.02fr 1.04fr;
    grid-template-rows: 1fr auto;
    column-gap: 3.8799414348vw;
    padding-top: 8.2723279649vw;
    padding-bottom: 4.39238653vw;
    padding-right: 11.5666178624vw;
    padding-left: 14.6412884334vw;
  }
  .p-sec--05 .p-item--13-03 {
    order: -1;
  }
  .p-sec--05 .p-item--13-02 {
    order: 0;
  }
  .p-sec--05 .p-item--13-01 {
    order: 1;
  }
  .p-sec--05 .p-credit {
    grid-column: 1/4;
    order: 2;
    margin-top: 2.635431918vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--05 {
    padding-top: 12.5603864734vw;
    padding-bottom: 18.5990338164vw;
  }
  .p-sec--05 .p-item--13-01 {
    z-index: 2;
    width: 50%;
    margin-left: auto;
  }
  .p-sec--05 .p-item--13-02 {
    z-index: 1;
    width: 52.6570048309%;
    margin-top: -18.8405797101vw;
  }
  .p-sec--05 .p-item--13-03 {
    z-index: 0;
    width: 49.5169082126%;
    margin-top: -10.38647343vw;
    margin-left: 42.9951690821%;
  }
  .p-sec--05 .p-credit {
    margin-top: 5.3140096618%;
    margin-left: 16.9082125604%;
  }
}
/*.06 */
@media print, screen and (min-width: 768px) {
  .p-sec--06 {
    padding-top: 4.39238653vw;
  }
  .p-sec--06 .p-item--04-03 {
    width: 59.7364568082%;
    margin-left: 10.2489019034%;
  }
  .p-sec--06 .p-credit {
    margin-top: 2.635431918%;
    margin-left: 13.3235724744%;
  }
  .p-sec--06 .p-item--04-04 {
    position: absolute;
    top: 0;
    right: 5.710102489%;
    width: 19.7657393851%;
    margin-top: calc(4.39238653vw + 25.9882869693%);
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--06 {
    padding-bottom: 9.1787439614vw;
  }
  .p-sec--06 .p-item--04-03 {
    width: 100%;
  }
  .p-sec--06 .p-credit {
    margin-top: 7.729468599%;
    margin-bottom: 0.4830917874%;
    margin-left: 14.9758454106%;
  }
  .p-sec--06 .p-item--04-04 {
    width: 41.7874396135%;
    margin-left: auto;
    margin-right: 10.6280193237%;
  }
}
/*.07 */
@media print, screen and (min-width: 768px) {
  .p-sec--07 {
    padding-top: 5.8565153734vw;
  }
  .p-sec--07 .p-item--05-03 {
    width: 25.7686676428%;
    margin-left: 5.710102489%;
  }
  .p-sec--07 .p-credit--01 {
    margin-top: 2.4890190337%;
    margin-left: 5.710102489%;
  }
  .p-sec--07 .p-item--05-04 {
    position: absolute;
    top: 0;
    left: 40.9956076135%;
    width: 28.9897510981%;
    margin-top: calc(5.8565153734vw + 10.980966325%);
  }
  .p-sec--07 .p-item--14 {
    position: absolute;
    top: 0;
    right: 6.588579795%;
    width: 22.6939970717%;
    margin-top: calc(5.8565153734vw + 37.1888726208%);
  }
  .p-sec--07 .p-credit--02 {
    position: absolute;
    top: 0;
    z-index: 1;
    right: 6.588579795%;
    width: 22.6939970717%;
    margin-top: calc(5.8565153734vw + 54.6120058565%);
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--07 {
    padding-top: 9.1787439614vw;
    padding-bottom: 7.9710144928vw;
  }
  .p-sec--07 .p-item--05-03 {
    width: 69.806763285%;
    margin: 0 auto;
  }
  .p-sec--07 .p-credit--01 {
    width: 69.806763285%;
    margin: 5.3140096618% auto 12.077294686%;
  }
  .p-sec--07 .p-item--05-04 {
    width: 75.6038647343%;
    margin-bottom: 16.9082125604%;
  }
  .p-sec--07 .p-item--14 {
    width: 74.8792270531%;
    margin-left: 18.5990338164%;
  }
  .p-sec--07 .p-credit--02 {
    margin-top: 7.2463768116%;
    margin-left: 18.5990338164%;
  }
}
/*.08 */
@media print, screen and (min-width: 768px) {
  .p-sec--08 {
    padding-top: 6.588579795vw;
    padding-bottom: 9.7364568082vw;
  }
  .p-sec--08 .p-item--06-03 {
    width: 47.1449487555%;
    margin-left: 15.8125915081%;
  }
  .p-sec--08 .p-credit {
    position: absolute;
    bottom: 0;
    left: 66.7642752562%;
    margin-bottom: 9.7364568082vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--08 {
    padding-top: 7.9710144928vw;
    padding-bottom: 7.2463768116vw;
  }
  .p-sec--08 .p-item--06-03 {
    width: 100%;
  }
  .p-sec--08 .p-credit {
    margin-top: 5.7971014493%;
    margin-left: 15.9420289855%;
  }
}
/*.09 */
.p-sec--09 {
  display: grid;
}
.p-sec--09 .p-item {
  background-color: #b4b1a8;
}

@media print, screen and (min-width: 768px) {
  .p-sec--09 {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.4641288433vw;
    padding: 9.7364568082vw 18.0087847731vw 9.0775988287vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--09 {
    grid-template-columns: repeat(2, 1fr);
    padding: 7.2463768116vw 0 17.3913043478vw;
  }
}
/*.10 */
@media print, screen and (min-width: 768px) {
  .p-sec--10 {
    padding-bottom: 2.196193265vw;
  }
  .p-sec--10 .p-item--07-03 {
    width: 43.5578330893%;
  }
  .p-sec--10 .p-credit {
    margin-top: 3.074670571%;
    margin-left: 9.3704245974%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--10 {
    padding-bottom: 8.4541062802vw;
  }
  .p-sec--10 .p-item--07-03 {
    width: 100%;
  }
  .p-sec--10 .p-credit {
    margin-top: 9.1787439614%;
    margin-left: 14.0096618357%;
  }
}
/*.11 */
@media print, screen and (min-width: 768px) {
  .p-sec--11 .p-item--08-06 {
    position: absolute;
    bottom: 0;
    left: 8.78477306%;
    width: 10.980966325%;
    margin-bottom: -5.270863836%;
  }
  .p-sec--11 .p-item--08-05 {
    width: 30.3074670571%;
    margin-left: 30.2342606149%;
  }
  .p-sec--11 .p-item--08-03-04 {
    position: absolute;
    top: 0;
    right: 7.1742313324%;
    width: 26.0614934114%;
    margin-top: -39.5314787701%;
  }
  .p-sec--11 .p-credit {
    position: absolute;
    top: 0;
    right: 7.1742313324%;
    width: 26.0614934114%;
    margin-top: 2.196193265%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--11 {
    padding-top: 8.4541062802vw;
    padding-bottom: 7.729468599vw;
  }
  .p-sec--11 .p-item--08-03-04 {
    width: 80.4347826087%;
    margin: 0 auto;
  }
  .p-sec--11 .p-credit {
    width: 80.4347826087%;
    margin: 9.1787439614% auto 14.9758454106%;
  }
  .p-sec--11 .p-item--08-05 {
    width: 100%;
    margin-bottom: 22.2222222222%;
  }
  .p-sec--11 .p-item--08-06 {
    width: 36.231884058%;
    margin-left: 7.2463768116%;
  }
}
/*.12 */
@media print, screen and (min-width: 768px) {
  .p-sec--12 {
    padding-top: 20.0585651537vw;
  }
  .p-sec--12 .p-item--09-03 {
    position: absolute;
    top: 0;
    right: 9.3704245974%;
    width: 23.7188872621%;
    margin-top: 3.8799414348%;
    margin-left: auto;
  }
  .p-sec--12 .p-credit--01 {
    position: absolute;
    top: 0;
    right: 9.3704245974%;
    width: 23.7188872621%;
    margin-top: 41.5080527086%;
  }
  .p-sec--12 .p-item--09-04 {
    position: absolute;
    top: 0;
    left: 47.2913616398%;
    width: 10.980966325%;
    margin-top: 11.3469985359%;
  }
  .p-sec--12 .p-item--10-03-04 {
    width: 26.5739385066%;
    margin-left: 11.3469985359%;
  }
  .p-sec--12 .p-credit--02 {
    position: absolute;
    top: 0;
    left: 11.3469985359%;
    z-index: 1;
    margin-top: 62.2254758419%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--12 {
    padding-top: 7.729468599vw;
    padding-bottom: 9.1787439614vw;
  }
  .p-sec--12 .p-item--09-03 {
    width: 78.2608695652%;
    margin: 0 auto;
  }
  .p-sec--12 .p-credit--01 {
    width: 78.2608695652%;
    margin: 6.7632850242% auto 0;
  }
  .p-sec--12 .p-item--09-04 {
    width: 36.231884058%;
    margin-top: -4.8309178744%;
    margin-bottom: 16.9082125604%;
    margin-right: 8.2125603865%;
    margin-left: auto;
  }
  .p-sec--12 .p-item--10-03-04 {
    width: 76.5700483092%;
    margin: 0 auto;
  }
  .p-sec--12 .p-credit--02 {
    width: 76.5700483092%;
    margin: 7.729468599% auto 0;
  }
}
/*.13 */
@media print, screen and (min-width: 768px) {
  .p-sec--13 {
    padding-top: 25.3294289898vw;
  }
  .p-sec--13 .p-item--11-03 {
    position: absolute;
    top: 0;
    right: 0;
    width: 30.3074670571%;
    margin-top: 0.878477306%;
  }
  .p-sec--13 .p-credit--01 {
    position: absolute;
    top: 0;
    right: 0;
    width: 30.3074670571%;
    margin-top: 49.4875549048%;
    padding-left: 3.3674963397%;
  }
  .p-sec--13 .p-item--11-04 {
    position: absolute;
    top: 0;
    left: 43.1918008785%;
    width: 21.8887262079%;
    margin-top: 7.2474377745%;
  }
  .p-sec--13 .p-item--12-03 {
    width: 37.7745241581%;
  }
  .p-sec--13 .p-credit--02 {
    margin-top: 4.2459736457%;
    margin-left: 7.6866764275%;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--13 {
    padding-top: 9.1787439614vw;
  }
  .p-sec--13 .p-item--11-03 {
    width: 100%;
    margin: 0 auto;
  }
  .p-sec--13 .p-credit--01 {
    margin-top: 10.6280193237%;
    margin-bottom: 11.5942028986%;
    padding-left: 11.1111111111%;
  }
  .p-sec--13 .p-item--11-04 {
    width: 66.1835748792%;
    margin-bottom: 20.5314009662%;
    margin-left: auto;
  }
  .p-sec--13 .p-item--12-03 {
    width: 100%;
  }
  .p-sec--13 .p-credit--02 {
    margin-top: 9.6618357488%;
    padding-left: 11.1111111111%;
  }
}
/*.14 */
.p-sec--14 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

@media print, screen and (min-width: 768px) {
  .p-sec--14 {
    gap: 0.7320644217vw;
    max-width: 46.4128843338vw;
    margin: 0 auto;
    padding-top: 4.2459736457vw;
    padding-bottom: 8.0527086384vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-sec--14 {
    gap: 1.4492753623vw;
    margin: 0 auto;
    padding-top: 13.2850241546vw;
    padding-bottom: 26.5700483092vw;
  }
}
/* 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 */