@charset "UTF-8";

.en {
  font-family: "calibri", sans-serif;
}

img {
  width: auto;
  max-width: 100%;
  transition: .3s;
  display: inline-block;
}

h1, h2, h3, h4, h5, p, dl, dt, dd, ul, li, a {
  font-weight: 500;
  font-style: normal;
  color: #000;
  font-family: "游ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

p {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
  font-family: "Noto Sans JP", "游ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
@media (max-width: 1064px) {
  p {
    font-size: 2.4vw;
    line-height: 4vw;
    letter-spacing: 0;
  }
}

a {
  display: inline-block;
  transition: .3s;
}
a:hover {
  opacity: 1;
}

strong {
  font-weight: normal;
}

.dPc {
  display: block;
}

.dSp {
  display: none;
}

.dPcinline {
  display: inline-block;
}

.dSpinline {
  display: none;
}

@media (max-width: 1064px) {
  .dPc {
    display: none;
  }

  .dSp {
    display: block;
  }

  .dPcinline {
    display: none;
  }

  .dSpinline {
    display: inline-block;
  }
}
.contents {
  width: 100%;
  padding-top: 84px;
}
@media (max-width: 1064px) {
  .contents {
    padding-top: 0;
  }
}


#feature_202511 {
  background: #9b0000;
  position: relative;
}


@media (max-width: 1064px) {

#feature_202511 .holiday25-final-gallery-pc {
  display: none;
}


.holiday25-left-lines {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 100;
}

.holiday25-left-lines::before {
  content: '';
  position: absolute;
  top: 289vw;
  bottom: 17vw;
  left: 2.3vw;
  width: 2.5px;
  background: #c6a887;
}

.holiday25-left-lines::after {
  content: '';
  position: absolute;
  top: 289vw;
  bottom: 17vw;
  left: 3.8vw;
  width: 1px;
  background: #c6a887;
}


.holiday25-right-lines {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 100;
}

.holiday25-right-lines::before {
  content: '';
  position: absolute;
  top: 289vw;
  bottom: 17vw;
  right: 2.3vw;
  width: 2.5px;
  background: #c6a887;
}

.holiday25-right-lines::after {
  content: '';
  position: absolute;
  top: 289vw;
  bottom: 17vw;
  right: 3.8vw;
  width: 1px;
  background: #c6a887;
}
#feature_202511 header h1 {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
#feature_202511 header h1 img.dPcinline,
#feature_202511 header h1 img.dSpinline {
  width: 100%;
  height: auto;
}
#feature_202511 .holiday25-banner-second {
  width: 100%;
  position: relative;
}
#feature_202511 .holiday25-banner-second > img:not(.holiday25-banner-logo) {
  width: 100%;
  height: auto;
  display: block;
}


#feature_202511 .holiday25-banner-logo {
  position: absolute;
  bottom: 3.5vw;
  left: 50%;
  transform: translateX(-50%);
  width: 14vw;
  height: auto;
  display: block;
  filter: invert(1);
  z-index: 11;
}


#feature_202511 .holiday25-photo-stack {
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: 55%;
  z-index: 10;
}
#feature_202511 .holiday25-photo-stack img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(0deg);
  width: 100%;
  height: auto;
  opacity: 0;
  background: #fff;
  padding: 1.7vw 1.7vw 1.7vw 1.7vw;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
}


@keyframes fadeInPhoto1 {
  from {
    opacity: 0;
    transform: translateX(-50%) rotate(0deg);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) rotate(3deg);
}
}

@keyframes fadeInPhoto2 {
  from {
    opacity: 0;
    transform: translateX(-50%) rotate(0deg);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) rotate(12deg);
  }
}

@keyframes fadeInPhoto3 {
  from {
    opacity: 0;
    transform: translateX(-50%) rotate(0deg);
}
  to {
    opacity: 1;
    transform: translateX(-50%) rotate(-8deg);
}
}

#feature_202511 .holiday25-photo-stack.show img.holiday25-photo-1 {
  animation: fadeInPhoto1 0.3s ease-out 0.3s forwards;
}
#feature_202511 .holiday25-photo-stack.show img.holiday25-photo-2 {
  animation: fadeInPhoto2 0.3s ease-out 0.8s forwards;
}
#feature_202511 .holiday25-photo-stack.show img.holiday25-photo-3 {
  animation: fadeInPhoto3 0.3s ease-out 1.3s forwards;
}

#feature_202511 .holiday25-photo-stack:not(.show) img {
  opacity: 0;
  transform: translateX(-50%) rotate(0deg);
}


#feature_202511 .holiday25-intro-text {
  background: #8e0707;
  padding: 12vw 6vw;
  text-align: center;
  position: relative;
}
#feature_202511 .holiday25-intro-text p {
  font-family: "Noto Serif JP", serif;
  font-size: 3vw;
  line-height: 1.9;
  color: #fff;
  margin: 0;
  font-weight: 100;
  letter-spacing: 0.05em;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
#feature_202511 .holiday25-intro-text.show p {
  opacity: 1;
  transform: translateY(0);
}


