/******************
User custom CSS
---------------

In this file you can add your own custom CSS
It will be loaded last, so you can override any other property.
Also, it will never be updated. So if you inheritate a core template and just add here some CSS, you'll still benefit of all the updates
*/

:not(#_):not(#_):not(#_):root {
	--major_heading_font_size: 1.75rem;

	font-size: revert;
}
@media only screen and (max-device-width: 760px) {
	/* スマートフォン用の上書きスタイル */
	:not(#_):not(#_):not(#_):root {
		--major_heading_font_size: 1rem;
	}
}

:not(#_):not(#_):not(#_) {
	& body {
		font-family: sans-serif;
		font-size: 1rem;
	}
	& .survey-description {
		text-align: revert !important;
		color: revert !important;
	}
	& .target_performance_period {
		font-size: 2rem;
	}
	& .due_date {
		font-size: 1.5rem;
		font-weight: bolder;
	}

	/* アウトラインを表示 */
	& :is(
		.radio-item input[type="radio"]:focus + label::before,
		input[type="radio"]:focus,
		input[type="checkbox"]:focus,
		.btn-primary:focus,
		.btn:focus,
		.btn:active:focus,
		.btn.active:focus,
		.btn.focus,
		.btn:active.focus,
		.btn.active.focus
	) {
		outline: revert;
	}
	& input:focus-visible + label::before {
		outline-width: 2px;
		outline-style: solid;
		outline-offset: revert;
	}

	/* 邪魔なマージン、パディングを削除 */
	& .row {
		margin: revert;
	}
	& .row > * {
		padding: revert;
	}

	/* 右上のナビゲーションの薄い色を解除 */
	& :where(.navbar-light .navbar-nav .nav-link) {
		color: unset;
	}

	/* 説明欄の下に文章を置くため、デフォルトのスタイルを上書き */
	/* .group_descriptionに説明欄のスタイルを移動するため、もともとの説明欄のスタイルを無効化 */
	& .well {
		margin-block: revert;
		border-style: revert;
		background-color: revert;
		box-shadow: revert;
	}
	/* ページ見出しの次の説明欄 .wellからスタイルを持ってくる */
	& .group_description {
		min-block-size: 1.25rem;
		margin-block: 1rem;
		border-style: solid;
		border-width: 1px;
		border-color: #e3e3e3;
		border-radius: 4px;
		padding-block: 0.5rem;
		padding-inline: 0.5rem;
		background-color: #f5f5f5;
		box-shadow: inset 0 1px 1px rgba(0,0,0,.05);

		> p {
			margin-block: revert;
		}
	}
	& .group_title {
		margin-block: revert;
		font-size: var(--major_heading_font_size);
		text-align: center;
	}


	/* 質問番号、質問の対象を太字に */
	& :is(
		.total_amount, /* 総額 */
		.loan_balance, /* 借入総残高 */
		.question_number, /* 質問番号 */
		.question_target, /* 質問の対象 */
	) {
		font-style: normal;
		font-weight: bolder;
	}

	& .input_percentage input:invalid {
		background-color: #ffeeee;
	}
	& .exclusion_list {
		display: none;
	}

	/* 問6~8見出し */
	& .question_heading_container {
		border-style: revert;
		box-shadow: revert;
		background-color: revert;

		& .question_heading {
			margin-block: 1rem;
			font-size: var(--major_heading_font_size);
			text-align: center;
		}
	}
	/* 問7-2 コメントを記入できるのは11だけで、"選択時のみコメント記入"の文字列は不自然なため隠す */
	& [id="vmsg_1549_commented_checkbox"] {
		display: none;
	}
	/* 問7-3 コメントを記入できるのは10と11だけで、"選択時のみコメント記入"の文字列は不自然なため隠す */
	& [id="vmsg_1456_commented_checkbox"] {
		display: none;
	}

	/* 最終入力確認 */
	& .input_confirmation {
		& dt {
			font-weight: revert;
			& p {
				margin-block-start: 0;
				margin-block-end: 0;
			}
		}
		& dd {
			margin-block-start: 0;
			margin-block-end: 0;
			margin-inline-start: 2rem;
			margin-inline-end: 0;
		}
		& dt + dd {
			margin-block-start: 0.5rem;
		}
		& dd + dt {
			margin-block-start: 1.5rem;
		}
	}
	/* 入力確認見出し */
	& .confirmation_heading {
		margin-block-start: 0.5rem;
		margin-block-end: 0.5rem;
		font-size: 1.125rem;
	}
	/* 入力確認 B欄 借入金額上位3 */
	& .borrowing_table {
		margin-block: 1rem;
		caption-side: revert;
		overflow-wrap: anywhere;

		> :where(caption) {
			padding: revert;
			text-align: start;
			color: revert;
		}
		& :where(th, td) {
			padding-block: 0.25rem;
			padding-inline: 0.25rem;
		}
		& :where(.numeric_cell) {
			text-align: end;
			font-family: monospace;
		}
	}

	/* グリッド指定 */
	& .question-container {
		margin-block: 1rem;
		padding-block: 0.5rem;
		padding-inline: 0.25rem;
	}
	& :is(
		.has_choices_question
	) {
		& .row > * {
			width: revert;
		}
		& .checkbox-item {
			padding: revert;
		}

		& .list-unstyled {
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(min(100%, 26.5rem), 1fr));
			column-gap: 0.125rem;
			row-gap: 0.125rem;
			inline-size: 100%;
			padding-inline: 0;

			> li {
				margin-block-start: 0;
				margin-block-end: 0;
				margin-inline-start: 0;
				margin-inline-end: 0;
				padding-inline-start: 1.5rem;
			}

　　　　	> .answer-item:has(.othertext-label-checkox-container) {
				grid-column: 1 / -1;
			}
			& label {
				padding-inline: revert;
			}
		}
	}
	/* 数字 (複数入力) のテキストがおかしい件対策 */
	& .input_multiple_numeric .em_value_range {
		display: none;
	}

	& .list-unstyled {
		padding: revert;
	}

	/* テーブル見出し右寄せの修正 */
	.ls-answers tbody .answertext {
		text-align: start;
	}
}

