/** Shopify CDN: Minification failed

Line 2521:4 "text-arign" is not a known CSS property
Line 3109:23 Expected identifier but found whitespace
Line 3109:24 Unexpected "#86B0A6"
Line 3152:21 Expected identifier but found "."
Line 3538:2 "fomt-size" is not a known CSS property

**/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
*, *::before, *::after {
  box-sizing: border-box;
}
body {
  font-size: 1.5rem;
  line-height: 1.9;
}
/* ================================
  Color Variables
================================ */
/* Brand */
:root {
  --font-body:"Noto Sans JP",sans-serif;
  --font-heading:"Frutiger","Frutiger LT Std","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-xs:1.2rem;
  --font-s:1.3rem;
  --font-sm:1.44rem;
  --font-base:1.5rem;
  --font-md:1.6rem;
  --font-mdl:2.2rem;
  --font-lg:3.4rem;
  --font-xl:2.4rem;

  --fw-regular:400;
  --fw-medium:500;
  --fw-bold:600;


  --color-accent: #E05188;
  --color-accent-soft: rgba(241, 87, 154, 0.77);
  --color-accent-more_soft: rgba(241, 87, 154, 0.36);

  --color-primary: #2C5A4B;
  --color-primary-soft: #86B0A6;
  --color-lang-bg-soft: rgba(109, 152, 142, 0.65);
  --color-lang-bg-more_soft: rgba(71, 109, 100, 0.25);
  --theme-palette-color-1: #F1579A;
  --theme-palette-color-2: #42504b;
  --theme-palette-color-6: #EEF4F5;
  --theme-text-color: var(--theme-palette-color-2);
--theme-palette-color-8: #274C4F;
  /* Base */
  --color-text-main: #121212;
  --color-text-sub: #333333;
  --color-text-muted: #6b6b6b;

  /* Background */
  --color-bg-base: #FFFFFF;
  --color-bg-soft: #EEF4F5;
  --color-bg-subtle: #f7f7f7;
  --color-button-main: #274C4F;
  --color-button-hover: #65877f;
  --color-button-size-hover:rgb(195, 215, 207);

  /* Border */
  --color-border-main: #2C5A4B;
  --color-border-shipping:rgb(216, 221, 219);
  --color-lineup-bg: #E8F0ED;
  --color-footer-line: #65877f;
  
}


#MainContent {
  z-index:2;
}
.local-delivery-fields input,
.plus-shipping_container input,
.react-datepicker__input-container input {
  font-size: 16px !important;
}
.slider-buttons .slider-counter.caption {
  font-size: var(--font-xs);
}
.header.header--mobile-center {
  height: 64px;
  padding:  0 2rem 0 2rem;
}
.header-wrapper .header {
  grid-template-columns: 1fr auto 1fr;
  background-image: url("/cdn/shop/files/headerB_sp.webp?v=1768475781");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: 0% 100%;
}
.header__icons {
  padding-right: 0;
}
.header__heading-logo-wrapper {
  width: 50px;
}
.header__heading-link {
  transition: opacity 0.3s ease;
}

.header__heading-link:hover {
  opacity: 0.7;
}
.header__left{
  display: flex;
  align-items: center;
  gap: 8px;
  grid-area: left-icons;
}
.header__left .languageSwitch_content{
  white-space: nowrap;
}
.section-header .header__heading {
  opacity: 1;
  transform: none;
  transition: opacity .4s ease, transform .4s ease;
}
.section-header:not(.scrolled-past-header) .header__heading {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}
.header-phone {
  display: none;
}
.shopify-section:has(.fg-holiday-notice) {
  background-color: #EEF4F5;
  padding-top: 2rem;
}
.fg-holiday-notice__title {
  font-family: var(--font-body);
  margin: 0 0 1rem;
  font-size: 1.3rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--color-primary);
}
.fg-holiday-notice {
  padding: 2rem 0 2rem .9rem;
  background-color: #FFF;
  margin-left: 2rem;
  border-radius: 18px 0 0 18px;
}
.fg-holiday-notice__body,
.fg-holiday-notice__note {
  font-size: 1.3rem;
  line-height: 1.8;
  color: var(--color-primary);
}
.fg-holiday-notice__body.rte p {
  margin: 0;
}
.fg-holiday-notice__note p {
  margin: 0;
}
.floating-call {
  position: fixed;
  right: 1.6rem;
  bottom: 1.6rem;
  z-index: 100;
  transition:
    opacity .3s ease,
    transform .3s ease;
}
.floating-call__link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
  height: 62px;
  padding: 8px 16px 8px 12px;
  background: var(--color-primary);
  border-radius: 16px;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .30);
}
.floating-call__icon {
  width: 22px;
  height: auto;
  display: block;
  flex-shrink: 0;
}
.floating-call__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.9;
  color: var(--color-bg-soft);
  font-size: 1.3rem;
  font-weight: 500;
}
.floating-call__hours {
  font-size: 1.2rem;
}
.floating-call.is-hidden {
  opacity: 0;
  transform: translateY(100px);
  pointer-events: none;
}
  body:has(product-info) .floating-call {
  display: none;
}
@media (min-width: 990px) {
  .header.header--mobile-center {
    height: 5vw;
    padding: 0px 4rem;
  }
  .header {
    grid-template-areas: "heading navigation icons";
  }
  .section-header:not(.scrolled-past-header) .header__heading {
    opacity: 1;
    transform: translateY(0px);
  }
  .header__heading-logo-wrapper {
    width: clamp(40px, 3.8vw, 48px);
  }
  .header:not(.header--middle-left):not(.header--middle-center) .header__inline-menu {
    margin-top: 0;
  }
  .header-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: #FFF;
    box-shadow: 0px 8px 24px rgba(180, 181, 181, 0.2);
  }
  .header-wrapper .header {
    background-image: none; 
    background: transparent;
    transition: background 0.3s ease;
    position: relative;
    width: 100%;
    max-width: none;
    margin-inline: auto;
    display: grid;
    grid-template-columns: auto 1fr auto auto !important;
    align-items: center;    
  }
  .breadcrumbs {
    padding-top: 0;
  }
  .header__heading {
    grid-column: 1;
    justify-self: start;
  }
  .header__center {
    grid-column: 2;
    justify-self: center;
  }
  .header__left {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    gap: clamp(1rem, 1.8vw, 2.5rem);
    margin-right: 0.8vw;
  }
  .header__icons {
    grid-column: 4;
    justify-self: end;
    gap: clamp(1rem, 0.8vw, 2.5rem);
  }
  .header__inline-menu .mega-menu {
    position: relative;
  }
  .header__inline-menu .mega-menu .mega-menu__content {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(10px);
    left: 50%;
    transition: opacity 850ms ease, visibility 850ms ease;
    background-color: var(--color-bg-soft);
    border-radius: 1.8rem;
    padding:2rem 0;
  }
  .header__inline-menu .mega-menu[open] .mega-menu__content {
    opacity: 1;
    visibility: visible;
    width: max-content;
    transition-delay: .2s;
    transition: opacity .24s cubic-bezier(.25, .46, .45, .94);
    transform: translateX(-50%) translateY(0);
    left: 50%;
    border-top: none;
    margin-top:2rem;
  }
  .article-template .article-template__hero-container {
    max-width: 64rem;
    margin: 0 auto;
  }
  .header__left .languageSwitch_content {
    padding: 0;
  }
  .mega-menu__list {
    padding: 0 3rem;
  }
  .header__inline-menu .list-menu.list-menu--inline {
    position: relative;
    font-size: clamp(1.3rem, 1.4vw, 1.5rem);
  }
  .header__inline-menu .header__menu-item  {
    display: inline-block;
    transition: transform 0.3s ease-in-out;
  }
.header__inline-menu .header__menu-item span {
  position: relative;
  display: inline-block;
  background-image: linear-gradient(var(--color-accent), var(--color-accent));
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 0 1px;
  transition: background-size .6s cubic-bezier(.215, .61, .355, 1) 0s;
  padding-bottom: 0.3rem;
}
.header__inline-menu .mega-menu[open] > summary.header__menu-item span {
  background-position: left bottom;
  background-size: 100% 1px;
}
header
  .header__menu-item,
  .mega-menu__list a {
    color: var(--color-primary);
    font-size: 1.4rem;
  }
  .header .mega-menu__list .mega-menu__link {
  display: inline-block;
  width: auto;
  text-decoration: none;
  transition: color 0.3s ease, opacity 0.3s ease;
  }

.header .mega-menu__list .mega-menu__link:hover,
.header .mega-menu__list .mega-menu__link--active {
  text-decoration: none;
  color: var(--color-accent);
  opacity: 0.85;
  font-weight: 400;
}
.header .mega-menu__list li:not(:last-child) {
  margin-bottom: 1rem;
}
.list-menu .header__menu-item,
.mega-menu summary.list-menu__item {
  padding: 0 clamp(1rem, 1.6vw, 3rem);
}
  .header .mega-menu__list li {
    position: relative;
    padding-left: 14px;
  }
  .mega-menu .header__menu-item .icon-caret {
    display: none;
  }
  .header__menu-item:hover span {
    text-decoration: none;
    text-underline-offset: .3rem;
  }
  details[open]>.header__menu-item {
      text-decoration: none;
  }
  .floating-call {
    display: none;
  }
.header-phone {
    display: block;
  }
  .header-phone__link {
    display: flex;
    align-items: center;
    gap: 0.5vw;
    text-decoration: none;
    color: var(--color-primary);
  }
  .header-phone__icon {
    width: clamp(2.4rem, 2.6vw, 3rem);
    height: auto;
  }
  .header-phone__text {
    display: flex;
    flex-direction: column;
    line-height: 1.4;
  }
 .header-phone__number {
    font-size: clamp(1.4rem, 1.2vw, 2rem);
    font-weight: 700;
}
  .header-phone__hours {
    font-size: clamp(1rem, 1.1vw, 1.2rem);
  }
.fg-holiday-notice {
  margin-left: 25%;
  padding: 4rem 0 4rem 3rem;
}
.shopify-section:has(.fg-holiday-notice) {
  padding-top: 7rem;
}
.fg-holiday-notice .page-width {
  margin: 0;
  padding: 0;
}
}
/* =========================
   HERO (Top / First View)
========================= */
.hero{
  width: 100%;
}
.hero__media{
  position: relative;
  width: 100%;
  height: 70vh;
  overflow: hidden;
  background: transparent;
}
.hero__slider{
  position: relative;
  width: 100%;
  height: 100%;
}
.hero__layout{
  display: grid;
  grid-template-columns: 1fr;
}
.hero__brand{
  display: grid;
  padding-top: 1.8rem;
  place-items: center;
  height: 16rem;
  background-image: url("/cdn/shop/files/headerB_sp.webp?v=1768475781");
  background-position: 0% 0%;
  background-size: 100% auto;
}
 .hero__picture{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 2.4s ease-in-out;
  z-index:1;
  transform:translate3d(0,0,0);
}

