
@media screen and (min-width: 1124px) {

	table.tbl:not(.no_hilight) tbody tr:hover {
		background-color: #fed;
	}
	table.tbl:not(.no_hilight) tbody tr td:nth-child(n+2):hover  {
		background-color: #fc9;
	}

	label.matrix {
		padding: 0.6rem !important;
	}
	label.matrix .btn_radio,
	label.matrix input[type=radio] {
		padding: 0;
		margin: 0 !important;
	}

	.progress_bar_area {
		height: 30px !important;
	}
	.btn_s.modaal {
		float: right;
		display: inline-block;
		text-decoration: none;
		border-radius: 0.8rem !important;
/*		border: 2px #f66 solid !important;
		color: #f66 !important;
		background: #fff6f6 !important; */
		font-size: 0.85rem !important;
		width: calc(210px + 3.8rem);
		text-align: center;
		margin-bottom: 3px;
	}

	div.flex {
		display: flex; /* 子要素を横方向に並べる */
		align-items: flex-start; /* 上辺に揃える */
		justify-content: center; /* 横方向の中央寄せ */
	}
	div.flex > div.line1,
	div.flex > div.line2 {
		float: left;
		text-align: center;
		width: 1.1rem;
	}
	div.flex > div.line2 {
/*		margin-left: 0.4rem; */
	}

	#tbl-Q20,
	#tbl-Q23 {
		width: 100%;
		table-layout: fixed;
/*		margin-bottom: 1rem; */
	}
	.tbl-Q23 {
		border: 1px #666 solid;
	}
	#tbl-Q20 th,
	#tbl-Q23 th {
		text-align: center;
		background: #666;
		color: #fff;
		font-size: 0.85rem;
		border: 1px #fff solid;
	}
	#tbl-Q20 tbody td,
	#tbl-Q23 tbody td {
		width: 25%;
		background: #fff;
	}
	.tbl-Q23 tbody td {
		padding: 0.2rem;
	}
	.Q20-img_area,
	.Q23-img_area {
		width: 100%;
		height: 300px; /* 任意の固定高さ */
		display: flex;
		justify-content: center;
		align-items: center;
		overflow: hidden;
	}
	.Q20-img_area img,
	.Q23-img_area img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		display: block;
	}
	.Q20-description,
	.Q23-description {
		color: #000 !important;
		text-align: center;
		font-size: 0.85rem;
		background: #eee;
	}
	#tbl-Q20a tbody td:first-child,
	#tbl-Q20b tbody td:first-child {
		width: 260px;
	}
	#tbl-Q20a tbody td label.matrix,
	#tbl-Q20b tbody td label.matrix {
		padding: 0.6rem 0.8rem !important;
	}
}

@media screen and (max-width: 1123px) {

	.tbl_sp tbody tr td:first-child {
		background: #f0f8ff !important;
	}
	table.tbl:not(.tbl_sp) tbody tr td:first-child {
		background-color: #fff !important;
	}
	textarea.otext {
		width: calc(100% - 1rem) !important;
	}
/*
	label {
		padding: 0.25rem 0.1rem !important;
	}
*/
	.progress_bar_area {
		height: 30px !important;
	}
	.btn_s.modaal {
		float: right;
		display: inline-block;
		text-decoration: none;
		border-radius: 0.8rem !important;
/*		border: 2px #f66 solid !important;
		color: #f66 !important;
		background: #fff6f6 !important; */
		font-size: 0.85rem !important;
		width: calc(160px + 3.8rem);
		text-align: center;
		margin-bottom: 3px;
	}

	table.tbl_sp > tbody > tr > th,
	table.tbl_sp > tbody > tr > td {
		padding: 0;
	}
	table.tbl_sp > tbody > tr > td:nth-child(2) {
		margin-top: 0.5rem;
	}
	table.tbl_sp > tbody > tr > td:last-child {
		margin-bottom: 1rem;
	}

	#tbl-Q20,
	#tbl-Q23 {
		width: 80%;
		table-layout: fixed;
		margin: 0 auto 1rem;
	}
	#tbl-Q20 th,
	#tbl-Q23 th {
		text-align: center;
		background: #666;
		color: #fff;
		font-size: 0.85rem;
	}
	#tbl-Q20 td,
	#tbl-Q23 td,
	.tbl_sp.tbl-Q23 > tbody > tr > td:first-child {
		border: 1px #666 solid !important;
		background: #fff !important;
	}
	.tbl_sp.tbl-Q23 > tbody > tr > td:first-child {
		padding: 0.2rem;
	}
	.Q20-img_area,
	.Q23-img_area {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		overflow: hidden;
	}
	.Q20-img_area {
		height: 150px;
	}
	.Q23-img_area {
		height: 220px;
	}
	.Q20-img_area a,
	.Q23-img_area a {
		display: block;
		width: 100%;
		height: 100%;
	}
	.Q20-img_area .Q20-img,
	.Q23-img_area .Q23-img {
/*
		width: 100%;
		height: 100%;
		object-fit: contain;
		display: block;
*/
		display: block;
		max-width: 100%;
		max-height: 100%;
		width: auto;
		height: auto;
		margin: 0 auto;
	}
	.Q20-description,
	.Q23-description {
		color: #000 !important;
		text-align: center;
		font-size: 0.85rem;
		background: #eee;
/*		margin-bottom: 0.5rem; */
	}

}

