@charset "utf-8";
/* CSS Document */

/* =======================================

	サイド部分
	
========================================== */

/* サイド 表示・非表示
------------------------------------------ */
@media screen and (max-width: 1024px) {
#sideArea{
	display: none;
}
}

/* 全体
------------------------------------------ */
#sideArea{
	font-size: clamp(1.1rem, 0.4 * (100vw - 102.4rem) / 89.6 + 1.1rem, 1.5rem);
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1;
	letter-spacing: 0.08em;
	color: rgba(0,0,0,1.00);
	background: #eee;
}
#sideArea h3,#sideArea li,#sideArea span,#sideArea dt,#sideArea dd{
	font-weight: 300;
}
#sideArea a{
	text-decoration: none;
	color: rgba(0,0,0,1.00);
}
#sideArea h3{
	font-size: clamp(1.3rem, 0.3 * (100vw - 102.4rem) / 89.6 + 1.3rem, 1.6rem);
	display: flex;
	align-items: center;
}
#sideArea h3::after{
	content: "";
	flex-grow: 1;
	height: 1px;
	background: rgba(0,0,0,0.15);
	margin-left: 10px;
}
#sideArea .sideInner{
	padding-top: clamp(40px, 20 * (100vw - 1024px) / 896 + 40px, 60px);
	padding-bottom: clamp(40px, 20 * (100vw - 1024px) / 896 + 40px, 60px);
	padding-left: clamp(20px, 40 * (100vw - 1024px) / 896 + 20px, 60px);
    padding-right: clamp(20px, 40 * (100vw - 1024px) / 896 + 20px, 60px);
	background: #eee;
}
#sideArea nav.sideContent>ul>li{
	margin-bottom: clamp(40px, 10 * (100vw - 1024px) / 896 + 40px, 50px);
}
#sideArea nav.sideContent>ul>li:last-child{
	margin-bottom: 0;
}
#sideArea nav.sideContent>ul>li>*:not(h3){
	width: clamp(100% - 15px * 2, 100% - (10 * (100vw - 1024px) / 896 + 5px) * 2, 100% - 5px * 2);
	margin: 0 auto;
}

/* 探す
------------------------------------------ */
#sideArea li.search h3::before{
	content: '';/*何も入れない*/
	display: inline-block;
	width: clamp(13px, 2 * (100vw - 1024px) / 896 + 13px, 15px);/*画像の幅*/
	height: clamp(13px, 2 * (100vw - 1024px) / 896 + 13px, 15px);/*画像の高さ*/
	background-image: url(https://madrigal.itembox.design/item/img_2024/common/search_bk.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 5px;
	opacity: 0.3;
}
#sideArea li.search>ul{
	border-bottom: 1px dashed rgba(0,0,0,0.15);	
	padding-top: clamp(10px, 10 * (100vw - 1024px) / 896 + 10px, 20px);
	padding-bottom: clamp(10px, 10 * (100vw - 1024px) / 896 + 10px, 20px);
}
#sideArea li.search>ul>li>a{
	display: block;
	padding-top: clamp(8px, 2 * (100vw - 1024px) / 896 + 8px, 10px);
	padding-bottom: clamp(8px, 2 * (100vw - 1024px) / 896 + 8px, 10px);
	padding-left: clamp(11px, 4 * (100vw - 1024px) / 896 + 11px, 15px);
	padding-right: 0;
	position: relative;
}
#sideArea li.search>ul>li>a:hover{
	color: rgba(0,0,0,0.4);
	transition: 0.3s;
}
#sideArea li.search>ul>li>a::before{
	content: "";
	width: 0;
	height: 0;
	border-left: clamp(4px, 2 * (100vw - 1024px) / 896 + 4px, 6px) solid rgba(0,0,0,0.15);
	border-top: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	border-bottom: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	position: absolute;
	top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	left: 0;
}
#sideArea li.search>ul>li>a:hover::before{
	border-left: 6px solid rgba(0,0,0,0.08);
	transition: 0.3s;
}

