/** Shopify CDN: Minification failed

Line 1349:4 Unexpected "/"

**/
@charset "UTF-8";

/* 
==============================================
Table of Contents
==============================================
1. Custom Properties (Variables)
2. Base Styles
3. Layout & Containers
4. Typography
5. Components
   5.1 Buttons
   5.2 Cards
   5.3 Badges
   5.4 Navigation
6. Section-Specific Styles
   6.1 Main Visual
   6.2 Lead Section
   6.3 Wrapping Section
   6.4 Limit Section
   6.5 Ranking Section
   6.6 CastVideo Section
   6.7 Budget Section
   6.8 Survey Section
   6.9 Announcement Section
   6.10 Review Section
7. Utilities
8. Media Queries
==============================================
*/

/* 
==============================================
1. Custom Properties (Variables)
==============================================
*/
:root {
  /* Colors */
  --primary-color: #FF8A39;
  /* メインカラー */
  --secondary-color: #FFEC9B;
  --accent-color: #FE4938;
  /* ポイントで使用する薄いオレンジとレッド */
  --text-dark: #3A302E;
  --text-light: #FFFFFF;
  --text-red: #FE4938;
  /* 補助的なテキストカラー */

  /* Typography */
  --font-size-sm: 1.1rem;
  --font-size-base: 1.5rem;
  --font-size-lg: 1.5rem;
  --font-size-xl: 2rem;
  --font-size-2xl: 3rem;
  --font-size-3xl: 4rem;
  --font-size-4xl: 6rem;

  /* Spacing */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 3rem;
  --spacing-4xl: 4rem;

  /* Layout */
  --max-width: 1200px;
  --border-radius: 50rem;
  --border-radius-full: 999px;

  /* Transitions */
  --transition-base: 0.3s ease;
}

/* 
==============================================
2. Base Styles
==============================================
*/
#grandparentsday2025 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 14px;
  box-sizing: border-box;
  overflow: hidden;
}

#grandparentsday2025.futura {
  font-weight: 500;
  font-family: futura;
}

#grandparentsday2025 h1,
#grandparentsday2025 h2,
#grandparentsday2025 h3 {
  margin-top: 0;
  margin-bottom: 0;
}

/* 
==============================================
3. Layout & Containers
==============================================
*/
#grandparentsday2025 section>[class*="__inner"] {
  padding: var(--spacing-4xl) var(--spacing-lg);
  text-align: center;
}

/* Background Colors */
#grandparentsday2025 .bg--primary {
  background-color: var(--primary-color) !important;
  color: var(--text-light);
}

#grandparentsday2025 .bg--secondary {
  background-color: var(--secondary-color) !important;
  color: var(--text-dark);
}
#grandparentsday2025 .bg--accent {
  background-color: var(--accent-color) !important;
  color: var(--primary-color);
}

/* Text Colors */
#grandparentsday2025 .text--primary {
  color: var(--primary-color) !important;
}

#grandparentsday2025 .text--secondary {
  color: var(--secondary-color) !important;
}

#grandparentsday2025 .text--accent {
  color: var(--accent-color) !important;
}

#grandparentsday2025 .text--dark {
  color: var(--text-dark) !important;
}

#grandparentsday2025 .text--light {
  color: var(--text-light) !important;
}

#grandparentsday2025 .text--red {
  color: var(--text-red) !important;
}

/* Separator */
.sepaletor {
  line-height: 0;
  overflow: hidden;
  width: 100%;
}

.sepaletor svg {
  width: 100%;
  transform: translateY(1px);
}

.sepaletor.before--survey svg path {
  fill: var(--primary-color);
}

.footer-superline-banner {
  display: none;
}

/* スマホ版のみ配送締切スーパーラインバナー表示 */
@media screen and (max-width: 767px) {
  .footer-superline-banner {
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 999999;
  }
  .footer-superline-banner img {
    width: 100%;
    height: auto;
  }
  .footer {
    padding-bottom: calc(2rem + 15.625vw);
  }
}

