:root {
	
	/* カラーセット01 */
	--lp-color01-bg:      #F2F8FC;
	--lp-color01-bg-dark: #509CD1;
	--lp-color01-title:   #148ADD;
	--lp-color01-text:    #06273E;
	
	/* カラーセット02 */
	--lp-color02-bg:      #FCFCF2;
	--lp-color02-bg-dark: #F5E45D;
	--lp-color02-title:   #676027;
	--lp-color02-text:    #676027;
	
	/* カラーセット03 */
	--lp-color03-bg:      #F2DDDD;
	--lp-color03-bg-dark: #CB5C5C;
	--lp-color03-text:    #FFF;
	
	/* かける（×）の色指定 */
	--lp-color-closs:     #A8C0D1;

	/* アンカーの矢印色 */
	--lp-color-arrow:     #DDC71F;
	
	--10f: calc(10 / 375 * 100dvw);
}

/* ----------------------------------
 レイアウト 共通
---------------------------------- */
html[data-browse-mode="P"] .sp_only,
html[data-browse-mode="S"] .pc_only { display: none !important;}
html[data-browse-mode="P"] .pane-left-menu { display: none !important;}
html[data-browse-mode="P"] .pane-left-menu + .pane-main { width: auto;}
.block-event-page--header-freespace { width: auto;}

@media screen and (min-width: 751px) { .for-sp-width { display: none;}}
@media screen and (max-width: 750px) { .for-pc-width { display: none;}}

#feature_event { max-width: 100vw;}
#feature_event img { max-width: 100%;}
#feature_event a   { text-decoration: none;}

/* ----------------------------------
 メインビジュアル
---------------------------------- */
#feature_event h1.main { width: 100%; max-width: 1120px; padding: 0; margin: 0 auto 56px; border: none;}
#feature_event h1.main img { width: 100%;}

@media screen and (max-width: 750px) {
	#feature_event h1.main { margin: 0 auto 32px;}
}

/* ----------------------------------
 特集名・説明文・対象期間
---------------------------------- */
#feature_event #sec_head { 
	margin: 0 0 80px;
}
#feature_event #sec_head h2 {
	padding: 0;
	margin: 0 auto 32px;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	color: var(--lp-color01-title);
}
#feature_event #sec_head .text {
	max-width: 660px;
	padding: 0;
	margin: 0 auto 40px;
	font-size: 18px;
	font-weight: normal;
	text-align: center;
	line-height: 2.0;
	color: var(--lp-color01-text);
}
#feature_event #sec_head .date {
	padding: 20px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
#feature_event #sec_head .date dl {
	margin: 0 auto;
	border-radius: 8px;
	background: var(--lp-color02-bg);
	position: relative;
}
#feature_event #sec_head .date dt {
	height: 40px;
	padding: 0 35px;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.0;
	color: var(--lp-color02-text);
	background: var(--lp-color02-bg-dark);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
}
#feature_event #sec_head .date dd {
	min-height: 88px;
	padding: 26px 40px;
	font-size: 20px;
	font-weight: bold;
	color: var(--lp-color02-text);
	display: flex;
	justify-content: center;
	align-items: center;
}
#feature_event #sec_head .date dd .num {
	font-size: 28px;
	font-weight: bold;
	color: var(--lp-color02-text);
}
#feature_event #sec_head .date dd .start-dt + .end-dt {
	position: relative;
}
#feature_event #sec_head .date dd .space {
	width: 24px;
	margin: 0 15px 0 5px;
	border-top: var(--lp-color02-text) 2px solid;
	display: inline-block;
}

@media screen and (max-width: 750px) {
	#feature_event #sec_head { margin: 0 16px 48px;}
	#feature_event #sec_head h2 { margin: 0 auto 16px; font-size: calc(var(--10f) * 2.0);}
	#feature_event #sec_head .text { margin: 0 auto 32px; font-size: calc(var(--10f) * 1.2);}
	#feature_event #sec_head .date { padding: 18px 0 0; display: block;}
	#feature_event #sec_head .date dt { height: 36px; padding: 0 24px; border-radius: 6px; font-size: calc(var(--10f) * 1.6); top: -18px;}
	#feature_event #sec_head .date dd { min-height: auto; padding: 30px 10px 20px; font-size: calc(var(--10f) * 1.6);}
	#feature_event #sec_head .date dd .num { font-size: calc(var(--10f) * 2.4);}
	#feature_event #sec_head .date dd .space { width: 20px; margin: 0 8px 0 2px; border-top: var(--lp-color02-text) 1px solid;}
}