.hero__picture.is-active{
  opacity: 1;
  z-index: 2 ;
}
.hero__img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:translateZ(0) scale(1);
  transition: transform 7s linear;
  will-change:transform;
  backface-visibility:hidden;
}
.hero__picture.is-active .hero__img{
  transform:translateZ(0) scale(1.08);
}
.hero__logo{
  width: clamp(180px, 20vw, 420px);
  height: auto;
  align-self: start;
  display: block;
}
.hero__content{
  position:absolute;
  z-index: 2;
  left:50%;
  bottom: 40%;
  transform: translateX(-50%);
  text-align:center;
  width:90%;
  max-width:600px;
  color: #FFF;
  font-family: var(--font-body);
}
.hero__season-text {
  margin: 0 auto;
  font-size: 1.6rem;
  line-height: 1.4;
}
.hero__heading {
  margin-top: 0;
  margin-bottom: 3rem;
  font-family: var(--font-body);
  color: #FFF;
  font-size: var(--font-mdl);
  font-weight: var(--fw-medium);
}
.hero__subheading {
  font-size: 30px;
  font-family: "Noto Serif JP", serif;
}
.hero__heading,
.hero__subheading,
.hero__heading-sub{
  text-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.button.button--primary.hero__button {
  color: #FFF; 
  background-color: transparent;
  border: solid 1px #FFF;
  border-radius: 100px; 
  font-size: 16px;
  font-weight: var(--fw-medium);
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.button.button--primary.hero__button:hover {
  background: var(--color-button-main);
  color: #FFF;
  border: none;
}
.button.button--primary.hero__button::after {
  display:none;
}

.hero__badge{
  position: absolute;
  top: 2rem;
  right: 2rem;
  z-index: 10;

  width: 10rem;
  height: 10rem;

  border-radius: 50%;

  background: #d48d83;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  text-align: center;
  text-decoration: none;

  padding: 1rem;

  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;

  box-shadow: 0 4px 15px rgba(0,0,0,.15);

  transform: rotate(8deg);

  transition: .3s;
}

.hero__badge:hover{
  transform: rotate(8deg) scale(1.05);
}

.hero__badge span{
  display:block;
}



/* ---------- PC ---------- */
@media (min-width: 990px){
  .hero__layout{
    grid-template-columns: 2.5fr 7.5fr;
    align-items: stretch;
    height: 90vh;
  }
  .hero__brand{
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .hero__logo{
    align-self: center;
    width: 18vw;
  }

  .hero__media{
    height: 100%;
  }








  

  .collection-list.grid--4-col-desktop .grid__item,
  .product-grid.grid--4-col-desktop .grid__item{
  /* max-width:220px; */
  width: 100%;
  }
  .product.product--large.product--left.product--thumbnail .product__media-wrapper {
    max-width: 48%;
    width: calc(48% - var(--grid-desktop-horizontal-spacing) / 2);
  }

  .product.product--large.product--left.product--thumbnail .product__info-wrapper {
    max-width: 48%;
    width: calc(48% - var(--grid-desktop-horizontal-spacing) / 2);
    padding-left: 4rem;
  }
}
.rotate-group{
  transform-origin:50% 50%;
  animation:spin 30s linear infinite;
}
@keyframes spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    100% {
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg)
    }
}
.circle-label{
  font-size:5.8px;
  letter-spacing:.06em;
  fill:#222;
  text-transform:uppercase;
}

/* =========================
mv--lead
========================= */
.about {
  padding-top: 3rem;
}
.about__img--bike {
  position: relative;
}
.fg-bike-scene {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  width: 300px;
  aspect-ratio: 640 / 520;
  background-image: url("/cdn/shop/files/shop-bg.webp?v=1783080310");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}
.fg-bike-girl {
  position: absolute;
  z-index: 2;
  right: 100%;
  bottom: 0;
  width: 120px;
  aspect-ratio: 1 / 1;
  background-image: url("/cdn/shop/files/bike.webp?v=1782990612");
  background-repeat: no-repeat;
  background-size: 600% auto;
  background-position: 0% 0%;
  transform: scale(-1, 1);
  animation:
    fg-bike-move 14s linear infinite,
    fg-bike-pedal 2s steps(1) infinite;
}
@keyframes fg-bike-move {
  0% {
    right: 100%;
  }
  100% {
    right: -100%;
  }
}
@keyframes fg-bike-pedal {
  0% {
  background-position: 0% 0;
  }

  16.666% {
  background-position: 20% 0;
  }

  33.333% {
  background-position: 40% 0;
  }

  50% {
  background-position: 60% 0;
  }

  66.666% {
  background-position: 80% 0;
  }

  83.333%,
  100% {
  background-position: 100% 0;
  }
}
.about .two-col__text {
  width: 100%;
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 2rem;
  box-sizing: border-box;
}
.about .two-col__lead {
  margin: 4rem auto;
  text-align: center;
}
.about .two-col__lead span {
  display: block;
}
/* =========================
philosophy
========================= */
.philosophy__container,.philosophy__lead {
  display: block;
}
.philosophy-slider {
  margin: 4rem 0 0;
  width: 100%;
}

.philosophy__features {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 85%;
  gap: 5vw;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-block: 1rem;
  list-style: none;
  margin: 0;
  scrollbar-width: none;
}

.philosophy__features::-webkit-scrollbar {
  display: none;
}
.philosophy__slide {
  scroll-snap-align: start;
}
.philosophy__feature {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding: 4rem 1.5rem;
  background: #fff;
  border-radius: 8px;
  height: 100%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.philosophy__feature-content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.philosophy__feature-header {
  display: flex;
  align-items: flex-start;
  gap: 1.75rem;
}
.philosophy__number {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: right;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.philosophy__number::before {
  content: "";
  position: absolute;
  top: 0%;
  left: -3px;
  width: 32px;
  height: 32px;
  background-image: url("/cdn/shop/files/icon-dot.svg?v=1774852817");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: .7;
  z-index: 0;
  transform: rotate(77deg);
}
.philosophy__number::after {
  content:"POINT";
  position: absolute;
  top: 19%;
  left: 7%;
  letter-spacing: .14em;
    writing-mode: vertical-rl;
    font-size: 12px;
}

.philosophy__number span {
  font-family: "neue-haas-unica", sans-serif;
  position: relative;
  font-size: var(--font-xl);
  font-weight: 700;
  color: var(--color-primary);
  z-index: 1;
}
.text-pc{
  display: none;
}

.philosophy__feature-img {
  display: flex;
  justify-content: center;
} 
.philosophy__feature-img img {
  width: 180px;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
html[lang="ja"] .philosophy__feature-heading span {
  white-space: nowrap;
}
html[lang^="en"] .philosophy__feature-heading span {
  white-space: normal;
}
.philosophy__feature-heading span {
  display: block;
  width: fit-content;
  background-image: linear-gradient(
    transparent 20%,
    #f0f0f0 55%
  );
  background-repeat: no-repeat;
  background-size: 100% 80%;
  background-position-y: 60%;
}
.philosophy__feature-content h3 {
  font-family: var(--font-body);
  font-size: var(--font-md);
  font-weight: 500;
  line-height: 2;
  margin: 0;
  padding-block-start: 0.25rem;
}
.feature-heading span {
  position: relative;
  display: inline-block;
  width: fit-content;
  z-index: 1;
}
.philosophy__feature-body {
  font-size: 1.4rem;
  line-height: 2;
  margin: 10px 0 0;
  color: var(--color-primary);
}

/* タブレット */
@media (min-width: 768px) {
  .philosophy__container {
    flex-direction: row;
    align-items: center;
    gap: 6rem;
  }
  .philosophy__lead {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
  }
  .philosophy__feature-content h3 {
    font-size: clamp(1.45rem, 1.5rem, 1.6rem);
  }
  .text-pc{
    display: block;
  }
  .text-sp{
    display: none;
  }
  .philosophy__image-area {
    flex: 0 1 480px;
    max-width: 480px;
  }
  .philosophy_vase-flower-image img {
    width: 100%;
    height: auto;
    display: block;
  }
  .philosophy__concept-area {
    flex: 1;
  }
 .two-col.lineup-head.onlineSec_ttl {
    max-width: var(--page-width);
    padding: 0 5rem;

  }
 .philosophy__features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.7vw;
    overflow: visible;
    padding-inline-start: 0;
  }
  .philosophy__slide {
    flex: none;
  }
  .philosophy__feature {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 32px 20px;
  }
  .philosophy__feature-img {
    width: 70%;
    align-self: center;
    display: flex;
    justify-content: center;
  }
  .philosophy__feature-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
  }
  .collection-list.grid--2-col-tablet-down .grid__item {
    width: calc((100% - (var(--grid-desktop-horizontal-spacing) * 3)) / 4);
    max-width: calc((100% - (var(--grid-desktop-horizontal-spacing) * 3)) / 4);
    flex-grow: 0;
  }
}
/* ============================================
   title-stack
   ============================================ */
.title-stack {
  display: flex;
  flex-direction: column;
  padding-inline: 3rem;
}
.title-stack .ttl__en_txt {
  color: var(--color-accent);
  line-height: 0.9;
  font-family: "neue-haas-unica", sans-serif;
  font-weight: var(--fw-regular);
  font-size: var(--font-lg);
}
.title-stack .ttl__ja_txt {
  font-size: var(--font-sm);
  color: var(--color-primary);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: var(--fw-medium);
  letter-spacing: 0.06em;
  line-height: 1.4;
  margin: 1.2rem 0 0;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.js-char-reveal .char {
  display: inline-block;
  opacity: 0;
  transform: translateX(-14px);
}
.js-char-reveal.is-inview .char {
  animation: charIn .5s cubic-bezier(.25,.46,.45,.94) both;
  animation-delay: calc(var(--i, 0) * 0.06s);
}
@keyframes charIn {
  from { opacity: 0; transform: translateX(-14px); }
  to   { opacity: 1; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce){
  .js-char-reveal .char {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
}
.two-col__lead {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 40px;
  margin-bottom: 70px;
  color: var(--color-primary);
  font-size: var(--font-base);
  font-weight: var(--fw-regular);
  letter-spacing: 0.02em;
  line-height: 2.2;
}
.pAbout__text span {
  display: block;
}
.pAbout__text {
  font-size: var(--font-base);
  line-height: 2.2;
  margin-top: 23px;
  color: var(--color-primary);
  letter-spacing: 0.04em;
}
.thumbnail-list .thumbnail[aria-current] {
  box-shadow: none;
  border-color: transparent;
}
.thumbnail-list .thumbnail:hover {
  opacity: .7;
}


.philosophy {
  margin: 0 auto;
  padding: 0 3rem;
  max-width: 120rem;
}
.philosophy__concept-area {
 margin-top: 60px;
}
.collection-hero__heading-group .title-stack,
.philosophy__concept-area .title-stack {
  padding: 0;
}
.philosophy_vase-flower-image {
  overflow: hidden;
  animation-name: flowerVaseZoom;
  animation-timeline: view();
  animation-range: entry 0% cover 90%;
  animation-fill-mode: both;
  animation-duration: 1s;
}

.philosophy_vase-flower-image img {
  display: block;
  width: 100%;
  height: auto;
}

@keyframes flowerVaseZoom{

from{
transform: scale(0.75);
opacity:0.6;
}

to{
transform: scale(1);
opacity:1;
}

}
.philosophy .title-stack{
  position: relative;
  z-index: 1;
}


.lead-buttonTxt {
  font-size: 1.4rem;
}
.pc-only{
  display:none;
}
/* ---------- PC ---------- */
@media (min-width: 990px){
  .about {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 4rem;
    align-items: start;
    padding: 8rem 5rem;
    transform: translateX(30px);
  } 
  .fg-bike-scene {
    width: min(80%, 520px);
  }
  .fg-bike-girl {
    width: min(80%, 180px);
  }
  .about .two-col__lead {
    text-align: left;
  }

  .title-stack .ttl__en_txt {
    font-size: 3.8rem;
  }
  .title-stack .ttl__ja_txt {
    font-size: 2.1rem;
  }
  .philosophy__concept-area .title-stack, 
  .two-col.onlineSec_ttl .title-stack,
  .two-col.seasonalSec_ttl .pAbout_text {
    text-align: left;
  }
  .pAbout__text {
    margin: 5rem auto;
  }
    .pc-only{
    display: inline;
  }
  .two-col__lead,
  .pAbout__text.text-pc {
    font-size: 16px;
  }
  .philosophy-slider {
    margin-top: 9rem;
    margin-bottom: 9rem;
  }
.philosophy__feature-content h3 {
    font-size: 16px;
  }
  .philosophy__feature-text h3 {
    font-size:20px;
  }
  .philosophy__feature-text p {
    font-size: 14px;
  }
  .two-col.seasonalSec_ttl {
    max-width: var(--page-width);
    padding: 0 5rem;
    margin: 0 auto;
  }
    .two-col.seasonalSec_ttl .title-stack {
      text-align: center;
      width: 100%
    }

.two-col.seasonalSec_ttl .title-stack .ttl__ja_txt {
  margin: 0;
  text-align: center;
}
.two-col.seasonalSec_ttl .title-stack .ttl__ja_txt .char-reveal {
  display: inline-flex;
  justify-content: center;
}
  .two-col.lineup-head.onlineSec_ttl {
    display: block;
    margin: 5rem auto 0;
    max-width: var(--page-width);
    padding: 0 5rem;
  }
  .lineup-head.onlineSec_ttl {
    justify-content: center;
    text-align: center;
  }

  .lineup-head.onlineSec_ttl .two-col__text {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
 .two-col.lineup-head.onlineSec_ttl .title-stack {
    align-items: center;
    text-align: center;
  }
  .lineup-head.onlineSec_ttl .collection-hero__description-wrap {
    text-align: center;
  }
  .two-col__base {
    max-width: var(--page-width);
    padding: 2rem 5rem;
    margin: 0 auto;
  }
  .petiteSelection {
    margin-bottom: 6rem;
  }
  .collection-list.grid--2-col-tablet-down .grid__item {
    width: calc((100% - (var(--grid-desktop-horizontal-spacing) * 4)) / 5);
    max-width: calc((100% - (var(--grid-desktop-horizontal-spacing) * 4)) / 5);
    flex-grow: 0;
  }
}
/* ============================================
   banner
============================================ */
.banner__buttons .button {
  background-color:(--color-primary);
  color: #fff;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.banner__buttons .button:hover {
  background-color: var(--color-bg-soft);
  color: var(--color-primary);
  font-weight: var(--fw-bold);
}
.banner__buttons .button::after {
  box-shadow: none;
}
.banner__buttons .button:hover::after {
  box-shadow: none;
}
@media screen and (min-width: 750px) {
  .banner .banner__box.gradient {
    background: rgb(238 244 245 / 0.65);
  }
}
.circle-label {
  font-size: 5.8px;
  letter-spacing: 0.14em;
  fill: #222;
  text-transform: uppercase;
}

/* =========================
footer
========================= */

.footer__main {
  padding: 9rem 3rem 7rem;
}
.footer-block .footer-block__details-content .list-menu__item--link {
  font-size: var(--font-s);
  color: var(--color-primary);
}
.footer__main .collection-lineup__nav {
  display:block;
  gap:0;
}
.footer__main .collection-lineup__list {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.6rem 1.6rem;
  list-style: none;
  padding: 0;
}
.footer__main .collection-lineup__item {
  font-size: var(--font-xs);
}

.shop-info__wrapper {
  display: flex;
  margin-top: 4rem;
  color: var(--color-primary);
}
.shop-info {
  align-items: center;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.footerInfo_logo{
  display:flex;
  justify-content:center;
  position:relative;
  padding-bottom: 4.8rem;
}
.footerInfo_logo::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  height:1px;
  background: var(--color-footer-line);
}
.footerInfo_logo_link{
  display:block;
}
.footerInfo_logo_img{
  display:block;
  height:auto;
  max-width:180px;
}
.footer-contact_btn {
  background-color: #FFF;
  padding: 2rem;
  border-radius: 12px;
}
.footer-contact_btn a {
  text-decoration: none;
}
.footer-instagram__text {
  font-size:13px;
  margin: 3.2rem auto 0;
}
.footer-instagram__icon {
  display: inline-flex;
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
}
.footer-instagram__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.collection-lineup {
  margin-top: 4.8rem;
}
.collection-lineup .collection-lineup__label {
  text-align: left;
}
.collection-lineup .collection-lineup__label span {
  border-bottom: none;
}
.footer-instagram__link,
.shop-info__map-link {
  font-size: 10px;
  color: var(--color-primary);
}
.footer-instagram__link {
  display: inline-flex;
  gap: 0.6rem;
}
.shop-info__address {
  font-size: var(--font-s);
  font-style: normal;
}
.shop-info__address p {
  margin-bottom: 0;
}
.footer-guide{
  margin-top: 8rem;
}
.footer .footer__content-top {
  padding: 0 3rem;
}
.guide-navigation__title {
  font-family: var(--font-body);
  font-size: 1.8rem;
  font-weight: var(--fw-medium);
  color: var(--color-primary);
  margin-bottom: 2rem;
}
.footer-contact__description,
.footer-guide .shipping-nav__item a {
  font-size: var(--font-s);
  color: var(--color-primary);
}
.footer-contact__icon img {
  width: 72px;
  height: auto;
}
.footer-contact__link {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}
.footer-contact__button {
  color: var(--color-primary);
  padding-bottom: 3px;
  background-image: url(/cdn/shop/files/g-line.webp?v=1783305206);
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: 200px 10px;

}
.footer-guide .shipping-nav .shipping-nav__item {
  background-color: transparent;
  border-radius: 0;
  height: 5.2rem;
}
.footer-guide .shipping-nav .shipping-nav__item a {
  border-top: 1px solid var(--color-primary-soft);
  padding: 0;
}
.footer-guide .shipping-nav .shipping-nav__item:last-child a {
  border-bottom: 1px solid var(--color-primary-soft);
}
.footer-guide .shipping-nav__arrow svg {
  stroke: var(--color-primary);
}
.footer-guide .shipping-nav {
  margin-top: 2rem;
}
.footer__main .footer-guide .shipping-nav__list  {
  gap: 0;
}
.footer-block .footer-block__details-content .list-menu__item--link {
  padding-top: .8rem;
  padding-bottom: .8rem;
}
.footer__brand-bottom {
  margin-bottom: 6rem;
}
.footer__brand-bottom-inner {
  display: flex;
  justify-content: center;
  gap: 8px;
  align-items: center;
}
.footer__brand-logo-link{
display:inline-block;
text-decoration:none;
border:none;
}

.footer__brand-logo-link img{
  display:block;
  width: 40px;
  height: auto;
}
.footer__instagram-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: none;
  line-height: 1;
}

.footer__instagram-icon {
  display: inline-flex;
  width: 24px;
  height: 24px;
}

.footer__instagram-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.footer-block__details-content .list-menu__item--link{
  background: transparent;
}

.footer-block__details-content .list-menu__item--link:focus,
.footer-block__details-content .list-menu__item--link:active{
  background: transparent;
  opacity: 1;
}

.footer-block__details-content .list-menu__item--link:hover{
  background: transparent;
}
@media (min-width: 990px) {
    .shopify-section-group-footer-group .footer__main {
    max-width: var(--page-width);
    margin: 0 auto;
    padding: 12rem 0 6rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
  }
  .shopify-section-group-footer-group .footer__main {
    margin-top: 8rem;
  }
  .footerInfo_logo {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    justify-content: center;
    margin-top: 6rem;
  }
  .collection-lineup {
    grid-column: 1;
  }

  .footer-guide {
    grid-column: 2;
    margin-top: 0;
    
  }
  .collection-lineup  {
    margin-top:0;
  }
  .guide-navigation__title {
    margin-top: 0;
    margin-bottom: 2rem;
  }
.footer-contact-group {
    grid-column: 3;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

.footer-guide .shipping-nav.guide-nav {
  margin: 0;
}



}
/* =========================
contact-page
========================= */
.contact__fields .field__label {
  font-size: 1.3rem;
}
.contact-inquiry {
  border: none;
  font-family: var(--font-body);
  color: var(--color-primary);
  font-size: var(--font-sm);
  
}
.contact-inquiry__option input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  cursor: pointer;
}

.contact-inquiry__option {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.contact-inquiry__option {
  line-height: 2.2;
}
.contact-intro {
  padding-top: 4rem;
  color: var(--color-primary);
}
/* =========================
Law-page
========================= */
.two-col.low-title {
  padding: 7rem 1.5rem 6rem;
}
.two-col.low-title .title-stack {
  padding-inline: 0;
}



.p-section {
  padding: 0 1.5rem;
  color: var(--color-text-main);
}
.p-section__body {
  max-width: 100rem;
  box-sizing: border-box;
  margin: 0 auto;
}
.p-section-law {
  display: block;
}
.p-section-law {
  border-top: 1px solid #e6e6e6;
}
.p-section-law dt, .p-section-law dd {
  line-height: 1.926;
  padding: 2.7rem 0 2.6rem;
}

.p-section-law dt, .p-section-law dd {
  border-bottom: 1px solid #e6e6e6;
}

.p-section-law dt {
  min-width: inherit;
  border-bottom: none;
  padding-bottom: 0;
  font-size: 1.3rem;
  font-weight: 500;
}
.p-section__text,
.p-section-law dd,
.p-section-info__text,
.p-section-info__list,
.p-section-info__info {
  font-size: 1.28rem;
  font-weight: 400:
}
.p-section__text {
  border-top: 1px solid rgb(230, 230, 230);
  padding-top: 2.7rem;
  margin-top: 1.5rem;
}
.p-section-info__ttl {
  font-size: 1.5rem;
  line-height:1.8;
  font-weight: 500;
}
.p-section-law dd {
  display: block;
  margin-inline-start: 0px;
  padding-top: 0;
  margin-top: .3rem;
}
.p-section-info {
    margin-top: 5rem;
}
.p-section-info__body.policy__body {
  margin-left: 0;
}
.p-section-info__body.policy__body ul {
  padding-left: 0px;
}
.p-section-info__list {
  list-style: none;
  margin: 1.2rem 0px -0.3rem;
  padding: 0px;
}
.p-section-info__list li {
  position: relative;
  padding-left: 1.7rem;
}
.p-section-info__list li::before {
  top: 0px;
  left: 0px;
  font-size: 1.35rem;
  position: absolute;
  content: "・";
}
.sp-hidden {
  display: none;
}







/* =========================
Law-page--990px--
========================= */
.p-section-law {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid #e6e6e6;
}
.p-section-law dt {
    min-width: auto;
    padding-right: 0;
    padding-bottom: 1rem;
    border-bottom: none;
}
 .p-section-law dd {
  border-bottom: 1px solid #e6e6e6;
  padding: 2.7rem 0 2.6rem;
}
.p-section-law dt,
.p-section__text,
.p-section-law dd,
.p-section-info__text,
.p-section-info__list,
.p-section-info__info {
  font-size: 1.4rem;
}
.p-low__pc-hidden,
.p-section-law dd {
  margin: 0;
}
.sp-hidden {
  display: block;
}
@media screen and (min-width: 990px) {
  .two-col.low-title {
    padding-top: 14rem;
  }
  .payment-method .list-payment {
    justify-content: flex-start;
  } 
  .p-section-law {
  grid-template-columns: auto 1fr;
  }
.p-section-law dt {
  min-width: 13rem;
  padding-right: 7rem;
}
.p-section-law dt, .p-section-law dd {
  border-bottom: 1px solid #e6e6e6;
  padding: 2.7rem 0 2.6rem;
}
}
/* ストアを表示する */

.pickup-availability-info .caption {
  display: none;
}
.pickup-availability-drawer-title {
  font-size: 1.8rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.02em;
}
pickup-availability-drawer .pickup-availability-header {
  align-items: center;
  color: var(--color-primary);
  margin-bottom: 4rem;
}
.collection-hero__note,
.product__description p,
pickup-availability-drawer .pickup-availability-variant {
    color: var(--color-primary);
}
/* カートページ */
body:has(cart-items.is-empty) .cart-extra-area,
body:has(cart-items.is-empty) .App,
body:has(cart-items.is-empty) .cart-delivery-notice {
  display: none !important;
}
.cart__footer button {
  background-color: var(--color-accent);
  --border-opacity: 0;
  --border-offset: 0;
}
#cart-notification button[name="checkout"] {
  color: #FFF;
}
.cart-count-bubble {
  color: #FFF;
}
.cart-item__details .cart-item__name.h4 {
  font-family: var(--font-body);
  font-size: var(--font-sm);
}
#cart-notification-form {
  display:none;
}
.share-button__button {
  display: none;
}
.title-wrapper-with-link h1.title.title--primary {
  font-family: var(--font-heading);
  font-size: 2.4rem;
  color: var(--color-primary);
}

.cart__footer button:hover {
  background-color: var(--color-primary);
  color: #FFF;
}


.title-wrapper-with-link .underlined-link {
  display: none;
}
/* =========================
cart
========================= */
.plus-shipping_time-selector,
.react-datepicker__input-container > input {
  border: solid 1px #80b4a2ff !important;
  border-radius: 8px;
}
.cart-guide-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  margin-bottom: 2.4rem;
}

.cart-guide-heading__icon img {
  display: block;
  width: 2.8rem;
  height: auto;
}

.cart-guide-heading__title {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  font-family: 'Noto Sans Japanese';
  line-height: 1.8;
  padding-right: 1rem;
}
.product__quantity-note {
  font-size: var(--font-s);
  color: var(--color-primary);
  margin-block-start: 0;
  margin-block-end: 0;
}
.product__info-container .product-info-box.selectArea select
 {
  -webkit-appearance: menulist !important;
  appearance: menulist !important;
}
.product__info-container .product__quantity-note {
  margin: 4rem 0;
}
.product__quantity-note.rose-txt{
  color: var(--color-accent);
}
.cart-extra-area {
  margin: 0 2.4rem 6rem;
  padding: 7rem 2.4rem 0;
  background-color: #FFF;
  border-radius: 12px;
}
.cart-shipping-option {
  display: flex;
  flex-direction: column;
}
.cart-shipping-row {
  display:grid;
  grid-template-columns: 8rem 1fr;
  gap:2rem;
  align-items:center;
  margin-bottom:4rem;
}
.cart-delivery-notice {
  margin: 1rem  1.5rem;
}
.cart-delivery-notice .cart-guide-heading.delivery {
  margin-bottom:4rem;
}
.cart-delivery-notice__skip-message {
  margin-top: 0;
  margin-bottom: 3rem;
  font-size: var(--font-s);
  color: var(--color-accent);
  border-top: 1px solid var(--color-primary-soft);
  border-bottom: 1px solid var(--color-primary-soft);
  padding: 1rem 0;
}
.cart-shipping-item {
  margin-bottom: 6rem;
}
.cart-shipping-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}
.cart-shipping-icon img {
  display: block;
  width: 6.6rem;
  height: auto;
  opacity: .9;
}
.cart-shipping-icon.fsIcn img {
  width: 7.8rem;
}
.cart-shipping-icon.CsIcn img {
  width: 8.5rem;
}
.cancel-policy__sub-title,
.cart-shipping-title {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--color-accent);

  display: flex;
  align-items: center;
  gap: 1rem;

  margin: 6rem 0 2rem;
}
.cancel-policy__sub-title::after,
.cart-shipping-title::after {
  content: "";
  flex: 1;
  height: 1px;

  background-image: linear-gradient(
    to right,
    #E05188 2px,
    transparent 2px
  );
  background-repeat: repeat-x;
  background-size: 4px 1px;
}
.cancel-policy__emphasis {
  font-weight: 500;
}
.cart-shipping-subtitle-wrap{
  display:flex;
  align-items:center;
  gap:.6rem;
}
.cart-shipping-subtitle-icon{
  flex-shrink:0;
}
.cart-shipping-subtitle-icon img{
  display:block;
  width:1.4rem;
  height:1.4rem;
  opacity: .6;  
}
.cart-shipping-subtitle {
  display: inline-flex;
  align-items: center;
  padding: 0.6rem 1.2rem;
  background-color: var(--color-primary-soft);
  color: #fff;
  font-family: var(--font-body);
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 999px;
  line-height: 1;
  margin-bottom: 1rem;
}
.cart-shipping-content p {
  margin: 6px 0 0;
  line-height: 1.8;
  font-size: 13.6px;
  color: var(--color-primary);
}
.cart-guide-heading.delivery {
  margin-bottom:0;
  padding-bottom:0;
  padding-top:0;
}
.cart-shipping-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.cart__warnings .cart__login-paragraph {
  margin: 2rem 0 5rem;
  font-size: 1.3rem;
  font-weight: 400;
  font-family: 'Noto Sans Japanese';
  text-align: left;
}
.cart__warnings .cart__login-title {
  font-size: 1.5rem;
  font-weight: 400;
  font-family: 'Noto Sans Japanese';
}
.cart__warnings .button.button  {
  background-color: var(--color-accent);
}

.product-form__buttons .product-form__submit:hover,
.cart__warnings a.button:hover  {
  background-color: var(--color-button-main);
  color: #fff !important; 
}
.cart__warnings .button:not([disabled]):hover::after {
  box-shadow: none;
}
.product-form__buttons .product-form__submit.button:hover::after {
  box-shadow: none;
}
pickup-availability.product__pickup-availabilities {
  display: none;
}
#cart-notification-button {
  color: #fff;
  background-color: var(--color-accent);
}
#cart-notification-button::after {
  box-shadow: var(--color-accent);
}
#cart-notification .cart-notification-product__name {
  font-family: var(--font-body);
}
.cart-notification__links .button-label {
  margin-top: 4rem;
}
.cart-items .cart-item .cart-item__details {
        grid-column: 2 / 5;
    }
