@charset "UTF-8";

/*----------------------------------------------------
  setting
----------------------------------------------------*/
:root {
  --canvas-width: 1280px;
  --col-width: 378px;
  --col-pad: 32px;
  --header-offset: 94px; /* .header.fixed 相当のフォールバック（lp-3column.js 読込後に実測で上書き） */
  --px: calc(100vw / var(--canvas-width));
  --font-yu-mincho: "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "MS P明朝", "MS Mincho", serif;
  --font-yu-gothic: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", 'Noto Sans JP', serif;
  }

@media screen and (max-width: 1000px) {
  :root {
    --header-offset: 69px;
    --canvas-width: 378px;
  }
}

.pc {
display: block;
}

.sp {
display: none;
}

@media screen and (max-width: 1000px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
@media (hover: hover) {
  a:-moz-any-link:hover {
    opacity: 0.8;
  }
  a:any-link:hover {
    opacity: 0.8;
  }
}

.footer {
  margin-top: 0;
}

/*----------------------------------------------------
  base style
----------------------------------------------------*/
body {
  overflow-x: clip;
  overflow-y: visible;
}

html {
  scroll-behavior: smooth;
}

/*----------------------------------------------------
  header: 常時 fixed 表示（lp-3column-page）
----------------------------------------------------*/
body.lp-3column-page header.header.scrolling {
  top: -26px;
}

body.lp-3column-page header.header.scrolling .header__inside {
  top: 13px;
}

body.lp-3column-page header.header.scrolling .header__ham {
  top: 30px;
}

@media screen and (max-width: 767px) {
  body.lp-3column-page header.header.scrolling .header__inside {
    top: 0;
  }

  body.lp-3column-page header.header.scrolling .header__ham {
    top: 22px;
  }
}

img {
  width: auto;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  pointer-events: none;
}

.lp-3column {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(378px, calc(var(--col-width) * var(--px))) minmax(0, 1fr);
  margin-top: var(--header-offset);
}

.lp-3column__leftside,
.lp-3column__rightside {
  position: sticky;
  top: var(--header-offset);
  height: calc(100vh - var(--header-offset));
  align-self: start;
  overflow: visible;
  z-index: 2;
  isolation: isolate;
}

@media screen and (max-width: 1000px) {
  .lp-3column {
    grid-template-columns: minmax(0, 1fr);
  }

  .lp-3column__leftside,
  .lp-3column__rightside {
    display: none;
  }

  .lp-3column__center {
    grid-column: 1 / -1;
  }
}

.lp-3column__leftside-inner {
  position: relative;
  height: 100%;
}
.lp-toc__nav {
  margin-top: min(calc(var(--px) * 48px), 48px);
}
.lp-toc__nav-list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: min(calc(var(--px) * 10px), 10px);
  padding-left: min(calc(var(--px) * 23px), 23px);
}
.lp-toc__nav-list::before {
  content: "";
  background-color: #fff;
  width: 0.6px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.lp-toc__nav-item {
  display: inline-block;
}
.lp-toc__nav-item a {
  font-family: birch-std, serif;
  font-size: clamp(23px, calc(var(--px) * 23px), 33px);
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
  text-shadow: none;
  opacity: 1;
  transition: color 0.4s ease, text-shadow 0.4s ease, opacity 0.4s ease;
}
.lp-toc__nav-item a:hover,
.lp-toc__nav-item a:focus {
  color: #c8b899;
  opacity: 1;
}

.lp-toc__link__item {
  display: flex;
  align-items: center;
}

.lp-toc__link__wrap {
  position: absolute;
  bottom: calc(var(--px) * 25px);
  left: clamp(30px, calc(var(--px) * 48px), 70px);
  display: inline-flex;
  align-items: center;
  gap: min(calc(var(--px) * 10px), 10px);
}
.lp-toc__link__wrap .lp-link__icon-instagram {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: min(calc(var(--px) * 35px), 55px);
  height: min(calc(var(--px) * 35px), 55px);
  background-color: #fff;
  -webkit-mask-image: url(../images/content-lp/2026winter/icon_instagram.svg);
  mask-image: url(../images/content-lp/2026winter/icon_instagram.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  opacity: 1;
  transition: background-color 0.4s ease;
}
.lp-toc__link__wrap .lp-link__icon-instagram:hover,
.lp-toc__link__wrap .lp-link__icon-instagram:focus {
  background-color: #c8b899;
  opacity: 1;
}
.lp-toc__link__wrap .lp-link__icon-instagram img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
  pointer-events: none;
}

.lp-toc__link__list a {
  display: inline-block;
  font-family: var(--font-yu-mincho);
  font-size: clamp(12px, calc(var(--px) * 12px), 22px);
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff;
  opacity: 1;
  transition: color 0.4s ease, opacity 0.4s ease;
}
.lp-toc__link__list a:hover,
.lp-toc__link__list a:focus {
  color: #c8b899;
  opacity: 1;
}

.lp-3column__center {
  min-width: 0;
  overflow-x: clip;
  overflow-y: visible;
}

.lp-3column__center__inner {
  height: auto;
}


/*-------------------------------------------
  lp-3column--2026winter
-------------------------------------------*/
.lp-3column--2026winter {
  position: relative;
  z-index: 0;
}
.lp-3column--2026winter::before {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  height: calc(100vh - var(--header-offset));
  z-index: -1;
  background: url(../images/content-lp/2026winter/bg_wide_01.png) no-repeat center / cover;
  opacity: 1;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.lp-3column--2026winter.is-split-bg::before {
  opacity: 0;
}
.lp-3column__side-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.lp-3column__side-bg--left {
  background-image: url(../images/content-lp/2026winter/bg_left_01.png);
  background-position: center right;
}
.lp-3column__side-bg--right {
  background-image: url(../images/content-lp/2026winter/bg_right_01.png);
  background-position: center left;
}
.lp-3column--2026winter.is-split-bg .lp-3column__side-bg {
  opacity: 1;
}
.lp-3column__rightside__inner {
  position: relative;
  z-index: 1;
  height: 100%;
}
@media (prefers-reduced-motion: reduce) {
  .lp-3column--2026winter::before,
  .lp-3column__side-bg,
  .lp-toc__content-ttl,
  .lp-toc__content-ttl span,
  .lp-toc__nav-item a,
  .lp-toc__link__list a,
  .lp-toc__link__wrap .lp-link__icon-instagram {
    transition: none;
  }
}

.lp-3column__leftside__inner {
  position: relative;
  z-index: 1;
  height: 100%;
  padding-top: min(calc(var(--px) * 105px), 105px);
  padding-left: clamp(30px, calc(var(--px) * 48px), 70px);
}

.lp-toc__content-ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: snell-roundhand-lt-std, sans-serif;
  font-weight: 400;
  font-size: clamp(38px, calc(var(--px) * 38px), 48px);
  color: #fff;
  text-shadow: 0 0 0.18em #0d2e56;
  transition: text-shadow 0.4s ease;
}
.lp-toc__content-ttl span {
  font-family: var(--font-yu-mincho);
  font-size: 0.377em;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff;
  margin-top: min(calc(var(--px) * 20px), 20px);
  text-shadow: none;
  transition: text-shadow 0.4s ease;
}
.lp-3column--2026winter.is-split-bg .lp-toc__content-ttl,
.lp-3column--2026winter.is-split-bg .lp-toc__content-ttl span,
.lp-3column--2026winter.is-split-bg .lp-toc__nav-item a {
  text-shadow: 0 0 0.3em #2e3a1a;
}


.lp-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: url(../images/content-lp/2026winter/bg_hero.png) no-repeat center / cover;
  padding-top: min(calc(var(--px) * 95px), 95px);
  padding-bottom: min(calc(var(--px) * 50px), 70px);
}
.lp-hero__img-wrap {
  position: relative;
}
.lp-hero__img-wrap img {
  width: 100%;
}
.lp-hero__subttl {
  font-family: var(--font-yu-mincho);
  font-size: clamp(36px, calc(var(--px) * 36px), 46px);
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #c8b899;
  text-align: center;
}
.lp-hero__subttl span {
  display: block;
  font-size: 0.313em;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #c8b899;
}
.lp-hero__lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  padding-top: min(calc(var(--px) * 55px), 55px);
  padding-bottom: min(calc(var(--px) * 60px), 60px);
}
.lp-hero__lead p {
  font-family: var(--font-yu-gothic);
  font-size: clamp(13px, calc(var(--px) * 13px), 23px);
  font-weight: 400;
  line-height: 2.0;
  letter-spacing: 0;
  color: #c8b899;
  text-align: center;
}

