@charset "utf-8";
:root {
	/* カラーパレット --color-  */
	--c-white: #FFFFFF;
	--c-white-op85: rgba(255, 255, 255, 0.85);
	--c-white-op50: rgba(255, 255, 255, 0.5);
	--c-black: #000000;
	--c-black-op50: rgba(0, 0, 0, 0.5);

	--c-gray-100: #EFEFEF;
	--c-gray-200: #D1D1D1;
	--c-gray-300: #9F9F9F;

	--c-dark-700: #262626;

	--c-red-500: #dc3b3b;

	--c-pink-500: #F0005F;

	--c-yellow-400: #FFD700;

	/* カラーテーマ --color-theme- */
	--theme-c-main: var(--c-pink-500);

	/* テキストカラー --text-color- */
	--txt-c-base: var(--c-dark-700);
	--txt-c-white: var(--c-white);
	--txt-c-addon: var(--c-gray-300);
	--txt-c-emphasis: var(--c-red-500);

	/* ボーダーカラー --border-color- */
	--bd-c-gray: var(--c-gray-200);

	/* 背景カラー --background-color- */
	--bg-c-gray: var(--c-gray-100);

	/* ランキングカラー --ranking-color */
	--ranking-c-1st: #C3A462;
	--ranking-c-2nd: #9F9F9F;
	--ranking-c-3rd: #A2684E;
	--ranking-c-other: #D1D1D1;

	/* カラーチップ */
	--color-chip-brown: #986336;
	--color-chip-gray: #BABABA;
	--color-chip-blue: #4D89E9;
	--color-chip-black: #313131;
	--color-chip-pink: #F8AFBA;
	--color-chip-green: #75D563;

	/* 共通角丸 --border-radius- */
	--bdrs-sm: 5px;
	--bdrs-md: 10px;
	--bdrs-lg: 20px;

	/* 共通ボックス影 --box-shadow- */
	--bxsd-default: 0px 0px 15px -5px var(--c-gray-300);
	--bxsd-bottom: 0px 5px 15px -5px var(--bg-c-gray);

	/* ベース文字間隔 --letter-spacing */
	--ls-default: 0.1em;

	/* フォント --font-family- */
	--ff-base: "Noto Sans JP", serif;
	--ff-noto: "Noto Sans JP", serif;

	/* 英数字フォント --font-family- */
	--ff-en: var(--ff-base);
	--ff-num: var(--ff-base);

	/* フォントウェイト --font-weight- */
	--fw-base: 400;
	
	/* アニメーション */
	--anime-fade-in: fadeIn .5s ease-in-out 0s forwards;
	--anime-fade-out: fadeOut .5s ease-in-out 0s forwards;

	/* フォントサイズ --font-size */
	--fz-9: clamp(8px, 0.8vw, 9px);
	--fz-10: clamp(8px, 0.8vw, 10px);
	--fz-11: clamp(10px, 1.1vw, 11px);
	--fz-12: clamp(10px, 1.1vw, 12px);
	--fz-13: clamp(11px, 1vw, 13px);
	--fz-14: clamp(12px, 1.2vw, 14px);
	--fz-15: clamp(13px, 1.4vw, 15px);
	--fz-16: clamp(14px, 1.5vw, 16px);
	--fz-18: clamp(15px, 1.6vw, 18px);
	--fz-20: clamp(16px, 1.8vw, 20px);
	--fz-22: clamp(18px, 2vw, 22px);
	--fz-25: clamp(20px, 2vw, 25px);
	--fz-28: clamp(22px, 2.5vw, 28px);
	--fz-30: clamp(25px, 3vw, 30px);
	--fz-35: clamp(25px, 3vw, 35px);
	--fz-36: clamp(30px, 3.5vw, 36px);
	--fz-38: clamp(30px, 3.5vw, 38px);
	--fz-40: clamp(30px, 3.5vw, 40px);
	--fz-43: clamp(30px, 4vw, 43px);
	--fz-50: clamp(30px, 4vw, 50px);
	--fz-60: clamp(40px, 5vw, 60px);
	--fz-70: clamp(50px, 6vw, 70px);
	--fz-14-const: 14px;
	--fz-15-const: 15px;

	--fz-xs: var(--fz-10); /* extra small */
	--fz-ss: var(--fz-12); /* super small */
	--fz-sm: var(--fz-14); /* small */
	--fz-md: var(--fz-16); /* medium */
	--fz-lg: var(--fz-25); /* large */
	--fz-xl: var(--fz-38); /* extra large */
	--fz-xxl: var(--fz-50); /* double extra large */

	/* ブロック間 --space */
	--spc-10: clamp( 5px, 1.1vw, 10px);
	--spc-15: clamp( 10px, 1.2vw, 15px);
	--spc-20: clamp( 15px, 1.7vw, 20px);
	--spc-25: clamp( 15px, 1.7vw, 25px);
	--spc-35: clamp( 20px, 2.5vw, 35px);
	--spc-30: clamp( 20px, 2.5vw, 30px);
	--spc-40: clamp( 30px, 3.5vw, 40px);
	--spc-50: clamp( 30px, 3.5vw, 50px);
	--spc-55: clamp( 30px, 3.5vw, 55px);
	--spc-60: clamp( 40px, 4.5vw, 60px);
	--spc-65: clamp( 50px, 5.5vw, 65px);
	--spc-70: clamp( 60px, 6.5vw, 70px);
	--spc-75: clamp( 60px, 6.5vw, 75px);
	--spc-80: clamp( 50px, 5.5vw, 80px);
	--spc-90: clamp( 60px, 6.5vw, 90px);
	--spc-100: clamp( 70px, 7.5vw, 100px);

	--spc-xs: var(--spc-10); /* extra small */
	--spc-ss: var(--spc-15); /* super small */
	--spc-sm: var(--spc-20); /* small */
	--spc-md: var(--spc-30); /* medium */
	--spc-lg: var(--spc-50); /* large */
	--spc-xl: var(--spc-80); /* extra large */
	--spc-xxl: var(--spc-100); /* double extra large */


	/* PCマックス幅 --pc-max-width */
	--pc-maw: var(--pc-maw-md);
	--pc-maw-ss: 800px;
	--pc-maw-sm: 1000px;
	--pc-maw-md: 1200px;
	--pc-maw-lg: 1440px;

	/* 親要素を超えて幅100% */
	--full-width: calc(50% - 50vw);

	/* セクション間隔半分 --section-space */
	--sec-spc-half: calc(var(--sec-spc) / 2);

	/* sp横スクロール用padding */
	--sp-scroll-padding-left: calc((100% - var(--inner-w)) / 2);
}