@media (width >= 32rem) {
	/* 質問を重ね、選択肢を横並びにする */
	:not(#_):not(#_):not(#_) {
		& .matrix_question_group {
			display: grid;
			grid-template-columns: 16rem repeat(auto-fit, 10rem);
			grid-template-rows: repeat(4, auto);
			column-gap: 0.25rem;
			row-gap: 0.25rem;
			margin-block: 0;
			margin-inline: 0.5rem;
			border-style: none;
			box-shadow: revert;

			& div {
				border-style: none;
				padding-block: 0;
				padding-inline: 0;
			}
			& .question-title-container {
				grid-column: 1;
			}
			& .question-valid-container {
				display: none;
			}
			& .answer-container {
				display: grid;
				grid-template-columns: subgrid;
				grid-auto-rows: auto;
				grid-column: 2 / -1;
				grid-row: 1 / -1;

				& .ls-answers {
					display: contents;

					& .list-unstyled {
						display: contents;

						> li {
							margin-block: 0;
							margin-inline: 0;
						}
						> .answer-item:has(.othertext-label-checkox-container) {
							grid-column: 1 / -1;
						}
						& label {
							padding-inline: revert;
						}
					}
				}
			}
		}
	}
}
@media print {
	:not(#_):not(#_):not(#_) {
		/* Firefox対策 ヘッダーがコンテンツに重なる */
		& :is(.fixed-bottom, .fixed-top) {
			position: revert;
		}

		/* 印刷の際に、印刷の説明を非表示に */
		& .print_description {
			display: none;
		}

		/* ラジオボタンの選択状態が印刷されない問題対策 */
		& :is(.radio-item, .checkbox-item) {
			& label::before,
			& label::after {
				content: normal;
			}
		}
		& .radio-item input[type="radio"],
		& .checkbox-item input[type="checkbox"] {
			position: revert;
			opacity: revert;
		}
	}
}

.with_comments .question-valid-container.text-info.col-12 {
    display: none !important;
}

.question-text {
    font-size: 16px !important;
}

#question13107 .answer-item {
    display: inline-block;
    margin: 0px;
    padding:0px; /* ハイフンの内側の余白をなくす */
    vertical-align: 0px; /* テキストボックスの高さをハイフンに揃える */
    width: 120px; /* テキストボックスの幅を調整（必要に応じて変更可能） */
}

.inline-hyphen {
    margin-left: -40px;
    margin-right: 0px;
}



