@charset "UTF-8";

/*-----------------------------------
body.ex-salepage
-----------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@600&display=swap');

/*base*/



body.ex-salepage #contents{
	background: #fff;

}

body.ex-salepage.pc #contents .sp_only {
	display: none;
}


body.ex-salepage #contents h2{
	padding: 30px 0 0;
}
body.ex-salepage #contents h2 img{
	width: 960px;
aspect-ratio: 32 / 15;
}
body.ex-salepage.pc #contents-main.all{
	padding:0 0 30px;
}

body.ex-salepage .ttl_header .cp_rule{
	max-width: 960px;
	margin: 6px auto 30px;
	font-size: 12px;
    line-height: 1.5em;
}

body.ex-salepage .ttl_header .cp_rule li{
	display: inline;
	
}

body.ex-salepage .ttl_header .cp_rule li a{
	text-decoration: underline;
}

body.ex-salepage .ttl_header .cp_rule li:before{
    content: "";
    width: 3px;
    height: 3px;
    background: #333;
    border-radius: 100px;
    display: inline-block;
    position: relative;
    top: -0.2em;
    margin-right: 6px;
}

body.ex-salepage .ttl_header p{
	text-align: center;
	font-weight: bold;
	font-size: 24px;
    line-height: 1.4em;
	color: #00535d;
}



body.ex-salepage .header_inner{
	padding: 60px 0 30px;
}
body.ex-salepage #contents h3{
	text-align: center;
	position: relative;
	width: 92%;
	margin: 0 auto;
padding: 0;
	color: #e60012;
	background: none;

}
body.ex-salepage #contents h3:before{
	content: "";
	width: 100%;
	height: 2px;
	background: #e60012;
	display: block;
	position: absolute;
	left: 0;
	top: 0.8em;
}




body.ex-salepage #contents h3.recommended{
	color: #00a0e9;
}
body.ex-salepage #contents h3.recommended:before{
	background: #00a0e9;
}

body.ex-salepage #contents h3.event{
	color: #f39800;
}
body.ex-salepage #contents h3.event:before{
	background: #f39800;
}



body.ex-salepage #contents h3 span{
		font-weight: 600;
	font-size: 30px;
	letter-spacing: 0.2em;
	padding: 0 20px;
	background: #fff;
	display: inline-block;
	position: relative;
	z-index: 1;
}

body.ex-salepage h3 > img{
	width: 900px;
}
body.ex-salepage h3 .date{
	font-family: 'EB Garamond','Noto Serif JP', serif;
    letter-spacing: 0.3em;
    display: block;
}
body.ex-salepage h3 .year,
body.ex-salepage h3 .youbi{
	font-size: 60%;
	letter-spacing: 0em;
}
body.ex-salepage h3 .mizuhiki{
	position: absolute;
	top: -45px;
    left: calc(50% - 100px);
}

body.ex-salepage .shoplist_cat {
	/* overflow:hidden; */
	margin:20px 0 0;
	padding: 40px 0 0;
	 background: #00535d;
		font-family: 'Noto Serif JP', serif;
}

body.ex-salepage .shoplist_cat .shoplist_box{
	background: #fff;
	margin: 0 auto;
	padding: 0;
}
body.ex-salepage .shoplist_cat .shoplist_box:first-of-type{
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
}
body.ex-salepage .shoplist_cat .shoplist_box:last-of-type{
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	padding-bottom: 40px;
}


