/**
 * WASAI（/wasai/）— レイアウトのみ。字体・色・余白は style.css（TOP）を継承。
 * 注意: style.css の旧 LP 用 `.p-wasai { max-width:414px }` と競合しないよう
 *       ページラッパーは `.p-wasai-page` を使用する。
 */
.p-wasai-page {
  max-width: none;
  width: 100%;
  margin: 0;
  padding-bottom: 0;
  background: transparent;
}

.p-wasai-page .c-text-body,
.p-wasai-page .c-section-title__sub,
.p-wasai-page .p-front__blog-meta,
.p-wasai-page .p-front__contactnote-lead,
.p-wasai-page .p-front__shop-desc {
  font-size: max(14px, 1em);
}

.p-wasai-page .p-front__shop {
  padding: min(calc(100 * 100vw / 1280), 100px) min(calc(100 * 100vw / 1280), 100px);
  background-image: none;
}

.p-wasai-page .p-front__shop-inner {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.p-wasai-page .p-front__about-texts {
  flex: 1 1 60%;
  min-width: 0;
}

.p-wasai-page .p-front__img-slider {
  height: 100%;
}

.p-wasai-page .p-front__shop-list {
  margin-left: 0;
  justify-content: flex-start;
  gap: min(calc(20 * 100vw / 1280), 20px);
}

.p-wasai-page .p-front__shop-list .p-front__shop-item {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
}

.p-wasai-page .p-front__shop-list .p-front__shop-item + .p-front__shop-item {
  margin-left: 0;
}

.p-wasai-page .p-front__shop-inner > .p-front__about-header,
.p-wasai-page .p-front__gallery-inner > .p-front__about-header {
  margin-bottom: min(calc(100 * 100vw / 1280), 100px);
}

@media (max-width: 768px) {
  .p-wasai-page .p-front__shop-inner > .p-front__about-header,
  .p-wasai-page .p-front__gallery-inner > .p-front__about-header {
    margin-bottom: min(calc(50 * 100vw / 414), 50px);
  }
}

.p-wasai-page .p-wasai-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(calc(40 * 100vw / 1280), 40px);
  margin-top: min(calc(80 * 100vw / 1280), 80px);
}

.p-wasai-page .p-wasai-pillars__item {
  padding-top: min(calc(24 * 100vw / 1280), 24px);
  border-top: 1px solid #aaa;
}

.p-wasai-page .p-wasai-pillars__num {
  margin-bottom: min(calc(20 * 100vw / 1280), 20px);
}

.p-wasai-page .p-wasai-pillars__title {
  margin-bottom: min(calc(16 * 100vw / 1280), 16px);
}

.p-wasai-page .p-wasai-pillars__link {
  display: inline-block;
  margin-top: min(calc(20 * 100vw / 1280), 20px);
  border-bottom: 1px solid #000;
}

.p-wasai-page .p-wasai-ec-row {
  margin-top: min(calc(60 * 100vw / 1280), 60px);
}

.p-wasai-page .p-wasai-ec-row .p-front__shop-item {
  display: flex;
  flex-direction: column;
}

.p-wasai-page .p-wasai-ec-row__meta {
  margin-top: min(calc(24 * 100vw / 1280), 24px);
  padding-right: min(calc(20 * 100vw / 1280), 20px);
}

.p-wasai-page .p-wasai-ec-row__meta .p-front__blog-item-title {
  margin-bottom: min(calc(8 * 100vw / 1280), 8px);
  padding-bottom: 0;
  border-bottom: none;
}

.p-wasai-page .p-wasai-flow-action {
  margin-top: min(calc(80 * 100vw / 1280), 80px);
  padding-top: min(calc(40 * 100vw / 1280), 40px);
  border-top: 1px solid #aaa;
}

.p-wasai-dialog-trigger {
  display: inline-flex;
  align-items: center;
  gap: min(calc(12 * 100vw / 1280), 12px);
  padding: min(calc(14 * 100vw / 1280), 14px) min(calc(32 * 100vw / 1280), 32px);
  border: 1px solid #000;
  background: transparent;
  font-family: inherit;
  font-size: max(14px, 1em);
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background 0.3s, color 0.3s;
}

