@charset "utf-8";

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

	[ SIMULATE ] INPUT

*/
.p-simulate .c-pulldown button {
	font-size: 16px;
}
.p-simulate .form-input {
	position: relative;
	overflow: hidden;
	padding: 10px 25px 11px 25px;
	min-width: 260px;
	min-height: 50px;
	border: 1px solid #000;
	border-radius: 999px;
	font-weight: 500;
	font-family: inherit;
	font-size: 16px;
	line-height: normal;
}
.p-simulate .form-check-input[type="checkbox"] {
	width: 20px;
	height: 20px;
	border: 1px solid #000;
	border-radius: 5px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.p-simulate .form-check-input[type="checkbox"]:checked {
	border-color: var(--color-standard);
	background-color: var(--color-standard);
	background-image: url(../img/common/form-check.svg);
}
.p-simulate .form-label {
	display: flex;
	align-items: center;
}
.p-simulate .form-label .form-check-input {
	margin-right: 10px;
}
.p-simulate .row-inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.p-simulate .row-inline .c-pulldown,
.p-simulate .row-inline .form-input {
	margin-right: 10px;
}
.p-simulate .invalid-message {
	display: none;
	margin-top: 1rem;
	font-weight: 700;
	color: var(--color-red);
}
.p-simulate .plan-note {
	display: none;
}
/* SP */
@media only screen and (max-width: 768px) {
	.p-simulate .c-table,
	.p-simulate .c-table tbody,
	.p-simulate .c-table tr,
	.p-simulate .c-table th,
	.p-simulate .c-table td {
		display: block;
	}
	.p-simulate .c-table th,
	.p-simulate .c-table td {
		border-bottom-width: 0;
	}
	.p-simulate .c-table th {
		font-size: 16px;
	}
	.p-simulate .c-table tr:last-child td {
		border-bottom-width: 1px;
	}
	.c-table th, .c-table td {
			padding: 15px 15px;
	}
	.p-simulate .c-pulldown {
		display: block;
	}
	.p-simulate .c-pulldown button {
		width: 100%;
	}
	.p-simulate .row-inline .form-input {
		flex: 1;
	}
}

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

	[ SIMULATION ] RESULT

*/
.p-simulate .result-wrapper {
	height: 50vh;
}
.p-simulate .result-output {
	display: none;
}
.p-simulate .result-detail {
	margin: 40px auto 0 auto;
	padding: 40px;
	max-width: 600px;
	border: 3px solid var(--color-standard-bright);
	border-radius: 10px;
	text-align: center;
}
.p-simulate .result-detail .inner {
	margin: 0 auto;
	max-width: 330px;
}
.p-simulate .result-detail h4 {
	margin-top: 50px;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #333;
	font-size: 20px;
}
.p-simulate .result-detail h4:first-child {
	margin-top: 0;
}
.p-simulate .result-detail .price {
	font-size: 20px;
}
.p-simulate .result-detail .price em {
	font-size: 50px;
	color: var(--color-price);
}
.p-simulate .result-detail .list {
	display: table;
	margin-top: 10px;
	width: 100%;
	font-size: 20px;
	line-height: 1.6;
}
.p-simulate .result-detail .list dl {
	display: table-row;
}
.p-simulate .result-detail .list dt,
.p-simulate .result-detail .list dd {
	display: table-cell;
	vertical-align: top;
}
.p-simulate .result-detail .list dt {
	text-align: left;
}
.p-simulate .result-detail .list dd {
	text-align: right;
}
.p-simulate .result-co2 {
	margin: 40px auto 0 auto;
	max-width: 600px;
	background-color: #eaeef0;
}
.p-simulate .result-co2 h4 {
	position: relative;
	padding: 0.5em;
	background-color: #4a4a4a;
	color: #fff;
}
.p-simulate .result-co2 h4::after {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	left: 50%;
	margin: 0 0 0 -12px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 12px 0 12px;
	border-color: #4a4a4a transparent transparent transparent;
}
.p-simulate .result-co2 .outer {
	padding: 20px 0;
}
.p-simulate .result-co2 .inner {
	display: table;
	margin: 0 auto;
	font-size: 16px;
}
.p-simulate .result-co2 .block {
	display: flex;
	align-items: center;
	padding: 10px 0;
}
.p-simulate .result-co2 .block .head {
	margin-right: 40px;
	width: 100px;
	text-align: center;
}
.p-simulate .result-co2 .block .head img {
	margin: 0 auto;
	width: 48px;
}
.p-simulate .result-co2 .block .detail {
	display: flex;
	align-items: center;
}
.p-simulate .result-co2 .block .detail em {
	margin-top: -0.16em;
	padding: 0 0.3em;
	font-size: 36px;
	color: var(--color-standard);
}
.p-simulate .img01 {
	margin: 0 auto;
	max-width: 576px;
}

.p-simulate .result-loading {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100%;
}
.p-simulate .result-loading::before {
	content: '';
	display: block;
	width: 50px;
	padding: 8px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--color-blue-pure);
	--_m: 
		conic-gradient(#0000 10%,#000),
		linear-gradient(#000 0 0) content-box;
	-webkit-mask: var(--_m);
					mask: var(--_m);
	-webkit-mask-composite: source-out;
					mask-composite: subtract;
	animation: l3 1s infinite linear;
}
@keyframes l3 {to{transform: rotate(1turn)}}

.p-simulate .result-message {
	display: none;
	padding: 50px;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
}

/* SP */
@media only screen and (max-width: 768px) {
	.p-simulate .result-detail {
		margin: 20px auto 0 auto;
		padding: 25px 20px;
	}
	.p-simulate .result-detail .inner {
		max-width: initial;
	}
	.p-simulate .result-detail h4 {
		margin-top: 40px;
	}
	.p-simulate .result-co2 .block .head {
		margin-right: 15px;
	}
}