@charset "shift_jis";

/* /business/loan-diagnosis.html
--------------------------------- */
#ba-loan-diagnosis .txt-decoration-01 {
	text-align: center;
}
#ba-loan-diagnosis .txt-decoration-01 > span {
	display: inline-block;
	padding: 0 .5em;
}
#ba-loan-diagnosis .txt-decoration-01 > span::before,
#ba-loan-diagnosis .txt-decoration-01 > span::after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 1em;
	background-color: currentColor;
	vertical-align: text-top;
}
#ba-loan-diagnosis .txt-decoration-01 > span::before {
	margin-right: .75em;
	transform: rotate(-36deg);
}
#ba-loan-diagnosis .txt-decoration-01 > span::after {
	margin-left: .75em;
	transform: rotate(36deg);
}

#diagnosis {
	--c-primary: #3895ff;
	--c-frame: #ddd;
	--c-placeholder: #eee;
	--c-radio: #bababa;
	--c-text: #242323;
	--c-greytext: #606060;
	--c-white: #fff;
	--d-step: 360ms; /* Referenced by: /business/js/loan-diagnosis.js */
	--d-ui: 120ms;
	max-width: 640px;
	min-height: 500px;
	margin: 2em auto 0 auto;
}
#diagnosis.switching {
	position: relative;
}
#diagnosis.switching::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
}
#diagnosis :is(#question, .step, #result) {
	transform-origin: center center;
	transition-property: display, opacity, transform;
	transition-behavior: allow-discrete;
	transition-duration: var(--d-step);
}
#diagnosis :is(#question, .step, #result).show {
	display: block;
	opacity: 1;
	transform: scale(1);
	@starting-style {
		opacity: 0;
		transform: scale(.98);
	}
}
#diagnosis :is(#question, .step, #result):not(.show) {
	display: none;
	opacity: 0;
	transform: scale(.96);
	@starting-style {
		opacity: 1;
		transform: scale(1);
	}
}
#diagnosis .progress {
	max-width: 340px;
	margin: 4px auto 24px auto;
}
#diagnosis #progress-wrap {
	position: relative;
	width: 100%;
	height: 4px;
	overflow: hidden;
	border-radius: 2px;
	background-color: var(--c-placeholder);
}
#diagnosis #progress-bar {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 4px;
	overflow: hidden;
	border-radius: 2px;
	background-color: var(--c-primary);
	transition: width var(--d-step);
}
#diagnosis #progress-txt {
	position: absolute;
	top: -999em;
	left: -999em;
}
#diagnosis .step {
	min-height: 300px;
	border-radius: 8px;
	border: 1px solid var(--c-frame);
	padding: 15px;
	font-size: 16px;
}
#diagnosis .q-txt {
	padding: 8px 0 16px 0;
	font-weight: bold;
	text-align: center;
}
#diagnosis .q-item {
	margin-top: 16px;
}
#diagnosis .q-item > label {
	position: relative;
	display: block;
	cursor: pointer;
}
#diagnosis .q-item > label > :is(input, span) {
	border-radius: 8px;
}
#diagnosis .q-item > label > input {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	appearance: none;
	margin: 0;
}
#diagnosis .q-item > label > span {
	position: relative;
	z-index: 2;
	display: block;
	border: 1px solid var(--c-frame);
	padding: calc(1em - 1px) 8px calc(1em - 1px) 48px;
	background-color: var(--c-white);
	color: var(--c-greytext);
	font-weight: bold;
	outline: 2px solid transparent;
	outline-offset: -2px;
	transition-property: border-color, color, outline-color;
	transition-duration: var(--d-ui);
}
#diagnosis .q-item > label > span::before,
#diagnosis .q-item > label > span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 18px;
}
#diagnosis .q-item > label > span::before {
	width: 20px;
	height: 20px;
	margin-top: -10px;
	border-radius: 10px;
	border: 1px solid var(--c-radio);
	transition: border-color var(--d-ui);
}
#diagnosis .q-item > label > span::after {
	width: 10px;
	height: 10px;
	margin: -5px 0 0 5px;
	border-radius: 5px;
	background-color: var(--c-radio);
	opacity: 0;
	transition-property: background-color, opacity;
	transition-duration: var(--d-ui);
}
#diagnosis .q-item > label:hover > span,
#diagnosis .q-item > label > input:is(:hover, :focus, :active) + span {
	border-color: var(--c-radio);
	color: var(--c-text);
}
#diagnosis .q-item > label > input:checked + span {
	color: var(--c-primary);
	outline-color: var(--c-primary);
}
#diagnosis .q-item > label > input:checked + span::before {
	border-color: var(--c-primary);
}
#diagnosis .q-item > label > input:checked + span::after {
	background-color: var(--c-primary);
	opacity: 1;
}
#diagnosis #result {
	border-radius: 8px;
	border: 1px solid var(--c-frame);
	padding: 15px 15px 3px 15px;
}
#diagnosis .hdg-result {
	margin: 12px 0 20px 0;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
#diagnosis .recommend {
	display: none;
}
#diagnosis .recommend.show {
	display: block;
}
#diagnosis :is(.presence, .absence) {
	position: relative;
	margin-bottom: 24px;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
}
#diagnosis .presence {
	padding-top: 104px;
}
#diagnosis .absence {
	padding-top: 96px;
}
#diagnosis :is(.presence, .absence)::before {
	content: "";
	position: absolute;
	top: 0;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
}
#diagnosis .presence::before {
	left: calc(50% - 44px);
	width: 88px;
	height: 88px;
	background-image: url(/common/images/com_success001.png);
}
#diagnosis .absence::before {
	left: calc(50% - 46px);
	width: 92px;
	height: 80px;
	background-image: url(/common/images/com_ic013.svg);
}
#diagnosis .note-01 {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
	font-size: 11px;
}
#diagnosis :is(.btn-cv-02, .btn-cv-03) > :is(a, button) {
	max-width: 360px;
	min-width: inherit;
	width: 100%;
	padding: .75em 8px;
	font-size: 14px;
}
