@charset "utf-8";

/* ------------------------------
    index
------------------------------ */

/* common */

.btn_grad a {
	background: linear-gradient( to right, #8bad25, #598e35);
}
.btn_grad.white a {
	background: #fff;
	color: #598e35;
	border-color: #598e35;
}
.btn_grad.white a::after {
	border-color: #598e35;
}

.sec_ttl .en {
	color: #598e35;
}
.sec_ttl .en span::before,
.sec_ttl .en span::after {
	background: #598e35;
}

.attention_wrap {
	border-color: #598e35;
}
.attention_wrap .ttl {
	background: linear-gradient( to right, #8bad25, #598e35);
}
.attention_wrap .ttl .btn::before,
.attention_wrap .ttl .btn::after {
	background: #598e35;
}

#sec_mv .bg {
	background: #f7f9f5;
}

/* sec_simulation */

#sec_simulation label {
	display: inline-block;
	font-size: 2.0rem;
	line-height: 1.8;
}
#sec_simulation input[type='text'],
#sec_simulation input[type='email'],
#sec_simulation input[type='tel'],
#sec_simulation textarea,
#sec_simulation select {
	font-size: 2.0rem;
}
#sec_simulation input[type='text'],
#sec_simulation input[type='email'],
#sec_simulation input[type='tel'],
#sec_simulation textarea,
#sec_simulation select {
	background: #fff;
	padding: 0 1em;
}
#sec_simulation textarea {
	line-height: 1.8em;
	padding: 1em;
}
#sec_simulation input[type='text'],
#sec_simulation input[type='email'],
#sec_simulation input[type='tel'],
#sec_simulation select {
	line-height: 2.4em;
	height: 2.4em;
}
#sec_simulation input[type='radio'],
#sec_simulation input[type='checkbox'] {
	visibility: hidden;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
#sec_simulation input[type='radio'] + span,
#sec_simulation input[type='checkbox'] + span {
	position: relative;
	padding-left: 1.5em;
	background: url(../images/radio_off.png) no-repeat left center / 1.2em auto;
}
#sec_simulation input[type='radio']:checked + span,
#sec_simulation input[type='checkbox']:checked + span {
	background-image: url(../images/radio_on.png);
}
#sec_simulation .select {
	display: inline-block;
	position: relative;
}
#sec_simulation select {
	background: #fff;
	padding-right: 2em;
}

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

	#sec_simulation input[type='text'],
	#sec_simulation input[type='email'],
	#sec_simulation input[type='tel'],
	#sec_simulation textarea,
	#sec_simulation select {
		font-size: 16px;
		padding: 0 .5em;
	}
	#sec_simulation textarea {
		padding: .5em;
	}
	#sec_simulation input[type='text'],
	#sec_simulation input[type='email'],
	#sec_simulation input[type='tel'],
	#sec_simulation select {
		line-height: 2.2em;
		height: 2.2em;
	}
	#sec_simulation select {
		padding-right: 2em;
	}

}

#sec_simulation {
	background: #f4f4f4;
}
#sec_simulation .border_box {
	border-bottom: 2px solid #aaa;
	padding: 6rem 0;
}
#sec_simulation > .wrap {
	padding: 6rem 0;
}
#sec_simulation .sec_ttl .sttl span {
	display: inline-block;
	font-size: 3.6rem;
	line-height: 1.4;
	font-weight: bold;
	padding: 0 1.5em;
	position: relative;
}
#sec_simulation .sec_ttl .sttl span::before,
#sec_simulation .sec_ttl .sttl span::after {
	content: '';
	background: url(../images/simulation_sttl.png) no-repeat center / contain;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2.8rem;
	height: 4.2rem;
}
#sec_simulation .sec_ttl .sttl span::after {
	left: auto;
	right: 0;
	transform: translateY(-50%)scale(-1,1);
}
#sec_simulation .guide_wrap {
	background: #eaeaea;
	padding: 2rem;
	margin: 3rem 0 2rem;
}
#sec_simulation .guide_wrap .kome li {
	padding-left: 1em;
	text-indent: -1em;
	font-size: 1.4rem;
}
#sec_simulation .guide_wrap .kome li::before {
	content: '※';
}
#sec_simulation .input_form table {
	width: 100%;
	border-collapse: collapse;
	margin: 3rem 0 4rem;
	background: #fff;
}
#sec_simulation .input_form table th {
	background: linear-gradient( to right, #57ac49, #007c64);
	color: #fff;
	font-size: 2.0rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	padding: 1.5em;
	width: 30%;
	border-bottom: 3px solid #fff;
}
#sec_simulation .input_form table tr:last-child th {
	border-bottom: none;
}
#sec_simulation .input_form table td .inner {
	border: 3px solid #57ac49;
	border-left: none;
	border-bottom: none;
	font-size: 2.0rem;
	line-height: 1.6;
	padding: 1.5em 3em;
}
#sec_simulation .input_form table tr:last-child td .inner {
	border-bottom: 3px solid #57ac49;
}
#sec_simulation .input_form .select {
	margin-right: .5em;
	vertical-align: bottom;
}
#sec_simulation .input_form .select::after {
	content: '';
	position: absolute;
	right: .5em;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .8rem .6rem 0 .6rem;
	border-color: #ccc transparent transparent transparent;
	pointer-events: none;
}
#sec_simulation .input_form select {
	border: 1px solid #ccc;
	border-radius: 1rem;
	padding: 0 1.5em;
}
#sec_simulation .input_form .age_wrap {
	border-top: 1px dashed #aaa;
	margin-top: 2rem;
	padding-top: 2rem;
	text-align: center;
	font-weight: bold;
}
#sec_simulation .input_form .age_wrap .big {
	font-size: 3.0rem;
}
#sec_simulation .input_form .age_wrap .red {
	color: #e60031;
	font-size: 1.4rem;
}
#sec_simulation .input_form .btn_grad a {
	background: linear-gradient( to right, #f2940a, #f55600);
	width: 54rem;
	height: 8.6rem;
	font-size: 2.8rem;
}

