﻿@charset "UTF-8";

:root {
  --color-main: #DD3A3B;
}

/* ----------------------------------
LP レイアウト
---------------------------------- */
.pane-main { margin: 0;}
.block-event-page--goods { display: none;}
html[data-browse-mode="P"] .pane-left-menu { display: none;}
html[data-browse-mode="P"] .pane-right-menu { display: none;}
html[data-browse-mode="P"] .page-event .pane-contents .container { width: 100%; margin: 0; padding: 0; min-width: unset; max-width: unset;}
html[data-browse-mode="P"] .page-event .pane-contents .container .pane-main { width: 100%; margin: 0;}
html[data-browse-mode="P"] #header.pane-header { margin: 0;}

.event_lp {padding: 0;}
.event_lp img { vertical-align: bottom;}
.event_lp .contents-wrapper {padding: 33px 0 50px;position: relative;background-image: url(/img/0002/img/e/00020137/pc_bg.jpg);background-repeat: repeat-y;background-size: contain;}
.event_lp .contents-wrapper section { position: relative; z-index: 2;}

@media (min-width: 999px) {
	.event_lp .for-sp { display: none !important;}
}
@media (max-width: 1000px) {
	.event_lp .for-pc { display: none !important;}
	.event_lp .contents-wrapper { padding: 25px 0 50px;}
}

/* ----------------------------------
メイン
---------------------------------- */
#sec_main h1 { padding: 0; margin: 0;}
#sec_main h1 img { width: 100%;}

/* ----------------------------------
メッセージ・マイルアップ
---------------------------------- */
#sec_message .top-lead { margin: 0 0 46px 0; line-height: 1.8; display: flex; justify-content: center; align-items: center;}
#sec_message .top-lead p { max-width: 1200px; font-size: 22px; font-weight: 500; text-align: center; color: #000000; position: relative;}
#sec_message .top-lead p.end {font-size: 31px;font-weight: bold;text-align: center;color: var(--color-main);position: relative;}
#sec_message .mile-campaign-date {max-width: 800px;margin: 0 auto 30px;padding: 6px 10px;font-size: 22px;font-weight: 600;text-align: center;border: var(--color-main) 1px solid;background: #FFF;}
#sec_message .mile-campaign-date dt { color: var(--color-main);}
#sec_message .mile-campaign .memo { margin: 14px 0 0; font-size: 13px; text-align: center;}

@media (max-width: 1000px) {
		#sec_message .top-lead { margin: 0 0 24px;}
	#sec_message .top-lead p {font-size: 16px; color: #000; font-weight: 500; padding: 0 20px;}
	#sec_message .top-lead p.end {font-size: 21px;color: Var( --color-main);font-weight: bold;}
	#sec_message .mile-campaign { padding: 0 10px; margin: 0 auto;}
	#sec_message .mile-campaign-date { padding: 12px 10px; font-size: 17px;}
	#sec_message .mile-campaign .memo { margin: 8px 0 0; font-size: 11px; text-align: left;}
}

/* ----------------------------------
カテゴリー
---------------------------------- */
#sec_category { margin: 22px 0 40px 0;}
#sec_category .section-inner {max-width: 1200px;margin: 0 auto;}
#sec_category h2.design-category-title { padding: 0 0 15px 0; margin: 0 0 22px 0; text-align: center; position: relative;}
#sec_category h2.design-category-title span { font-size: 32px; font-weight: 600;}
#sec_category h2.design-category-title::after { content: ''; width: 50px; border-top: var(--color-main) 5px solid; display: block; position: absolute; bottom: 0; left: 50%; translate: -50%;}
#sec_category .sec-cate-list {margin: 0 auto;display: flex;flex-wrap: wrap;justify-content: center;gap: 20px;max-width: 1000px;}
#sec_category .sec-cate-list .sec-cate-box {width: calc((100% - (94px * 3))/4);}
#sec_category .sec-cate-list .sec-cate-box .name {width: 100%;height: 48px;font-size: 16px;font-weight: 500;color: #fff;display: flex;justify-content: center;align-items: center;background: #BE8A3B;transition: 0.5s;}