.p-wasai-dialog-trigger:hover {
  background: #000;
  color: #fff;
}

.p-wasai-page .p-wasai-rental-box {
  margin-top: min(calc(40 * 100vw / 1280), 40px);
  padding: min(calc(32 * 100vw / 1280), 32px);
  border: 1px solid rgba(255, 255, 255, 0.35);
}

.p-wasai-page .p-wasai-rental-box .c-link-animate,
.p-wasai-page .p-wasai-rental-box .p-wasai-rental__btn {
  margin-top: min(calc(24 * 100vw / 1280), 24px);
}

/* ── MV（Mawal風・全面背景フェード） ── */
.p-wasai-mv {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: min(calc(600 * 100vw / 1280), 600px);
  overflow: hidden;
  color: #fff;
}

.p-wasai-mv h2,
.p-wasai-mv p,
.p-wasai-mv a {
  color: #fff;
}

.p-wasai-mv__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.p-wasai-mv__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
  pointer-events: none;
}

.p-wasai-mv__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 2s ease;
  z-index: 0;
}

.p-wasai-mv__slide.is-active {
  opacity: 1;
  z-index: 0;
}

.p-wasai-mv__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-wasai-mv__content {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: min(calc(48 * 100vw / 1280), 48px) min(calc(80 * 100vw / 1280), 80px);
}

.p-wasai-mv__title {
  font-family: Vollkorn, serif;
  font-size: min(calc(72 * 100vw / 1280), 72px);
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 1;
  text-align: center;
  margin: 0;
  color: #fff;
}

.p-wasai-mv__corner {
  position: absolute;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.12em;
  line-height: 1.8;
  margin: 0;
  color: #fff;
}

.p-wasai-mv__corner--tl {
  top: min(calc(48 * 100vw / 1280), 48px);
  left: min(calc(80 * 100vw / 1280), 80px);
}

.p-wasai-mv__corner--tr {
  top: min(calc(48 * 100vw / 1280), 48px);
  right: min(calc(80 * 100vw / 1280), 80px);
  text-align: right;
}

.p-wasai-mv__corner--bl {
  bottom: min(calc(48 * 100vw / 1280), 48px);
  left: min(calc(80 * 100vw / 1280), 80px);
}

.p-wasai-mv__corner--br {
  bottom: min(calc(48 * 100vw / 1280), 48px);
  right: min(calc(80 * 100vw / 1280), 80px);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  transition: opacity 0.3s;
}

.p-wasai-mv__corner--br:hover {
  opacity: 0.7;
}

.p-wasai-mv__corner--br svg {
  width: 16px;
  height: 16px;
}

.p-wasai-mv__corner--br svg path {
  fill: #fff;
}

/* WASAI: MV通過までヘッダーを画面上部に隠す（JSでスライドイン） */
body.page-wasai .l-header,
body.page-template-page-wasai .l-header {
  will-change: transform;
}

/* ── Artwork Line Up（Mawal Line Up 風） ── */
.p-wasai-lineup {
  padding: min(calc(80 * 100vw / 1280), 80px) min(calc(100 * 100vw / 1280), 100px) min(calc(100 * 100vw / 1280), 100px);
  background: #fff;
  overflow: hidden;
}

.p-wasai-lineup__inner {
  max-width: 1080px;
  margin: 0 auto;
}

.p-wasai-lineup__head .p-front__about-header {
  margin-bottom: 0;
}

.p-wasai-lineup__slider-wrap {
  margin-top: min(calc(40 * 100vw / 1280), 40px);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
  display: flex;
  justify-content: flex-end;
}

.p-wasai-lineup__slider-wrap::-webkit-scrollbar {
  display: none;
}

.p-wasai-lineup__slider-wrap.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.p-wasai-lineup__track {
  display: flex;
  gap: min(calc(24 * 100vw / 1280), 24px);
  width: max-content;
  margin: 0 0 0 auto;
  padding: 0;
  list-style: none;
}

.p-wasai-lineup__slide {
  flex: 0 0 min(calc(280 * 100vw / 1280), 280px);
  width: min(calc(280 * 100vw / 1280), 280px);
  scroll-snap-align: end;
}

.p-wasai-lineup__link {
  display: block;
  color: #000;
}