@media screen and (min-width: 768px){
	:root{
		/* --inner-width */
		--inner-w: 95%;
		/* --section-space */
		--sec-spc: clamp(70px, 8vw, 100px);
	}
}
@media screen and (max-width: 767px){
	:root{
		--inner-w: 89.335%;
		--sec-spc: 60px;
	}
}







.product_cart,
.fs-c-productActionButton.fs-c-buttonContainer,
.fs-c-productChooseVariation,
.fs-c-variationAndActions__stockSignLegend.fs-c-stockSignLegend,
.fs-c-productQuantityAndWishlist{
	display: block !important;
}
#fs_form{
	margin: auto;
	width: 100%;
}
#fs_ProductDetails .fs-l-product2 .fs-l-productLayout {
    display: block;
    width:90%;
    max-width:1150px;
}
#fs_ProductDetails .fs-c-productCarouselMainImage {
    width: auto;
    float: none;
    margin-right: 0;
    margin-bottom: 0;
}
#fs_ProductDetails .productimgarea .productimg .fs-c-slick .slick-slide img{
	max-width: none;
	max-height: none;
}
.fs-c-productCarouselMainImage__thumbnail__caption{
	font-size: 10px;
}


.fs-p-productDescription.fs-p-productDescription--full{
	max-width:680px;
	margin: 0 auto;
}
#fs_ProductDetails ul.variation_list li{
	line-height: 1.3;
}
.variation_list li a{
	font-size: 0.8em;
	line-height: 1.3;
}

.product_cart .fs-c-variationCart__image img{
	border:1px solid #dddddd;
}
.fs-c-variationCart__wishlist {
  order: 2;
}

