@charset "utf-8";
/* CSS Document */

/* =======================================

	固定フッター
	
========================================== */

/* モーダル内をスクロール可能にする
------------------------------------------ */
#fixedFooterModalArea{
	height: 100%;/*要素の高さを指定*/
	overflow-y: scroll;/*上下方向にはみ出した要素ををスクロールさせる*/
}

/* モーダル内のスクロールバー非表示（各ブラウザ）
------------------------------------------ */
#fixedFooterModalArea{
	/*スクロールバー非表示（IE・Edge）*/
	-ms-overflow-style: none;
	/*スクロールバー非表示（Firefox）*/
	scrollbar-width: none;
}
/*スクロールバー非表示（Chrome・Safari）*/
#fixedFooterModalArea::-webkit-scrollbar{
  display:none;
}

/* 固定フッター（モーダル部分）
------------------------------------------ */
#fixedFooterModalArea{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.9);
	line-height: 1;
    color: rgba(255,255,255,1);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.3rem;
	padding-bottom: 50px;
	z-index: 9970;
}
#fixedFooterModalArea h3,
#fixedFooterModalArea h4,
#fixedFooterModalArea li,
#fixedFooterModalArea p,
#fixedFooterModalArea dt,
#fixedFooterModalArea dd,
#fixedFooterModalArea button,
#fixedFooterModalArea span{
	font-weight: 300;
}
#fixedFooterModalArea .fixedFooterModalInner {
    padding-top: 60px;
    padding-bottom: 30px;
    width: calc(100% - 40px* 2);
    margin: 0 auto;
}
#fixedFooterModalArea .search {
    max-width: 400px;
    margin: 40px auto;
}
#fixedFooterModalArea .search form {
    display: flex;
    justify-content: space-between;
}
#fixedFooterModalArea .search form input {
    width: calc(100% - 80px);
    padding: 10px 0 10px 15px;
    font-size: 1.3rem;
	line-height: 1;
    border: none;
	border-radius: 0;
}
#fixedFooterModalArea .search form button {
    width: 80px;
    padding: 10px 0;
    background: rgba(255, 255, 255, 0.3);
    font-size: 1.3rem;
    border: none;
    color: rgba(255, 255, 255, 0.8);
	line-height: 1;
}
#fixedFooterModalArea h4{
    text-align: center;
    margin-bottom: 40px;
    font-size: 14px;
}
#fixedFooterModalArea h4 span::before{
	content: '';/*何も入れない*/
	display: inline-block;
	width: 15px;/*画像の幅*/
	height: 15px;/*画像の高さ*/
	background-image: url(https://madrigal.itembox.design/item/img_2024/common/search_wh.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 7px;
	margin-bottom: 1px;
	opacity: 0.7;
}

/* 今月の特集
------------------------------------------ */
#fixedFooterModalArea .nowFeature{
	width: 100%;
}
#fixedFooterModalArea .nowFeature h5{
	padding: 15px 0 15px 15px;
    font-size: 1.3rem;
	border-bottom: 1px solid rgba(255,255,255,0.3);
}
#fixedFooterModalArea .nowFeature ul li{
	margin-left: 20px;
}
#fixedFooterModalArea .nowFeature ul li a{
	color: rgba(255, 255, 255, 1);
    text-decoration: none;
    display: block;
    width: 100%;
    padding: 15px 0 15px 30px;
    position: relative;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
    font-size: 1.3rem;
    line-height: 1.3;
}
#fixedFooterModalArea .nowFeature ul li a::before{
	content: "";
    width: 0;
    height: 0;
    border-left: 6px solid rgba(255, 255, 255, 0.3);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 15px;
}
#fixedFooterModalArea .nowFeature .other_nowFeature{
	    margin-left: 20px;
}