body.ex-salepage .shoplist_cat ul{
	/* overflow:hidden; */
	border-top:none;
	/* padding: 16px 0; */
	width: 86%;
	margin: 0 auto;
}
body.ex-salepage.pc .shoplist_cat ul{
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
body.ex-salepage.pc .shoplist_cat ul > .item{
	width: calc(100% / 2);
	padding: 20px 20px 0;
    border-right: 1px solid #c9caca;
    margin: 20px 0;
}
body.ex-salepage.pc .shoplist_cat ul > .item:first-child,
body.ex-salepage.pc .shoplist_cat ul > .item:nth-child(2n+1){
	border-left: 1px solid #c9caca;
}
body.ex-salepage .shoplist_cat ul > .item{
	box-sizing: border-box;
    /* overflow: hidden; */
    position: relative;
	cursor: pointer;
}

body.ex-salepage .shoplist_cat ul > .item:after{
	content: "";
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	    -webkit-transition-duration: .2s;
    transition-duration: .2s;
}
body.ex-salepage .shoplist_cat ul > .item:hover:after{
	opacity: 0.4;
}

body.ex-salepage .shoplist_cat ul > .item .detail{
	overflow:hidden;
	box-sizing: border-box;
}
body.ex-salepage .shoplist_cat ul > .item .shopname h4{
	font-weight:bold;
	font-size: 18px;
	padding: 0 0 0 24px;
	text-decoration: underline;
}
body.ex-salepage .shoplist_cat ul > .item .shopname span{
    font-family: 'EB Garamond', serif;
    font-weight: normal;
    font-size: 22px;
    color: #e60012;
    text-align: center;
    display: inline-block;
    background: #fff;
    border: 1px solid #e60012;
    padding: 13px 10px 0;
    line-height: 1em;
    position: absolute;
    left: -15px;
	top: 10px;
    width: 50px;
    box-sizing: border-box;
    height: 50px;
    border-radius: 50%;
	z-index: 1;
}

body.ex-salepage .shoplist_cat ul.recommended > .item .shopname span{
	color: #00a0e9;
	border-color: #00a0e9;
}
body.ex-salepage .shoplist_cat ul.event > .item .shopname span{
	color: #f39800;
	border-color: #f39800;
}

body.ex-salepage .shoplist_cat ul > .item .service{
	box-sizing: border-box;
}

body.ex-salepage .shoplist_cat ul > .item .service .text{
	font-family: 'Noto Serif JP', serif;
	font-size: 16px;
	color: #000;
	line-height: 1.5em;
	padding-bottom: 20px;
	white-space: pre-wrap;
	width: 90%;
    margin: 20px auto 0;
}
body.ex-salepage .shoplist_cat ul > .item .service .text span{
	color: #e60012;
	font-size: 46px;
	line-height: 40px;
	font-family: 'EB Garamond','Noto Serif JP', serif;
	/*text-align: center;*/
	display: inline-block;
	padding-bottom: 0.1em;
}

body.ex-salepage .shoplist_cat ul > .item .service .text span:not(:first-of-type){
	padding-top: 0.8em;
	
}

body.ex-salepage .shoplist_cat ul > .item .service .text span em{
	font-size: 0.8em;
	font-weight: bold;
}

body.ex-salepage .shoplist_cat ul.sale > .item .service .text span em{
	font-size: 0.5em;
}

body.ex-salepage .shoplist_cat ul.recommended > .item .service .text span,
body.ex-salepage .shoplist_cat ul.event > .item .service .text span{
	 color: #00a0e9;
    font-size: 22px;
    line-height: 1.4em;
	padding-bottom: 0.4em;
    font-weight: bold;
    font-family: 'Noto Serif JP', serif;
}
body.ex-salepage .shoplist_cat ul.event > .item .service .text span{
	 color: #f39800;
}


body.ex-salepage .shoplist_cat ul > .item .logo{
	display: none;
}

body.ex-salepage .shoplist_cat ul > .item .pickup-img{
	width: 100%;
	max-width: 300px;
    margin: auto;
		aspect-ratio: 33 / 23;
}

body.ex-salepage .shoplist_cat ul > .item .pickup-img img.lazy {
	opacity: 0;
	transform: translateY(5px);
	transition:
		opacity .4s ease,
		transform .4s ease;
}

body.ex-salepage .shoplist_cat ul > .item .pickup-img  img.lazy.loaded {
	opacity: 1;
	transform: translateY(0);
}

body.ex-salepage .shoplist_cat ul > .item .pickup-text{
	clear: both;
	line-height: 1.4em;
    padding: 20px 0;
}
body.ex-salepage .shoplist_cat ul > .item .pickup-text p.item{
	font-weight: bold;
    padding-bottom: 1em;
}

body.ex-salepage .shoplist_cat ul .item .shopitem h3 {
	display: none;
}
body.ex-salepage .shoplist_cat ul .item .itemlist .item{
	padding: 10px 0;
	box-sizing: border-box;
	display: flex;
}
body.ex-salepage .shoplist_cat ul .item .itemlist .item .image{
	height: 140px;
	width: 100px;
    margin: 0 20px 0 0;
}
body.ex-salepage .shoplist_cat ul .item .itemlist .item .desc{
	text-align: left;
}
body.ex-salepage .shoplist_cat ul .item .itemlist .item .date{
	font-size: 12px;
	line-height: 1em;
	margin: 4px 0 12px;
    font-family: "Cantarell", sans-serif;
    font-weight: bold;
}
body.ex-salepage .shoplist_cat ul .item .itemlist .item h4{
	font-size: 14px;
	font-weight: bold;
}
body.ex-salepage .shoplist_cat ul .item .itemlist .item .price{
	font-weight: bold;
    font-size: 90%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.ex-salepage .shoplist_cat ul .item .itemlist .item .morelink{
	display: none;
}

body.ex-salepage #contents .salepage_btn .page_btn{
	display: none;
}
body.ex-salepage #contents .salepage_btn .goods_like_btn.mini p{
	background: #fff;
}
body.ex-salepage .attention{
background: #00535d;
	padding: 10px 0 40px;
}
body.ex-salepage .attention p{
	font-size: 12px;
	color: #fff;
	line-height: 1.4em;
	    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
}
body.ex-salepage .attention p a{
	color: #fff;
}