#sec_simulation .result_wrap {
	background: #fff;
	border: 3px solid #f55600;
	padding: 10rem 3rem 3rem;
	margin: 3rem 0 6rem;
}
#sec_simulation .result_wrap .ttl {
	color: #fff;
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
#sec_simulation .result_wrap .resultOK {
	padding-bottom: 3rem;
	margin-bottom: 3rem;
	border-bottom: 1px dashed #aaa;
}
#sec_simulation .result_wrap .resultOK p {
	font-size: 3.4rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
}
#sec_simulation .result_wrap .resultOK p .big {
	font-size: 150%;
	color: #e6002d;
}
#sec_simulation .result_wrap .resultOK .invisible {
	display: none;
}
#sec_simulation .result_wrap .resultError p {
	margin: 1rem 0 4rem;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}
#sec_simulation .result_wrap table {
	width: 100%;
	border-collapse: collapse;
}
#sec_simulation .result_wrap table th,
#sec_simulation .result_wrap table td {
	font-size: 1.6rem;
	line-height: 1.6;
	text-align: left;
	padding: 1em 2em;
	border: 1px solid #aaa;
}
#sec_simulation .result_wrap table th {
	background: #ee7573;
	color: #fff;
	width: 35%;
	font-weight: bold;
}
#sec_simulation .result_wrap table thead th,
#sec_simulation .result_wrap table thead td {
	background: #ea5350;
	color: #fff;
	font-size: 2.0rem;
	padding: .5em;
	text-align: center;
	vertical-align: middle;
}
#sec_simulation .result_wrap table th .flex {
	align-items: center;
}
#sec_simulation .result_wrap table th .hatena {
	width: 2.2rem;
	height: auto;
}
#sec_simulation .result_wrap label {
	font-size: 1.6rem;
}
#sec_simulation .result_wrap label + label {
	margin-left: 2em;
}
#sec_simulation .result_wrap input[type='text'],
#sec_simulation .result_wrap input[type='email'],
#sec_simulation .result_wrap input[type='tel'],
#sec_simulation .result_wrap textarea,
#sec_simulation .result_wrap select {
	font-size: 1.6rem;
}
#sec_simulation .result_wrap .select::after {
	content: '';
	position: absolute;
	right: .5em;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .8rem .6rem 0 .6rem;
	border-color: #ff8e14 transparent transparent transparent;
	pointer-events: none;
}
#sec_simulation .result_wrap select {
	background: #f4f4f4;
	width: 28rem;
}
#sec_simulation .result_form .btn_grad a {
	background: url("../images/simulation_result_btn.png") no-repeat center / contain;
	width: 54rem;
	height: 8.6rem;
	font-size: 2.8rem;
}
#sec_simulation .result_form .btn_grad a::after {
	left: 3rem;
	transform: translateY(-50%)scale(-1,1)rotate(45deg);
}
#sec_simulation .result_form .print_txt {
	text-align: center;
	margin: 2rem 0;
}
#sec_simulation .result_form .print_txt a {
	display: inline-block;
	border-bottom: 2px solid #007c64;
	color: #007c64;
	font-size: 2.2rem;
	line-height: 1.4;
	font-weight: bold;
}
#sec_simulation .result_form .print_txt a .ico {
	width: 1em;
	height: 1em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: .3em;
}
#sec_simulation .result_form .note {
	margin: 4rem 3rem 0;
}
#sec_simulation .result_form .note li {
	font-size: 1.4rem;
	margin: 0;
	padding-left: 1em;
	text-indent: -1em;
}
#sec_simulation .result_form .note li::before {
	content: '※';
}
#sec_simulation .result_form .note li .no-padding {
	display: block;
	text-indent: 0;
	margin-left: -1rem;
}
#sec_simulation .bg_grey {
	background: #fff;
	padding: 6rem 0;
}
#sec_simulation .bg_grey .bnr {
	margin-top: 6rem;
}
#sec_simulation .bg_grey .note {
	margin-top: 3rem;
}
#sec_simulation .bg_grey .note li {
	padding-left: 1.5em;
	text-indent: -1.5em;
}
#sec_simulation .bg_grey .note li + li {
	margin-top: .5em;
}
#sec_simulation .bg_grey .note li::before {
	content: '●';
	margin-right: .5em;
}

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

	#sec_simulation .sec_ttl .sttl span {
		font-size: 2.2rem;
	}
	#sec_simulation .sec_ttl .sttl span::before,
	#sec_simulation .sec_ttl .sttl span::after {
		width: 2rem;
		height: 3rem;
	}
	#sec_simulation .input_form table,
	#sec_simulation .input_form table tbody,
	#sec_simulation .input_form table thead,
	#sec_simulation .input_form table tr,
	#sec_simulation .input_form table th,
	#sec_simulation .input_form table td {
		display: block;
		width: 100%;
	}
	#sec_simulation .input_form table th {
		font-size: 2.4rem;
		padding: .5em;
		border: none;
	}
	#sec_simulation .input_form table td .inner {
		border-left: 3px solid #57ac49;
		border-top: none;
		padding: 3rem;
	}
	#sec_simulation .input_form table .flex {
		flex-wrap: wrap;
	}
	#sec_simulation .input_form table .flex > *:nth-child(n+2) {
		margin-top: 1em;
	}
	#sec_simulation .input_form table .flex > *:first-child select {
		padding: 0 3.5em;
	}
	#sec_simulation .input_form table td:last-child {
		text-align: center;
	}
	#sec_simulation .input_form table td:last-child label {
		margin: 0 1em;
	}
	#sec_simulation .input_form .btn_grad a,
	#sec_simulation .result_form .btn_grad a {
		font-size: 2.0rem;
		width: 90%;
		height: 7rem;
	}
	#sec_simulation .result_form .btn_grad a {
		background: linear-gradient( to right, #57ac49, #007c64);
		font-size: 2.0rem;
		width: 90%;
		height: 7rem;
	}
	#sec_simulation .result_wrap {
		padding-top: 8rem;
		margin-bottom: 3rem;
	}
	#sec_simulation .result_wrap .ttl {
		background: linear-gradient( to right, #f2940a, #f55600);
/*		font-size: 2.8rem;*/
		font-size: 2.5rem;
		line-height: 1.568;
		padding: .336em;
	}
	#sec_simulation .result_wrap .resultOK p {
		font-size: 2.8rem;
	}
	#sec_simulation .result_wrap .resultOK p .big {
		font-size: 130%;
	}
	#sec_simulation .result_wrap table th,
	#sec_simulation .result_wrap table td {
		/*font-size: 16px;*/
		padding: .8em;
		white-space: nowrap;
	}
	#sec_simulation .result_wrap table th {
		white-space: nowrap;
		width: auto;
		text-align: center;
	}
	#sec_simulation .result_wrap table th .flex {
		justify-content: center;
	}
	#sec_simulation .result_wrap table th .hatena {
		margin-left: .3em;
	}
	#sec_simulation .result_wrap .select {
		display: block;
	}
	#sec_simulation .result_wrap select {
		width: 100%;
	}
	#sec_simulation .result_wrap label + label {
		margin-left: .5em;
	}
	#sec_simulation .result_form .note {
		margin: 4rem 0 0;
	}

}

