@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input[type=checkbox],
input[type=radio] {
  display: none;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

/* リキッドレイアウト対応 */
/* medium */
@font-face {
  font-family: "Helvetica";
  font-weight: 500;
  src: url(../fonts/HelveticaNowDisplay-Medium.ttf);
  font-style: normal;
}
/* bold */
@font-face {
  font-family: "Helvetica";
  font-weight: 600;
  src: url(../fonts/HelveticaNowDisplay-Bold.ttf);
  font-style: normal;
}
/* Exbold */
@font-face {
  font-family: "Helvetica";
  font-weight: 700;
  src: url(../fonts/HelveticaNowDisplay-ExtraBold.ttf);
  font-style: normal;
}
.font-en {
  font-family: Helvetica;
  font-weight: 500;
}

.font-en-b {
  font-family: Helvetica;
  font-weight: 600;
}

.font-en-xb {
  font-family: Helvetica;
  font-weight: 700;
}

html body .sp {
  display: none;
}
@media screen and (max-width: 767px) {
  html body .sp {
    display: block;
  }
}

html body .pc {
  display: block;
}
@media screen and (max-width: 767px) {
  html body .pc {
    display: none;
  }
}

body {
  min-height: 100vh;
  height: -webkit-fill-available;
  width: 100%;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  word-break: break-all;
  letter-spacing: 0.04em;
}

h1, h2, h3, h4 {
  font-weight: 600;
}

.en2 {
  font-family: "Open Sans", sans-serif;
}

html {
  font-size: 4.2666666667vw;
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media (min-width: 680px) {
  html {
    font-size: 0.8333333333vw;
  }
}
@media (min-width: 1920px) {
  html {
    font-size: 16px;
  }
}

/* aタグ設定 */
a {
  text-decoration: none;
  color: inherit;
}

/* pcの電話番号発信対応 */
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

video {
  -webkit-filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
          filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
}

h2 {
  text-transform: uppercase;
}

.l-header {
  width: 100%;
  height: 60px;
  position: fixed;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  top: 0;
  left: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 20;
}
@media screen and (max-width: 767px) {
  .l-header {
    height: 50px;
  }
}
.l-header.scroll {
  background: rgba(255, 255, 255, 0.9);
}
.l-header.scroll .l-header__list {
  color: #000;
}
.l-header.scroll .l-header__list__havchild.active::before {
  background: #000;
}
.l-header.is-scroll {
  margin-top: -60px;
}
.l-header.is-bg {
  background: #fff;
}
@media screen and (max-width: 767px) {
  .l-header.is-bg {
    border-bottom: 1px solid rgba(204, 204, 204, 0.5);
  }
}
.l-header.is-bg .l-header__list {
  color: #000;
}
.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    padding: 0 16px;
  }
}
.l-header__inner__wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 48px 0 60px;
}
@media screen and (max-width: 900px) {
  .l-header__inner__wrap {
    padding: 0 28px 0 40px;
  }
}
@media screen and (max-width: 767px) {
  .l-header__inner__wrap {
    padding: 0 0 0 0;
  }
}
.l-header__logo {
  font-size: 28px;
  width: auto;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    font-size: 24px;
  }
}
.l-header__logo a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 767px) {
  .l-header__logo a:hover {
    opacity: 0.5;
  }
}
.l-header__bar {
  width: 32px;
  height: 18px;
  margin: 0 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
  display: none;
}
.l-header__bar__inner {
  display: -ms-grid;
  display: grid;
  gap: 6px;
  place-content: center;
}
.l-header__bar span {
  width: 32px;
  height: 2px;
  background: #000;
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.l-header.is-open {
  margin-top: 0;
}
.l-header.is-open .l-header__bar span {
  -webkit-transform-origin: center;
          transform-origin: center;
}
.l-header.is-open .l-header__bar span:nth-child(1) {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  position: relative;
  top: 8px;
  background: #000;
}
.l-header.is-open .l-header__bar span:nth-child(2) {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  position: relative;
  top: 0px;
  background: #000;
}
.l-header.is-open .l-header__bar span:nth-child(3) {
  opacity: 0;
}
.l-header__list {
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.l-header__list > li {
  float: left;
  position: relative;
  margin: 0 12px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1025px) {
  .l-header__list > li {
    margin: 0 10px;
  }
}
.l-header__list > li a {
  position: relative;
  display: inline-block;
  text-align: center;
  padding-bottom: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 1;
}
.l-header__list > li a:hover {
  color: #cccccc;
  opacity: 1;
}
.l-header__list > li a:hover::before {
  opacity: 1;
}
.l-header__list > li a small {
  display: block;
  font-size: 0.625rem;
  margin-top: 0.625rem;
  text-align: center;
  line-height: 1.5;
}
.l-header__list__havchild > a {
  display: inline-block;
  padding-bottom: 1rem;
}
.l-header__list__havchild.active {
  position: relative;
}
.l-header__list__havchild.active::before {
  content: "";
  background: #fff;
  width: 3.25rem;
  height: 0.25rem;
  border-radius: 999px;
  position: absolute;
  left: 50%;
  bottom: -0.5rem;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.l-offcanvas {
  background: #f8f8f8;
  position: fixed;
  top: -100vh;
  right: 0%;
  -webkit-transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  color: #000;
  font-weight: bold;
  z-index: 21;
  overflow-y: auto;
  height: 100vh;
  width: 100%;
}
.l-offcanvas .l-header__logo {
  visibility: inherit !important;
}
.l-offcanvas__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  height: 50px;
  background: #fff;
  border-bottom: 1px solid rgba(204, 204, 204, 0.5);
}
.l-offcanvas .l-header__inner__wrap {
  padding: 0 20px;
}
.l-offcanvas .l-header__bar span {
  -webkit-transform-origin: center;
          transform-origin: center;
}
.l-offcanvas .l-header__bar span:nth-child(1) {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  position: relative;
  top: 8px;
  background: #000;
}
.l-offcanvas .l-header__bar span:nth-child(2) {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  position: relative;
  top: 0px;
  background: #000;
}
.l-offcanvas .l-header__bar span:nth-child(3) {
  opacity: 0;
}
.l-offcanvas .inner {
  padding: 30px 50px 0;
  width: 100%;
}
.l-offcanvas__list {
  display: -ms-grid;
  display: grid;
  gap: 25px;
}
.l-offcanvas__list a {
  display: -ms-grid;
  display: grid;
  font-size: 20px;
  position: relative;
}
.l-offcanvas__list a small {
  margin-top: 0.625rem;
  font-size: 0.8125rem;
}
.l-offcanvas__list a.active::before {
  content: "";
  background: #000;
  margin-bottom: 0.625rem;
  position: absolute;
  left: 50%;
  bottom: -0.9375rem;
  height: 2px;
  width: 30px;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.l-offcanvas__meta {
  margin-top: 85px;
}
.l-offcanvas__meta ul {
  border-top: 1px solid #fff;
  padding-top: 45px;
  padding-top: 45px;
}
@media screen and (max-width: 767px) {
  .l-offcanvas__meta ul {
    font-size: 18px;
  }
}
.l-offcanvas__meta ul li {
  display: block;
  margin-bottom: 30px;
}
.l-offcanvas__meta ul li a span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-offcanvas__meta ul li img {
  width: 21px;
  margin-right: 15px;
}
.l-offcanvas.is-open {
  top: 0;
}
.l-offcanvas.is-open .l-header__bar span {
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.l-offcanvas.is-open .l-header__bar span:nth-child(1) {
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  position: relative;
  top: 8px;
  background: #000;
}
.l-offcanvas.is-open .l-header__bar span:nth-child(2) {
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  position: relative;
  top: 0px;
  background: #000;
}
.l-offcanvas.is-open .l-header__bar span:nth-child(3) {
  opacity: 0;
}

.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: rgba(255, 255, 255, 0.2);
  border: solid 1px #000;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 2;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .pagetop {
    display: none !important;
  }
}
.pagetop__arrow {
  height: 10px;
  width: 10px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: translateY(20%) rotate(-45deg);
          transform: translateY(20%) rotate(-45deg);
}
.pagetop.display {
  opacity: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.inner {
  width: 62.5rem;
  max-width: 100%;
  padding: 0 1.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 520px) {
  .inner {
    padding: 0 3.75rem;
  }
}

.section-ttl {
  text-align: center;
  font-size: 1.625rem;
  margin-bottom: 1.5rem;
}

.section-link-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.section-link-ttl a {
  font-size: 17px;
  letter-spacing: 0.04em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  border-bottom: 2px solid #000;
  margin-left: 0;
  padding: 0 2px;
  margin-left: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .section-link-ttl a {
    font-size: 13px;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
  }
}
@media screen and (max-width: 767px) {
  .section-link-ttl a svg {
    width: 10px;
  }
}
.section-link-ttl a:hover {
  opacity: 0.5;
}

.section-txt {
  text-align: center;
  font-size: 0.8125rem;
}

.js__fadein {
  opacity: 0;
  position: relative;
  -webkit-transform: translate(0px, 20px);
          transform: translate(0px, 20px);
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.section-slider {
  position: relative;
}
@media screen and (max-width: 767px) {
  .section-slider {
    overflow: hidden;
    margin-left: 0px;
  }
}
.section-slider .swiper {
  margin-left: 70px;
}
@media screen and (max-width: 767px) {
  .section-slider .swiper {
    margin-left: 20px;
  }
}
.section-slider .slides-wrapper {
  position: relative;
  z-index: 1;
}
.section-slider .slide {
  /*padding-top: 30%;
  */
  width: 480px !important;
  aspect-ratio: 480/360;
  position: relative;
  overflow: hidden;
  display: block;
}
@media screen and (max-width: 767px) {
  .section-slider .slide {
    width: 280px !important;
    aspect-ratio: 280/210;
  }
}
.section-slider .slide::before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(31.53%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.55)));
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 31.53%, rgba(0, 0, 0, 0.55) 100%);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.section-slider .slide img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
  z-index: 1;
}
@media screen and (min-width: 767px) {
  .section-slider .slide:hover img {
    -webkit-transform: scale(1.03) translate(-49%, -49%);
            transform: scale(1.03) translate(-49%, -49%);
    opacity: 0.8;
  }
}
.section-slider .swiper-pagination-bullet {
  width: 2.1875rem;
  height: 0.25rem;
  border-radius: 9999px;
  background: #fff;
  opacity: 1;
}
.section-slider .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #7BC4F1;
}
.section-slider .swiper-button-prev {
  z-index: 3;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 0;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  background-image: url(../images/common/slider_arrow-left.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  left: 40px;
  top: calc(50% + 1.875rem);
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
}
@media screen and (max-width: 1025px) {
  .section-slider .swiper-button-prev {
    top: calc(50% + 3.75rem);
  }
}
@media screen and (max-width: 767px) {
  .section-slider .swiper-button-prev {
    width: 35px;
    height: 35px;
    left: 10px;
    top: 56%;
    opacity: 1;
  }
}
@media screen and (max-width: 520px) {
  .section-slider .swiper-button-prev {
    top: 60%;
  }
}
.section-slider .swiper-button-prev::after {
  content: none;
}
.section-slider .swiper-button-next {
  z-index: 10 !important;
  display: block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 0;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  background-image: url(../images/common/slider_arrow-right.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  right: 1.25rem;
  top: calc(50% + 1.875rem);
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
}
@media screen and (max-width: 1025px) {
  .section-slider .swiper-button-next {
    top: calc(50% + 3.75rem);
  }
}
@media screen and (max-width: 767px) {
  .section-slider .swiper-button-next {
    width: 35px;
    height: 35px;
    right: 0.625rem;
    top: 56%;
    opacity: 1;
    -webkit-transition: none;
    transition: none;
  }
}
@media screen and (max-width: 520px) {
  .section-slider .swiper-button-next {
    top: 60%;
  }
}
.section-slider .swiper-button-next::after {
  content: none;
}
.section-slider:hover .swiper-button-prev,
.section-slider:hover .swiper-button-next {
  opacity: 1;
}

.c-card__wrap {
  position: relative;
}
.c-card__wrap .c-card__title {
  color: #fff;
  position: absolute;
  bottom: 40px;
  left: 20px;
  max-width: calc(100% - 40px);
  letter-spacing: 0.04em;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-card__wrap .c-card__title {
    left: 15px;
    bottom: 15px;
  }
}
.c-card__wrap .c-card__title.staff {
  white-space: nowrap;
}
.c-card__wrap .c-card__title.staff.center {
  top: 50%;
  bottom: auto;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-card__wrap .c-card__title.staff.left-center {
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-card__wrap .c-card__title b {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.29;
}
@media screen and (max-width: 767px) {
  .c-card__wrap .c-card__title b {
    font-size: 20px;
  }
}
.c-card__wrap .c-card__title p {
  font-size: 15px;
  line-height: 1.73;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 10px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-card__wrap .c-card__title p {
    font-size: 11px;
    margin-top: 6px;
  }
}
.c-col__list-item {
  position: relative;
}
.c-col__list-item img {
  position: absolute;
  left: 50%;
  top: 0%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 767px) {
  .c-col__list-item:hover img {
    -webkit-transform: scale(1.03) translate(-49%, 0%);
            transform: scale(1.03) translate(-49%, 0%);
    opacity: 0.8;
  }
}
.c-col__list-item .c-col__list-title {
  position: absolute;
  bottom: 40px;
  left: 20px;
  color: #fff;
  width: calc(100% - 40px);
  line-height: 1.733;
}
@media screen and (max-width: 767px) {
  .c-col__list-item .c-col__list-title {
    width: calc(100% - 30px);
    left: 15px;
    bottom: 15px;
  }
}
.c-col__list-item .c-col__list-title b {
  font-size: 5rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .c-col__list-item .c-col__list-title b {
    font-size: 35px;
  }
}
@media screen and (max-width: 520px) {
  .c-col__list-item .c-col__list-title b {
    font-size: 2.1875rem;
  }
}
.c-col__list-item .c-col__list-title p {
  font-size: 15px;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .c-col__list-item .c-col__list-title p {
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  .c-col__list-item .c-col__list-title p {
    font-size: max(0.875rem, 10px);
  }
}


.c-col__list .c-col__list01 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 30px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
@media screen and (max-width: 1025px) {
  .c-col__list .c-col__list01 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .c-col__list .c-col__list01 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 15px;
  }
}
.c-col__list .c-col__list01 + .c-col__list03 {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .c-col__list .c-col__list01 + .c-col__list03 {
    margin-top: 15px;
  }
}
.c-col__list .c-col__list01 .c-col__list-item {
  padding-top: 56.25%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-col__list .c-col__list01 .c-col__list-item {
    padding-top: 56.25%;
  }
}
.c-col__list .c-col__list01 .c-col__list-title b {
  font-size: 28px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .c-col__list .c-col__list01 .c-col__list-title b {
    font-size: 16px;
  }
}
.c-col__list .c-col__list01 .c-col__list-title p {
  font-size: 15px;
}
@media screen and (max-width: 767px) {
  .c-col__list .c-col__list01 .c-col__list-title p {
    font-size: 11px;
  }
}
.c-col__list .c-col__list03 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media screen and (max-width: 1025px) {
  .c-col__list .c-col__list03 {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .c-col__list .c-col__list03 {
    gap: 20px;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.c-col__list .c-col__list03 .c-col__list-item {
  padding-top: 70.05%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-col__list .c-col__list03 .c-col__list-item {
    padding-top: 74.09%;
  }
}
.c-col__list .c-col__list03 .c-col__list-item .c-col__list-title b {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .c-col__list .c-col__list03 .c-col__list-item .c-col__list-title b {
    font-size: 13px;
  }
}
.c-col__list .c-col__list03 .c-col__list-item .c-col__list-title p {
  font-size: 14px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .c-col__list .c-col__list03 .c-col__list-item .c-col__list-title p {
    font-size: 11px;
  }
}


.c-col__list-item {
  overflow: hidden;
  position: relative;
}
.c-col__list-item a {
  overflow: hidden;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}
.c-col__list-item a::before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(31.53%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.55)));
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 31.53%, rgba(0, 0, 0, 0.55) 100%);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.c-col__list-item a .c-col__list-title {
  z-index: 2;
}
.c-col__list-item a img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 680px) {
  .c-col__list-item a:hover img {
    opacity: 0.8;
  }
}

.c-shop__list ul,
.c-shop__list02 ul {
  display: -ms-grid;
  display: grid;
  /* 元の設定
  -ms-grid-columns: calc(33.333% - 1.25rem) 2.5rem calc(33.333% - 1.25rem) 2.5rem calc(33.333% - 1.25rem);
  grid-template-columns: calc(33.333% - 1.25rem) calc(33.333% - 1.25rem) calc(33.333% - 1.25rem);
  gap: 5rem 2.5rem;
  
   /* 元の設定

  /* PC版の設定：3列に並べる */
  grid-template-columns: repeat(3, 1fr); 
  gap: 5rem 2.5rem;
}

/* スマホ版の設定：ここで1列に強制する */
@media screen and (max-width: 767px) {
  .c-shop__list ul,
  .c-shop__list02 ul {

    /* 元の設定
    gap: 2.5rem 1.25rem;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;

    /* 元の設定

  /* calcを捨てて1列(100%)にする */
  grid-template-columns: 1fr !important; 
  gap: 2.5rem 1.25rem;
  display: block !important; /* 万全を期してブロック形式に変更 */
}

  .c-shop__list ul li,
  .c-shop__list02 ul li {
    width: 100% !important;
    margin-bottom: 30px;
  }

}
.c-shop__list .c-shop__list__image,
.c-shop__list02 .c-shop__list__image {
  width: 100%;
  padding-top: 70.056%;
  position: relative;
  margin-bottom: 1.125rem;
  background: #fff;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-shop__list .c-shop__list__image,
  .c-shop__list02 .c-shop__list__image {
    margin-bottom: 15px;
  }
}
.c-shop__list .c-shop__list__image img,
.c-shop__list02 .c-shop__list__image img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-shop__list .c-shop__list__meta,
.c-shop__list02 .c-shop__list__meta {
  font-size: max(1.6875rem, 18px);
}
@media screen and (max-width: 767px) {
  .c-shop__list .c-shop__list__meta,
  .c-shop__list02 .c-shop__list__meta {
    font-size: 18px;
  }
}
@media screen and (max-width: 520px) {
  .c-shop__list .c-shop__list__meta,
  .c-shop__list02 .c-shop__list__meta {
    font-size: max(1.125rem, 14px);
  }
}
.c-shop__list {
  overflow: hidden;
}
.c-shop__list a {
  overflow: hidden;
}
.c-shop__list a img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center;
          transform-origin: center;
}
.c-shop__list a:hover img {
  -webkit-transform: scale(1.05) translate(-48%, -48%);
          transform: scale(1.05) translate(-48%, -48%);
  opacity: 0.8;
}

.c-newsletter {
  position: relative;
  background-image: url(../images/common/bg-newsletter.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 12.5rem 7.5rem;
}
@media screen and (max-width: 767px) {
  .c-newsletter {
    padding: 5rem 1.25rem;
  }
}
.c-newsletter__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .c-newsletter__inner {
    display: -ms-grid;
    display: grid;
  }
}
.c-newsletter__text {
  width: 60%;
  color: #fff;
  font-family: "Open Sans", sans-serif;
}
@media screen and (max-width: 767px) {
  .c-newsletter__text {
    width: 100%;
  }
}
.c-newsletter__text h1 {
  font-size: 7.5rem;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .c-newsletter__text h1 {
    font-size: 2.5rem;
  }
}
.c-newsletter__text h1 small {
  font-size: 3.75rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .c-newsletter__text h1 small {
    font-size: 1.125rem;
  }
}
.c-newsletter__text p {
  font-size: max(1.6875rem, 14px);
  max-width: 90%;
}
@media screen and (max-width: 767px) {
  .c-newsletter__text p {
    font-size: max(0.875rem, 10px);
    margin-top: 0.625rem;
  }
}
.c-newsletter__input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .c-newsletter__input {
    margin-top: 30px;
    width: calc(100% - 1.25rem);
  }
}
.c-newsletter__input__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
}
.c-newsletter__input__button a {
  background: #000;
  width: 300px;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
  height: 70px;
  font-size: 30px;
  color: #fff;
  border-radius: 9999px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .c-newsletter__input__button a {
    font-size: 25px;
  }
}
@media screen and (max-width: 520px) {
  .c-newsletter__input__button a {
    font-size: 20px;
  }
}