/* メンバーシップ
------------------------------------------ */
#sideArea li.membership{
	font-size: clamp(1rem, 0.2 * (100vw - 102.4rem) / 89.6 + 1rem, 1.2rem);
}
#sideArea li.membership h3{
	margin-bottom: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
}
#sideArea li.membership ul.registration{
	margin-top: clamp(18px, 17 * (100vw - 1024px) / 896 + 18px, 35px);
	margin-bottom: clamp(18px, 17 * (100vw - 1024px) / 896 + 18px, 35px);
}
#sideArea li.membership ul.registration li{	
	margin-top: clamp(12px, 3 * (100vw - 1024px) / 896 + 12px, 15px);
	margin-bottom: clamp(12px, 3 * (100vw - 1024px) / 896 + 12px, 15px);
}
#sideArea li.membership ul.registration li:last-child{
	margin-bottom: 0;
}
#sideArea li.membership li.mailmaga dt,li.membership ul.registration li.newmember dt{
	margin-bottom: clamp(7px, 3 * (100vw - 1024px) / 896 + 7px, 10px);
	font-size: clamp(1.1rem, 0.4 * (100vw - 102.4rem) / 89.6 + 1.1rem, 1.5rem);
}
#sideArea li.membership li.mailmaga dd,li.membership ul.registration li.newmember dd{
	font-size: clamp(1rem, 0.2 * (100vw - 102.4rem) / 89.6 + 1rem, 1.2rem);
}
#sideArea li.membership li.newmember dd span{
	display: inline-block;
	border-bottom: 1px solid rgba(255, 255, 255, 0.75);
	padding-bottom: 2px;
	font-weight: 400;
	font-size: clamp(1.2rem, 0.3 * (100vw - 102.4rem) / 89.6 + 1.2rem, 1.5rem);
	margin-right: 2px;
}
#sideArea li.mailmaga a{
	color: rgba(255,255,255,1.00);
}
#sideArea li.membership li.mailmaga a{
	display: block;
	background: rgba(85,85,85,1);
	text-align: center;
	position: relative;
    padding-top: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
	padding-bottom: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
}
#sideArea li.membership li.mailmaga a:hover{
	background: rgba(85,85,85,0.8);
	transition: 0.3s;
}
#sideArea li.membership li.mailmaga a::before{
	content: "";
	width: 0;
	height: 0;
	border-left: clamp(4px, 2 * (100vw - 1024px) / 896 + 4px, 6px) solid rgba(255, 255, 255, 0.3);
	border-top: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	border-bottom: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	position: absolute;
	top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	left: 15px;	
}
#sideArea li.newmember a{
	color: rgba(255,255,255,1.00);
}
#sideArea li.membership li.newmember a{
	display: block;
	background: rgba(190,148,108,1.00);
	text-align: center;
	position: relative;	
	padding-top: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
	padding-bottom: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
}
#sideArea li.membership li.newmember a:hover{
	background: rgba(190,148,108,0.8);
	transition: 0.3s;
}
#sideArea li.membership li.newmember a::before{
	content: "";
	width: 0;
	height: 0;
	border-left: clamp(4px, 2 * (100vw - 1024px) / 896 + 4px, 6px) solid rgba(255, 255, 255, 0.3);
	border-top: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	border-bottom: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	position: absolute;
	top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	left: 15px;
}
#sideArea li.membership li.benefits a{
	display: block;
	text-align: center;
	position: relative;
	padding-top: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
	padding-bottom: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
	border: 1px solid rgba(0,0,0,0.3);
}
#sideArea li.membership li.benefits a:hover{
	border: 1px solid rgba(0,0,0,0.08);
	background: rgba(0,0,0,0.03);
	transition: 0.3s;
}
#sideArea li.benefits a:hover{
	color: rgba(0,0,0,0.4);
	transition: 0.3s;
}
#sideArea li.membership li.benefits a::before{
	content: "";
	width: 0;
	height: 0;
	border-left: clamp(4px, 2 * (100vw - 1024px) / 896 + 4px, 6px) solid rgba(0,0,0,0.15);
	border-top: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	border-bottom: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	position: absolute;
	top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	left: 15px;
}

/* News
------------------------------------------ */
#sideArea li.news h3{
	margin-bottom: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
}
#sideArea li.news{
	font-size: clamp(1.1rem, 0.2 * (100vw - 102.4rem) / 89.6 + 1.1rem, 1.3rem);
	line-height: 1.6;
}
#sideArea li.news dl{
	margin-bottom: clamp(10px, 5 * (100vw - 1024px) / 896 + 10px, 15px);
}
#sideArea li.news dl dt{
	color: rgba(0,0,0,0.5);
}
#sideArea li.news dl a{
	display: block;
}
#sideArea li.news dl a:hover{
	color: rgba(0,0,0,0.4);
	transition: 0.3s;
}
#sideArea li.news dl a:hover dt{
	color: rgba(0,0,0,0.2);
	transition: 0.3s;
}