/* ----------------------------------
 キャンペーン
---------------------------------- */
#feature_event #sec_campaign {
	margin: 0 0 96px;
}
#feature_event .campaign-frame {
	max-width: 930px;
	padding: 16px;
	margin: 0 auto;
	border-radius: 20px;
	background: var(--lp-color01-bg);
}
#feature_event .campaign-frame + .campaign-frame {
	margin-top: 40px;
}
#feature_event .campaign-inner {
	padding: 32px 110px;
	border-radius: 12px;
	background-color: #FFF;
	position: relative;
}
#feature_event .campaign-inner::before {
	content: '';
	width: 220px;
	height: 220px;
	display: block;
	background-color: #FFF;
	background-image: url(/img/usr/event/2508_25LK/bg.png);
	background-repeat: no-repeat;
	background-position: center;
	-webkit-background-size: contain;
	background-size: contain;
	position: absolute;
	bottom: 20px;
	right: 20px;
	opacity: 0.1;
}
#feature_event .campaign-inner * { position: relative; z-index: 1;}
#feature_event .campaign-inner .title {
	padding: 0;
	margin: 0 auto 24px;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	color: var(--lp-color01-title);
}
#feature_event .campaign-inner .text { font-size: 15px; line-height: 2.0; color: var(--lp-color01-text);}
#feature_event .campaign-inner .button {
	margin: 32px 0 0;
	display: flex;
	justify-content: center;
}
#feature_event .campaign-inner .button a {
	min-height: 60px;
	padding: 0 60px 0 34px;
	border-radius: 60px;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	color: var(--lp-color02-text);
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--lp-color02-bg-dark);
	position: relative;
}
#feature_event .campaign-inner .button a::before {
	content: '';
	width: 18px;
	border: var(--lp-color02-text) 1px solid;
	display: block;
	position: absolute;
	right: 20px;
	top: calc(50% - 0.5px);
}
#feature_event .campaign-inner .button a::after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: var(--lp-color02-text) 2px solid;
  border-left: var(--lp-color02-text) 2px solid;
  position: absolute;
  top: calc(50% - 4px);
  right: 20px;
  display: block;
  transform: rotate(135deg);
}

@media screen and (max-width: 750px) {
	#feature_event #sec_campaign { margin: 0 16px 48px;}
	#feature_event .campaign-frame { max-width: unset; padding: 12px; border-radius: 16px;}
	#feature_event .campaign-frame + .campaign-frame { margin-top: 20px;}
	#feature_event .campaign-inner { padding: 24px 16px; border-radius: 12px;}
	#feature_event .campaign-inner::before { width: 128px; height: 128px; bottom: calc(50% - 128px); right: 16px;}
	#feature_event .campaign-inner .title { margin: 0 auto 16px; font-size: calc(var(--10f) * 2.0);}
	#feature_event .campaign-inner .text { font-size: calc(var(--10f) * 1.2);}
	#feature_event .campaign-inner .button a { width: 100%; min-height: 56px; padding: 0 40px 0 30px; border-radius: 56px; font-size: calc(var(--10f) * 1.4);}
	#feature_event .campaign-inner .button a::before { width: 12px;}
}

/* ----------------------------------
 アンカーリンク
---------------------------------- */
#feature_event #sec_anchor {
	padding: 40px 0;
	margin: 0 0 120px;
	position: relative;
}
#feature_event #sec_anchor::before {
	content: '';
	width: 100vw;
	height: 100%;
	display: block;
	background: var(--lp-color01-bg);
	position: absolute;
	left: calc(-50vw + (1120px / 2));
	top: 0;
}
#feature_event #sec_anchor ul.anchor-list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 32px;
	position: relative;
	z-index: 1;
}
#feature_event #sec_anchor li.anchor-item {
	width: 320px;
	border-radius: 32px;
}
#feature_event #sec_anchor li.anchor-item a {
	width: 100%;
	height: 100%;
	padding: 16px 50px 40px 50px;
	border-radius: 32px;
	text-align: center;
	text-decoration: none;
	display: block;
	background: #FFF;
	box-sizing: border-box;
	position: relative;
}
#feature_event #sec_anchor li.anchor-item a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: var(--lp-color02-bg-dark) 1px solid;
  border-left: var(--lp-color02-bg-dark) 1px solid;
  position: absolute;
  bottom: 20px;
  left: calc(50% - 5px);
  display: block;
  transform: rotate(-135deg);
}
#feature_event #sec_anchor li.anchor-item .image {
	height: 148px;
	margin: 0 0 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#feature_event #sec_anchor li.anchor-item .text {
	text-align: center;
}
#feature_event #sec_anchor li.anchor-item .text .line01 {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	color: var(--lp-color01-title);
	display: block;
}
#feature_event #sec_anchor li.anchor-item .text .line02 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	color: var(--lp-color01-title);
	display: block;
}

