@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
html {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #191919;
  color: #fff;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  line-height: 1.5;
  scroll-behavior: auto;
}

html {
  -webkit-overflow-scrolling: touch;
}

.lenis {
  overflow-x: clip;
}

body.is-fixed {
  overflow-y: hidden;
}

main {
  overflow-x: clip;
}

::-moz-placeholder {
  opacity: 0.6;
}

::placeholder {
  opacity: 0.6;
}

.grecaptcha-badge {
  display: none;
}

.swiper-button-prev,
.swiper-button-next {
  position: relative;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin-top: 0;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.swiper-pagination {
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}

summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

.wpcf7-spinner {
  display: none;
}

input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #191919 inset !important;
  -webkit-text-fill-color: #fff !important;
}

.u-ff--en, .p-work-single__section-3__bottom > ul li a, .p-work-single__section-3__contents__texts > span, .p-work-single__section-3 > span, .p-work-single__section-1__bottom__right table tbody tr td:first-child, .p-work-single__section-1 > span, .p-work__section-1__bottom__right a,
.p-work__section-1__bottom__right span, .p-work__section-1__bottom__left li a, .p-work__section-1__contents__item__texts > span, .p-work__section-1__top > p, .p-work__section-1__top__left li a, .p-contact__section-1__right__item__contents a, .p-contact__section-1__right__item h2, .p-privacy__section-1__item > span, .p-service__section-1__left__texts > p, .p-company__section-1__right__item h2, .p-company__section-1__left > span, .p-top__section-4__list__item__texts > span, .p-top__section-4__heading, .p-top__section-3__heading, .p-top__section-1__top > p:nth-of-type(1), .c-sub-page-heading > span, .c-section-contact__bottom__btn a > p, .c-section-contact > span, .c-btn-1 > p, .c-footer > span, .c-footer__top__right nav a, .c-open-nav__top__item a, .c-header__right__nav a {
  font-family: "Roboto", sans-serif;
  letter-spacing: 0;
}

.u-ff--ja {
  font-family: "Noto Sans JP", sans-serif;
}

.u-fz--2xs, .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap .error-message::before, .c-open-nav__mid__list__item a {
  font-size: max(10px, 0.732vw);
  line-height: 1.8;
}
@media (width <= 768px) {
  .u-fz--2xs, .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap .error-message::before, .c-open-nav__mid__list__item a {
    font-size: 2.66vw;
  }
}

.u-fz--xs, .p-work-single__section-3__bottom > a, .p-contact__section-1__right__item__contents > p, .p-contact__section-1__left .form__btn > p, .c-footer__bottom__right a,
.c-footer__bottom__right > span, .c-footer__bottom__left__item a, .c-open-nav__bottom a,
.c-open-nav__bottom > span {
  font-size: max(12px, 0.8784vw);
  line-height: 1.8;
}
@media (width <= 768px) {
  .u-fz--xs, .p-work-single__section-3__bottom > a, .p-contact__section-1__right__item__contents > p, .p-contact__section-1__left .form__btn > p, .c-footer__bottom__right a,
  .c-footer__bottom__right > span, .c-footer__bottom__left__item a, .c-open-nav__bottom a,
  .c-open-nav__bottom > span {
    font-size: 3.2vw;
  }
}

.u-fz--sm, .p-work-single__section-3__bottom > ul li a, .p-work-single__section-3 > span, .p-work-single__section-1__bottom__right table tbody tr td:last-child, .p-work__section-1__bottom__right a,
.p-work__section-1__bottom__right span, .p-work__section-1__bottom__left li a, .p-work__section-1__top > p, .p-work__section-1__top__left li a, .p-contact__section-1__left .confirm__list__item > p:nth-of-type(1), .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap .error-message, .p-service__section-1__right__item__bottom__item > p, .p-service__section-1__left__texts > p, .p-top__section-4__heading, .p-top__section-3__contents__item > ul > li > p, .p-top__section-3__heading, .p-top__section-2__right > p {
  font-size: max(13px, 0.9516vw);
  line-height: 1.8;
}
@media (width <= 768px) {
  .u-fz--sm, .p-work-single__section-3__bottom > ul li a, .p-work-single__section-3 > span, .p-work-single__section-1__bottom__right table tbody tr td:last-child, .p-work__section-1__bottom__right a,
  .p-work__section-1__bottom__right span, .p-work__section-1__bottom__left li a, .p-work__section-1__top > p, .p-work__section-1__top__left li a, .p-contact__section-1__left .confirm__list__item > p:nth-of-type(1), .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap .error-message, .p-service__section-1__right__item__bottom__item > p, .p-service__section-1__left__texts > p, .p-top__section-4__heading, .p-top__section-3__contents__item > ul > li > p, .p-top__section-3__heading, .p-top__section-2__right > p {
    font-size: 3.46vw;
  }
}

.u-fz--base, .p-work-single__section-3__contents__texts > span, .p-work-single__section-1__bottom__right table tbody tr td:first-child, .p-work-single__section-1__bottom > p, .p-work-single__section-1 > span, .p-work__section-1__contents__item__texts > span, .p-contact-thanks__inner > p:nth-of-type(2), .p-contact__section-1__right__item__contents a, .p-contact__section-1__right__item h2, .p-contact__section-1__left .confirm__btn input, .p-contact__section-1__left .form__btn input, .p-contact__section-1__left .form__list__item label, .p-privacy__section-1__item__texts > p, .p-service__section-1__right__item__bottom__item h3, .p-company__section-1__right__item table tbody tr td, .p-company__section-1__right__item h2, .p-company__section-1__left > span, .p-top__section-4__list__item__texts > span, .p-top__section-3__contents__item__main__right > p:nth-of-type(2), .c-sub-page-heading > p, .c-sub-page-heading > span, .c-section-contact__bottom > p, .c-footer__top__right nav a, .c-header__right__nav a {
  font-size: max(15px, 1.098vw);
  line-height: 1.8;
}
@media (width <= 768px) {
  .u-fz--base, .p-work-single__section-3__contents__texts > span, .p-work-single__section-1__bottom__right table tbody tr td:first-child, .p-work-single__section-1__bottom > p, .p-work-single__section-1 > span, .p-work__section-1__contents__item__texts > span, .p-contact-thanks__inner > p:nth-of-type(2), .p-contact__section-1__right__item__contents a, .p-contact__section-1__right__item h2, .p-contact__section-1__left .confirm__btn input, .p-contact__section-1__left .form__btn input, .p-contact__section-1__left .form__list__item label, .p-privacy__section-1__item__texts > p, .p-service__section-1__right__item__bottom__item h3, .p-company__section-1__right__item table tbody tr td, .p-company__section-1__right__item h2, .p-company__section-1__left > span, .p-top__section-4__list__item__texts > span, .p-top__section-3__contents__item__main__right > p:nth-of-type(2), .c-sub-page-heading > p, .c-sub-page-heading > span, .c-section-contact__bottom > p, .c-footer__top__right nav a, .c-header__right__nav a {
    font-size: 4vw;
  }
}

