@charset "UTF-8";
/*-----------------------------------
ページ共通
-----------------------------------*/
@import "https://fonts.googleapis.com/css2?family=Jost:wght@700&display=swap";

.l-section__inner{
	margin-inline: 0;
	max-width: 100%;
	width: 100%;
}
#grandopen-cosme {
	line-height: 1.8;
}
#grandopen-cosme img{
	width: 100%;
}
#grandopen-cosme .bg-wrap{
	background: #ffeeee;
}

@media screen and (min-width: 600px){
	.sp-only{
		display: none;
	}
}

@media screen and (max-width: 599px){
	.p-special__contents{
		margin-inline: 0;
	}
	.pc-only{
		display: none;
	}
}

/*-----------------------------------
ヘッダー
-----------------------------------*/
#grandopen-cosme .header{
	margin: 0 auto;
	padding: 0 0 80px;
	text-align: center;
	font-weight: 600;
	max-width: 1240px;
}
#grandopen-cosme h1{
	font-size: 42px;
}
#grandopen-cosme .header .grandopen-period{
	width: 650px;
	margin: 25px auto 0;
	padding-block: 2px;
	font-size: 24px;
	color: #fff;
	background: #202020;
	font-family: Jost, sans-serif;
}

@media screen and (max-width: 599px){
	#grandopen-cosme .header{
		padding: 0 20px 50px;
	}
	#grandopen-cosme h1{
		font-size: 30px;
		line-height: 1.4;
	}
	#grandopen-cosme .header .grandopen-period{
		width: 100%;
    font-size: 20px;
	}
}

/*-----------------------------------
コスメお買い上げプレゼントキャンペーン
-----------------------------------*/
#grandopen-cosme .purchase-content{
	padding: 60px 0 80px;
	max-width: 1240px;
	margin: 0 auto;
}
#grandopen-cosme .purchase-content .purchase-present{
	display: flex;
	gap: 40px;
	align-items: center;
	max-width: 1000px;
	margin: 45px auto 0;
}
#grandopen-cosme .purchase-content .purchase-title{
	position: relative;
	margin-bottom: 17px;
	text-align: center;
	font-size: 36px;
	font-weight: 600;
	color: #850000;
}
#grandopen-cosme .purchase-content .purchase-period{
	text-align: center;
	font-size: 22px;
	font-family: Jost, sans-serif;
	font-weight: 600;
	width: 420px;
	margin: 0 auto;
	background: #fff;
	border: 2px solid #850000;
	padding-block: 2px;
	border-radius: 6px;
	color: #850000;
}
#grandopen-cosme .purchase-content .purchase-present .purchase-present-img{
	width: 30%;
}
#grandopen-cosme .purchase-content .purchase-present .purchase-present-tx{
	width: calc((100% - 40px) - 30%);
	font-size: 19px;
}
#grandopen-cosme .purchase-content .purchase-present .purchase-present-tx span{
	background: linear-gradient(transparent 70%, #fff35f 70%);
	font-weight: 600;
	font-size: 20px
}
#grandopen-cosme .purchase-content .purchase-present .purchase-present-tx .attention{
	font-size: 16px;
}

@media screen and (min-width: 600px){
	#grandopen-cosme .purchase-content .purchase-title::before{
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		width: 100%;
		height: 2px;
		background: #850000;
	}
	#grandopen-cosme .purchase-content .purchase-title span{
		position: relative;
		z-index: 10;
		padding: 0 25px;
		background: #ffeeee;
	}
}

@media screen and (max-width: 599px){
	#grandopen-cosme .purchase-content{
		padding: 40px 20px;
	}
	#grandopen-cosme .purchase-content .purchase-title{
		font-size: 24px;
		line-height: 1.4;
	}
	#grandopen-cosme .purchase-content .purchase-period{
		width: 80%;
		font-size: 18px;
	}
	#grandopen-cosme .purchase-content .purchase-present{
		flex-direction: column;
    gap: 15px;
		margin: 30px auto 0;
	}
	#grandopen-cosme .purchase-content .purchase-present .purchase-present-img{
		width: 100%;
	}
	#grandopen-cosme .purchase-content .purchase-present .purchase-present-tx{
		width: 100%;
    font-size: 16px;
	}
	#grandopen-cosme .purchase-content .purchase-present .purchase-present-tx span{
		font-size: 17px;
	}
	#grandopen-cosme .purchase-content .purchase-present .purchase-present-tx .attention{
		font-size: 14px;
	}
}