.p-wasai-lineup__img {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f5f5f5;
}

.p-wasai-lineup__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-wasai-lineup__caption {
  margin: min(calc(12 * 100vw / 1280), 12px) 0 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #000;
}

.p-wasai-lineup__action {
  max-width: 1080px;
  margin: min(calc(48 * 100vw / 1280), 48px) auto 0;
  text-align: center;
}

.p-wasai-lineup__btn {
  display: inline-block;
  min-width: min(calc(200 * 100vw / 1280), 200px);
  padding: min(calc(14 * 100vw / 1280), 14px) min(calc(32 * 100vw / 1280), 32px);
  background: #8da0b0;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.12em;
  text-align: center;
  transition: opacity 0.3s;
}

.p-wasai-lineup__btn:hover {
  opacity: 0.85;
  color: #fff;
}

/* ── About（Mawal風） ── */
.p-wasai-about {
  padding: min(calc(150 * 100vw / 1280), 150px) min(calc(100 * 100vw / 1280), 100px);
  background: #fff;
}

.p-wasai-about__inner {
  max-width: 1080px;
  margin: 0 auto;
}

.p-wasai-about__label {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.05em;
  margin-bottom: min(calc(24 * 100vw / 1280), 24px);
}

.p-wasai-about__title {
  font-family: Vollkorn, serif;
  font-size: min(calc(56 * 100vw / 1280), 56px);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.1;
  margin-bottom: min(calc(40 * 100vw / 1280), 40px);
}

.p-wasai-about__list {
  margin-bottom: 0;
}

.p-wasai-about__list li {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.1em;
  line-height: 2.2;
}

.p-wasai-about__split {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  gap: min(calc(60 * 100vw / 1280), 60px);
  align-items: start;
}

.p-wasai-about__head + .p-wasai-about__split,
.p-wasai-about__split + .p-wasai-about__split {
  margin-top: min(calc(80 * 100vw / 1280), 80px);
}

.p-wasai-about__img img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

.p-wasai-about__heading {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(18 * 100vw / 1280), 18px);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.8;
  margin: 0 0 min(calc(32 * 100vw / 1280), 32px);
}

.p-wasai-about__body .c-text-body + .c-text-body {
  margin-top: min(calc(24 * 100vw / 1280), 24px);
}

.p-wasai-about__pillars {
  margin-top: min(calc(80 * 100vw / 1280), 80px);
  padding-top: min(calc(32 * 100vw / 1280), 32px);
  border-top: 1px solid #ddd;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(calc(40 * 100vw / 1280), 40px);
}

.p-wasai-about__pillar-num {
  font-family: Vollkorn, serif;
  font-size: min(calc(20 * 100vw / 1280), 20px);
  font-weight: 400;
  letter-spacing: 0.08em;
  margin: 0 0 min(calc(16 * 100vw / 1280), 16px);
}

.p-wasai-about__pillar-title {
  font-family: 'Noto Serif JP', serif;
  font-size: min(calc(16 * 100vw / 1280), 16px);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.8;
  margin: 0 0 min(calc(12 * 100vw / 1280), 12px);
}

.p-wasai-about__pillar-desc {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.06em;
  line-height: 1.9;
  margin: 0;
  color: #333;
}

.p-wasai-about__pillar-link {
  display: inline-block;
  margin-top: min(calc(20 * 100vw / 1280), 20px);
  border-bottom: 1px solid #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.08em;
  color: #000;
}

/* ── Works（Mawal Products 風・2列） + Rental ── */
.p-wasai-works {
  padding: 0;
  background: #fff;
}

.p-wasai-works__artwork {
  padding: min(calc(100 * 100vw / 1280), 100px) min(calc(100 * 100vw / 1280), 100px) min(calc(80 * 100vw / 1280), 80px);
}

.p-wasai-works__inner {
  max-width: 1080px;
  margin: 0 auto;
}

.p-wasai-works__artwork .p-front__about-header {
  margin-bottom: min(calc(48 * 100vw / 1280), 48px);
}

.p-wasai-works__label {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(16 * 100vw / 1280), 16px);
  font-weight: 400;
  letter-spacing: 0.05em;
  margin: 0 0 min(calc(48 * 100vw / 1280), 48px);
  color: #000;
}