#feature_202511 .holiday25-light-ray-corner {
  position: absolute;
  width: 12vw;
  height: 12vw;
  pointer-events: none;
}
#feature_202511 .holiday25-light-ray-corner.holiday25-top-left {
  top: 2vw;
  left: 2vw;
}
#feature_202511 .holiday25-light-ray-corner.holiday25-top-right {
  top: 2vw;
  right: 2vw;
  transform: scaleX(-1);
}
#feature_202511 .holiday25-light-ray-corner.holiday25-bottom-left {
  bottom: 2vw;
  left: 2vw;
  transform: scaleY(-1);
}
#feature_202511 .holiday25-light-ray-corner.holiday25-bottom-right {
  bottom: 2vw;
  right: 2vw;
  transform: scale(-1, -1);
}
#feature_202511 .holiday25-light-ray-corner svg {
  width: 100%;
  height: 100%;
}


#feature_202511 .holiday25-case-section {
  background: #8e0707;
  padding: 10vw 6vw 8vw 6vw;
  text-align: center;
}
#feature_202511 .holiday25-case-product-info {
  color: #fff;
}
#feature_202511 .holiday25-case-title-img {
  width: 65vw;
  height: auto;
  display: block;
  margin: 0 auto 2vw auto;
  margin-left: 8.5vw;
}
#feature_202511 .holiday25-case-details {
  font-family: "Noto Serif JP", serif;
  font-size: 2vw;
  font-weight: 300;
  margin: 0 0 4vw 0;
  letter-spacing: 0.05em;
  color: #fff;
  margin-left: 9.3vw;
  text-align: left;
}


#feature_202511 .holiday25-case-slider {
  width: 73vw;
  margin: 0 auto;
}
#feature_202511 .holiday25-case-slider-window {
  width: 100%;
  height: 73vw;
  overflow: hidden;
  border-radius: 50vw 50vw 0 0;
  position: relative;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  box-shadow: 0 0 0 1vw #8e0707, 0 0 0 1.2vw #c6a887;
}
#feature_202511 .holiday25-case-slider-track {
  display: flex;
  gap: 0;
}
#feature_202511 .holiday25-case-slide {
  min-width: 100%;
  width: 100%;
  display: block;
  flex-shrink: 0;
}
#feature_202511 .holiday25-case-slider-dots {
  display: flex;
  justify-content: center;
  gap: 7.5vw;
  margin-top: 5vw;
}
#feature_202511 .holiday25-case-dot {
  width: 6vw;
  height: 6vw;
  border: none;
  background: #c6a887;
  cursor: pointer;
  padding: 0;
  clip-path: polygon(50% 0%, 55% 25%, 58% 32%, 62% 37%, 68% 42%, 100% 50%, 68% 58%, 62% 63%, 58% 68%, 55% 75%, 50% 100%, 45% 75%, 42% 68%, 38% 63%, 32% 58%, 0% 50%, 32% 42%, 38% 37%, 42% 32%, 45% 25%);
  position: relative;
}
#feature_202511 .holiday25-case-dot::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 67%;
  height: 67%;
  background: #8e0707;
  clip-path: polygon(50% 0%, 55% 25%, 58% 32%, 62% 37%, 68% 42%, 100% 50%, 68% 58%, 62% 63%, 58% 68%, 55% 75%, 50% 100%, 45% 75%, 42% 68%, 38% 63%, 32% 58%, 0% 50%, 32% 42%, 38% 37%, 42% 32%, 45% 25%);
  transition: opacity 0.3s ease;
}
#feature_202511 .holiday25-case-dot.active::before {
  opacity: 0;
}
#feature_202511 .holiday25-case-description {
  font-family: "Noto Serif JP", serif;
  font-size: 2.9vw;
  font-weight: 300;
  line-height: 2.2;
  color: #fff;
  margin: 6vw auto 10vw auto;
  max-width: 75vw;
  text-align: justify;
  text-justify: inter-ideograph;
  letter-spacing: 0.14em;
}


#feature_202511 .holiday25-case-detail-photos {
  position: relative;
  width: 70%;
  margin: 8vw auto 0 auto;
  min-height: 50vw;
}
#feature_202511 .holiday25-case-detail-photos img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(0deg);
  width: 100%;
  height: auto;
  opacity: 0;
  background: #fff;
  padding: 1.7vw 1.7vw 1.7vw 1.7vw;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
}

@keyframes fadeInDetail1 {
  from { opacity: 0; transform: translateX(-50%) rotate(0deg); }
  to { opacity: 1; transform: translateX(-50%) rotate(-9deg); }
}
@keyframes fadeInDetail2 {
  from { opacity: 0; transform: translateX(-50%) rotate(0deg); }
  to { opacity: 1; transform: translateX(-50%) rotate(2.5deg); }
}

#feature_202511 .holiday25-case-detail-photos.show img.holiday25-detail-photo-1 { 
  animation: fadeInDetail1 0.3s ease-out 0.2s forwards; 
}
#feature_202511 .holiday25-case-detail-photos.show img.holiday25-detail-photo-2 { 
  animation: fadeInDetail2 0.3s ease-out 0.7s forwards; 
}

#feature_202511 .holiday25-case-detail-photos:not(.show) img {
  opacity: 0;
  transform: translateX(-50%) rotate(0deg);
}