/* 
==============================================
4. Typography
==============================================
*/
.ft header {
  display: flex;
  gap: 1rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
}

.ft .header__heading {
  line-height: 130%;
}

.header__heading h2 {
  line-height: 130%;
  font-size: var(--font-size-3xl);
}

.ft header svg {
  max-width: 4rem;
}

.heading--bubble {
  line-height: 130%;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  background-color: var(--secondary-color);
  color: var(--accent-color);
  padding: var(--spacing-lg) var(--spacing-lg);
  border-radius: 1rem;
  text-align: center;
  position: relative;
}

.heading--bubble:after {
  content: "";
  position: absolute;
  top: 99%;
  left: 50%;
  z-index: 0;
  width: 24px;
  height: 16px;
  transform: translateX(-50%);
  box-sizing: border-box;
  background-color: var(--secondary-color);
  clip-path: path("M1.12987 0.351563C-5.92067 0.351563 27.1299 0.351562 21.1299 0.351563C15.1299 0.351563 11.6299 14.897 11.6299 14.897C11.6299 14.897 8.1804 0.351562 1.12987 0.351563Z"
    );
}

.heading--bubble em {
  font-size: var(--font-size-2xl) !important;
}

#ranking .heading--bubble {
  padding: var(--font-size-lg);
  background-color: var(--accent-color);
  color: var(--secondary-color);
}

#ranking .heading--bubble:after {
  background-color: var(--accent-color);
}

#grandparentsday2025 h3.heading--bubble {
  line-height: 150%;
  font-size:clamp(var(--font-size-lg), var(--font-size-lg) + 0.751vw, var(--font-size-xl)) !important;
  max-width: 700px;
  margin: 4rem auto 3rem;
}

/* 
==============================================
5. Components
==============================================
*/

/* 5.1 Buttons */
#grandparentsday2025 .button {
  display: inline-flex;
  padding: var(--spacing-xl) var(--spacing-xl);
  text-decoration: none;
  font-size: var(--font-size-lg);
  border-radius: var(--border-radius);
  text-align: center;
  transition: var(--transition-base);
  height: auto;
}

#grandparentsday2025 .button span{
  padding: 0 2rem;
}

#grandparentsday2025 .button:hover {
  transform: translateY(-5px);
}

#grandparentsday2025 .button:after {
  display: block;
  content: "";
  -webkit-mask: url(./row-white.svg) no-repeat center center / contain;
  mask-image: url(./row-white.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  position: relative;
  left: unset;
  height: 1.1rem;
  width: 1.1rem;
  background-color: white;
}

#grandparentsday2025 .button.anker:after {
  transform: rotate(90deg);
}

#grandparentsday2025 .button--primary {
  background-color: var(--primary-color);
  border: none;
  position: relative;
  color: white !important;
}
#grandparentsday2025 .button--secondary {
  background-color: var(--secondary-color);
  border: none;
  position: relative;
  color: var(--accent-color) !important;
}
#grandparentsday2025 .button--accent {
  background-color: var(--accent-color);
  border: 1px solid white;
  position: relative;
  width: 100%;
  color: var(--text-light)!important;
}
#grandparentsday2025 .button--accent:after {
  background-color: var(--text-light);
}

#grandparentsday2025 .button--white {
  background-color: white;
  border: none;
  position: relative;
  color: var(--primary-color)!important;
}
#grandparentsday2025 .button--white:after {
  background-color: var(--primary-color);
}

#grandparentsday2025 .bg--primary .button--primary {
  background-color: var(--quaternary-color);
  border: none;
  position: relative;
  color: var(--primary-color) !important;
}

#grandparentsday2025 .bg--primary .button--primary:after {
  background-color: var(--primary-color);
}

#grandparentsday2025 .button--secondary {
  position: relative;
  width: 100%;
}

#grandparentsday2025 .button--secondary:after {
  background-color: var(--accent-color);
}

#grandparentsday2025 .bg--primary .button--secondary:after {
  background-color: var(--accent-color);
}

/* 5.2 Cards */
.item-card {
  padding: 1rem;
  position: relative;
  margin: 1rem 0;
}