/* アコーディオン（2階層・クラス追加・他閉じる）
------------------------------------------ */
#fixedFooterModalArea .group{
	margin-bottom: 30px;
}
#fixedFooterModalArea button {
	background: none;
	border: none;
	padding: 0;
	color: inherit;
	line-height: 1;
	font-family: 'Noto Sans JP', sans-serif;
}
#fixedFooterModalArea .accordionArea{
	width: 100%;
}
#fixedFooterModalArea .accordionInner{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}
#fixedFooterModalArea button.accordionIndex{
	display: block;
	width: 100%;
	position: relative;
	padding: 15px 0 15px 15px;
	font-size: 1.3rem;
	text-align: left;
	border-bottom: 1px dashed rgba(255,255,255,0.3);
}
#fixedFooterModalArea button.accordionIndex.level_00{
	border-bottom: 1px solid rgba(255,255,255,0.3);
}
#fixedFooterModalArea button.accordionIndex::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid rgba(255,255,255,0.3);
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 15px;
}
#fixedFooterModalArea button.accordionIndex.open::after {
    transform: rotate(-180deg)translateY(calc(-50% + 8px));
}
#fixedFooterModalArea ul.accordionContent li{
	margin-left: 20px;
}
#fixedFooterModalArea ul.accordionContent li a{
	color: rgba(255,255,255,1);
    text-decoration: none;
    display: block;
    width: 100%;
    padding: 15px 0 15px 30px;
    position: relative;
	border-bottom: 1px dashed rgba(255,255,255,0.3);
	font-size: 1.3rem;
	line-height: 1.3;
}
#fixedFooterModalArea ul.accordionContent li a::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid rgba(255,255,255,0.3);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 15px;
}
#fixedFooterModalArea ul.accordionContent.open{
	border-bottom: 1px solid rgba(255,255,255,0.3);
}
#fixedFooterModalArea ul.accordionContent.open>li:last-child>button{
	border-bottom: none;
}
#fixedFooterModalArea ul.accordionContent.open>li:last-child>button.open{
	border-bottom: 1px dashed rgba(255,255,255,0.3);
}
#fixedFooterModalArea ul.accordionContent.open>li:last-child>a{
	border-bottom: none;
}
#fixedFooterModalArea ul.accordionContent.open>li>ul.accordionContent.open{
	border-bottom: 1px dashed rgba(255,255,255,0.3);
}
#fixedFooterModalArea ul.accordionContent.open>li:last-child>ul.accordionContent.open{
	border-bottom: none;
}
#fixedFooterModalArea ul.link_beginner{
	margin-top: 30px;
}
#fixedFooterModalArea ul.link_beginner li{
	text-align: right;
}
#fixedFooterModalArea ul.link_beginner a{
	color: rgba(255, 255, 255, 0.8);
	display: inline-block;
	padding: 12px 15px 12px 30px;
	position: relative;
}
#fixedFooterModalArea ul.link_beginner a::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid rgba(255, 255, 255, 0.3);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 15px;
}

/* ランキング
------------------------------------------ */
#fixedFooterModalArea ul.accordionContent li a span.rank{
    margin-right: 10px;
}

/* 固定フッター（ボタン部分）表示・非表示
------------------------------------------ */
#fixedFooterArea{
	display: none;
}
@media screen and (max-width: 1024px) {
#fixedFooterArea{
	display: block;
}
}

/* 固定フッター（ボタン部分）
------------------------------------------ */
#fixedFooterArea {
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 9980;
}
ul#fixedFooterButton{
	display: flex;
	justify-content: space-between;
	background: rgba(0,0,0,1);
}
ul#fixedFooterButton li:not(#pageTop_SP){
	flex: 1;
	position: relative;
	height: 50px;
}
ul#fixedFooterButton button {
	font-size: 1.1rem;
	letter-spacing: 0.08em;
	font-family: 'Noto Sans JP', sans-serif;
	color: rgba(255,255,255,1.00);
	display: block;
	height: 50px;
	width: 100%;
	background: rgba(0,0,0,1);
	position: absolute;
	top: 0;
	left: 0;
}
ul#fixedFooterButton button span{
	white-space: nowrap;
	font-weight: 300;
}
ul#fixedFooterButton button>span{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}
ul#fixedFooterButton.is_fixedFooterModal_Open{
	border-top: 1px solid rgba(255,255,255,0.3);
}
ul#fixedFooterButton button.open span::before{
	content: '';/*何も入れない*/
	display: inline-block;
	width: 12px;/*画像の幅*/
	height: 12px;/*画像の高さ*/
	background-image: url(https://madrigal.itembox.design/item/img_2024/common/search_wh.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 5px;
	margin-bottom: 1px;
	opacity: 0.7;
}
ul#fixedFooterButton button.close span::before{
	content: '';/*何も入れない*/
	display: inline-block;
	width: 11px;/*画像の幅*/
	height: 11px;/*画像の高さ*/
	background-image: url(https://madrigal.itembox.design/item/img_2024/common/batsu_wh.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 5px;
	margin-bottom: 2px;
	opacity: 0.7;
}
ul#fixedFooterButton li#pageTop_SP{
	border-left: 1px solid rgba(255,255,255,0.3);
}
ul#fixedFooterButton li#pageTop_SP a {
	display: block;
	width: 50px;
	height: 50px;
	background: rgba(0,0,0,1.00);
	position: relative;
}
ul#fixedFooterButton li#pageTop_SP a img {
	width: 14px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

/* SPのホバー
------------------------------------------ */
@media (hover: hover) {
/* hover指定できるPCを想定したスタイル */
#fixedFooterModalArea button.accordionIndex:hover{
	background: rgba(255,255,255,0.1);
}
#fixedFooterModalArea ul.accordionContent a:hover{
	background: rgba(255,255,255,0.1);
}
}
@media (hover: none) {
/* hoverが使えないタッチ端末を想定したスタイル */
#fixedFooterModalArea button.accordionIndex:active{
	background: rgba(255,255,255,0.1);
}
#fixedFooterModalArea ul.accordionContent a:active{
	background: rgba(255,255,255,0.1);
}
}