/* popup */

.popup_wrap {
	background: #fff;
	max-width: 100rem;
	width: 90%;
	border-radius: 1rem;
	padding: 4rem 6rem 6rem;
	margin: 0 auto;
	position: relative;
}
.popup_wrap .ttl {
	font-size: 4.0rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	padding-bottom: .7em;
	margin-bottom: .7em;
	position: relative;
}
.popup_wrap .ttl::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 6rem;
	height: 6px;
	background: #e6002d;
}
.popup_wrap .note li {
	padding-left: 1.5em;
	text-indent: -1.5em;
	font-size: 1.6rem;
}
.popup_wrap .note li::before {
	content: '●';
	margin-right: .5em;
}
.popup_wrap .note a {
	color: #e6002d;
	border-bottom: 1px solid #e6002d;
}
.mfp-close {
	transform: translateY(-100%);
	top: -2rem;
	font-size: 0;
	color: transparent;
	opacity: 1;
	transition: opacity .3s ease;
}
.mfp-close:active {
	top: -2rem;
}
.mfp-close:hover {
	opacity: .6;
}
.mfp-close::before,
.mfp-close::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%)rotate(45deg);
	width: 5px;
	height: 5rem;
	background: #fff;
}
.mfp-close::after {
	transform: translate(-50%,-50%)rotate(-45deg);
}
.mfp-close-btn-in .mfp-close {
	color: #fff;
}

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

	.popup_wrap {
		padding: 3rem;
	}
	.popup_wrap .ttl {
		font-size: 3.0rem;
	}
	.popup_wrap .ttl::after {
		height: 3px;
	}

}

/* -----------------
2022.09.12追加
-------------------- */
#sec_simulation .result_form .sp_result_form_fixed .btn_grad a {
	background: linear-gradient( to right, #8bad25, #598e35);
}