@media screen and (max-width: 750px) {
	#feature_event #sec_anchor { padding: 24px 16px; margin: 0 0 48px;}
	#feature_event #sec_anchor::before { width: 100vw; left: 0;}
	#feature_event #sec_anchor ul.anchor-list { gap: 14px;}
	#feature_event #sec_anchor li.anchor-item { width: calc(50% - 7px); border-radius: 16px;}
	#feature_event #sec_anchor li.anchor-item a { padding: 10px 10px 40px; border-radius: 16px;}
	#feature_event #sec_anchor li.anchor-item .image { height: 88px; margin: 0 auto 10px;}
	#feature_event #sec_anchor li.anchor-item .image img { height: 70px;}
	#feature_event #sec_anchor li.anchor-item .text .line01 { font-size: calc(var(--10f) * 2.4);}
	#feature_event #sec_anchor li.anchor-item .text .line02 { font-size: calc(var(--10f) * 1.6);}
}

html[data-browse-mode="S"] #feature_event #sec_anchor::before { left: 0;}

/* ----------------------------------
 組み合わせから選ぶ
---------------------------------- */
#feature_event #sec_selected {
	margin: 0 0 90px;
	padding: 48px 40px 56px 40px;
	border-radius: 20px;
	background: var(--lp-color01-bg);
}
#feature_event #sec_selected h2 {
	padding: 0;
	margin: 0 auto 76px;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	color: var(--lp-color01-title);
}
#feature_event #sec_selected .select-box {
	padding: 24px 40px;
	border-radius: 16px;
	background: #FFF;
}
#feature_event #sec_selected .select-box + .select-box {
	margin-top: 40px;
}
#feature_event #sec_selected .select-box:has(.select-head) {
	padding-top: 48px;
}
#feature_event #sec_selected .select-inner {
	padding: 40px;
	border-radius: 16px;
	background: var(--lp-color01-bg);
	position: relative;
}
#feature_event #sec_selected h3.select-head {
	padding: 0;
	margin: 0;
	border: none;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -24px;
	left: 0;
	right: 0;
}
#feature_event #sec_selected h3.select-head span {
	min-height: 48px;
	padding: 1px 40px 0;
	border-radius: 8px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.0;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--lp-color01-bg-dark);
}
#feature_event #sec_selected .select-box.set-color-02 h3.select-head span {
	color: var(--lp-color02-text);
	background: var(--lp-color02-bg-dark);
}
#feature_event #sec_selected .select-box.set-color-03 h3.select-head span {
	color: #FFF;
	background: var(--lp-color03-bg-dark);
}
#feature_event #sec_selected .select-item-list-wrap {
	display: flex;
	justify-content: center;
	column-gap: 160px;
	align-items: stretch;
}
#feature_event #sec_selected .select-item-list-box {
	position: relative;
}
#feature_event #sec_selected .select-item-list-box .swiper-contorols {
	display: none;
}
#feature_event #sec_selected .select-item-list {
	height: 100%;
	display: flex;
	justify-content: center;
	column-gap: 16px;
	align-items: stretch;
	position: relative;
}
#feature_event #sec_selected .select-item-list-box + .select-item-list-box::before,
#feature_event #sec_selected .select-item-list-box + .select-item-list-box::after {
	content: '';
	width: 90px;
	border: var(--lp-color-closs) 1px solid;
	display: block;
	position: absolute;
	left: -125px;
	top: calc(50% - 0.5px);
	transform: rotate(45deg);
	z-index: 2;
}
#feature_event #sec_selected .select-item-list-box + .select-item-list-box::after {
	transform: rotate(-45deg);
}
#feature_event #sec_selected .select-item-box {
	max-width: 270px;
	border-radius: 16px;
	box-sizing: border-box;
	flex-shrink: 1;
}
#feature_event #sec_selected .select-item-box a {
	width: 100%;
	height: 100%;
	padding: 16px;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	background: #FFF;
	box-sizing: border-box;
}
#feature_event #sec_selected .select-item-box .image {
	width: 100%;
	margin: 0 0 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#feature_event #sec_selected .select-item-box .name {
	margin: 0 0 10px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	color: var(--lp-color01-text);
}
#feature_event #sec_selected .select-item-box .price {
	margin: auto 0 0;
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	color: var(--lp-color01-text);
}
#feature_event #sec_selected .select-message {
	margin: 24px 50px 0;
}
#feature_event #sec_selected .select-message p {
	font-size: 16px;
	line-height: 2.0;
	color: #4A4A4A;
}

