@charset "UTF-8";

/* *****************************************************************

	バレンタインデー2025 用CSS
	/shop/e/evd/

	01.初期化
	02.汎用クラス
	03.ページ内リンク
	04.カテゴリ
	05.予算別で探す
	06.紐づけタイトル
	07.注目ショップ
	08.ランキング
	09.注意事項

	PC基本font-size16px
	SP基本font-size14px

***************************************************************** */
.cf:before,
.cf:after {
	content: "";
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	zoom: 1;
}

/* *****************************************************************

	01.初期化

***************************************************************** */
#cmn_header {
	margin-bottom: 0 !important;
}

#footer {
	margin-top: 0 !important;
}

.wrapper_ {
	background: #fdf7f5;
	padding-top: 30px;
	padding-bottom: 100px;
}

/* ----------for SP ---------- */
@media screen and (max-width:640px) {
	.wrapper_ {
		padding:5px 0 0;
	}
}

.fontFamilyMin {
	font-family: 'MyYuMinchoC', "Yu Mincho", "YuMincho", "游明朝体", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.vd2025-cont *,
*:before,
*:after {
	box-sizing: border-box;
	-webkit-box-sizing: inherit;
}

/* メインビジュアル */
.evd2023-cont>img {
	width: 100%;
	max-width: 100%;
}

.vd2025-cont h2 {
	text-align: center;
	margin-bottom: 30px;
}

.vd2025-cont .bg_pink h2 {
	margin-top: -65px;
}

.vd2025-cont img {
	max-width: 100%;
}

.event_name_header_ {
	display: none !important;
}

/* ----------for SP ---------- */
@media screen and (max-width:640px) {
	.vd2025-cont h2 {
		margin-bottom: 20px;
	}
}

/* ---------- ページタイトル削除 ---------- */
.ec-featureRole .ec-featureRole__head {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.ec-layoutRole {
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .ec-featureRole {
    padding-left: 18px;
    padding-right: 18px;
    overflow: hidden;
  }
  .ec-featureRole .ec-featureRole__headdescription {
    margin-left: -18px;
    margin-right: -18px;
    width: 100vw;
  }
  .ec-featureRole__headdescription .event_name_img_ img {
    width: 100% !important;
  }
}

/* ---------- タイトル色変更 ---------- */
.ec-featureRole__content .giftItemsHeadImg h3{
    display: none;
    /*color: #E16A66 !important;
    border-bottom: 2px solid #E16A66 !important;*/
}

/* *****************************************************************

	02.汎用クラス

***************************************************************** */
/* PC・SP画像切替 */
.sp_on {
	display: none;
}

/* ----------for SP ---------- */
@media screen and (max-width:640px) {
	.pc_on {
		display: none;
	}

	.sp_on {
		display: block;
	}
}

/* 横幅 */
.wid100 {
	width: 100%;
}

/* フォント */
.bold {
	font-weight: bold !important;
}

/* マーカー */
.marker {
	background: linear-gradient(transparent 60%, #fff584 60%);
}

/* 余白 */
.mt10 {
	margin-top: 10px;
}

.mt15 {
	margin-top: 15px;
}

.mt20 {
	margin-top: 20px;
}

.mt25 {
	margin-top: 25px;
}

.mt30 {
	margin-top: 30px;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb20 {
	margin-bottom: 20px;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

@media screen and (max-width:640px) {
	.sp_mt20 {
		margin-top: 20px;
	}
    .sp_prl {
        padding: 0 20px;
    }
}

.inb {
	display: inline-block !important;
}

.event_name_img_ {
	margin-bottom: 30px;
}

@media screen and (max-width:640px) {
	h1.event_name_img_ {
		margin-bottom: 20px;
	}

	.mb50 {
		margin-bottom: 0 !important;
	}
}



/* コンテンツの背景ありver. */
.bg_pink {
	background: #fbe8e4;
	/*position: relative;*/
	padding: 40px 20px 30px;
}

.bg_heartTopLeft,
.bg_heartTopRight,
.bg_heartBottomLeft,
.bg_heartBottomRight {
	position: relative;
	padding: 40px 20px 30px;
}

.bg_heartTopLeft::before {
	position: absolute;
	content: "";
	display: block;
	background: url(/html/upload/user_data/feature/valentinesday/img/2025/img_heart_top.png) no-repeat;
	background-repeat: no-repeat;
	background-size: contain;
	width: 227px;
	height: 100px;
	left: 10px;
	top: -45px;
}

.bg_heartTopRight::before {
	position: absolute;
	content: "";
	display: block;
	background: url(/html/upload/user_data/feature/valentinesday/img/2025/img_heart_top.png) no-repeat;
	background-repeat: no-repeat;
	background-size: contain;
	width: 227px;
	height: 100px;
	right: 10px;
	top: -45px;
	transform: scale(-1, 1);
}

.bg_heartBottomLeft::after {
	position: absolute;
	content: "";
	display: block;
	background: url(/html/upload/user_data/feature/valentinesday/img/2025/img_heart_bottom.png) no-repeat;
	background-repeat: no-repeat;
	background-size: contain;
	width: 227px;
	height: 82px;
	left: 0;
	bottom: -60px;
}

.bg_heartBottomRight::after {
	position: absolute;
	content: "";
	display: block;
	background: url(/html/upload/user_data/feature/valentinesday/img/2025/img_heart_bottom.png) no-repeat;
	background-repeat: no-repeat;

	background-size: contain;
	width: 227px;
	height: 82px;
	right: 0;
	bottom: -60px;
	transform: scale(-1, 1);
}

.col3 {
	flex-wrap: wrap;
	display: flex;
	justify-content: space-between;
	align-items: top;
}

.col3 li {
	width: 32%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

.col3 li::after {
	content: "";
	display: block;
	width: 32%;
	height: 0;
}

.col3 li a {
	display: block;
	font-size: 1rem;
	font-weight: bold;
	color: #512d1f;
	letter-spacing: 0.05em;
	text-decoration: none;
}

.col3 li a:hover {
	text-decoration: none;
	opacity: 0.8;
}

/* ----------for SP ---------- */
@media screen and (max-width:640px) {

	.col3 li,
	.col4 li {
		width: 48%;
		margin-bottom: 5%;
	}

	.bg_pink:before {
		left: 10px;
		top: -113px;
		background: url(/html/upload/user_data/feature/valentinesday/img/2025/img_heart_top_sp.png) no-repeat;
	}

	.bg_pink:after {
		background: url(/html/upload/user_data/feature/valentinesday/img/2025/img_heart_bottom_sp.png) no-repeat;
	}
}

/* *****************************************************************

	03.ページ内リンク

***************************************************************** */
.linkBtn {
	margin-bottom: 50px;
}

.linkBtn ul {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: space-between;
}

.linkBtn li {
	width: calc((100% - 4px) / 4);
	text-align: center;
}

.linkBtn li a {
	display: block;
	border-right: #512d1f 1px solid;
	padding: 15px 0 25px;
	position: relative;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-decoration: none;
	font-size: 110%;
	color: #512d1f;
}

.linkBtn li:last-child a {
	border-right: none;
}

.linkBtn li.arrow a:after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: solid 2px #bb423e;
	border-right: solid 2px #bb423e;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(135deg);
	position: absolute;
	bottom: .6em;
	left: 45%;
	margin-top: -4px;
}

@media screen and (max-width:640px) {
	.linkBtn {
		margin-bottom: 10px;
	}
	.linkBtn li a {
		font-size: 100%;
		line-height: 1.4;
	}
}


/* *****************************************************************

	04.カテゴリ

***************************************************************** */
#category_box {
	padding-top: 50px;
}

#category_box .col3 ul {
	justify-content: flex-start;
}

#category_box .col3 li {
	margin-bottom: 20px;
}

#category_box li a:hover {
	text-decoration: none;
	opacity: 0.8;
}

#category_box li:nth-child(odd) span {
	background: linear-gradient(-45deg, #be9b86 0%, #be9b86 13%, #d0b3a2 13%, #d0b3a2 87%, #d0b3a2 0%, #d0b3a2 13%);
}

#category_box li:nth-child(even) span {
	background: linear-gradient(-45deg, #e09b83 0%, #e09b83 13%, #e6b19e 13%, #e6b19e 87%, #e6b19e 0%, #e6b19e 13%);
}

.mainBtn_list_title {
	display: block;
	font-weight: bold;
	color: #512d1f;
	padding: 15px 5px;
	text-align: center;
}

/* ----------for SP ---------- */
@media screen and (max-width:640px) {
	#category_box {
		padding-top: 120px;
	}
}