#feature_202511 .holiday25-buy-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  margin: 55vw auto 0 auto;
  padding: 0.8vw 0 1.6vw 0;
  background: #000;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 4vw;
  font-weight: 400;
  text-decoration: none;
  border: none;
  transition: all 0.3s ease;
  letter-spacing: 0.1em;
}
  #feature_202511 .holiday25-case-section .holiday25-buy-button:hover,
  #feature_202511 .holiday25-gadget-section .holiday25-buy-button:hover {
    background: #fff;
    color: #000;
    transform: translateY(-2px);


    
  }


#feature_202511 .holiday25-gadget-section {
  background: #8e0707;
  padding: 10vw 6vw 8vw 6vw;
  text-align: center;
}
#feature_202511 .holiday25-gadget-product-info {
  color: #fff;
}
#feature_202511 .holiday25-gadget-title-img {
  width: 65vw;
  height: auto;
  display: block;
  margin: 0 auto 2vw auto;
  margin-left: 7vw;
}
#feature_202511 .holiday25-gadget-details {
  font-family: "Noto Serif JP", serif;
  font-size: 2vw;
    font-weight: 300;
  margin: 0 0 4vw 0;
  letter-spacing: 0.05em;
  color: #fff;
  margin-left: 9.3vw;
    text-align: left;
}


#feature_202511 .holiday25-gadget-slider {
  width: 73vw;
    margin: 0 auto;
}
#feature_202511 .holiday25-gadget-slider-window {
    width: 100%;
  height: 73vw;
  overflow: hidden;
  border-radius: 50vw 50vw 0 0;
    position: relative;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  box-shadow: 0 0 0 1vw #8e0707, 0 0 0 1.2vw #c6a887;
  }
#feature_202511 .holiday25-gadget-slider-track {
  display: flex;
  gap: 0;
  }
#feature_202511 .holiday25-gadget-slide {
  min-width: 100%;
    width: 100%;
  display: block;
  flex-shrink: 0;
  }
#feature_202511 .holiday25-gadget-slider-dots {
  display: flex;
  justify-content: center;
  gap: 3vw;
  margin-top: 5vw;
  }
#feature_202511 .holiday25-gadget-dot {
  width: 6vw;
  height: 6vw;
  border: none;
  background: #c6a887;
  cursor: pointer;
  padding: 0;
  clip-path: polygon(50% 0%, 55% 25%, 58% 32%, 62% 37%, 68% 42%, 100% 50%, 68% 58%, 62% 63%, 58% 68%, 55% 75%, 50% 100%, 45% 75%, 42% 68%, 38% 63%, 32% 58%, 0% 50%, 32% 42%, 38% 37%, 42% 32%, 45% 25%);
    position: relative;
  }
#feature_202511 .holiday25-gadget-dot::before {
  content: '';
    position: absolute;
  top: 50%;
    left: 50%;
  transform: translate(-50%, -50%);
  width: 67%;
  height: 67%;
  background: #8e0707;
  clip-path: polygon(50% 0%, 55% 25%, 58% 32%, 62% 37%, 68% 42%, 100% 50%, 68% 58%, 62% 63%, 58% 68%, 55% 75%, 50% 100%, 45% 75%, 42% 68%, 38% 63%, 32% 58%, 0% 50%, 32% 42%, 38% 37%, 42% 32%, 45% 25%);
  transition: opacity 0.3s ease;
  }
#feature_202511 .holiday25-gadget-dot.active::before {
  opacity: 0;
  }
#feature_202511 .holiday25-gadget-description {
  font-family: "Noto Serif JP", serif;
  font-size: 2.9vw;
    font-weight: 300;
  line-height: 2.2;
  color: #fff;
  margin: 6vw auto 15vw auto;
  max-width: 75vw;
  text-align: justify;
  text-justify: inter-ideograph;
  letter-spacing: 0.14em;
  }
  

#feature_202511 .holiday25-gadget-detail-photos {
    position: relative;
  width: 70%;
  margin: 8vw auto 0 auto;
  min-height: 50vw;
  }
#feature_202511 .holiday25-gadget-detail-photos img {
    position: absolute;
  top: 0;
    left: 50%;
  transform: translateX(-50%) rotate(0deg);
    width: 100%;
  height: auto;
  opacity: 0;
  background: #fff;
  padding: 1.7vw 1.7vw 1.7vw 1.7vw;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
  }

@keyframes fadeInGadgetDetail1 {
  from { opacity: 0; transform: translateX(-50%) rotate(0deg); }
  to { opacity: 1; transform: translateX(-50%) rotate(-9deg); }
}
@keyframes fadeInGadgetDetail2 {
  from { opacity: 0; transform: translateX(-50%) rotate(0deg); }
  to { opacity: 1; transform: translateX(-50%) rotate(2.5deg); }
}

#feature_202511 .holiday25-gadget-detail-photos.show img.holiday25-gadget-detail-photo-1 { 
  animation: fadeInGadgetDetail1 0.3s ease-out 0.2s forwards; 
  }
#feature_202511 .holiday25-gadget-detail-photos.show img.holiday25-gadget-detail-photo-2 { 
  animation: fadeInGadgetDetail2 0.3s ease-out 0.7s forwards; 
  }

#feature_202511 .holiday25-gadget-detail-photos:not(.show) img {
  opacity: 0;
  transform: translateX(-50%) rotate(0deg);
}
  