@media screen and (max-width: 750px) {
	#feature_event #sec_selected { margin: 0 16px 48px; padding: 40px 16px 32px;}
	#feature_event #sec_selected h2 { margin: 0 auto 55px; font-size: calc(var(--10f) * 2.4);}
	#feature_event #sec_selected .select-box { padding: 0; border-radius: 0; background: transparent;}
	#feature_event #sec_selected .select-box:has(.select-head) { padding-top: 0;}
	#feature_event #sec_selected .select-inner { padding: 0; border-radius: 0;}
	#feature_event #sec_selected h3.select-head { margin: 0 0 16px; position: relative; top: unset; left: unset; right: unset;}
	#feature_event #sec_selected h3.select-head span { padding: 1px 16px 0; font-size: calc(var(--10f) * 1.8);}
	#feature_event #sec_selected .select-item-list-wrap { column-gap: 26px;}
	#feature_event #sec_selected .select-item-list-box + .select-item-list-box::before,
	#feature_event #sec_selected .select-item-list-box + .select-item-list-box::after { width: 54px; left: -40px;}
	#feature_event #sec_selected .select-item-box { max-width: unset; width: 100%; border-radius: 12px;}
	#feature_event #sec_selected .select-item-box a { padding: 12px 8px; border-radius: 12px;}
	#feature_event #sec_selected .select-item-box .name  { font-size: calc(var(--10f) * 1.3);}
	#feature_event #sec_selected .select-item-box .price { font-size: calc(var(--10f) * 1.3);}
	#feature_event #sec_selected .select-message { margin: 16px 0 0;}
	#feature_event #sec_selected .select-message p { font-size: calc(var(--10f) * 1.2); line-height: 1.6;}
}

