@charset "utf-8";

#osusume_banner {
	position: fixed;
	bottom: 20px;
	left: 10px;
	z-index: 100;
}
#osusume_banner img {
	vertical-align: top;
	max-width: 100% !important;
}
#osusume_banner_box {
	box-sizing: border-box;
	display: flex;
	flex-wrap: nowrap;
	border: 4px solid #fef173;
	border-radius: 60px;
	background: url(/img/kaiyu/osusume_bg.png) repeat-x #fefad5 bottom left;
	padding: 15px 10px;
	max-width: calc(100vw - 190px - 40px);
}
/* 開閉ボタン */
#osusume_banner_ttl {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end;
	justify-content: center;
}
#osusume_banner_ttl a {
	display: block;
}
#osusume_banner_ttl .kaiyu_btn {
	margin-top: -47px;
	margin-bottom: -10px;
	vertical-align: top;
}
.kaiyu_btn.open,
.open .kaiyu_btn.close {
	display: inline-block;
}
.kaiyu_btn.close,
.open .kaiyu_btn.open {
	display: none;
}
#osusume_banner_close {
	position: absolute;
	top: -20px;
	right: -10px;
	display: block;
	width: 30px;
	height: 30px;
	background: url(/img/kaiyu/close_ossm.png) no-repeat center / contain;
	border: none;
	text-indent: -9999em;
	overflow: hidden;
}
/* バナー */
#osusume_banner_list {
	display: none;
	position: relative;
}
.open #osusume_banner_list {
	display: block;
}
.osusume_banner_list_detail {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	align-content: flex-start;
	gap: 10px;
	padding: 0 30px;
}
.osusume_banner_list_detail a {
	display: block;
}

/* -------------------- 背景色変更 -------------------- */
/* 黒 */
html.black #osusume_banner img {
	background-color: #fff !important;
}
html.black #osusume_banner_close {
	background-image: url(/img/kaiyu/close_ossm.png) !important;
	background-color: #fff !important;
	border-radius: 100%;
	outline: 5px solid #fff;
}
html.black #osusume_banner_list,
html.black #osusume_banner_list_box,
html.black .osusume_banner_list_detail {
	background: none !important;
}
/* 青 */
html.blue #osusume_banner img {
	background-color: #fff !important;
}
html.blue #osusume_banner_close {
	background-image: url(/img/kaiyu/close_ossm.png) !important;
	background-color: #fff !important;
	border-radius: 100%;
	outline: 5px solid #fff;
}
html.blue #osusume_banner_list,
html.blue #osusume_banner_list_box,
html.blue .osusume_banner_list_detail {
	background: none !important;
}

/* -------------------- スマートフォンレイアウト（ボトムメニュー） -------------------- */
@media print, screen and (max-width: 991.98px) {
	#osusume_banner_ttl {
		display: none;
	}
	#osusume_banner {
		z-index: 0;
	}
	#osusume_banner_box {
		border: none;
		background: none;
	}
	#osusume_banner_close {
		display: none;
	}
	.osusume_banner_list_detail {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: stretch;
		align-content: flex-start;
		gap: 10px;
		padding: 0 15px;
	}
	.osusume_banner_list_detail > a,
	.osusume_banner_list_detail > div,
	.osusume_banner_list_detail > span {
		max-width: calc(50% - 5px);
	}

	#osusume_banner_list {
		background: url(/img/sp/bg-osusume.png) repeat-x #fefad5 top center;
	}
	.spm_ossm_open #osusume_banner {
		z-index: 5;
	}
	.spm_ossm_open #osusume_banner_box {
		background: rgb(0 0 0 / .75);
		border-radius: 0;
		max-width: none;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}
	.spm_ossm_open #osusume_banner_list {
		display: block;
		padding: 60px 0 120px;
		position: fixed;
		top: auto;
		bottom: 0;
		left: 0;
		right: 0;
	}
}