@charset "UTF-8";
.l-inner {
  width: min(75rem, 100% - 5rem);
  margin-inline: auto;
}

.l-loader {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: #0f0f0f;
  display: grid;
  place-items: center;
}
.l-loader > div {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.l-loader .l-loader__mark {
  width: 5.5rem;
  opacity: 0;
}
.l-loader .l-loader__script {
  font-family: "Mr Dafoe", cursive;
  font-weight: 400;
  color: #ffffff;
  font-size: 3rem;
  line-height: 1;
  opacity: 0;
  transform: rotate(-8deg);
  margin-top: 1.5rem;
  text-align: center;
}
.l-loader.is-done {
  display: none;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem;
  background: rgba(255, 255, 255, 0.96);
  transition: background 0.4s, box-shadow 0.4s, color 0.4s;
}
.l-header.is-scrolled {
  box-shadow: 0 8px 30px rgba(26, 26, 26, 0.06);
}
.l-header .l-header__logo {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.l-header .l-header__logo img {
  width: 2rem;
}
.l-header .l-header__logo span {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.02em;
}
.l-header .l-header__nav {
  display: flex;
  align-items: center;
  gap: 2.25rem;
  margin-left: auto;
  margin-right: 2.5rem;
}
.l-header .l-header__nav a {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  position: relative;
  padding: 0.5em 0;
}
.l-header .l-header__nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s;
}
.l-header .l-header__nav a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}
.l-header .l-header__nav a.is-ext {
  font-weight: 300;
}
.l-header .l-header__nav .l-header__sep {
  width: 1px;
  height: 1rem;
  background: currentColor;
  opacity: 0.25;
}
.l-header .l-header__btn {
  display: inline-flex;
  align-items: center;
  height: 2.5rem;
  padding: 0 1.5rem;
  background: #1a1a1a;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  transition: background 0.3s;
}
.l-header .l-header__btn:hover {
  background: #108bc9;
}
.l-header .l-header__burger {
  display: none;
}
body.is-mv-dark .l-header:not(.is-scrolled) {
  background: transparent;
  color: #ffffff;
}
body.is-mv-dark .l-header:not(.is-scrolled) .l-header__logo img {
  content: url("../img/common/logo_mark_white.svg");
}
body.is-mv-dark .l-header:not(.is-scrolled) .l-header__btn {
  background: #ffffff;
  color: #1a1a1a;
}

.top-mv {
  position: relative;
  overflow: hidden;
}

