@charset "utf-8";

/******************************************************************************/
/***                                                                        ***/
/***                                                                        ***/
/***     cms.css                                                            ***/
/***                                                                        ***/
/***    【内容】                                                            ***/
/***                                                                        ***/
/***     ・CMS専用のスタイルを記述する                                      ***/
/***                                                                        ***/
/***                                                                        ***/
/******************************************************************************/


.word_break {
	word-break: break-all;
}
.no_wrap {
	white-space: nowrap;
}
.txt_left {
	text-align: left;
}
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}

.column h4,
.column h1 {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}
.discount_end_menu {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
	font-size: 18px;
	line-height: 1.5;
}
.discount_end_menu h2 {
	border-left: none;
	font-size: 1.2em;
	margin-bottom: 10px;
	text-align: left;
}
.discount_end_menu .note {
	margin-bottom: 10px;
}
.discount_end_menu .note.indent {
	padding-left: 1.0em;
	text-indent: -1.0em;
}
.discount_end_menu .detail_table {
	background-color: #FFFFFF;
	border-spacing: 0;
	border-collapse: collapse;
	border-top: 1px solid #94A8B6;
	border-right: 1px solid #94A8B6;
	background-clip: padding-box;
	color: #0F303F;
	margin-bottom: 40px;
	width: 100%;
}
.discount_end_menu .detail_table th,
.discount_end_menu .detail_table td {
	background-clip: padding-box;
	border-left: 1px solid #94A8B6;
	border-bottom: 1px solid #94A8B6;
	font-size: 1.0rem;
	line-height: 1.5;
	padding: 20px;
	vertical-align: middle;
	height: auto;
}
.discount_end_menu .detail_table th {
	background-color: #0069B7;
	color: #FFFFFF;
	font-weight: bold;
	text-align: center;
}
.discount_end_menu .detail_table .blue_col {
	background: #E3EAF5;
	color: #0F303F;
}

@media only screen and (max-width: 767px) {
	.discount_end_menu {
		perspective: 767px;
	}
	.discount_end_menu .detail_table th,
	.discount_end_menu .detail_table td {
		font-size: 1.0rem;
		padding: 10px;
	}
	.discount_end_menu .detail_table.rotate {
		writing-mode: vertical-lr;
		white-space: pre;
		width: 100%;
	}
	.discount_end_menu .detail_table.rotate th,
	.discount_end_menu .detail_table.rotate td {
		width: calc(20% - 100px);
	}
	.discount_end_menu .detail_table.rotate th span,
	.discount_end_menu .detail_table.rotate td span {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 4.6em;
		writing-mode: horizontal-tb;
	}
	.discount_end_menu .detail_table.rotate th.th_normal {
		width: calc(30% - 100px);
	}
	.discount_end_menu .detail_table.rotate th.th_main {
		width: calc(20% - 100px);
	}
	.discount_end_menu .detail_table.rotate th.th_sub {
		width: calc(10% - 100px);
	}
}

@media only screen and (max-width: 428px) {
	.discount_end_menu .detail_table th,
	.discount_end_menu .detail_table td {
		font-size: 0.9rem;
		padding: 10px 5px;
	}
}

@media only screen and (max-width: 414px) {
	.discount_end_menu .detail_table th,
	.discount_end_menu .detail_table td {
		font-size: 0.85rem;
		padding: 10px 5px;
	}
}

@media only screen and (max-width: 360px) {
	.discount_end_menu .detail_table th,
	.discount_end_menu .detail_table td {
		font-size: 0.8rem;
		padding: 10px 5px;
	}
}

.discount_end_menu .retailers_info {
	margin-left: auto;
	margin-right: 0;
	margin-bottom: 40px;
	max-width: 460px;
}
.discount_end_menu .retailers_info .border_box {
    background: #fff;
    border: #a0b4bf 1px solid;
    padding: 12px 15px 11px;
}
.discount_end_menu .retailers_info .border_box p {
	margin-bottom: 0;
}

@media only print {
	body {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
	.sp_menu_panel,
	.page_top {
		display: none;
	}
}