#feature_202511 .holiday25-final-section {
  background: #8e0707;
  padding: 10vw 6vw 8vw 6vw;
  text-align: center;
  }
#feature_202511 .holiday25-final-title-img {
  width: 50vw;
  height: auto;
  display: block;
  margin: 0 0 2vw 5vw;
  }


#feature_202511 .holiday25-final-slider {
  width: 72vw;
    margin: 0 auto;
  }
  
#feature_202511 .holiday25-final-slider-window {
  width: 100%;
  height: 90vw;
  overflow: hidden;
  position: relative;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  cursor: grab;
  }
  
#feature_202511 .holiday25-final-slider-window:active {
  cursor: grabbing;
  }
  
#feature_202511 .holiday25-final-slider-track {
  display: flex;
  gap: 0;
  transition: transform 0.3s ease-out;
  height: 100%;
  }
  
#feature_202511 .holiday25-final-slide-link {
  min-width: 100%;
    width: 100%;
  height: 100%;
  display: block;
  flex-shrink: 0;
    position: relative;
  text-decoration: none;
  overflow: hidden;
  }
  
#feature_202511 .holiday25-final-slide-link::before {
  content: '';
    position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.635);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
  pointer-events: none;
  }
  
#feature_202511 .holiday25-final-slide {
    width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: filter 0.3s ease;
  }
  
#feature_202511 .holiday25-final-slide-text {
    position: absolute;
  top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  font-family: "Noto Serif JP", serif;
    font-size: 3.5vw;
  font-weight: 400;
  color: #ffffff !important;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 2;
  text-align: center;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  }
  
#feature_202511 .holiday25-final-slide-link:hover .holiday25-final-slide,
#feature_202511 .holiday25-final-slide-link:active .holiday25-final-slide {
  filter: brightness(0.7);
  }
  
#feature_202511 .holiday25-final-slide-link:hover::before,
#feature_202511 .holiday25-final-slide-link:active::before {
  opacity: 1;
  }
  
#feature_202511 .holiday25-final-slide-link:hover .holiday25-final-slide-text,
#feature_202511 .holiday25-final-slide-link:active .holiday25-final-slide-text {
  opacity: 1;
  }
  
#feature_202511 .holiday25-final-logo {
  width: 15.5vw;
  height: auto;
  display: block;
  margin: 11vw auto 8vw auto;
  filter: invert(1);
  }
  
  
  #feature_202511 .holiday25-pc-photo-stack {
    display: none;
  }
} 