.top-mv--c {
  height: 56.25rem;
  min-height: 100svh;
  background: #0f0f0f;
  color: #ffffff;
}
.top-mv--c .top-mv__bg {
  position: absolute;
  inset: 0;
}
.top-mv--c .top-mv__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 40%;
  transform: scale(1.08);
}
.top-mv--c .top-mv__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 15, 15, 0.45) 0%, rgba(15, 15, 15, 0.15) 45%, rgba(15, 15, 15, 0.7) 100%);
}
.top-mv--c .top-mv__inner {
  position: absolute;
  inset: 0;
}
.top-mv--c .top-mv__tag {
  position: absolute;
  left: 6.25rem;
  top: 8.75rem;
  display: inline-flex;
  align-items: center;
  height: 2.125rem;
  padding: 0 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
}
.top-mv--c .top-mv__logotype {
  position: absolute;
  left: 5.5rem;
  top: 20.6rem;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 14.75rem;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.top-mv--c .top-mv__logotype .char {
  display: inline-block;
}
.top-mv--c .top-mv__catch {
  position: absolute;
  left: 6.25rem;
  top: 38.75rem;
  font-weight: 900;
  font-size: 2.75rem;
  line-height: 1;
  letter-spacing: 0.06em;
}
.top-mv--c .top-mv__sub {
  position: absolute;
  left: 6.375rem;
  top: 43.125rem;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  line-height: 1;
  opacity: 0.75;
}
.top-mv--c .top-mv__sticker {
  position: absolute;
  right: 7.5rem;
  bottom: 9.375rem;
  width: 11.875rem;
  height: 11.875rem;
  border-radius: 50%;
  background: #108bc9;
  color: #ffffff;
  display: grid;
  place-content: center;
  text-align: center;
  transform: rotate(12deg);
}
.top-mv--c .top-mv__sticker .top-mv__sticker-script {
  font-family: "Mr Dafoe", cursive;
  font-weight: 400;
  font-size: 2.75rem;
  line-height: 1;
}
.top-mv--c .top-mv__sticker .top-mv__sticker-txt {
  font-weight: 900;
  font-size: 1rem;
  line-height: 1.3;
  letter-spacing: 0.04em;
  margin-top: 0.5rem;
}
.top-mv--c .top-mv__scroll {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.5rem;
  text-align: center;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  line-height: 1;
  opacity: 0.8;
}
.top-mv--c .top-mv__scroll::after {
  content: "";
  display: block;
  width: 1px;
  height: 2rem;
  margin: 0.75rem auto 0;
  background: currentColor;
  animation: scrollline 2s ease-in-out infinite;
  transform-origin: top;
}

@keyframes scrollline {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  50% {
    transform: scaleY(1);
    transform-origin: top;
  }
  51% {
    transform-origin: bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
}
.top-mv--a {
  padding-top: 4.5rem;
  background: #f7f7f5;
}
.top-mv--a .top-collage {
  position: relative;
  width: 100%;
  aspect-ratio: 1440/696;
  overflow: hidden;
}
.top-mv--a .top-collage > * {
  position: absolute;
}
.top-mv--a .top-collage .top-collage__ph {
  background: #d6d6d4;
}
.top-mv--a .top-collage .top-collage__ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-mv--a .top-collage .c1 {
  left: 0;
  top: 0;
  width: 18.06%;
  height: 31.61%;
}
.top-mv--a .top-collage .c2 {
  left: 18.61%;
  top: 0;
  width: 22.92%;
  height: 31.61%;
}
.top-mv--a .top-collage .c3 {
  left: 42.08%;
  top: 0;
  width: 13.89%;
  height: 31.61%;
}
.top-mv--a .top-collage .c4 {
  left: 56.53%;
  top: 0;
  width: 20.83%;
  height: 31.61%;
}
.top-mv--a .top-collage .c5 {
  left: 77.92%;
  top: 0;
  width: 22.08%;
  height: 31.61%;
}
.top-mv--a .top-collage .c6 {
  left: 0;
  top: 32.76%;
  width: 29.17%;
  height: 37.36%;
}
.top-mv--a .top-collage .c7 {
  left: 29.72%;
  top: 32.76%;
  width: 20.83%;
  height: 37.36%;
}
.top-mv--a .top-collage .c8 {
  left: 51.11%;
  top: 32.76%;
  width: 13.89%;
  height: 37.36%;
}
.top-mv--a .top-collage .c9 {
  left: 65.56%;
  top: 32.76%;
  width: 34.44%;
  height: 37.36%;
}
.top-mv--a .top-collage .c10 {
  left: 0;
  top: 71.26%;
  width: 20.83%;
  height: 28.74%;
}
.top-mv--a .top-collage .c11 {
  left: 21.39%;
  top: 71.26%;
  width: 34.72%;
  height: 28.74%;
}
.top-mv--a .top-collage .c12 {
  left: 56.67%;
  top: 71.26%;
  width: 15.97%;
  height: 28.74%;
}
.top-mv--a .top-collage .c13 {
  left: 73.19%;
  top: 71.26%;
  width: 26.81%;
  height: 28.74%;
}
.top-mv--a .top-collage .top-collage__tile {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.25rem;
  overflow: hidden;
}
.top-mv--a .top-collage .top-collage__tile.is-blue {
  background: #108bc9;
  color: #ffffff;
}
.top-mv--a .top-collage .top-collage__tile.is-blue .t-big {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 0.95;
  letter-spacing: -0.01em;
}
.top-mv--a .top-collage .top-collage__tile.is-blue .t-sm {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5rem;
  letter-spacing: 0.16em;
  line-height: 1;
  margin-top: 1rem;
}
.top-mv--a .top-collage .top-collage__tile.is-black {
  background: #0f0f0f;
  color: #ffffff;
}
.top-mv--a .top-collage .top-collage__tile.is-black .t-script {
  font-family: "Mr Dafoe", cursive;
  font-weight: 400;
  font-size: 2.875rem;
  line-height: 1;
  transform: rotate(-10deg);
}
.top-mv--a .top-collage .top-collage__tile.is-black .t-sm {
  font-weight: 700;
  font-size: 0.5625rem;
  letter-spacing: 0.04em;
  margin-top: 1.75rem;
}
.top-mv--a .top-collage .top-collage__tile.is-paper {
  background: #f7f7f5;
  color: #1a1a1a;
}
.top-mv--a .top-collage .top-collage__tile.is-paper .t-big {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 5.5rem;
  line-height: 1;
  letter-spacing: -0.02em;
}
.top-mv--a .top-collage .top-collage__tile.is-paper .t-en {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  line-height: 1;
  margin-top: 0.5rem;
}
.top-mv--a .top-collage .top-collage__tile.is-paper .t-sm {
  font-weight: 700;
  font-size: 0.625rem;
  margin-top: 0.4rem;
}
.top-mv--a .top-mv__band {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2.75rem 7.5rem 3.5rem;
  background: #f7f7f5;
}
.top-mv--a .top-mv__band .top-mv__logo {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.top-mv--a .top-mv__band .top-mv__logo img {
  width: 7rem;
}
.top-mv--a .top-mv__band .top-mv__logo .top-mv__logo-txt {
  display: flex;
  flex-direction: column;
}
.top-mv--a .top-mv__band .top-mv__logo .top-mv__logo-name {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 2.875rem;
  line-height: 1;
  letter-spacing: 0.01em;
}
.top-mv--a .top-mv__band .top-mv__logo .top-mv__logo-en {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  line-height: 1;
  margin-top: 0.5rem;
}
.top-mv--a .top-mv__band .top-mv__catch-wrap {
  text-align: left;
}
.top-mv--a .top-mv__band .top-mv__catch {
  font-weight: 900;
  font-size: 3.25rem;
  line-height: 1;
  letter-spacing: 0.06em;
}
.top-mv--a .top-mv__band .top-mv__sub {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.14em;
  line-height: 1;
  color: #737373;
  margin-top: 1rem;
}

.top-marquee {
  background: #108bc9;
  color: #ffffff;
  padding: 1.25rem 0;
}
.top-marquee .c-marquee__item {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
}

.top-concept {
  position: relative;
  background: #0f0f0f;
  color: #ffffff;
  padding: 7.5rem 0 17.5rem;
  overflow: hidden;
}
.top-concept .top-concept__bg {
  position: absolute;
  left: 42%;
  bottom: -15.5rem;
  font-family: "Mr Dafoe", cursive;
  font-weight: 400;
  font-size: 18.75rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.55);
  transform: rotate(-6deg);
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}
.top-concept .l-inner {
  position: relative;
  z-index: 1;
}
.top-concept .c-no {
  color: #ffffff;
  opacity: 0.7;
  margin-bottom: 3.75rem;
  display: block;
}
.top-concept .top-concept__grid {
  display: grid;
  grid-template-columns: 26.25rem 1fr 22rem;
  gap: 4rem;
  align-items: start;
}
.top-concept .top-concept__card {
  position: relative;
  aspect-ratio: 420/540;
}
.top-concept .top-concept__card .top-concept__card-logo {
  position: absolute;
  left: 1.875rem;
  top: 1.875rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.top-concept .top-concept__card .top-concept__card-logo img {
  width: 2.5rem;
}
.top-concept .top-concept__card .top-concept__card-logo span {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
}
.top-concept .top-concept__body {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 2.3;
  letter-spacing: 0.06em;
  margin-top: -0.65em; /* 行間の上半分を相殺して写真の上端にそろえる */
  max-width: 25rem;
}
.top-concept .top-concept__catch {
  font-weight: 900;
  font-size: 3.375rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  margin-top: -0.28em; /* 同上 */
}
.top-concept .top-concept__more {
  margin-top: 2.5rem;
}
.top-concept .top-concept__more .c-btn {
  min-width: 0;
  padding: 0 2rem;
}

.top-lamp {
  position: relative;
  padding: 5rem 0 4.5rem;
  overflow: hidden;
}
.top-lamp .c-no {
  display: block;
  margin-bottom: 1.5rem;
}
.top-lamp .top-lamp__nums {
  display: grid;
  grid-template-columns: repeat(2, 18.75rem) 1fr;
  align-items: end;
  margin-top: 3.5rem;
}
.top-lamp .top-lamp__nums .top-lamp__num .n {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 5rem;
  line-height: 1;
  letter-spacing: -0.02em;
}
.top-lamp .top-lamp__nums .top-lamp__num .en {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  line-height: 1;
  color: #737373;
  margin-top: 0.9rem;
}
.top-lamp .top-lamp__nums .top-lamp__num .ja {
  font-weight: 700;
  font-size: 0.75rem;
  margin-top: 0.4rem;
}
.top-lamp .top-lamp__nums .top-lamp__cta {
  justify-self: end;
  text-align: right;
}
.top-lamp .top-lamp__nums .top-lamp__cta .top-lamp__faces {
  display: flex;
  align-items: center;
  margin-top: 0.9rem;
  justify-content: flex-end;
  gap: 0.5rem;
}
.top-lamp .top-lamp__nums .top-lamp__cta .top-lamp__faces .top-lamp__face {
  display: flex;
}
.top-lamp .top-lamp__nums .top-lamp__cta .top-lamp__faces .top-lamp__face span {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #f7f7f5;
  margin-left: -0.625rem;
  background: #d6d6d4;
}
.top-lamp .top-lamp__nums .top-lamp__cta .top-lamp__faces .top-lamp__face span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-lamp .top-lamp__nums .top-lamp__cta .top-lamp__faces em {
  font-style: normal;
  font-weight: 700;
  font-size: 0.6875rem;
  color: #737373;
}
.top-lamp .top-lamp__panels {
  position: relative;
  height: 35rem;
  margin-top: 4.5rem;
}
.top-lamp .top-lamp__panels .top-lamp__panel {
  position: absolute;
  top: 0;
  height: 100%;
  overflow: hidden;
  background: #d6d6d4;
}
.top-lamp .top-lamp__panels .top-lamp__panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-lamp .top-lamp__panels .top-lamp__panel--main {
  left: 0;
  width: 56.25rem;
  clip-path: polygon(0 0, 100% 0, calc(100% - 6.875rem) 100%, 0 100%);
}
.top-lamp .top-lamp__panels .top-lamp__panel--main img {
  object-position: 50% 45%;
}
.top-lamp .top-lamp__panels .top-lamp__slash {
  position: absolute;
  top: 0;
  left: 49.25rem;
  width: 7.9rem;
  height: 100%;
  background: #108bc9;
  clip-path: polygon(6.9rem 0, 7.9rem 0, 1rem 100%, 0 100%);
}
.top-lamp .top-lamp__panels .top-lamp__panel--side {
  left: 51.25rem;
  width: 23.75rem;
  clip-path: polygon(6.25rem 0, 100% 0, 100% 100%, 0 100%);
}
.top-lamp .top-lamp__brands {
  display: flex;
  justify-content: space-between;
  margin-top: 1.25rem;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  line-height: 1;
  color: #737373;
}

.top-handmade {
  position: relative;
  background: #ffffff;
  padding: 6.25rem 0 5rem;
  overflow: hidden;
}
.top-handmade .c-head {
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
.top-handmade .c-head .c-head__desc {
  max-width: 30rem;
  padding-top: 0;
}
.top-handmade .top-handmade__pick {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 4.5rem;
  align-items: center;
  margin-top: 3.5rem;
}
.top-handmade .top-handmade__pick-media {
  position: relative;
}
.top-handmade .top-handmade__pick-ph {
  display: block;
  aspect-ratio: 4/3;
}
.top-handmade .top-handmade__pick-ph img {
  transition: transform 1.2s cubic-bezier(0.2, 0.6, 0.2, 1);
}
.top-handmade .top-handmade__pick-ph:hover img {
  transform: scale(1.04);
}
.top-handmade .top-handmade__season {
  position: absolute;
  right: -2.5rem;
  top: -2.5rem;
  width: 8.75rem;
  height: 8.75rem;
  border-radius: 50%;
  background: #108bc9;
  color: #ffffff;
  display: grid;
  place-content: center;
  text-align: center;
  transform: rotate(12deg);
  z-index: 2;
}
.top-handmade .top-handmade__season .en {
  display: block;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
}
.top-handmade .top-handmade__season .script {
  display: block;
  font-family: "Mr Dafoe", cursive;
  font-size: 2.125rem;
  line-height: 1;
  margin-top: 0.25rem;
}
.top-handmade .top-handmade__pick-txt .lab {
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  color: #108bc9;
  margin-bottom: 1.25rem;
}
.top-handmade .top-handmade__pick-txt .ttl {
  font-weight: 900;
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: 0.04em;
  margin-top: 1rem;
}
.top-handmade .top-handmade__pick-txt .lead {
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 2.1;
  letter-spacing: 0.04em;
  margin-top: 1.5rem;
}
.top-handmade .top-handmade__pick-txt .note {
  font-size: 0.75rem;
  color: #737373;
  margin-top: 0.75rem;
}
.top-handmade .top-handmade__pick-txt .c-btn {
  margin-top: 2.25rem;
}
.top-handmade .top-handmade__more {
  margin-top: 5.5rem;
  padding-top: 2.5rem;
  border-top: 1px solid #d6d6d4;
}
.top-handmade .top-handmade__more-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.top-handmade .top-handmade__more-head .lab {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 0.625rem;
  letter-spacing: 0.16em;
}
.top-handmade .top-handmade__nav {
  display: flex;
  gap: 0.625rem;
}
.top-handmade .top-handmade__nav button {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 1px solid #1a1a1a;
  background: transparent;
  color: #1a1a1a;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background 0.3s, color 0.3s, opacity 0.3s;
}
.top-handmade .top-handmade__nav button:hover {
  background: #1a1a1a;
  color: #ffffff;
}
.top-handmade .top-handmade__nav button:disabled {
  opacity: 0.25;
  pointer-events: none;
}
.top-handmade .top-handmade__slider {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  margin-top: 1.5rem;
  cursor: grab;
}
.top-handmade .top-handmade__slider::-webkit-scrollbar {
  display: none;
}
.top-handmade .top-handmade__slider.is-drag {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
}
.top-handmade .top-handmade__slider li {
  flex: 0 0 calc((100% - 3.75rem) / 4);
  scroll-snap-align: start;
}
.top-handmade .top-handmade__slider a {
  display: block;
  position: relative;
}
.top-handmade .top-handmade__slider .img-wrap {
  display: block;
  aspect-ratio: 1/1;
}
.top-handmade .top-handmade__slider .img-wrap img {
  transition: transform 1.2s cubic-bezier(0.2, 0.6, 0.2, 1);
  user-select: none;
}
.top-handmade .top-handmade__slider a:hover img {
  transform: scale(1.05);
}
.top-handmade .top-handmade__slider .c-tag {
  position: absolute;
  left: 0;
  top: 0;
}
.top-handmade .top-handmade__slider .ttl {
  display: block;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  margin-top: 0.875rem;
}
.top-handmade .top-handmade__btn {
  text-align: center;
  margin-top: 3.5rem;
}

.top-work {
  position: relative;
  padding: 7rem 0 5.5rem;
  overflow: hidden;
}
.top-work .top-work__tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 3.75rem;
}
.top-work .top-work__tile {
  position: relative;
  aspect-ratio: 380/290;
  overflow: hidden;
  background: #d6d6d4;
  color: #ffffff;
  display: block;
}
.top-work .top-work__tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(0.2, 0.6, 0.2, 1);
}
.top-work .top-work__tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 15, 15, 0) 0%, rgba(15, 15, 15, 0.05) 45%, rgba(15, 15, 15, 0.75) 100%);
}
.top-work .top-work__tile .top-work__no {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  place-items: center;
  background: #ffffff;
  color: #1a1a1a;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  transition: background 0.3s, color 0.3s;
}
.top-work .top-work__tile .top-work__txt {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  z-index: 2;
}
.top-work .top-work__tile .top-work__txt .en {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  line-height: 1;
  opacity: 0.85;
  display: block;
  margin-bottom: 0.5rem;
}
.top-work .top-work__tile .top-work__txt .ja {
  font-weight: 900;
  font-size: 1.375rem;
  letter-spacing: 0.04em;
  line-height: 1;
}
.top-work .top-work__tile:hover img {
  transform: scale(1.05);
}
.top-work .top-work__tile:hover .top-work__no {
  background: #108bc9;
  color: #ffffff;
}
.top-work .top-work__btn {
  text-align: center;
  margin-top: 3.5rem;
}

