@charset "UTF-8";

.main img{
  vertical-align: top;
}

.main .pdt1px{
  padding-top: 1px;
}
.main .pdt2px{
  padding-top: 2px;
}
.main .pdt005{
  padding-top: 0.5%;
}
.main .mgt005{
  margin-top: 0.5%;
}
.main .shrink0{
  flex-shrink: 0;
}

.main .bg01{
  background-color: #ebebeb;
}
.main .bg02{
  background-color: #fcebfe;
}
/* .main .bg03{

} */
.main .bg04{
  background-color: #fef1f7;
}
.main .bg05{
  background-color: #f6f6f6;
}


/* ヘッド */
.main .head_price{
  width: fit-content; color: #4c423f; font-weight: bold; padding: 0 0.5em; margin: 0 auto;
  border-style: solid; border-color: #e60012; border-width: 0 0 2px;
}

/* 商品 */
.main .item_row{
  display: grid; gap: 0 12%; align-items: center;
  margin: 0 10%;
}
.main .item_row.ver11,
.main .item_row.ver13{
  grid-template-columns: min(calc(247/768*100vw),247px) 1fr;
}
.main .item_row.ver12,
.main .item_row.ver14{
  grid-template-columns: 1fr min(calc(247/768*100vw),247px);
}

.main .item_row_fig.ver12,
.main .item_row_fig.ver14{
  order: 2;
}
.main .item_row_info.ver12,
.main .item_row_info.ver14{
  order: 1;
}