.cart-item__media img {
  width: 100%;
}
.cart-item__details .product-option+.product-option {
  margin-top: 24px;
  border-bottom: .1rem solid rgba(var(--color-foreground), .2);
}
.cart-item  .product-option {
  font-size: 1.3rem;
}
.cart-item  .product-option dt {
  font-weight: 600;

}
/* カートの見出し（商品・合計など）を非表示 */
.cart-items thead .caption-with-letter-spacing {
  display: none;
}
#main-cart-footer .totals__total {
  font-weight: 400;
  font-family: 'Noto Sans Japanese';
}
#main-cart-footer {
  background-color: rgb(238, 244, 245);
}
.cart__blocks .totals {
  justify-content: space-between;
}
.cart__blocks .tax-note {
  text-align: left;
}
#MainContent .cart__warnings h1 {
  font-size: 1.5rem;
  font-weight: 400;
  font-family: 'Noto Sans Japanese';
}

@media (min-width: 990px) {
  
  div:has(cart-items) ~ section .page-width {
    display: flex;
    justify-content: flex-end;
    padding-right:2.4rem;
  }
  div:has(cart-items) ~ section .shopify-app-block {
    width: 100%;
    max-width: 400px;
  }
  cart-items .title-wrapper-with-link{
    padding-top: 12rem;
  }
  .product__quantity-note-box {
    display: flex;
    gap: 10rem;
    align-items: stretch;
  }
  .product__quantity-note-box > .cart-shipping-item {
    flex: 1;
  }
  .cart-extra-area {
    padding-right: 8rem;
    padding-left: 8rem;
  }
  .cart-information {
    max-width: var(--page-width);
    margin: 0 auto;
  }
    .cart-delivery-notice,shopify-app-block {
    width: 40rem;
    margin-left: auto;
  }
  .cart-item .cart-item__media {
    width: 14rem;
  }
    .cart-item__quantity {
    width: 12rem;
    min-width: 12rem;
  }
  .cart-item__totals {
    width: 8rem;
    min-width: 8rem;
  }
  
}

