@charset "utf-8";

#header,
.site_header-btn,
.header_menu,
#Footer,
.site_footer,
.cookie-confirm{
	display: none;
}

/* 固定幅コンテナの上書き（印刷ページ幅に合わせて可変にする）
-------------------------------------*/
.wrapper,
#content_wrap{
	min-width: 0;
}

#content-nav{
	width: auto;
}

.page-ttl{
	margin: 0 0 24px;
	padding: 0 0 16px;
	border-bottom: 2px solid #333;
	background: none;
}

.page-ttl-inner{
	display: block;
	width: auto;
	max-width: none;
	margin: 0;
}

.page-ttl-icon{
	display: none;
}

.page-ttl-label{
	font-size: 12px;
	font-weight: bold;
}

.page-ttl-heading{
	margin: 4px 0 0;
	font-size: 24px;
	font-weight: bold;
}

.page-ttl-lead{
	margin: 8px 0 0;
	font-size: 12px;
}

/* 見出し
-------------------------------------*/
.section_ttl{
	margin: 32px 0 16px;
	padding-bottom: 8px;
	border-bottom: 2px solid #333;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
}

.bullet_ttl,
.subsection_ttl{
	position: relative;
	margin: 28px 0 12px;
	padding-left: 18px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}

.bullet_ttl::before,
.subsection_ttl::before{
	content: "";
	position: absolute;
	top: calc((1.4em - 10px) / 2);
	left: 0;
	width: 10px;
	height: 10px;
	background: #333;
}

/* feature_list（3カラムの特徴ボックス）
-------------------------------------*/
.feature_list{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

.feature_item{
	box-sizing: border-box;
	padding: 16px;
	border: 1px solid #ccc;
	border-top: 3px solid #333;
}

.feature_item-ttl{
	margin: 0 0 0.6em;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
}

.feature_item p{
	margin: 0;
	font-size: 13px;
}

/* column_area（Columnボックス）
-------------------------------------*/
.column_area{
	margin-top: 32px;
	padding-top: 16px;
}

.column_area-label{
	display: block;
	margin: 0 0 12px;
	padding-bottom: 6px;
	border-bottom: 2px solid #333;
	font-size: 13px;
	font-weight: bold;
}

.column_area-label::after{
	display: none;
}

.column_area-heading{
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
}

/* graph_area（グラフ画像）
-------------------------------------*/
.graph_area-imgs{
	display: flex;
	gap: 20px;
	margin: 0 0 12px;
	justify-content: center;
}

.graph_area-col{
	flex: 1 1 0;
	min-width: 0;
	text-align: center;
}

.graph_area-col-label{
	display: block;
	padding: 2px 0.5em;
	border: 1px solid #333;
	font-size: 13px;
	text-align: center;
}

.graph_area-img{
	margin: 0;
}

.graph_area-img img{
	display: inline-block;
	max-width: 100%;
	height: auto;
}

/* table
-------------------------------------*/
.text_area table{
	width: 100%;
	margin: 0 0 24px;
	border-collapse: collapse;
	font-size: 13px;
}

.text_area table th,
.text_area table td{
	box-sizing: border-box;
	padding: 8px 12px;
	border: 1px solid #999;
	font-weight: 500;
	text-align: left;
}

.text_area table th{
	background: #eee;
	font-weight: bold;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

.text_area table.table--fixed th:first-child,
.text_area table.table--fixed td:first-child{
	width: 30%;
}

.text_area table.table--fixed th:nth-child(2),
.text_area table.table--fixed td:nth-child(2){
	width: 25%;
}

.text_area table.table--fixed td:first-child{
	background: #f5f5f5;
	-webkit-print-color-adjust: exact;
	print-color-adjust: exact;
}

/* note_box / formula_box（背景色だけで箱を表現しているため、印刷用に枠線を追加）
-------------------------------------*/
.note_box,
.formula_box{
	border: 1px solid #999;
	background: none;
}