/* *****************************************************************

	partner_box

***************************************************************** */
#partner_box {
	padding-top: 60px;
	padding-bottom: 80px;
}

#partner_box li {
	text-align: center;
	width: 24%;
	display: block;
	float: left;
	margin-right: 1.3%;
}

#partner_box li:nth-child(4) {
	margin-right: 0;
}

#partner_box li a {
	display: block;
	padding: 32px 0 29px;
	text-align: center;
	font-weight: bold;
	font-size: 105%;
	text-decoration: none;
}

@media screen and (max-width:640px) {
	#partner_box {
		padding: 30px 4% 0px;
	}

	#partner_box li {
		width: 48.5%;
		margin: 0 3% 3% 0;
	}
	#partner_box li:nth-child(2),
	#partner_box li:nth-child(4) {
		margin-right: 0;
	}
	
	#partner_box li a {
		padding: 26px 0 23px;
		font-size: 100%;
	}
}

/* *****************************************************************

	05.予算から探す

***************************************************************** */
#price_box {
	padding-top: 60px;
	padding-bottom: 80px;
}

#price_box ul {
    margin-bottom: 150px !important;
}

#price_box li {
	text-align: center;
	width: 24%;
	display: block;
	float: left;
	margin-right: 1.3%;
}

#price_box li:nth-child(4) {
	margin-right: 0;
}