body.ex-salepage .attention p strong{
	font-size:14px;
	display: block;
}
body.ex-salepage .attention p a{
	text-decoration: underline;
}

#contents .NewsItemList .item p.image .no_img_logo{
	background-color: #fff;
}


body.ex-salepage #campaignDetails{
	max-width: 960px;
	margin: 40px auto;
}
body.ex-salepage #campaignDetails h4{
	font-weight: bold;
	text-align: center;
	    font-size: 22px;
}

body.ex-salepage #campaignDetails .campaign-rule{
	margin-top: 30px;
}

body.ex-salepage #campaignDetails .campaign-rule dl{
	    border-top: 1px solid #c9caca;
	padding:24px 20px;
	display: flex;
	font-size: 14px;
	line-height: 1.6em;
}

body.ex-salepage #campaignDetails .campaign-rule dl a{
	text-decoration: underline;
}
body.ex-salepage #campaignDetails .campaign-rule dl a[target="_blank"]::after {
    content: "\f2d2";
    font-family: "font Awesome 5 Free";
    padding: 0 3px;
    font-size: 0.8em;
    display: inline-block;
}

body.ex-salepage #campaignDetails .campaign-rule dt{
	width: 240px;
	font-weight: bold;
}

body.ex-salepage #campaignDetails .campaign-rule dd{

	width: calc(100% - 240px);
}
body.ex-salepage #campaignDetails .campaign-rule dd .list {
	margin-top: 10px;
}

body.ex-salepage #campaignDetails .campaign-rule dd .list li{
	padding-left: 1.4em;
	position: relative;
}

body.ex-salepage #campaignDetails .campaign-rule dd .list li:not(:last-of-type){
	margin-bottom: 4px;
}

body.ex-salepage #campaignDetails .campaign-rule dd .list li:before {
    content: "";
    width: 3px;
    height: 3px;
    background: #333;
    border-radius: 100px;
    display: inline-block;
    position: absolute;
    top: 0.7em;
    left: 0.5em;
    margin-right: 6px;
}


body.ex-salepage #campaignDetails .campaign-rule dd .shop_list{
	margin: 10px 0;
	padding: 14px 20px;
	    background: #e3e8e9;
}

body.ex-salepage #campaignDetails .campaign-rule dd .shop_list p{}

body.ex-salepage #campaignDetails .campaign-rule dd .shop_list p:not(:last-of-type){
	margin-bottom: 10px;
}

body.ex-salepage #campaignDetails .campaign-rule dd .shop_list p strong{

}

body.ex-salepage #campaignDetails .campaign-rule dd .shop_list p strong:after{
content: "";
    width: 0.8em;
    margin: 0 6px;
    height: 1px;
    background: #333;
    display: inline-block;
    position: relative;
    top: -0.3em;
}