.item-card .item-card__inner {
  position: relative;
}

.item-card__inner__right {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: var(--spacing-xl) 0;
}

.item-card__inner>* {
  text-align: left;
}

.item-card__inner .item-link {
  width: 100%;
}

.item-card__inner .item-link .button {
  display: flex;
  font-size: var(--font-size-lg);
  padding: var(--spacing-lg) var(--spacing-xl);
  position: relative;
}

/* 5.3 Badges */
#ranking .pickup__list .item-card__inner:before {
  position: absolute;
  z-index: 1;
  left: -1rem;
  top: -1rem;
  width: 8rem;
  height: 8rem;
  content: "";
  background: url(/cdn/shop/files/ft-grandparentsday2025-ranking_1.svg) no-repeat center center / cover content-box;
}

#ranking .pickup__list  .item-card:nth-child(2) .item-card__inner::before {
  background: url(/cdn/shop/files/ft-grandparentsday2025-ranking_2.svg) no-repeat center center / cover content-box;
}

#ranking .pickup__list  .item-card:nth-child(3) .item-card__inner::before {
  background: url(/cdn/shop/files/ft-grandparentsday2025-ranking_3.svg) no-repeat center center / cover content-box;
}

#ranking .pickup__list  .item-card:nth-child(4) .item-card__inner::before {
  background: url(/cdn/shop/files/ft-grandparentsday2025-ranking_4.svg) no-repeat center center / cover content-box;
}

#ranking .pickup__list  .item-card:nth-child(5) .item-card__inner::before {
  background: url(/cdn/shop/files/ft-grandparentsday2025-ranking_5.svg) no-repeat center center / cover content-box;
}

/* 5.4 Navigation */
.navigation__list {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 2rem;
  margin: 0 auto;
  padding: 3rem;
}
#grandparentsday2025 .navigation .navigation__inner{
  padding-top: var(--spacing-md);
}

#grandparentsday2025 .navigation .navigation__limit{
  display: none;
}

#grandparentsday2025 .navigation .navigation__inner .button {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: nowrap;
  flex-direction: row;
}
#grandparentsday2025 .navigation .navigation__inner .button span{
  padding: 0;
  width: 100%;
}
.navigation__item {
  padding: 0.5rem;
}

.navigation__budget-list {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 auto;
  padding: 1rem;
}

.navigation__budget-item {
  flex: 48%;
}

.navigation__link:hover {
  transform: translateY(-5px);
  color: white;
}

.navigation__link:focus {
  outline: none;
  box-shadow: var(--shadow-focus);
}

.navigation__link:after {
  display: block;
  content: "";
  -webkit-mask: url(./row-white.svg) no-repeat center center / contain;
  mask-image: url(./row-white.svg);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  height: 1.1rem;
  width: 1.1rem;
  background-color: white;
  transform: rotate(90deg);
}

#grandparentsday2025.navigation__link small.futura {
  font-size: 0.7em;
  font-weight: 400;
}

/* 
==============================================
6. Section-Specific Styles
==============================================
*/

/* 6.1 Main Visual */
.mv {
  position: relative;
  background: #FF8A39 url(/cdn/shop/files/ft-grandparentsday2025-bg_sp.webp) no-repeat center center / auto 100%;
  text-align: center;
  padding-bottom: 2vh;
}

.mv h1{
  padding-top:3vh;
}

.mv .sepaletor {
  position: absolute;
  z-index: 1;
  bottom: 0;
}

.mv__inner {
  position: relative;
}

.mv__inner img {
  object-fit: cover;
  width: 100%;
}

.mv__text {
  color: var(--text-light);
  text-shadow: 0 0 6px rgba(160, 0, 0, 0.50);
}


.grandparents__gallery {
  margin: var(--spacing-md) auto;
}

.grandparents__galleryーitem {
  padding: 1rem;
  position: relative;
}