/* Blog/SNS
------------------------------------------ */
#sideArea li.blog-sns h3{
	margin-bottom: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
}
#sideArea li.blog-sns ul.blog{
	font-size: clamp(1.1rem, 0.4 * (100vw - 102.4rem) / 89.6 + 1.1rem, 1.5rem);
	border-bottom: 1px solid rgba(0,0,0,0.15);
    padding-bottom: 10px;
}
#sideArea li.blog-sns ul.blog a{
	display: block;
	padding-top: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
	padding-bottom: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
	padding-left: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
	padding-right: 0;
	position: relative;
}
#sideArea li.blog-sns ul.blog a:hover{
	color: rgba(0,0,0,0.4);
	transition: 0.3s;
}
#sideArea li.blog-sns ul.blog a::before{
	content: "";
    width: 0;
    height: 0;
	border-left: clamp(4px, 2 * (100vw - 1024px) / 896 + 4px, 6px) solid rgba(0,0,0,0.15);
	border-top: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	border-bottom: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
    position: absolute;
    top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
    left: 0;
}
#sideArea li.blog-sns ul.blog a:hover::before{
	border-left: 6px solid rgba(0,0,0,0.08);
	transition: 0.3s;
}
#sideArea li.blog-sns ul.blog span{
	display: block;
	font-size: 1.2rem;
	color: rgba(190,148,108,1.00);
	margin-bottom: 5px;
}
#sideArea li.blog-sns ul.blog a:hover span{
	color: rgba(190,148,108,0.5);
	transition: 0.3s;
}
#sideArea li.blog-sns ul.sns{
	font-size: clamp(1.1rem, 0.1 * (100vw - 102.4rem) / 89.6 + 1.1rem, 1.2rem);
}
#sideArea li.blog-sns ul.sns li dl{
	display: flex;
}
#sideArea li.blog-sns ul.sns li dl dt{
	width: 30px;
	padding-top: clamp(10px, 3 * (100vw - 1024px) / 896 + 10px, 13px);
	padding-bottom: clamp(10px, 3 * (100vw - 1024px) / 896 + 10px, 13px);
	margin-right: clamp(10px, 5 * (100vw - 1024px) / 896 + 10px, 15px);
	text-align: center;
}
#sideArea li.blog-sns ul.sns li dl dd{
	flex: 1;
}
#sideArea li.blog-sns ul.sns>li{
	padding-top: clamp(10px, 3 * (100vw - 1024px) / 896 + 10px, 13px);
	padding-bottom: clamp(10px, 3 * (100vw - 1024px) / 896 + 10px, 13px);
	border-bottom: 1px dashed rgba(0,0,0,0.15);
}
#sideArea li.blog-sns ul.sns a{
	display: block;
	padding-top: clamp(10px, 3 * (100vw - 1024px) / 896 + 10px, 13px);
	padding-bottom: clamp(10px, 3 * (100vw - 1024px) / 896 + 10px, 13px);
}
#sideArea li.blog-sns ul.sns a:hover{
	color: rgba(0,0,0,0.4);
	transition: 0.3s;
}
#sideArea li.blog-sns li.insta dt img{
	width: clamp(14px, 3 * (100vw - 1024px) / 896 + 14px, 17px);
	opacity: 0.3;
}
#sideArea li.blog-sns li.twitter dt img{
	width: clamp(12px, 3 * (100vw - 1024px) / 896 + 12px, 15px);
	opacity: 0.3;
}
#sideArea li.blog-sns li.youtube dt img{
	width: clamp(18px, 2 * (100vw - 1024px) / 896 + 18px, 20px);
	opacity: 0.3;
}

/* Shop Information
------------------------------------------ */
#sideArea li.shopinformation{
	font-size: clamp(1.1rem, 0.2 * (100vw - 102.4rem) / 89.6 + 1.1rem, 1.3rem);
}
#sideArea li.shopinformation>ul{
	border-bottom: 1px dashed rgba(0,0,0,0.15);
	padding-top: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
	padding-bottom: clamp(12px, 8 * (100vw - 1024px) / 896 + 12px, 20px);
}
#sideArea li.shopinformation>ul>li:not(.tel)>a{
	display: block;
	padding-top: clamp(7px, 3 * (100vw - 1024px) / 896 + 7px, 10px);
	padding-bottom: clamp(7px, 3 * (100vw - 1024px) / 896 + 7px, 10px);
	padding-left: clamp(11px, 4 * (100vw - 1024px) / 896 + 11px, 15px);
	padding-right: 0;
	position: relative;
}
#sideArea li.shopinformation>ul>li>a:hover{
	color: rgba(0,0,0,0.4);
	transition: 0.3s;
}
#sideArea li.shopinformation>ul>li:not(.tel)>a::before{
	content: "";
	width: 0;
	height: 0;
	border-left: clamp(4px, 2 * (100vw - 1024px) / 896 + 4px, 6px) solid rgba(0,0,0,0.15);
	border-top: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	border-bottom: clamp(3px, 1 * (100vw - 1024px) / 896 + 3px, 4px) solid transparent;
	position: absolute;
	top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	left: 0;
}
#sideArea li.shopinformation>ul>li>a:hover::before{
	border-left: 6px solid rgba(0,0,0,0.08);
	transition: 0.3s;
}
#sideArea li.shopinformation li.shoppingguide{
	line-height: 1.3;
}
#sideArea li.shopinformation li.tel{
	padding: 10px 0 10px 0;
}
#sideArea li.shopinformation li.tel{
	padding: 10px 0 10px 0;
}
@media screen and (min-width: 768px) {
a[href*="tel:"] {
	pointer-events: none;
}
}

/* バナー
------------------------------------------ */
#sideArea li.banner a{
	display: inline-block;
}
#sideArea li.banner a:hover{
	opacity: 0.8;
	transition: 0.3s;
}
#sideArea li.banner li{
	text-align: center;
}
#sideArea li.banner img{
	width: 100%;
	display: block;
}