@media (max-width: 1000px) {
	#sec_category { margin: 22px 0 50px 0;}
	#sec_category h2.design-category-title { margin: 0 0 30px 0; padding: 0 0 10px;}
	#sec_category h2.design-category-title span { font-size: 27px;}
	#sec_category .sec-cate-list { padding: 0 10px; gap: 8px;}
	#sec_category .sec-cate-list .sec-cate-box { width: calc((100% - 8px)/2);}
	#sec_category .sec-cate-list .sec-cate-box .name { height: 40px; font-size: 14px;}
}

/* ----------------------------------
関連イベント
---------------------------------- */
#sec_event_frame {padding: 38px 0 70px;/* background: #f7f0f3; */}
.event_pick_frame .block-top-event--header{ display:none;}
#sec_event_frame .event_pick_frame { max-width: 1200px; margin: 0 auto; }
#sec_event_frame h2.block-top-event--header { padding: 0 0 15px 0; margin: 0 0 40px 0; font-size: 32px; font-weight: bold; text-align: center; line-height: 1.267; position: relative;}
#sec_event_frame h2.block-top-event--header::after { content: ''; width: 50px; border-top: var(--color-main) 5px solid; display: block; position: absolute; bottom: 0; left: 50%; translate: -50%;}
#sec_event_frame .design-more-button:not(:last-child) { margin-bottom: 70px;}