.top-news {
  position: relative;
  padding: 6.25rem 0 5rem;
  overflow: hidden;
}
.top-news .top-news__pickup {
  display: grid;
  grid-template-columns: 35rem 1fr;
  gap: 3.75rem;
  margin-top: 3.75rem;
  align-items: start;
}
.top-news .top-news__pickup .top-news__ph {
  position: relative;
  aspect-ratio: 560/340;
  overflow: hidden;
  background: #d6d6d4;
  clip-path: polygon(0 0, 100% 0, calc(100% - 3.75rem) 100%, 0 100%);
}
.top-news .top-news__pickup .top-news__ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 30%;
}
.top-news .top-news__pickup .top-news__ph .c-tag {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.top-news .top-news__pickup .top-news__ph .top-news__date-big {
  position: absolute;
  left: 1.25rem;
  bottom: 0.5rem;
  z-index: 2;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 6rem;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #ffffff;
}
.top-news .top-news__pickup .top-news__ph::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(15, 15, 15, 0) 50%, rgba(15, 15, 15, 0.5) 100%);
}
.top-news .top-news__pickup .top-news__pickup-txt {
  padding-top: 1rem;
}
.top-news .top-news__pickup .top-news__pickup-txt .top-news__meta {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.625rem;
  letter-spacing: 0.12em;
  line-height: 1;
  color: #737373;
}
.top-news .top-news__pickup .top-news__pickup-txt .top-news__ttl {
  font-weight: 900;
  font-size: 1.875rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-top: 1rem;
}
.top-news .top-news__pickup .top-news__pickup-txt .top-news__lead {
  font-size: 0.8125rem;
  line-height: 2;
  color: #737373;
  margin-top: 1.25rem;
}
.top-news .top-news__pickup .top-news__pickup-txt .top-news__more {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 2rem;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.625rem;
  letter-spacing: 0.12em;
  line-height: 1;
  font-weight: 500;
  color: #1a1a1a;
}
.top-news .top-news__pickup .top-news__pickup-txt .top-news__more::before {
  content: "→";
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: #1a1a1a;
  color: #ffffff;
  font-weight: 300;
  transition: background 0.3s;
}
.top-news .top-news__pickup .top-news__pickup-txt .top-news__more:hover::before {
  background: #108bc9;
}
.top-news .top-news__list {
  margin-top: 3rem;
  border-top: 1px solid #d6d6d4;
}
.top-news .top-news__list li {
  border-bottom: 1px solid #d6d6d4;
}
.top-news .top-news__list a {
  display: grid;
  grid-template-columns: 8rem 5rem 1fr 2.25rem;
  align-items: center;
  gap: 1.25rem;
  height: 4rem;
  transition: background 0.3s;
}
.top-news .top-news__list a .date {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #737373;
}
.top-news .top-news__list a .ttl {
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.top-news .top-news__list a .arrow {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  border: 1px solid rgba(26, 26, 26, 0.4);
  display: grid;
  place-items: center;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.75rem;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.top-news .top-news__list a:hover .arrow {
  background: #1a1a1a;
  color: #ffffff;
  border-color: #1a1a1a;
}
.top-news .top-news__all {
  text-align: right;
  margin-top: 1.5rem;
}
.top-news .top-news__all a {
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
}

.top-instagram {
  position: relative;
  background: #108bc9;
  color: #ffffff;
  padding: 5.5rem 0 4.5rem;
  overflow: hidden;
}
.top-instagram .c-head .c-head__script {
  color: #ffffff;
}
.top-instagram .c-head .c-head__bg {
  opacity: 0.08;
  top: auto;
  bottom: -22rem;
}
.top-instagram .top-instagram__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 2rem;
}
.top-instagram .top-instagram__head p {
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
}
.top-instagram .top-instagram__head .c-btn {
  background: #ffffff;
  color: #1a1a1a;
}
.top-instagram .top-instagram__head .c-btn:hover {
  color: #ffffff;
}
.top-instagram .top-instagram__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.75rem;
  margin-top: 2.5rem;
}
.top-instagram .top-instagram__grid a {
  aspect-ratio: 1;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.2);
  display: block;
}
.top-instagram .top-instagram__grid a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s;
}
.top-instagram .top-instagram__grid a:hover img {
  transform: scale(1.06);
}
.top-instagram .top-instagram__foot {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  line-height: 1;
  opacity: 0.8;
}

