@charset "utf-8";



/*======================================================================================================================
========================================================================================================================

report_new.css

レポート系ページ　レスポンシブ対応用css
2021/09/13 add.

========================================================================================================================
======================================================================================================================*/



/*======================================================================================================================

PC(min-width:948px)

======================================================================================================================*/


/* 全体
-------------------------------------------------------------------------------------------------------- */

p{
	line-height: 1.8;
	font-size: 110%;
}

h4{
	line-height: 1.8;
	font-size: 110%;
}

ul,
ol {
  line-height: 1.8;
  font-size: 110%;
}

/* 除外ルールを上書き */
#header ul,
#header ol,
#sub ul,
#sub ol {
  line-height: normal;
  font-size: 100%;
}

ol.is-number{
	padding-left: 1.5em;
}
ol.is-number>li{
	list-style-type: decimal;
}

ul.m5,
ol.m5{
	margin: 5px 0;
}

ul>li>ul,
ol>li>ul{
	font-size: 100%
}

picture{
	display: block;
	width: 100%;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

picture img,
picture source{
	width: 100%;
	height: 100%;
	max-width: none;
}

.sp600{
	display: none;
}

.mb5{
	margin-bottom: 5px;
}

@media all and (max-width: 599px){
	.sp600{
		display: block;
	}
}

/* タイトル
-------------------------------------------------------------------------------------------------------- */

.p-subttl01{
	font-size: 120%;
	font-weight: bold;
}

.ttl_box_gray.is-arrow{
	position: relative;
	padding-left: 20px;
}

.ttl_box_gray.is-arrow::before{
	content: '▼';
	display: block;
	position: absolute;
	top: 5px;
	left: 5px;
}

.is-date{
	font-weight: bold;
	font-size: 100%;
	color: #797979;

}
.is-update{
	margin-bottom: 10px;
	text-align: right;
	font-size: 100%;
	color: #333333;
}

.l_ttl_02 .is-sm{
	font-size: 88%;
}

.is-gray{
	font-weight: bold;
	color: #797979;
}

.is-bold{
	font-weight: bold;
}

.is-center{
	text-align: center;
}

.is-left{
	text-align: left;
}

.w260{
	display: block;
	width: 260px;
	max-width: 100%;
	margin: auto;
}

.w320{
	width: 320px;
	max-width: 100%;
	margin: auto;
}

.w400{
	width: 400px;
	max-width: 100%;
	margin: auto;
}

.w500{
	width: 500px;
	max-width: 100%;
	margin: auto;
}

.is-2col{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.is-2col.is-center{
	justify-content: center;
}

.is-2col.is-start{
	justify-content: flex-start;
}

.is-2col.w820{
	max-width: 820px;
	margin: auto;
}

.hover-opacity{
	transition: .3s;
}
@media all and (min-width: 768px){
	.hover-opacity:hover{
		opacity: .7;
	}
}

figure {
	margin-block-start: 0;
	margin-block-end: 0;
	margin-inline-start: 0;
	margin-inline-end: 0;
}

figcaption {
	text-align: center;
	margin: auto;
	margin-top: 5px;
}

figcaption.t10 {
	margin-top: 10px;
}

.is-2col>div,
.is-2col>figure,
.is-2col>picture{
	width: calc((100% - 20px) / 2);
}

.is-2col>div:not(:nth-of-type(2n)),
.is-2col>figure:not(:nth-of-type(2n)),
.is-2col>picture:not(:nth-of-type(2n)){
	margin-right: 20px;
}

.is-2col>div:nth-of-type(n+3),
.is-2col>figure:nth-of-type(n+3),
.is-2col>picture:nth-of-type(n+3){
	margin-top: 20px;
}

@media all and (max-width: 767px){

	.is-2col{
		flex-direction: column;
	}

	.is-2col>div,
	.is-2col>figure,
	.is-2col>picture{
		display: block;
		width: 400px;
		max-width: 100%;
		margin: auto;
	}

	.is-2col>div:not(:last-of-type),
	.is-2col>figure:not(:last-of-type),
	.is-2col>picture:not(:last-of-type){
		margin-bottom: 20px;
	}

	.is-2col>div:not(:nth-of-type(2n)),
	.is-2col>figure:not(:nth-of-type(2n)),
	.is-2col>picture:not(:nth-of-type(2n)){
		margin-right: auto;
	}

	.is-2col>div:nth-of-type(n+3),
	.is-2col>figure:nth-of-type(n+3),
	.is-2col>picture:nth-of-type(n+3){
		margin-top: 0;
	}

}

.is-3col{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 10px;
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
}

.is-3col figure{
	width: calc((100% - 20px) / 3);
}

.is-3col picture{
	display: inline;
}

.is-3col figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media all and (max-width: 767px){
	.is-3col{
		flex-direction: column;
	}

	.is-3col figure{
		width: 100%;
	}
}

ul.is-circle >li{
	position: relative;
	padding-left: 1em;
}

ul.is-circle >li:not(:last-child){
	margin-bottom: 10px;
}

ul.is-circle >li::before{
	content: '';
	display: block;
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #FD9B1C;
	top: 9px;
	left: 0;
	line-height: 1.8;
	font-size: 110%;
}

.is-row{
	display: flex;
	flex-direction: row;
}
/*テーブル
-------------------------------------------------------------------------------------------------------- */


table th:not(#header *),
table td:not(#header *){
	box-sizing: border-box;
	padding: 10px;
}


table.is-center th{
	text-align: center;
	vertical-align: middle;
}

ul.is-disc02 li{
	margin-left: 1.5em;
	list-style: disc;
}

.report_table th{
	width: 40%;
}

/*ボタン
-------------------------------------------------------------------------------------------------------- */

.report_btn01{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	max-width: calc(100% - 20px);
	width: 280px;
	height: 50px;
	margin: auto;
	border-radius: 30px;
	background-color: #FD9B1C;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
	color: #FFF;
}

.report_btn01:link,
.report_btn01:visited{
	text-decoration: none;
	color: #FFF;
}

.report_btn01.is-pdf::after{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	width: 20px;
	height: 20px;
	background-image: url(../common/img/ico_pdf_wh.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

/*定義リスト
-------------------------------------------------------------------------------------------------------- */
dl{
	display: flex;
	flex-wrap: wrap;
}
dl>dt{
	width: 20%;
}
dl>dd{
	width: 80%;
}

/*コールアウト、引用
-------------------------------------------------------------------------------------------------------- */
.callout{
	box-sizing: border-box;
	padding: 1.5em;
	background-color: #F8F8F8;
}

/*======================================================================================================================

SP(max-width:947px)

======================================================================================================================*/


@media all and (max-width: 500px){

	.report_table{
		width: 100%;
	}

	.report_table th,
	.report_table td {
		display: block;
		width: 100%;
	}

	.report_table th{
		border-bottom: 1px solid gray;
	}


}

/*調査実施概要内フォントサイズ調整（research_220511.html）
-------------------------------------------------------------------------------------------------------- */
.is-font12{
	font-size: 12px;
}

/*コンテンツ幅調整（info_221003.html）
-------------------------------------------------------------------------------------------------------- */
.is-contents{
	padding-top: 60px;
	width: 100%;
}

@media all and (min-width: 595px){
	.is-contents{
		padding-top: 50px;
	}
}

@media all and (min-width: 948px){
	.is-contents{
		padding-top: 0;
	}
}

.is-subLogo_margin{
	margin: 10px 10px 15px 20px;
}

@media all and (min-width: 595px){
	.is-subLogo_margin{
		margin: 10px 10px 25px 20px;
	}
}

.is-container_mb{
	margin-bottom: 20px;
	border-bottom: 1px solid #E4E4E4;
}

/*タイトル微調整
-------------------------------------------------------------------------------------------------------- */
.l_ttl_02 .is-sm02{
	font-size: 88%;
	display: block;
	float: left;
}
.l_ttl_02 .is-sm03{
	font-size: 88%;
	display: block;
	padding-left: 58px;
}

/*ダウンロードページのヘッダー用
report/info_YYMMDD_XXXXXX_download.html
class:info_download
-------------------------------------------------------------------------------------------------------- */
header.info_download .hd__subLogoWr{
	display: flex;
  align-items: center;
	justify-content: flex-start;
	padding: 8px 10px;
}

header.info_download .hd__subLogo{
	max-width: 150px;
	display: block;
	margin-right: 10px;
}
@media all and (min-width: 948px){
	header.info_download .hd__subLogo{
		max-width: 200px;
		display: block;
		margin-right: 20px;
	}
}

header.info_download .hd__subLogo-right__wr{
	max-width: 200px;
}

header.info_download .hd__subLogo-right.is-subLogo_margin{
	margin: 0;
}
@media all and (min-width: 595px){
	header.info_download .hd__subLogo-right.is-subLogo_margin{
		margin: 0;
	}
}

#main.is-contents.info_download{
	padding-top: 0;
}

/*Youtube埋め込み
-------------------------------------------------------------------------------------------------------- */
.report-youtube{
	aspect-ratio: 16/9;
}

.report-youtube iframe{
	width: 100%;
	height: 100%;
}

/* フレックスボックス */
.flex__row{
	display: flex;
	flex-direction: row;
}

.flex__title {
	background-color: #EEE;
	text-align: center;
	padding: 10px;
	border: 1px solid #000;
	margin-bottom: -1px;
}

.flex__parent {
	display: flex;
	justify-content: space-between;
}

.flex__child {
	width: 100%;
}

.flex__child:nth-child(2) {
	margin-left: -1px;
}

.flex__child>p {
	border: 1px solid #000;
	padding: 10px;
	font-size: 12px;
	line-height: 1.5;
}

.flex__child>p:not(:first-child) {
	margin-top: -1px;
}

.pblock-19 {
	padding-block: 19px !important;
}