@media screen and (max-width: 749px) {
  .cart-notification {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-width: 100%;
    
    border-radius: 0;
    border-width: 0;
    background-color: var(--color-bg-base);
    
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    
    z-index: 9999;
    

    transform: translateX(100%);
    
    padding: 2rem 1.5rem;
    padding-top: max(2rem, env(safe-area-inset-top));
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
    
    display: flex;
    flex-direction: column;
  }


  .cart-notification.active {
    transform: translateX(0);
  }

  .cart-notification__close {
    margin-top: 0;
    margin-right: 0;
  }

  .cart-notification-product {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .cart-notification__links {
    margin-top: auto;
    padding-bottom: 2rem;
  }
}




/* 商品詳細ページ */
.product__info-container > .product__title {
  margin-top: 1rem;
}
.article-template__title,
.product__title h1 {
  display: block;
  color: var(--color-primary);
  font-family: var(--font-body);
  font-size: var(--font-mdl);
  font-weight: 500;
  line-height: 2;
  border-bottom: 1px solid #3b6a5b;
}
.product__info-wrapper .price--large {
  font-family: var(--font-heading);
  font-size: 2.0rem;
  color: var(--color-primary);
}
.product-service-item{
  display:flex;
  align-items:center;
  gap:4px;
  color:var(--color-primary);
  font-size: var(--font-s);
  margin: 0;
  font-weight: 500;
  line-height: 1;
}
.product-service-item img{
 width: 8px;
 height: 8px;
}
.product-service-note {
  color:var(--color-primary);
  font-size: 11px;
  line-height: 1;
  margin: 8px 0 0;
  padding-left: 8px;
}
.cart-attribute__note {
  font-size: var(--font-s);
}
.order-details__icon {
  width: 40px; 
  height: auto;
}
.order-details__text {
  font-size: var(--font-md);
  color: var(--color-primary);
  font-weight: 500;
  line-height:1.0;
  margin-top: 1.2rem;
}
.product__info-container .order-details {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 6rem 0 4rem;
}
.product__info-container .product__description {
  font-size: var(--font-sm);
  border-top: 1px solid var(--color-primary-soft);
  border-bottom: 1px solid var(--color-primary-soft);
  padding: 1.6rem 0;
}
.product__info-container .product__description.product__description {
  margin: 4rem 0 0;
}
.price--large {
  font-size: 2.2rem;
}

.product__info-wrapper .product__text.inline-richtext {
  margin: 0;
  font-size: 13px;
}

.article-template {
  background-color: var(--color-bg-soft);
}
.article-template header {
  padding: 0 3rem;
}
.article-template__social-sharing.page-width,
.article-template__content.page-width  {
  padding: 0 3rem;
}
.article-template__hero-container {
  padding: 4rem 3rem 0;
  background-color: var(--color-bg-soft);
}
.article-template__link .icon-wrap {
  display: none !important;
}
.article-template__link {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  color: var(--color-primary);
}
.article-template__link::before {
  content: "";
  width: 3.2rem;
  aspect-ratio: 78 / 64;
  background-image: url(/cdn/shop/files/arrow-left.svg?v=1783154738);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
}
.article-template header .caption-with-letter-spacing {
  font-size: var(--font-s);
}
.article-template__back .article-template__link,
.article-template__content p {
  font-size: var(--font-sm);
}
 #size-guide {
  scroll-margin-top: 120px;
}
#seasonal_top_collection {
  scroll-margin-top: 90px;
}
.product__info-container .product-series {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-top: 2.6rem;
}

.product-series__row {
  color: var(--color-primary);
}
.product-series__list {
  display: inline-flex;
  margin: 0 0 12px;
  border: 1px solid var(--color-lang-bg-soft);
  border-radius: 24px;
  background-color: transparent;
  overflow: hidden;
}
.product-series__btn {
  font-family: var(--font-heading);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  height: 32px;
  padding: 0 16px;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-border-main);
  background: transparent;
  text-decoration: none;
  border: 0;
  transition: all 0.15s ease;
}
.product-series__item + .product-series__item {
  border-left: 1px solid var(--color-lang-bg-soft);
}
a.product-series__btn:hover {
  background: var(--color-button-size-hover);
  color: var(--color-button-hover);
  border: none;
}
.product-series__btn.is-active {
  background: var(--color-accent-soft);
  color: #fff;
  font-weight: 500;
}

.product-series__guide-link {
  margin: 2rem 0 2rem 8px;
}

.product-series__guide-link a {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 4px;
  padding: 1rem 0 2rem;
  transition: opacity .2s ease;
}
.product-series__guide-link.guide-link-button button {
  padding: 10px 16px;
  font-size: 13px;
  /* border-radius: var(--inputs-radius); */
  border: 1px solid var(--color-button-hover);
  background: #FFF;
  color: rgb(44, 90, 75);
  border-radius: 4px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.product-series__guide-link.guide-link-button button:hover {
  background: var(--color-button-hover);
  color: #fff;
}

.product-series__guide-link a:hover {
  opacity: 1;
}
  .product__info-container variant-selects {
    margin-top: 30px;
    border-radius: 15px;
    padding: 30px 15px;
    background-color: #FFF;
  }
  .product__info-container .product-info-box.selectArea {
    margin: 30px auto;
    align-items: center;
  } 
  .product__info-container .product-info-box {
    margin: 60px auto;
  }
  .product-info-box {
    border-radius: 15px;
    border-top: 5px solid rgba(241, 87, 154, 0.77);
    padding: 20px 15px;
    background-color: #FFF;
  }
  .fg-property-error,
  .property-error {
  margin-top: 4px;
  font-size: 1.2rem;
  color: var(--color-accent);
  line-height: 1.5;
}
.cart-attribute__field select[aria-invalid="true"],
.cart-attribute__field select[aria-invalid="true"]:focus,
.cart-attribute__field select[aria-invalid="true"]:focus-visible  {
  border: 1.5px solid #4a7361;
}
.product-form__error-message-wrapper {
  display: none !important;
}
  .local-delivery-modal,
  .delivery-area-dialog {
    max-width: 90vw;
  }
  .local-delivery-modal__inner,
  .delivery-area-dialog__inner {
    position: relative;
    max-height: 80vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  body.modal-open {
  overflow: hidden;
  }
  .local-delivery-modal__close {
  -webkit-appearance: none;
  appearance: none !important;
  position: sticky;
  top: 0;
  right: 1rem;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none !important;
  box-shadow: none !important;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 32px;
  color: var(--color-accent);
}
.delivery_date_message-note {
  font-size: var(--font-s);
  font-weight:500;
  margin-top: 2rem;
  color: var(--color-primary);
}
/* .delivery_date_message-note.pink-message {
  color: var(--color-accent);
} */
.same-day-option {
  background-color: var(--color-lang-bg-more_soft);
  padding: 2rem;
  margin-top: 6rem;
  border-radius: 16px;
}
.same-day-option_inner{
  border-radius: 16px;
  padding: 2.4rem 2rem;
  background-color: #FFF;
}
.same-day-option_title,
.same-day-option_txt {
  font-family: var(--font-body);
  letter-spacing: .02em;
  color: var(--color-primary);
  font-weight: 500;
}
.same-day-option_title {
  font-size: 19px;
  line-height: 2;
  display: flex;
  justify-content: center;
}
.same-day-option_txt {
  margin-top: 2rem;
  font-size: 13px;
}
.delivery-date-contact-text {
  font-size: 1.3rem;
  background-color: var(--color-bg-soft);
  padding: 0.8rem;
  border-radius: .8rem;
}
.delivery-date-phone-button {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8px 16px;
  border: 1px solid var(--color-primary);
  border-radius: 999px;
  background-color: var(--color-bg-soft);
  text-decoration: none;
  color: var(--color-primary);
  font-weight: 500;
  font-size: 15px;
  font-family: var(--font-heading);
  cursor: pointer;
  transition: all 0.3s ease;
}

.delivery-date-phone-button:hover {
  background: var(--color-button-hover);
  color: #fff;
}
.delivery-date-phone-button:hover span {
  color: #fff;
}
.icon-hover {
  display: none;
}
.delivery-date-phone-button:hover .icon-default {
  display: none;
}
.delivery-date-phone-button:hover .icon-hover {
  display: block;
}
.delivery-date-priority.cart-attribute__field label {
  font-size: var(--font-s);
  color: var(--color-accent);
  border-radius: 6px;
}

.delivery-date-priority {
  width: 100%;
}
.delivery-date-priority__text {
  background-image: linear-gradient(to right, var(--color-accent) 2px, transparent 2px);
  background-repeat: repeat-x;
  background-size: 4px 1px;
  background-position: left bottom;
}
.cart-attribute__field.delivery-date-priority input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1.5px solid var(--color-accent); /* ← 枠線の色 */
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
}
.cart-attribute__field.delivery-date-priority label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  margin-top: 2rem;
}
.cart-attribute__field.delivery-date-priority input[type="checkbox"]:checked {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}
.cart-attribute__field.delivery-date-priority input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.cart-attribute__field.delivery-date-priority input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}