.fs-c-variationCart__cartButton {
  order: 1;
  margin-right: 5px;
}
.fs-c-variationCart--withImage > li {
  -ms-grid-columns: auto 1fr 128px 40px !important;
  grid-template-columns: auto 1fr 128px 40px !important;
}
#fs_ProductDetails ul.variation_list li{
	width:121px;
}
#fs_ProductDetails ul.variation_list li:nth-child(5n){
	margin-right: 0px;
}
#fs_ProductDetails ul.variation_list li:nth-child(6){
	margin-right: 18px;
}
.linekeep-btn {
  border: 1px solid #7b7b7b;
  border-radius: 3px;
  padding: 8px 0 5px;
  width:90%;
  margin: auto;
  margin-bottom: 10px;
}
.linekeep-btn a{
	display:block;
	text-align: center;
	font-weight: bold;
	font-size: 1.15em;
}
.linekeep-btn a::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  vertical-align: middle;
  margin-right: 10px;
  margin-bottom: 3px;
  background-color: #06C755;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M375 260.8L375 342.1C375 344.2 373.4 345.8 371.3 345.8L358.3 345.8C357 345.8 355.9 345.1 355.3 344.3L318 294L318 342.2C318 344.3 316.4 345.9 314.3 345.9L301.3 345.9C299.2 345.9 297.6 344.3 297.6 342.2L297.6 260.9C297.6 258.8 299.2 257.2 301.3 257.2L314.2 257.2C315.3 257.2 316.6 257.8 317.2 258.8L354.5 309.1L354.5 260.9C354.5 258.8 356.1 257.2 358.2 257.2L371.2 257.2C373.3 257.1 375 258.8 375 260.7L375 260.8zM281.3 257.1L268.3 257.1C266.2 257.1 264.6 258.7 264.6 260.8L264.6 342.1C264.6 344.2 266.2 345.8 268.3 345.8L281.3 345.8C283.4 345.8 285 344.2 285 342.1L285 260.8C285 258.9 283.4 257.1 281.3 257.1zM249.9 325.2L214.3 325.2L214.3 260.8C214.3 258.7 212.7 257.1 210.6 257.1L197.6 257.1C195.5 257.1 193.9 258.7 193.9 260.8L193.9 342.1C193.9 343.1 194.2 343.9 194.9 344.6C195.6 345.2 196.4 345.6 197.4 345.6L249.6 345.6C251.7 345.6 253.3 344 253.3 341.9L253.3 328.9C253.3 327 251.7 325.2 249.8 325.2L249.9 325.2zM443.6 257.1L391.3 257.1C389.4 257.1 387.6 258.7 387.6 260.8L387.6 342.1C387.6 344 389.2 345.8 391.3 345.8L443.5 345.8C445.6 345.8 447.2 344.2 447.2 342.1L447.2 329C447.2 326.9 445.6 325.3 443.5 325.3L408 325.3L408 311.7L443.5 311.7C445.6 311.7 447.2 310.1 447.2 308L447.2 294.9C447.2 292.8 445.6 291.2 443.5 291.2L408 291.2L408 277.5L443.5 277.5C445.6 277.5 447.2 275.9 447.2 273.8L447.2 260.8C447.1 258.9 445.5 257.1 443.5 257.1L443.6 257.1zM576 157.4L576 483.4C575.9 534.6 533.9 576.1 482.6 576L156.6 576C105.4 575.9 63.9 533.8 64 482.6L64 156.6C64.1 105.4 106.2 63.9 157.4 64L483.4 64C534.6 64.1 576.1 106.1 576 157.4zM505.6 297.5C505.6 214.1 421.9 146.2 319.2 146.2C216.5 146.2 132.8 214.1 132.8 297.5C132.8 372.2 199.1 434.9 288.7 446.8C310.5 451.5 308 459.5 303.1 488.9C302.3 493.6 299.3 507.3 319.2 499C339.1 490.7 426.5 435.8 465.7 390.8C492.7 361.1 505.6 331 505.6 297.7L505.6 297.5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M375 260.8L375 342.1C375 344.2 373.4 345.8 371.3 345.8L358.3 345.8C357 345.8 355.9 345.1 355.3 344.3L318 294L318 342.2C318 344.3 316.4 345.9 314.3 345.9L301.3 345.9C299.2 345.9 297.6 344.3 297.6 342.2L297.6 260.9C297.6 258.8 299.2 257.2 301.3 257.2L314.2 257.2C315.3 257.2 316.6 257.8 317.2 258.8L354.5 309.1L354.5 260.9C354.5 258.8 356.1 257.2 358.2 257.2L371.2 257.2C373.3 257.1 375 258.8 375 260.7L375 260.8zM281.3 257.1L268.3 257.1C266.2 257.1 264.6 258.7 264.6 260.8L264.6 342.1C264.6 344.2 266.2 345.8 268.3 345.8L281.3 345.8C283.4 345.8 285 344.2 285 342.1L285 260.8C285 258.9 283.4 257.1 281.3 257.1zM249.9 325.2L214.3 325.2L214.3 260.8C214.3 258.7 212.7 257.1 210.6 257.1L197.6 257.1C195.5 257.1 193.9 258.7 193.9 260.8L193.9 342.1C193.9 343.1 194.2 343.9 194.9 344.6C195.6 345.2 196.4 345.6 197.4 345.6L249.6 345.6C251.7 345.6 253.3 344 253.3 341.9L253.3 328.9C253.3 327 251.7 325.2 249.8 325.2L249.9 325.2zM443.6 257.1L391.3 257.1C389.4 257.1 387.6 258.7 387.6 260.8L387.6 342.1C387.6 344 389.2 345.8 391.3 345.8L443.5 345.8C445.6 345.8 447.2 344.2 447.2 342.1L447.2 329C447.2 326.9 445.6 325.3 443.5 325.3L408 325.3L408 311.7L443.5 311.7C445.6 311.7 447.2 310.1 447.2 308L447.2 294.9C447.2 292.8 445.6 291.2 443.5 291.2L408 291.2L408 277.5L443.5 277.5C445.6 277.5 447.2 275.9 447.2 273.8L447.2 260.8C447.1 258.9 445.5 257.1 443.5 257.1L443.6 257.1zM576 157.4L576 483.4C575.9 534.6 533.9 576.1 482.6 576L156.6 576C105.4 575.9 63.9 533.8 64 482.6L64 156.6C64.1 105.4 106.2 63.9 157.4 64L483.4 64C534.6 64.1 576.1 106.1 576 157.4zM505.6 297.5C505.6 214.1 421.9 146.2 319.2 146.2C216.5 146.2 132.8 214.1 132.8 297.5C132.8 372.2 199.1 434.9 288.7 446.8C310.5 451.5 308 459.5 303.1 488.9C302.3 493.6 299.3 507.3 319.2 499C339.1 490.7 426.5 435.8 465.7 390.8C492.7 361.1 505.6 331 505.6 297.7L505.6 297.5z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}


