@charset "UTF-8";
/* =========================================================

WAVE Bloom Sale！最大3,000円OFF

========================================================= */
#wave-specialsale {
	color: #214760;
	font-weight: 400;
	font-size: 11px;
	line-height: 1.6;
	letter-spacing: 0.06em;
	margin-top: 72px;
}

#wave-specialsale * {
	font-family: "Roboto", "Noto Sans JP", sans-serif;
}

#wave-specialsale *::before,
#wave-specialsale *::after {
	box-sizing: border-box;
}

#wave-specialsale div,
#wave-specialsale p,
#wave-specialsale h1,
#wave-specialsale h2,
#wave-specialsale h3,
#wave-specialsale ul,
#wave-specialsale li,
#wave-specialsale a {
	box-sizing: border-box;
	margin: 0px;
	padding: 0px;
}

#wave-specialsale a {
	text-decoration: none;
}

#wave-specialsale em {
	font-style: normal;
}

#wave-specialsale img {
	max-width: 100%;
	vertical-align: bottom;
}

/* コンテナ共通スタイル
--------------------------------------- */
#wave-specialsale .inner_container {
	max-width: 640px;
	padding: 0 5%;
	margin: auto;
}

/* ヘッダー
--------------------------------------- */
#wave-specialsale .header_container {
	text-align: center;
	margin-bottom: 9.16%;
}

#wave-specialsale .header_container .inner_container {
	padding: 0;
}

/* クーポン
--------------------------------------- */
#wave-specialsale .coupon_container{
	text-align: center;
	font-weight: 500;
}
#wave-specialsale .coupon_container .coupon_box {
	padding: 0 2.5% 3%;
}

#wave-specialsale .coupon_container .coupon_title {
	font-size: calc(54 / 960 * var(--contents_width));
	font-weight: 700;
	margin-bottom: 3%;
	line-height: 1;
	color:#2b3d83;
}
#wave-specialsale .coupon_container p {
	font-size: calc(27 / 960 * var(--contents_width));
	line-height: 1.6;
}

#wave-specialsale .pd_25 {
	padding: 0 2.5%;
}

#wave-specialsale .cp_area {
	width: 85%;
	max-width: 535px;
	margin: 0 auto;
}

#wave-specialsale .cp_flex {
display: flex;
justify-content: space-between;
}

#wave-specialsale .cp_flex .cp_item{
	width: 48.5%;
}

#wave-specialsale .cp_title {
	margin: 0 auto 5%;
	font-size: 17px;
	font-weight: 700;
	display: flex;
	justify-content: center;
}

#wave-specialsale .cp_title::before, #wave-specialsale .cp_title::after {
	content: "";
	display: inline-block;
	width: 2px;
	background: #214760;
	height: 1.5em;
	position: relative;
	bottom: -1px;
}

#wave-specialsale .cp_title span {
	padding: 0 0.7em 0 1em;
	color: #214760;
}

#wave-specialsale .cp_title::before {
	transform: rotate(-25deg);
}
#wave-specialsale .cp_title::after {
	transform: rotate(25deg);
}

/* 商品一覧
--------------------------------------- */
#wave-specialsale .lineup_container .tab_nav {
	display: flex;
	margin-top: 12.72%;
	--tab-gap: 4px; /* タブ間の隙間 (カスタムプロパティ) */
	gap: var(--tab-gap);
	flex-wrap: wrap;
}

/* デフォルト: 3列（間隔は --tab-gap を2つ分差し引く） */
#wave-specialsale .lineup_container .tab_nav.col3 .tab {
	width: calc((100% - (2 * var(--tab-gap))) / 3);
}

/* デフォルト: 3列（間隔は --tab-gap を3つ分差し引く） */
#wave-specialsale .lineup_container .tab_nav.col4 .tab {
	width: calc((100% - (3 * var(--tab-gap))) / 4);
}

/* 5列（間隔は --tab-gap を4つ分差し引く） */
#wave-specialsale .lineup_container .tab_nav.col5 .tab {
	width: calc((100% - (4 * var(--tab-gap))) / 5);
}

#wave-specialsale .lineup_container .tab_nav .tab a {
	display: block;
	position: relative;
	padding: 11%;
	background-color: #FFFFFF;
	color: #214760;
	font-weight: 700;
	font-size: 17px;
	font-size: min(3.6vw,17px);
	line-height: 1.75;
	text-align: center;
}

#wave-specialsale .lineup_container .tab_nav .tab a::before {
	content: "";
	position: absolute;
	bottom: 4px;
	left: 0;
	right: 0;
	height: 4px;
	background-color: #fff;
	z-index: 2;
	transition: height 0.01s ease-in;
	transition-delay: 0.16s;
}