.l-footer {
  background: #000;
}
.l-footer a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.l-footer a:hover {
  opacity: 0.6;
}
.l-footer h2 {
  font-size: 3.75rem;
}
@media screen and (max-width: 767px) {
  .l-footer h2 {
    font-size: 1.5625rem;
  }
}
.l-footer h2 a {
  text-decoration: none;
  position: relative;
}
.l-footer h2 a::before {
  content: "";
  background: #000;
  height: 0.25rem;
  width: 100%;
  position: absolute;
  bottom: -0.25rem;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .l-footer h2 a::before {
    height: 2px;
  }
}
.l-footer p {
  margin-top: 1.25rem;
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .l-footer p {
    font-size: 20px;
  }
}
@media screen and (max-width: 520px) {
  .l-footer p {
    font-size: 1.25rem;
  }
}
.l-footer .social-media {
  margin: 0 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .l-footer .social-media {
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
  }
}
.l-footer .social-media .facebook {
  width: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .l-footer .social-media .facebook {
    width: 25px;
  }
}
@media screen and (max-width: 520px) {
  .l-footer .social-media .facebook {
    width: 1.25rem;
  }
}
.l-footer .social-media .twitter {
  width: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .l-footer .social-media .twitter {
    width: 35px;
  }
}
@media screen and (max-width: 520px) {
  .l-footer .social-media .twitter {
    width: 1.875rem;
  }
}
.l-footer .social-media .instagram {
  width: 3.25rem;
}
@media screen and (max-width: 767px) {
  .l-footer .social-media .instagram {
    width: 32px;
  }
}
@media screen and (max-width: 520px) {
  .l-footer .social-media .instagram {
    width: 1.6875rem;
  }
}
.l-footer .social-media .youtube {
  width: 3.375rem;
}
@media screen and (max-width: 767px) {
  .l-footer .social-media .youtube {
    width: 34px;
  }
}
@media screen and (max-width: 520px) {
  .l-footer .social-media .youtube {
    width: 1.8125rem;
  }
}
.l-footer__page {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 50% 50%;
  grid-template-columns: 50% 50%;
  color: #fff;
}
.l-footer__page a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  white-space: nowrap;
  padding: 45px 0;
}
@media screen and (max-width: 767px) {
  .l-footer__page a {
    padding: 30px 0;
  }
}
.l-footer__page a span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 24px;
  font-family: Helvetica;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .l-footer__page a span {
    display: -ms-grid;
    display: grid;
    place-content: center;
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__page a img {
    margin: 0 auto 10px !important;
  }
}
.l-footer__page a:nth-child(1) {
  position: relative;
}
.l-footer__page a:nth-child(1)::before {
  content: "";
  width: 1px;
  height: 64px;
  background: #fff;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.l-footer__page a:nth-child(1) img {
  width: 24px;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .l-footer__page a:nth-child(1) img {
    width: 28px;
  }
}
.l-footer__page a:nth-child(2) img {
  width: 20px;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .l-footer__page a:nth-child(2) img {
    width: 28px;
  }
}
.l-footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: space-between;
  color: #fff;
  padding: 30px 15px 50px;
  border-top: 1px solid #fff;
  margin: 0 30px;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    margin: 0 15px;
    display: -ms-grid;
    display: grid;
    place-content: center;
    padding: 30px 15px 35px;
  }
}
.l-footer__bottom .l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom .l-footer__sns {
    place-content: center;
  }
}
.l-footer__bottom .l-footer__sns a:nth-child(3) img {
  margin-right: 0px;
}
.l-footer__bottom .l-footer__sns img {
  width: 32px;
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom .l-footer__sns img {
    width: 28px;
    margin-right: 30px;
  }
}
.l-footer__bottom .l-footer__copy p {
  font-size: 12px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom .l-footer__copy p {
    font-size: 11px;
    margin-top: 30px;
  }
}