#price_box li p {
	margin-bottom: 5px;
	min-height: 2.6rem;
	font-weight: bold;

	display: flex;
	align-items: flex-end;
	justify-content: center;
}

#price_box li a {
	display: block;
	padding: 32px 0 29px;
	text-align: center;
	font-weight: bold;
	font-size: 105%;
	text-decoration: none;
    color: #512d1f;
}

#price_box li a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.deg_pink {
	background: linear-gradient(-45deg, #e6b19e 0%, #e6b19e 13%, #eecabc 13%, #eecabc 87%, #e6b19e 0%, #e6b19e 13%);
}

.deg_brown {
	background: linear-gradient(-45deg, #d0b3a2 0%, #d0b3a2 13%, #ddc8bb 13%, #ddc8bb 87%, #d0b3a2 0%, #d0b3a2 13%);
}

.deg_yellow {
	background: linear-gradient(-45deg, #f3dfab 0%, #f3dfab 13%, #f7e8c2 13%, #f7e8c2 87%, #f3dfab 0%, #f3dfab 13%);
}

/* ----------for SP ---------- */
@media screen and (max-width:640px) {
	#price_box {
		padding: 30px 4% 0px;
	}
    
    #price_box ul {
        margin-bottom: 300px !important;
    }
	#price_box li {
		width: 48.5%;
		margin: 0 3% 3% 0;
	}
	#price_box li:nth-child(2),
	#price_box li:nth-child(4) {
		margin-right: 0;
	}
	
	#price_box li a {
		padding: 26px 0 23px;
		font-size: 100%;
	}
}

/* ----------for SP/tab ---------- */
@media screen and (max-width:1050px) {
	#price_box .col3 {
		padding: 0 20px;
	}
}



/* *****************************************************************

	06.紐づけタイトル

***************************************************************** */
.shoppage_wrap_ .event_title_ {
	padding: 18px 0 15px 0;
	border-top: solid 3px #c2403a;
	border-bottom: solid 3px #c2403a;
	text-align: center;
	color: #b03c3b;
	font-size: 1.3rem;
	background: #fbe8e4;
}

.shoppage_wrap_ .event_title_:after,
.shoppage_wrap_ span.title_desing_line_ {
	background: none;
}

/* ----------for SP ---------- */
/*@media screen and (max-width:640px) {*/
div.event_ h2.event_title_ {
	color: #b03c3b;
}

div.event_ h2.event_title_ {
	border-bottom: solid 3px #c2403a;
}

.shoppage_wrap_ div.event_ h2.event_title_::after {
	background: none !important;
}

/*}*/



/* *****************************************************************

	08.注意事項

***************************************************************** */
.notes_box {
	margin-bottom: 50px;
	padding: 40px;
	background: #fff;
}

.notes_box .notes_h {
	margin-bottom: 30px;
	text-align: center;
	font-size: 1.38rem;
	/* 22px */
}

.notes_box .notes_ttl {
	margin-bottom: 0.8em;
	font-size: 1rem;
	/* 16px */
}