#wave-specialsale .lineup_container .tab_nav .tab a::after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0px;
	border: 2px solid #214760;
	content: '';
	transition: height 0.2s ease-in-out;
}

#wave-specialsale .lineup_container .tab_nav .tab.is_active a::before {
	height: 0;
	transition: height 0.01s ease-in;
	transition-delay: 0s;
}

#wave-specialsale .lineup_container .tab_nav .tab.is_active a::after {
	height: 100%;
	transition-delay: 0.01s;
}
#wave-specialsale .lineup_container .tab_nav .tab.is_active a::after{
	border: 3px solid #214760;
}

#wave-specialsale .lineup_container .tab_nav .tab .text_s {
	font-size: 0.8em;
}

#wave-specialsale .lineup_container .js_tab_contents {
	position: relative;
	overflow: hidden;
}

#wave-specialsale .lineup_container .js_tab_panel {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	transition: all 0.2s ease-in-out;
	margin-bottom: 6%;
}

#wave-specialsale .lineup_container .js_tab_panel.is_active {
	z-index: 2;
	position: relative;
	opacity: 1;
	pointer-events: auto;
}

#wave-specialsale .lineup_container .product_box_wrap {
	display: flex;
	flex-wrap: wrap;
}

#wave-specialsale .lineup_container .product_box_wrap .product_box {
	width: calc((100% - 8%) / 2);
	margin-left: 8%;
}

#wave-specialsale .lineup_container .product_box_wrap .product_box:nth-child(2n+1 of .product_box) {
	margin-left: 0;
}

#wave-specialsale .lineup_container .product_box_wrap .product_box:nth-child(n+3 of .product_box) {
	margin-top: 8%;
}

#wave-specialsale .lineup_container .product_box {
	margin: 5% 0 0 0;
}

#wave-specialsale .lineup_container .product_box_main:nth-child(n+4) {
	margin-top: 40px;
}

#wave-specialsale .lineup_container .product_box_main .photo {
	position: relative;
	width: 100%;
}
#wave-specialsale .lineup_container .product_box_main .photo.new_photo:before {
	content: "NEW";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	width: min(12vw,60px);
	padding: 0 0.5em;
	letter-spacing: 0.1em;
	line-height: 2;
	font-weight: 500;
	color: #fff;
	background: #0092e5;
	text-align: center;
	font-size: 13px;
	font-size: min(2.81vw,13px);
}
#wave-specialsale .lineup_container .product_box_main .photo:after {
	content: "";
	display: block;
	position: absolute;
	top: 8%;
	left: 7%;
	width: 50px;
	width: min(12vw,60px);
	height: 50px;
	height: min(12vw,60px);
	background:url(/campaign/wave-specialsale/img/icon_free.png) no-repeat #cb1919;
	background-size: cover;
	border-radius: 50%;
}

#wave-specialsale .lineup_container .product_box_main .name {
	margin: 8% 0;
	color: #214760;
	font-weight: 500;
	font-size: 13px;
	font-size: min(2.81vw,13px);
	line-height: 1.54545;
	letter-spacing: 0.05em;
}

#wave-specialsale .lineup_container .product_box_setlist {
	padding: 0px 4%;
	border: 1px solid #d7d7d7;
}

#wave-specialsale .lineup_container .setlist_item {
	padding: 10.5% 0;
	border-top: 1px solid #d7d7d7;
}

#wave-specialsale .lineup_container .setlist_item:first-child {
	border-top: 0;
}

#wave-specialsale .lineup_container .setlist_item .linkbox {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

#wave-specialsale .lineup_container .setlist_item .set_icon {
	width: 52%;
	padding: 4%;
	background-color: #3598dc;
	color: #ffffff;
	font-weight: 500;
	font-size: 12px;
	font-size: min(2.5vw,12px);
	line-height: 1;
	letter-spacing: 0.04em;
	text-align: center;
}

#wave-specialsale .lineup_container .setlist_item .set_price {
	white-space: nowrap;
	width: 48%;
	padding-left: 4%;
	color: #214760;
	font-weight: 500;
	font-size: 19px;
	font-size: min(4.06vw,19px);
	line-height: 1;
	letter-spacing: 0.025em;
}

#wave-specialsale .lineup_container .setlist_item .set_coupon {
	margin: 4% 0 0;
	color: #214760;
	font-weight: 500;
	font-size: 10px;
	font-size: min(2.18vw,10px);
	line-height: 1.4;
	letter-spacing: 0.07em;
	width: 100%;
	text-align: center;
}