.top-visit {
  position: relative;
  background: #0f0f0f;
  color: #ffffff;
  padding: 6.25rem 0 5rem;
  overflow: hidden;
}
.top-visit .top-visit__bg {
  position: absolute;
  inset: 0;
  opacity: 0.16;
}
.top-visit .top-visit__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-visit .top-visit__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #0f0f0f 0%, rgba(15, 15, 15, 0.2) 60%, rgba(15, 15, 15, 0.7) 100%);
}
.top-visit .l-inner {
  position: relative;
}
.top-visit .top-visit__en {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1;
}
.top-visit .top-visit__lead {
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 2.2;
  letter-spacing: 0.06em;
  margin-top: 1.75rem;
}
.top-visit .top-visit__script {
  position: absolute;
  left: 22rem;
  top: -2.5rem;
  font-family: "Mr Dafoe", cursive;
  font-weight: 400;
  font-size: 13.75rem;
  line-height: 1;
  transform: rotate(-8deg);
  white-space: nowrap;
  pointer-events: none;
}
.top-visit .top-visit__script .char {
  display: inline-block;
}
.top-visit .top-visit__ttl {
  font-weight: 900;
  font-size: 2.75rem;
  line-height: 1;
  letter-spacing: 0.06em;
  margin-top: 13rem;
}
.top-visit .top-visit__btns {
  display: flex;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
.top-visit .top-visit__btns .c-btn--white {
  background: transparent;
  color: #ffffff;
  border-color: #ffffff;
}
.top-visit .top-visit__btns .c-btn--white::before {
  background: #ffffff;
}
.top-visit .top-visit__btns .c-btn--white:hover {
  color: #1a1a1a;
}
.top-visit .top-visit__note {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  opacity: 0.7;
  margin-top: 2.5rem;
}

.l-footer .l-footer__band {
  background: #0f0f0f;
  color: #ffffff;
  padding: 0.875rem 0;
}
.l-footer .l-footer__band .c-marquee__item {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  line-height: 1;
  opacity: 0.85;
}
.l-footer .l-footer__body {
  background: #f7f7f5;
  padding: 3.75rem 0 2.5rem;
}
.l-footer .l-footer__grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4rem;
  align-items: start;
}
.l-footer .l-footer__logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.l-footer .l-footer__logo img {
  width: 2.25rem;
}
.l-footer .l-footer__logo span {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
}
.l-footer .l-footer__addr {
  font-size: 0.6875rem;
  line-height: 2;
  opacity: 0.75;
  margin-top: 1.5rem;
}
.l-footer .l-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
  margin-top: 2.25rem;
}
.l-footer .l-footer__nav a {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.08em;
  line-height: 1;
  font-weight: 500;
}
.l-footer .l-footer__sub {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.l-footer .l-footer__sub a {
  font-size: 0.625rem;
  opacity: 0.6;
}
.l-footer .l-footer__copy {
  font-family: "Unbounded", "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  line-height: 1;
  opacity: 0.6;
  align-self: end;
}

/* ============================================================
   下層共通（TOP と同じ型。SASS なし・素の CSS）
   ============================================================ */
.page-hero{position:relative;overflow:hidden;background:#f7f7f5;padding:7.5rem 0 5.5rem}
.page-hero .l-inner{position:relative}
.page-hero__crumb{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.14em;color:#737373;margin-bottom:2.5rem}
.page-hero__bg{position:absolute;left:-3vw;top:-2rem;font-family:'Unbounded',sans-serif;font-weight:700;font-size:25rem;line-height:1;letter-spacing:-.02em;opacity:.04;pointer-events:none;user-select:none;white-space:nowrap}
.page-hero__ttl{position:relative;display:inline-block}
.page-hero__en{display:block;font-family:'Unbounded',sans-serif;font-weight:700;font-size:9.375rem;line-height:.92;letter-spacing:-.02em}
.page-hero__script{position:absolute;left:100%;top:9%;margin-left:-1rem;font-family:'Mr Dafoe',cursive;color:#108bc9;font-size:3rem;line-height:1;white-space:nowrap;transform:rotate(-6deg);transform-origin:left bottom}
.page-hero--2line .page-hero__script{top:auto;bottom:4%}
.page-hero__row{display:flex;justify-content:space-between;align-items:flex-start;gap:3rem;margin-top:1.5rem}
.page-hero__lead{display:flex;align-items:center;gap:2.5rem}
.page-hero__ja{font-weight:900;font-size:1.875rem;letter-spacing:.06em}
.page-hero__desc{flex:none;width:26.25rem;font-weight:700;font-size:.875rem;line-height:2.2;letter-spacing:.06em}
.page-hero--cs{min-height:calc(100svh - 5rem);display:flex;align-items:center;padding:7.5rem 0}
.p-cs__btns{display:flex;gap:1.25rem;margin-top:3.5rem}
.page-hero--1col .page-hero__en{font-size:7.5rem}
.page-hero--1col .page-hero__script{position:static;display:inline-block;margin:0;font-size:4rem;transform:rotate(-6deg) translateY(.15em)}
.sec{position:relative;overflow:hidden;padding:5.5rem 0 6.25rem}
.sec--white{background:#fff}.sec--paper{background:#f7f7f5}.sec--black{background:#0f0f0f;color:#fff}.sec--blue{background:#108bc9;color:#fff}
.sec--black .c-head__bg,.sec--blue .c-head__bg{opacity:.07}
.sec--blue .c-head__script{color:#fff}
.c-head--md .c-head__en{font-size:6.875rem}
.c-head--1col{grid-template-columns:1fr;gap:1.5rem}.c-head--1col .c-head__desc{max-width:30rem;padding-top:0}
.c-num{font-family:'Unbounded',sans-serif;font-weight:700;color:#108bc9;letter-spacing:-.02em;line-height:1}
.c-face{width:3rem;height:3rem;border-radius:50%;overflow:hidden;background:#d6d6d4;flex:none}.c-face img{width:100%;height:100%;object-fit:cover}
.c-table{border-top:1px solid #d6d6d4}.c-table>div{display:grid;grid-template-columns:13.75rem 1fr;gap:1rem;padding:1.125rem 0;border-bottom:1px solid #d6d6d4}.c-table dt{font-weight:900;font-size:.8125rem;letter-spacing:.04em}.c-table dd{font-size:.8125rem;color:#737373;line-height:1.8}
.c-link{font-weight:700;font-size:.8125rem;letter-spacing:.06em;white-space:nowrap}.c-link::after{content:"\00a0\2192"}
.c-nums{display:grid;grid-template-columns:repeat(2,16.25rem) 1fr;align-items:end;margin-top:3rem}
.c-nums .n{font-family:'Unbounded',sans-serif;font-weight:700;font-size:4.5rem;letter-spacing:-.02em;line-height:1}
.c-nums .en{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#737373;margin-top:.9rem}
.c-nums .ja{font-weight:700;font-size:.75rem;margin-top:.4rem}
.c-nums__cta{justify-self:end}
.c-tags{display:flex;flex-wrap:wrap;gap:.5rem}

/* ---- BOTTLE LAMP */
.p-lamp-kv{padding:0 0 4.5rem}.p-lamp-kv .top-lamp__panels{margin-top:0}
.p-story__grid{display:grid;grid-template-columns:1fr 31.25rem;gap:4rem;align-items:center}
.p-story__catch{font-weight:900;font-size:2.75rem;line-height:1.5;letter-spacing:.04em}
.p-story__body{font-weight:700;font-size:.875rem;line-height:2.3;letter-spacing:.06em;margin-top:2.5rem;max-width:35rem}
.p-story__ph{aspect-ratio:500/520}
/* CRAFTERS: 6工程（担当は分けない）＋ 全員紹介 */
.p-process{display:grid;grid-template-columns:repeat(6,1fr);gap:1.25rem;margin-top:3rem}
.p-process li{position:relative;border-top:2px solid #1a1a1a;padding-top:1.25rem}
.p-process li::before{content:"";position:absolute;left:0;top:-5px;width:8px;height:8px;border-radius:50%;background:#108bc9}
.p-process .c-num{font-size:2.75rem;line-height:1}
.p-process__en{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#737373;margin-top:1rem}
.p-process__ja{font-weight:900;font-size:1.25rem;letter-spacing:.04em;margin-top:.3rem}
.p-process__desc{font-size:.75rem;color:#737373;line-height:1.8;margin-top:.75rem}
.p-team-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-top:5.5rem;padding-top:2.5rem;border-top:1px solid #d6d6d4}
.p-team-head .lab{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#108bc9}
.p-team-head h3{font-weight:900;font-size:1.625rem;letter-spacing:.04em;margin-top:.5rem}
.p-team-head>p{font-weight:700;font-size:.8125rem;color:#737373}
.p-team{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem 1.5rem;margin-top:2.5rem}
.p-team li{text-align:center}
.p-team .c-face{display:block;width:10rem;height:10rem;margin:0 auto;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.p-team li:hover .c-face{transform:scale(1.05) rotate(-3deg)}
.p-team .name{font-weight:900;font-size:1.0625rem;letter-spacing:.04em;margin-top:1.25rem}
.p-team .quote{font-size:.75rem;color:#737373;line-height:1.7;margin-top:.4rem}
.p-team--6{grid-template-columns:repeat(6,1fr);gap:2.5rem 1.25rem;margin-top:3rem}
.p-team--6 .c-face{width:8.5rem;height:8.5rem}
.p-crafters{margin-top:3rem;border-top:1px solid #d6d6d4}
.p-crafters__row{display:grid;grid-template-columns:8.75rem 23.75rem 1fr;gap:2rem;padding:2.5rem 0;border-bottom:1px solid #d6d6d4;align-items:start}
.p-crafters__no{font-size:4rem}
.p-crafters__en{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#737373}
.p-crafters__ja{font-weight:900;font-size:1.625rem;letter-spacing:.04em;margin-top:.4rem}
.p-crafters__desc{font-size:.8125rem;color:#737373;line-height:1.9;margin-top:1rem}
.p-crafters__people{display:flex;gap:2rem;flex-wrap:wrap}
.p-crafter{display:flex;gap:1rem;align-items:center;width:17rem}.p-crafter .c-face{width:6rem;height:6rem}
.p-crafter .name{font-weight:900;font-size:1rem;letter-spacing:.04em}.p-crafter .quote{font-size:.75rem;color:#737373;line-height:1.7;margin-top:.4rem}
.p-collection{margin-top:3rem}
.p-collection__row{display:grid;grid-template-columns:32.5rem 1fr;gap:3.75rem;padding:2.5rem 0;border-top:1px solid #d6d6d4;align-items:start}
.p-collection__row:last-child{border-bottom:1px solid #d6d6d4}
.p-collection__ph{aspect-ratio:520/340}
.p-collection__ttl{display:flex;align-items:baseline;gap:1rem}
.p-collection__ttl .c-num{font-size:3.25rem}.p-collection__ttl .en{font-family:'Unbounded',sans-serif;font-weight:700;font-size:2.5rem;letter-spacing:-.01em;line-height:1}
.p-collection__ja{font-weight:900;font-size:1rem;letter-spacing:.06em;margin-top:.5rem}
.p-collection__desc{font-size:.8125rem;color:#737373;line-height:1.9;margin-top:1.25rem}
.p-collection__tags{margin-top:1.5rem}
.p-collection__thumbs{display:grid;grid-template-columns:repeat(4,7.25rem);gap:.75rem;margin-top:1.5rem}.p-collection__thumbs .img-wrap{aspect-ratio:116/110}
.p-seeit{padding:6rem 0}
.p-seeit .l-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem}
.p-seeit__ttl{position:relative;display:inline-block}
.p-seeit__en{font-family:'Unbounded',sans-serif;font-weight:700;font-size:5.5rem;letter-spacing:-.01em;line-height:1}
.p-seeit__script{position:absolute;left:100%;top:-.6em;margin-left:1rem;font-family:'Mr Dafoe',cursive;font-size:4rem;line-height:1;white-space:nowrap;transform:rotate(-6deg)}
.p-seeit__copy{font-weight:900;font-size:1.25rem;line-height:1.8;letter-spacing:.06em;margin-top:2rem}
.p-seeit .c-btn{background:#fff;color:#1a1a1a}
.p-care{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:3rem}
.p-care>div{border-top:1px solid #1a1a1a;padding-top:1rem}.p-care .c-num{font-size:.875rem}
.p-care h3{font-weight:900;font-size:1.125rem;margin-top:.75rem}.p-care p{font-size:.75rem;color:#737373;line-height:1.9;margin-top:.75rem}
.p-order{display:grid;grid-template-columns:38.75rem 1fr;background:#f7f7f5}
.p-order__ph{aspect-ratio:1}
.p-order__txt{padding:6.25rem 5rem;position:relative}
.p-order__en{font-family:'Unbounded',sans-serif;font-weight:700;font-size:5rem;letter-spacing:-.01em;line-height:1}
.p-order__script{position:absolute;right:5rem;bottom:4rem;font-family:'Mr Dafoe',cursive;color:#108bc9;font-size:3.5rem;line-height:1;transform:rotate(-6deg)}
.p-order__ja{font-weight:900;font-size:1.75rem;letter-spacing:.06em;margin-top:1.25rem}
.p-order__desc{font-size:.8125rem;color:#737373;line-height:2;margin-top:1.5rem;max-width:35rem}
.p-order__tags{margin-top:1.5rem}
.p-order .c-btn{margin-top:2rem}
.p-order__note{font-size:.6875rem;color:#737373;margin-top:1.5rem}

/* ---- 個別ランプ */
.p-detail-hero{position:relative;background:#0f0f0f;color:#fff;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;min-height:51.25rem}
.p-detail-hero__txt{padding:9.5rem 2rem 5rem 7.5rem;position:relative;z-index:2}
.p-detail-hero__crumb{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.14em;opacity:.6}
.p-detail-hero__serial{font-family:'Unbounded',sans-serif;font-weight:500;font-size:.6875rem;letter-spacing:.14em;color:#108bc9;margin-top:3rem}
.p-detail-hero__ttl{font-weight:900;font-size:3.75rem;line-height:1.4;letter-spacing:.04em;margin-top:1rem}
.p-detail-hero__meta{font-weight:700;font-size:.8125rem;line-height:2;opacity:.8;margin-top:1.5rem}
.p-detail-hero__script{font-family:'Mr Dafoe',cursive;color:#108bc9;font-size:4.5rem;line-height:1;margin-top:1.5rem;transform:rotate(-6deg);transform-origin:left}
.p-detail-hero .c-btn{margin-top:2rem}
.p-detail-hero__ph{position:relative;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}
.p-detail-hero__ph img{width:100%;height:100%;object-fit:cover}
.p-detail-hero__slash{position:absolute;top:0;left:calc(50% - 3.75rem);width:8.5rem;height:100%;background:#108bc9;clip-path:polygon(7.5rem 0,8.5rem 0,1rem 100%,0 100%);z-index:1}
.p-makers6{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;margin-top:3rem}
.p-makers6 .c-face{width:9.375rem;height:9.375rem}.p-makers6 .c-tag{margin-top:1.25rem}
.p-makers6 .role{font-size:.75rem;color:#737373;margin-top:.5rem}.p-makers6 .name{font-weight:900;font-size:1.125rem;margin-top:.5rem}.p-makers6 .quote{font-size:.6875rem;color:#737373;line-height:1.7;margin-top:.5rem}
.p-bottle{display:grid;grid-template-columns:30rem 1fr;gap:5rem;align-items:center}
.p-bottle__ph{aspect-ratio:1}
.p-bottle__lab{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#737373}
.p-bottle__name{font-weight:900;font-size:2.125rem;letter-spacing:.04em;margin-top:.75rem}
.p-bottle__en{font-family:'Unbounded',sans-serif;font-weight:500;font-size:.625rem;letter-spacing:.12em;color:#108bc9;margin-top:.5rem}
.p-bottle__desc{font-size:.8125rem;color:#737373;line-height:2;margin-top:1.5rem}
.p-bottle__from{font-weight:700;font-size:.75rem;margin-top:1.5rem}
.p-bottle .c-link{display:inline-block;margin-top:2rem}
.p-more{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem}
.p-more .img-wrap{aspect-ratio:285/240}.p-more .serial{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.1em;color:#737373;margin-top:1rem}.p-more .name{font-weight:700;font-size:.9375rem;margin-top:.4rem}
.p-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}
.p-sec-head .en{font-family:'Unbounded',sans-serif;font-weight:700;font-size:4rem;letter-spacing:-.01em;line-height:1}
.p-sec-head .ja{font-weight:700;font-size:.875rem;color:#737373;letter-spacing:.06em;margin-top:.75rem}

/* ---- HANDMADE */
.p-cat__head{display:grid;grid-template-columns:1fr 26.25rem;gap:2rem;align-items:start}
.p-cat__ttl{display:flex;align-items:baseline;gap:1rem}
.p-cat__ttl .c-num{font-size:4rem}.p-cat__ttl .en{font-family:'Unbounded',sans-serif;font-weight:700;font-size:4.5rem;letter-spacing:-.01em;line-height:1}
.p-cat__ja{font-weight:900;font-size:1.375rem;letter-spacing:.06em;margin-top:.5rem}
.p-cat__desc{font-weight:700;font-size:.875rem;line-height:2}.p-cat__desc small{display:block;font-weight:400;font-size:.75rem;color:#737373;margin-top:.5rem}
.p-cat__photos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}.p-cat__photos .img-wrap{aspect-ratio:380/320}
.p-cat__foot{display:flex;justify-content:space-between;align-items:center;margin-top:2.5rem}
.p-cat__crafters{display:flex;align-items:center;gap:1rem;font-weight:700;font-size:.75rem}
.p-cat__crafters .lab{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#737373}
.p-faces{display:flex}.p-faces .c-face{border:3px solid #fff;margin-left:-.75rem}.p-faces .c-face:first-child{margin-left:0}
.sec--paper .p-faces .c-face{border-color:#f7f7f5}

/* ---- ABOUT */
.p-concept__grid{display:grid;grid-template-columns:1fr 32.5rem;gap:4rem;align-items:start}
.p-concept__catch{font-weight:900;font-size:3.5rem;line-height:1.4;letter-spacing:.04em}
.p-concept__body{font-weight:700;font-size:.875rem;line-height:2.3;letter-spacing:.06em}
.p-concept__ph{aspect-ratio:520/280;margin-top:3rem}
.p-stance{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.p-stance .top-work__tile{aspect-ratio:1}.p-stance p{font-size:.8125rem;color:#737373;line-height:1.9;margin-top:1rem}
.p-message{display:grid;grid-template-columns:30rem 1fr;gap:5rem;align-items:start}
.p-message__ph{aspect-ratio:3/4}.p-message__tags{margin-top:1rem}
.p-message__lab{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#737373}
.p-message__catch{font-weight:900;font-size:2.125rem;line-height:1.5;letter-spacing:.04em;margin-top:1rem}
.p-message__body{font-size:.875rem;color:#333;line-height:2.2;letter-spacing:.04em;margin-top:2rem}
.p-message__sign{margin-top:2.5rem;display:flex;align-items:flex-end;gap:2rem}
.p-message__sign .pos{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.1em;color:#737373}
.p-message__sign .name{font-weight:900;font-size:1.375rem;letter-spacing:.06em;margin-top:.5rem}
.p-message__sign .script{font-family:'Mr Dafoe',cursive;color:#108bc9;font-size:3.5rem;line-height:1;transform:rotate(-6deg)}
.p-place{display:grid;grid-template-columns:35rem 1fr;gap:2.5rem;margin-top:3rem}
.p-map{aspect-ratio:560/360;background:#d6d6d4;display:grid;place-items:center;font-family:'Unbounded',sans-serif;font-weight:300;font-size:.625rem;letter-spacing:.12em;color:#737373}
.p-place__photos{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.p-place__photos .img-wrap{aspect-ratio:290/170}
.p-place__photos figcaption{position:absolute;left:.75rem;bottom:.5rem;color:#fff;font-weight:700;font-size:.625rem;letter-spacing:.04em;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.p-company__note{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2.5rem}.p-company__note p{font-weight:700;font-size:.8125rem;line-height:1.8}

/* ---- GUIDE */
.p-who{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.p-who li{background:#fff;border:1px solid #d6d6d4;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}
.p-who .chk{width:1.75rem;height:1.75rem;background:#108bc9;color:#fff;display:grid;place-items:center;font-family:'Unbounded',sans-serif;font-weight:700;font-size:.875rem}
.p-who p{font-weight:700;font-size:.875rem;line-height:1.7}
.p-note{font-weight:700;font-size:.75rem;color:#737373;margin-top:2rem}
.p-flow{margin-top:3rem;border-top:1px solid #d6d6d4}
.p-flow li{display:grid;grid-template-columns:11.25rem 1fr 8rem;gap:2rem;padding:2rem 0;border-bottom:1px solid #d6d6d4;align-items:start}
.p-flow .c-num{font-size:4.5rem}.p-flow h3{font-weight:900;font-size:1.5rem;letter-spacing:.04em}.p-flow p{font-size:.8125rem;color:#737373;line-height:1.9;margin-top:.75rem}
.p-flow .meta{font-family:'Unbounded',sans-serif;font-weight:500;font-size:.625rem;letter-spacing:.1em;text-align:right}
.p-faq{margin-top:3rem;border-top:1px solid #d6d6d4}.p-faq li{border-bottom:1px solid #d6d6d4}
.p-faq button{width:100%;display:grid;grid-template-columns:2.5rem 1fr 2rem;gap:1rem;align-items:center;padding:1.5rem 0;text-align:left}
.p-faq .q{font-family:'Unbounded',sans-serif;font-weight:700;font-size:1.125rem;color:#108bc9}.p-faq .ttl{font-weight:700;font-size:1rem;letter-spacing:.04em}
.p-faq .pm{font-family:'Unbounded',sans-serif;font-weight:300;font-size:1.25rem;text-align:right;transition:transform .3s}
.p-faq .a{display:none;padding:0 0 1.75rem 3.5rem;font-size:.875rem;color:#737373;line-height:2}
.p-faq li.is-open .a{display:block}.p-faq li.is-open .pm{transform:rotate(45deg)}
.p-for{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.p-for li{background:#fff;padding:1.5rem;display:flex;flex-direction:column}
.sec--white .p-for li{background:#f7f7f5}
.p-for .en{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#108bc9}
.p-for h3{font-weight:900;font-size:1.125rem;line-height:1.5;margin-top:.75rem}.p-for p{font-size:.75rem;color:#737373;line-height:1.9;margin-top:1rem;flex:1}
.p-for .c-link{display:inline-block;margin-top:1.5rem}

/* ---- CONTACT */
.p-how{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:3rem}
.p-how li{border-top:1px solid #1a1a1a;padding-top:1.25rem}.p-how .c-num{font-size:3rem}
.p-how h3{font-weight:900;font-size:1.25rem;margin-top:1rem}.p-how p{font-size:.75rem;color:#737373;line-height:1.9;margin-top:.75rem}
.p-tel{padding:6.25rem 0}
.p-tel__bg{position:absolute;right:0;bottom:-2rem;font-family:'Mr Dafoe',cursive;font-size:15rem;line-height:1;color:#fff;opacity:.08;transform:rotate(-8deg);pointer-events:none;white-space:nowrap}
.p-tel .l-inner{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem}
.p-tel .lab{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;opacity:.7}
.p-tel .tel{display:block;font-family:'Unbounded',sans-serif;font-weight:700;font-size:4rem;letter-spacing:-.01em;line-height:1;margin-top:1rem}
.p-tel .mail{display:block;font-family:'Unbounded',sans-serif;font-weight:700;font-size:2.25rem;line-height:1;margin-top:1rem}
.p-tel .note{font-weight:700;font-size:.75rem;opacity:.7;margin-top:1rem}
.p-tel .block+.block{margin-top:3.5rem}
.p-tel .c-btn{background:#fff;color:#1a1a1a}
.p-form{margin-top:3rem;max-width:53.125rem}
.p-form__row{margin-bottom:1.75rem}.p-form__row.is-2{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem}
.p-form .lab{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.8125rem;margin-bottom:.5rem}
.p-form .req{background:#108bc9;color:#fff;font-size:.5625rem;padding:.15em .6em;font-weight:700}
.p-form input[type=text],.p-form input[type=email],.p-form input[type=tel],.p-form textarea{width:100%;height:3.25rem;border:1px solid #d6d6d4;background:#fff;padding:0 1rem;font-size:.875rem}
.p-form textarea{height:8.75rem;padding:1rem;resize:vertical}
.p-form input:focus,.p-form textarea:focus{outline:2px solid #108bc9;outline-offset:-1px}
.p-form__choice{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}
.p-form__choice label{position:relative;cursor:pointer;margin:0;display:block}
.p-form__choice input{position:absolute;opacity:0;inset:0}
.p-form__choice span{display:block;text-align:center;height:3rem;line-height:3rem;border:1px solid rgba(26,26,26,.4);font-weight:700;font-size:.8125rem;transition:background .2s,color .2s}
.p-form__choice input:checked+span{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.p-form__agree{display:flex;gap:.75rem;align-items:center;font-size:.8125rem;font-weight:700;margin:1rem 0 2rem}
.p-form__agree input{width:1.25rem;height:1.25rem;accent-color:#108bc9}
.p-access{display:grid;grid-template-columns:47.5rem 1fr;gap:2.5rem;margin-top:3rem}
.p-access .p-map{aspect-ratio:2/1}
.p-map iframe{display:block;width:100%;height:100%;border:0}
.p-access__ph{aspect-ratio:2/1}
.p-access dl{margin-top:1.5rem}.p-access dl>div{display:grid;grid-template-columns:3.75rem 1fr;gap:.5rem;margin-bottom:.75rem}
.p-access dt{font-family:'Unbounded',sans-serif;font-weight:500;font-size:.5625rem;letter-spacing:.1em;color:#108bc9;padding-top:.2em}
.p-access dd{font-weight:700;font-size:.75rem;line-height:1.6}

/* ---- NEWS */
.p-news-filter{display:flex;gap:.625rem;margin-top:2.5rem;align-items:center}
.p-news-filter a{display:grid;place-items:center;width:6.25rem;height:2.5rem;border:1px solid rgba(26,26,26,.4);font-family:'Unbounded',sans-serif;font-weight:500;font-size:.5625rem;letter-spacing:.12em;transition:background .2s,color .2s}
.p-news-filter a.is-active,.p-news-filter a:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.p-news-filter .count{margin-left:auto;font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.14em;color:#737373}
.p-news-pickup{display:grid;grid-template-columns:43.75rem 1fr;gap:2.5rem;align-items:start}
.p-news-pickup .img-wrap{aspect-ratio:700/420}.p-news-pickup .c-tag,.p-news-grid .c-tag{position:absolute;left:0;top:0;z-index:2}
.p-news-pickup .lab{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#108bc9}
.p-news-pickup .date{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.625rem;letter-spacing:.1em;color:#737373;margin-top:.5rem}
.p-news-pickup .ttl{font-weight:900;font-size:1.875rem;line-height:1.5;letter-spacing:.04em;margin-top:1rem}
.p-news-pickup .lead{font-size:.8125rem;color:#737373;line-height:2;margin-top:1.25rem}
.p-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 1.25rem;margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid #d6d6d4}
.p-news-grid .img-wrap{display:block;aspect-ratio:380/240}.p-news-grid .img-wrap img{transition:transform 1s}.p-news-grid a:hover img{transform:scale(1.05)}
.p-news-grid .date{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.625rem;letter-spacing:.1em;color:#737373;margin-top:1.25rem}
.p-news-grid .ttl{font-weight:700;font-size:.9375rem;line-height:1.6;letter-spacing:.04em;margin-top:.5rem}
.p-pager{display:flex;justify-content:center;gap:.75rem;margin-top:3rem;padding-top:2.5rem;border-top:1px solid #d6d6d4}
.p-pager a{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid rgba(26,26,26,.4);font-family:'Unbounded',sans-serif;font-weight:500;font-size:.6875rem}
.p-pager a.is-active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.p-article__head{padding:4.5rem 0 3.5rem}
.p-article__head .l-inner{display:grid;grid-template-columns:1fr auto;align-items:start;gap:2rem}
.p-article__meta{display:flex;gap:1rem;align-items:center;margin-top:3rem}
.p-article__meta .date{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.625rem;letter-spacing:.1em;color:#737373}
.p-article__ttl{font-weight:900;font-size:2.75rem;line-height:1.5;letter-spacing:.04em;margin-top:1.5rem}
.p-article__share{margin-top:3.75rem;text-align:right}
.p-article__share .lab{font-family:'Unbounded',sans-serif;font-weight:300;font-size:.5625rem;letter-spacing:.16em;color:#737373}
.p-article__share p{font-family:'Unbounded',sans-serif;font-weight:500;font-size:.5625rem;letter-spacing:.1em;margin-top:.75rem}
.p-article__kv{aspect-ratio:2/1}
.p-article__body{max-width:50rem;margin:3.5rem auto 0}
.p-article__lead{font-weight:700;font-size:1rem;line-height:2.2;letter-spacing:.04em}
.p-article__body p+p{margin-top:1.75rem}.p-article__body>p{font-size:.875rem;line-height:2.3}
.p-article__imgs{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2.5rem 0}.p-article__imgs .img-wrap{aspect-ratio:392/260}
.p-article__tags{margin-top:2.5rem;padding-bottom:3rem;border-bottom:1px solid #d6d6d4}
.p-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.p-prevnext .lab{font-family:'Unbounded',sans-serif;font-weight:500;font-size:.5625rem;letter-spacing:.12em;color:#737373}
.p-prevnext p{font-weight:700;font-size:.875rem;line-height:1.6;margin-top:.75rem}
.p-prevnext .next{text-align:right}
.p-prevnext__back{text-align:center;margin-top:3rem}

/* 黒セクション用の透かし筆記体（.top-concept の外でも使える） */
.c-bgscript{position:absolute;left:42%;bottom:-11rem;font-family:'Mr Dafoe',cursive;font-size:18.75rem;line-height:1;color:rgba(255,255,255,.55);transform:rotate(-6deg);white-space:nowrap;pointer-events:none;user-select:none;z-index:0}
.sec--black>.l-inner{position:relative;z-index:1}
.sec--script{padding-bottom:10.5rem}

/* 汎用の横スライダー（HANDMADE のカテゴリなど）。JS は main.js の .js-slider */
.c-slider{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab}
.c-slider::-webkit-scrollbar{display:none}
.c-slider.is-drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.c-slider>li{flex:0 0 calc((100% - 2.5rem) / 3);scroll-snap-align:start}
.c-slider img{user-select:none;-webkit-user-drag:none}
.c-slider-nav{display:flex;justify-content:flex-end;gap:.625rem}
.c-slider-nav button{width:3rem;height:3rem;border-radius:50%;border:1px solid #1a1a1a;background:transparent;color:#1a1a1a;font-size:.875rem;cursor:pointer;transition:background .3s,color .3s,opacity .3s}
.c-slider-nav button:hover{background:#1a1a1a;color:#fff}
.c-slider-nav button:disabled{opacity:.25;pointer-events:none}
.p-cat__slider{margin-top:2.5rem}.p-cat__slider .c-slider{margin-top:1rem}
.p-cat__slider .img-wrap{display:block;aspect-ratio:380/320}
.p-cat__slider .img-wrap img{transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}.p-cat__slider li:hover .img-wrap img{transform:scale(1.04)}
.p-cat__photos .img-wrap{display:block}
.p-cat__cap{display:block;font-weight:700;font-size:.8125rem;letter-spacing:.04em;margin-top:.75rem}

/* BOTTLE LAMP: 新旧のランプ写真を横に流す帯。ホバーで止まる */
.top-lamp .top-lamp__reel{margin:1.25rem calc(50% - 50vw) 0;overflow:hidden}
.top-lamp .top-lamp__reel-track{display:flex;width:max-content;animation:lampreel 70s linear infinite}
.top-lamp .top-lamp__reel:hover .top-lamp__reel-track{animation-play-state:paused}
.top-lamp .top-lamp__reel figure{flex:none;height:15rem;margin-right:.75rem;overflow:hidden;background:#d6d6d4}
.top-lamp .top-lamp__reel img{display:block;height:100%;width:auto;transition:transform .8s cubic-bezier(.2,.6,.2,1);user-select:none}
.top-lamp .top-lamp__reel figure:hover img{transform:scale(1.06)}
@keyframes lampreel{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.top-lamp .top-lamp__reel-track{animation:none}}

/* /lamp/ COLLECTION: いま吊るしている瓶の一覧 */
.p-bottles{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem 1.25rem;margin-top:3rem}
.p-bottles li{position:relative}
.p-bottles .img-wrap{display:block;aspect-ratio:3/4}
.p-bottles .img-wrap img{transition:transform 1s cubic-bezier(.2,.6,.2,1)}.p-bottles li:hover .img-wrap img{transform:scale(1.05)}
.p-bottles .c-tag{position:absolute;left:.75rem;top:.75rem;background:#fff}
.p-bottles .en{font-family:'Unbounded',sans-serif;font-weight:700;font-size:.8125rem;letter-spacing:.02em;margin-top:1rem;line-height:1.3}
.p-bottles .ja{font-size:.75rem;color:#737373;margin-top:.25rem}
.p-bottles__note{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #d6d6d4;font-weight:700;font-size:.875rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
/* 数字の単位（100% の %）は小さく添える */
.top-lamp .top-lamp__nums .top-lamp__num .n .u,.c-nums .n .u{font-size:.5em;margin-left:.06em;letter-spacing:0}

/* 流れ続けるスライダー（ボトルランプの帯と同じ見せ方。JS が .c-loop で包み、ul に .is-loop を付ける。JS が無いときは上の横スクロールのまま） */
.c-loop{position:relative;overflow:hidden;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.c-loop .js-slider.is-loop{overflow:visible;scroll-snap-type:none;scroll-behavior:auto;margin-left:0;margin-right:0;padding:0;width:max-content;touch-action:pan-y;will-change:transform;cursor:grab}
.c-loop .js-slider.is-loop>li{flex:0 0 var(--card,19rem)}
.c-loop .js-slider.is-loop.is-drag{cursor:grabbing}
.c-loop .js-slider.is-loop.is-drag a{pointer-events:none}
.p-cat__slider .c-loop{--card:24rem}

/* ボトルランプの価格の目安（/lamp/#price）と、TOP の数字の3つ目 */
.p-price{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.p-price>li{border-top:1px solid #1a1a1a;padding-top:1.25rem}
.p-price .c-num{font-size:.875rem}
.p-price h3{font-weight:900;font-size:1.125rem;letter-spacing:.04em;margin-top:.75rem}
.p-price__yen{font-family:'Unbounded',sans-serif;font-weight:700;font-size:2.25rem;letter-spacing:-.02em;line-height:1.25;margin-top:1.25rem}
.p-price__yen span{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:.875rem;letter-spacing:0;margin:0 .3em 0 .15em}
.p-price__txt{font-size:.75rem;color:#737373;line-height:1.9;margin-top:.75rem}
.p-price__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid #d6d6d4}
.p-price__foot p{font-size:.75rem;color:#737373;line-height:1.9}
.top-lamp .top-lamp__nums{grid-template-columns:14rem 14rem auto 1fr}
.top-lamp .top-lamp__nums .top-lamp__num .ja .c-link{margin-left:1rem;font-size:.6875rem}

/* CRAFTERS 全員（/lamp/#crafters）。人数が変わっても最後の行は真ん中に寄せる */
.p-team--all{display:flex;flex-wrap:wrap;justify-content:center;gap:2.75rem 1.5rem;margin-top:3rem}
.p-team--all li{width:8.5rem}
.p-team--all .c-face{width:7.5rem;height:7.5rem;box-shadow:0 0 0 1px #e4e4e1}
.p-team--all .name{font-size:.9375rem;margin-top:1rem;word-break:break-all}
.p-cat__crafters>span:last-child{white-space:nowrap}

/* CRAFTERS のアイコンを押すと拡大（JS は main.js 末尾の .js-zoom） */
.p-team__zoom{display:block;margin:0 auto;padding:0;border:0;background:none;border-radius:50%;cursor:zoom-in;position:relative}
.p-team__zoom::after{content:"+";position:absolute;right:.2rem;bottom:.2rem;width:1.75rem;height:1.75rem;border-radius:50%;background:#1a1a1a;color:#fff;font-size:1rem;line-height:1.75rem;text-align:center;font-weight:700;transform:scale(.6);opacity:0;transition:opacity .3s,transform .3s}
.p-team li:hover .p-team__zoom::after,.p-team__zoom:focus-visible::after{opacity:1;transform:scale(1)}
.p-team__zoom:focus-visible{outline:2px solid #108bc9;outline-offset:4px}
html.is-zoom{overflow:hidden}
.c-zoom{position:fixed;inset:0;z-index:1000;background:rgba(15,20,25,.86);opacity:0;transition:opacity .3s}
.c-zoom.is-open{opacity:1}
.c-zoom[hidden]{display:none}
.c-zoom__inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:4rem}
.c-zoom__fig{margin:0;text-align:center;transform:scale(.92);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.c-zoom.is-open .c-zoom__fig{transform:none}
.c-zoom__ph{display:block;width:min(26rem,70vh,80vw);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 1.5rem 4rem rgba(0,0,0,.35)}
.c-zoom__ph img{display:block;width:100%;height:100%;object-fit:cover}
.c-zoom__name{color:#fff;font-weight:900;font-size:1.5rem;letter-spacing:.06em;margin-top:1.5rem}
.c-zoom button{position:absolute;width:3.25rem;height:3.25rem;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;font-size:1.125rem;cursor:pointer;transition:background .3s,color .3s}
.c-zoom button:hover,.c-zoom button:focus-visible{background:#fff;color:#1a1a1a;outline:none}
.c-zoom__close{top:1.5rem;right:1.5rem;font-size:1.5rem}
.c-zoom__prev{left:2rem;top:50%;margin-top:-1.625rem}
.c-zoom__next{right:2rem;top:50%;margin-top:-1.625rem}

/* HANDMADE の CRAFTERS の顔：少し大きく、押すと拡大 */
.p-faces__zoom{display:block;padding:0;border:0;background:none;border-radius:50%;cursor:zoom-in;margin-left:-.5rem;position:relative;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.p-faces__zoom:first-child{margin-left:0}
.p-faces__zoom:hover,.p-faces__zoom:focus-visible{transform:translateY(-.25rem);z-index:1;outline:none}
.p-faces .p-faces__zoom .c-face{display:block;width:4.25rem;height:4.25rem;margin-left:0}

/* TOP の CRAFTERS：青い帯にアイコンが流れる（ボトルランプの帯と同じ動き。マウスを乗せると止まる） */
.top-crafters{position:relative;overflow:hidden;background:#108bc9;color:#fff;padding:6.25rem 0 5rem}
.top-crafters .c-head .c-head__script{color:#fff}
.top-crafters .c-head .c-head__bg{opacity:.08}
.top-crafters__reel{margin-top:3.5rem;overflow:hidden}
.top-crafters__track{display:flex;width:max-content;animation:lampreel 60s linear infinite}
.top-crafters__reel:hover .top-crafters__track,.top-crafters__reel:focus-within .top-crafters__track{animation-play-state:paused}
.top-crafters__item{flex:none;width:10rem;margin-right:1.5rem;padding:0;border:0;background:none;color:#fff;cursor:zoom-in;text-align:center;font:inherit}
.top-crafters__item .c-face{display:block;width:8.5rem;height:8.5rem;margin:0 auto;border:4px solid rgba(255,255,255,.9);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.top-crafters__item:hover .c-face,.top-crafters__item:focus-visible .c-face{transform:scale(1.06) rotate(-3deg)}
.top-crafters__item:focus-visible{outline:none}
.top-crafters__item:focus-visible .c-face{box-shadow:0 0 0 3px #1a1a1a}
.top-crafters__item .name{display:block;font-weight:900;font-size:.9375rem;letter-spacing:.04em;margin-top:1rem}
.top-crafters__btn{margin-top:3rem;text-align:center}
@media (prefers-reduced-motion: reduce){.top-crafters__track{animation:none}.top-crafters__reel{overflow-x:auto}}

/* ボトルランプの「つくっている人たち」：全員の顔を並べる（一覧は ABOUT） */
.p-faces--all{flex-wrap:wrap;margin-top:2rem;row-gap:.75rem}
.p-faces--all .p-faces__zoom{margin-left:-.5rem}
.p-faces--all .p-faces__zoom:first-child{margin-left:0}
.p-cat__all{font-size:.75rem}
.top-crafters .c-head{grid-template-columns:1fr;gap:1.5rem}.top-crafters .c-head .c-head__desc{max-width:30rem;padding-top:0}

/* HANDMADE の CRAFTERS：顔を重ねずに並べ、下に名前（押すと .c-zoom で拡大） */
.p-cat__crafters{align-items:flex-start}
.p-cat__crafters>.lab,.p-cat__crafters>span:last-child{align-self:center}
.p-faces--named{gap:1.25rem}
.p-faces--named .p-faces__zoom,.p-faces--named .p-faces__zoom:first-child{margin-left:0;display:flex;flex-direction:column;align-items:center;width:5.5rem}
.p-faces--named .p-faces__zoom:hover,.p-faces--named .p-faces__zoom:focus-visible{transform:none}
.p-faces--named .c-face{border:0;box-shadow:0 0 0 1px #e4e4e1;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.p-faces .p-faces__zoom .c-face{width:5rem;height:5rem}
.p-faces--named .p-faces__zoom:hover .c-face,.p-faces--named .p-faces__zoom:focus-visible .c-face{transform:scale(1.06) rotate(-3deg)}
.p-faces--named .p-faces__zoom:focus-visible .c-face{box-shadow:0 0 0 2px #108bc9}
.p-faces__name{margin-top:.5rem;font-weight:700;font-size:.6875rem;letter-spacing:.04em;color:#1a1a1a;line-height:1.3;word-break:break-all}
.top-crafters__btn{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}

/* WordPress のお問い合わせ（MW WP Form）。静的版の見た目に合わせる。プラグインの CSS より強くするため親を付けている */
button.c-btn{cursor:pointer;font-family:inherit}
button.c-btn:not(.c-btn--white){border:0}
.p-form .p-form__choice .mwform-radio-field{display:block;height:auto;line-height:normal;border:0;margin:0!important;text-align:left;font-weight:inherit}
.p-form .p-form__choice .mwform-radio-field label{display:block;margin:0}
.p-form .p-form__agree .mwform-checkbox-field label{display:flex;gap:.75rem;align-items:center;font-weight:700;margin:0}
.p-form .p-form__agree .mwform-checkbox-field input{width:1.25rem;height:1.25rem;margin:0;accent-color:#108bc9}
.p-form .p-form__agree{flex-wrap:wrap}
.p-form .p-form__agree .error{flex-basis:100%}
.p-form .error{margin-top:.5rem;color:#d0342c;font-size:.75rem;font-weight:700}
.p-form__btns{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.p-form__btns .c-btn{min-width:20rem}
.p-form__none{margin-top:2rem;font-weight:700}
/* 確認画面：入力欄の代わりに入力した文字が出る */
.mw_wp_form_confirm .p-form .req{display:none}
.mw_wp_form_confirm .p-form__row{padding-bottom:1.25rem;border-bottom:1px solid #d6d6d4;font-size:.9375rem;line-height:1.9}
.mw_wp_form_confirm .p-form__choice{display:block;font-weight:700}
.mw_wp_form_confirm .p-form__agree{display:none}
.mw_wp_form_confirm .p-form__lead{display:none}
.p-form__confirm-lead{display:none}
.mw_wp_form_confirm .p-form__confirm-lead{display:block;margin-bottom:2rem;font-weight:700}
/* 送信完了 */
.p-thanks__msg p+p{margin-top:1em}

/* プライバシーポリシー（/privacy/） */
.p-policy{max-width:50rem;margin:3.5rem auto 0}
.p-policy__sec{padding:2.25rem 0;border-top:1px solid #d6d6d4}
.p-policy__sec h2{display:flex;align-items:baseline;gap:1rem;font-weight:900;font-size:1.125rem;letter-spacing:.04em}
.p-policy__sec h2 .c-num{font-size:.875rem}
.p-policy__sec p,.p-policy__sec li{font-size:.875rem;line-height:2.1}
.p-policy__sec p{margin-top:1rem}
.p-policy__sec ul{margin-top:.75rem;padding-left:1.25em;list-style:disc}
.p-policy__sec li+li{margin-top:.25rem}
.p-policy__contact p{font-weight:700}
.p-policy__date{margin-top:2rem;text-align:right;font-size:.8125rem;color:#737373}
.p-form__privacy{margin-top:1.5rem;font-size:.8125rem}.p-form__privacy a{text-decoration:underline;font-weight:700}
.mw_wp_form_confirm .p-form__privacy{display:none}