.recipient-note-accordion__content-inner {
  padding: 1rem;
  border-top: 1px solid var(--color-border-shipping);
}
  .delivery-area-dialog.product-info-box,
  .local-delivery-modal.product-info-box {
    border-left: none;
    border-right: none;
    border-bottom-color: var(--color-accent-soft);
  }
  .local-delivery-modal__inner .shipping-icon {
    margin-left: 0;
  }
  .local-delivery-modal__inner .shipping-area-block {
    text-arign: 15px;
  }
  .shipping-content h2, .shipping-content h3
  .local-delivery-modal.product-info-box,
  .local-delivery-modal__inner .shipping-content {
    padding-top:0;
  }
  .local-delivery-modal__inner .shipping-content p:first-of-type {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 8px;
  }
.shipping-content h2, .shipping-content .shipping-area-block h3 {
  text-align: left;
  }
  .product-info-box .shipping-section-heading {
    margin-top: 0rem;
  }
  .product-info-box .shipping-section-heading {
    margin-bottom: 2rem;
  }
  .product-info-box .shipping-section-heading h3 {
    margin: 0;
  }
  .product-info-box.selectArea{
    border-top: none;
  }
  .product-info-box.selectArea .product-series__guide-link {
    margin-top: 2rem;
  }
  .product-info-box.selectArea .product-series__guide-link a {
    color: var(--color-accent);
  }
  #local-delivery-area {
  scroll-margin-top: 120px;
}
  .cart-attribute__field {
    margin: 0;
  }
  .grid__item .slider-buttons .slider-button {
    height: 10px;
  }
.pickup-availability-info .caption {
 display: none;
}
.product-form__submit.button--secondary {
  color: var(--color-accent);
  border: 1px solid var(--color-accent);
  box-shadow: transparent;
}
.recipient-note-accordion__wrapper {
   margin-top: 2rem; padding: 0 1.6rem;
   } 
.recipient-note-accordion {
   font-size: 1.3rem; color: var(--color-primary);
   } 
.recipient-note-accordion__title {
   display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 8px 0;
  font-size: 1.3rem;
  list-style: none;
  } 

/* .recipient-note-accordion__title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-primary-soft);
  flex-shrink: 0;
} */
.recipient-note-accordion__title::after {
  content: "+";
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  transition: transform .3s ease;
}
.recipient-note-accordion__content {
  overflow: hidden;
}
@supports (interpolate-size: allow-keywords) {
  :root {
    interpolate-size: allow-keywords;
  }
}

.recipient-note-accordion[open] .recipient-note-accordion__content {
  max-height: 200px;
  opacity: 1;
}
.local-delivery-fields {
  display: none;
}
.message-card-modal__sample-image {
  width: 100%;
  height: auto;
}
#MessageCardModal .message-card-modal-text {
  font-size: 12px;
  line-height: 1.8;
  margin: 0px;
}
.message-count {
  text-align: end;
}
.messagecard-details {
  font-size: 1.3rem;
}
.messagecard-details__body {
  margin-top: 10px;
}
.shipping-content .shipping-link a,
.messagecard-details summary {
  display: flex;
  flex-direction: row-reverse;
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--color-accent);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 4px;
  padding: 1rem 0 2rem;
}
.messagecard-details[open] summary::after {
  transform: rotate(180deg);
}
.message-note {
  margin: 3rem 0;
  font-size: var(--font-s);
  font-weight: 500;
  margin-top: 2rem;
  color: var(--color-accent);
}
[data-property-block="message-card"] .guide-link-button {
  margin-bottom: 5rem;
}
.line-item-property__field--requests {
  margin-top: 40px;
}
.line-item-property__field--requests:last-child {
  margin-top: 0;
}
.messagecard-details__body img {
  width: 100%;
  max-width: 500px;
  height: auto;
  display: block;
  margin: 10px auto;
}
.line-item-property__field--requests.name_tag_txtArea {
  margin-top: 2rem;
}
.color-icon {
  display: inline-block;
  vertical-align: -5px;
}
.color-icon img {
  width: 23px;
  height: auto;
}
.delivery-date-phone-button-wrapper {
  text-align: center;
}
.form__label,
.accordion__title,
.cart-attribute__field label {
  font-family: Noto Sans Japanese, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--color-primary);
  margin-bottom: 0.5em;
  display: inline-block;
}

.delivery-date-input::placeholder {
  color: #2C5A4B;
}


.delivery-date-input,
.cart-attribute__field select {
  width: 100%; 
  max-width: 400px;
  padding: 0 3rem 0 2rem;
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
  font-size: 1.2rem;
  color: rgba(var(--color-foreground), .75);
  line-height: calc(1 + .6 / var(--font-body-scale));
  border-radius: var(--inputs-radius);
  background-color: var(--color-bg-soft);
  color: #2C5A4B;
  height: 3.6rem;
  border: 1px solid transparent;
  outline: none;
  box-shadow: 0 0 0 1px transparent;
}
.cart-attribute__field select:focus,
.cart-attribute__field select:focus-visible {
  border-color: var(--color-accent);
  font-weight: bold;
  background-color: #FFF;
}
.select,.select:before,.select:after,.select__select{
  height: 3.6rem;
  border: none;
  outline: none;
  box-shadow: 0 0 0 1px transparent;
}
.select__select:focus,
.select:focus-within::after,
.select:hover::after,
.field__input:focus, 
.select__select:focus, 
.select:hover .select__select,
.customer .field input:focus, 
.customer select:focus, 
.select:hover.select:after,
.localization-form__select:focus.localization-form__select:after {
  box-shadow: 0 0 0 1px var(--color-accent);
}

.select__select:focus,
.select__select:focus-visible,
.select:hover .select__select {
  background-color: #FFF;
  font-weight: bold;
}
.cart__warnings .cart__login-paragraph,
.cart__warnings .cart__login-title {
  display: none !important;
}

.product__info-wrapper .product-form__input input[type='radio']:checked + label {
  background-color:  var(--color-accent);
  border-color:  var(--color-accent);
  color: #fff;
}
  .cart-attribute__field--textarea textarea {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid var(--color-lang-bg-soft);
  border-radius: 4px;
  font-size: 1.6rem;
  font-weight:400;
  line-height: 1.6;
  background-color: var(--color-bg-soft);
}
.price.price--inquiry .price-item--regular.smallCap {
  font-size: 14px;
}
.button, .button-label, .shopify-challenge__button, .customer button
,.button:after {
  border-radius: var(--inputs-radius);
}
.product__info-wrapper .accordion {
border-bottom-color: transparent;
border-top-color: transparent;
}
.product__info-wrapper details.accordion > summary.accordion__summary {
  position: relative;
  padding: 3rem 0 3rem;
}

.product__info-wrapper details.accordion > summary.accordion__summary::before {
  content: "+";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 2.5rem;
}
.product__info-wrapper details.accordion[open] > summary.accordion__summary::before {
  content: "−";
}
.product__info-wrapper .accordion__content {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: 
    max-height 0.4s ease-in-out,
    opacity 0.4s ease-in-out;
}
.product__info-wrapper .accordion__title {
  font-size: 15px;
  white-space: nowrap;
}
.product__info-wrapper details[open] .accordion__content {
  max-height: 3800px;
  opacity: 1;
}
.product__info-wrapper details > summary::before {
  transition: transform 0.3s ease-in-out;
}

.product__info-wrapper details[open] > summary::before {
  transform: rotate(45deg);
}
.product__info-wrapper .accordion .product-info-box {
  margin-top: 0;
}
.cart-shipping-item.productInfo {
  width: fit-content;
  margin: 4rem auto;
  grid-template-columns: 7rem 1fr;
  align-items:center;
  gap: 1rem;
}
.cart-shipping-item.productInfo .cart-shipping-icon.fsIcn img {
  width: 7rem;
}
.product-form__buttons {
  margin-bottom: 4rem;
}
/* .product-form__input.product-form__input--dropdown .form__label::before {
  content: "*";
  color: var(--color-accent);
  font-weight: 600;
  font-size: 18px;
  font-family: "Open Sans", sans-serif;
  font-style: normal;
} */
.accordion__heading {
  display: grid;
  grid-template-columns: 90px 1fr;
  align-items: center;
  column-gap: 0.8rem;
}
.shipping-content {
  padding: 24px 10px;
  font-family: "Noto Sans JP", sans-serif;
  color: var(--color-primary);
}
.delivery-area-dialog__item-title {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: var(--color-primary);
  margin: 0;
}
.delivery-area-dialog__item-text {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--color-primary);
}
.delivery-area-dialog__item {
    background-color: var(--color-bg-subtle);
    border-radius: .4rem;
    flex-direction: column;
    padding: 2rem 1.4rem;
    margin-bottom: 1rem;
}
.delivery-area-dialog__title,
.shipping-content h2,
.shipping-content h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  margin-top: 3rem;
  color: var(--color-primary);
}
.shipping-content h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  margin-top: 0.6rem;
}
.shipping-content p {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: .02em;
}
.shipping-content p:first-of-type {
  margin-bottom: 2rem;
}
.shipping-content p:last-of-type {
  margin-top: 2rem;
}
.shipping-note-text,
.shipping-note{
  font-size: 1.3rem;
  color: var(--color-primary);
}
.accordion__content .shipping-icon {
  margin: 0;
}
.accordion__content .shipping-icon img {
  display: inline-block;
  width: 50px;
  height: auto;
  border: none;
}
.accordion__heading .shipping-truck-icon img {
  width: 55px;
  height: auto;
}
.accordion__heading .stand-flower-icon img {
  width: 52px;
  height: auto;
}
.accordion__content .size-innner-icon img {
  width: 40px;
}
.shipping-icon {
  text-align: center;
  margin-left: 2.4rem;
}
.shipping-area-block {
  background: var(--color-bg-subtle);
  padding: 1.1rem 1.6rem;
  margin: 1rem 0;
}
.shipping-area-block:last-of-type {
  margin-top: 2.4rem;
}
.shipping-area-block h4 {
  font-size: 1.4rem;
}
.shipping-fee-item {
  display: grid;
  grid-template-columns: 11rem 1fr;
  column-gap: 1.2rem;
  row-gap: 0.4rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.shipping-fee-list dt {
  font-size: 1.35rem;
  font-weight: 600;
  margin-left: 0;
}
.shipping-fee-list dd {
  font-size: 1.4rem;
  margin-left: 0;
}
.circle-number {
  font-family: Futura;
  font-size: 26px; 
  font-weight: 500;
  fill:  var(--color-accent);
  transform: translateY(4px);
}
.circle-text {
  width: 110px;
  height: 110px;
  margin: 0 auto;
}
.circle-text svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}
.sympathy-flower .circle-label {
  letter-spacing: 0.28em;
}
.circle-label {
  font-size: 9px;
  letter-spacing: 0.37em;
  font-weight: 600;
  fill:  var(--color-accent);
}
.circle-text.sympathy-flower .circle-label {
  fill:  var(--color-primary);
}
.petiteSelection_ttl{
  text-align: center;
  margin-top: 1.6rem;
}
.ttl-large {
  font-size: 2.0rem;
  font-weight: bold;
  display: block;
}
.ttl-small {
  font-family: "Avenir",sans-serif;
  font-size: 2rem;
  font-weight: 600;
  color:  var(--color-accent);
  line-height: 1.75;
  display: block;
  text-align: center;
}
.petiteSelection_ttl .ttl-small .yen,
.petiteSelection_ttl .ttl-small .kara {
  display: inline-block;
  font-size: 0.5em;
  line-height: 1;
  vertical-align: baseline;
  margin-left: 3px;
}
.petiteSelection_ttl .ttl-small .kara {
  margin-right: 3px;
}
.rose-note {
  margin: 0.8rem auto 0;
  max-width: 28rem;
  font-size: 1.3rem;
  color: #6b6b6b;
  text-align: left;
  line-height: 1.6;
}
.inline-richtext {
  font-size: 1px;
  color: transparent;
}