#wave-specialsale .lineup_container .setlist_item .set_coupon em {
	color: #cb1919;
	font-size: min(2.81vw,13px);
	font-weight: 800;
}

#wave-specialsale .lineup_container .setlist_item .set_btn {
	width: 100%;
	margin: 4% 0 0;
	padding: 6% 2%;
	border-radius: 2px;
	background-color:#214760;
	color: #ffffff;
	font-weight: 500;
	font-size: 10px;
	font-size: min(2.08vw,10px);
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
}

#wave-specialsale .lineup_container .setlist_more {
	padding: 3% 0 18%;
	text-align: center;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

#wave-specialsale .lineup_container .setlist_more .more_btn {
	display: inline-block;
	position: relative;
	padding: 0.3em 1.8em 0.36em 0.5em;
	border-bottom: 2px solid #444444;
	color: #214760;
	font-weight: 700;
	font-size: 2.5vw;
	line-height: 1;
	letter-spacing: 0.1em;
}

#wave-specialsale .lineup_container .setlist_more .more_btn::after {
	-webkit-transform: rotate(135deg);
	display: inline-block;
	position: absolute;
	top: calc( 50% - 0.6em);
	right: 0.5em;
	width: 0.8em;
	height: 0.8em;
	transform: rotate(135deg);
	border-top: 2px solid #444444;
	border-right: 2px solid #444444;
	content: "";
}

#wave-specialsale .lineup_container .setlist_more:hover {
	opacity: 0.6;
}

#wave-specialsale .kabu_btn{
	margin: 8% auto 0;
	text-align: center;
	font-size: 3.4vw;
	color: #FFF;
	width: 70%;
	display: block;
	font-weight: bold;
	border-radius: 1vw;
	letter-spacing: 1px;
	padding: 4% 0;
	background: #0697e0;
}

/* 固定クーポンボタン
--------------------------------------- */
#wave-specialsale .fixed_coupon {
	z-index: 1000;
	position: fixed;
	right: 10px;
	bottom: 10px;
	width: 22%;
	max-width: 80px;
}

/* トップへ戻るボタン上書き
--------------------------------------- */
/* #scroll-pagetop {
	bottom: 100px;
} */

/* モーダル
--------------------------------------- */
.modal_cart_block {
	max-width: 600px;
	background-color: transparent;
}

.modal_cart_block.mfp-dialog-block {
	padding: 20px 10px;
}

.modal_cart_block .modal_block_head {
	padding: 7% 7% 0;
	background-color: #fff;
}

.modal_cart_block .modal_block_head .modal_photo {
	text-align: center;
	background: #efefef;
}

.modal_cart_block .modal_block_head .modal_name {
	padding: 5% 0px 0;
	color: #214760;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.modal_cart_block .modal_block_body {
	display: block;
	padding: 1px 7% 2%;
	background: #ffffff;
}


/* カート部分スタイル上書き
--------------------------------------- */
.modal_cart_block .aui_goods_data_box {
	margin: 5% 0 20px;
}

/* メディアクエリ
--------------------------------------- */
@media screen and (min-width: 640px) {
	#wave-specialsale .lineup_container .setlist_more .more_btn {
	font-size: 14px;
	}
}


@media screen and (max-width: 500px) {
	#wave-specialsale .lineup_container .tab_nav .tab a::before{
	height: 3px;
	bottom: 3px;
	}
	#wave-specialsale .lineup_container .tab_nav .tab a::after{
	border-width: 3px;
	}
}
/* 欠品お知らせ
--------------------------------------- */
#wave-specialsale .stock_notice {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 850px;
  margin: 5% auto 0;
  padding: 0.5em 1em;
  border: 2px solid #cb0004;
  background-color: #ffffff;
  color: #cb0004;
  font-weight: 500;
  font-size: calc( 28 / 960 * var(--contents_width));
  letter-spacing: 0.12em;
  text-align: center;
}
@media screen and (min-width:768px) {
  body:not(.is_sp_only) #wave-specialsale .stock_notice {
    font-size: 16px
  }
}

#wave-specialsale .stock_notice * {
  margin: 0;
  padding: 0;
}

#wave-specialsale .stock_notice_text {
  line-height: 1.6;
}

#wave-specialsale .stock_notice_text::before {
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  margin-right: 0.1em;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='16' fill='%23cb0004'/%3E%3Crect x='14.5' y='7' width='3' height='12' rx='1' fill='white'/%3E%3Ccircle cx='16' cy='23' r='2' fill='white'/%3E%3C/svg%3E") no-repeat center/contain;
  content: "";
  vertical-align: -0.25em;
}