@charset "UTF-8";
.date_table {
	font-size: 1.4rem;
	font-size: clamp(10px,1.4rem,21px);
	font-weight: 400;
	letter-spacing: .1em;
	margin: 0 0 40px;
}
.date_table div ul.ul_fsize {
	letter-spacing: normal;
}
/* button */
.button_CPC {
	/* width: 230px; */
	display: inline-block;
	margin: auto 0 auto auto;
	padding: 1em;
	font-size: 1.4rem;
	font-size: clamp(10px,1.4rem,21px);
	font-weight: 500;
	color: #212121;
	letter-spacing: 0.1em;
	text-align: center;
	background-color: #ffdcdc;
	position: relative;
	z-index: 2;
}
.button_CPC:hover {
	text-decoration: none;
	background-color: #FFF5F5;
}
.button_tacenter {
	text-align: center;
}
.button_margin_t05em_b3em {
	margin: .5em 0 3em;
}
.font_color_red {
	color: #f00;
	margin-top: 1em;
}
/* tble border */

.date_table_border table {
	border: solid 3px #fff;
	border-collapse: collapse;
}
.date_table_border td, .date_table_border tr, .date_table_border th {
	border: solid 1px #fff;
}
/* white-bold */

.whiteborder_b {
	border-bottom: solid 3px #fff;
}
/* red-bold */

tbody .red_b_t {
	border-top: solid 3px #f00;
}
tbody .red_b_b {
	border-bottom: solid 3px #f00;
}
tbody .red_b_l {
	border-left: solid 3px #f00;
}
tbody .red_b_r {
	border-right: solid 3px #f00;
}
/* th CSS */

.date_table_border th {
	background: #4f81bd;
	color: #fff;
	font-weight: 500;
}
/* cell bg color */

.td_color_p {
	background: #e6e0ec;
}
.td_color_g {
	background: #e9edf4;
}
.td_color_dg {
	background: #d0d8e8;
}
/* cell padding */

.cell_padding * {
	padding: .8em .9em;
}
.cell_padding span.fs_07em {
	padding: 0;
}
.cell_padding2 *:not(.cell_padding3) {
	padding: .8em .2em .8em .6em;
}
.cell_padding2 span.fs_07em {
	padding: 0;
}
.cell_padding3 {
	padding: .8em .2em .8em .6em;
}
/* cell width */

.cell_width4em {
	width: 4em;
}
.cell_width5em {
	width: 5em;
}
.cell_width11em {
	width: 11em;
}
/* text align */
.cell_align_r {
	text-align: right;
}
.cell_align_l {
	text-align: left;
}
.cell_align_c {
	text-align: center;
}
/* margine */
.margin_b1em {
	margin: 0 0 1em;
}
.margin_b2em {
	margin: 0 0 2em;
}
.margin_b40px {
	margin-bottom: 40px;
}
/* flex */
.cell-flex {
	display: flex;
	flex-wrap: wrap;
}
/* ul liststyle */

.liststyle-none {
	list-style: none;
}
/* width */

.width-50 {
	width: 50%;
}
.width-100 {
	width: 100%;
	overflow: auto;
}
/* h3 decoration */

.h3deco {
	background-color: #dddddd;
	border-left: solid 3px #212121;
	padding: 10px 15px;
	margin: 0 0 10px 0;
    font-size: 1.6rem;
	font-size: clamp(10px,1.6rem,24px);
	font-weight: 500;
	color: #212121;
	letter-spacing: 0.5em;
	text-align: left;
}
/* h4 decoration */

.h4deco {
	font-weight: 500;
}
/* font size */

.ul_fsize li {
	font-size: .8em;
}
.fs_07em {
	font-size: .7em;
}
.fs_08em {
	font-size: .8em;
}
/*  indent */
span.indent_none {
	text-indent: 0;
	letter-spacing: 0;
}
.indent_7em {
	padding-left: 7.2em;
	text-indent: -7.2em;
}
.indent_6em {
	padding-left: 6.2em;
	text-indent: -6.2em;
}
.indent_4em {
	padding-left: 4em;
	text-indent: -4em;
}
/* sp_on */

br.sp_on {
	display: none;
}
/* cell whitespace */

.cell_whitespace {
	white-space: nowrap;
}
/* space */

.space_r {
	margin-right: 1em;
}
/* -------------------------------------------------------
----------------------------------------------------------
----------------------------------------------------------
---------------------smartphone---------------------------
----------------------------------------------------------
----------------------------------------------------------
------------------------------------------------------- */

@media screen and (max-width:640px) {
	.date_table p:not(.font-size14), .date_table span {
		font-size: 1.2rem;
		font-size: clamp(8px,1.2rem,18px);
	}
	.date_table {
		letter-spacing: .05em;
	}
	/* indent */
	.indent_6em {
		padding-left: 6em;
		text-indent: -6em;
	}
	/* scroll */
	.sp-scroll {
		width: 100%;
		overflow-x: auto;
		white-space: nowrap;
	}
	.sp-scroll::-webkit-scrollbar {
		width: 5px;
		height: 5px;
	}
	.sp-scroll::-webkit-scrollbar-thumb {
		background: #555;
		border-radius: 5px;
	}
	/* width */
	.width-50 {
		width: 100%;
	}
	/* h4 decoration */
	.h4deco {
		font-size: .9em;
	}
	/* font size */
	.ul_fsize li {
		font-size: .8em;
		letter-spacing: normal;
	}
	/* sp_on */
	br.sp_on {
		display: inline;
	}
	#main_contents .main_detail_inner #app_area .app_block {
		width: auto;
	}
	/* cell paddin */
	.cell_padding3 {
		padding: .8em .9em;
	}
	.cell_align_r.sp_off {
		text-align: left;
	}
}