.p-wasai-works__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(calc(60 * 100vw / 1280), 60px) min(calc(40 * 100vw / 1280), 40px);
}

.p-wasai-works__link {
  display: block;
  color: #000;
}

.p-wasai-works__img {
  overflow: hidden;
  background: #f5f5f5;
}

.p-wasai-works__img img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

.p-wasai-works__title {
  margin: min(calc(16 * 100vw / 1280), 16px) 0 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #000;
}

.p-wasai-works__price {
  margin: min(calc(6 * 100vw / 1280), 6px) 0 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #666;
}

/* Rental（Works 内包） */
.p-wasai-rental {
  position: relative;
  padding: min(calc(100 * 100vw / 1280), 100px) min(calc(100 * 100vw / 1280), 100px) min(calc(120 * 100vw / 1280), 120px);
  color: #fff;
}

.p-wasai-rental__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url('../images/ph_service_bg.jpg') center center / cover no-repeat;
}

.p-wasai-rental__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.p-wasai-rental__inner {
  position: relative;
  z-index: 1;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0;
}

.p-wasai-rental__inner .p-front__about-header {
  margin-bottom: min(calc(40 * 100vw / 1280), 40px);
}

.p-wasai-rental__divider {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  margin: 0 0 min(calc(60 * 100vw / 1280), 60px);
}

.p-wasai-rental__body {
  display: block;
}

.p-wasai-rental__texts {
  max-width: min(calc(730 * 100vw / 1280), 730px);
}

.p-wasai-rental__text {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.15em;
  line-height: 2.4;
  color: #fff;
}

.p-wasai-rental__text + .p-wasai-rental__text {
  margin-top: min(calc(16 * 100vw / 1280), 16px);
}

.p-wasai-rental__text strong {
  color: #fff;
}

.p-wasai-rental__btn {
  display: inline-flex;
  align-items: center;
  gap: min(calc(12 * 100vw / 1280), 12px);
  padding: min(calc(12 * 100vw / 1280), 12px) min(calc(24 * 100vw / 1280), 24px);
  background: #fff;
  color: #000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  letter-spacing: 0.1em;
  border: none;
  cursor: pointer;
}

.p-wasai-rental__btn.-outline {
  background: transparent;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  padding-left: 0;
  padding-right: 0;
}

.p-wasai-rental__action {
  margin-top: min(calc(60 * 100vw / 1280), 60px);
  text-align: right;
}

/* ── Workshop（Recycle風） ── */
.p-wasai-recycle {
  padding: min(calc(120 * 100vw / 1280), 120px) min(calc(100 * 100vw / 1280), 100px);
  background: #fff;
  border-bottom: 1px solid #ddd;
}

.p-wasai-recycle__inner {
  max-width: 1080px;
  margin: 0 auto;
}

.p-wasai-recycle__header {
  display: flex;
  align-items: center;
  gap: min(calc(24 * 100vw / 1280), 24px);
  margin-bottom: min(calc(60 * 100vw / 1280), 60px);
}

.p-wasai-recycle__label {
  font-family: Vollkorn, serif;
  font-size: min(calc(32 * 100vw / 1280), 32px);
  font-weight: 400;
  flex-shrink: 0;
  margin: 0;
}

.p-wasai-recycle__rule {
  flex: 1;
  border: none;
  border-top: 1px solid #ccc;
  margin: 0;
}

.p-wasai-recycle__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(calc(60 * 100vw / 1280), 60px);
  align-items: start;
}

.p-wasai-recycle__heading {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(18 * 100vw / 1280), 18px);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.8;
  margin-bottom: min(calc(32 * 100vw / 1280), 32px);
}

.p-wasai-recycle__text .c-text-body + .c-text-body {
  margin-top: min(calc(20 * 100vw / 1280), 20px);
}

.p-wasai-recycle__note {
  margin-top: min(calc(32 * 100vw / 1280), 32px);
  font-size: min(calc(14 * 100vw / 1280), 14px);
  color: #888;
  line-height: 1.8;
}

.p-wasai-recycle__links {
  margin-top: min(calc(24 * 100vw / 1280), 24px);
  display: flex;
  gap: min(calc(24 * 100vw / 1280), 24px);
}