.grandparents__galleryーitem a {
  border-radius: 1rem;
  overflow: hidden;
  display: block;
}
.grandparents__galleryーitem a:after{
  content: 'VIEW MORE';
  color: white;
  display: block;
  border-radius: 2em;
  font-size: 0.8em;
  line-height: 115%;
  padding: 0.5em 1.2em;
  position: absolute;
  right: 1.5em;
  bottom: 1.5em;
  background-color: var(--primary-color);
}

/* 6.2 Lead Section */
#grandparentsday2025 .lead {
  font-size: var(--font-size-lg);
  line-height: 160%;
  margin: 0 auto;
  text-align: center;
}

#grandparentsday2025 .lead>[class*="__inner"] {
  padding: var(--spacing-4xl) 0;
}

#grandparentsday2025 .lead__text,
#grandparentsday2025 .lead__header h2 {
  margin-bottom: 1.5rem;
  font-weight: 600;
}
#grandparentsday2025 .lead__text{
  font-weight: 500;
}

.lead .sepaletor{
  display: none;
}

/* 6.3 Wrapping Section */
#grandparentsday2025 .wrapping
{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin: 0 auto;
  font-size: var(--font-size-lg);
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #FFF5CD 100%);
}

#grandparentsday2025 .wrapping:before,
#grandparentsday2025 .wrapping:after {
  display: block;
  content: "";
  width: clamp(30rem, 5.352rem + 60vw, 100rem);
  aspect-ratio: 5/2;
  position: absolute;
  z-index: 1;
}

#grandparentsday2025 .wrapping:before {
  top: -14%;
  left: -0%;
  background: url(/cdn/shop/files/ft-fathersday2025-ribbon_1.svg) no-repeat center center / contain content-box;
}

#grandparentsday2025 .wrapping:after {
  bottom: -5%;
  right: -5%;
  background: url(/cdn/shop/files/ft-fathersday2025-ribbon_2.svg) no-repeat center center / contain content-box;
}

#grandparentsday2025 .wrapping .wrapping__content {
  border-radius: 1rem;
  overflow: hidden;
  display: block;
  margin: 1.5rem auto;
}

/* 6.4 Limit Section */
#grandparentsday2025 .limit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin: 0 auto;
  font-size: clamp(var(--font-size-base),4.7vw,var(--font-size-2xl));
  background: white url(/cdn/shop/files/ft-grandparentsday2025-flower.webp) no-repeat 85% calc(2vw) / 180% auto content-box;
}

#grandparentsday2025 .limit .limit__text {
  color: var(--accent-color);
  font-size: clamp(var(--font-size-base),6vw,var(--font-size-4xl));
}

#grandparentsday2025 .limit .limit__text strong {
  font-size: clamp(var(--font-size-xl),10vw,var(--font-size-4xl) + 0.75vw);
  font-family: futura;
  font-weight: 500;
}

#grandparentsday2025 .limit .p em {
  color: var(--accent-color);
}

/* 6.5 Ranking Section */
.ranking__title {
  font-size: var(--font-size-4xl);
}

.ranking__subtitle {
  font-size: var(--font-size-xl) !important;
}

.ranking__lead {
  font-size: var(--font-size-xl);
  font-weight: 600;
  line-height: 160%;
  margin: 2rem auto;
}

.ranking__list {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.ranking .rankin__inner {
  padding-bottom: 5rem;
}

#ranking h3.item-name,
#budget h3.item-name {
  font-size: clamp(var(--font-size-xl), 4vw, var(--font-size-xl));
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin: 0;
  line-height: 110%;
  padding: 0.5rem 0;
  width: 100%;
  text-align: left;
  color: var(--secondary-color);
}
#ranking .pickup__list .item-card:first-of-type h3.item-name {
  font-size: clamp(var(--font-size-xl), 5vw, var(--font-size-2xl));
}

.item-price {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-start;
  flex-wrap: nowrap;
  line-height: 1;
  gap: 0.5em;
  color: var(--text-dark);
}

.item-price p {
  text-align: left;
}

