@charset "utf-8";
/* CSS Document */

img{
	vertical-align:bottom;
}
p + p{
	margin-top:10px;
}
.fwb {
	font-weight: bold;
}
strong{
	font-weight:bolder;
}
strong.textC{
	font-size:135%;
	display:block;
}
h2.line span {
    line-height: 1.5;
}
i {
	font-style: italic ;
}
.fw .leadWrap {
	margin: 20px auto;
	position: relative;
	border: 1px dashed #cecece;
	padding: 20px;
}
.fw .leadWrap h2 {
	color: #b71313;
	font-size: 20px;
	margin-bottom: 1rem;
}
h2.line span {
	display: block;
	font-size: 1rem;
}
.fw h4.point {
	text-indent: -1em;
    padding-left: 1.5em;
}
ul.flex{
	display:flex;
	align-items:flex-end;
	justify-content: space-around;
	gap:1rem;
	align-items: start;
}
ul.flex li{
	width:50%;
	text-align: center;
	font-weight: bold;
}
.pack img{
	width: 100%;
	max-width:600px;
}
ol.disc{
	list-style:disc inside;
}
ol.disc.toc > li::marker  {
	font-weight:bold;
}
ol.disc li{
	margin:auto;
	padding-top:.5em;
}
ol.disc li:first-child{
	padding-top:0;
}
.fw ol > li.nonum {
	list-style: none;
}
.fw ol > li.nonum::before {
	content:"【まとめ】";
	font-weight: bold;
	margin-left:-1rem;
} 
#a01 p{
	overflow-wrap: break-word;
}
.fw h2 p{
	font-size: 1.2rem;
}
.indent {
	text-indent: 1em;
}
.container-flex {
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	align-items: flex-start;
}
.container-flex__01,.container-flex__img {
	width: calc((100% - 1rem) / 2);
}
.container-flex__img {
	text-align: center;
}
.container-flex__01.container-flex__01--col {
	display: flex;
	flex-direction: column;
}
.container-flex__01.container-flex__01--col img {
	width: 100%;
}
.container-flex-3col > div:first-of-type {
	width: calc((100% - 1rem) * 0.66);
}
.container-flex-3col > div:last-of-type {
	width: calc((100% - 1rem) * 0.34);
}
.container-flex-2col {
	align-items: stretch;
}
.container-flex-2col > .container-flex__img {
	background-color: #f2f2f2;
}
.container-flex-3col.container-flex-reverse > div:first-of-type {
	width: calc((100% - 1rem) * 0.34);
}
.container-flex-3col.container-flex-reverse > div:last-of-type {
	width: calc((100% - 1rem) * 0.66);
}
section#a01 figure.img15 img {
	padding: 0;
}
@media only screen and (min-width: 768px){
	img.mw600 {
		max-width: 600px;
	}
}
@media only screen and (max-width: 768px){
	.container-flex {
		display: flex;
		gap: 1rem;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	.container-flex__01,.container-flex__img {
		width: 100%;
	}
	.container-flex__01.container-flex__01--col {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.container-flex__01.container-flex__01--col img {
		width: 100%;
	}
	.container-flex-3col > div:first-of-type {
		width: 100%;
	}
	.container-flex-3col > div:last-of-type {
		width: 100%;
	}
	.container-flex-3col.container-flex-reverse > div:first-of-type {
		width: 100%;
	}
	.container-flex-3col.container-flex-reverse > div:last-of-type {
		width: 100%;
	}
	.container-flex-3col.container-flex-reverse {
		flex-direction: column;
	}
	img.mw600 {
		max-width: 100%;
	}
}

@media only screen and (max-width: 640px){
h2.line span {
	font-size: .9rem;
}
.fw h2 {
	font-size: 1.125rem;
}
}

/* ===============================================
# 20251001
=============================================== */
@media only screen and (max-width: 768px){
	ul.flex{
		flex-direction: column;
	}
	ul.flex li{
		width:90%;
		display: inline-block;
		margin: auto;
	}
}
a{
	word-break: break-all;
}
.container-flex {
	justify-content: space-between;
}
.container-flex__img {
	width: 150px;
}
.container-flex__01 {
	width: calc(100% - (150px + 1rem));
}
.survey-overview dl {
	width: 100%;
	display: flex;
}
.survey-overview dl dt {
	width: 10%;
	min-width: 6em;
}
.survey-overview dl dd {
	width: 85%;
	word-break: break-word;
}
@media only screen and (max-width: 768px){
	.container-flex {
		flex-direction: row;
		align-items: flex-start;
	}
	.container-flex__img {
		width: 135px;
	}
	.container-flex__01 {
		width: calc(100% - (135px + 1rem));
	}
}
.red_label{
	color: #fff;
	background-color: #b71313;
	padding: 10px 10px;
}
.annotation{
	font-size: 95%;
}
#a01 table tr:first-child{
	background-color: #efefef;
	text-align: center;
}
@media only screen and (max-width: 768px){
	#a01 table tr:first-child{
		display: none;
	}
}
@media only screen and (max-width: 768px){
	#a01 table tr th{
		background-color: #efefef;
	}
}
#a01 table th {
	width: 15%;
	background-color: transparent;
}
#a01 p.mt20 span{
	text-align: right;
	display: block;
}
#a01 sup{
	font-size: 8px;
}