.notes_box .notes_ttl::before {
	content: "●";
	display: inline-block;
	color: #999;
}

.notes_box .notes_list li {
	margin-bottom: 0.6em;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 0.82rem;
	/* 13px */
}

.notes_box .notes_list li a {
	text-decoration: underline;
}

/* ----------for SP ---------- */
@media screen and (max-width:640px) {
	.notes_box {
		padding: 5%;
	}

	.notes_h {
		margin-bottom: 5% !important;
	}

	.notes_list li {
		font-size: 0.93rem !important;
		/* 13px */
	}
}




.deg_single_pink {
	background: linear-gradient(45deg, #e6b19e 0%, #e6b19e 13%, #eecabc 13%, #eecabc 87%, #e6b19e 0%, #e6b19e 13%);
}

.deg_single_brown {
	background: linear-gradient(45deg, #d0b3a2 0%, #d0b3a2 13%, #ddc8bb 13%, #ddc8bb 87%, #d0b3a2 0%, #d0b3a2 13%);
}

.deg_single_yellow {
	background: linear-gradient(45deg, #f3dfab 0%, #f3dfab 13%, #f7e8c2 13%, #f7e8c2 87%, #f3dfab 0%, #f3dfab 13%);
}


/* *****************************************************************

	09.ピックアップ商品

***************************************************************** */
.vd2025-cont h2#pickup_box {
    padding: 0;
    margin-bottom: -60px;
}
@media only screen and (max-width: 640px) {
	.vd2025-cont h2#pickup_box {
		padding: 0;
        margin-bottom: 0;
	}
}


/* *****************************************************************

	特典のあるショップ

***************************************************************** */
#bl_shop {
	margin-bottom: 60px;
}

#bl_shop.bg_heartTopRight::before {
	top: -15px;
}

#bl_shop h2 {
	color: #583122;
	font-weight: bold;
	font-size: 22px;
	line-height: 1;
}

#bl_shop ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: center;
}

#bl_shop ul li {
	width: 49%;
	margin-bottom: 2%;
}

#bl_shop ul img {
	width: 100%;
}

@media only screen and (max-width: 640px) {
	#bl_shop ul {
		margin: 2% 0;
		display: block;
		justify-content: flex-start;
		flex-wrap: nowrap;
	}
	#bl_shop ul li {
		width: auto;
	}
	#bl_shop ul li+li {
		margin-top: 3%;
	}
	#bl_shop.bg_heartTopRight::before,
	#bl_shop.bg_heartBottomLeft::after {
		display: none;
	}
}

/* entry_btn
---------------------------------------------------- */
.entry_btn a {
	display: block;
	color: #fff;
	border-radius: 50px;
	max-width: 450px;
	height: 60px;
	line-height: 62px;
	text-align: center;
	margin: 30px auto 15px;
	font-weight: bold;
	font-size: 20px;
	background-color: #e16a67;
	letter-spacing: 0.75px;
	border-bottom: 6px solid #9f403e;
	position: relative;
	transition: opacity .2s;
	text-decoration: none;
}

.entry_btn a:hover {
	text-decoration: none;
	opacity: 0.6;
	transition: opacity .2s;
}

.entry_btn a:after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translate(0, -50%) rotate(45deg);
}

@media only screen and (max-width: 640px) {
	.entry_btn {
		padding: 0 20px;
	}
	.entry_btn a {
		height: 45px;
		line-height: 47px;
		margin: 20px auto 15px;
		font-size: 16px;
		letter-spacing: 0px;
		border-bottom: 5px solid #9f403e;
		text-decoration: none;
	}
	
	.entry_btn a:after {
		width: 8px;
		height: 8px;
		right: 20px;
	}
}

/* detail_link
---------------------------------------------------- */
.detail_link {
	text-align: center;
	margin: 0 0 25px;
}

.detail_link a {
	display: inline-block;
	text-decoration: underline;
	font-size: 15px;
	line-height: 1.2;
	position: relative;
	transition: opacity .2s;
	padding-right: 15px;
	color: #000;
}

.detail_link a:hover {
	opacity: 0.6;
	transition: opacity .2s;
	color: #000;
}