@media (min-width: 1065px) {
  
  #feature_202511 header h1 {
    width: 100%;
    margin: 0 auto;
    position: relative;
  }
  #feature_202511 header h1 img.dPcinline {
    width: 100%;
    height: auto;
    display: block;
  }
  
  
  #feature_202511 .holiday25-pc-photo-stack {
    position: absolute;
    top: 9%;
    left: 85%;
    transform: translateX(-50%);
    width:21%;
    z-index: 10;
  }
  
  
  #feature_202511 .holiday25-pc-photo-stack img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) rotate(0deg);
    width: 100%;
    height: auto;
    opacity: 0;
    background: #fff;
    padding: 10px 10px 10px 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
  }
  
  
  @keyframes pcFadeInPhoto1 {
    from {
      opacity: 0;
      transform: translateX(-50%) rotate(0deg);
    }
    to {
      opacity: 1;
      transform: translateX(-50%) rotate(3deg);
    }
  }
  
  @keyframes pcFadeInPhoto2 {
    from {
      opacity: 0;
      transform: translateX(-50%) rotate(0deg);
    }
    to {
      opacity: 1;
      transform: translateX(-50%) rotate(12deg);
    }
  }
  
  @keyframes pcFadeInPhoto3 {
    from {
      opacity: 0;
      transform: translateX(-50%) rotate(0deg);
    }
    to {
      opacity: 1;
      transform: translateX(-50%) rotate(-8deg);
    }
  }
  
  
  #feature_202511 .holiday25-pc-photo-stack.pc-show img.holiday25-pc-photo-1 {
    animation: pcFadeInPhoto1 0.3s ease-out 0.3s forwards;
  }
  #feature_202511 .holiday25-pc-photo-stack.pc-show img.holiday25-pc-photo-2 {
    animation: pcFadeInPhoto2 0.3s ease-out 0.8s forwards;
  }
  #feature_202511 .holiday25-pc-photo-stack.pc-show img.holiday25-pc-photo-3 {
    animation: pcFadeInPhoto3 0.3s ease-out 1.3s forwards;
  }
  
  #feature_202511 .holiday25-pc-photo-stack:not(.pc-show) img {
    opacity: 0;
    transform: translateX(-50%) rotate(0deg);
  }
  
  
  #feature_202511 .holiday25-banner-second {
    display: none;
  }
  
  
  #feature_202511 .holiday25-intro-text {
    padding: 120px 60px;
    text-align: center;
  }
  #feature_202511 .holiday25-intro-text p {
    font-family: "Noto Serif JP", serif;
    font-size: 27px;
    line-height: 1.9;
    color: #fff;
    margin: 0;
    font-weight: 100;
    letter-spacing: 0.05em;
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  }
  #feature_202511 .holiday25-intro-text.show p {
    opacity: 1;
    transform: translateY(0);
  }
  
  
  #feature_202511 .holiday25-light-ray-corner {
    position: absolute;
    width: min(6.25vw, 120px);
    height: min(6.25vw, 120px);
    pointer-events: none;
  }
  #feature_202511 .holiday25-light-ray-corner.holiday25-top-left {
    top: min(45.57vw, 875px);
    left: min(1.93vw, 37px);
  }
  #feature_202511 .holiday25-light-ray-corner.holiday25-top-right {
    top: min(45.57vw, 875px);
    right: min(1.93vw, 37px);
    transform: scaleX(-1);
  }
  #feature_202511 .holiday25-light-ray-corner.holiday25-bottom-left {
    bottom: min(1.04vw, 20px);
    left: min(1.93vw, 37px);
    transform: scaleY(-1);
  }
  #feature_202511 .holiday25-light-ray-corner.holiday25-bottom-right {
    bottom: min(1.04vw, 20px);
    right: min(1.93vw, 37px);
    transform: scale(-1, -1);
  }
  #feature_202511 .holiday25-light-ray-corner svg {
    width: 100%;
    height: 100%;
  }
  
  
  #feature_202511 .holiday25-case-section {
    padding: 80px 60px 60px 60px;
    text-align: center;
  }
  #feature_202511 .holiday25-case-product-info {
    color: #fff;
    position: relative;
  }
  #feature_202511 .holiday25-case-title-img {
    width: min(23.44vw, 450px);
    height: auto;
    display: block;
    margin: 0 auto 20px auto;
    margin-left: min(10.42vw, 200px);
  }
  #feature_202511 .holiday25-case-details {
    font-family: "Noto Serif JP", serif;
    font-size: min(0.83vw, 16px);
    font-weight: 300;
    margin: 0 0 40px 0;
    letter-spacing: 0.05em;
    color: #fff;
    margin-left: min(10.94vw, 210px);
    text-align: left;
  }
  
  #feature_202511 .holiday25-case-description {
    font-family: "Noto Serif JP", serif;
    font-size: min(1.04vw, 20px);
    font-weight: 300;
    line-height: 2.2;
    color: #fff;
    margin: 23px auto 100px auto;
    margin-left: min(10.94vw, 210px);
    max-width: min(33.85vw, 650px);
    text-align: justify;
    text-justify: inter-ideograph;
    letter-spacing: 0.14em;
  }
  
  
  #feature_202511 .holiday25-case-slider {
    width: min(21.35vw, 410px);
    margin: 0 auto 0 0;
    margin-left: min(16.67vw, 320px);
  }
  #feature_202511 .holiday25-case-slider-window {
    width: 100%;
    height: min(21.35vw, 410px);
    overflow: hidden;
    border-radius: 500px 500px 0 0;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    box-shadow: 0 0 0 10px #8e0707, 0 0 0 12px #c6a887;
  }
  #feature_202511 .holiday25-case-slider-track {
    display: flex;
    gap: 0;
  }
  #feature_202511 .holiday25-case-slide {
    min-width: 100%;
    width: 100%;
    display: block;
    flex-shrink: 0;
  }
  #feature_202511 .holiday25-case-slider-dots {
    display: flex;
    justify-content: center;
    gap: min(2.34vw, 45px);
    margin-top: min(2.08vw, 40px);
  }
  #feature_202511 .holiday25-case-dot {
    width: min(2.08vw, 40px);
    height: min(2.08vw, 40px);
    border: none;
    background: #c6a887;
    cursor: pointer;
    padding: 0;
    clip-path: polygon(50% 0%, 55% 25%, 58% 32%, 62% 37%, 68% 42%, 100% 50%, 68% 58%, 62% 63%, 58% 68%, 55% 75%, 50% 100%, 45% 75%, 42% 68%, 38% 63%, 32% 58%, 0% 50%, 32% 42%, 38% 37%, 42% 32%, 45% 25%);
    position: relative;
  }
  #feature_202511 .holiday25-case-dot::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 67%;
    height: 67%;
    background: #8e0707;
    clip-path: polygon(50% 0%, 55% 25%, 58% 32%, 62% 37%, 68% 42%, 100% 50%, 68% 58%, 62% 63%, 58% 68%, 55% 75%, 50% 100%, 45% 75%, 42% 68%, 38% 63%, 32% 58%, 0% 50%, 32% 42%, 38% 37%, 42% 32%, 45% 25%);
    transition: opacity 0.3s ease;
  }
  #feature_202511 .holiday25-case-dot.active::before {
    opacity: 0;
  }
  #feature_202511 .holiday25-case-description {
    font-family: "Noto Serif JP", serif;
    font-size: min(1.04vw, 20px);
    font-weight: 300;
    line-height: 2.2;
    color: #fff;
    margin: 23px auto 100px auto;
    margin-left: min(10.94vw, 210px);
    max-width: min(33.85vw, 650px);
    text-align: justify;
    text-justify: inter-ideograph;
    letter-spacing: 0.14em;
  }
  
  
  #feature_202511 .holiday25-case-section .holiday25-case-detail-photos {
    position: absolute;
    top: min(5.21vw, 100px);
    left: min(58.33vw, 1120px);
    width: min(25vw, 480px);
    margin: 0;
    min-height: min(25vw, 480px);
  }
  #feature_202511 .holiday25-case-detail-photos img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) rotate(0deg);
    width: 100%;
    height: auto;
    opacity: 0;
    background: #fff;
    padding: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
  }
  
  @keyframes pcFadeInDetail1 {
    from { opacity: 0; transform: translateX(-50%) rotate(0deg); }
    to { opacity: 1; transform: translateX(-50%) rotate(-9deg); }
  }
  @keyframes pcFadeInDetail2 {
    from { opacity: 0; transform: translateX(-50%) rotate(0deg); }
    to { opacity: 1; transform: translateX(-50%) rotate(2.5deg); }
  }
  
  #feature_202511 .holiday25-case-detail-photos.show img.holiday25-detail-photo-1 { 
    animation: pcFadeInDetail1 0.3s ease-out 0.2s forwards; 
  }
  #feature_202511 .holiday25-case-detail-photos.show img.holiday25-detail-photo-2 { 
    animation: pcFadeInDetail2 0.3s ease-out 0.7s forwards; 
  }
  
  #feature_202511 .holiday25-case-detail-photos:not(.show) img {
    opacity: 0;
    transform: translateX(-50%) rotate(0deg);
  }
  
  
  #feature_202511 .holiday25-case-section .holiday25-buy-button {
    position: absolute;
    top: min(46.88vw, 900px);
    left: min(64.58vw, 1240px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(14.58vw, 280px);
    margin: 0;
    padding: 12px 0 20px 0;
    background: #000;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: min(1.25vw, 24px);
    font-weight: 500;
    text-decoration: none;
    border: none;
    transition: all 0.3s ease;
    letter-spacing: 0.1em;
  }
  
  
  #feature_202511 .holiday25-gadget-section {
    padding: 80px 60px 60px 60px;
    text-align: center;
  }
  #feature_202511 .holiday25-gadget-product-info {
    color: #fff;
    position: relative;
  }
  #feature_202511 .holiday25-gadget-title-img {
    width: min(23.44vw, 450px);
    height: auto;
    display: block;
    margin: 0 auto 20px auto;
    margin-left: min(55.21vw, 1060px);
  }
  #feature_202511 .holiday25-gadget-details {
    font-family: "Noto Serif JP", serif;
    font-size: min(0.83vw, 16px);
    font-weight: 300;
    margin: 0 0 40px 0;
    letter-spacing: 0.05em;
    color: #fff;
    margin-left: min(56.15vw, 1078px);
    text-align: left;
  }
  
  #feature_202511 .holiday25-gadget-description {
    font-family: "Noto Serif JP", serif;
    font-size: min(1.1vw, 16px);
    font-weight: 300;
    line-height: 2.2;
    color: #fff;
    margin: 23px auto 100px auto;
    margin-left: min(55.73vw, 1070px);
    max-width: min(29.43vw, 565px);
    text-align: justify;
    text-justify: inter-ideograph;
    letter-spacing: 0.14em;
  }
  
  
  #feature_202511 .holiday25-gadget-slider {
    width: min(21.35vw, 410px);
    margin: 0 0 0 auto;
    margin-left: min(58.85vw, 1130px);
  }
  #feature_202511 .holiday25-gadget-slider-window {
    width: 100%;
    height: min(21.35vw, 410px);
    overflow: hidden;
    border-radius: 500px 500px 0 0;
    position: relative;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    box-shadow: 0 0 0 10px #8e0707, 0 0 0 12px #c6a887;
  }
  #feature_202511 .holiday25-gadget-slider-track {
    display: flex;
    gap: 0;
  }
  #feature_202511 .holiday25-gadget-slide {
    min-width: 100%;
    width: 100%;
    display: block;
    flex-shrink: 0;
  }
  #feature_202511 .holiday25-gadget-slider-dots {
    display: flex;
    justify-content: center;
    gap: min(2.34vw, 45px);
    margin-top: min(2.08vw, 40px);
  }
  #feature_202511 .holiday25-gadget-dot {
    width: min(2.08vw, 40px);
    height: min(2.08vw, 40px);
    border: none;
    background: #c6a887;
    cursor: pointer;
    padding: 0;
    clip-path: polygon(50% 0%, 55% 25%, 58% 32%, 62% 37%, 68% 42%, 100% 50%, 68% 58%, 62% 63%, 58% 68%, 55% 75%, 50% 100%, 45% 75%, 42% 68%, 38% 63%, 32% 58%, 0% 50%, 32% 42%, 38% 37%, 42% 32%, 45% 25%);
    position: relative;
  }
  #feature_202511 .holiday25-gadget-dot::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 67%;
    height: 67%;
    background: #8e0707;
    clip-path: polygon(50% 0%, 55% 25%, 58% 32%, 62% 37%, 68% 42%, 100% 50%, 68% 58%, 62% 63%, 58% 68%, 55% 75%, 50% 100%, 45% 75%, 42% 68%, 38% 63%, 32% 58%, 0% 50%, 32% 42%, 38% 37%, 42% 32%, 45% 25%);
    transition: opacity 0.3s ease;
  }
  #feature_202511 .holiday25-gadget-dot.active::before {
    opacity: 0;
  }
  #feature_202511 .holiday25-gadget-description {
    font-family: "Noto Serif JP", serif;
    font-size: min(1.1vw, 16px);
    font-weight: 300;
    line-height: 2.2;
    color: #fff;
    margin: 23px auto 100px auto;
    margin-left: min(55.73vw, 1070px);
    max-width: min(29.43vw, 565px);
    text-align: justify;
    text-justify: inter-ideograph;
    letter-spacing: 0.14em;
  }
  
  
  #feature_202511 .holiday25-gadget-section .holiday25-gadget-detail-photos {
    position: absolute;
    top: min(5.21vw, 100px);
    left: min(14.06vw, 270px);
    width: min(25vw, 480px);
    margin: 0;
    min-height: min(25vw, 480px);
  }
  #feature_202511 .holiday25-gadget-detail-photos img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) rotate(0deg);
    width: 100%;
    height: auto;
    opacity: 0;
    background: #fff;
    padding: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
  }
  
  @keyframes pcFadeInGadgetDetail1 {
    from { opacity: 0; transform: translateX(-50%) rotate(0deg); }
    to { opacity: 1; transform: translateX(-50%) rotate(-9deg); }
  }
  @keyframes pcFadeInGadgetDetail2 {
    from { opacity: 0; transform: translateX(-50%) rotate(0deg); }
    to { opacity: 1; transform: translateX(-50%) rotate(2.5deg); }
  }
  
  #feature_202511 .holiday25-gadget-detail-photos.show img.holiday25-gadget-detail-photo-1 { 
    animation: pcFadeInGadgetDetail1 0.3s ease-out 0.2s forwards; 
  }
  #feature_202511 .holiday25-gadget-detail-photos.show img.holiday25-gadget-detail-photo-2 { 
    animation: pcFadeInGadgetDetail2 0.3s ease-out 0.7s forwards; 
  }
  
  #feature_202511 .holiday25-gadget-detail-photos:not(.show) img {
    opacity: 0;
    transform: translateX(-50%) rotate(0deg);
  }
  
  
  #feature_202511 .holiday25-gadget-section .holiday25-buy-button {
    position: absolute;
    top: min(46.88vw, 900px);
    left: min(20.57vw, 395px);
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(14.58vw, 280px);
    margin: 0;
    padding: 12px 0 20px 0;
    background: #000;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: min(1.25vw, 24px);
    font-weight: 500;
    text-decoration: none;
    border: none;
    transition: all 0.3s ease;
    letter-spacing: 0.1em;
  }
  #feature_202511 .holiday25-case-section .holiday25-buy-button:hover,
  #feature_202511 .holiday25-gadget-section .holiday25-buy-button:hover {
    background: #fff;
    color: #000;
    transform: translateY(-2px);
  }
  
  
  #feature_202511 .holiday25-final-section {
    padding: 80px 60px 60px 60px;
    text-align: center;
  }
  #feature_202511 .holiday25-final-title-img {
    width: min(33.85vw, 650px);
    height: auto;
    display: block;
    margin: 0 auto 0.1px auto;
    margin-left: min(8.07vw, 155px);
  }
  
  
  #feature_202511 .holiday25-final-slider {
    display: none;
  }
  
  
  #feature_202511 .holiday25-final-gallery-pc {
    width: 80%;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    cursor: grab;
    user-select: none;
  }
  #feature_202511 .holiday25-final-gallery-pc.dragging {
    cursor: grabbing;
  }
  #feature_202511 .holiday25-final-gallery-pc img {
    pointer-events: none;
    user-select: none;
  }
  #feature_202511 .holiday25-final-gallery-track-pc {
    display: flex;
    gap: 15px;
    transition: transform 0.3s ease-out;
    will-change: transform;
  }
  #feature_202511 .holiday25-final-gallery-track-pc.no-transition {
    transition: none;
  }
  
  
  #feature_202511 .holiday25-gallery-item-pc {
    flex-shrink: 0;
  }
  
  
  #feature_202511 .holiday25-gallery-item-pc.item-1 {
    width: calc(700px * 0.61);
    height: 700px 
  }
  #feature_202511 .holiday25-gallery-item-pc.item-1 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  
  #feature_202511 .holiday25-gallery-item-pc.item-6 {
    width: calc(720px * 0.71);
    height: 700px 
  }
  #feature_202511 .holiday25-gallery-item-pc.item-6 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  
  #feature_202511 .holiday25-gallery-item-pc.holiday25-gallery-group-pc {
    display: flex !important;
    flex-direction: column;
    gap: 15px;
    width: auto;
    height: 600px;
    flex-shrink: 0;
  }
  
  
  #feature_202511 .holiday25-gallery-group-row:first-child {
    display: flex;
    gap: 15px;
    height: 434px;
  }
  
  
  #feature_202511 .holiday25-gallery-group-row:last-child {
    display: flex;
    gap: 15px;
    height: 280px;
  }
  
  
  #feature_202511 .holiday25-gallery-item-pc.holiday25-gallery-group-pc .group-img-4 {
    height: 100%;
    width: auto;
    aspect-ratio: 0.70 / 1;
    object-fit: cover;
    display: block;
  }
  
  
  #feature_202511 .holiday25-gallery-item-pc.holiday25-gallery-group-pc .group-img-5 {
    height: 100%;
    width: auto;
    aspect-ratio: 1.2 / 1;
    object-fit: cover;
    display: block;
  }
  
  
  #feature_202511 .holiday25-gallery-item-pc.holiday25-gallery-group-pc .group-img-2 {
    height: 100%;
    width: auto;
    aspect-ratio: 1.85 / 1;
    object-fit: cover;
    display: block;
  }
  
  
  #feature_202511 .holiday25-gallery-item-pc.holiday25-gallery-group-pc .group-img-3 {
    height: 100%;
    width: auto;
    aspect-ratio: 1.1 / 1;
    object-fit: cover;
    display: block;
  }
  
  
  #feature_202511 .gallery-pc-link {
    position: relative;
    display: block;
    overflow: hidden;
  }
  
  
  #feature_202511 .gallery-pc-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: 22px;
    font-weight: 400;
    text-align: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    white-space: nowrap;
    pointer-events: none;
  }
  
  
  #feature_202511 .gallery-pc-link::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.3s ease;
    z-index: 1;
  }
  
  #feature_202511 .gallery-pc-link:hover::before {
    background: rgba(0, 0, 0, 0.635);
  }
  
  #feature_202511 .gallery-pc-link:hover .gallery-pc-text {
    opacity: 1;
  }
  
  
  #feature_202511 .holiday25-final-logo {
    width: min(6.25vw, 120px);
    height: auto;
    display: block;
    margin: min(7.29vw, 140px) auto 0 auto;
    filter: invert(1);
  }
  
  
  .holiday25-left-lines {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
    z-index: 100;
  }
  .holiday25-left-lines::before {
    content: '';
    position: absolute;
    top: min(53.65vw, 1030px);
    bottom: min(8.85vw, 170px);
    left: min(1.98vw, 38px);
    width: 3.3px;
    background: #c6a887;
  }
  .holiday25-left-lines::after {
    content: '';
    position: absolute;
    top: min(53.65vw, 1030px);
    bottom: min(8.85vw, 170px);
    left: min(3.13vw, 60px);
    width: 1.3px;
    background: #c6a887;
  }
  
  
  .holiday25-right-lines {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
    z-index: 100;
  }
  .holiday25-right-lines::before {
    content: '';
    position: absolute;
    top: min(53.65vw, 1030px);
    bottom: min(8.85vw, 170px);
    right: min(1.98vw, 38px);
    width: 3.3px;
    background: #c6a887;
  }
  .holiday25-right-lines::after {
    content: '';
    position: absolute;
    top: min(53.65vw, 1030px);
    bottom: min(8.85vw, 170px);
    right: min(3.13vw, 60px);
    width: 1.3px;
    background: #c6a887;
  }
}