/* もっと見るボタン */
.design-more-button { width: 400px; margin: 50px auto 0;}
.design-more-button a { width: 100%; height: 60px; border: var(--color-main) 2px solid; border-radius: 60px; font-size: 20px; font-weight: 500; color: #fff; display: flex; justify-content: center; align-items: center; background: var(--color-main); transition: 0.5s;}
.design-more-button a:hover { color: var(--color-main); background: #fff;}

@media (max-width: 1000px) {
	#sec_event_frame h2.block-top-event--header { margin: 0 0 30px 0; padding: 0 0 12px; font-size: 27px;}
	#sec_event_frame h2.block-top-event--header span { font-size: 27px;}
	#sec_event_frame .design-more-button:not(:last-child) { margin-bottom: 60px;}
	.design-more-button { width: 200px; margin: 20px auto 0;}
	.design-more-button a { height: 45px; font-size: 17px;}
}

html[data-browse-mode="P"] #sec_event_frame .block-thumbnail-t,
html[data-browse-mode="P"] #sec_event_frame .block-pickup-list-p--items {margin: 0;gap: 15px;}
html[data-browse-mode="P"] #sec_event_frame .block-thumbnail-t > li,
html[data-browse-mode="P"] #sec_event_frame .block-pickup-list-p--items > li {width: calc((100% - 120px) / 6);margin: 0;}

html[data-browse-mode="S"] #sec_event_frame .block-thumbnail-t--items { padding: 0 20px 10px 20px; flex-wrap: nowrap; justify-content: flex-start; align-items: flex-start; overflow-x: scroll; -webkit-overflow-scrolling: touch; gap: 0 20px;}
html[data-browse-mode="S"] #sec_event_frame .block-thumbnail-t--items li { width: 150px; min-width: 150px; padding: 0; margin: 0; vertical-align: top; font-size: 14px;;}

@media (max-width: 1000px) {
	html[data-browse-mode="P"] #sec_event_frame .block-thumbnail-t,
	html[data-browse-mode="P"] #sec_event_frame .block-pickup-list-p--items { padding: 0 15px; margin: 0; gap: 15px;}
	html[data-browse-mode="P"] #sec_event_frame .block-thumbnail-t > li,
	html[data-browse-mode="P"] #sec_event_frame .block-pickup-list-p--items > li { width: calc((100% - 15px) / 2); margin: 0;}
}

/* ----------------------------------
開催中のキャンペーン・おすすめ特集
---------------------------------- */
.event_lp h2.design-shine { padding: 0; margin: 0 0 40px; border: none; display: flex; justify-content: center; align-items: center;}
.event_lp h2.design-shine span { font-size: 32px; font-weight: 600;}

#sec_campaign { max-width: 1200px; padding: 0; margin: 40px auto 80px;}
#sec_campaign .campaign_list { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px;}
#sec_campaign .campaign_list > li { width: calc((100% - 15px * 3)/4); align-self: stretch; background-color: #fff;}
#sec_campaign .campaign_list .list_item_detail { padding: 5%; border: none; word-break: break-all;}
#sec_campaign .campaign_list .list_item_detail .text-period{color:#cc0000;}
#sec_campaign .campaign_list .list_item_detail_comment1 { margin-bottom: 10px; font-size: 16px; font-weight: bold; color: #000000;}
#sec_campaign .campaign_list .list_item_detail_comment2 { font-size: 13px;}

#sec_recommend { max-width: 1200px; padding: 0; margin: 0 auto 0;}
#sec_recommend .js-main-slider { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px;}
#sec_recommend .js-main-slider > li { width: calc((100% - 15px * 3)/4); align-self: stretch; background-color: #fff;}
#sec_recommend .js-main-slider .list_item_detail { padding: 5%; border: none; word-break: break-all;}
#sec_recommend .js-main-slider .list_item_detail_comment1 { margin-bottom: 10px; font-size: 16px; font-weight: bold; color: #000000;}
#sec_recommend .js-main-slider .list_item_detail_comment2 { font-size: 13px;}

.design-more-button.for-page-top { margin: 26px auto 0;}
.design-more-button.for-page-top a { color: var(--color-main); background: #fff;}
.design-more-button.for-page-top a:hover { color: #fff; background: var(--color-main);}

@media (max-width: 1000px) {
	.event_lp h2.design-shine span { font-size: 27px;}
	#sec_campaign .campaign_list { margin: 40px auto 60px; padding: 0 10px; justify-content: flex-start; flex-wrap: nowrap; overflow-x: scroll;}
	#sec_campaign .campaign_list > li { width: 300px; min-width: 300px;}
	#sec_recommend .js-main-slider { padding: 0 15px; justify-content: flex-start; flex-wrap: nowrap; overflow-x: scroll;}
	#sec_recommend .js-main-slider > li { width: 300px; min-width: 300px;}
	#sec_recommend .design-more-button { width: 260px; margin-top: 32px;}
	.design-more-button.for-page-top { width: 260px;}
}

 
/* クーポンエリア  */
 .sec-benefit-lead {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: .056em;
	line-height: 1.7;
	text-align: center;
	margin-bottom: 15px;
} .sec-benefit-lead > span {
	font-size: 14px;
} 
#benefit01 .benefit-coupon-layout {
	display: flex;
	flex-direction: column;
	row-gap: 15px;
	margin-inline: auto;
	width: 700px;
} 
#benefit01 .benefit-coupon {
	background-color: #CE1E1E;
	border-radius: 4px;
	display: flex;
	column-gap: 36px;
	padding: 12px;
} 
#benefit01 .benefit-coupon-header {
	color: #FFFFFF;
	flex-grow: 1;
	text-align: center;
	padding-top: 4px;
} 
#benefit01 .benefit-coupon-title {
	font-weight: bold;
	letter-spacing: .056em;
	line-height: 1.15;
	margin-bottom: 8px;
} 
#benefit01 .benefit-coupon-title-s {
	font-size: 32px;
} 
#benefit01 .benefit-coupon-title-m {
	font-size: 36px;
} 
#benefit01 .benefit-coupon-title-l {
	font-size: 48px;
} 
#benefit01 .benefit-coupon-label {
	background-color: #BE8A3B;
	border-radius: 100px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: .08em;
	text-align: center;
	padding: 4px;
} 
#benefit01 .benefit-coupon-code {
	background-color: #FFFFFF;
	border-radius: 4px;
	cursor: pointer;
	text-align: center;
	padding-block: 17px;
	width: 300px;
} 
#benefit01 .benefit-coupon-code-title {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 12px;
} 
#benefit01 .benefit-coupon-code-txt {
	font-size: 56px;
	font-weight: bold;
	letter-spacing: .032em;
	line-height: 1;
} 
#benefit01 .benefit-coupon-note {
	font-size: 12px;
	font-weight: bold;
	letter-spacing: .056em;
	line-height: 1.667;
	padding-left: 1em;
}
#benefit01 .notice--button{text-align: center;font-size: 18px;text-decoration: underline;margin: 30px auto 0;}