.u-fz--md, .p-contact__section-1__left .confirm__list__item > p:nth-of-type(2), .p-service__section-1__right__item__top__bottom > p, .p-top__section-3__contents__item > ul > li h4, .c-open-nav__mid > a {
  font-size: max(16px, 1.17vw);
  line-height: 1.7;
}
@media (width <= 768px) {
  .u-fz--md, .p-contact__section-1__left .confirm__list__item > p:nth-of-type(2), .p-service__section-1__right__item__top__bottom > p, .p-top__section-3__contents__item > ul > li h4, .c-open-nav__mid > a {
    font-size: 4.26vw;
  }
}

.u-fz--lg, .p-top__section-1__top > p:nth-of-type(2) {
  font-size: max(18px, 1.317vw);
  line-height: 1.6;
}
@media (width <= 768px) {
  .u-fz--lg, .p-top__section-1__top > p:nth-of-type(2) {
    font-size: 4.6vw;
  }
}

.u-fz--xl, .p-top__section-3__contents__item__main__left h3, .c-section-contact__bottom__btn a > p, .c-btn-1 > p, .c-footer__top > p {
  font-size: max(21px, 1.537vw);
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media (width <= 768px) {
  .u-fz--xl, .p-top__section-3__contents__item__main__left h3, .c-section-contact__bottom__btn a > p, .c-btn-1 > p, .c-footer__top > p {
    font-size: 5vw;
  }
}

.u-fz--2xl {
  font-size: max(25px, 1.83vw);
}
@media (width <= 768px) {
  .u-fz--2xl {
    font-size: 5.5vw;
  }
}

.u-fz--3xl, .p-contact-thanks__inner > p:nth-of-type(1) {
  font-size: max(30px, 2.196vw);
}
@media (width <= 768px) {
  .u-fz--3xl, .p-contact-thanks__inner > p:nth-of-type(1) {
    font-size: 6vw;
  }
}

.u-fz--4xl, .p-privacy__section-1__item__texts h2, .p-service__section-1__right__item__top h2, .p-top__section-3__contents__item__main__right > p:nth-of-type(1) {
  font-size: 2.928vw;
}
@media (width <= 768px) {
  .u-fz--4xl, .p-privacy__section-1__item__texts h2, .p-service__section-1__right__item__top h2, .p-top__section-3__contents__item__main__right > p:nth-of-type(1) {
    font-size: 7vw;
  }
}

.u-fz--5xl, .p-privacy__section-1__item > span {
  font-size: 3.66vw;
}
@media (width <= 768px) {
  .u-fz--5xl, .p-privacy__section-1__item > span {
    font-size: 8vw;
  }
}

.u-fz--6xl {
  font-size: 4.39vw;
}
@media (width <= 768px) {
  .u-fz--6xl {
    font-size: 9vw;
  }
}

.u-of--cover, .p-work-single__section-3__contents__img img, .p-work__section-1__contents__item__img img, .p-service__section-1__right__item__top__bottom__img img, .p-service__section-1__right__item__top__img img, .p-service__section-1__left__imgs__img img, .p-top__section-4__list__item__img img, .p-top__section-3__contents__item__img img, .p-top__section-2__left__img img, .p-top__section-1__bottom > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.u-d-none--pc {
  display: none;
}
@media (width <= 768px) {
  .u-d-none--pc {
    display: flex;
  }
}

.u-d-none--sp {
  display: flex;
}
@media (width <= 768px) {
  .u-d-none--sp {
    display: none;
  }
}

.u-highlight {
  color: #00BA88;
}

.u-underline-anim, .p-work-single__section-3__bottom > a, .p-work-single__section-3__bottom > ul li a, .p-work-single__section-1__bottom__right table tbody tr td a, .p-work__section-1__bottom__right a, .p-work__section-1__bottom__left li a, .p-work__section-1__top__left li a, .p-contact__section-1__right__item__contents a {
  height: -moz-fit-content;
  height: fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  transition: 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
@media (hover: hover) {
  .u-underline-anim:hover, .p-work-single__section-3__bottom > a:hover, .p-work-single__section-3__bottom > ul li a:hover, .p-work-single__section-1__bottom__right table tbody tr td a:hover, .p-work__section-1__bottom__right a:hover, .p-work__section-1__bottom__left li a:hover, .p-work__section-1__top__left li a:hover, .p-contact__section-1__right__item__contents a:hover {
    background-size: 100% 1px;
  }
}

.c-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2vw;
  width: 100vw;
  mix-blend-mode: difference;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
}
@media (width <= 768px) {
  .c-header {
    padding: 5vw;
    mix-blend-mode: normal;
  }
}
.c-header__left {
  display: flex;
}
.c-header__left a {
  transition: 0.8s cubic-bezier(0.87, 0, 0.13, 1);
}
.c-header__left a.is-hidden {
  translate: 0 -10vw;
}
@media (width <= 768px) {
  .c-header__left a.is-hidden {
    translate: 0 -20vw;
  }
}
.c-header__left a img {
  width: 3.66vw;
}
@media (width <= 768px) {
  .c-header__left a img {
    width: 7vw;
  }
}
.c-header__right {
  display: flex;
  align-items: center;
  gap: 2.5vw;
}
.c-header__right__nav {
  display: flex;
  align-items: center;
  gap: 1.7vw;
  transition: 0.8s cubic-bezier(0.87, 0, 0.13, 1);
}
@media (width <= 768px) {
  .c-header__right__nav {
    display: none;
  }
}
.c-header__right__nav.is-hidden {
  translate: 0 -10vw;
}
.c-header__right__nav a {
  line-height: 1;
  font-weight: 300;
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  transition: 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
@media (hover: hover) {
  .c-header__right__nav a:hover {
    background-size: 100% 1px;
  }
}
.c-header__right__hamburger {
  width: 3.45vw;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1/1;
  border: solid 1px #fff;
  position: relative;
  cursor: pointer;
  overflow: clip;
}
@media (width <= 768px) {
  .c-header__right__hamburger {
    width: 15vw;
    background-color: #191919;
    border-color: #4B4B4B;
  }
}
.c-header__right__hamburger::before {
  content: "";
  display: flex;
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.4s cubic-bezier(0.87, 0, 0.13, 1);
  translate: 0 100%;
}
.c-header__right__hamburger > span {
  width: 31.8%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: 0.4s cubic-bezier(0.87, 0, 0.13, 1);
}
.c-header__right__hamburger > span:nth-of-type(1) {
  top: 45%;
}
.c-header__right__hamburger > span:nth-of-type(2) {
  top: 55%;
}
@media (hover: hover) {
  .c-header__right__hamburger:hover::before {
    translate: 0 0;
  }
  .c-header__right__hamburger:hover > span {
    background-color: #191919;
  }
}
.c-header__right__hamburger.is-active::before {
  translate: 0 0;
}
.c-header__right__hamburger.is-active > span {
  background-color: #191919;
}
@media (width <= 768px) {
  .c-header__right__hamburger.is-active > span {
    background-color: #fff;
  }
}
.c-header__right__hamburger.is-active > span:nth-of-type(1) {
  top: 50%;
  rotate: 45deg;
}
.c-header__right__hamburger.is-active > span:nth-of-type(2) {
  top: 50%;
  rotate: -45deg;
}

.c-overlay {
  content: "";
  width: 100vw;
  height: 100dvh;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  background-color: black;
  opacity: 0;
  visibility: hidden;
  transition: 0.8s linear;
}
.c-overlay.is-active {
  opacity: 0.5;
  visibility: visible;
}

.c-open-nav {
  width: 38vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 100vw;
  z-index: 99999;
  transition: 0.8s cubic-bezier(0.87, 0, 0.13, 1);
  visibility: hidden;
}
@media (width <= 768px) {
  .c-open-nav {
    width: 100vw;
    transition-duration: 0.6s;
  }
}
.c-open-nav::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  background-color: #191919;
}
.c-open-nav__inner {
  padding: 0 6vw;
  overflow: scroll;
  height: 100%;
}
@media (width <= 768px) {
  .c-open-nav__inner {
    padding: 0 5vw;
  }
}
.c-open-nav__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5vw;
  padding-top: 12vw;
}
@media (width <= 768px) {
  .c-open-nav__top {
    gap: 3vw;
    padding-top: 30vw;
  }
}
.c-open-nav__top__item {
  opacity: 0;
  translate: 5vw 0;
}
.c-open-nav__top__item a {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 4.5vw;
  line-height: 1;
  letter-spacing: -0.02em;
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  transition: 0.5s cubic-bezier(0.87, 0, 0.13, 1);
  display: flex;
}
@media (hover: hover) {
  .c-open-nav__top__item a:hover {
    background-size: 100% 1px;
    translate: -1vw 0;
  }
}
@media (width <= 768px) {
  .c-open-nav__top__item a {
    font-size: 14vw;
  }
}
.c-open-nav__mid {
  display: grid;
  grid-template-columns: 1fr 14.6vw;
  padding-top: 6vw;
}
@media (width <= 768px) {
  .c-open-nav__mid {
    grid-template-columns: 1fr 43vw;
    padding-top: 20vw;
  }
}
.c-open-nav__mid > a {
  font-weight: 500;
}
.c-open-nav__mid__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1vw;
}
@media (width <= 768px) {
  .c-open-nav__mid__list {
    gap: 2vw;
  }
}
.c-open-nav__mid__list__item {
  line-height: 1;
}
.c-open-nav__mid__list__item a {
  line-height: 1;
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  transition: 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
@media (hover: hover) {
  .c-open-nav__mid__list__item a:hover {
    background-size: 100% 1px;
  }
}
.c-open-nav__bottom {
  padding: 6vw 0 5vw;
  display: grid;
  grid-template-columns: 1fr 14.6vw;
  color: #A0A0A0;
}
@media (width <= 768px) {
  .c-open-nav__bottom {
    grid-template-columns: 1fr 43vw;
    padding: 18vw 0 40vw;
  }
}
.c-open-nav__bottom a,
.c-open-nav__bottom > span {
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1;
}
.c-open-nav__bottom a {
  transition: 0.3s ease;
}
@media (hover: hover) {
  .c-open-nav__bottom a:hover {
    opacity: 0.5;
  }
}
.c-open-nav.is-active {
  left: 62vw;
  visibility: visible;
}
@media (width <= 768px) {
  .c-open-nav.is-active {
    left: 0;
  }
}

.c-footer {
  padding: 0 2vw;
}
@media (width <= 768px) {
  .c-footer {
    padding: 0 5vw;
  }
}
.c-footer__top {
  display: grid;
  grid-template-columns: 1fr 24vw;
  border-top: solid 1px #fff;
  padding-top: 3vw;
}
@media (width <= 768px) {
  .c-footer__top {
    padding-top: 6vw;
    display: flex;
    flex-direction: column-reverse;
    gap: 50vw;
  }
}
.c-footer__top__right nav {
  display: flex;
  flex-direction: column;
  gap: 1vw;
}
@media (width <= 768px) {
  .c-footer__top__right nav {
    gap: 3vw;
  }
}
.c-footer__top__right nav a {
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  transition: 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
@media (hover: hover) {
  .c-footer__top__right nav a:hover {
    background-size: 100% 1px;
  }
}
@media (width <= 768px) {
  .c-footer__top__right nav a {
    font-size: 8vw;
  }
}
.c-footer__bottom {
  padding-top: 10vw;
  display: grid;
  grid-template-columns: 1fr 24vw;
}
@media (width <= 768px) {
  .c-footer__bottom {
    grid-template-columns: 1fr 1fr;
  }
}
.c-footer__bottom__left {
  display: flex;
  gap: 4vw;
}
@media (width <= 768px) {
  .c-footer__bottom__left {
    flex-direction: column;
  }
}
.c-footer__bottom__left__item {
  line-height: 1;
}
.c-footer__bottom__left__item a {
  font-weight: 300;
  line-height: 1;
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  transition: 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
@media (hover: hover) {
  .c-footer__bottom__left__item a:hover {
    background-size: 100% 1px;
  }
}
.c-footer__bottom__right {
  display: flex;
  justify-content: space-between;
  gap: 2vw;
}
@media (width <= 768px) {
  .c-footer__bottom__right {
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    gap: 15vw;
  }
}
.c-footer__bottom__right a,
.c-footer__bottom__right > span {
  height: -moz-fit-content;
  height: fit-content;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.5;
}
.c-footer__bottom__right a {
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  transition: 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
@media (hover: hover) {
  .c-footer__bottom__right a:hover {
    background-size: 100% 1px;
  }
}
.c-footer > span {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 30vw;
  font-weight: bold;
  line-height: 0.8;
  padding-top: 4vw;
  letter-spacing: -0.05em;
  position: relative;
  z-index: -1;
}
@media (width <= 768px) {
  .c-footer > span {
    padding: 8vw 0 4vw;
  }
}

.c-btn-1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2vw;
  position: relative;
  overflow: clip;
  padding: 0.5vw 0;
  min-width: 16vw;
  width: -moz-fit-content;
  width: fit-content;
}
@media (width <= 768px) {
  .c-btn-1 {
    min-width: 40vw;
    padding: 1vw 0;
    gap: 4vw;
  }
}
.c-btn-1 > p {
  letter-spacing: -0.04em;
  transition: 0.5s cubic-bezier(0.83, 0, 0.17, 1);
}
.c-btn-1::before, .c-btn-1::after {
  content: "";
  width: 0.5vw;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1/1;
  border-top: solid 1.5px #191919;
  border-right: solid 1.5px #191919;
  rotate: 45deg;
  transition: 0.5s cubic-bezier(0.83, 0, 0.17, 1);
}
@media (width <= 768px) {
  .c-btn-1::before, .c-btn-1::after {
    width: 1.5vw;
  }
}
.c-btn-1::before {
  position: absolute;
  top: 43%;
  left: -4vw;
}
.c-btn-1::after {
  position: relative;
  right: 1vw;
}
@media (width <= 768px) {
  .c-btn-1::after {
    right: 2vw;
  }
}
.c-btn-1 > span {
  width: 100%;
  height: 1px;
  background-color: #191919;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: right bottom;
  transition: 0.5s cubic-bezier(0.83, 0, 0.17, 1);
}
.c-btn-1 > span:nth-of-type(2) {
  transform-origin: left bottom;
  translate: -100% 0;
  transition-delay: 0.2s;
}
@media (hover: hover) {
  .c-btn-1:hover {
    background-size: 100% 1px;
  }
  .c-btn-1:hover > p {
    translate: 2.5vw 0;
  }
  .c-btn-1:hover::before {
    translate: 4.5vw 0;
  }
  .c-btn-1:hover::after {
    translate: 5vw 0;
  }
  .c-btn-1:hover > span:nth-of-type(1) {
    transform: scaleX(0);
  }
  .c-btn-1:hover > span:nth-of-type(2) {
    translate: 0% 0;
  }
}
.c-btn-1.is-white {
  color: #fff;
}
.c-btn-1.is-white::before, .c-btn-1.is-white::after {
  border-color: #fff;
}
.c-btn-1.is-white > span {
  background-color: #fff;
}

.c-section-contact {
  padding: 17vw 0 14vw;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  overflow: clip;
}
@media (width <= 768px) {
  .c-section-contact {
    padding: 40vw 5vw 30vw;
  }
}
.c-section-contact > span {
  position: absolute;
  top: -2vw;
  right: 0;
  font-size: 13vw;
  white-space: nowrap;
  line-height: 1;
  letter-spacing: -0.04em;
}
@media (width <= 768px) {
  .c-section-contact > span {
    font-size: 32vw;
  }
}
.c-section-contact__container {
  width: 63vw;
}
@media (width <= 768px) {
  .c-section-contact__container {
    width: 100%;
  }
}
.c-section-contact__container > p {
  font-size: 3.5vw;
  font-weight: 600;
}
@media (width <= 768px) {
  .c-section-contact__container > p {
    font-size: 10vw;
  }
}
.c-section-contact__bottom {
  padding-top: 4vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media (width <= 768px) {
  .c-section-contact__bottom {
    padding-top: 5.5vw;
    flex-direction: column;
    align-items: flex-start;
    gap: 20vw;
  }
}
.c-section-contact__bottom__btn {
  position: relative;
}
.c-section-contact__bottom__btn a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2vw;
  position: relative;
  overflow: clip;
  padding: 0.5vw 0;
  min-width: 25vw;
  z-index: 3;
}
@media (width <= 768px) {
  .c-section-contact__bottom__btn a {
    min-width: 40vw;
    padding: 1vw 0;
    gap: 4vw;
  }
}
.c-section-contact__bottom__btn a > p {
  letter-spacing: 0;
  transition: 0.5s cubic-bezier(0.83, 0, 0.17, 1);
}
.c-section-contact__bottom__btn a::before, .c-section-contact__bottom__btn a::after {
  content: "";
  width: 0.5vw;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1/1;
  border-top: solid 1.5px #fff;
  border-right: solid 1.5px #fff;
  rotate: 45deg;
  transition: 0.5s cubic-bezier(0.83, 0, 0.17, 1);
}
@media (width <= 768px) {
  .c-section-contact__bottom__btn a::before, .c-section-contact__bottom__btn a::after {
    width: 1.5vw;
  }
}
.c-section-contact__bottom__btn a::before {
  position: absolute;
  top: 43%;
  left: -4vw;
}
.c-section-contact__bottom__btn a::after {
  position: relative;
  right: 1vw;
}
@media (width <= 768px) {
  .c-section-contact__bottom__btn a::after {
    right: 2vw;
  }
}
.c-section-contact__bottom__btn a > span {
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: right bottom;
  transition: 0.5s cubic-bezier(0.83, 0, 0.17, 1);
}
.c-section-contact__bottom__btn a > span:nth-of-type(2) {
  transform-origin: left bottom;
  translate: -100% 0;
  transition-delay: 0.2s;
}
@media (hover: hover) {
  .c-section-contact__bottom__btn a:hover {
    background-size: 100% 1px;
  }
  .c-section-contact__bottom__btn a:hover > p {
    translate: 2.5vw 0;
  }
  .c-section-contact__bottom__btn a:hover::before {
    translate: 4.5vw 0;
  }
  .c-section-contact__bottom__btn a:hover::after {
    translate: 5vw 0;
  }
  .c-section-contact__bottom__btn a:hover > span:nth-of-type(1) {
    transform: scaleX(0);
  }
  .c-section-contact__bottom__btn a:hover > span:nth-of-type(2) {
    translate: 0% 0;
  }
  .c-section-contact__bottom__btn a:hover + span {
    scale: 0;
    translate: 3vw 0;
  }
}
.c-section-contact__bottom__btn > span {
  width: 10vw;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #00BA88;
  position: absolute;
  right: -3.8vw;
  top: -3.4vw;
  z-index: 2;
  transition: 0.5s cubic-bezier(0.83, 0, 0.17, 1);
}
@media (width <= 768px) {
  .c-section-contact__bottom__btn > span {
    right: -10vw;
    top: -7.5vw;
    width: 25vw;
  }
}

.c-sub-page-heading {
  padding: 19.4vw 2vw 4.8vw;
}
@media (width <= 768px) {
  .c-sub-page-heading {
    padding: 50vw 5vw 16vw;
  }
}
.c-sub-page-heading > span {
  color: #A0A0A0;
}
.c-sub-page-heading h1 {
  font-size: 6vw;
  line-height: 1;
  padding-top: 2.5vw;
  font-weight: bold;
}
@media (width <= 768px) {
  .c-sub-page-heading h1 {
    font-size: 10vw;
    padding-top: 5vw;
  }
}
.c-sub-page-heading > p {
  padding-top: 3vw;
}
@media (width <= 768px) {
  .c-sub-page-heading > p {
    padding-top: 6vw;
  }
}

.p-top h1 {
  position: absolute;
  left: -99999999999px;
}
.p-top__section-1__top {
  width: 100vw;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1366/666;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 3.5vw 2vw;
}
@media (width <= 768px) {
  .p-top__section-1__top {
    padding: 50vw 5vw 6vw;
    flex-direction: column;
    gap: 5vw;
  }
}
.p-top__section-1__top > p:nth-of-type(1) {
  font-size: 8.78vw;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 0.92;
}
@media (width <= 768px) {
  .p-top__section-1__top > p:nth-of-type(1) {
    font-size: 13vw;
  }
}
.p-top__section-1__bottom {
  width: 100vw;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1366/666;
  overflow: clip;
}
@media (width <= 768px) {
  .p-top__section-1__bottom {
    aspect-ratio: 3/2;
  }
}
.p-top__section-1__bottom > img {
  -o-object-position: 0% 0%;
     object-position: 0% 0%;
}
.p-top__section-2 {
  padding: 12vw 2vw 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: flex-end;
  gap: 1.46vw;
  background-color: #f7f7f7;
  color: #191919;
}
@media (width <= 768px) {
  .p-top__section-2 {
    padding: 24vw 5vw 0;
    grid-template-columns: 1fr;
    gap: 10vw;
  }
}
.p-top__section-2__left {
  display: flex;
  flex-direction: column;
  gap: 6vw;
}
.p-top__section-2__left > p {
  font-size: 3.15vw;
  font-weight: 500;
  letter-spacing: 0;
  padding-left: 1.6vw;
  position: relative;
  left: 1vw;
}
@media (width <= 768px) {
  .p-top__section-2__left > p {
    font-size: 6.6vw;
    padding-left: 0;
  }
}
.p-top__section-2__left > p::before {
  content: "";
  display: inline-block;
  width: 13.8vw;
}
@media (width <= 768px) {
  .p-top__section-2__left > p::before {
    width: 43vw;
  }
}
.p-top__section-2__left__img {
  width: 24vw;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 329/148;
  overflow: clip;
  margin-left: 17vw;
}
@media (width <= 768px) {
  .p-top__section-2__left__img {
    margin-left: 44vw;
    width: -webkit-fill-available;
    width: -moz-available;
    width: fill-available;
  }
}
.p-top__section-2__left__img img {
  -o-object-position: 0% 0%;
     object-position: 0% 0%;
}
.p-top__section-2__right {
  width: 25.6vw;
  margin-left: 13.9vw;
}
@media (width <= 768px) {
  .p-top__section-2__right {
    width: -webkit-fill-available;
    width: -moz-available;
    width: fill-available;
    margin-left: 22vw;
  }
}
.p-top__section-2__right > p {
  font-weight: 500;
}
.p-top__section-2__right .c-btn-1 {
  margin-top: 4vw;
}
@media (width <= 768px) {
  .p-top__section-2__right .c-btn-1 {
    margin-top: 8vw;
  }
}
.p-top__section-3 {
  background-color: #f7f7f7;
  color: #191919;
  padding: 19vw 2vw 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (width <= 768px) {
  .p-top__section-3 {
    padding: 34vw 5vw 0;
  }
}
.p-top__section-3__heading {
  letter-spacing: -0.04em;
  padding-bottom: 1vw;
  width: 100%;
  color: #A0A0A0;
}
@media (width <= 768px) {
  .p-top__section-3__heading {
    padding-bottom: 2vw;
  }
}
.p-top__section-3__contents {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10vw;
}
.p-top__section-3__contents__item {
  padding-top: 5vw;
  border-top: solid 1px #E5E5E5;
}
@media (width <= 768px) {
  .p-top__section-3__contents__item {
    padding-top: 24vw;
  }
}
.p-top__section-3__contents__item__main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.464vw;
}
@media (width <= 768px) {
  .p-top__section-3__contents__item__main {
    grid-template-columns: 1fr;
    gap: 5vw;
  }
}
.p-top__section-3__contents__item__main__left h3 {
  font-weight: 500;
  background-color: #191919;
  color: #fff;
  padding: 0vw 2vw 0vw 1vw;
  width: -moz-fit-content;
  width: fit-content;
}
@media (width <= 768px) {
  .p-top__section-3__contents__item__main__left h3 {
    padding: 0 6vw 0 2vw;
  }
}
.p-top__section-3__contents__item__main__right > p:nth-of-type(1) {
  font-weight: bold;
}
.p-top__section-3__contents__item__main__right > p:nth-of-type(2) {
  padding-top: 2.5vw;
  font-weight: 500;
}
@media (width <= 768px) {
  .p-top__section-3__contents__item__main__right > p:nth-of-type(2) {
    padding-top: 5vw;
  }
}
.p-top__section-3__contents__item__img {
  margin-top: 5vw;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1312/743;
  overflow: clip;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}
.p-top__section-3__contents__item > ul {
  padding: 3vw 2vw 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5vw;
}
@media (width <= 768px) {
  .p-top__section-3__contents__item > ul {
    grid-template-columns: 1fr;
    gap: 8vw;
    padding: 10vw 0 0;
  }
}
.p-top__section-3__contents__item > ul > li {
  padding: 1.5vw 0;
}
@media (width <= 768px) {
  .p-top__section-3__contents__item > ul > li {
    padding: 0;
  }
}
.p-top__section-3__contents__item > ul > li:not(.p-top__section-3__contents__item > ul > li:last-child) {
  border-right: solid 1px #E5E5E5;
  padding-right: 3.5vw;
}
@media (width <= 768px) {
  .p-top__section-3__contents__item > ul > li:not(.p-top__section-3__contents__item > ul > li:last-child) {
    border-bottom: solid 1px #E5E5E5;
    border-right: none;
    padding-right: 0;
    padding-bottom: 8vw;
  }
}
.p-top__section-3__contents__item > ul > li h4 {
  font-weight: bold;
}
.p-top__section-3__contents__item > ul > li > p {
  padding-top: 1.5vw;
}
@media (width <= 768px) {
  .p-top__section-3__contents__item > ul > li > p {
    padding-top: 3vw;
  }
}
.p-top__section-3 > .c-btn-1 {
  margin-top: 3vw;
}
@media (width <= 768px) {
  .p-top__section-3 > .c-btn-1 {
    margin-top: 12vw;
  }
}
.p-top__section-4 {
  background-color: #f7f7f7;
  color: #191919;
  padding: 10vw 2vw;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (width <= 768px) {
  .p-top__section-4 {
    padding: 24vw 5vw;
  }
}
.p-top__section-4__heading {
  letter-spacing: -0.04em;
  padding-bottom: 1vw;
  width: 100%;
  color: #A0A0A0;
}
@media (width <= 768px) {
  .p-top__section-4__heading {
    padding-bottom: 2vw;
  }
}
.p-top__section-4__list {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
}
.p-top__section-4__list__item {
  padding: 2vw 0;
  display: grid;
  grid-template-columns: 1fr 60vw;
  gap: 2vw;
  border-top: solid 1px #E5E5E5;
  transition: 0.3s ease;
}
@media (width <= 768px) {
  .p-top__section-4__list__item {
    padding: 8vw 0;
    gap: 3vw;
    grid-template-columns: 1fr;
  }
}
.p-top__section-4__list__item:last-child {
  border-bottom: solid 1px #E5E5E5;
}
.p-top__section-4__list__item__texts {
  margin-top: -1vw;
  transition: 0.3s ease;
}
@media (width <= 768px) {
  .p-top__section-4__list__item__texts {
    margin-top: 0;
  }
}
.p-top__section-4__list__item__texts h3 {
  font-size: 4.4vw;
  font-weight: bold;
  line-height: 1.4;
}
@media (width <= 768px) {
  .p-top__section-4__list__item__texts h3 {
    font-size: 10vw;
  }
}
.p-top__section-4__list__item__texts > span {
  display: flex;
}
.p-top__section-4__list__item__img {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 827/441;
  overflow: clip;
  border: solid 1px #E5E5E5;
  transition: 0.3s ease;
}
@media (hover: hover) {
  .p-top__section-4__list__item:hover {
    background-color: rgb(237, 237, 237);
    padding: 2vw;
  }
}
.p-top__section-4 > .c-btn-1 {
  margin-top: 3vw;
}
@media (width <= 768px) {
  .p-top__section-4 > .c-btn-1 {
    margin-top: 12vw;
  }
}

.p-company__section-1 {
  display: grid;
  grid-template-columns: 36.5vw 1fr;
  padding: 0 2vw 11vw;
}
@media (width <= 768px) {
  .p-company__section-1 {
    grid-template-columns: 1fr;
    padding: 0 5vw 30vw;
    gap: 2vw;
  }
}
.p-company__section-1__left > span {
  display: flex;
  align-items: center;
  gap: 0.6vw;
}
@media (width <= 768px) {
  .p-company__section-1__left > span {
    gap: 2vw;
  }
}
.p-company__section-1__left > span::before {
  content: "";
  width: 0.6vw;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1/1;
  background-color: #fff;
}
@media (width <= 768px) {
  .p-company__section-1__left > span::before {
    width: 3vw;
  }
}
.p-company__section-1__right {
  display: flex;
  flex-direction: column;
  gap: 7.5vw;
}
@media (width <= 768px) {
  .p-company__section-1__right {
    gap: 25vw;
  }
}
.p-company__section-1__right__item {
  padding-top: 1.5vw;
  border-top: solid 1px #4B4B4B;
}
@media (width <= 768px) {
  .p-company__section-1__right__item {
    padding-top: 7vw;
  }
}
.p-company__section-1__right__item h2 {
  font-weight: 300;
  padding-bottom: 5vw;
}
@media (width <= 768px) {
  .p-company__section-1__right__item h2 {
    padding-bottom: 6vw;
    font-size: 10vw;
  }
}
.p-company__section-1__right__item table tbody {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2vw;
}
@media (width <= 768px) {
  .p-company__section-1__right__item table tbody {
    gap: 5vw;
  }
}
.p-company__section-1__right__item table tbody tr {
  display: grid;
  grid-template-columns: 6vw 1fr;
  gap: 2vw;
}
@media (width <= 768px) {
  .p-company__section-1__right__item table tbody tr {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.p-company__section-1__right__item table tbody tr td:nth-of-type(1) {
  color: #A0A0A0;
}
.p-company__section-1__right__item table tbody tr td a {
  background-image: linear-gradient(#fff, #fff);
  background-size: 0 1px;
  background-position: bottom left;
  background-repeat: no-repeat;
  transition: 0.5s cubic-bezier(0.87, 0, 0.13, 1);
}
@media (hover: hover) {
  .p-company__section-1__right__item table tbody tr td a:hover {
    background-size: 100% 1px;
  }
}
.p-company__section-1__right__item iframe {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 2/1;
}
@media (width <= 768px) {
  .p-company__section-1__right__item iframe {
    aspect-ratio: 1/1;
  }
}

.p-service__section-1 {
  padding: 0 2vw 10vw;
  display: grid;
  grid-template-columns: 54.2vw 1fr;
}
@media (width <= 768px) {
  .p-service__section-1 {
    padding: 0 5vw 20vw;
    grid-template-columns: 1fr;
  }
}
.p-service__section-1__left {
  position: sticky;
  top: 2vw;
  height: -moz-fit-content;
  height: fit-content;
  display: grid;
  grid-template-columns: 43.3vw 1fr;
}
@media (width <= 768px) {
  .p-service__section-1__left {
    display: none;
  }
}
.p-service__section-1__left__imgs {
  height: 93vh;
  position: relative;
}
.p-service__section-1__left__imgs__img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: clip;
}
.p-service__section-1__left__texts {
  padding: 0 1vw;
}
.p-service__section-1__right {
  display: flex;
  flex-direction: column;
  gap: 16vw;
}
@media (width <= 768px) {
  .p-service__section-1__right {
    gap: 32vw;
  }
}
.p-service__section-1__right__item {
  opacity: 0.2;
  transition: 0.3s ease;
}
@media (width <= 768px) {
  .p-service__section-1__right__item {
    opacity: 1;
  }
}
.p-service__section-1__right__item.is-current {
  opacity: 1;
}
.p-service__section-1__right__item__top {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 93vh;
}
@media (width <= 768px) {
  .p-service__section-1__right__item__top {
    height: auto;
  }
}
.p-service__section-1__right__item__top__img {
  display: none;
}
@media (width <= 768px) {
  .p-service__section-1__right__item__top__img {
    display: flex;
  }
}
.p-service__section-1__right__item__top h2 {
  font-weight: 600;
}
@media (width <= 768px) {
  .p-service__section-1__right__item__top h2 {
    padding-top: 4vw;
  }
}
.p-service__section-1__right__item__top__bottom {
  display: flex;
  flex-direction: column;
  gap: 3.5vw;
}
@media (width <= 768px) {
  .p-service__section-1__right__item__top__bottom {
    padding-top: 4vw;
    gap: 7vw;
    align-items: flex-end;
  }
}
.p-service__section-1__right__item__top__bottom > p {
  font-weight: 500;
}
.p-service__section-1__right__item__top__bottom > p::before {
  content: "";
  display: inline-block;
  width: 16vw;
}
@media (width <= 768px) {
  .p-service__section-1__right__item__top__bottom > p::before {
    width: 47vw;
  }
}
.p-service__section-1__right__item__top__bottom__img {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 572/198;
  overflow: clip;
}
@media (width <= 768px) {
  .p-service__section-1__right__item__top__bottom__img {
    width: 44vw;
    aspect-ratio: 3/2;
  }
}
.p-service__section-1__right__item__bottom {
  padding-top: 4vw;
  display: grid;
  grid-template-columns: 1fr;
  gap: 4vw;
}
@media (width <= 768px) {
  .p-service__section-1__right__item__bottom {
    padding-top: 8vw;
    gap: 8vw;
  }
}
.p-service__section-1__right__item__bottom__item {
  padding-bottom: 4vw;
  display: grid;
  grid-template-columns: 16vw 1fr;
}
@media (width <= 768px) {
  .p-service__section-1__right__item__bottom__item {
    grid-template-columns: 1fr 1fr;
    padding-bottom: 8vw;
  }
}
.p-service__section-1__right__item__bottom__item:not(:last-child) {
  border-bottom: solid 1px #4B4B4B;
}
.p-service__section-1__right__item__bottom__item h3 {
  font-weight: 600;
  padding-right: 3vw;
}
@media (width <= 768px) {
  .p-service__section-1__right__item__bottom__item h3 {
    padding-right: 6vw;
  }
}
.p-privacy__section-1 {
  padding: 0 2vw 10vw;
  display: grid;
  grid-template-columns: 1fr;
}
@media (width <= 768px) {
  .p-privacy__section-1 {
    padding: 0 5vw 20vw;
  }
}
.p-privacy__section-1__item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.46vw;
  padding: 5.1vw 0;
  border-top: solid 1px #4B4B4B;
}
@media (width <= 768px) {
  .p-privacy__section-1__item {
    grid-template-columns: 1fr;
    gap: 4vw;
    padding: 20vw 0;
  }
}
.p-privacy__section-1__item > span {
  line-height: 1;
}
.p-privacy__section-1__item__texts > p {
  padding-top: 1.46vw;
  font-weight: 300;
}
@media (width <= 768px) {
  .p-privacy__section-1__item__texts > p {
    padding-top: 3vw;
  }
}

.p-contact {
  --color-1:rgb(212, 2, 2);
}
.p-contact__section-1 {
  padding: 0 2vw 10vw;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.46vw;
}
@media (width <= 768px) {
  .p-contact__section-1 {
    padding: 0 5vw 20vw;
    grid-template-columns: 1fr;
    gap: 30vw;
  }
}
.p-contact__section-1__left .form {
  display: flex;
  flex-direction: column;
}
.p-contact__section-1__left .form__list {
  display: grid;
  grid-template-columns: 1fr;
}
.p-contact__section-1__left .form__list__item {
  padding: 3vw 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.46vw;
  border-top: solid 1px #4B4B4B;
}
@media (width <= 768px) {
  .p-contact__section-1__left .form__list__item {
    padding: 10vw 0;
    gap: 3vw;
  }
}
.p-contact__section-1__left .form__list__item:last-child {
  border-bottom: solid 1px #4B4B4B;
}
.p-contact__section-1__left .form__list__item label {
  display: flex;
  gap: 0.2vw;
  cursor: auto;
}
@media (width <= 768px) {
  .p-contact__section-1__left .form__list__item label {
    gap: 0.5vw;
  }
}
.p-contact__section-1__left .form__list__item label.required::after {
  content: "*";
  color: var(--color-1);
}
.p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5vw;
}
@media (width <= 768px) {
  .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap {
    gap: 1vw;
  }
}
.p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap input,
.p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap textarea {
  font-size: max(16px, 1.098vw);
  padding: 0.2vw 0;
  width: 100%;
}
@media (width <= 768px) {
  .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap input,
  .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap textarea {
    padding: 0.4vw 0;
  }
}
.p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap textarea {
  height: 0;
  min-height: 10vw;
  resize: vertical;
}
@media (width <= 768px) {
  .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap textarea {
    min-height: 30vw;
  }
}
.p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  display: none !important;
}
.p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap .error-message {
  font-weight: 500;
  color: var(--color-1);
  display: none;
  align-items: center;
  gap: 0.3vw;
}
@media (width <= 768px) {
  .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap .error-message {
    gap: 0.6vw;
  }
}
.p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap .error-message::before {
  content: "!";
  font-weight: bold;
  color: #191919;
  height: 1vw;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--color-1);
  border-radius: 50%;
}
@media (width <= 768px) {
  .p-contact__section-1__left .form__list__item .wpcf7-form-control-wrap .error-message::before {
    height: 3.5vw;
  }
}
.p-contact__section-1__left .form__btn {
  padding-top: 3.5vw;
}
@media (width <= 768px) {
  .p-contact__section-1__left .form__btn {
    padding-top: 10vw;
  }
}
.p-contact__section-1__left .form__btn > p a {
  text-decoration: underline;
  transition: 0.3s ease;
}
@media (hover: hover) {
  .p-contact__section-1__left .form__btn > p a:hover {
    opacity: 0.5;
  }
}
.p-contact__section-1__left .form__btn input {
  margin-top: 0.8vw;
  width: 100%;
  height: 7vw;
  text-align: center;
  font-weight: bold;
  background-color: #fff;
  color: #191919;
  transition: 0.3s ease;
}
@media (width <= 768px) {
  .p-contact__section-1__left .form__btn input {
    margin-top: 3vw;
    height: 20vw;
  }
}
.p-contact__section-1__left .form__btn input:disabled {
  background-color: rgb(64, 64, 64);
}
@media (hover: hover) {
  .p-contact__section-1__left .form__btn input:not(:disabled):hover {
    opacity: 0.5;
  }
}
.p-contact__section-1__left .form__btn input:not(:disabled):focus {
  outline: -webkit-focus-ring-color auto 1px;
}
.p-contact__section-1__left .confirm {
  display: none;
  flex-direction: column;
}
.p-contact__section-1__left .confirm__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2vw;
}
@media (width <= 768px) {
  .p-contact__section-1__left .confirm__list {
    gap: 6vw;
  }
}
.p-contact__section-1__left .confirm__list__item {
  display: grid;
  grid-template-columns: 1fr;
}
.p-contact__section-1__left .confirm__list__item > p:nth-of-type(1) {
  opacity: 0.5;
}
.p-contact__section-1__left .confirm__btn {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1vw;
  padding-top: 3.5vw;
}
@media (width <= 768px) {
  .p-contact__section-1__left .confirm__btn {
    padding-top: 15vw;
    gap: 3vw;
  }
}
.p-contact__section-1__left .confirm__btn input {
  height: 7vw;
  background-color: #fff;
  color: #191919;
  text-align: center;
  font-weight: bold;
  transition: 0.3s ease;
}
@media (width <= 768px) {
  .p-contact__section-1__left .confirm__btn input {
    height: 20vw;
  }
}
.p-contact__section-1__left .confirm__btn input:focus {
  outline: -webkit-focus-ring-color auto 1px;
}
.p-contact__section-1__left .confirm__btn input:first-child {
  background-color: rgb(35, 35, 35);
  color: #fff;
}
@media (hover: hover) {
  .p-contact__section-1__left .confirm__btn input:hover {
    opacity: 0.5;
  }
}
.p-contact__section-1__right {
  padding-left: 9vw;
  display: flex;
  flex-direction: column;
  gap: 6.8vw;
}
@media (width <= 768px) {
  .p-contact__section-1__right {
    padding-left: 0;
    gap: 10vw;
  }
}
.p-contact__section-1__right__item h2 {
  line-height: 1;
  font-weight: 300;
  display: flex;
  align-items: center;
  gap: 0.5vw;
}
@media (width <= 768px) {
  .p-contact__section-1__right__item h2 {
    gap: 1.5vw;
  }
}
.p-contact__section-1__right__item h2::before {
  content: "";
  width: 0.7vw;
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 1/1;
  background-color: #fff;
}
@media (width <= 768px) {
  .p-contact__section-1__right__item h2::before {
    width: 2.5vw;
  }
}
.p-contact__section-1__right__item__contents {
  padding-top: 2.27vw;
  display: grid;
  grid-template-columns: 15.3vw 1fr;
}
@media (width <= 768px) {
  .p-contact__section-1__right__item__contents {
    grid-template-columns: 1fr 1fr;
    gap: 3vw;
    padding-top: 10vw;
  }
}
.p-contact__section-1__right__item__contents a {
  font-weight: 300;
  line-height: 1;
}
.p-contact-thanks {
  width: 100vw;
  height: 100vh;
  min-height: 700px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (width <= 768px) {
  .p-contact-thanks {
    height: auto;
    min-height: auto;
  }
}
.p-contact-thanks h1 {
  position: absolute;
  left: -99999999999px;
}
.p-contact-thanks__inner {
  padding: 10vw;
}
@media (width <= 768px) {
  .p-contact-thanks__inner {
    padding: 60vw 5vw 35vw;
  }
}
.p-contact-thanks__inner > p:nth-of-type(1) {
  font-weight: 500;
}
.p-contact-thanks__inner > p:nth-of-type(2) {
  padding-top: 2vw;
}
@media (width <= 768px) {
  .p-contact-thanks__inner > p:nth-of-type(2) {
    padding-top: 6vw;
  }
}
.p-contact-thanks__inner .c-btn-1 {
  margin-top: 3vw;
  width: -moz-fit-content;
  width: fit-content;
}
@media (width <= 768px) {
  .p-contact-thanks__inner .c-btn-1 {
    margin-top: 10vw;
  }
}

.p-work__section-1 {
  padding: 0 2vw 20vw;
}
@media (width <= 768px) {
  .p-work__section-1 {
    padding: 0 5vw 40vw;
  }
}
.p-work__section-1__top {
  display: flex;
  justify-content: space-between;
}
@media (width <= 768px) {
  .p-work__section-1__top {
    align-items: flex-end;
  }
}
.p-work__section-1__top__left {
  display: flex;
  gap: 1.4vw;
}
@media (width <= 768px) {
  .p-work__section-1__top__left {
    flex-direction: column;
    gap: 0;
  }
}
.p-work__section-1__top__left li a {
  font-weight: 300;
}
.p-work__section-1__top > p {
  font-weight: 300;
}
.p-work__section-1__contents {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  padding-top: 1vw;
}
@media (width <= 768px) {
  .p-work__section-1__contents {
    padding-top: 3vw;
  }
}
.p-work__section-1__contents__item {
  padding: 2vw 0;
  display: grid;
  grid-template-columns: 1fr 60vw;
  gap: 2vw;
  border-top: solid 1px #4B4B4B;
  transition: 0.3s ease;
}
@media (width <= 768px) {
  .p-work__section-1__contents__item {
    padding: 8vw 0;
    grid-template-columns: 1fr;
    gap: 3vw;
  }
}
.p-work__section-1__contents__item:last-child {
  border-bottom: solid 1px #4B4B4B;
}
.p-work__section-1__contents__item__texts {
  margin-top: -1vw;
  transition: 0.3s ease;
}
@media (width <= 768px) {
  .p-work__section-1__contents__item__texts {
    margin-top: 0;
  }
}
.p-work__section-1__contents__item__texts h2 {
  font-size: 4.4vw;
  font-weight: bold;
  line-height: 1.4;
}
@media (width <= 768px) {
  .p-work__section-1__contents__item__texts h2 {
    font-size: 10vw;
  }
}
.p-work__section-1__contents__item__texts > span {
  display: flex;
}
.p-work__section-1__contents__item__img {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 827/441;
  overflow: clip;
  border: solid 1px #4B4B4B;
  transition: 0.3s ease;
}
@media (hover: hover) {
  .p-work__section-1__contents__item:hover {
    background-color: rgb(18, 18, 18);
    padding: 2vw;
  }
}
.p-work__section-1__bottom {
  padding-top: 1vw;
  display: flex;
  justify-content: space-between;
}
@media (width <= 768px) {
  .p-work__section-1__bottom {
    padding-top: 3vw;
  }
}
.p-work__section-1__bottom__left {
  display: flex;
  gap: 1.4vw;
}
@media (width <= 768px) {
  .p-work__section-1__bottom__left {
    gap: 3vw;
    flex-direction: column;
    gap: 0;
  }
}
.p-work__section-1__bottom__left li a {
  font-weight: 300;
}
.p-work__section-1__bottom__right {
  display: flex;
}
@media (width <= 768px) {
  .p-work__section-1__bottom__right {
    gap: 3vw;
  }
}
.p-work__section-1__bottom__right a,
.p-work__section-1__bottom__right span {
  font-weight: 300;
  padding: 0 0.5vw;
}
.p-work__section-1__bottom__right .current {
  color: #A0A0A0;
  display: flex;
  gap: 0.2vw;
}
.p-work__section-1__bottom__right .current::before {
  content: "[";
}
.p-work__section-1__bottom__right .current::after {
  content: "]";
}
.p-work__section-1__bottom__right .prev,
.p-work__section-1__bottom__right .next {
  display: none;
}

.p-work-single__section-1 {
  padding: 18vw 2vw 0;
}
@media (width <= 768px) {
  .p-work-single__section-1 {
    padding: 50vw 5vw 0;
  }
}
.p-work-single__section-1 h1 {
  font-size: 10vw;
  font-weight: bold;
  line-height: 1.4;
}
@media (width <= 768px) {
  .p-work-single__section-1 h1 {
    font-size: 13vw;
  }
}
.p-work-single__section-1 > span {
  color: #A0A0A0;
}
.p-work-single__section-1__bottom {
  padding-top: 4.8vw;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.464vw;
}
@media (width <= 768px) {
  .p-work-single__section-1__bottom {
    grid-template-columns: 1fr;
    gap: 10vw;
    padding-top: 8vw;
  }
}
.p-work-single__section-1__bottom > p {
  max-width: 40vw;
}
@media (width <= 768px) {
  .p-work-single__section-1__bottom > p {
    max-width: none;
  }
}
.p-work-single__section-1__bottom__right table tbody {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.464vw;
}
@media (width <= 768px) {
  .p-work-single__section-1__bottom__right table tbody {
    gap: 2vw;
  }
}
.p-work-single__section-1__bottom__right table tbody tr {
  display: grid;
  grid-template-columns: 7vw 1fr;
  gap: 1vw;
}
@media (width <= 768px) {
  .p-work-single__section-1__bottom__right table tbody tr {
    grid-template-columns: 25vw 1fr;
    gap: 2vw;
  }
}
.p-work-single__section-1__bottom__right table tbody tr td {
  white-space: pre-wrap;
  display: flex;
}
.p-work-single__section-1__bottom__right table tbody tr td:first-child {
  color: #4B4B4B;
}
.p-work-single__section-2 {
  padding: 8vw 2vw 20vw;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2vw;
}
@media (width <= 768px) {
  .p-work-single__section-2 {
    padding: 20vw 5vw 40vw;
    gap: 3vw;
  }
}
.p-work-single__section-2 .wp-block-video {
  padding: 10vw;
  background-color: rgb(56, 56, 56);
}
.p-work-single__section-2 .wp-block-image img {
  width: 100%;
}
.p-work-single__section-3 {
  padding: 0 2vw 20vw;
}
@media (width <= 768px) {
  .p-work-single__section-3 {
    padding: 0 5vw 40vw;
  }
}
.p-work-single__section-3 > span {
  letter-spacing: -0.04em;
  padding-bottom: 1vw;
  width: 100%;
  color: #A0A0A0;
  display: flex;
}
@media (width <= 768px) {
  .p-work-single__section-3 > span {
    padding-bottom: 2vw;
  }
}
.p-work-single__section-3__contents {
  padding: 2vw 0;
  display: grid;
  grid-template-columns: 1fr 60vw;
  gap: 2vw;
  border-top: solid 1px #4B4B4B;
  border-bottom: solid 1px #4B4B4B;
  transition: 0.3s ease;
}
@media (width <= 768px) {
  .p-work-single__section-3__contents {
    padding: 8vw 0;
    gap: 3vw;
    grid-template-columns: 1fr;
  }
}
.p-work-single__section-3__contents__texts {
  margin-top: -1vw;
  transition: 0.3s ease;
}
@media (width <= 768px) {
  .p-work-single__section-3__contents__texts {
    margin-top: 0;
  }
}
.p-work-single__section-3__contents__texts > p {
  font-size: 4.4vw;
  font-weight: bold;
  line-height: 1.4;
}
@media (width <= 768px) {
  .p-work-single__section-3__contents__texts > p {
    font-size: 10vw;
  }
}
.p-work-single__section-3__contents__texts > span {
  display: flex;
}
.p-work-single__section-3__contents__img {
  height: -moz-fit-content;
  height: fit-content;
  aspect-ratio: 827/441;
  overflow: clip;
  border: solid 1px #4B4B4B;
  transition: 0.3s ease;
}
@media (hover: hover) {
  .p-work-single__section-3__contents:hover {
    background-color: rgb(18, 18, 18);
    padding: 2vw;
  }
}
.p-work-single__section-3__bottom {
  padding-top: 1vw;
  display: flex;
  justify-content: space-between;
}
@media (width <= 768px) {
  .p-work-single__section-3__bottom {
    padding-top: 3vw;
  }
}
.p-work-single__section-3__bottom > ul {
  display: flex;
  gap: 1.4vw;
}
@media (width <= 768px) {
  .p-work-single__section-3__bottom > ul {
    gap: 3vw;
  }
}
.p-work-single__section-3__bottom > ul li a {
  font-weight: 300;
}
.p-work-single__section-3__bottom > a {
  font-weight: 300;
}