@charset "utf-8";
/* --------- spヘッダー ---------- */
@media screen and (max-width: 767px){
#headerarea::after{
  content: "";
  display: inline-block;
  background: url(../images/common/t-logos-goods.png) no-repeat center center / 100%;
  aspect-ratio: 64/77;
  width: 37px;
  position: absolute;
  bottom: -5px;
  left: 9%;
  animation: welcome-chokochoko 2s ease infinite;
}
@keyframes welcome-chokochoko {
  0%, 10%, 21%, 30%, 41%, 100% {
    transform: translateY(0px);
  }
  11%, 20%, 31%, 40% {
    transform: translateY(-2px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .h-welcome::before {
    animation: none;
  }
}
}
/* --------- fv ---------- */
.t-fv{
  padding-top: 5px;
}
.t-fv img{
  box-shadow: var(--bxsd-default);
}
.t-fv .splide__track{
  overflow: visible;
}
.t-fv a{
  display: block;
  overflow: hidden;
}
@media screen and (min-width: 768px){
  .t-fv{
    margin-bottom: var(--spc-80);
  }
  .t-fv a{
    border-radius: 10px;
  }
  .t-fv img{
    border-radius: 10px;
    transition: .5s;
  }
}
@media (hover: hover){
  .t-fv a:hover img{
    transform: scale(1.05);
  }
  .t-fv a:hover{
    opacity: 1 !important;
  }
  .t-fv img:hover{
    opacity: 1 !important;
  }
}
@media screen and (max-width: 767px){
  .t-fv{
    margin-bottom: 40px;
  }
}

/* t-welcome */
@media screen and (max-width: 767px){
	.t-welcome{
    width: var(--inner-w);
    margin-inline: auto;
		font-weight: 500;
		font-size: 14px;
		text-align: center;
    margin-bottom: 35px;
	}
	.t-welcome__name{
		display: flex;
		justify-content: center;
	}
	.t-welcome__point{
		font-size: 15px;
	}
	.t-welcome__point em{
		font-size: 20px;
		font-style: initial;
		font-weight: bold;
	}
}

/* --------- t-fvFade ---------- */
.t-fvFade__inner {
  max-width: 600px;
  width: var(--inner-w);
  margin-inline: auto;
}
.t-fvFade__line {
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid var(--orange-300);
  font-size: var(--fz-18);
  line-height: 1.6;
  letter-spacing: .3em;
  text-align: center;
  font-weight: 500;
}
.t-fvFade__line:first-child {
  border-top: 1px solid var(--orange-300);
}

/* 文字の初期状態 */
.t-fvFade__char {
  display: inline-block;
  opacity: 0;
  transform: translateY(.3em);
  filter: blur(3px);
}

/* 発火後、--d の遅延で1文字ずつ */
.t-fvFade.is-active .t-fvFade__char {
  animation: tFvFadeChar .8s cubic-bezier(.22, .61, .36, 1) both;
  animation-delay: var(--d, 0s);
}

@keyframes tFvFadeChar {
  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .t-fvFade__char { opacity: 1; transform: none; filter: none; }
  .t-fvFade.is-active .t-fvFade__char { animation: none; }
}
@media screen and (min-width: 768px){
  .t-fvFade__inner{
    margin-bottom: var(--spc-50);
  }
}
@media screen and (max-width: 767px){
  .t-fvFade__inner{
    margin-bottom: 50px;
    padding-inline: 20px;
  }
  .t-fvFade__line{
    font-size: 15px;
    padding: 12px 0px;
  }
}

/* ===== キーワード検索 ===== */
@media screen and (max-width: 767px){
  .fv-search{
    margin-bottom: 50px;
  }
  .fv-search__area{
    height: 46px !important;
    padding-left: 20px !important;
  }
  .fv-search__area::placeholder{
    font-size: 14px !important;
  }
}


/* --------- t-messege ---------- */
.t-messege__upper{
  font-weight: 700;
  margin-bottom: var(--spc-20);
  line-height: 1.6;
  text-align: center;
}
.t-messege__lower{
  font-size: var(--fz-16);
  font-weight: 500;
}
@media screen and (min-width: 768px){
  .t-messege{
    width: 700px;
    margin: var(--spc-50) auto;
  }
  .t-messege__upper{
    font-size: var(--fz-36);
  }
}
@media screen and (max-width: 767px){
  .t-messege{
    margin-block: 30px;
  }
  .t-messege__upper{
    font-size: 17px;
  }
}

/* --------- t-logos ---------- */
.t-logos{
  position: relative;
}
.t-logos__con{
  position: relative;
  z-index: 2;
  background: var(--c-white);
  border-radius: 30px;
  box-shadow: var(--bxsd-orange);
}
.t-logos__text{
  font-weight: 500;
  font-size: var(--fz-16);
  letter-spacing: 0.05em;
}
.t-logos__con::after,
.t-logos::before{
  content: "";
  display: inline-block;
  background: url(../images/common/t-logos-goods.png) no-repeat center center / 100%;
  aspect-ratio: 64/77;
  position: absolute;
  animation: welcome-chokochoko 2s ease infinite;
}
@keyframes welcome-chokochoko {
  0%, 10%, 21%, 30%, 41%, 100% {
    transform: translateY(0px);
  }
  11%, 20%, 31%, 40% {
    transform: translateY(-2px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .h-welcome::before {
    animation: none;
  }
}

.t-logos::after{
  content: '';
  display: block;
  width: 100%;
  height: 60%;
  background: var(--orange-500);
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 768px){
  .t-logos{
    padding-bottom: 50px;
  }
  .t-logos__con{
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--spc-40);
    padding: var(--spc-50);
    max-width: 700px;
  }
  .t-logos__item{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: var(--spc-20) var(--spc-35);
  }
  .t-logos__con::after{
    display: block;
    position: initial;
    width: clamp( 60px, 6.528vw, 94px);
  }
}
@media screen and (max-width: 767px){
  .t-logos__con{
    border-radius: 20px;
    padding: 25px 20px;
  }
  .t-logos__text{
    margin-bottom: 25px;
  }
  .t-logos__item{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 10px;
  }
  .t-logos::before{
    left: 41%;
    transform: translateX(-50%);
    bottom: 0;
    width: 60px;
    z-index: 3;
  }
}

/* ロゴない時の一時的な処置 */
@media screen and (max-width: 767px){
  .t-logos__con:not(:has(li:nth-child(2))){
    padding-bottom: 10px;
  }
}


/* ---- 追従バナー ---- */
@media screen and (min-width: 768px){
.g-fixBanner {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 90;
  width: 200px;
  display: block;
  visibility: hidden;
  opacity: 0;
}
.g-fixBanner *{
  display: block;
}
.g-fixBanner.is-ready {
  visibility: visible;
  opacity: 1;
  transition: opacity .3s ease;
}
.g-fixBanner.is-empty { display: none; }

.g-fixBanner .fs-pt-column__item {
  position: relative;
  width: 100%;
  margin: 0 0 12px;
  padding: 0;
  overflow: visible;
}
.g-fixBanner .fs-pt-column__item:last-child { margin-bottom: 0; }
.g-fixBanner .fs-pt-column__item.is-hidden { display: none; }

.g-fixBanner .fs-pt-column__image img { width: 100%; height: auto; vertical-align: top; }

/* 閉じるボタン（JSで生成 */
.g-fixBanner__close {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 19px;
  height: 19px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #fff var(--data-icon-sp-menu-close) no-repeat center center / 60%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
  cursor: pointer;
  z-index: 2;
}
}
@media (hover: hover){
  .g-fixBanner a.fs-pt-column__item:hover{
    opacity: 1;
  }
  .g-fixBanner img:hover{
    opacity: 1 !important;
  }
  .g-fixBanner .fs-pt-column__image{
    display: block;
    overflow: hidden;
  }
  .g-fixBanner .fs-pt-column__image:hover img{
    transform: scale(1.1);
  }
}

/* ---- future review ---- */
.t-review{
  background: var(--c-white);
  box-shadow: var(--bxsd-orange);
}
.frv-c-averageRatingSummary .frv-c-ratingStars__ratingValue{
  font-size: var(--fz-28) !important;
  font-weight: bold;
}
.t-review .g-headingContainerSub{
  margin-bottom: var(--spc-50);
}
.frv-c-reviewCarousel__arrow{
  color: var(--txt-c-base) !important;
}
.frv-c-reviewSlide__moreBtn{
  color: var(--orange-500) !important;
}
a.frv-c-reviewedProduct{
  transition: .5s !important;
}
.frv-c-reviewedProduct__arrow__icon{
  color: var(--txt-c-base) !important;
}
.frv-c-reviewedProduct__arrow{
  transition: .3s;
  display: none !important;
}
.frv-c-reviewSlide__userName{
  display: none !important;
}
.frv-c-viewerDialog{
  align-items: center !important;
}
.frv-c-viewerDialog__inner{
  max-width: 800px !important;
}
.frv-c-viewerDialog__close{
  color: var(--txt-c-base) !important;
}
.frv-c-reviewDetail__userName{
  display: none;
}
.frv-c-viewerDialog .frv-c-reviewDetail__stars{
  margin-bottom: 10px;
}
.frv-c-reviewSlide__details{
  grid-row: 2 !important;
}
.frv-c-reviewSlide__images{
  grid-row: 1 !important;
}
.frv-c-reviewSlide__productVariations{
  display: none !important;
}
.frv-c-reviewImageCarousel__arrow{
  color: var(--txt-c-base) !important;
}
.frv-c-ratingStars{
  justify-content: center;
}
.frv-c-reviewSlide__images{
  margin: 0px !important;
}
.frv-c-reviewedProduct__info__label{
  color: var(--c-gray-300) !important;
}
.frv-c-reviewedProduct{
  background: var(--c-gray-100) !important;
}
.frv-c-reviewSlide{
  border-color: var(--c-gray-400) !important;
}
.frv-c-reviewImageCarousel__arrow{
  width: 30px !important;
  height: 30px !important;
}
.css-2yc07u{
  font-size: 20px !important;
}
.frv-c-reviewSlide__images:not(:has(.frv-c-reviewImageCarousel__slide:nth-child(2))) .frv-c-reviewImageCarousel__arrow{
  display: none !important;
}

.t-review:not(:has(.frv-l-reviewArea > *)){
  display: none;
}
@media (hover: hover){
  a.frv-c-reviewedProduct:hover{
    opacity: .7 !important;
    background-color: #7e7e7e14 !important;
  }
  a.frv-c-reviewedProduct:hover .frv-c-reviewedProduct__arrow{
    transform: translateX(5px);
  }
}
@media screen and (max-width: 767px){
  .frv-c-reviewCarousel__body{
    gap: 6px !important;
  }
}