#benefit01 .design-more-button{
    margin: 10px auto 60px;
}
html[data-browse-mode="S"] #benefit01 .design-more-button {
    margin: 10px auto 60px;
    width: 90%;
}
html[data-browse-mode="S"] #benefit01 .design-more-button a{height: 60px;}
html[data-browse-mode="S"] .sec-benefit-lead {
	line-height: 1.2;
	margin-bottom: 18px;
	font-size: 19px;
}
html[data-browse-mode="S"] .sec-benefit-lead-block {
	padding-inline: calc(20 / 375 * 100vw);
}
html[data-browse-mode="S"] #benefit01 .benefit-coupon-layout {
	row-gap: 9px;
	width: 100%;
}
html[data-browse-mode="S"] #benefit01 .benefit-coupon {
	flex-direction: column;
	row-gap: 15px;
	padding: 12px 12px 15px;
}
html[data-browse-mode="S"] #benefit01 .benefit-coupon-title {
	margin-bottom: 10px;
}
html[data-browse-mode="S"] #benefit01 .benefit-coupon-title-s {
	font-size: 32px;
}
html[data-browse-mode="S"] #benefit01 .benefit-coupon-title-m {
	font-size: 34px;
}
html[data-browse-mode="S"] #benefit01 .benefit-coupon-title-l {
	font-size: 40px;
}
html[data-browse-mode="S"] #benefit01 .benefit-coupon-code {
	padding-block: 13px 23px;
	width: 100%;
}
html[data-browse-mode="S"] #benefit01 .benefit-coupon-code-title {
	font-size: 16px;
}
html[data-browse-mode="S"] #benefit01 .benefit-coupon-code-txt {
	font-size: 48px;
}
/* クーポンエリア  */