.p-wasai-recycle__links a {
  font-size: min(calc(14 * 100vw / 1280), 14px);
  border-bottom: 1px solid #000;
}

.p-wasai-recycle__img img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.p-wasai-recycle__gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(calc(12 * 100vw / 1280), 12px);
  margin-top: min(calc(24 * 100vw / 1280), 24px);
}

.p-wasai-recycle__gallery img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}

/* ── note（News風） ── */
.p-wasai-news {
  padding: min(calc(120 * 100vw / 1280), 120px) min(calc(100 * 100vw / 1280), 100px);
  background: #fff;
}

.p-wasai-news__inner {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: min(calc(200 * 100vw / 1280), 200px) 1fr;
  gap: min(calc(80 * 100vw / 1280), 80px);
  align-items: start;
}

.p-wasai-news__title {
  font-family: Vollkorn, serif;
  font-size: min(calc(40 * 100vw / 1280), 40px);
  font-weight: 400;
  margin: 0 0 min(calc(24 * 100vw / 1280), 24px);
}

.p-wasai-news__readall {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  color: #888;
  border-bottom: 1px solid #aaa;
  transition: opacity 0.3s;
}

.p-wasai-news__readall:hover {
  opacity: 0.6;
}

.p-wasai-news__list {
  border-top: 1px solid #ddd;
}

.p-wasai-news__item {
  padding: min(calc(32 * 100vw / 1280), 32px) 0;
  border-bottom: 1px solid #ddd;
}

.p-wasai-news__item-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(16 * 100vw / 1280), 16px);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin: 0 0 min(calc(12 * 100vw / 1280), 12px);
}

.p-wasai-news__readmore {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(calc(14 * 100vw / 1280), 14px);
  color: #888;
  transition: opacity 0.3s;
}

.p-wasai-news__readmore:hover {
  opacity: 0.6;
}

.p-wasai-page .p-wasai-profile {
  display: grid;
  grid-template-columns: min(calc(320 * 100vw / 1280), 320px) 1fr;
  gap: min(calc(56 * 100vw / 1280), 56px);
  margin-top: min(calc(40 * 100vw / 1280), 40px);
  align-items: start;
}

.p-wasai-page .p-wasai-profile__img img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}

.p-wasai-page .p-wasai-profile__txt .c-text-body + .c-text-body {
  margin-top: min(calc(24 * 100vw / 1280), 24px);
}

.p-wasai-page .p-wasai-faq__list {
  margin-top: min(calc(40 * 100vw / 1280), 40px);
}