.collection-hero__caption {
  margin-top: .4rem;
  font-size: 1.4rem;
  color: var(--color-accent);
  text-align: left;
}
.product__description.rte a{
  color: var(--color-primary); 
}
.stand-flower-note {
  background-color: var(--color-lang-bg-more_soft);
  padding: 16px;
  font-size: 14px;
  border-radius: 12px;
  margin-top: 2rem;
}
.stand-flower-note:last-of-type {
  margin-bottom: 4rem;
}
.collection-hero__description-wrap {
  padding: 0 3rem;
}
.collection-hero__description .stand-flower-note a {
  color: var(--color-primary);
}

.collection-hero__description .arrangement-note,
.product__description .arrangement-note {
  font-size: 1.4rem;
  color: var(--color-accent);
}
.lineup-head .collection-hero__note, 
.collection-hero__content .collection-hero__note,
.product__info-container .collection-hero__note {
  font-size: var(--font-xs);
  margin-top: 0;
}
.lineup__mv__description.collection-hero__note {
  margin-top: 2rem;
}
.product__info-container .collection-hero__note {
  text-align: right;
  border-top: none;
  margin-bottom:0;
}
.facets-container .mobile-facets__wrapper,
.facets-container .facets__wrapper,
.facet-filters.sorting.caption {
  display: none;
}

.product-feature {
  background: url(bg-image.png) no-repeat center/cover; /* または background-color */
  border-radius: 12px;
  padding: 2.8rem 0;
  margin: 0 auto;
}
.product-form__input--pill label {
  border-radius: 0 !important;
  border: none;
  background-color: #fff;
}
.product-form__input--pill input:checked + label {
  background-color: rgb(var(--color-foreground));
}
variant-selects .product-form__input .form__label {
  position: relative;
}

.product-form__input:nth-of-type(2) {
  margin-top: 2.5rem;
}
/* サムネイル枠線 */

  --color-primary-soft: #86B0A6;
  --color-lang-bg-soft: rgba(134, 176, 166, 0.65);
.thumbnail[aria-current] {
  box-shadow: var(--color-lang-bg-soft) !important;
  border-color: var(--color-primary-soft) !important;
}
.collection-list .card__information .card__heading .full-unstyled-link {
  font-size: 14px;
  color: #0D5B47;
}
.collection-list .card__content {
  padding-left:0;
  padding-right:0;
}
.card__content .card__information h3,
.card__information .card__heading.h5 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--color-primary);
  }
.card__information .card__heading.h5 a {
  color: var(--color-primary);
}

section#seasonal-qa{
  background:#FFF;
  margin-top: 6rem;
  padding: 8rem 2rem;
  text-align: center;
}
#seasonal-qa .product-qa__title {
  text-align: center;
}
#seasonal-qa .faq__item {
  text-align: left;
}
#seasonal-qa .faq__item:last-child::after {
  content: none;
}
.product-qa__subtitle {
  font-size: var(--font-sm);
  font-weight:400;
  margin-bottom:4rem;.faq
}
@media (max-width: 767px) {
  
  .card-information .price {
    font-family: Inter, system-ui, -apple-system, sans-serif;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.9rem;
    letter-spacing: 0.02em;
  }
  .card-wrapper .card-information>*:not(.visually-hidden:first-child)+*:not(.rating):not(.card__information-volume-pricing-note) {
    margin-top: 6px;
}
@media (min-width: 990px) {
  .two-col {
    padding: 0;
    max-width: 96rem;
  }
  .collection-list .card__information .card__heading .full-unstyled-link {
    font-size: 18px;
  }

}
  .product-info-box h2.product-info-box__title {
    text-align: center;
    line-height: 1.5;
    font-size: 1.8rem;
  }
  .product-info-box__title span {
    font-size: 1.5rem;
    display: block;
    color: rgba(241, 87, 154, 0.77);
  }
  .form-hint {
    font-size: 12px;
  }
  .product-feature__icon {
    background-color: #e8f0ed;
    border-radius:12px;
    width: 100%;
    height: 189px;
    position: relative;
    margin: 0 auto; /* 中央寄せ */
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .product-feature__icon img {
    height: 90%;
    max-height: 150px;
    width: auto;
    display: block;
  }
  .product-feature.small-icon .product-feature__icon img {
  width: 30%;
  height: auto;
}
  .product-feature__title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 10px;
  }
  .product-feature__text {
    font-size: 1.4rem;
    margin: 0px;
  }

  .thumbnail-list .thumbnail-list__item.slider__slide {
      width: calc(18% - 0.6rem);
      /* flex: 0 0 calc(18% - 0.6rem); */
  }
  .slider-button.slider-button--prev,
  .slider-button.slider-button--next {
    display:none;
  }
  .product__media-list {
    height: 90vw;
  }

}
/* top-page---news */
.article-template {
  padding-bottom: 3rem;
}
.main-blog > h1.title--primary {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.blog .page-width-desktop {
  padding: 0;
}
.blog .grid--peek.slider .grid__item:first-of-type {
  margin-left: 0;
}
.blog .blog__posts .article-card .card__information {
    padding: 0;
}
.blog .slider.slider--mobile {
  display: block;
  padding: 0 3rem;
}
.blog__post:first-child {
  border-top: 1px solid;
}
.blog .blog__post.article {
  width: 100%;
}
.blog .blog__posts .card-wrapper {
  width: 100%;
  border-bottom: 1px solid;
}
.blog .card__inner {
  display:none;
}
.blog .card__information {
  display: flex;
  flex-direction: column;
}
.blog .article-card__info {
  order: 1;
}
.blog .card__heading {
  order: 2;
  padding-bottom: 1.8rem;
}
.blog .article-card .card__heading {
  margin-bottom: 0;
}
.blog .caption-with-letter-spacing {
  font-family: var(--font-heading);
  font-size: var(--font-sm);
  font-weight: 400;
  line-height: 1.84;
  letter-spacing: .02em;
}
.blog .article-card__excerpt {
  display: none;
}
.blog .article-card-wrapper .card__inner {
  width: 25.6%;
}
.blog .card__media {
  width: 100%;
} 
.blog .slider-buttons {
  display: none;
}
.blog .slider.slider--mobile {
  margin-bottom: 0;
}

/* News一覧：PCで4列 */
@media screen and (min-width: 990px) {
  .main-blog .blog-articles {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: var(--grid-desktop-horizontal-spacing);
    row-gap: var(--grid-desktop-vertical-spacing);
  }
  
  .main-blog .blog-articles--collage > *,
  .main-blog .blog-articles--collage > *:nth-child(3n + 1),
  .main-blog .blog-articles--collage > *:nth-child(3n + 2):last-child {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
  }
.main-blog .article-card .card__inner.ratio {
  aspect-ratio: 1 / 1 !important;
  --ratio-percent: 100% !important;
  height: 260px;
}
.blog__button {
  display:none;
}
}
/* 画像枠いっぱいに表示 */
.main-blog .article-card .article-card__image-wrapper,
.main-blog .article-card .article-card__image,
.main-blog .article-card .card__media {
  height: 100%;
}

/* 長い画像・正方形画像を同じ高さでトリミング */
.main-blog .article-card .article-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.color-dots{
  display:flex;
  gap:6px;
  margin: 0 0 8px;
  padding:0;
  list-style:none;
}

.color-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  border: 1px #ccc solid;
}