@media screen and (min-width: 901px) and (max-width: 990px){
  .fs-c-variationCart--withImage > li {
    -ms-grid-columns: auto 1fr 100px 35px !important;
    grid-template-columns: auto 1fr 100px 35px !important;
  }
  button.fs-c-button--addToCart--variation.fs-c-button--primary{
  	font-size: 12.5px !important;
  }
}




@media screen and (max-width: 767px){
  .fs-l-productLayout .fs-c-productCarouselMainImage__thumbnailList{
	  display: block !important;
  }

}

/* -----------------productimgarea----------------- */
@media screen and (min-width: 901px){
  .productimgarea{
    display: flex;
    width: var(--inner-w);
    max-width: var(--pc-maw);
    margin-inline: auto;
    gap: var(--spc-80);
    margin-bottom: var(--spc-100);
  }
  #tocart{
    flex: 1;
  }
}
@media screen and (min-width: 768px) and (max-width: 900px){
  .productimgarea{
    display: grid;
    gap: var(--spc-30);
    width: var(--product-img-width);
    margin-inline: auto;
    margin-bottom: var(--spc-80);
  }
}
@media screen and (min-width: 768px){
  .productimgarea{
    --product-img-width: clamp( 380px, 42vw, 500px);
  }
}
@media screen and (max-width: 767px){
  .productimgarea{
    overflow: hidden;
    --product-img-width: 320px;
    --thumbnail-margin: 10px;
    margin-bottom: 50px;
  }
}