/*-----------------------------------
body.ex-salepage.sp
-----------------------------------*/

body.ex-salepage.sp #contents-main.all{
	padding-top: 0;
}

body.ex-salepage.sp #contents .pc_only {
	display: none;
}

body.ex-salepage.sp #contents h2{
	padding: 0;
	    margin: 0 0 10px;
}

body.ex-salepage.sp .ttl_header{
	padding: 0;
}


body.ex-salepage.sp .ttl_header .cp_rule{
	font-size: 11px;
	margin-bottom: 20px;
	padding: 0 20px;
}

body.ex-salepage.sp .ttl_header p{
	        font-size: 4.6vw;
	padding: 0 20px;
}

body.ex-salepage.sp .header_inner {
    padding: 24px 0 10px;
}

body.ex-salepage.sp #contents h3{
	width: 90%;
}
body.ex-salepage.sp #contents h3:before{
	height: 1px;
}

body.ex-salepage.sp #contents h3 span {
	font-size: 4.0625vw;
	line-height: 1.5em;
    padding: 0 12px;}

body.ex-salepage.sp .shoplist_cat{
	margin-top: 10px;
	padding: 20px;
}

body.ex-salepage.sp .shoplist_cat .shoplist_box:first-of-type {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

body.ex-salepage.sp .shoplist_cat .shoplist_box:last-of-type {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
	padding-bottom: 0;
}

body.ex-salepage.sp .shoplist_cat ul{
	padding:10px 30px;
	width: 100%;
	box-sizing: border-box;
}
body.ex-salepage.sp .shoplist_cat ul > .item{
	margin-bottom: 40px;
	padding: 20px 20px 0;
    border-right: 1px solid #c9caca;
    border-left: 1px solid #c9caca;
}
body.ex-salepage.sp .shoplist_cat ul > .item .shopname h4{
	font-size: 4.0625vw;
	padding: 0 0 0 30px;
	text-align: left;
}

/*改行のための見え方調整*/
body.ex-salepage.sp .shoplist_cat ul > .item.shop1044 .detail,
body.ex-salepage.sp .shoplist_cat ul > .item.shop1054 .detail,
body.ex-salepage.sp .shoplist_cat ul > .item.shop1056 .detail,
body.ex-salepage.sp .shoplist_cat ul > .item.shop1065 .detail,
body.ex-salepage.sp .shoplist_cat ul > .item.shop1066 .detail{
	
	margin-top: -0.8em;
}

body.ex-salepage.sp .shoplist_cat ul > .item .shopname span{
	top: 10px;
}
body.ex-salepage.sp .shoplist_cat ul > .item .service .text{
    width: 100%;
    padding-bottom: 10px;
    font-size: 3.75vw;
}
body.ex-salepage.sp .shoplist_cat ul > .item .service .text span{
	font-size: 10vw;
}

body.ex-salepage.sp .shoplist_cat ul.recommended > .item .service .text span,
body.ex-salepage.sp .shoplist_cat ul.event > .item .service .text span{
	font-size: 5.63vw;
}

body.ex-salepage.sp .shoplist_cat ul.key > .item .sale-text{
	padding-top: 0;
}


body.ex-salepage.sp  #campaignDetails{
	width: 100%;
	margin-top: 10px;
	box-sizing: border-box;
}

body.ex-salepage.sp #campaignDetails h4 {
	font-size: 5vw;
}
body.ex-salepage.sp .attention{
	padding-top: 0;
}
body.ex-salepage.sp .attention p{
	font-size: 11px;

}

body.ex-salepage.sp #campaignDetails .campaign-rule{    margin-top: 20px;}

body.ex-salepage.sp #campaignDetails .campaign-rule dl{
    flex-wrap: wrap;
	padding: 14px 0;
}
body.ex-salepage.sp #campaignDetails .campaign-rule dt,
body.ex-salepage.sp #campaignDetails .campaign-rule dd{
	width: 100%;
}

body.ex-salepage.sp #campaignDetails .campaign-rule dt{
	margin-bottom: 2px;
}