.p-wasai-page .p-wasai-faq__item + .p-wasai-faq__item {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.p-wasai-page .p-wasai-faq__item {
  border-bottom: 1px solid #ddd;
}

.p-wasai-page .p-wasai-faq__details {
  padding: min(calc(20 * 100vw / 1280), 20px) 0;
}

.p-wasai-page .p-wasai-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(calc(16 * 100vw / 1280), 16px);
  cursor: pointer;
  list-style: none;
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.p-wasai-page .p-wasai-faq__question::-webkit-details-marker {
  display: none;
}

.p-wasai-page .p-wasai-faq__question::after {
  content: '+';
  flex-shrink: 0;
  font-size: min(calc(20 * 100vw / 1280), 20px);
  font-weight: 300;
  line-height: 1;
  transition: transform 0.3s;
}

.p-wasai-page .p-wasai-faq__details[open] .p-wasai-faq__question::after {
  content: '−';
}

.p-wasai-page .p-wasai-faq__answer {
  margin-top: min(calc(12 * 100vw / 1280), 12px);
  padding-right: min(calc(32 * 100vw / 1280), 32px);
}


.p-wasai-page .p-wasai-contact-form {
  margin-top: min(calc(40 * 100vw / 1280), 40px);
  max-width: min(calc(560 * 100vw / 1280), 560px);
}

.p-wasai-page .p-wasai-contact-form label {
  display: block;
  margin-bottom: min(calc(8 * 100vw / 1280), 8px);
}

.p-wasai-page .p-wasai-contact-form input,
.p-wasai-page .p-wasai-contact-form textarea {
  width: 100%;
  margin-bottom: min(calc(24 * 100vw / 1280), 24px);
  padding: min(calc(12 * 100vw / 1280), 12px) min(calc(16 * 100vw / 1280), 16px);
  border: 1px solid rgba(0, 0, 0, 0.2);
  font-family: inherit;
  background: #fff;
}

.p-wasai-page .p-wasai-contact-form textarea {
  min-height: min(calc(160 * 100vw / 1280), 160px);
  resize: vertical;
}

.p-wasai-page .p-wasai-contact-form button[type="submit"] {
  padding: min(calc(14 * 100vw / 1280), 14px) min(calc(40 * 100vw / 1280), 40px);
  background: #000;
  color: #fff;
  border: none;
  font-family: inherit;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: opacity 0.3s;
}

.p-wasai-page .p-wasai-contact-form button[type="submit"]:hover {
  opacity: 0.8;
}

.p-wasai-page .p-wasai-contactnote-col--full {
  flex: 1 1 100%;
}

.p-wasai-page .p-front__contactnote {
  background: #fff;
  background-image: none;
  padding: min(calc(60 * 100vw / 1280), 60px) min(calc(100 * 100vw / 1280), 100px) min(calc(150 * 100vw / 1280), 150px);
}

.p-wasai-page .p-front__contactnote-col {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1279px) {
  .p-wasai-page .p-front__contactnote {
    margin-left: min(calc(100 * 100vw / 1280), 100px);
    margin-right: 0;
    width: calc(100% - min(calc(100 * 100vw / 1280), 100px));
    padding-left: min(calc(60 * 100vw / 1280), 60px);
    padding-right: min(calc(60 * 100vw / 1280), 60px);
  }
}

.p-wasai-page .wpcf7 {
  margin-top: min(calc(40 * 100vw / 1280), 40px);
  max-width: min(calc(560 * 100vw / 1280), 560px);
}

.p-wasai-page .wpcf7 label {
  display: block;
  margin-bottom: min(calc(8 * 100vw / 1280), 8px);
}

.p-wasai-page .wpcf7 input,
.p-wasai-page .wpcf7 textarea {
  width: 100%;
  margin-bottom: min(calc(24 * 100vw / 1280), 24px);
  padding: min(calc(12 * 100vw / 1280), 12px) min(calc(16 * 100vw / 1280), 16px);
  border: 1px solid rgba(0, 0, 0, 0.2);
  font-family: inherit;
  background: #fff;
}

.p-wasai-page .wpcf7 textarea {
  min-height: min(calc(160 * 100vw / 1280), 160px);
  resize: vertical;
}

.p-wasai-page .wpcf7 input[type="submit"] {
  padding: min(calc(14 * 100vw / 1280), 14px) min(calc(40 * 100vw / 1280), 40px);
  background: #000;
  color: #fff;
  border: none;
  letter-spacing: 0.08em;
  cursor: pointer;
}

/* Dialog（<dialog> + CSS Transition） */
body.is-modal-open {
  overflow: hidden;
}

.p-wasai-dialog {
  --duration-show: 0.6s;
  --duration-close: 0.35s;
  --ease-elastic-out: linear(0, 0.0271 0.38%, 0.1128 1.54%, 0.2336 3.08%, 0.3827 4.62%, 0.5519 6.15%, 0.7324 7.69%, 0.9146 9.23%, 1.0924 10.77%, 1.2589 12.31%, 1.4078 13.85%, 1.5344 15.38%, 1.6355 16.92%, 1.7095 18.46%, 1.7577 20%, 1.7834 21.54%, 1.7912 23.08%, 1.7868 24.62%, 1.7749 26.15%, 1.7597 27.69%, 1.7444 29.23%, 1.7312 30.77%, 1.7214 32.31%, 1.7154 33.85%, 1.7129 35.38%, 1.7134 36.92%, 1.716 38.46%, 1.7198 40%, 1.7242 41.54%, 1.7286 43.08%, 1.7325 44.62%, 1.7356 46.15%, 1.7377 47.69%, 1.7388 49.23%, 1.7389 50.77%, 1.7381 52.31%, 1.7366 53.85%, 1.7346 55.38%, 1.7323 56.92%, 1.7299 58.46%, 1.7275 60%, 1.7252 61.54%, 1.7231 63.08%, 1.7213 64.62%, 1.7198 66.15%, 1.7186 67.69%, 1.7177 69.23%, 1.7171 70.77%, 1.7167 72.31%, 1.7165 73.85%, 1.7164 75.38%, 1.7164 76.92%, 1.7165 78.46%, 1.7166 80%, 1.7168 81.54%, 1.7169 83.08%, 1.717 84.62%, 1.7171 86.15%, 1.7171 87.69%, 1.7171 89.23%, 1.717 90.77%, 1.7169 92.31%, 1.7168 93.85%, 1.7166 95.38%, 1.7164 96.92%, 1.7162 98.46%, 1.716 100%);

  border: none;
  padding: 0;
  margin: auto;
  max-width: min(calc(640 * 100vw / 1280), 640px);
  width: calc(100% - min(calc(40 * 100vw / 1280), 40px));
  max-height: 85vh;
  background: transparent;
  opacity: 0;
  scale: 0.92;
  transition:
    opacity var(--duration-close),
    scale var(--duration-close),
    overlay var(--duration-close) allow-discrete,
    display var(--duration-close) allow-discrete;
}

.p-wasai-dialog[open] {
  opacity: 1;
  scale: 1;
  transition:
    opacity var(--duration-show),
    scale var(--duration-show) var(--ease-elastic-out),
    overlay var(--duration-show) allow-discrete,
    display var(--duration-show) allow-discrete;
}

@starting-style {
  .p-wasai-dialog[open] {
    opacity: 0;
    scale: 0.92;
  }
}

.p-wasai-dialog::backdrop {
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition:
    opacity var(--duration-close),
    overlay var(--duration-close) allow-discrete,
    display var(--duration-close) allow-discrete;
}

.p-wasai-dialog[open]::backdrop {
  opacity: 1;
}

@starting-style {
  .p-wasai-dialog[open]::backdrop {
    opacity: 0;
  }
}

.p-wasai-dialog__inner {
  position: relative;
  background: #fff;
  max-height: 85vh;
  overflow: hidden;
}

.p-wasai-dialog__close {
  position: absolute;
  top: min(calc(12 * 100vw / 1280), 12px);
  right: min(calc(16 * 100vw / 1280), 16px);
  z-index: 2;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.p-wasai-dialog__content {
  padding: min(calc(48 * 100vw / 1280), 48px) min(calc(32 * 100vw / 1280), 32px);
  max-height: 85vh;
  overflow-y: auto;
}

.p-wasai-dialog__content > .c-text-body {
  margin-top: min(calc(16 * 100vw / 1280), 16px);
}

.p-wasai-dialog__content h3 {
  margin-top: min(calc(32 * 100vw / 1280), 32px);
  margin-bottom: min(calc(12 * 100vw / 1280), 12px);
}

.p-wasai-dialog__steps {
  margin-top: min(calc(24 * 100vw / 1280), 24px);
  padding: 0;
  list-style: none;
}

.p-wasai-dialog__steps li {
  display: flex;
  gap: min(calc(16 * 100vw / 1280), 16px);
}

.p-wasai-dialog__steps li + li {
  margin-top: min(calc(16 * 100vw / 1280), 16px);
}

.p-wasai-dialog__steps li span {
  flex-shrink: 0;
}

.p-wasai-dialog__list {
  margin-top: min(calc(12 * 100vw / 1280), 12px);
  padding: 0;
  list-style: none;
}

.p-wasai-dialog__list li + li {
  margin-top: min(calc(12 * 100vw / 1280), 12px);
}

.p-wasai-dialog__cta {
  margin-top: min(calc(32 * 100vw / 1280), 32px);
  text-align: center;
}

.p-wasai-dialog__cta a {
  display: inline-block;
  padding: min(calc(14 * 100vw / 1280), 14px) min(calc(40 * 100vw / 1280), 40px);
  background: #000;
  color: #fff;
  letter-spacing: 0.08em;
}

@media (max-width: 768px) {
  .p-wasai-page .p-wasai-pillars {
    grid-template-columns: 1fr;
  }

  .p-wasai-page .p-wasai-profile {
    grid-template-columns: 1fr;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .p-wasai-page .p-wasai-profile__img {
    max-width: min(calc(280 * 100vw / 414), 280px);
    margin: 0 auto;
  }

  .p-wasai-mv__title {
    font-size: min(calc(40 * 100vw / 414), 40px);
  }

  .p-wasai-mv__content {
    padding: min(calc(32 * 100vw / 414), 32px) min(calc(20 * 100vw / 414), 20px);
  }

  .p-wasai-mv__corner {
    font-size: min(calc(14 * 100vw / 414), 14px);
  }

  .p-wasai-mv__corner--tl,
  .p-wasai-mv__corner--tr {
    top: min(calc(80 * 100vw / 414), 80px);
  }

  .p-wasai-mv__corner--tl,
  .p-wasai-mv__corner--bl {
    left: min(calc(20 * 100vw / 414), 20px);
  }

  .p-wasai-mv__corner--tr,
  .p-wasai-mv__corner--br {
    right: min(calc(20 * 100vw / 414), 20px);
  }

  .p-wasai-mv__corner--bl,
  .p-wasai-mv__corner--br {
    bottom: min(calc(32 * 100vw / 414), 32px);
  }

  .p-wasai-about {
    padding: min(calc(80 * 100vw / 414), 80px) min(calc(20 * 100vw / 414), 20px);
  }

  .p-wasai-about__head + .p-wasai-about__split,
  .p-wasai-about__split + .p-wasai-about__split {
    margin-top: min(calc(48 * 100vw / 414), 48px);
  }

  .p-wasai-about__split {
    grid-template-columns: 1fr;
    gap: min(calc(32 * 100vw / 414), 32px);
  }

  .p-wasai-about__inner {
    grid-template-columns: 1fr;
  }

  .p-wasai-about__pillars {
    grid-template-columns: 1fr;
  }

  .p-wasai-works__artwork {
    padding: min(calc(80 * 100vw / 414), 80px) min(calc(20 * 100vw / 414), 20px) min(calc(60 * 100vw / 414), 60px);
  }

  .p-wasai-page .p-front__shop {
    padding: min(calc(80 * 100vw / 414), 80px) min(calc(20 * 100vw / 414), 20px);
  }

  .p-wasai-works__grid {
    grid-template-columns: 1fr;
    gap: min(calc(40 * 100vw / 414), 40px);
  }

  .p-wasai-rental {
    padding: min(calc(80 * 100vw / 414), 80px) min(calc(20 * 100vw / 414), 20px) min(calc(100 * 100vw / 414), 100px);
  }

  .p-wasai-rental__inner {
    padding: 0;
  }

  .p-wasai-rental__texts {
    max-width: none;
  }

  .p-wasai-rental__action {
    margin-top: min(calc(40 * 100vw / 414), 40px);
    text-align: left;
  }

  .p-wasai-recycle {
    padding: min(calc(80 * 100vw / 414), 80px) min(calc(20 * 100vw / 414), 20px);
  }

  .p-wasai-recycle__body {
    grid-template-columns: 1fr;
  }

  .p-wasai-news {
    padding: min(calc(80 * 100vw / 414), 80px) min(calc(20 * 100vw / 414), 20px);
  }

  .p-wasai-news__inner {
    grid-template-columns: 1fr;
    gap: min(calc(40 * 100vw / 414), 40px);
  }

  .p-wasai-lineup {
    padding: min(calc(60 * 100vw / 414), 60px) min(calc(20 * 100vw / 414), 20px) min(calc(80 * 100vw / 414), 80px);
  }

  .p-wasai-lineup__slider-wrap {
    margin-top: min(calc(24 * 100vw / 414), 24px);
  }

  .p-wasai-lineup__slide {
    flex-basis: min(calc(200 * 100vw / 414), 200px);
    width: min(calc(200 * 100vw / 414), 200px);
  }

  .p-wasai-lineup__track {
    padding-right: 0;
  }

  .p-wasai-page .p-front__contactnote {
    margin-left: min(calc(20 * 100vw / 414), 20px);
    width: calc(100% - min(calc(20 * 100vw / 414), 20px));
    padding-left: min(calc(40 * 100vw / 414), 40px);
    padding-right: min(calc(40 * 100vw / 414), 40px);
  }
}