.main .item_name{
  display: flex; align-items: center; gap: 0 1em;
}
.main .item_name_text{
  font-weight: bold; padding: 0.2em 0.2em 0.1em;
  border-style: solid; border-width: 2px 2px;
}
.main .item_name_text.ver11{ color: #fff; background-color: #000; border-color: #000; }
.main .item_name_text.ver12{ color: #fff; background-color: #fa7aad; border-color: #fa7aad; }
.main .item_name_text.ver13{ color: #666; background-color: #fff; border-color: #ccc; }
.main .item_name_text.ver14{ color: #fff9db; background-color: #b1d7d4; border-color: #b1d7d4; }


.main .item_more{
  width: fit-content; line-height: 1.2; padding: 0 0.6em; gap: 0.25em; margin: 4% 0 0;
}
.main .item_cart{
  margin: 6% 0 0;
}
.main .item_desc.ver11{ width: calc(656/768*100%); margin: 2% auto 0; }
.main .item_desc.ver12{ width: calc(677/768*100%); margin: 2% auto 0; }
.main .item_desc.ver13{ width: calc(656/768*100%); margin: 2% auto 0; }
.main .item_desc.ver14{ width: calc(656/768*100%); margin: 2% auto 0; }

/* その他 */
.main .ttl01{
  width: calc(610/768*100%); font-weight: bold; line-height: 1.5; background-color: #f9ba6c; text-align: center; padding: 0.25em 0.3em; margin: 0 auto;
  border-radius: 1.35em;
}
.main .ttl01_inner{
  background-color: #fcd9ae; padding: 0.4em 0 0.2em; border-radius: 1.1em;
}
.main .ttl02{
  width: fit-content; font-weight: bold; margin: 0 auto;
  border-style: solid; border-color: #e60012; border-width: 0 0 2px;
}
.main .solar{
  display: grid; grid-template-columns: min(calc(302/768*100vw),302px) 1fr; align-items: end; gap: 1.5em 4%;
  margin: 0 4%;
}
.main .size_fig{
  width: calc(717/768*100%); margin: 0 auto;
}

/* 追加アニメーション */

.main .items{
  position: relative;
  width: 100%;
  height: calc(386px * var(--s));
  background: #fff;
  overflow: hidden;
}
.main .item{
  position: absolute;
  width: calc(100px * var(--s));
  height: calc(270px * var(--s));
  transform: translateY(0) rotate(0deg);
  transform-origin: calc(50px * var(--s)) calc(233px * var(--s)); /* 軸：X50 Y233 */
  overflow: hidden;
  border-radius: calc(6px * var(--s));
  will-change: transform;
  pointer-events: none;
  user-select: none;
}
.main .item img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.main .item--1{ left: calc(105px * var(--s)); top: calc(50px * var(--s)); }
.main .item--2{ left: calc(257px * var(--s)); top: calc(50px * var(--s)); }
.main .item--3{ left: calc(411px * var(--s)); top: calc(50px * var(--s)); }
.main .item--4{ left: calc(564px * var(--s)); top: calc(50px * var(--s)); }

/* ===== 光沢（きらり）===== */
.main .item::after{
  content:"";
  position:absolute;
  inset:-20% -40%;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0) 42%,
    rgba(255,255,255,.75) 50%,
    rgba(255,255,255,0) 58%,
    rgba(255,255,255,0) 100%
  );
  transform: translateX(-60%);
  opacity:0;
  mix-blend-mode: screen;
  pointer-events: none;
}

.main .item.is-jump::after,
.main .item.is-tilt::after{
  animation: shineSweep .55s ease-out both;
}

@keyframes shineSweep{
  0%   { opacity:0; transform: translateX(-60%); }
  15%  { opacity:.95; }
  100% { opacity:0; transform: translateX(60%); }
}

/* ===== ジャンプ（35px）===== */
.main .item.is-jump{
  animation: jumpOnly .5s ease-in-out both;
}

@keyframes jumpOnly{
  0%   { transform: translateY(0) rotate(0deg); }
  40%  { transform: translateY(calc(-35px * var(--s))) rotate(0deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

/* ===== 傾き（±7°）===== */
.main .item.is-tilt{
  animation: tiltOnly .5s ease-in-out both;
}

@keyframes tiltOnly{
  0%   { transform: translateY(0) rotate(0deg); }
  40%  { transform: translateY(0) rotate(var(--rot, 7deg)); }
  100% { transform: translateY(0) rotate(0deg); }
}



/* @media screen and ( max-width : 767px) {
  .main .item_cart .i_cart101_btn.ver_cq,
  .main .item_cart .i_cart101_btn.ver_cq_seibun{
    width: 40px;
  }
  .main .item_cart .i_cart101_btn{
    height: 40px;
  }
  .main .item_cart select{
    padding-left: 10px;
  }
} */

.main .totop_wrap{
  display: flex; justify-content: flex-end; margin: 0 4% 0 0;
}
.main .totop{
  display: flex; align-items: center; gap: 0 0.3em;
  color: #C4007F; cursor: pointer;
  border-style: solid; border-color: #C4007F; border-width: 0 0 1px;
}
.main .totop::before{
  content: ""; width: 1em; height: 0.75em; background-color: #C4007F;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}


/* サイズ等 */
.main .item_note{
  display: flex; flex-direction: column; gap: 0.75em 0;
  line-height: 1.8; letter-spacing: 0;
  position: relative; z-index: 1; background-color: #fff; padding: 1em 1em;
  border-style: solid; border-color: #ddd; border-width: 2px;
}
.main .item_note.ver02{
  background-color: transparent; border-width: 0;
}

.main .item_note_row{
  display: flex; flex-wrap: wrap; gap: 0.5em 1em;
}
.main .item_note_row02{
  display: flex; justify-content: flex-end;
}
.main .item_note_l{
  flex-shrink: 0;
  width: 5em; color: #000; text-align: center; background-color: #fff; margin: -0.1em 0 0;
  border-style: solid; border-color: #000; border-width: 1px 1px;
}
.main .item_note_l02{
  flex-shrink: 0;
}
.main .item_note_r{
  display: flex; flex-wrap: wrap; gap: 0 1em;
}
.main .item_note_r02{
  display: flex; flex-wrap: wrap; gap: 0 1em; justify-content: center;
}

/* ファッション　モーダル */
.main .js_fashion_modal .modal_modmicro_overlay{
  padding: 20px 0;
}
@media screen and (768px <= width) {
	.main .js_fashion_modal .modal_modmicro_overlay{
		padding: 20px 20px;
	}
}
.main .js_fashion_modal .swiper{
	--swiper-pagination-bullet-inactive-color: #b4b4b4;
	--swiper-pagination-color: #000;
	padding: 0 0 10px;
}
.main .js_fashion_modal .modal_modmicro_container{
	max-width: 800px;
}
.main .js_fashion_modal .swiper-slide{
	text-align: center;
}
.main .js_fashion_modal .swiper-slide img{
  width: 100%; max-width: none;
}
.main .js_fashion_modal .swiper-pagination {
	position: static; margin: 10px 0 0;
}
.main .js_fashion_modal .swiper-button-next,
.main .js_fashion_modal .swiper-button-prev{
	display: none;
}
@media screen and (992px <= width) {
	.main .js_fashion_modal .swiper-button-next,
  .main .js_fashion_modal .swiper-button-prev{
		display: block; color: #000;
	}
}