/* スライダー表示時 */
#feature_event #sec_selected .select-item-list-box.swiper-initialized { position: relative;}
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-contorols { display: flex; justify-content: center; position: absolute; bottom: 0; left: 0; right: 0;}
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-pagination {
  width: auto;
  padding: 0 10px;
  margin: 0;
  position: relative;
  top: unset;
  left: unset;
  right: unset;
  bottom: unset;
}
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-button-prev,
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-button-next { height: 14px; margin: 0; position: relative; top: unset; left: unset; right: unset; bottom: unset;}
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-button-prev::after,
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-button-next::after { display: none;}
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-button-prev::before {
	content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 0;
  border-right: 10px solid #7A95A7;
	display: block;
	top: 0;
}
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-button-next::before {
	content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #7A95A7;
  border-right: 0;
	display: block;
	top: 0;
}
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-pagination-bullet { width: 12px; height: 12px; border-radius: 12px; background: #A1C5DE;}
#feature_event #sec_selected .select-item-list-box.swiper-initialized .swiper-pagination-bullet.swiper-pagination-bullet-active { background: #148ADD;}
#feature_event #sec_selected .select-item-list-wrap:has(.swiper-initialized) { position: relative;}
#feature_event #sec_selected .select-item-list-wrap:has(.swiper-initialized) .select-item-list-box { min-width: calc(50% - 13px); padding-bottom: 40px;}
#feature_event #sec_selected .select-item-list-wrap:has(.swiper-initialized) .select-item-list-box .select-item-list { justify-content: flex-start; flex-wrap: nowrap; column-gap: 0;}
#feature_event #sec_selected .select-item-list-wrap:has(.swiper-initialized) .select-item-list-box .select-item-list .select-item-box { min-width: 100%;}

/* ----------------------------------
 商品一覧から選ぶ
---------------------------------- */
#feature_event #sec_items_wrap {
	margin: 0 auto 100px;
}
#feature_event #sec_items_wrap h2 {
	padding: 0;
	margin: 0 auto 76px;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	color: var(--lp-color01-title);
}
#feature_event #sec_items_contents_tab {
	margin: 0 0 32px;
}
#feature_event #sec_items_contents_tab .tab-list {
	display: flex;
	justify-content: center;
	column-gap: 12px;
}
#feature_event #sec_items_contents_tab .tab-list li { 
	max-width: 200px;
	width: calc((100% - 12px * 2)/ 3);
	height: 56px;
	border-radius: 20px 20px 0 0;
	display: flex;
	justify-content: center;
	align-content: center;
	background: var(--lp-color01-bg);
	cursor: pointer;
}
#feature_event #sec_items_contents_tab .tab-list li span {
	margin: auto;
	font-size: 18px;
	font-weight: bold;
	color: var(--lp-color01-text);
}
#feature_event #sec_items_contents_tab .tab-list li.active { 
	background: var(--lp-color01-bg-dark);
	cursor: initial;
}
#feature_event #sec_items_contents_tab .tab-list li.active span { 
	color: #FFF;
}
#sec_items_contents .event-frame h2.block-top-event--header { display: none;}
#sec_items_contents .event-frame .goods-st-outer { height: auto;}

@media screen and (max-width: 750px) {
	#feature_event #sec_items_wrap { margin: 0 16px 48px;}
	#feature_event #sec_items_wrap h2 { margin: 0 auto 16px; font-size: calc(var(--10f) * 2.4);}
	#feature_event #sec_items_contents_tab .tab-list { column-gap: 4px;}
}

/* ----------------------------------
 同時開催中の特集はこちら
---------------------------------- */
#sec_feature_banners { max-width: 100vw;}
div.ecb-evt--bottombanners { max-width: 1120px; margin: 80px auto;}
div.ecb-evt--bottombanners p { font-size: 18px; font-weight: 600; text-align: center; display: block; position: relative; z-index: 5;}
div.ecb-evt--bottombanners ul { margin: 30px 0 0; display: flex; flex-flow: wrap; align-items: flex-start; justify-content: space-between; gap: 40px;}
div.ecb-evt--bottombanners ul li { width: auto; max-width: 540px; flex: 1;}
div.ecb-evt--bottombanners ul li > span { margin: 0 0 15px; font-size: 18px; font-weight: 600; text-align: center; display: block; position: relative; z-index: 5;}
div.ecb-evt--bottombanners ul li figure { text-align: center;}
div.ecb-evt--bottombanners ul li figure img { height: auto;}
div.ecb-evt--bottombanners ul li p:has(.ecb-evt--btn) { margin: 40px 0 0; text-align: center;}
div.ecb-evt--bottombanners ul li a.ecb-evt--btn {
  width: 192px;
  height: 52px;
  padding: 0 10px;
	margin: 0 auto;
  border-radius: 52px;
  font-size: 16px;
	font-weight: 400;
	text-decoration: none;
	color: #011f62;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #F0F3FA;
}

@media screen and (max-width: 750px) {
	div.ecb-evt--bottombanners { margin: calc(var(--10f)* 4) 0;}
	div.ecb-evt--bottombanners ul { flex-direction: column; gap: 0;}
	div.ecb-evt--bottombanners p { font-size: calc(var(--10f)* 1.8);}
	div.ecb-evt--bottombanners ul { margin: calc(var(--10f)* 1.5) calc(var(--10f)* 1) 0;}
	div.ecb-evt--bottombanners ul li { width: 100%; max-width: 100%;}
	div.ecb-evt--bottombanners ul li + li { margin-top: calc(var(--10f)* 4);}
	div.ecb-evt--bottombanners ul li > span { margin: 0 0 calc(var(--10f)* 1.5); font-size: calc(var(--10f)* 1.8);}
	div.ecb-evt--bottombanners ul li p:has(.ecb-evt--btn) { margin: calc(var(--10f)* 2.8) 0 0;}
}