.item-price>div {
  font-size: clamp(var(--font-size-2xl), 4vw, var(--font-size-xl));
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.item-price>div>p {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-end;
}

.item-price>div.item-price--with-tax {
  font-size: clamp(var(--font-size-base), 3vw, 1.5rem);
  margin-bottom: 0.5rem;
}

.item-price>div.item-price--without-tax small {
  font-size: var(--font-size-sm);
  color: var(--text-light);
  background: var(--accent-color);
  border-radius: 4px;
  padding: var(--spacing-sm) var(--spacing-lg);
  margin-right: var(--spacing-md);
  margin-bottom:0.25rem;
}

.item-price>div.item-price--without-tax small.sg{
  padding-left:1.8rem;
  padding-right:1.8rem;
}

.item-price>div.item-price--without-tax small.db{
  padding-left:2.5rem;
  padding-right:2.5rem;
}

.item-price span {
  text-decoration: none;
  vertical-align: text-top;
  line-height: 1.5em;
}

.item-price>div>p.futura {
  font-weight: 500;
}

.item-detail-slide {
  position: relative;
  overflow: hidden;
  width: 100%;
}

/* スライダーの初期化前のスタイル */
.item-detail-slide:not(.slick-initialized) {
  display: none;
}

.item-detail-slide .slick-slide {
  width: 100%;
  min-height: 120px;
}

.item-detail-slide li a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1rem;
}

.item-detail-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}

/* Color variations */
.item-card__inner .colors {
  border-radius: 1em;
  display: block;
  width: 100%;
}

ul.variation {
  justify-content: flex-start;
}

ul.variation li:hover {
  cursor: pointer;
}

ul.variation li:before {
  line-height: 1.1em;
}

ul.variation li.var-img {
  width: 10%;
  height: auto;
  border-radius: 10rem;
  overflow: hidden;
  margin: 2px;
}

#grandparentsday2025 ul.variation li {
  height: 30px;
  width: 30px;
  margin: 3px;
  transition: all .3s;
  background-size: cover;
}

#grandparentsday2025 ul.variation li:before {
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: white;
  font-size: 34px;
}

#grandparentsday2025 ul.variation li:hover {
  transform: scale(1.1);
}

#grandparentsday2025 ul.variation li.wlslp--variant:before {
  position: absolute;
}

#grandparentsday2025 ul.variation li span {
  color: white;
  font-size: 1.3rem;
  position: absolute;
}

ul.variation li.fn-s,
ul.variation li.fn-m,
ul.variation li.fn-l,
ul.variation li.fn-xl {
  color: #C6D59B;
}

ul.variation li.lv-s,
ul.variation li.lv-m,
ul.variation li.lv-l,
ul.variation li.lv-xl {
  color: #E6C8CE;
}

ul.variation li.tq-s,
ul.variation li.tq-m,
ul.variation li.tq-l,
ul.variation li.tq-xl {
  color: #0F90BF;
}

ul.variation li.lg-s,
ul.variation li.lg-m,
ul.variation li.lg-l,
ul.variation li.lg-xl {
  color: #E5DED3;
}

ul.variation li.dg-s,
ul.variation li.dg-m,
ul.variation li.dg-l,
ul.variation li.dg-xl {
  color: #615F5F;
}

/* Pickup list */
#grandparentsday2025 .pickup__list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  max-width: 1000px;
  margin: 0 auto;
  justify-content: center;
}

#grandparentsday2025 .ranking .pickup__list .item-card {
  width: 100%;
}

/* 6.6 CastVideo Section */
#grandparentsday2025 .castvideo
{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin: 0 auto;
  font-size: var(--font-size-lg);
  position: relative;
}

#grandparentsday2025 .castvideo header{
  margin-bottom: var(--spacing-2xl);
}

#grandparentsday2025 .castvideo__inner video {
  height: 70vh !important;
}

#grandparentsday2025 .castvideo__inner .castvideo__content{
  margin-top: var(--spacing-lg);
}

/* 6.7 Budget Section */
/*#budget .heading--bubble {
  background-color: var(--secondary-color);
  color: var(--text-light);
}

#budget .heading--bubble:after {
  background-color: var(--secondary-color);
}*/