body {
	display: none;
}
h1.enqname {
	background: #008fa4;
	color: #fff;
	margin: 0;
	padding: 30px 0;
}
label span.code {
	display: none;
}
div.caution {
	background: none !important;
	border: 0 !important;
}

span.datetime {
	font-size: 0.72rem !important;
}
input.num {
	width: 4rem;
}
input:disabled,
textarea:disabled {
	background: #ddd;
}
.btn_radio,
input[type=radio],
.btn_checkbox,
input[type=checkbox] {
	margin-top: -0.05rem !important;
	margin-right: 1rem;
}
.m {
	vertival-align: middle;
}
.section {
	background: #eee;
	font-size: 1.2rem !important;
	border: 0 !important;
	color: #000 !important;
	text-align: left !important;
	margin: 20px 0 !important;
	padding: 0.5rem !important;
}
.section_after {
	color: #000;
	border: 1px #999 solid;
	background: #f6f6f6;
	font-size: 1rem;
	padding: 0.4rem;
	margin-bottom: 1rem;
}
.qsec0_title {
	font-weight: bold;
	font-size: 1.3rem;
	margin: 10px 0;
	background: #f0f0f0;
	padding: 0.5rem;
}
.qsec1_title {
	font-size: 1.15rem !important;
	color: #000 !important;
	text-align: left !important;
	font-weight: bold;
	margin: 20px 0 !important;
}
.sec1_after {
	margin-bottom: 20px;
}
#contents #main .qsec2 {
	font-size: 1rem !important;
	font-weight: bold;
	text-align: left !important;
}
.qsec2_title {
	font-size: 1rem !important;
	font-weight: bold;
	margin: 0 0 20px 20px !important;
}
.sec2_after {
	margin-bottom: 20px;
}
.qtitle_flex {
	display: flex;
	flex-direction: row;
	margin: 4px 0;
	padding: 8px;
	border: 0;
	background: #def;
	overflow: hidden;
}
.qtitle_flex .qnum_flex {
	float: left;
	width: auto;
	white-space: nowrap;
	margin-right: 1rem;
	font-weight: bold;
}
.qtitle_flex .qstr_flex {
	flex: 1 1 auto;
	font-weight: bold;
}
#contents #main .qtype {
	font-weight: bold;
}
.sa_clear {
	display: none;
}
.indent1 {
	text-indent: -1rem;
	margin-left: 1rem;
}
.indent1_5 {
	text-indent: -1.2rem;
	margin-left: 1.2rem;
}
.indent2 {
	text-indent: -2rem;
	margin-left: 2rem;
}
.qbranch_pre,
.qbranch_post {
	margin-top: 20px;
	color: #006ebc;
	font-size: 0.9rem;
}
/* 選択肢番号がないときはインデントを解除する */
.branch_ma td label,
.branch_sa td label {
	text-indent: 0rem;
	padding-left: 0rem;
}
.font_size_sw {
	display: none;
}