/* -----------------productimg----------------- */
.fs-c-productCarouselMainImage .slick-arrow{
  display: none !important;
}
.fs-c-productCarouselMainImage__expandButton{
  display: none;
}
.fs-c-productCarouselMainImage__carousel{
  line-height: 1;
}
.fs-c-productCarouselMainImage__image{
  overflow: hidden;
  display: flex !important;
  align-items: center;
}
.fs-c-productCarouselMainImage__image img{
  height: auto;
  max-height: unset;
  width: 100%;
  box-sizing: unset;
  line-height: 1rem;
  display: block;
}
.fs-c-productCarouselMainImage__thumbnail__img{
  height: auto;
  width: 100%;
  box-sizing: unset;
  line-height: 1rem;
  display: block;
}
.fs-c-button--secondary{
	padding:0.8em;
}
#fs_ProductDetails .fs-l-productLayout .fs-c-productPrice .fs-c-productPrice__addon{
	display: flex;
	font-size:1.5em;
	margin-left:6px;
}
#fs_ProductDetails .fs-l-productLayout .fs-c-productPrice .fs-c-price__value:after{
	content:"円";
}
.fs-c-productPrice__main__addon:where(:not([class*="--listed"])){
	font-size:1.46em;
	margin-left:6px;
}
.fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__main__joint{
	font-size: 1.5em;
}
.fs-c-productVariationPrice .fs-c-productVariationPrice__price.fs-c-price,
.fs-c-productVariationPrice__addon:not(.fs-c-productVariationPrice__addon--listed){
	color: #f4386f;
	font-weight: bold;
}
.fs-c-productVariationPrice .fs-c-productVariationPrice__price.fs-c-price::after{
	content:"円";
	font-size:0.85em;
}
@media (hover: hover){
  .fs-c-productCarouselMainImage__thumbnailList li:hover{
    cursor: pointer;
  }
  .fs-c-productCarouselMainImage__thumbnailList li.slick-active:hover{
    cursor: default;
  }
}
@media screen and (min-width: 768px){
  .productimg{
    width: var(--product-img-width);
  }
  .fs-c-productCarouselMainImage__carousel.slick-dotted.slick-slider{
    margin-bottom: 25px;
  }
  .fs-c-productCarouselMainImage__carousel .slick-slide{
    --width: var(--product-img-width);
    min-width: var(--width);
    max-width: var(--width);
  }
  .fs-c-productCarouselMainImage__thumbnailList{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: var(--spc-10);
  }
  .fs-c-productCarouselMainImage__thumbnailList > li{
    margin: 0;
  }
}
@media screen and (max-width: 767px){
  .productimg{
    margin-bottom: 20px;
  }
  .fs-c-productCarouselMainImage{
    display: grid;
    gap: var(--thumbnail-margin);
    margin-inline: auto;
  }
  .fs-c-productCarouselMainImage__carousel.slick-dotted.slick-slider{
    margin-bottom: 0px;
  }
  .fs-c-productCarouselMainImage__carousel .slick-slide{
    width: var(--product-img-width);
    margin-inline: 3px;
  }
  .fs-c-productCarouselMainImage__thumbnailList{
    gap: 10px;
    -ms-overflow-style: none;/* IE, Edge 対応 */
    scrollbar-width: none;/* Firefox 対応 */
    padding-left: 25px;
  }
  .fs-c-productCarouselMainImage__thumbnailList::-webkit-scrollbar{
    display: none;
  }
  .fs-c-productCarouselMainImage__thumbnailList > li{
    flex-basis: 70px;
    margin-right: 0;
  }
  /* 2枚目以降がないとき */
  .fs-c-productCarouselMainImage:not(:has(.slick-slide)){
    width: var(--product-img-width);
    margin-inline: auto;
  }
  .fs-c-variationAndActions{
	  background: none;
	  padding: 0;
	  margin-top: 0;
  }
  .fs-c-variationCart--withImage > li {
    -ms-grid-columns: 50px 1fr 128px 40px !important;
    grid-template-columns: 50px 1fr 128px 40px !important;
  }
  .fs-p-productDescription.fs-p-productDescription--full{
	  width: 94%;
	  margin:auto;
  }
  #fs_ProductDetails ul.variation_list li{
	  width:32%;
	  margin-right: 2%;
  }
  #fs_ProductDetails ul.variation_list li:nth-child(3n){
	  margin-right: 0;
  }
  .fs-c-productReview{
	  width:94%;
	  margin:auto;
	  margin-top: 30px;
  }
  .co_recommend ul{
	  display: flex;
	  flex-wrap: wrap;
  }
  #fs_ProductDetails .fs-l-productLayout .fs-c-productPrice .fs-c-productPrice__addon{
	  font-size:1em;
  }
  .fs-c-productPrice__main__addon:where(:not([class*="--listed"])){
  	font-size:1em;
  }
  .fs-c-productPrice.fs-c-productPrice--selling .fs-c-productPrice__main__joint{
  	font-size: 1em;
  }
  .fs-c-variationList__item__body span.fs-c-variationCart__variationName__price{
	  margin-bottom: 7px;
  }
}

/* -----------------#tocart----------------- */
@media screen and (max-width: 767px){
  #tocart{
    width: var(--inner-w);
    margin-inline: auto;
  }
}