/* ===== 5色 ===== */
.color-dots.dots-5 .color-dot:nth-child(1){ background:#F898C0; }
.color-dots.dots-5 .color-dot:nth-child(2){ background:#BB1F40; }
.color-dots.dots-5 .color-dot:nth-child(3){ background:#ECE26A; }
.color-dots.dots-5 .color-dot:nth-child(4){ background:#2E8245; }
.color-dots.dots-5 .color-dot:nth-child(5){ background:#FFFFFF; }

/* ===== 4色 ===== */
.color-dots.dots-4 .color-dot:nth-child(5){ display:none; }
.color-dots.dots-4 .color-dot:nth-child(1){ background:#F898C0; }
.color-dots.dots-4 .color-dot:nth-child(2){ background:#ECE26A; }
.color-dots.dots-4 .color-dot:nth-child(3){ background:#755AAE; }
.color-dots.dots-4 .color-dot:nth-child(4){ background:#2E8245; }

/* ===== 3色 ===== */
.color-dots.dots-3 .color-dot:nth-child(n+4){ display:none; }
.color-dots.dots-3 .color-dot:nth-child(1){ background:#FF7DB5; }
.color-dots.dots-3 .color-dot:nth-child(2){ background:#DE234A; }
.color-dots.dots-3 .color-dot:nth-child(3){ background:#FFCA0A; }

/* ================================
  collection
================================ */
.collection-hero {
  padding: 30px 0 16px;
}
.collection-hero .title-stack {
  margin-top: 2.4rem;
}
.collection-hero .title-stack .ttl__ja_txt {
  font-size: 24px;
  letter-spacing: .02em;
}
.collection-hero .collection-hero__image-container {
  height: 22rem;
}

/* ========================================
  季節のバナーと説明
======================================== */
.futures-top {
    height: auto;
}
.futures-top img {
  width: 100%;
  height: auto;
}
.seasonal-banner {
  padding-bottom: 39px;
  background-color: var(--color-bg-soft);
}
.seasonal-banner__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.seasonal-banner__media {
  width: 100%;
}
.seasonal-banner__image {
  display: block;
  width: 100%;
  height: auto;
}
.seasonal-banner__content {
  width: 100%;
}
.seasonal-banner__heading {
  display: inline-block;
  width: fit-content;
  margin: 20px 0 16px;
  padding-bottom: 8px;
  font-size: 18px;
  font-family: var(--font-body);
  color: var(--color-primary);
  background-image: url("/cdn/shop/files/g-line.webp?v=1783305206");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 206px 10px;
}
.seasonal-banner__text {
  font-family: var(--font-body);
  color: var(--color-primary);
  font-size: var(--font-base);
}
.seasonal-banner__text > *:first-child {
  margin-top: 0;
}
.seasonal-banner__text > *:last-child {
  margin-bottom: 0;
}
  .collection-hero__image-container--custom {
    width: 100%;
    flex-shrink: 0;
  }
  .collection-hero__content {
    width: 100%;
  }
/* div:has(cart-items) ~ section {
  position: relative;
  z-index: 999;
  background-color: var(--color-bg-soft);
  padding-bottom: 1rem;
} */
div:has(cart-items) ~ section:has(.App) {
  position: relative;
  z-index: 999;
  background-color: var(--color-bg-soft);
  padding: 0 0.9rem 6rem;
}
.plus-shipping_container .plus-shipping_time-selector {
  height: 4rem;
  background-color: #FFF;
  color: var(--color-primary);
}
/* Plus Shipping内だけ、Dawnのfocus装飾を消す */
#plus-shipping_extension-root .focused,
#plus-shipping_extension-root input:focus,
#plus-shipping_extension-root select:focus,
#plus-shipping_extension-root input:focus-visible,
#plus-shipping_extension-root select:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
}

/* 通常時 */
#plus-shipping_extension-root .plus-shipping_time-selector,
#plus-shipping_extension-root .react-datepicker__input-container > input {
  border: solid 1px #80b4a2ff !important;
  border-radius: 8px;
}

/* アクティブ時・フォーカス時 */
#plus-shipping_extension-root .plus-shipping_time-selector:focus,
#plus-shipping_extension-root .plus-shipping_time-selector:focus-visible,
#plus-shipping_extension-root .react-datepicker__input-container > input:focus,
#plus-shipping_extension-root .react-datepicker__input-container > input:focus-visible {
  border-color: var(--color-accent) !important;
  outline: none !important;
  box-shadow: none !important;
}
#plus-shipping_extension-root .plus-shipping_container {
  font-family: Noto Sans Japanese, sans-serif;
  color: var(--color-primary);
  font-weight: var(--fw-medium);
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
/* Plus Shipping：各項目の下余白 */
#plus-shipping_extension-root .plus-shipping_container {
  margin-bottom: 2rem;
}

/* 項目名と入力欄の間隔 */
#plus-shipping_extension-root .plus-shipping_container > div {
  margin-top: 0.2rem;
}
.cart-delivery-time-guide {
  margin: 4rem 0;
  padding: 1.4rem;
  background-color: #fff;
  border-radius: 10px;
}
.cart-delivery-time-guide__image {
  display: block;
  width: 100%;
  max-width: 640px;
  height: auto;
  border-radius: 8px;
}
.cart-delivery-time-guide__title {
  text-align: center;
  fomt-size: 16px;
  color: var(--color-primary);
  font-weight: var(--fw-medium);
}
.collection-hero__inner--custom {
  display: flex;
}
.collection-hero__description {
  margin-top: 4rem;
  color: var(--color-primary);
  font-size: var(--font-s);
}
.collection-hero__description.rte a {
  color: var(--color-primary);
  font-size: var(--font-sm);
}
@media (min-width: 750px) {
  .collection-hero .collection-hero__inner {
    padding-top: 8rem;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 6%;
  }
  .collection-hero .collection-hero__image-container {
    margin-left: 0;
  }
    .seasonal-banner__inner {
    flex-direction: row;
    align-items: center;
    gap: 48px;
  }
  #product-grid.grid {
    grid-template-columns: repeat(3, 1fr);
  }
  #product-grid .grid__item {
    width: calc((100% - 4rem) / 3);
    max-width: calc((100% - 4rem) / 3);
    flex-grow: 0;
    flex-shrink: 0;
  }
    .cart-delivery-time-guide {
    width: 100%;
    max-width: 720px;
    margin-left: auto;
    margin-right: 0;
  }

}

@media (min-width: 990px){
  div:has(.collection-hero) + div  {
    padding-top: 5rem;
    background: var(--color-bg-soft);
  }
  .collection-hero.collection-hero--with-image {
    max-width:none;
  }
  .collection-hero__image-container--custom {
    width: 50%;
    flex-shrink: 0;
  }
  .facets__form {
    display: none;
  }
  .collection-hero__content {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .collection-hero .title-stack {
    margin-top: 0;
  }
  .collection-hero .collection-hero__image-container {
    height: 36rem;
  }
  #product-grid.grid {
    grid-template-columns: repeat(4, 1fr);
  }
#product-grid .grid__item {
    width: calc((100% - 6rem) / 4);
    max-width: calc((100% - 6rem) / 4);
    flex-grow: 0;
    flex-shrink: 0;
  }
  .rose-guide br {
    display: none;
  }
}

/* ==================================================
   Collection Gallery
================================================== */
.collection-gallery {
  margin-top: 4rem;
  margin-bottom: 5rem;
}
#gallery {
  scroll-margin-top: 8rem;
}
.collection-gallery__header {
  margin-bottom: 2rem;
  font-size: clamp(2rem, 2.4vw, 3rem);
  line-height: 1.3;
}
.collection-gallery__header .cart-shipping-title {
  margin-top: 6rem;
  font-size: 18px;
}
.collection-gallery__list,
.collection-list.grid--4-col-desktop,
.product-grid.grid--4-col-desktop {
  max-width: 100%;
  row-gap: 2.4rem;
}
.collection-hero__heading-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
}

.collection-gallery__description {
  font-size: 14px;
}
.collection-hero__gallery-link {
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  gap: .6rem;
  padding-bottom: 4px;
  align-self: flex-end;
  font-size: 1.4rem;
  color: var(--color-primary);
  text-decoration: none;
}
.collection-hero__gallery-link::after {
  content: "";
  width: 3.2rem;
  aspect-ratio: 78 / 64;
  background-image: url("/cdn/shop/files/icon-dot_allow-down.svg?v=1780887995");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
}
.collection-hero__gallery-link::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(
    to right,
    #E05188 2px,
    transparent 2px
  );
  background-repeat: repeat-x;
  background-size: 4px 1px;
}
#product-grid:has(.grid__item:only-child) .grid__item {
  flex: 0 0 calc(50% - 0.5rem);
}
.collection-gallery__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
  margin: 2.6rem 0 0;
  padding: 0;
  list-style: none;
}

.collection-gallery__item {
  margin: 0;
}

 .collection-gallery__image-wrapper {
  overflow: hidden;
}
.collection-list.grid--2-col-tablet-down .grid__item {
    width: calc(
      (100% - (var(--grid-mobile-horizontal-spacing) * 2)) / 3
    );
    flex-grow: 0;
  }
.collection-list .card__information {
  padding-top: 0;
}
.card-wrapper .card-information .card__inquiry-button {
  margin-top: 4rem !important;
}

.collection-gallery__trigger {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  -webkit-tap-highlight-color: transparent;
}

.collection-gallery__trigger:focus-visible {
  outline: 2px solid rgb(var(--color-foreground));
  outline-offset: 2px;
}

.collection-gallery__image {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 750px) {
  .collection-gallery__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
}
@media (min-width: 990px){
    .collection-gallery__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
}
/* -----------------------------
   Lightbox overlay
   ----------------------------- */
.collection-gallery__lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(28 41 39 / 16%);
  backdrop-filter: blur(10px);
  opacity: 0;
  transition: .8s cubic-bezier(0.165, 0.84, 0.44, 1);
  padding: 40px 20px;
  box-sizing: border-box;
}
.collection-gallery__lightbox[hidden] {
  display: none;
}

.collection-gallery__lightbox.is-open {
  opacity: 1;
}

/* -----------------------------
   Image stage
   ----------------------------- */
.collection-gallery__lightbox-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 85vw;
  max-height: 75vh;
  touch-action: pan-y;
}

.collection-gallery__lightbox-image {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 86vh;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

/* -----------------------------
   Buttons (close / nav)
   Mobile default sizes & positions
   ----------------------------- */
.collection-gallery__lightbox-close,
.collection-gallery__lightbox-nav {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  cursor: pointer;
  transition: background 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}

.collection-gallery__lightbox-close {
  top: 12px;
  right: 12px;
}

.collection-gallery__lightbox-nav--prev {
  top: 50%;
  left: 8px;
  transform: translateY(-50%);
}

.collection-gallery__lightbox-nav--next {
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

/* -----------------------------
   Counter
   ----------------------------- */
.collection-gallery__lightbox-counter {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
}

/* -----------------------------
   Body scroll lock
   ----------------------------- */
body.lightbox-open {
  overflow: hidden;
}

/* ==================================================
   Tablet and up (>= 750px)
   ================================================== */
@media screen and (min-width: 750px) {
  .collection-gallery__image {
    transition: transform 0.3s ease;
  }

  .collection-gallery__lightbox-close,
  .collection-gallery__lightbox-nav {
    width: 44px;
    height: 44px;
  }

  .collection-gallery__lightbox-close {
    top: 16px;
    right: 16px;
  }

  .collection-gallery__lightbox-nav--prev {
    left: 16px;
  }

  .collection-gallery__lightbox-nav--next {
    right: 16px;
  }

  .collection-gallery__lightbox-counter {
    bottom: 20px;
    font-size: 0.9rem;
  }
}

/* ==================================================
   Devices with hover (mouse)
   ================================================== */
@media (hover: hover) {
  .collection-gallery__trigger:hover .collection-gallery__image {
    transform: scale(1.03);
  }

  .collection-gallery__lightbox-close:hover,
  .collection-gallery__lightbox-nav:hover {
    background: rgba(0, 0, 0, 0.7);
  }
}








.fg-select-points {
  display: flex;
  flex-wrap:wrap;
  gap: 0.8rem;
  color: var(--color-primary);
  font-size: var(--font-sm);
  line-height: 1;
  margin-top: 2rem;
}
.fg-select-point {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.fg-select-point img {
  width: 2rem;
  height: auto;
}


/*=================
=== menu__drawer 
===================*/
.drawer-acc__summary[href="#"]{
  pointer-events:none;
  cursor:default;
}
.js .menu-drawer__navigation .submenu-open {
  visibility: visible !important;
}
.header__icon .icon-hamburger,.header__icon .icon-close {
  stroke: var(--color-accent);
  stroke-width: 1px;
}
.menu-drawer__navigation > .menu-drawer__menu > li > a.menu-drawer__menu-item,
.menu-drawer__navigation > .menu-drawer__menu > li > div.drawer-acc > .drawer-acc__summary  {
  display: inline-block;
  position: relative;
  font-size: var(--font-md);
  font-weight: 500;
  color: var(--color-primary);
  padding: 0 0 7px 0;
  line-height: 1;
  margin-bottom: 20px;
  margin-top: 20px;
  padding-bottom: 10px;
  background-image: url(/cdn/shop/files/g-line.webp?v=1783305206);
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: 200px 10px;
}
.menu-drawer__navigation > .menu-drawer__menu > li:nth-child(n+2){
  margin-top: 1.8rem;
}
.drawer-acc .drawer-acc__child {
  font-size: 1.5rem;
  font-weight:var(--fw-medium);
  color: var(--color-primary);
  position: relative;
  padding-left: 16px;
}
.drawer-acc .drawer-acc__child::before{
  content:"";
  position:absolute;
  left:0;
  top:53%;
  width:8px;
  height:8px;
  opacity: 0.75;
  transform:translateY(-50%);
  background-image:url("/cdn/shop/files/icon-dot.svg?v=1774852817");
  background-size:contain;
  background-repeat:no-repeat;
}
#menu-drawer {
  position: fixed !important;
  top: 0;
  left: 0;
  height: 100dvh;
  max-height: 100dvh;
  z-index: 1000;
  width: 90%;
  border-top-right-radius: 16px; 
}
.drawer-overlay{
  position: fixed;
  inset: 0;
  background: rgba(101, 80, 91, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  z-index: 999; /* ドロワーより下にする */
}
.menu-drawer-container[open] .drawer-overlay{
  opacity: 1;
  display: block;
  pointer-events: auto;
}
.menu-drawer-container:not([open]) .drawer-overlay{
  transition: opacity 0s linear;
}

.menu-drawer__inner-container .menu-drawer__navigation {
  padding: 3rem;
}
.menu-drawer-container > summary{
  position: relative;
  z-index: 1001;
}
.header__icon--menu[aria-expanded=true]::before{
  content: none !important;
}
  .menu-drawer-container .menu-drawer__menu-item:hover,
  .menu-drawer-container .menu-drawer__menu-item:focus,
  .menu-drawer-container .menu-drawer__menu-item:focus-visible,
  .menu-drawer-container .menu-drawer__menu-item--active,
  .menu-drawer-container .drawer-acc__summary:hover,
  .menu-drawer-container .drawer-acc__summary:focus,
  .menu-drawer-container .drawer-acc__summary:focus-visible,
  .menu-drawer-container .drawer-acc__child:hover,
  .menu-drawer-container .drawer-acc__child:focus,
  .menu-drawer-container .drawer-acc__child:focus-visible{ 
    background-color: transparent;
  }
.menu-drawer__menu
.drawer-acc__summary {
  padding-block: 10px;
  line-height: 2.4;
  display: flex;
  align-items: center;
  gap: .8rem;
}
.drawer-nav-top{
  margin: 8px auto 0;
}
.drawer-nav-top__logo{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 2rem 1.6rem;
  width: 100%;
}
.drawer-nav-top__img{
  width: 18rem;
  height: auto;
}
.drawer-nav-bottom {
  margin :2rem auto 6rem;
  width: 240px;
  height: auto;
}
.drawer-nav-bottom__img{
  display: block;
  width: 100%;
  height: auto;
}
.menu-drawer__utility-links{
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
/*=================
=== breadcrumbs 
===================*/
.breadcrumbs-wrap {
  background-color: var(--color-bg-soft);
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .1rem;
  padding-top: 1rem;
  color: var(--color-primary);
}
.breadcrumbs a {
  text-decoration:none;
  color: var(--color-primary);
  opacity: 0.7;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.breadcrumb-delimeter:not(:last-child):after{
  content: "/";
  font-size: 12px;
  display: inline-block;
  color: var(--color-primary);
  opacity: .4;
  margin: 0 .4rem;
  vertical-align: 2px;
}
.page-width.breadcrumbs a:last-child {
  opacity: 1;
  font-weight: 500;
}
@media screen and (min-width: 990px) {
  .breadcrumbs-wrap {
    margin-top: 7rem;
  }
}

/*=================
=== よくあるご質問 
===================*/
.section-guide {
  background: linear-gradient(
    to bottom,
    #BCD1C1 0%,
    #E8F0ED 30%,
    #ffffff 100%
  );
}
.section-guide__header {
  margin-top: -80px;
    padding: 80px 30px 0;
}
.faq {
  margin-top: 9rem;
  margin-bottom: 9rem;
}
.shipping-section-heading {
  margin-top: 70px;
}
.faq__question{
  display: block;
}
.faq__item{
  position: relative;
  padding: 2.8rem 0;
}
.faq__list {
  position: relative;
  margin-top: 24px;
}
.faq__question{
  position: relative;
  padding-right: 3rem;
  cursor: pointer;
  list-style: none;
  font-weight: 500;
}
.faq__q {
  color: var(--color-accent);
}
.faq__a {
  color: var(--color-footer-line);
  font-weight: var(--fw-medium);
}
.faq__title,.faq__list {
  color: var(--color-primary);
  padding: 0 15px;
}
.faq .shipping-section-heading h3 {
  font-family: Noto Sans JP, sans-serif;
  color: var(--color-primary);
  padding-left: 2px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .02em;
}
.faq__list > .faq__item {
  position: relative;
}
.faq__item::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background-image: linear-gradient(to right, var(--color-accent) 2px, transparent 2px);
  background-repeat: repeat-x;
  background-size: 4px 1px;
}

/* Safariの▶を消す */
.faq__question::-webkit-details-marker{
  display: none;
}

/* ＋／− */
.faq__question::before,
.faq__question::after{
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 1.6rem;
  height: 2px;
  background-color: currentColor;
  transform: translateY(-50%);
  transition: transform .4s cubic-bezier(.165,.84,.44,1),
              opacity .4s cubic-bezier(.165,.84,.44,1);
}
.faq__question::after{
  transform: translateY(-50%) rotate(90deg);
}
.faq__item[open] .faq__question::after{
  opacity: 0;
  transform: translateY(-50%) rotate(90deg) scaleX(0);
}
.faq__question,.faq__answer .faq__answer_box  {
  display: flex;
  gap: 12px;
}
.faq__answer .faq__answer_box  {
  margin-top: 2.4rem;
}
.faq__question .faq__text {
  font-size: var(--font-sm);
}
.faq__answer {
  overflow: hidden;
}
.faq__answer .faq__text {
  display:block;
  width: 100%;
    padding: 10px;
    font-size: clamp(13.4px, 1.34vw, 14px);
    line-height: 1.9;
    letter-spacing: .04em;
    background-color: var(--color-bg-soft);
    height: max-content;
    border-radius: 4px;
}
.return-policy__body a,
.faq__text a,
.faq__text .text-decoration-color {
  color: var(--color-primary);
}
.faq__answer .faq__text p {
    margin: 0;
}
.faq__answer .faq__text { 
  min-width: 0; 
}
.cancel-policy__body p,
.return-policy__body p {
  font-size: var(--font-sm);
}
/*=================
=== 配送料
===================*/
.template-page-delivery .main-page-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.faq h3,
#shipping-courier,
#shipping-note,
#local-delivery {
  scroll-margin-top: 120px;
}
.shipping-nav{
  margin: 40px 0 90px;
}
.shipping-nav .shipping-nav__list{
  list-style:none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  font-size: 1.4rem;
  color: var(--color-primary);
}
.shipping-nav .shipping-nav__item {
  height: 4rem;
  background-color: var(--color-bg-subtle);
  border-radius: 4px;
}
.shipping-nav__item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 0 1.6rem 0 1.4rem;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: var(--fw-medium);
  color: var(--color-primary);
}
.underline-text {
  font-weight: 500;
}
.cancel-method,
.guide-navigation,
.payment-method,
.shipping-note-section,
.shipping-local,
.shipping-courier {
  padding: 2rem 1rem 9rem;
  font-family: "Noto Sans JP", sans-serif;
  color: var(--color-primary);
  position: relative;
}
.delivery-not-place::before,
.shipping-local::before,
.shipping-note-section::before,
.shipping-courier::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:90%;
  height:1px;
  background:var(--color-border-shipping);
}
.cancel-section-heading,
.shipping-section-heading {
  display:flex;
  align-items:center;
  gap:4px;
}
.cancel-section-heading h3 {
  font-size: 1.8rem;
  font-family: "Noto Sans JP", sans-serif; 
}
.cancel-policy__table-wrap {
  margin: 0 0 2.4rem;
  overflow-x: auto;
}
.cancel-method_container--second{
  margin-top:6rem;
}

.cancel-policy__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.2rem;
  line-height: 1.7;
}