#budget .item-card__inner {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: max-content;
  align-items: start;
  gap: 1rem;
  margin-bottom: 1rem;
  align-content: center;
  justify-content: center;
  justify-items: start;
}


/* 6.8 Survey Section */
#grandparentsday2025 .survey .button--secondary{
  margin: 2rem auto;
  width: 20rem;
  border-color: var(--primary-color);
  color: var(--primary-color) !important;
}
#grandparentsday2025 .survey .button--secondary:after{
  background-color: var(--primary-color);
}
.survey__post {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 2rem auto;
}
.survey__image {
  border-radius: 1rem;
  overflow: hidden;
  margin: 2rem auto;
  max-width: 800px;
  width: 100%;
}

.survey__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1000px;
  margin: 1rem auto;
  gap: 1rem;
}

.survey__item {
  flex: 48%;
}
#grandparentsday2025 .survey__item .button span{
  padding: 0;
  width: 90%;
}

#grandparentsday2025 .survey__item .button {
  font-size: 1.1rem;
  padding: 0.8rem 1rem;
  margin-top: 1rem;
  width: 100%;
}

/* 6.9 Announcement Section */
.announce__inner{
  padding-left: var(--spacing-2xl) !important;
  padding-right: var(--spacing-2xl) !important;
}

.announce__inner .heading--bubble{
  background-color: var(--primary-color);
  color: var(--text-light);
}

.announce__inner .heading--bubble::after{
  background-color: var(--primary-color);
}

.announce__content {
  margin: 4rem auto;
}

.announce__content figure {
  margin-bottom: 2rem;
}

.announce__content figure img {
  border-radius: 1rem;
  margin-bottom: 1rem;
}

.announce__content ul {
  padding: var(--spacing-md);
  list-style-type: disc;
  text-align: left;
  font-size: var(--font-size-base);
}
.announce__content em {
  font-size: 1.3rem;
}

/* Note Section */
.note__inner{
  padding-left: var(--spacing-2xl) !important;
  padding-right: var(--spacing-2xl) !important;
}

.note__list {
  padding: var(--spacing-md);
  list-style-type: disc;
  text-align: left;
  font-size: var(--font-size-base);
}

/* 6.10 Review Section */
.review-item {
  background-color: white;
  padding: 1rem 1.5rem;
  border-radius: 1rem;
  margin: 1rem auto;
  font-size: 1.1rem;
}


.bg--primary .review-item {
  color: var(--text-dark);
}


#grandparentsday2025 .reviews-container {
  margin-top: 2rem;
  display: flex;
  gap: 1rem;
  flex-direction: column;
}

.review__profile {
  color: var(--text-light);
  font-size: var(--font-size-base);
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  margin-top: -3rem;
  margin-left: -2rem;
}
.review__icon {
  border-radius: var(--border-radius-full);
  z-index: 1;
  position: relative;
  background-color: var(--color-blue);
  width: clamp(4rem, 0.824rem + 0.751vw, 1.8rem);
  aspect-ratio: 1;
}
.review__cast {
  border-radius: 0 var(--border-radius-full) var(--border-radius-full) 0;
  background-color: var(--color-blue);
  padding: var(--spacing-sm) var(--spacing-md);
  left: -1rem;
  position: relative;
  font-size: clamp(1rem, var(--font-size-base) + 0.751vw, var(--font-size-sm));
}
.review-item{
  color: var(--text-dark);
  font-size: clamp(var(--font-size-sm), var(--font-size-base) + 0.751vw, 1.3rem);
}