.detail_link a:after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	position: absolute;
	top: 0px;
	right: 0px;
	transform: rotate(135deg);
}
@media only screen and (max-width: 640px) {
	.detail_link {
		margin: 0 0 15px;
	}
	
	.detail_link a {
		font-size: 13px;
	}
	
	.detail_link a:after {
		width: 6px;
		height: 6px;
		top: 1px;
	}
}

/* about_box
---------------------------------------------------- */
.about_box {
	padding: 25px 30px;
	border-radius: 10px;
	border: 3px solid #e16a67;
	background-color: #fbe8e4;
	position: relative;
	margin-bottom: 30px;
}

.about_box.bg_heartTopLeft::before {
	top: -70px;
}

.about_box p {
	font-size: 17px;
	text-align: center;
	line-height: 1.8;
	margin: 0;
	color: #000;
}

.about_box .txt_red {
	color: #e16a67;
	font-weight: bold;
	font-size: 20px;
}

.about_box .txt_red span {
	font-size: 30px;
	margin: 0 2px;
}

@media only screen and (max-width: 640px) {
	.about_box {
		padding: 15px 20px;
		margin: 0 15px 20px;
	}
	.about_box.bg_heartTopLeft::before {
		display: none;
	}
	
	.about_box p {
		font-size: 14px;
		text-align: left;
	}
	
	.about_box .txt_red {
		font-size: 18px;
		line-height: 1.5;
	}
	
	.about_box .txt_red span {
		font-size: 20px;
	}
}

.sp {
	display: none;
}
@media screen and (max-width: 640px) {
	.sp {
	  display: block;
	}
  
	br.sp {
	  display: inline;
	}
  
	.pc {
	  display: none;
	}
  }



/* おすすめ記事スライド
---------------------------------------------------- */

.article_slide {
    margin-bottom: 40px !important;
   }

     @media only screen and (max-width: 768px) {
  .article_slide {
      padding: 15px 20px;
    margin-bottom: 50px !important;
  }
}

.article_slide ul {
  max-width: 1500px;
  box-sizing: border-box;
  padding: 28px 0 28px 25px;
  display: flex;
  overflow-x: scroll; }

.article_slide ul.gray {
  background-color: #F5F5F5; }

.article_slide ul::-webkit-scrollbar {
  height: 12px; }

.article_slide ul::-webkit-scrollbar-thumb {
  background: #bbb;
  border-radius: 6px; }

.article_slide ul::-webkit-scrollbar-track {
  background: #e7e7e7;
  border-radius: 0px; }

.article_slide li {
  width: 290px;
  height: auto;
  display: block;
  margin: 0;
  box-sizing: border-box;
  text-align: left;
  flex-shrink: 0; }

.article_slide li a {
  display: block;
  padding: 10px;
  transition: opacity .4s;
  color: #000; }

.article_slide li a:hover {
  transition: opacity .4s;
  opacity: 0.6;
  color: #000; }

.article_slide li p {
  font-size: 14px !important;
  line-height: 1.2;
  font-weight: bold;
  margin: 10px 0 0 0; }

.article_slide li p span {
  font-size: 10px;
  font-weight: normal; }

  .article_slide li a img {
    aspect-ratio: 270/270;
    object-fit: cover;
  }

@media screen and (max-width: 640px) {
  .article_slide ul {
    padding: 20px 0 20px 20px; }

  .article_slide ul::-webkit-scrollbar {
    height: 10px; }

  .article_slide li {
    width: 40vw;
        padding: 0px 0 5px 0;
    margin: 0 20px 0 0; }

  .article_slide li a {
    padding: 15px 5px 0;
    box-sizing: border-box;
    min-height: 185px; }

  .article_slide li p {
    font-size: 11px;
    line-height: 1.2;
    margin: 10px 0 0 0; } }
    
    @media only screen and (max-width: 768px) {
    .more-link {
        text-align: center;
        margin-top: 10px;
        display: block;
        margin-bottom: 20px;
        width: 100%;
    }
    #article_box.bg_heartTopRight::before,
	#article_box.bg_heartBottomLeft::after {
		display: none;
	}
}

.cs {
    background: #ffffff;
    padding: 5%;
    margin: 2% 2% 15%;
    text-align: center;
    font-size: 3rem;
    font-weight: bold;
    color: #707070;
}

.more-link a {
    color: #E16A66 ;
    border: solid 1px #E16A66 ;
}

.more-link a:hover {
    color: #fff;
    background-color: #E16A66;
}