@media (min-width: 1065px) and (max-width: 1440px) {
  #feature_202511 .holiday25-case-title-img {
    width: max(20vw, 300px);
    margin-left: max(10.42vw, 150px);
  }
  
  #feature_202511 .holiday25-case-details {
    font-size: max(0.9vw, 13px);
    margin-left: max(10.94vw, 150px);
  }
  
  #feature_202511 .holiday25-case-description {
    font-size: max(1.1vw, 16px);
    margin-left: max(9.58vw, 145px);
    max-width: max(29.9vw, 437px);
  }
  
  #feature_202511 .holiday25-case-slider {
    width: max(18vw, 260px);
    margin-left: max(15.63vw, 225px);
  }
  
  #feature_202511 .holiday25-case-slider-window {
    height: max(18vw, 260px);
  }
  
  #feature_202511 .holiday25-case-section .holiday25-case-detail-photos {
    top: max(4vw, 60px);
    left: max(53.47vw, 770px);
    width: max(22vw, 320px);
    min-height: max(22vw, 320px);
  }
  
  #feature_202511 .holiday25-case-section .holiday25-buy-button {
    top: max(42vw, 605px);
    left: max(59.72vw, 860px);
    width: max(13vw, 190px);
    font-size: max(1.3vw, 18px);
  }
  
  #feature_202511 .holiday25-gadget-title-img {
    width: max(20vw, 300px);
    margin-left: max(53.10vw, 765px);
  }
  
  #feature_202511 .holiday25-gadget-details {
    font-size: max(0.9vw, 13px);
    margin-left: max(53.79vw, 775px);
  }
  
  #feature_202511 .holiday25-gadget-description {
    font-size: max(1.2vw, 17px);
    margin-left: max(53.10vw, 765px);
    max-width: max(31vw, 430px);
  }
  
  #feature_202511 .holiday25-gadget-slider {
    width: max(18vw, 260px);
    margin-left: max(57.93vw, 835px);
  }
  
  #feature_202511 .holiday25-gadget-slider-window {
    height: max(18vw, 260px);
  }
  
  #feature_202511 .holiday25-gadget-section .holiday25-gadget-detail-photos {
    top: max(4vw, 60px);
    left: max(13.54vw, 195px);
    width: max(22vw, 320px);
    min-height: max(22vw, 320px);
  }
  
  #feature_202511 .holiday25-gadget-section .holiday25-buy-button {
    top: max(42vw, 605px);
    left: max(18.75vw, 270px);
    width: max(13vw, 190px);
    font-size: max(1.3vw, 18px);
  }
}