.btn_order {
	display: inline-block;
/*	border: 2px #999 solid; */
	border-radius: 12px;
	margin: 4px;
	padding: 4px 8px;
	background: lightblue;
	cursor: pointer;
	width: calc(100% - 26px);
}
.btn_order:hover {
	background: #edc;
}
.btn_order_clear {
	display: inline-block;
/*	border: 2px #999 solid; */
	border-radius: 12px;
	margin: 4px;
	padding: 4px 8px;
	background: #ddd;
	cursor: pointer;
}
.btn_order:hover,
.btn_order_clear:hover {
	background: #eee;
}

.qsec {
	color: #0070c0;
	text-align: center;
	margin: 30px 0;
	border: 5px #0070c0 double;
	padding: 4px;
	font-weight: normal;
	font-size: 20px;
}
.qtitle .qstr {
	float: left;
	margin-left: 2.5rem !important;
	padding-left: 0 !important;
}
.subtitle,
.sq {
	background-color: #eee;
	padding: 5px;
	font-weight: normal;
	margin: 20px 0 15px;
}

.navi_confirm:first-child {
	display: none;
}

#contents #main .qsec_title {
	font-weight: bold;
	font-size: 16pt;
	margin: 10px 0;
}
#contents #main .qsec2_title {
	font-weight: bold;
	font-size: 14pt;
	margin: 6px 0;
}
#contents #main .qbox {
	margin: 4px 0;
	padding: 8px;
/*	border: 1px #999 solid; */
	background: #def;
}
#contents #main .qbox .qnum {
	width: 3rem;
	float: left;
/*	font-weight: bold; */
/*	font-size: 12pt; */
}
#contents #main .qbox .qnum {
	float: left;
}
#contents #main .qbox .qstr {
	float: left;
	width: calc(100% - 4rem);
}
#contents #main .qmatrix,
#contents #main .qbranch {
	margin-top: 10px;
/*	width: calc(100% - 3rem); */
}
#contents #main .qbranch table {
	border-collapse: collapse;
}
#contents #main .qbranch table th,
#contents #main .qbranch table td {
	vertical-align: top;
	font-weight: normal;
}
#main .qbranch table tr td label {
/*	display: inline-block; */
/*	display: block; */
	padding-top: 0.1rem;
/*	padding-left: 1rem;
	text-indent: -1rem; */
}
#contents #main .qbranch table tr td span.code {
	margin-right: 0;
}
#contents #main .qmatrix table {
	border-collapse: collapse;
}
#contents #main .qmatrix table th,
#contents #main .qmatrix table td {
	font-weight: normal;
	padding: 3px;
}

#contents #main .qbottom_str {
	margin: 10px 4px;
	color: #666;
	font-size: 0.9rem;
}


.info2 {
	margin: 20px 0;
	border: 1px #999 solid;
	padding: 10px;
}
.principle {
	border: 6px #666 double;
	padding: 0.5rem;
	font-weight: normal;
	font-size: 1rem;
	margin: 0.5rem 0;
}
.qsec_title {
	background: #f0f0f0;
	padding: 0.5rem;
}

.blue {
	color: #00f !important;
}

#navi0 {
	display: none;
}
.u_wavy {
	text-decoration: underline;
	text-decoration-style: wavy;
}

ruby {
	ruby-position: over;
	line-height: 1.2;
}

rt {
	font-size: 0.6em;
/*	display: block; */
	line-height: 1;
}

/* Firefoxのみ厳しめに詰める */
@-moz-document url-prefix() {
	rt {
		transform: translateY(-5px);
		margin-bottom: -3px;
	}
}
#footer {
	background: #fff;
}
.code {
	display: none;
}

.modaal-container.fullscreen-modal {
	width: 100% !important;
	height: 100% !important;
	top: 0 !important;
	left: 0 !important;
}
span.url {
/*	word-wrap: break-word; */
	word-break: break-all;
}
.qcond,
.qsec3 {
/*
	color: #fff !important;
	background: #006ebc;
*/
	color: #006ebc !important;
	font-weight: bold !important;
}