/* 
==============================================
8. Media Queries
==============================================
*/
@media (min-width: 960px) {
  :root {
    /* Spacing */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-2xl: 3rem;
    --spacing-4xl: 4rem;
  }
  .sp--break {
    display: none;
  }
  /* Header */
  .ft header {
    gap: 2rem;
  }

  .ft header svg {
    max-width: 6rem;
  }

  #grandparentsday2025.ft h2 {
    font-size: 4rem;
    margin-bottom: 1rem;
  }

  #grandparentsday2025.ft header .header__eyebrow {
    font-size: 2rem;
  }

  #grandparentsday2025.ft header .header__sub {
    font-size: 2rem;
  }

  /* Lead */
  #grandparentsday2025  .lead__text {
    font-size: var(--font-size-base);
    margin-bottom: var(--spacing-2xl);
  }

  /* mv */
  .mv {
  position: relative;
  background: #FF8A39 url(/cdn/shop/files/ft-grandparentsday2025-bg_pc.webp) no-repeat center bottom / auto 100%;
  padding-bottom: 5vh;
  }

  .mv h1{
    padding-top: 5vh;
  }

  .mv h1 img{
    width: 40%;
  }

  .mv .mv__sub{
    width: 30%;
  }

  /* Lead */
  .lead img{
    width: 40%;
  }

  .lead .sepaletor{
    display: block;
  }

  /* Wrapping */
  .wrapping__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
  }

  .wrapping__inner>* {
    flex: 1;
  }

  #grandparentsday2025 .wrapping:before {
    top: -26%;
  }

  #grandparentsday2025 .wrapping:before,
  #grandparentsday2025 .wrapping:after {
    width: 50vw;
    height: calc(30vw * 0.5);
  }

  .wrapping__inner .wrapping__content {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 2rem;
  }

  .wrapping .sepaletor svg path {
    fill: var(--primary-color);
  }

  /* limit */
  #grandparentsday2025 .limit {
    background-position: center -50%;
    background-size: 100%;
  }

  #grandparentsday2025 .limit .limit__inner {
    padding: var(--spacing-4xl) var(--spacing-lg) 10rem;
  }

  /* Navigation */
  #grandparentsday2025 .navigation{
    background-color: #00000055 !important;
    position: fixed;
    width: 200px;
    left: 0;
    top: 38vh; /* 9/9 11:59〜 50vhに戻す*/
    margin-top: -19vh; /* 9/9 11:59〜 -25vhに戻す*/
    border-radius: 0 1rem 1rem 0;
    z-index: 99;
  }

  #grandparentsday2025 .navigation__limit{
    display: block !important;
    color:var(--text-light);
    margin-bottom: var(--spacing-sm);
  }

  #grandparentsday2025 .navigation .navigation__limit strong{
    display: block;
    color:var(--secondary-color); 
    font-weight: 500;
    font-size: var(--font-size-xl)!important;
  }

  #grandparentsday2025 .navigation .navigation__limit em{
    display: block;
    color:var(--secondary-color)!important; 
    font-weight: 500;
  }

  #grandparentsday2025 .navigation .navigation__inner {
    padding: var(--spacing-2xl) var(--spacing-lg);
  }

  #grandparentsday2025 .navigation .navigation__inner .button {
    font-size: var(--font-size-sm);
    display: block;
  }

  #grandparentsday2025 .navigation .navigation__inner .button:after {
    display: none;
  }

  #grandparentsday2025 .navigation .navigation__inner .button--secondary {
    background-color:var(--secondary-color) !important;
    color: var(--text-light) !important;
    padding: var(--spacing-lg);
  }

  #grandparentsday2025 .navigation .sepaletor {
    display: none;
  }

  /* Item Card */
  .item-card {
    margin: var(--spacing-4xl) auto;
  }

  .ranking .item-card__inner {
    display: flex;
    gap: 2rem;
  }

  /* Ensure grid items fill their cells completely */
  .ranking .item-card__inner>* {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .ranking .item-card .item-card__inner__left,
  .ranking .item-card .item-card__inner__right{
    width: 48% !important;
  }

  .item-price>div.item-price--without-tax {
    font-size: 3rem;
  }

  .ranking .item-card:nth-of-type(2) .item-price {
    gap:0;
  }
  .ranking .item-card:nth-of-type(2) .item-price small {
    font-size: 1rem;
  }

  .ranking .item-card__inner .item-price>div.item-price--with-tax {
    margin-bottom: 0.2rem;
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:first-of-type .item-card__inner__right{
    gap:var(--spacing-xl);
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) {
    width: 50%;
    padding: 0.5rem;
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2){
    width: 48%;
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:last-of-type,
  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(3) {
    margin-left: 2%;
  }*/

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) h3.item-name {
    font-size: var(--font-size-xl);
    padding: 0;
    margin: 0;
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) .item-price>div {
    font-size: clamp(var(--font-size-xl), 3vw, var(--font-size-xl));
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) .item-price>div.item-price--with-tax {
    font-size: clamp(var(--font-size-sm) * 0.9, 1.3rem, var(--font-size-base));
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) .item-copy {
    font-size: 1.1rem;
    line-height: 160%;
    height: clamp(var(--font-size-sm) * 0.75vw, 5rem, var(--font-size-base));
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) ul.variation li {
    height: clamp( 20px, 1rem + 0.75vw, 1.1rem);
    width: clamp( 20px, 1rem + 0.75vw, 1.1rem);
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) ul.variation li:before {
    font-size: 20px;
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) .button {
      font-size: var(--font-size-base);
    display: inline-flex;
    padding: var(--spacing-lg);
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) .button span {
    padding: 0 1.5rem;
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) .button:after {
    width: 0.5rem;
  }

  #grandparentsday2025 ul.variation li {
    margin: 1px;
  }

  #grandparentsday2025 .ranking .pickup__list .item-card:nth-of-type(n+2) .item-card__inner .review-item {
    font-size: var(--font-size-sm);
    line-height: 160%;
  }
  #grandparentsday2025 ul.variation li:before {
    font-size: 28px;
  }
  #ranking .pickup__list  .item-card:nth-child(2) .item-card__inner::before,
  #ranking .pickup__list  .item-card:nth-child(3) .item-card__inner::before,
  #ranking .pickup__list  .item-card:nth-child(4) .item-card__inner::before,
  #ranking .pickup__list  .item-card:nth-child(5) .item-card__inner::before {
    width: 6rem;
    height: 6rem;
  }

  .item-price>div.item-price--without-tax small{
    padding: var(--spacing-sm);
    margin-right: var(--spacing-sm);
    margin-bottom: 0;
  }

  .item-price>div.item-price--without-tax small.sg{
    padding-left:1rem;
    padding-right:1rem;
  }

  .item-price>div.item-price--without-tax small.db{
    padding-left:1.5rem;
    padding-right:1.5rem;
  }

  #ranking .pickup__list .item-link{order:5;}
  #ranking .pickup__list .reviewed-product{order:4;}


   /* castvideo */
  .castvideo__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 6vw;
  }

  .castvideo__inner .castvideo__content {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 2rem;
  }

  .castvideo .sepaletor svg path {
    fill: var(--primary-color);
  }

  .castvideo__inner video {
    height: 70vh !important;
  }

  /* Survey */
  .survey__list {
    gap: 2rem 1rem;
  }

  #grandparentsday2025 .survey__item .button {
    font-size: 1.8rem;
    padding: 2rem 1rem;
    margin: 2rem auto;
    width: 85%;
  }

  .budget .item-card {
    margin: var(--spacing-4xl) var(--spacing-lg);
    flex: 25%;
    max-width: 400px;
  }
  .budget .pickup__list:first-of-type .item-card {
    margin: var(--spacing-4xl) auto;
  }

  /* Announcement */
  .announce__content {
    max-width: 900px;
    margin: 2rem auto;
  }

  .announce__content {
    display: flex;
    flex-direction: row;
    gap: 2rem;
  }

  .announce__content figure img {
    margin-bottom: 1rem;
  }

  .announce__content:first-of-type>* {
    flex: 1;
  }

  .announce__content ul {
    list-style-type: disc;
    text-align: left;
  }

  /* Review Modal */
  .review-modal {
    justify-content: center;
    align-items: center;
  }

  .modal-content {
    border-radius: 1rem;
  }

  .stars {
    font-size: 1.5rem;
  }

  /* Note */
  #grandparentsday2025 .note .note__inner {
    padding-bottom: 10rem;
  }

  .note__list {
    max-width: 900px;
    margin: 1rem auto;
  }
}