.cancel-policy__table th,
.cancel-policy__table td {
  padding: 1rem;
  border: 1px solid rgba(var(--color-foreground), 0.15);
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.cancel-policy__table th {
  background-color: var(--color-bg-soft, #EEF4F5);
  font-weight: 600;
}

.cancel-policy__table th:first-child,
.cancel-policy__table td:first-child {
  width: 60%;
}




.shipping-local .shipping-section-heading,
.shipping-note-section .shipping-section-heading {
  margin-top: 40px;
}
.shipping-courier .shipping-section-heading {
  margin-top: 20px;
}
.shipping-courier__heading {
  display: flex;
  gap: 20px;
  align-items: center;
}
.shipping-section-heading__icon-wrap{
  position:relative;
  width:16px;
  height:16px;
  flex-shrink:0;
}
.rte .shipping-section-heading img {
  border:none;
}
.shipping-section-heading__icon{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:0;
  box-shadow:none;
  margin:0;
}
.shipping-courier__heading .shipping-icon.shipping-icon--local {
  width: 70px;
}
.shipping-courier__heading .shipping-icon.shipping-icon--local img {
  width: 100%;
  height: auto;
}
.shipping-courier__heading h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight:500;
  color: var(--color-primary);
  font-size: 1.8rem;
}
.shipping-nav__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.shipping-nav__arrow svg{
  width:12px;
  height:auto;
  stroke:currentColor;
  stroke-width:1.5;
  transform:rotate(90deg);
  stroke:var(--color-accent);
}
.shipping-nav__arrow--right svg{
  transform:rotate(0deg);
}
.delivery-fee {
  padding: 1.6rem 0;
  color: var(--color-primary);
}
.delivery-not-place__list,
.delivery-fee dl {
  display: flex;
  gap: 6px;
  background-color:  var(--color-bg-subtle);
  border-radius: .4rem;
  flex-direction: column;
  padding: 2rem 1.4rem;
  position: relative;
}
.delivery-not-place__list {
  list-style: none;
  font-size: 1.4rem;
  gap: 10px;
}
.shipping-courier .shipping-section-heading.shipping-section-heading--no-delivery {
  margin-top: 0;
}
.delivery-fee dl:first-child {
  margin-top: 0;
}
.delivery-fee dt {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.payment-method_lead,
.payment-method h3,
.shipping-local h3,
.shipping-note-section h3,
.shipping-note-section,
.shipping-area-block h4,
.delivery-fee h3,
.delivery-fee h4,
.delivery-fee dd,
.delivery-fee dl,
.shipping-area-block {
  font-family: Noto Sans JP, sans-serif;
  letter-spacing: 0.02em;
  color: var(--color-primary);
}
.payment-method h3,
.delivery-fee h3,
.shipping-local h3,
.shipping-note-section h3 {
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--color-primary);
}
.cancel-method_lead,
.payment-method_lead,
.payment-method_lead p {
  margin-top: 0rem;
} 
.payment-method .shipping-section-heading {
  margin-top: 4rem;
}
.payment-meshod-bank_note {
  color: var(--color-primary);
  font-size: 1.4rem;
  background-color: var(--color-bg-subtle);
  border-radius: .4rem;
  flex-direction: column;
  padding: 2rem 1.4rem;
}
.delivery-period{
  display:block;
  font-weight: 600;
}
.delivery-fee__list .shipping-group__title {
  font-family: Noto Sans JP, sans-serif;
  letter-spacing: 0.02em;
  color: var(--color-primary);
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0;
}
.delivery-fee__list dt {
  font-weight: 600;
}
.delivery-fee__list dd {
  margin: 0;
}
.shipping-group .shipping-group__list {
  font-size: 1.3rem;
  font-weight: 500;
}
.delivery-not-place {
  color: var(--color-primary);
  position: relative;
  margin-top: 2rem;
  padding-top: 2rem;
}
.delivery-not-place p {
  margin-bottom: 0;
}
.shipping-courier__comment {
  margin-top: 3.6rem;
  font-size: 1.4rem;
}
.shipping-courier .shipping-courier__note {
  font-size: 1.3rem;
}
.shipping-courier shipping-courier__note:last-of-type {
  margin-top: 1.6rem;
}
.shipping-group__list {
  margin-top: .3rem;
  display: block;
}
.shipping-local .shipping-courier__heading {
  margin-bottom: 4.4rem;
}

.languageSwitch_content{
  background-color: var(--color-lang-bg-more_soft);
  border-radius: 4px;
  padding: 2px;
  height: 36px;
  display: flex;
  align-items: center;
  color: #FFF;
}
.languageSwitch span {
  font-weight: 500;
  font-size:1.5rem;
  letter-spacing: .02em;
  color: #FFF;
}
.languageSwitch_btn{
  border: 0;
  background: transparent;
  border-radius: 3px;
  height: 33px;
  padding: 0 7px;
  cursor: pointer;
}

.languageSwitch_btn.is-active{
  background: var(--color-lang-bg-soft);
}
/* コレクションページ */

.fg-semiorder {
  margin-top: 2.4rem;
  padding: 0 1.6rem;
}

.fg-semiorder__head {
  padding: 1.8rem 0 1.2rem;
  text-align: left;
}

.fg-semiorder__label {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: var(--color-primary);
}

.fg-semiorder__lead {
  margin: 0.8rem 0 0;
  max-width: 32em;
  font-size: 1.3rem;
  line-height: 1.8;
  color: var(--color-primary);
  white-space: pre-line;
}
.fg-semiorder__list{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.fg-semiorder__item{
  display:flex;
  align-items:center;
  gap:6px;
}

.fg-semiorder__item img{
  width:22px;
  height:22px;
}

.fg-semiorder__item p{
  margin:0;
  font-size:1.2rem;
}

.semiorder-arrow{
  font-size:1.2rem;
  color:#888;
}
.collection-lineup__label {
  font-family: var(--font-heading);
  text-align: center;
  margin: 2rem 0 5rem;
}
.collection-lineup__label span {
  display: inline-block;
  width: 20rem;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
  padding-bottom: 10px;
}
.collection-lineup__nav {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:3.2%;
}
.collection-lineup__item {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3.5%;
  min-height: 2.6rem;
  padding: 1.2rem 0;
  border: 1px solid var(--color-border-main);
  border-radius: 18px;
  color: var(--color-border-main);
  font-size: var(--font-s);
  text-decoration: none;
  line-height: 1;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.collection-lineup__item:hover {
  background: var(--color-lang-bg-soft);
  color: var(--color-border-main);
  border-color: var(--color-border-main);
}

.collection-lineup__item.is-active {
  background: var(--color-border-main);
  border-color: var(--color-border-main);
  pointer-events: none;
  color:#FFF;
  font-weight:500;
}
.collection-lineup__item:focus-visible {
  outline: 2px solid var(--color-border-main);
  outline-offset: 2px;
}
.template-404 h1 {
  font-family: var(--font-body);
  font-size: var(--font-mdl);
}