/*-----------------------------------
詳細
-----------------------------------*/
#grandopen-cosme .present-content{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	max-width: 1240px;
	margin: 0 auto;
	padding-top: 80px;
}
#grandopen-cosme .present-content .brand-box{
	padding: 10px 30px 30px;
	border: 1px solid #202020;
	border-radius: 5px;
}
#grandopen-cosme .present-content .brand-box .brand-logo{
	padding-bottom: 5px;
	text-align: center;
	border-bottom: 1px solid #202020;
}
#grandopen-cosme .present-content .brand-box .brand-logo img{
	max-width: 230px;
}
#grandopen-cosme .present-content .brand-box.full .brand-inner{
	display: flex;
	gap: 40px;
}
#grandopen-cosme .present-content .brand-box.full .brand-inner .brand-item{
	width: calc((100% - 40px) / 2);
}
#grandopen-cosme .present-content .brand-box .present-wrap{
	display: flex;
	gap: 20px;
	align-items: center;
	margin-top: 20px;
}
#grandopen-cosme .present-content .brand-box .present-wrap .present-img{
	width: 40%;
}
#grandopen-cosme .present-content .brand-box .present-wrap .present-tx{
	width: calc((100% - 20px) - 40%);
}
#grandopen-cosme .present-content .brand-box .present-wrap .present-tx .item-name{
	font-weight: 600;
	font-size: 17px;
	line-height: 1.5;
}
#grandopen-cosme .present-content .brand-box .present-wrap .present-tx .detail-list{
	margin: 8px 0;
}
#grandopen-cosme .present-content .brand-box .present-wrap .present-tx .detail-list .detail-item{
	text-indent: -1em;
	padding-left: 1em;
	font-size: 14px;
	line-height: 1.5;
}
#grandopen-cosme .present-content .brand-box .present-wrap .present-tx .item-price{
	text-align: right;
	font-size: 14px;
	font-weight: 600;
}
#grandopen-cosme .present-content .brand-box .present-wrap .present-tx .item-price .number{
	padding: 0 2px;
	font-size: 18px;
}
#grandopen-cosme .present-content .brand-box .more-bt{
	width: 270px;
	margin: 15px auto 0;
}
#grandopen-cosme .present-content .brand-box.full .more-bt{
	margin: 25px auto 0;
}
#grandopen-cosme .present-content .brand-box .more-bt a{
	background: #202020;
	border-radius: 100vh;
	border: 2px solid #202020;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px 30px;
	color: #fff;
	font-weight: 500;
	font-size: 17px;
	transition: 0.3s all;
}
#grandopen-cosme .present-content .brand-box .more-bt a::after{
	position: absolute;
	content: "";
	top: 50%;
	right: 23px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg) translateY(-50%);
	transition: 0.3s all;
}

@media screen and (min-width: 600px){
	#grandopen-cosme .present-content .brand-box.full{
		grid-column: 1 / 3;
	}
	#grandopen-cosme .present-content .brand-box .more-bt a:hover{
		background: #fff;
		color: #202020;
		text-decoration: none;
	}
	#grandopen-cosme .present-content .brand-box .more-bt a:hover::after{
		border-top: solid 2px #202020;
		border-right: solid 2px #202020;
	}
}

@media screen and (max-width: 599px){
	#grandopen-cosme .present-content{
		grid-template-columns: 1fr;
		width: 100%;
		gap: 20px;
		padding: 50px 20px 0;
	}
	#grandopen-cosme .present-content .brand-box{
		padding: 10px 15px 25px;
	}
	#grandopen-cosme .present-content .brand-box .brand-logo img{
		width: 45%;
	}
	#grandopen-cosme .present-content .brand-box.full .brand-inner{
		flex-direction: column;
		gap: 30px;
	}
	#grandopen-cosme .present-content .brand-box.full .brand-inner .brand-item{
		width: 100%;
	}
	#grandopen-cosme .present-content .brand-box.full .present-wrap.item-info{
		margin-top: 0;
	}
	#grandopen-cosme .present-content .brand-box .present-wrap .present-tx{
		line-height: 1.6;
		font-size: 15px;
	}
	#grandopen-cosme .present-content .brand-box .present-wrap .present-tx .item-name{
		font-size: 16px;
	}
	#grandopen-cosme .present-content .brand-box .present-wrap .present-tx .detail-list{
		margin: 4px 0;
	}
	#grandopen-cosme .present-content .brand-box .more-bt{
		margin: 20px auto 0;
		width: 85%;
	}
	#grandopen-cosme .present-content .brand-box .more-bt a{
		padding: 7px 30px;
		font-size: 16px;
	}
}