.p-section__common__video__inner {
  overflow: hidden;
}
@media screen and (min-width: 680px) {
  .p-section__common__video__inner a {
    overflow: hidden;
  }
  .p-section__common__video__inner a img,
  .p-section__common__video__inner a video {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  .p-section__common__video__inner a:hover img,
  .p-section__common__video__inner a:hover video {
    -webkit-transform: scale(1.05) translate(-48%, -48%);
            transform: scale(1.05) translate(-48%, -48%);
    opacity: 0.8;
  }
}

.p-section__common__thumbnail__inner {
  overflow: hidden;
}
@media screen and (min-width: 680px) {
  .p-section__common__thumbnail__inner a {
    overflow: hidden;
  }
  .p-section__common__thumbnail__inner a img,
  .p-section__common__thumbnail__inner a video {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform-origin: center;
            transform-origin: center;
    height: 100%;
  }
  .p-section__common__thumbnail__inner a:hover img,
  .p-section__common__thumbnail__inner a:hover video {
    -webkit-transform: scale(1.05) translate(-48%, -48%);
            transform: scale(1.05) translate(-48%, -48%);
    opacity: 0.8;
  }
}

.p-detail__btn__wrap {
  margin: 2.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .p-detail__btn__wrap {
    margin: 1.25rem 0;
  }
}
.p-detail__btn__wrap a {
  display: inline-block;
  border: 0.25rem solid #000;
  border-radius: 9999px;
  font-size: 3.125rem;
  padding: 0.625rem 6.25rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 680px) {
  .p-detail__btn__wrap a:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 767px) {
  .p-detail__btn__wrap a {
    font-size: 25px;
    padding: 0.625rem 3.125rem;
    border: 0.125rem solid #000;
    font-size: 25px;
    padding: 0.5rem 2.5rem;
  }
}
@media screen and (max-width: 520px) {
  .p-detail__btn__wrap a {
    font-size: 1.5625rem;
  }
}

.top .l-header__logo {
  visibility: hidden;
}
.top .l-header.is-bg .l-header__logo {
  visibility: initial;
}
.top .l-header.is-bg .l-header__bar span {
  background: #000;
}
.top .l-header__bar span {
  background: #fff;
}

.p-section__fv__inner {
  margin-top: calc(-43px - 0.875rem - 5rem);
  padding: 0 70px;
}
@media screen and (max-width: 1025px) {
  .p-section__fv__inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-section__fv__inner {
    margin-top: calc(-38.7px - 0.6875rem - 1.875rem);
    padding: 0 16px;
  }
}
.p-section__fv__content {
  padding-bottom: calc(800px + 100vh);
}
@media screen and (max-width: 767px) {
  .p-section__fv__content {
    padding-bottom: calc(770px + 100vh);
  }
}
.p-section__fv__video {
  width: 100%;
  position: relative;
}
@media screen and (max-width: 1025px) {
  .p-section__fv__video {
    height: 0;
  }
}
.p-section__fv__video video {
  -webkit-filter: brightness(80%);
          filter: brightness(80%);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: -2;
  pointer-events: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow-y: hidden;
  -webkit-transition: 1s ease-in-out;
  transition: 1s ease-in-out;
}
.p-section__fv__video video.hidden {
  visibility: hidden;
}
.p-section__fv__video video.non-filter {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
}
.p-section__fv__text {
  font-size: 90px;
  color: #fff;
  height: 100vh;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: self-end;
      -ms-flex-align: self-end;
          align-items: self-end;
}
@media screen and (max-width: 767px) {
  .p-section__fv__text {
    font-size: 35px;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .p-section__fv__text {
    height: auto;
  }
}
.p-section__fv__text h1 {
  font-weight: 700;
  font-size: 112px;
  line-height: 1.3;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1025px) {
  .p-section__fv__text h1 {
    font-size: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-section__fv__text h1 {
    font-size: 64px;
    line-height: 1.08;
  }
}
.p-section__fv__text h2 {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 40px;
  margin-bottom: 80px;
  line-height: 1.75;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-section__fv__text h2 {
    font-size: 22px;
    margin-bottom: 75px;
  }
}
.p-section__fv__text img {
  width: 180px;
  margin-bottom: 8px;
  margin-left: -30px;
}
@media screen and (max-width: 520px) {
  .p-section__fv__text img {
    width: 100px;
    margin-left: -18px;
    margin-bottom: 13px;
  }
}
.p-section__fv__scroll {
  color: #fff;
  position: sticky;
  z-index: 3;
  padding-right: 2.5rem;
  left: 100%;
  right: 0;
  width: 38px;
  top: calc(100% - (43px + 0.875rem + 5rem));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.875rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-section__fv__scroll {
    padding-right: 0.9375rem;
    width: 12px;
    top: calc(100% - (38.7px + 0.6875rem + 1.875rem));
    row-gap: 0.6875rem;
  }
}
.p-section__fv__scroll.hidden {
  visibility: hidden;
}
.p-section__fv__scroll .txt {
  display: block;
  font-size: 10px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-section__fv__scroll .txt {
    font-size: 9px;
  }
}
.p-section__fv__scroll .line {
  display: block;
  width: 1px;
  height: 5rem;
  background-color: #fff;
  -webkit-animation: header-scroll 4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s infinite normal;
          animation: header-scroll 4s cubic-bezier(0.55, 0.05, 0.22, 0.99) 0s infinite normal;
}
@media screen and (max-width: 767px) {
  .p-section__fv__scroll .line {
    height: 1.875rem;
  }
}

@-webkit-keyframes header-scroll {
  0% {
    scale: 1 0;
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  25% {
    scale: 1 1;
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  50% {
    scale: 1 1;
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  75% {
    scale: 1 0;
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  100% {
    scale: 1 0;
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
}

@keyframes header-scroll {
  0% {
    scale: 1 0;
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  25% {
    scale: 1 1;
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  50% {
    scale: 1 1;
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  75% {
    scale: 1 0;
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  100% {
    scale: 1 0;
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
}
.p-section__introduction {
  color: #fff;
}
.p-section__introduction p {
  line-height: 2;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .p-section__introduction p {
    font-size: 13px;
  }
}
.p-section__introduction p + p {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .p-section__introduction p + p {
    margin-top: 20px;
  }
}

.under-fv {
  background-color: #fff;
}

.p-section__common h2 {
  font-size: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 1.875rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-section__common h2 {
    font-size: 36px;
    padding-bottom: 20px;
  }
}
.p-section__common h2 a {
  font-size: 17px;
  font-weight: 700;
  border-bottom: 2px solid #000;
  padding-bottom: 5px;
  font-family: Helvetica;
  letter-spacing: 0.04em;
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
}
@media screen and (max-width: 767px) {
  .p-section__common h2 a {
    font-size: 13px;
    -webkit-column-gap: 6px;
       -moz-column-gap: 6px;
            column-gap: 6px;
    border-bottom: 1px solid #000;
  }
}
.p-section__common__inner {
  padding: 0 70px;
}
@media screen and (max-width: 767px) {
  .p-section__common__inner {
    padding: 0 20px;
  }
}
.p-section__common .p-section__common__video {
  width: 100%;
  padding: 0 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-section__common .p-section__common__video {
    padding: 0 1.5625rem;
  }
}
.p-section__common .p-section__common__video__inner {
  padding-top: 52.71137%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-section__common .p-section__common__video__inner {
    padding-top: 75%;
  }
}
.p-section__common .p-section__common__video video,
.p-section__common .p-section__common__video img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-section__common .p-section__common__video .p-section__common__video__title {
  position: absolute;
  left: 6.875rem;
  bottom: 10.625rem;
  color: #fff;
  max-width: 46.875rem;
}
@media screen and (max-width: 767px) {
  .p-section__common .p-section__common__video .p-section__common__video__title {
    left: 1.25rem;
    max-width: 80%;
    bottom: 1.25rem;
  }
}
.p-section__common .p-section__common__video .p-section__common__video__title.right {
  left: auto;
  right: 6.875rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-section__common .p-section__common__video .p-section__common__video__title.right {
    right: 1.25rem;
  }
}
.p-section__common .p-section__common__video .p-section__common__video__title p {
  font-size: max(1.6875rem, 14px);
}
@media screen and (max-width: 767px) {
  .p-section__common .p-section__common__video .p-section__common__video__title p {
    font-size: 14px;
  }
}
.p-section__common .p-section__common__video .p-section__common__video__title .p-section__common__video__btn {
  font-size: 5rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-section__common .p-section__common__video .p-section__common__video__title .p-section__common__video__btn {
    font-size: 35px;
  }
}
@media screen and (max-width: 520px) {
  .p-section__common .p-section__common__video .p-section__common__video__title .p-section__common__video__btn {
    font-size: 2.1875rem;
  }
}
.p-section__common__thumbnail__inner {
  position: relative;
  height: 520px;
}
@media screen and (max-width: 767px) {
  .p-section__common__thumbnail__inner {
    height: 350px;
  }
}
.p-section__common__thumbnail img {
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  -o-object-position: top;
     object-position: top;
}
.p-section__common__thumbnail__title {
  position: absolute;
  bottom: 7.8125rem;
  color: #fff;
  font-weight: 700;
  font-size: 7.5rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-section__common__thumbnail__title {
    font-size: 40px;
    bottom: 1.25rem;
  }
}
@media screen and (max-width: 520px) {
  .p-section__common__thumbnail__title {
    font-size: 2.5rem;
    bottom: 1.25rem;
  }
}
.p-section__common__thumbnail__title.right {
  right: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-section__common__thumbnail__title.right {
    right: 1.25rem;
  }
}
.p-section__common__thumbnail__title.left {
  left: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-section__common__thumbnail__title.left {
    left: 1.25rem;
  }
}

.p-section__topvideo01 {
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-section__topvideo01 {
    margin-bottom: 2.5rem;
  }
}

.p-section__topvideo02 {
  margin-bottom: 20rem;
}
@media screen and (max-width: 767px) {
  .p-section__topvideo02 {
    margin-bottom: 120px;
  }
}

.p-section__staff {
  padding-top: 6.25rem;
  padding-bottom: 8.75rem;
  background: #f8f8f8;
}
@media screen and (max-width: 767px) {
  .p-section__staff {
    padding-top: 4.0625rem;
    padding-bottom: 3.75rem;
  }
}
.p-section__staff .p-section__staff__main {
  padding: 0 70px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .p-section__staff .p-section__staff__main {
    padding: 0;
    margin-bottom: 45px;
  }
}
.p-section__staff .p-section__staff__main__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 1025px) {
  .p-section__staff .p-section__staff__main__inner {
    display: -ms-grid;
    display: grid;
  }
}
.p-section__staff .p-section__staff__main__inner .p-section__staff__main__image {
  max-width: 768px;
  overflow: hidden;
}
@media screen and (max-width: 1025px) {
  .p-section__staff .p-section__staff__main__inner .p-section__staff__main__image {
    width: 100%;
    max-width: 100%;
  }
}
.p-section__staff .p-section__staff__main__inner .p-section__staff__main__image img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 100%;
}
.p-section__staff .p-section__staff__main__inner .p-section__staff__main__text {
  margin-left: 25px;
}
@media screen and (max-width: 1025px) {
  .p-section__staff .p-section__staff__main__inner .p-section__staff__main__text {
    width: 100%;
    padding: 15px 20px 0;
    margin-left: 0;
  }
}
.p-section__staff .p-section__staff__main__inner .p-section__staff__main__text h3 {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-section__staff .p-section__staff__main__inner .p-section__staff__main__text h3 {
    font-size: 24px;
  }
}
.p-section__staff .p-section__staff__main__inner .p-section__staff__main__text p {
  font-size: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-section__staff .p-section__staff__main__inner .p-section__staff__main__text p {
    font-size: 12px;
  }
}
@media screen and (min-width: 767px) {
  .p-section__staff .p-section__staff__main__inner:hover {
    opacity: 0.7;
  }
  .p-section__staff .p-section__staff__main__inner:hover .p-section__staff__main__image img {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}

.p-section__watch {
  padding-top: 6.25rem;
  padding-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-section__watch {
    padding-top: 55px;
    padding-bottom: 55px;
  }
}
.p-section__listen {
  padding-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-section__listen {
    padding-bottom: 55px;
  }
}
.p-section__read {
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .p-section__read {
    padding-bottom: 80px;
  }
}
.p-section__artist .p-section__common__thumbnail {
  margin-bottom: 60px;
}
.p-section__artist h2 {
  font-size: 64px;
  place-content: center;
  margin-bottom: 40px;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-section__artist h2 {
    font-size: 40px;
    margin-bottom: 20px;
  }
}
.p-section__artist__inner {
  width: 100%;
  padding: 0;
}
.p-section__artist .c-col__list {
  padding: 0 70px;
  max-width: 1290px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-section__artist .c-col__list {
    padding: 0 20px;
  }
}
.p-section__artist__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-section__artist__button {
    margin-top: 40px;
  }
}
.p-section__artist__button a {
  font-size: 17px;
  border-bottom: 2px solid #000;
  padding-bottom: 5px;
  font-weight: 700;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .p-section__artist__button a {
    font-size: 13px;
  }
}
@media screen and (min-width: 767px) {
  .p-section__artist__button a:hover {
    opacity: 0.5;
  }
}
.p-section__artist__button a svg {
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .p-section__artist__button a svg {
    width: 10px;
    margin-left: 4px;
    position: relative;
    top: 1.5px;
  }
}

.c-col__list__ptoducts {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 28px 1fr 28px 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 28px;
}
@media screen and (max-width: 767px) {
  .c-col__list__ptoducts {
    -ms-grid-columns: 1fr 9px 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 15px 9px;
  }
}
.c-col__list__ptoducts__title {
  margin-top: 8px;
  display: -ms-grid;
  display: grid;
}
.c-col__list__ptoducts__title b {
  display: block;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-col__list__ptoducts__title b {
    font-size: 13px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }
}
.c-col__list__ptoducts__title small {
  font-size: 13px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .c-col__list__ptoducts__title small {
    font-size: 11px;
  }
}
.c-col__list__ptoducts a figure {
  aspect-ratio: 364/273;
  overflow: hidden;
}
.c-col__list__ptoducts a figure img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 767px) {
  .c-col__list__ptoducts a:hover img {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    opacity: 0.8;
  }
}
.c-col__list__ptoducts-more {
  -ms-grid-columns: 1fr 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .c-col__list__ptoducts-more {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.p-section__product {
  margin-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-section__product {
    margin-top: 80px;
    padding-bottom: 80px;
  }
}
.p-section__product__inner {
  width: 100%;
  padding: 0;
}
.p-section__product .p-section__common__thumbnail {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .p-section__product .p-section__common__thumbnail {
    margin-bottom: 40px;
  }
}
.p-section__product h2 {
  font-size: 64px;
  place-content: center;
  margin-bottom: 40px;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-section__product h2 {
    font-size: 40px;
    margin-bottom: 20px;
  }
}
.p-section__product .c-col__list {
  padding: 0 70px;
  max-width: 1290px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-section__product .c-col__list {
    padding: 0 20px;
  }
}

.p-section__product__button {
  font-size: 17px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-section__product__button {
    font-size: 13px;
    margin-top: 35px;
  }
}
.p-section__product__button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  font-family: Helvetica;
  letter-spacing: 0.04em;
  border-bottom: 2px solid #000;
  padding-bottom: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .p-section__product__button a {
    border-bottom: 1px solid #000;
  }
}
.p-section__product__button a:hover {
  opacity: 0.7;
}
.p-section__product__button a img {
  width: 23px;
  margin-right: 12px;
}
@media screen and (max-width: 767px) {
  .p-section__product__button a img {
    margin-right: 6px;
  }
}
.p-section__product__button a svg {
  margin-left: 12px;
}
@media screen and (max-width: 767px) {
  .p-section__product__button a svg {
    width: 10px;
    margin-left: 6px;
  }
}

.p-section__shop {
  padding-bottom: 11.5625rem;
}
@media screen and (max-width: 767px) {
  .p-section__shop {
    padding-top: 2.1875rem;
    padding-bottom: 5.3125rem;
  }
}
.p-section__shop .c-shop__list {
  padding: 3.75rem 7.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-section__shop .c-shop__list {
    padding: 1.5625rem 1.25rem 0;
  }
}

.p-section__banner {
  width: 100%;
  height: 640px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 3;
  clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
  background-color: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-section__banner {
    height: 480px;
  }
}
.p-section__banner::after {
  content: "";
  z-index: -2;
  inset: 0;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  position: fixed;
  background-image: url("../images/common/bg-banner.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
.p-section__banner p {
  text-align: center;
  color: #fff;
  font-family: Helvetica;
  font-weight: 700;
  font-size: 60px;
  line-height: 1.19;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-section__banner p {
    font-size: 25px;
  }
}

.p-section__columns {
  padding-top: 11.5625rem;
}
@media screen and (max-width: 767px) {
  .p-section__columns {
    padding-top: 5rem;
  }
}
.p-section__columns .c-col__list {
  padding: 0rem 7.5rem 16.875rem;
}
@media screen and (max-width: 767px) {
  .p-section__columns .c-col__list {
    padding: 0rem 1.25rem 7.5rem;
  }
}
.p-section__columns .c-col__list .c-col__list01 {
  gap: 3.75rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-section__columns .c-col__list .c-col__list01 {
    gap: 1.5625rem 0.9375rem;
  }
}

.lity-container {
  max-width: 1700px !important;
}

.p-detail {
  overflow: hidden;
}
.p-detail__fv__inner {
  position: relative;
}
.p-detail__fv__thumbnail {
  position: relative;
  height: 650px;
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-detail__fv__thumbnail {
    margin-top: 50px;
    height: 580px;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .p-detail__fv__thumbnail {
    padding-top: 0;
    height: calc(100vh - 50px);
  }
}
@media screen and (max-width: 340px) {
  .p-detail__fv__thumbnail {
    height: 500px;
  }
}
.p-detail__fv__thumbnail video,
.p-detail__fv__thumbnail img {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-detail__fv__content {
  position: absolute;
  bottom: 0;
  color: #fff;
  position: absolute;
  left: 65px;
  bottom: 45px;
}
@media screen and (max-width: 1025px) {
  .p-detail__fv__content {
    left: 20px;
    bottom: 100px;
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .p-detail__fv__content {
    left: 20px;
    bottom: 100px;
    width: calc(100% - 40px);
  }
}
.p-detail__fv__content__time {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .p-detail__fv__content__time {
    font-size: 15px;
  }
}
.p-detail__fv__content__ttl {
  margin-top: 0.625rem;
  font-size: 56px;
  font-weight: 800;
}
@media screen and (max-width: 767px) {
  .p-detail__fv__content__ttl {
    font-size: 32px;
  }
}
.p-detail__fv__content__txt {
  line-height: 1.733;
  margin-top: 0.625rem;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-detail__fv__content__txt {
    font-size: 12px;
  }
}
.p-detail__fv__content__btn {
  font-size: 20px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: absolute;
  right: 65px;
  bottom: 40px;
  color: #fff;
  border-bottom: 2px solid #fff;
  padding-bottom: 3px;
}
@media screen and (max-width: 1025px) {
  .p-detail__fv__content__btn {
    left: 20px;
    bottom: 30px;
    right: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-detail__fv__content__btn {
    font-size: 15px;
    right: auto;
    left: 20px;
    bottom: 30px;
  }
}
.p-detail__fv__content__btn img {
  width: 25px;
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .p-detail__fv__content__btn img {
    width: 20px;
    margin-left: 5px;
  }
}
.p-detail__content {
  padding-top: 75px;
  padding-bottom: 120px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-detail__content {
    padding-top: 40px;
    padding-bottom: 80px;
  }
}
.p-detail__content__detail {
  font-size: 15px;
  line-height: 2;
  margin-bottom: 25px;
  padding-left: 70px;
  padding-right: 70px;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-detail__content__detail {
    margin-bottom: 20px;
    padding-left: 30px;
    padding-right: 30px;
    font-size: 12px;
  }
}
.p-detail__content__credit {
  font-size: 13px;
  line-height: 2;
  margin-bottom: 120px;
  padding-left: 70px;
  padding-right: 70px;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-detail__content__credit {
    font-size: 10px;
    padding-left: 30px;
    padding-right: 30px;
    margin-bottom: 80px;
  }
}
.p-detail__content__list {
  padding-left: 70px;
  padding-right: 70px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .p-detail__content__list {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 3.75rem;
  }
}
.p-detail__content__list h2 {
  font-size: 48px;
  max-width: 1290px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-detail__content__list h2 {
    font-size: 36px;
    margin-bottom: 17px;
  }
}
.p-detail__content__list .c-col__list {
  max-width: 1290px;
  margin-left: auto;
  margin-right: auto;
}
.p-detail__content__image {
  position: relative;
  height: 520px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-detail__content__image {
    height: 350px;
  }
}
.p-detail__content__image img {
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  -o-object-position: top;
  object-position: top;
}
@media screen and (max-width: 767px) {
  .p-detail__content__image img {
    position: absolute;
  }
}
.p-detail__content__image__title {
  font-size: 48px;
  position: absolute;
  left: 65px;
  top: 65px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .p-detail__content__image__title {
    font-size: 24px;
    left: 20px;
    top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .p-detail__content__image__title p {
    margin-bottom: 5px;
  }
}
.p-detail__content__image__title span {
  text-align: left;
  font-size: 17px;
  border-bottom: 2px solid #000;
  padding-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .p-detail__content__image__title span {
    font-size: 13px;
  }
}
.p-detail__content__image__title span svg {
  margin-left: 5px;
  width: 12px;
}
.p-detail__content__list-product .c-shop__list {
  padding: 0 13.75rem;
}
@media screen and (max-width: 767px) {
  .p-detail__content__list-product .c-shop__list {
    padding: 0 1.25rem;
  }
}
.p-detail__content__list-product .c-shop__list ul {
  gap: 5.625rem 12.5rem;
  -ms-grid-columns: calc(33.333% - 8.333125rem) 12.5rem calc(33.333% - 8.333125rem) 12.5rem calc(33.333% - 8.333125rem);
  grid-template-columns: calc(33.333% - 8.333125rem) calc(33.333% - 8.333125rem) calc(33.333% - 8.333125rem);
}
@media screen and (max-width: 767px) {
  .p-detail__content__list-product .c-shop__list ul {
    gap: 2.5rem 1.25rem;
    -ms-grid-columns: calc(50% - 0.625rem) 1.25rem calc(50% - 0.625rem);
    grid-template-columns: calc(50% - 0.625rem) calc(50% - 0.625rem);
  }
}
.p-detail__content__list-product .c-shop__list__image {
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-detail__content__list-product .c-shop__list__image {
    margin-bottom: 0.3125rem;
  }
}
.p-detail .c-col__list__ptoducts-more a figure {
  aspect-ratio: 1/1;
}
.p-detail .p-detail__content__profile {
  padding-left: 70px;
  padding-right: 70px;
  margin-bottom: 110px;
}
@media screen and (max-width: 767px) {
  .p-detail .p-detail__content__profile {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 60px;
  }
}
.p-detail .p-detail__content__profile__inner {
  max-width: 1290px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-detail .p-detail__content__profile__inner {
    display: -ms-grid;
    display: grid;
  }
}
.p-detail .p-detail__content__profile__text {
  width: calc(100% - 300px - 40px);
  margin-right: 40px;
  display: -ms-grid;
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-detail .p-detail__content__profile__text {
    width: 100%;
    display: block;
  }
}
.p-detail .p-detail__content__profile__text h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .p-detail .p-detail__content__profile__text h2 {
    font-size: 22px;
  }
}
.p-detail .p-detail__content__profile__text p {
  font-size: 15px;
  line-height: 1.733;
}
@media screen and (max-width: 767px) {
  .p-detail .p-detail__content__profile__text p {
    font-size: 12px;
  }
}
.p-detail .p-detail__content__profile__image {
  width: 300px;
  height: 300px;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-detail .p-detail__content__profile__image {
    margin-top: 34px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 520px) {
  .p-detail .p-detail__content__profile__image {
    width: 200px;
    height: 200px;
  }
}
.p-detail .p-detail__content__profile__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.p-detail .p-detail__content__profile__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  .p-detail .p-detail__content__profile__meta {
    margin-top: 24px;
  }
}
.p-detail .p-detail__content__profile__meta a {
  margin-right: 10px;
}
.p-detail .p-detail__content__profile__meta a:nth-child(1) img {
  width: 20px;
}
.p-detail .p-detail__content__profile__meta a:nth-child(2) img {
  width: 20px;
}
.p-detail .p-detail__content__profile__meta a:nth-child(3) img {
  width: 24px;
}

.p-detail__content__related {
  padding-top: 90px;
  padding-bottom: 120px;
  margin-bottom: 110px;
  background: #f8f8f8;
}
@media screen and (max-width: 767px) {
  .p-detail__content__related {
    padding-top: 45px;
    padding-bottom: 50px;
    margin-bottom: 60px;
  }
}
.p-detail__content__related h2 {
  font-size: 48px;
  padding: 0 70px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .p-detail__content__related h2 {
    padding: 0 20px;
    font-size: 36px;
    margin-bottom: 17px;
  }
}
.l-pager__detail {
  letter-spacing: 0.12em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: space-between;
  height: 90px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 0 20px;
  margin: 0 40px;
  margin-bottom: 4.6875rem;
  font-size: 17px;
}
@media screen and (max-width: 767px) {
  .l-pager__detail {
    font-size: 13px;
    margin: 0 20px 60px;
    padding: 0 12px;
    height: 50px;
  }
}
.l-pager__detail svg {
  width: 8px;
  position: relative;
  top: 4px;
}
@media screen and (max-width: 767px) {
  .l-pager__detail svg {
    width: 5px;
    top: 0px;
  }
}
.l-pager__detail a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .l-pager__detail a {
    gap: 15px;
  }
}

.detail-artist .p-detail__content__works,
.detail-artist .p-detail__content__moreproduct {
  background: #f8f8f8;
  padding-top: 90px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .detail-artist .p-detail__content__works,
  .detail-artist .p-detail__content__moreproduct {
    padding-top: 50px;
    padding-bottom: 70px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .detail-artist .p-detail__content__products {
    margin-bottom: 85px;
  }
}
@media screen and (max-width: 767px) {
  .detail-artist .p-detail__content__moreproduct {
    padding-top: 40px;
    padding-bottom: 60px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .detail-artist .p-detail__content__moreproduct h2 {
    font-size: 30px;
  }
}
.detail-artist .p-detail__content__related {
  background: #fff;
  padding-top: 20px;
  padding-bottom: 0;
  margin-bottom: 0;
}

.detail-product .p-section__fv__product {
  height: 100vh;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__product {
    height: auto;
    padding: 90px 30px 0;
  }
}
.detail-product .p-section__fv__product__inner {
  position: fixed;
  top: 110px;
  max-width: 640px;
  left: calc(55% - 320px);
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 3;
}
@media screen and (max-width: 1230px) {
  .detail-product .p-section__fv__product__inner {
    max-width: 45%;
    width: 45%;
    left: 70px;
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__product__inner {
    position: relative;
    width: 100%;
    max-width: 100%;
    left: auto;
    top: auto;
  }
}
.detail-product .p-section__fv__product__inner .swiperdetail .sliderdetail .swiper-slide {
  aspect-ratio: 640/480;
}
.detail-product .p-section__fv__product__inner .swiperdetail .sliderdetail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.detail-product .p-section__fv__product__inner .swiperdetail .swiper-wrapper.swiper-wrapper-thumbnail {
  max-width: 80%;
  margin: 0 auto 0 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 16% 1% 16% 1% 16% 1% 16% 1% 16% 1% 16%;
  grid-template-columns: 16% 16% 16% 16% 16% 16%;
  gap: 1%;
}
@media screen and (max-width: 1300px) {
  .detail-product .p-section__fv__product__inner .swiperdetail .swiper-wrapper.swiper-wrapper-thumbnail {
    max-width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__product__inner .swiperdetail .swiper-wrapper.swiper-wrapper-thumbnail {
    gap: 1.5%;
  }
}
.detail-product .p-section__fv__product__inner .swiperdetail .swiper-wrapper.swiper-wrapper-thumbnail img {
  cursor: pointer;
}
.detail-product .p-section__fv__product__images {
  width: 100%;
  max-width: 640px;
  overflow: hidden;
}
.detail-product .under-fv {
  background: transparent;
}
.detail-product .under-fv__inner {
  background: #fff;
  position: relative;
  z-index: 3;
}
.detail-product .p-section__fv__text {
  background: transparent;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: end;
  position: relative;
  top: calc(-100vh + 110px);
  padding-top: 0;
  margin-left: 40px;
  height: auto;
  min-height: 450px;
}
@media screen and (max-width: 1230px) {
  .detail-product .p-section__fv__text {
    min-height: 450px;
  }
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__text {
    top: auto;
    margin-left: 0;
    display: block;
    min-height: auto;
    top: auto;
  }
}
.detail-product .p-section__fv__text__inner {
  width: 45%;
  max-width: 440px;
  right: calc(45% - 660px - 30px);
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  position: absolute;
  z-index: 2;
  top: 0;
}
@media screen and (max-width: 1230px) {
  .detail-product .p-section__fv__text__inner {
    width: calc(55% - 70px);
    max-width: calc(55% - 140px);
    right: 70px;
    -webkit-transform: translate(0%, 0);
            transform: translate(0%, 0);
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__text__inner {
    position: relative;
    -webkit-transform: none;
            transform: none;
    right: auto;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding: 0 30px;
  }
}
.detail-product .p-section__fv__text h1 {
  font-size: 30px;
  margin-bottom: 20px;
}
@media screen and (max-width: 1300px) {
  .detail-product .p-section__fv__text h1 {
    font-size: 27px;
  }
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__text h1 {
    font-size: 20px;
    margin-top: 40px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
}
.detail-product .p-section__fv__text h1 small {
  font-size: 17px;
  display: block;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__text h1 small {
    font-size: 14px;
    line-height: 1.7;
    margin-top: 10px;
  }
}
.detail-product .p-section__fv__text p {
  font-size: 15px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__text p {
    font-size: 11px;
  }
}
.detail-product .p-section__fv__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: baseline;
  max-width: 100% !important;
}
.detail-product .p-section__fv__button button {
  width: 100%;
}
.detail-product .shopify-buy__btn {
  width: 100% !important;
}
.detail-product .p-section__fv__price {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__price {
    font-size: 12px;
    margin-top: 10px;
  }
}
.detail-product .p-section__fv__price b {
  font-size: 30px;
  margin: 0 5px;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__price b {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__price small {
    font-size: 10px;
  }
}
.detail-product .p-section__fv__contact {
  font-size: 14px;
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__contact {
    font-size: 11px;
    margin-top: 12px;
  }
}
.detail-product .p-section__fv__contact a {
  color: #333333;
  text-decoration: underline;
  margin: 0 auto;
}
.detail-product .p-section__artist-block {
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  padding: 25px 0 45px;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__artist-block {
    margin-top: 40px;
    margin-bottom: 50px;
    padding: 20px 0 35px;
  }
}
.detail-product .p-section__artist-block b {
  font-size: 28px;
  display: block;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__artist-block b {
    font-size: 22px;
  }
}
.detail-product .p-section__artist-block .p-section__artist__button {
  place-content: baseline;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__artist-block .p-section__artist__button {
    font-size: 13px;
  }
}
.detail-product .p-section__product__detail {
  padding: 40px 70px 100px;
  background: #f8f8f8;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__product__detail {
    padding: 20px 20px 45px;
  }
}
.detail-product .p-section__product__detail dl {
  max-width: 1040px;
  margin: 0 auto;
  border-bottom: 1px solid #cccccc;
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__product__detail dl {
    padding: 20px 0;
  }
}
.detail-product .p-section__product__detail dl dt {
  font-size: 17px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__product__detail dl dt {
    font-size: 13px;
  }
}
.detail-product .p-section__product__detail dl dd {
  line-height: 2;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__product__detail dl dd {
    font-size: 11px;
  }
}
.detail-product .p-section__read {
  padding-top: 90px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__read {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
.detail-product .p-section__fv__product .slider02 .swiper-slide {
  aspect-ratio: 640/480;
}
.detail-product .p-section__fv__product .slider02 .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.detail-product .p-section__fv__product .slider-thumbnail {
  margin-top: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__product .slider-thumbnail {
    margin-top: 12px;
  }
}
.detail-product .p-section__fv__product .slider-thumbnail .swiper-slide {
  aspect-ratio: 80/60;
  overflow: hidden;
  max-width: 100% !important;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__product .slider-thumbnail .swiper-slide {
    max-width: 50px;
    margin-right: 7px;
  }
}
.detail-product .p-section__fv__product .slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}
.detail-product .p-section__fv__product .slider-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.detail-product .p-section__fv__product .swiper-button-next {
  opacity: 1;
  width: 25px;
  height: 25px;
  right: 40px;
  top: calc(50% + 20px);
  border: 1px solid rgba(204, 204, 204, 0.5);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__product .swiper-button-next {
    right: 0;
  }
}
.detail-product .p-section__fv__product .swiper-button-prev {
  opacity: 1;
  width: 25px;
  height: 25px;
  right: 70px;
  left: auto;
  top: calc(50% + 20px);
  border: 1px solid rgba(204, 204, 204, 0.5);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .detail-product .p-section__fv__product .swiper-button-prev {
    right: 40px;
  }
}

.p-detail-artist .p-detail__fv__content {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-detail-artist .p-detail__fv__content {
    left: 1.25rem;
  }
}
.p-detail-artist .p-detail__fv__content__name {
  font-size: 6.25rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-detail-artist .p-detail__fv__content__name {
    font-size: 40px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-artist .p-detail__fv__content__name {
    font-size: 1.875rem;
  }
}
.p-detail-artist .p-detail__fv__content__type {
  font-size: 2.8125rem;
  line-height: 1;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-detail-artist .p-detail__fv__content__type {
    font-size: 20px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-artist .p-detail__fv__content__type {
    font-size: 1rem;
  }
}
.p-detail-artist .p-detail__content {
  padding-bottom: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-detail-artist .p-detail__content {
    padding-bottom: 150px;
  }
}
.p-detail-artist .p-detail__content__related {
  margin-top: 34.375rem;
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-detail-artist .p-detail__content__related {
    margin-top: 200px;
  }
}

.p-detail__content__column02 {
  margin-bottom: 17.5rem;
  padding-left: 14.375rem;
  padding-right: 14.375rem;
}
@media screen and (max-width: 767px) {
  .p-detail__content__column02 {
    margin-bottom: 120px;
    padding: 0 1.25rem;
  }
}
.p-detail__content__column02__title {
  font-size: max(3.125rem, 30px);
  font-weight: 600;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-detail__content__column02__title {
    font-size: 20px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail__content__column02__title {
    font-size: 1.25rem;
  }
}
.p-detail__content__column02__inner {
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 6.25rem;
     -moz-column-gap: 6.25rem;
          column-gap: 6.25rem;
  -ms-grid-columns: calc(100% - 24.0625rem) 6.25rem 24.0625rem;
  grid-template-columns: calc(100% - 24.0625rem) 24.0625rem;
}
@media screen and (max-width: 767px) {
  .p-detail__content__column02__inner {
    display: -ms-grid;
    display: grid;
    gap: 0.9375rem;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-detail__content__column02__text {
    width: 100%;
  }
}
.p-detail__content__column02__text p {
  font-size: max(1.5625rem, 14px);
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-detail__content__column02__text p {
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail__content__column02__text p {
    font-size: max(0.875rem, 12px);
  }
}
@media screen and (max-width: 767px) {
  .p-detail__content__column02__image {
    width: 100%;
  }
}

.p-detail__content__column03 {
  display: -ms-grid;
  display: grid;
  gap: 14.375rem;
  margin-top: 26.25rem;
  margin-bottom: 25rem;
  padding: 0 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-detail__content__column03 {
    padding: 0 1.25rem;
    gap: 3.75rem;
    margin-top: 200px;
    margin-bottom: 200px;
  }
}
.p-detail__content__column03__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(50% - 9.375rem) 9.375rem 50%;
  grid-template-columns: calc(50% - 9.375rem) 50%;
  gap: 9.375rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-detail__content__column03__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
}
.p-detail__content__column03__text {
  font-size: max(1.6875rem, 18px);
}
@media screen and (max-width: 767px) {
  .p-detail__content__column03__text {
    font-size: 18px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail__content__column03__text {
    font-size: max(1.125rem, 14px);
  }
}

.p-detail__content__list-product h2 {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-detail__content__list-product h2 {
    font-size: 20px;
    margin-bottom: 3.75rem;
  }
}
@media screen and (max-width: 520px) {
  .p-detail__content__list-product h2 {
    font-size: max(1.25rem, 16px);
  }
}

.p-detail-product .p-detail__content {
  padding-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product .p-detail__content {
    padding-top: 50px;
  }
}
.p-detail-product .p-detail__content__related {
  padding-bottom: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product .p-detail__content__related {
    padding-bottom: 150px;
  }
}

.p-detail__btn-watch {
  margin-top: 1.875rem;
  font-size: 3.75rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 17.75rem;
  height: 5.0625rem;
  text-align: center;
  padding: 0.3125rem;
  border: 0.25rem solid #fff;
  border-radius: 3.625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .p-detail__btn-watch {
    width: 7.5rem;
    height: 2.1875rem;
    font-size: 20px;
    border: 0.125rem solid #fff;
    margin-top: 0.625rem;
  }
}
@media screen and (max-width: 520px) {
  .p-detail__btn-watch {
    font-size: 1.25rem;
  }
}

.p-detail-product__fv {
  margin-bottom: 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__fv {
    margin-bottom: 1.25rem;
    padding: 0 1.25rem;
  }
}
.p-detail-product__fv img {
  display: block;
  max-width: 74.375rem;
  margin-left: auto;
  margin-right: auto;
}
.p-detail-product__text {
  padding: 3.75rem 12.5rem 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__text {
    padding: 30px 1.25rem 100px;
  }
}
.p-detail-product__text__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(100% - 31.25rem - 11.25rem) 11.25rem 31.25rem;
  grid-template-columns: calc(100% - 31.25rem - 11.25rem) 31.25rem;
  gap: 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__text__inner {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-detail-product__text__content {
    width: 100%;
  }
}
.p-detail-product__text__content h1 {
  font-size: 5rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-detail-product__text__content h1 {
    font-size: 40px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__text__content h1 {
    font-size: 1.875rem;
  }
}
.p-detail-product__text__content-meta {
  font-size: max(1.6875rem, 14px);
}
@media screen and (max-width: 767px) {
  .p-detail-product__text__content-meta {
    font-size: 18px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__text__content-meta {
    font-size: max(0.875rem, 12px);
  }
}
.p-detail-product__text__content-meta b {
  font-size: 3.125rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-detail-product__text__content-meta b {
    font-size: 25px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__text__content-meta b {
    font-size: 1.25rem;
  }
}
.p-detail-product__text__content p {
  font-size: max(1.5625rem, 14px);
  margin-top: 4.375rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-detail-product__text__content p {
    font-size: 14px;
    margin-top: 35px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__text__content p {
    font-size: max(0.875rem, 12px);
  }
}
@media screen and (max-width: 767px) {
  .p-detail-product__text__image {
    width: 100%;
    margin-left: 0;
  }
}
.p-detail-product__text__image img {
  width: 100%;
}
.p-detail-product__artist {
  padding: 0 12.5rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__artist {
    padding: 0 1.25rem 40px;
  }
}
.p-detail-product__artist__inner {
  position: relative;
}
.p-detail-product__artist__inner .p-detail-product__artist-name {
  position: absolute;
  bottom: 11.875rem;
  left: 7.5rem;
  color: #fff;
  font-size: 5rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-detail-product__artist__inner .p-detail-product__artist-name {
    left: 1.25rem;
    bottom: 1.25rem;
    font-size: 30px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__artist__inner .p-detail-product__artist-name {
    font-size: 1.875rem;
  }
}
.p-detail-product__artist__inner .p-detail-product__artist-name small {
  display: block;
  font-size: 1.875rem;
  line-height: 1;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__artist__inner .p-detail-product__artist-name small {
    font-size: 14px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__artist__inner .p-detail-product__artist-name small {
    font-size: 0.875rem;
  }
}
.p-detail-product__cart {
  padding: 25.625rem 0 28.125rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart {
    padding: 120px 0 150px;
  }
}
.p-detail-product__cart__inner {
  display: -ms-grid;
  display: grid;
  padding: 0 12.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-grid-columns: calc(50% - 3.125rem) 6.25rem calc(50% - 3.125rem);
  grid-template-columns: calc(50% - 3.125rem) calc(50% - 3.125rem);
  gap: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__inner {
    padding: 0 1.25rem;
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    gap: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__detail {
    width: 100%;
  }
}
.p-detail-product__cart__detail h1 {
  font-size: max(2.1875rem, 21px);
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__detail h1 {
    font-size: 18px;
    line-height: 1.8;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__cart__detail h1 {
    font-size: 1rem;
  }
}
.p-detail-product__cart__detail h1 small {
  display: block;
  font-size: max(1.25rem, 14px);
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__detail h1 small {
    font-size: 14px;
    margin-top: 0.25rem;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__cart__detail h1 small {
    font-size: max(0.875rem, 10px);
  }
}
.p-detail-product__cart__detail-meta {
  font-size: max(1.5625rem, 16px);
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__detail-meta {
    font-size: 14px;
    margin-top: 15px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__cart__detail-meta {
    font-size: max(0.875rem, 12px);
  }
}
.p-detail-product__cart__detail-price {
  font-size: max(1.875rem, 18px);
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__detail-price {
    font-size: 15px;
    margin-top: 15px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__cart__detail-price {
    font-size: max(0.9375rem, 12px);
  }
}
.p-detail-product__cart__detail-price b {
  font-size: max(2.1875rem, 20px);
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__detail-price b {
    font-size: 18px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__cart__detail-price b {
    font-size: max(1.125rem, 14px);
  }
}
.p-detail-product__cart__detail-price small {
  font-size: max(1.5625rem, 16px);
  margin-left: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__detail-price small {
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__cart__detail-price small {
    font-size: max(0.8125rem, 12px);
  }
}
.p-detail-product__cart__detail-text {
  margin-top: 1.25rem;
  text-decoration: underline;
  font-size: max(0.875rem, 12px);
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__detail-text {
    text-align: center;
    font-size: max(0.75rem, 12px);
  }
}
.p-detail-product__cart__detail-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__detail-sns {
    margin-top: 0.625rem;
    place-content: center;
  }
}
.p-detail-product__cart__detail-sns i {
  font-size: 25px;
  margin-right: 10px;
}
.p-detail-product__cart__image {
  width: 43.125rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__cart__image {
    width: 100%;
    margin-top: 1.25rem;
  }
}
.p-detail-product__notion {
  padding: 0 11.25rem 31.25rem;
  font-size: max(1rem, 14px);
}
@media screen and (max-width: 767px) {
  .p-detail-product__notion {
    padding: 0 1.25rem 200px;
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  .p-detail-product__notion {
    font-size: max(0.875rem, 12px);
  }
}
.p-detail-product__notion dl {
  margin-bottom: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-detail-product__notion dl {
    margin-bottom: 30px;
  }
}
.p-detail-product__notion dl:last-of-type {
  margin-bottom: 0;
}
.p-detail-product__notion dl dt {
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.3125rem;
  font-weight: bold;
}
.p-detail-product__notion dl dd {
  padding: 0.75rem 0 0.3125rem;
}
.p-detail-product__notion dl dd b {
  margin-bottom: 0.3125rem;
  display: inline-block;
}
.p-detail-product__notion dl dd table th {
  color: #707070;
  text-align: left;
  padding-right: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .shopify-buy-frame--product {
    max-width: 100% !important;
  }
}

.shopify-buy__btn-wrapper {
  text-align: left !important;
}

.p-section__fv__list {
  position: relative;
  max-height: 520px;
}
.p-section__fv__list__inner {
  padding-top: 39%;
}
@media screen and (max-width: 1025px) {
  .p-section__fv__list__inner {
    padding-top: 85.33%;
    margin-top: 50px;
  }
}
.p-section__fv__list__inner img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  -o-object-position: top;
     object-position: top;
}
.p-section__fv__list__title {
  color: #fff;
  font-size: 64px;
  position: absolute;
  left: 70px;
  top: 110px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1025px) {
  .p-section__fv__list__title {
    left: 20px;
    top: auto;
    bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-section__fv__list__title {
    left: 20px;
    top: auto;
    bottom: 30px;
    font-size: 44px;
  }
}
.p-section__common__list .c-col__list {
  padding: 100px 70px 140px;
}
@media screen and (max-width: 767px) {
  .p-section__common__list .c-col__list {
    padding: 50px 20px 80px;
  }
}
.p-section__common__list .c-col__list01 {
  max-width: 1290px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1025px) {
  .p-section__common__list .c-col__list01 {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p-section__common__list .c-col__list01 {
    gap: 15px 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-section__common__list .c-col__list01 .c-col__list-title b {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .p-section__common__list .c-col__list01 .c-col__list-title p {
    font-size: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-section__common__list .c-col__list-item {
    padding-top: 75% !important;
  }
}
.p-section__common__list .c-col__list__ptoducts {
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-section__common__list .c-col__list__ptoducts {
    padding: 0 0px;
  }
}

.p-section__common__list__select {
  padding: 0 70px;
  margin-top: 50px;
  font-weight: 700;
  font-size: 17px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-section__common__list__select {
    padding: 0 20px;
    font-size: 14px;
    margin-top: 35px;
  }
}
.p-section__common__list__select div {
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-section__common__list__select div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-section__common__list__select div b {
    width: 70px;
  }
}
.p-section__common__list__select div span {
  display: inline-block;
  position: relative;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .p-section__common__list__select div span {
    width: calc(100% - 70px);
    max-width: 360px;
    margin-left: 0px;
  }
}
.p-section__common__list__select div span::after {
  content: "▼";
  color: #fff;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  font-size: 12px;
}
.p-section__common__list__select div span select {
  background: #CCCCCC;
  height: 44px;
  width: 360px;
  padding: 0 24px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-section__common__list__select div span select {
    width: 100%;
    height: 34px;
  }
}
.p-section__common__list__select div span select option {
  background: #fff;
  color: #000;
}
.p-section__common__list__select + .p-section__common__list__inner .c-col__list {
  padding-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-section__common__list__select + .p-section__common__list__inner .c-col__list {
    padding-top: 35px;
  }
}

.p-section__common__list .c-shop__list02 {
  padding: 11.875rem 7.5rem 25rem;
}
@media screen and (max-width: 767px) {
  .p-section__common__list .c-shop__list02 {
    padding: 5rem 1.25rem 9.375rem;
  }
}


/* --- アーティストギャラリー用追加スタイル --- */

.wf-gallery-container {
    font-family: "Noto Sans JP", sans-serif;
    background-color: #fff;
    padding-bottom: 80px;
    overflow: hidden;
    line-height: 1.5;
}

/* 既存のimg設定(width:100%)との競合を防ぐ */
.wf-gallery-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.wf-row-full, .wf-row-flex {
    width: 100%;
    margin-bottom: 20px;
    display: flex;
    gap: 20px;
}

.wf-wide-item {
    width: 100%;
    height: 700px;
}

.wf-row-flex .wf-item {
    flex: 1;
    min-height: 500px;
}

.wf-text-block {
    padding: 60px 50px;
    background-color: #f9f9f9;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}
.wf-highlight { background-color: #1a1a1a; color: #fff; }

.wf-sub-category { display: block; font-size: 11px; letter-spacing: 0.25em; margin-bottom: 15px; color: #888; }
.wf-highlight .wf-sub-category { color: #aaa; }

.wf-text-content h3 { 
    font-size: 20px; 
    margin-bottom: 25px; 
    font-weight: 700; 
    line-height: 1.5;
    text-transform: none; 
}
.wf-text-content p { 
    font-size: 14px; 
    line-height: 2.0; 
    text-align: justify; 
    margin: 0; 
}

/* フェードインアニメーション */
.wf-fade-in {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}
.wf-fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* スマホ対応（768px以下） */
@media (max-width: 768px) {
    .wf-row-flex { flex-direction: column; gap: 10px; }
    .wf-row-full, .wf-row-flex { margin-bottom: 10px; }
    .wf-wide-item { height: 320px; }
    .wf-row-flex .wf-item { min-height: auto; }
    .wf-text-block { padding: 40px 25px; }
}



/* FV（メイン映像）をページ読み込み時にふわっと出すための調整 */
.p-detail__fv.wf-fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1.5s ease-out, transform 1.5s ease-out;
}

/* 出現時の状態 */
.p-detail__fv.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* =============================================
   STORYページ専用（.list-watch）
   ギャラリー・ワイド写真ともに全幅化
   ============================================= */

/* 1. 共通設定：親要素のパディングをこのページだけ無効化して端まで広げる */
.list-watch .p-section,
.list-watch .p-detail__content {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* 2. ギャラリー & ワイド写真：画面端まで強制的に広げる */
.list-watch .wf-story-gallery-container,
.list-watch .wf-story-wide-photo {
    width: 100vw !important;
    position: relative;
    /* 親の制限を無視して左右ピッタリに吸い付かせる計算 */
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    overflow: hidden;
}

/* 3. ギャラリー内の写真並び（崩れ防止） */
.list-watch .wf-story-row-flex {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 15px !important; /* 写真同士の隙間 */
    margin-bottom: 15px !important;
    width: 100%;
}

.list-watch .wf-story-item {
    flex: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
}

.list-watch .wf-story-item img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    object-fit: cover !important;
    display: block !important;
    /* ベースCSSの絶対配置を上書きして元の位置に戻す */
    position: static !important;
    transform: none !important;
}

/* 4. ワイド写真の設定（CURATOR直前） */
.list-watch .wf-story-wide-photo {
    margin-top: 80px;
    margin-bottom: 0 !important;
    line-height: 0;
}

.list-watch .wf-story-wide-photo img {
    width: 100% !important;
    aspect-ratio: 21 / 9 !important;
    object-fit: cover !important;
}

/* 5. CURATORセクションをフッターに密着 */
.list-watch .under-fv {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.list-watch .p-section__staff {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 80px !important;
    padding-bottom: 100px !important; /* グレーがフッターまで繋がる */
}

/* 6. スマホ用調整 */
@media screen and (max-width: 767px) {
    .list-watch .wf-story-row-flex {
        gap: 4px !important;
        margin-bottom: 4px !important;
    }
}

/* フェードインの初期状態（最初は透明で少し下に配置） */
.wf-fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

/* 画面内に入った時の状態（不透明にして元の位置へ） */
.wf-fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* =============================================
   WATCH詳細ページ共通設定（複製対応）
   ============================================= */

/* 写真を本文の幅に完全に合わせる */
#watch-detail-custom .watch-custom-middle-photo {
    width: 100%;
    /* 左右の余白を「auto」にすることで本文と同じ位置に収まります */
    margin: 60px auto; 
    padding: 0; /* 本文側にpaddingがある場合はここも合わせる */
    line-height: 0;
    max-width: 800px; /* ここを本文の max-width と同じ数値にする */
    margin-left: auto;
    margin-right: auto;

}

#watch-detail-custom .watch-custom-middle-photo img {
    width: 100%;
    height: auto;
    display: block;
    /* 本文の最大幅設定が他にある場合は、ここを「inherit」にするか合わせます */
}

/* クレジットとの間隔を確保 */
#watch-detail-custom .p-detail__content__credit {
    margin-top: 50px !important;
}

/* スマホ用調整 */
@media screen and (max-width: 767px) {
    #watch-detail-custom .watch-custom-middle-photo {
        margin: 40px auto;
        /* スマホで本文に左右余白（例: 20px）がある場合、ここも合わせます */
        padding: 0; 
    }
}

/* 「アーティスト」のセクション（IDやクラス）の中にあるリストだけに適用 */
.p-top-artist .c-col__list03, 
.p-top-artist .c-col__list01 {
    row-gap: 40px !important; /* 縦の隙間を強制 */
}

@media screen and (max-width: 767px) {
    .p-top-artist .c-col__list03, 
    .p-top-artist .c-col__list01 {
        row-gap: 20px !important;
    }
}

@media screen and (max-width: 767px) {
  /* 3列並びのブロックをPCと同じ比率（約70%）にする */
  .c-col__list .c-col__list03 .c-col__list-item {
    padding-top: 70.05% !important; /* 正方形(74%)をやめてPCと同じ比率に */
  }

  /* 2列並びのブロックも比率を調整 */
  .c-col__list .c-col__list01 .c-col__list-item {
    padding-top: 56.25% !important;
  }
}

/* =============================================
   PRODUCTページ：レイアウト・コンポーネント統合CSS
   ============================================= */

/* 1. 全体設定：本文の行間と見出しの余白を統一 */
.p-section__product__detail dd,
.p-product__col-text,
.p-section__product__detail dl dd,
.p-artist-list + p {
    line-height: 1.8 !important;
    letter-spacing: 0.03em;
}

/* 各セクション見出し(dt)と内容(dd)の隙間 */
.p-section__product__detail dl dd {
    margin-top: 20px !important;
}

/* 2. 沼田氏セクション：左右2カラムレイアウト */
.p-product__col-layout {
    margin-bottom: 50px !important;
}

.p-product__col-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.p-product__col-text {
    flex: 1;
}

.p-product__col-image {
    flex: 0 0 20%;
    max-width: 300px;
}

.p-product__col-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* 3. アーティストリスト：丸抜き4列 */
.p-artist-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 15px;
    margin: 30px 0 40px;
}

.p-artist-item {
    flex: 0 0 22%;
    text-align: center;
}

.p-artist-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    margin-bottom: 10px;
    background-color: #eee;
    border: 1px solid #f0f0f0;
}

.p-artist-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-artist-name {
    font-size: 13px;
    line-height: 1.4;
    font-weight: bold;
    margin: 0 !important;
}

.p-artist-name small {
    display: block;
    font-size: 11px;
    font-weight: normal;
    color: #777;
    margin-top: 4px;
}

/* 4. 撮影ギャラリー：1段目3枚・2段目2枚（全デバイス共通） */
.p-shooting-gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2%; /* パーセント指定でスマホでも隙間を維持 */
    margin-top: 30px;
}

.p-shooting-item {
    flex: 0 0 32%; /* 3枚並び */
    margin-bottom: 2%;
}

.p-shooting-item.-wide {
    flex: 0 0 49%; /* 2枚並び */
    margin-bottom: 0;
}

.p-shooting-item img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
    border-radius: 2px;
}

/* 5. レスポンシブ設定（スマホ 767px以下） */
@media screen and (max-width: 767px) {
    /* 沼田氏：縦並び */
    .p-product__col-wrapper {
        flex-direction: column;
        gap: 20px;
    }
    .p-product__col-image {
        width: 100%;
        order: 2;
    }
    .p-product__col-text {
        order: 1;
    }

    /* アーティスト：スマホは2列で見やすく */
    .p-artist-item {
        flex: 0 0 46%;
        margin-bottom: 20px;
    }




/* --- PRODUCTS / SHOP リストの設定（452行目〜） --- */
.c-shop__list ul,
.c-shop__list02 ul {
  display: grid;
  /* PCでは3列 */
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem 2.5rem;
}

/* スマホ用設定：PRODUCTSもARTISTも一括で1列にする */
@media screen and (max-width: 767px) {
  /* PRODUCTS 1列化 */
  .c-shop__list ul,
  .c-shop__list02 ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
  }

  /* ARTIST / WATCH 1列化 */
  .c-col__list .c-col__list01,
  .c-col__list .c-col__list03 {
    grid-template-columns: 1fr !important;
  }

  /* 各アイテムの幅と余白を固定 */
  .c-shop__list ul li,
  .c-shop__list02 ul li,
  .c-col__list-item {
    width: 100% !important;
    margin-bottom: 20px !important;
  }
}