/*クーポン詳細*/
html[data-browse-mode="P"] .coupon-detail{
	max-width: 920px;
    margin: 0 auto;
}
html[data-browse-mode="P"] .luckyday-acc h3.luckyday-acc-btn {
    font-weight: bold;
    text-align: center;
    cursor: pointer;
	position:relative;
}
html[data-browse-mode="P"] .luckyday-acc h3.luckyday-acc-btn::after {
    content: '';
    width: 50px;
    border-top: var(--color-main) 5px solid;
    display: block;
    position: absolute;
    bottom: 13px;
    left: 50%;
    translate: -50%;
}
html[data-browse-mode="P"] .luckyday-acc {
	margin-top: 56px;
	background: #fff;
	padding: 0 50px 20px;
	border-radius: 30px;
}
html[data-browse-mode="P"] .luckyday-acc .coupon-detail-inner {
	padding: 0 0 32px;
	border-width: 2px;
}
html[data-browse-mode="P"] .luckyday-acc h3 {
	padding: 24px 0;
	border-width: 2px;
}
html[data-browse-mode="P"] .luckyday-acc h3 span {
	font-size: 20px;
	line-height: 1.4;
	display: inline-block;
	padding: 0 80px;
}
html[data-browse-mode="P"] .luckyday-acc h4 {
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: 0.024em;
	padding: 0 0 0 12px;
	margin: 24px 0 8px;
	position: relative;
	font-weight: 500;
}
html[data-browse-mode="P"] .luckyday-acc h4::before {
	width: 4px;
	height: 24px;
	top: 2px;
}
.luckyday-acc h4::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    background-color: #976F14;
}
html[data-browse-mode="P"] .luckyday-acc p,
html[data-browse-mode="P"] .luckyday-acc ul.luckyday-note li {
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.056em;
	padding-left: 10px;
	text-indent: -10px;
}
html[data-browse-mode="P"] .luckyday-acc p a{
	color: #EB0E0E;
    text-decoration: underline;
    transition: all 0.3s;
    cursor: pointer;
    font-weight: bold;
}
html[data-browse-mode="P"] .luckyday-acc p + p {
	margin-top: 4px;
}
html[data-browse-mode="P"] .luckyday-acc .coupon-howto-title {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.75;
	letter-spacing: 0.056em;
	padding: 0 0 12px;
	margin: 24px 0;
}
.luckyday-acc .coupon-howto-img {
	text-align: center;
}
html[data-browse-mode="P"] .luckyday-acc .coupon-howto-img {
	margin: 24px 0 40px;
}
html[data-browse-mode="S"] .luckyday-acc {
	margin: 32px 20px;
	background: #fff;
	border-radius: 20px;
	padding: 15px;
}
html[data-browse-mode="S"] .luckyday-acc .coupon-detail-inner {
	padding: 0 0 32px;
}
html[data-browse-mode="S"] .luckyday-acc h3 {
	font-size: 20px;
	line-height: 1.4;
	padding: 24px 0;
	text-align: center;
	position:relative;
}
html[data-browse-mode="S"] .luckyday-acc h3.luckyday-acc-btn::after {
    content: '';
    width: 50px;
    border-top: var(--color-main) 5px solid;
    display: block;
    position: absolute;
    bottom: 13px;
    left: 50%;
    translate: -50%;
}
html[data-browse-mode="S"] .luckyday-acc h3 span {
	font-size: 20px;
	line-height: 1.4;
	display: block;
}
html[data-browse-mode="S"] .luckyday-acc h4 {
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: 0.024em;
	padding: 0 0 0 8px;
	margin: 24px 0 8px;
	position: relative;
}
html[data-browse-mode="S"] .luckyday-acc h4::before {
	width: 4px;
	height: 15px;
	top: 2px;
}
html[data-browse-mode="S"] .luckyday-acc p,
html[data-browse-mode="S"] .luckyday-acc ul.luckyday-note li {
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.044em;
		padding-left: 10px;
	text-indent: -10px;
}
html[data-browse-mode="S"] .luckyday-acc p a{
	color: #EB0E0E;
    text-decoration: underline;
    transition: all 0.3s;
    cursor: pointer;
    font-weight: bold;
}
html[data-browse-mode="S"] .luckyday-acc p + p {
	margin-top: 4px;
}
html[data-browse-mode="S"] .luckyday-acc .coupon-howto-title {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.75;
	letter-spacing: 0.056em;
	padding: 0 0 12px;
	margin: 24px 0;
}
html[data-browse-mode="S"] .luckyday-acc .coupon-howto-img {
	margin: 8px 0 24px;
}
/*クーポン詳細*/

/* 追従ナビ
---------------------------------- */
#sec_fixed_navi { display: none;}
#sec_fixed_navi .navi {
  width: 270px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  position: fixed;
  right: 0;
  bottom: 140px;
  z-index: 9999;
}
#sec_fixed_navi .navi li { width: 270px; height: 45px;}
#sec_fixed_navi .navi li a {
	width: 100%;
	height: 100%;
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	line-height: 1.4;
	color: #FFF;
	display: flex;
	align-items: center;
	background: var(--color-main);
	transition: 0.3s;
	padding: 0 18px;
}
#sec_fixed_navi .navi li a:hover { opacity: 0.7;}

@media (max-width: 1000px) {
	#sec_fixed_navi .navi { width: 100%; flex-direction: row; justify-content: space-between; gap: 0; left: 0; right: 0; bottom: 0;}
	#sec_fixed_navi .navi li {width: calc((100% - (2px * 2)) * 2);height: 60px;}
	#sec_fixed_navi .navi li:not(:last-child) { border-right: 1px solid #FFF;}
	#sec_fixed_navi .navi li a { justify-content: center; border-radius: 0; font-size: 16px; box-shadow: none; text-align: center; padding: 0 5px;}
}