.lp-hero__toc {
  display: flex;
  flex-direction: column;
  gap: calc(var(--px) * 5px);
  width: 100%;
  padding-inline: calc(var(--px) * 5px);
}
.lp-hero__toc-list.lp-hero__toc-list--1,
.lp-hero__toc-list.lp-hero__toc-list--2 {
  display: flex;
  justify-content: center;
  gap: calc(var(--px) * 5px);
  max-width: min(calc(var(--px) * 365px), 600px);
  margin-inline: auto;
}
.lp-hero__toc-item {
  flex: 0 1 auto;
  min-width: 0;
}

.lp-hero__toc-item a {
  --face: #133e62;
  --h: min(calc(var(--px) * 45px), 65px);
  --bevel: calc(var(--h) * 0.08);

  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: var(--h);
  padding: 0 0.8em;
  font-family: birch-std, serif;
  font-size: clamp(18px, calc(var(--px) * 18px), 28px);
  font-weight: 400;
  letter-spacing: 0.07em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  color: #fff;
  text-decoration: none;
  background: var(--face);
  border-style: solid;
  border-width: var(--bevel);
  border-color:
    #0e3e65   /* 上 */
    #0d3a5f   /* 右 */
    #00172c  /* 下 */
    #021f37 ;  /* 左 */
  border-radius: 0.1em;
  opacity: 1;
  transform: translateY(0);
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.lp-hero__toc-item a:hover,
.lp-hero__toc-item a:active,
.lp-hero__toc-item a:focus {
  opacity: 1;
  transform: translateY(calc(var(--px) * 1.5px));
}

.lp-hero__toc-item a:active {
  transform: translateY(calc(var(--bevel) + 1px));
}

/*----------------------------------------------------
  lp-section__mv-slider slick（標準 .slick-* + LP 上書き）
----------------------------------------------------*/
.lp-3column--2026winter .lp-section__mv {
  position: relative;
  width: 100%;
}

.lp-3column--2026winter .lp-section__mv-slider {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lp-3column--2026winter .lp-section__mv-slider-item {
  margin: 0;
  padding: 0;
}

.lp-3column--2026winter .lp-section__mv-slider-item img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.lp-3column--2026winter .lp-section__mv .slick-prev {
  display: none!important;
}

.lp-3column--2026winter .lp-section__mv .slick-next {
  position: absolute;
  z-index: 2;
  top: auto;
  right: 0;
  bottom: calc(var(--px) * 25px);
  transform: none;
  border-radius: 0;
  width: calc(var(--px) * 78.44px);
  height: calc(var(--px) * 32.22px);
  background: transparent url(../images/content-lp/2026winter/slider-next.svg) no-repeat center / contain;
}
.lp-3column--2026winter .lp-section--silver .lp-section__mv .slick-next,
.lp-3column--2026winter .lp-section--amuletegg .lp-section__mv .slick-next {
  right: calc(var(--px) * 15px);
  bottom: calc(var(--px) * 40px);
}

.lp-3column--2026winter .lp-section__mv .slick-next::before,
.lp-3column--2026winter .lp-section__mv .slick-next::after {
  display: none;
}
.lp-section__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: calc(var(--px) * 53px);
  padding-bottom: calc(var(--px) * 95px);
}
.lp-section__content-ttl {
  font-family: birch-std, serif;
  font-size: clamp(32px, calc(var(--px) * 32px), 42px);
  font-weight: 400;
  letter-spacing: 0;
  color: #c8b899;
}
.lp-section--glowring .lp-section__content-ttl,
.lp-section--silver .lp-section__content-ttl,
.lp-section--amuletegg .lp-section__content-ttl {
  color: #a57c52;
}
.lp-section__content-lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  margin-top: calc(var(--px) * 18px);
}
.lp-section__content-lead p {
  font-family: var(--font-yu-gothic);
  font-size: clamp(13px, calc(var(--px) * 13px), 23px);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0;
  color: #c8b899;
  text-align: center;
}
.lp-section--amuletegg .lp-section__content-lead p {
  color: #754c24;
}
.lp-section__details {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.lp-section__details-button {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  gap: min(calc(var(--px) * 7px), 7px);
  font-family: var(--font-yu-mincho);
  font-size: clamp(14px, calc(var(--px) * 14px), 24px);
  font-weight: 500;
  letter-spacing: 0;
  color: #c8b899;
  margin-top: min(calc(var(--px) * 45px), 45px);
  margin-inline: auto;
}
.lp-section__details-button::marker {
  display: none;
}
.lp-section--glowring .lp-section__details-button,
.lp-section--silver .lp-section__details-button,
.lp-section--amuletegg .lp-section__details-button {
  color: #754c24;
}

.lp-section__details-icon {
  position: relative;
  display: block;
  flex-shrink: 0;
  box-sizing: border-box;
  width: 1.2em;
  height: 1.2em;
  border: 0.042em solid #c8b899;
  border-radius: 50%;
  line-height: 0;
  overflow: hidden;
}
.lp-section--glowring .lp-section__details-icon,
.lp-section--silver .lp-section__details-icon,
.lp-section--amuletegg .lp-section__details-icon {
  border-color: #8b6239;
}
.lp-section__details-icon::before,
.lp-section__details-icon::after {
  content: "";
  position: absolute;
  background-color: #c8b899;
}
.lp-section__details-icon::before {
  width: 0.5em;
  height: 1px;
  left: calc(50% - 0.25em);
  top: calc(50% - 0.5px);
}
.lp-section__details-icon::after {
  width: 1px;
  height: 0.5em;
  left: calc(50% - 0.5px);
  top: calc(50% - 0.25em);
  transform: rotate(0deg);
  transform-origin: center;
  transition: transform 0.35s ease;
}
.lp-section__details.is-open .lp-section__details-icon::after {
  transform: rotate(90deg);
}
.lp-section--glowring .lp-section__details-icon::before,
.lp-section--glowring .lp-section__details-icon::after,
.lp-section--silver .lp-section__details-icon::before,
.lp-section--silver .lp-section__details-icon::after,
.lp-section--amuletegg .lp-section__details-icon::before,
.lp-section--amuletegg .lp-section__details-icon::after {
  background-color: #8b6239;
}

.lp-section__details-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}
.lp-section__details.is-open .lp-section__details-panel {
  grid-template-rows: 1fr;
}
.lp-section__details-panel-inner {
  overflow: hidden;
  min-height: 0;
  padding-inline: min(calc(var(--px) * 38px), 48px);
  margin-top: calc(var(--px) * 45px);
}
@media (prefers-reduced-motion: reduce) {
  .lp-section__details-panel,
  .lp-section__details-icon::after {
    transition: none;
  }
}
.lp-section__product {
  width: 100%;
}
.lp-section__product-list {
  display: flex;
  flex-direction: column;
  gap: calc(var(--px) * 18px);
  width: 100%;
  max-width: min(calc(var(--px) * 300px), 600px);
  margin-inline: auto;
}
.lp-section__product-img {
  width: max(calc(var(--px) * 52px), 62px);
  height: max(calc(var(--px) * 52px), 62px);
}
.lp-section__product-item {
  display: flex;
  align-items: flex-end;
  gap: 0.9em;
}
.lp-section__product-name {
  flex: 1;
  min-width: 0;
}
.lp-section__product-name p {
  font-family: var(--font-yu-gothic);
  font-size: clamp(10px, calc(var(--px) * 10px), 18px);
  font-weight: 400;
  line-height: 1.48;
  letter-spacing: 0;
  color: #c8b899;
  text-align: left;
}
.lp-section--glowring .lp-section__product-name p,
.lp-section--silver .lp-section__product-name p,
.lp-section--amuletegg .lp-section__product-name p {
  color: #754c24;
}
.lp-section__product-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  overflow: hidden;
  font-family: var(--font-yu-mincho);
  font-size: clamp(11px, calc(var(--px) * 11px), 19px);
  font-weight: 400;
  color: #fff!important;
  width: calc(var(--px) * 56px);
  height: calc(var(--px) * 22px);
  border-radius: 0.082em;
  background-color: #c8b899;
  text-decoration: none;
  user-select: none;
}
.lp-section__product-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(
    130deg,
    rgba(255, 255, 255, 0) 20%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(255, 255, 255, 0) 80%
  );
  transition: none;
  animation: none;
  pointer-events: none;
}
.lp-section__product-button:hover {
  opacity: 1!important;
}
.lp-section__product-button:hover::before {
  animation: lp-section__product-button-flash 0.3s ease-out forwards;
}
@keyframes lp-section__product-button-flash {
  from {
    left: -100%;
  }
  to {
    left: 100%;
  }
}
.lp-section__details-panel-inner .lp-section__more-button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-yu-mincho);
  font-size: clamp(12px, calc(var(--px) * 12px), 22px);
  font-weight: 400;
  color: #c8b899!important;
  border: 0.6px solid #c8b899;
  border-radius: 0.897px;
  width: calc(var(--px) * 130px);
  height: calc(var(--px) * 30px);
  background-color: transparent;
  margin-top: calc(var(--px) * 50px);
  margin-inline: auto;
}

.lp-section--astairis .lp-section__content {
  background: url(../images/content-lp/2026winter/bg_astairis.png) no-repeat center / cover;
}
.lp-section--cinemastory .lp-section__content {
  background: url(../images/content-lp/2026winter/bg_cinemastory.png) no-repeat center / cover;
}
.lp-section--thanksdiamond .lp-section__content {
  background: url(../images/content-lp/2026winter/bg_thanksdiamond.png) no-repeat center / cover;
}
.lp-section--asmerule .lp-section__content {
  background: url(../images/content-lp/2026winter/bg_asmerule.png) no-repeat center / cover;
}
.lp-section--holidaypierce .lp-section__content {
  background: url(../images/content-lp/2026winter/bg_holidaypierce.png) no-repeat center / cover;
}
.lp-section__wrap--glowring-amuletegg {
  background: url(../images/content-lp/2026winter/bg_glowring-amuletegg.png) no-repeat center / cover;
}