/* ---------------------------------------
  pagettl
-----------------------------------------*/

#pagettl {
	height: 400px;
	background-image: url(../img/simulation/simulation_pagettl_bg_pc.jpg);
	display: block;
	padding-top: 70px;
}

#pagettl .ttlwrap {
	position: relative;
	z-index: 10;
}

#pagettl .ttl .subttl {
	display: block;
	width: 403px;
	height: 90px;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	font-size: 42px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	background: url(../img/index/mv_balloon.svg) no-repeat;
	margin: 0 auto 4px;
}

#pagettl .ttl .subttl span {
	display: inline-block;
}

#pagettl .ttl .subttl span:nth-child(1) {
	color: #3aa2e1;
}

#pagettl .ttl .subttl span:nth-child(2) {
	color: #14a83b;
}

#pagettl .ttl .subttl span:nth-child(3) {
	color: #f39800;
}

#pagettl .ttl .subttl span:nth-child(4) {
	color: #e4007f;
}

#pagettl .ttl .mainttl {
	font-family: "Corporate Logo Bold", sans-serif;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

#pagettl .ttl .mainttl svg {
	display: inline-block;
	height: auto;
	overflow: visible;
}

#pagettl .ttl .mainttl svg text {
	font-size: 7.2rem;
}

#pagettl .ttl .mainttl svg:nth-child(1) text {
	font-size: 8.2rem;
}

#pagettl .ttl .mainttl svg .bg-1 {
	stroke: #fff;
	stroke-width: 10;
	stroke-linejoin: round;
}

#pagettl .ttl .mainttl svg:nth-child(1) .front,
#pagettl .ttl .mainttl svg:nth-child(2) .front {
	fill: #e4007f;
}

#pagettl .ttl .mainttl svg:nth-child(1) .bg-2,
#pagettl .ttl .mainttl svg:nth-child(2) .bg-2 {
	stroke: #e4007f;
	stroke-width: 16;
	stroke-linejoin: round;
}

#pagettl .ttl .mainttl svg:nth-child(3) .front {
	fill: #00a0e9;
}

#pagettl .ttl .mainttl svg:nth-child(3) .bg-2 {
	stroke: #3aa2e1;
	stroke-width: 16;
	stroke-linejoin: round;
}

#pagettl .ttl .mainttl svg:nth-child(1) {
	width: 273px;
}

#pagettl .ttl .mainttl svg:nth-child(2) {
	width: 161px;
	margin-left: -5px;
}

#pagettl .ttl .mainttl svg:nth-child(3) {
	width: 409px;
}

#pagettl .txt {
	display: block;
	margin-top: 28px;
	text-align: center;
}

#pagettl .txt svg text {
	text-align: center;
	font-weight: 700;
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
}

#pagettl .txt svg .bg-2 {
	stroke: #222222;
	stroke-width: 10;
	stroke-linejoin: round;
}

#pagettl .txt svg .bg-1 {
	stroke: #fff;
	stroke-width: 5;
	stroke-linejoin: round;
}

#pagettl .txt svg:nth-child(1) .front {
	fill: #e4007f;
}

#pagettl .txt svg:nth-child(2) .front {
	fill: #222222;
}

#pagettl .txt svg:nth-child(1) {
	width: 213px;
}

#pagettl .txt svg:nth-child(2) {
	width: 370px;
	margin-left: -4px;
}

#pagettl .illust {
	position: absolute;
	right: 91px;
	top: -8px;
}

@media screen and (min-width: 769px) {
	/*IE用*/
	#pagettl .ttl .mainttl svg:nth-child(1) {
		max-height: 88px;
	}
	#pagettl .ttl .mainttl svg:nth-child(2) {
		max-height: 93px;
	}
	#pagettl .ttl .mainttl svg:nth-child(3) {
		max-height: 81px;
	}
	#pagettl .txt svg {
		max-height: 45px;
	}
}

@media screen and (max-width: 768px) {
	#pagettl {
		height: 80vw;
		background-image: url(../img/simulation/simulation_pagettl_bg_sp.jpg);
		padding-top: 4.6vw;
	}
	#pagettl .ttl{
		text-align: center;
	}
	#pagettl .ttl .subttl {
		display: block;
		width: 55.6vw;
		height: 12vw;
		font-size: 5.87vw;
		margin: 3.8vw 0 -2vw 0;
	}
	#pagettl .ttl .mainttl {
		display: block;
	}
	#pagettl .ttl .mainttl svg:nth-child(1) {
		width: 55.73vw;
	}
	#pagettl .ttl .mainttl svg:nth-child(2) {
		width: 31.67vw;
		margin-left: -5px;
	}
	#pagettl .ttl .mainttl svg:nth-child(3) {
		width: 82vw;
	}
	#pagettl .txt {
		margin-top: 5vw;
		line-height: 1;
	}
	#pagettl .txt svg:nth-child(1) {
		width: 42.67vw;
	}
	#pagettl .txt svg:nth-child(2) {
		width: 74vw;
		margin-left: 0;
		margin-top: -1.4vw;
	}
	#pagettl .txt svg .bg-2 {
		stroke-width: 7;
	}
	#pagettl .txt svg .bg-1 {
		stroke-width: 3;
	}
	#pagettl .illust {
		width: 23.33vw;
		right: 6vw;
		top: -2vw;
	}
}


/* ---------------------------------------
  secttl
-----------------------------------------*/

#sec_simulation .secttl span:nth-child(1) svg {
	width: 331px;
}

#sec_simulation .secttl .strong::after {
	width: 357px;
	bottom: -8px;
}

#sec_simulation .secttl span:nth-child(2) svg {
	width: 326px;
	margin-left: -2px;
	z-index: -1
}

@media screen and (min-width: 769px) {
	/*IE用*/
	#sec_simulation .secttl span:nth-child(1) svg {
		max-height:52px;
	}
	#sec_simulation .secttl span:nth-child(2) svg {
		max-height:36px;
	}
}

@media screen and (max-width: 768px) {
	#sec_simulation .secttl {
		padding-bottom: 7vw;
	}
	#sec_simulation .secttl span:nth-child(1) {
		width: 100%;
		text-align: center;
	}
	#sec_simulation .secttl span:nth-child(1) svg {
		width: 59vw;
	}
	#sec_simulation .secttl .strong::after {
		width: 67vw;
		left: 0;
		right: 0;
		margin: 0 auto;
		bottom: -2vw;
		transform: translateX(4vw)
	}
	#sec_simulation .secttl span:nth-child(2) svg {
		width: 54.13vw;
		margin-left: 2.8vw;
		margin-top: 1.8vw;
	}
}


/* ---------------------------------------
  見積シミュレーション
-----------------------------------------*/


/*form関連*/

.form_box {
	border: 5px solid #222222;
}

.form_box .ttl {
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.5;
	background-color: #fff600;
	padding: .5em 40px;
	border-bottom: 5px solid #222222;
}

.form_box .inner {
	padding: 40px 40px 52px;
}

.form_box .tb {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 2px solid #222222;
	border-right: 2px solid #222222;
}

.form_box .tb th,
.form_box .tb td {
	vertical-align: text-bottom;
	border-bottom: 2px solid #222222;
	border-left: 2px solid #222222;
	line-height: 1.5;
	padding: 25px 20px;
}

.form_box .tb th {
	width: 350px;
	background-color: #e1e1e1;
	font-weight: 700;
	font-size: 2.2rem;
	vertical-align: top;
	padding-top: 27px;
}

.form_box .tb th span{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.form_box .tb td {
	width: 538px;
	font-weight: 700;
	font-size: 2.4rem;
	padding: 25px 30px;
}

.form_box .tb th .must {
	display: inline-block;
	width: 75px;
	height: 30px;
	text-align: center;
	line-height: 30px;
	font-weight: 700;
	font-size: 1.6rem;
	color: #fff;
	background: #e60012;
	border-radius: 15px;
	position: absolute;
	right: 0;
	top: 2px;
}


/*form*/

.form_box input,
.form_box select,
.form_box textarea {
	width: 100%;
	max-width: 100%;
	height: 40px;
	background: #FFFFFF;
	padding: 0 15px;
	font-size: 1.8rem;
	border: 2px solid #222222;
	border-radius: 5px;
}

.form_box input.short {
	width: 180px;
}

.form_box input.short+input.short {
	margin-left: 20px;
}

.form_box input+input:not(.short) {
	margin-top: 20px;
}

.form_box span.f-name {
	margin-left: 20px;
}

.form_box span.address {
	margin-top: 20px;
	display: inline-block;
}

.form_box textarea {
	height: 150px;
	padding: 10px;
}

::-webkit-input-placeholder {
	color: #bab9b9;
}

:-ms-input-placeholder {
	color: #bab9b9;
}

::placeholder {
	color: #bab9b9;
}


/*radio*/

.form_box .radio_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -8px;
}

.form_box .radio_list label {
	display: inline-block;
	margin-right: 30px;
	margin-bottom: 8px;
	margin-left: 8px;
	position: relative;
}

.form_box input[type=radio] {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	opacity: 0;
}

.form_box input[type=radio]+span {
	display: inline-block;
	position: relative;
	padding-left: 34px;
	line-height: 40px;
	cursor: pointer;
}

.form_box input[type=radio]+span::before {
	content: "";
	position: absolute;
	top: 9px;
	left: 0;
	border: 2px solid #222222;
	border-radius: 50%;
	width: 24px;
	height: 24px;
}

.form_box input[type=radio]:checked+span::before {
	border: 2px solid #e60012;
}

.form_box input[type=radio]:checked+span::after {
	content: "";
	position: absolute;
	top: 14px;
	left: 5px;
	background: #e60012;
	border-radius: 50%;
	width: 14px;
	height: 14px;
}


/*check*/

.form_box .check_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -8px;
}

.form_box .check_list label {
	display: inline-block;
	margin-right: 30px;
	margin-bottom: 8px;
	margin-left: 8px;
	position: relative;
}

.form_box input[type=checkbox] {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	opacity: 0;
}

.form_box input[type=checkbox]+span {
	display: inline-block;
	position: relative;
	padding-left: 34px;
	line-height: 40px;
	cursor: pointer;
}

.form_box input[type=checkbox]+span::before {
	content: "";
	position: absolute;
	top: 9px;
	left: 0;
	border: 2px solid #222222;
	border-radius: 5px;
	width: 24px;
	height: 24px;
}

.form_box input[type=checkbox]:checked+span::after {
	content: "";
	position: absolute;
	top: 7px;
	left: 2px;
	width: 23px;
	height: 22px;
	background: url(../img/contact/ico_check.png) no-repeat center / 100% auto;
}


/*submit*/

.submit {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 700px;
	height: 80px;
	background-color: #e60012;
	color: #fff;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1;
	letter-spacing: 0.05em;
	border-radius: 40px;
	padding: 0 90px;
	margin: 40px auto 0;
	box-shadow: 3px 4px #90040f;
}

.submit::before {
	content: "";
	width: 35px;
	height: 35px;
	border-radius: 100%;
	position: absolute;
	right: 45px;
	top: 50%;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-image: url(../img/common/ico_btn_white.png);
	transition: .3s ease;
}

.form_box .submit-k {
	position: relative;
}
.form_box .submit-k::before {
	content: "";
	width: 35px;
	height: 35px;
	border-radius: 100%;
	position: absolute;
	right: 15%;
	top: 50%;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-image: url(../img/common/ico_btn_white.png);
	transition: .3s ease;
	z-index: 1;
}

.form_box .submit-k input {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 700px;
	height: 80px;
	background-color: #e60012;
	color: #fff;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1;
	letter-spacing: 0.05em;
	border: 2px solid #e60012;
	border-radius: 40px;
	padding: 0 90px;
	margin: 40px auto 0;
	box-shadow: 3px 4px #90040f;
	cursor:pointer;
}


@media screen and (max-width: 768px) {
	.form_box {
		border: .8vw solid #222222;
	}
	.form_box .ttl {
		font-size: 4.8vw;
		padding: .5em 4.53vw;
		border-bottom: .8vw solid #222222;
	}
	.form_box .inner {
		padding: 7.47vw 4.53vw 11vw;
	}
	.form_box .tb {
		border-top: 1px solid #222222;
		border-right: 1px solid #222222;
	}
	.form_box .tb th,
	.form_box .tb td {
		display: block;
		border-bottom: 1px solid #222222;
		border-left: 1px solid #222222;
		padding: 5vw;
	}
	.form_box .tb th {
		width: 100%;
		font-size: 4.4vw;
		padding: 5.7vw 5vw;
	}
	.form_box .tb td {
		width: 100%;
		font-size: 4.4vw;
		padding: 5vw;
	}
	.form_box .tb th .must {
		width: 15.07vw;
		height: 6vw;
		line-height: 6vw;
		font-size: 3.2vw;
		border-radius: 3vw;
		top: 0;
	}
	/*form*/
	.form_box input,
	.form_box select,
	.form_box textarea {
		height: 9.33vw;
		padding: 0 2.4vw;
		font-size: 3.73vw;
		line-height: 1.3;
		border: 1px solid #222222;
		border-radius: .67vw;
	}
	.form_box input.short {
		width: 32vw;
	}
	.form_box input.short+input.short {
		margin-left: 3.2vw;
	}
	.form_box input+input:not(.short) {
		margin-top: 5vw;
	}
	.form_box textarea {
		height: 33.33vw;
		padding: 2.4vw;
	}
	/*radio*/
	.form_box .radio_list {
		display: block;
		margin-bottom: -4vw;
	}
	.form_box .radio_list label {
		display: block;
		margin-right: 0;
		margin-bottom: 4vw;
		margin-left: 0;
	}
	.form_box input[type=radio]+span {
		padding-left: 6.67vw;
		line-height: 1.4;
	}
	.form_box input[type=radio]+span::before {
		top: 1.4vw;
		left: 0;
		border: 1px solid #222222;
		width: 4.8vw;
		height: 4.8vw;
	}
	.form_box input[type=radio]:checked+span::before {
		border: 1px solid #e60012;
	}
	.form_box input[type=radio]:checked+span::after {
		top: 2.5vw;
		left: 1.1vw;
		width: 2.6vw;
		height: 2.6vw;
	}
	/*check*/
	.form_box .check_list {
		display: block;
		margin-bottom: -4vw;
	}
	.form_box .check_list label {
		display: block;
		margin-right: 0;
		margin-bottom: 4vw;
		margin-left: 0;
	}
	.form_box input[type=checkbox]+span {
		padding-left: 6.67vw;
		line-height: 1.4;
	}
	.form_box input[type=checkbox]+span::before {
		top: 1vw;
		left: 0;
		border: 1px solid #222222;
		width: 4.8vw;
		height: 4.8vw;
		border-radius: .67vw;
	}
	.form_box input[type=checkbox]:checked+span::after {
		top: .7vw;
		left: .5vw;
		width: 4.53vw;
		height: 4.3vw;
	}
	/*	submit*/
	.submit {
		width: 100%;
		height: auto;
		min-height: 17.33vw;
		font-size: 5.33vw;
		line-height: 1.3;
		letter-spacing: 0;
		border-radius: 100vh;
		padding: .658em 16vw .658em 9.87vw;
		margin: 10.67vw auto 0;
		box-shadow: .53vw .53vw #90040f;
	}
	.submit:before {
		width: 7.47vw;
		height: 7.47vw;
		right: 6.13vw;
	}

	.form_box .submit-k::before {
		width: 7.47vw;
		height: 7.47vw;
		right: 6.13vw;
		top: -1.4vw;
	}
	
	.form_box .submit-k input {
		width: 100%;
		height: auto;
		min-height: 17.33vw;
		font-size: 5.33vw;
		line-height: 1.3;
		letter-spacing: 0;
		border-radius: 100vh;
		padding: .658em 16vw .658em 9.87vw;
		margin: 10.67vw auto 0;
		box-shadow: .53vw .53vw #90040f;
	}
}


/* ---------------------------------------
  見積シミュレーション
-----------------------------------------*/

#sec_simulation {
	padding: 0 0 80px;
}

#sec_simulation .note_box {
	background-color: #f0f9ff;
	border: 5px solid #3aa2e1;
	padding: 18px 35px 30px;
	position: relative;
	margin-bottom: 80px;
}

#sec_simulation .note_box .ttl {
	margin-bottom: 25px;
}

#sec_simulation .note_box .ttl span {
	font-weight: 700;
	font-size: 2.4rem;
	padding: 0 .5em;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, rgba(2, 162, 64, 0)), color-stop(55%, #fff600), color-stop(55%, #fff600), to(#fff600));
	background: linear-gradient(180deg, rgba(2, 162, 64, 0) 55%, #fff600 55%, #fff600 55%, #fff600 100%);
}

#sec_simulation .note_box .illust {
	position: absolute;
	right: 83px;
	bottom: 0;
}

.simulation_wrap .form_txt {
	font-weight: 700;
	font-size: 1.8rem;
	margin-bottom: 1.5em;
}

.simulation_wrap .form_box+.form_box {
	margin-top: 40px;
}

.simulation_wrap .form_box .ttl {
	position: relative;
}

.simulation_wrap .form_box .ttl {
	padding-left: 140px;
}

.simulation_wrap .form_box .ttl .q_txt {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 94px;
	height: 94px;
	text-align: center;
	line-height: 30px;
	font-weight: 700;
	font-size: 3.876rem;
	padding-bottom: .3em;
	color: #fff;
	background: #222222;
	border-radius: 50%;
	position: absolute;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
}

.simulation_wrap .form_box .ttl .must {
	display: inline-block;
	width: 75px;
	height: 30px;
	text-align: center;
	line-height: 30px;
	font-weight: 700;
	font-size: 1.6rem;
	color: #fff;
	background: #e60012;
	border-radius: 15px;
	position: absolute;
	right: 26px;
	top: 20px;
}

.simulation_wrap .form_box .simulation_item+.simulation_item {
	margin-top: 40px;
}

.simulation_wrap .form_box .simulation_item .simulation_ttl {
	background-color: #14a83b;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.5;
	padding: 10px 20px;
	margin-bottom: 20px;
	color: #fff;
	border: 2px solid #222222;
	text-shadow: -3px -3px 0px #222222, -3px -2px 0px #222222, -3px -1px 0px #222222, -3px 0px 0px #222222, -3px 1px 0px #222222, -3px 2px 0px #222222, -3px 3px 0px #222222, -2px -3px 0px #222222, -2px 3px 0px #222222, -1px -3px 0px #222222, -1px 3px 0px #222222, 0px -3px 0px #222222, 0px 3px 0px #222222, 1px -3px 0px #222222, 1px 3px 0px #222222, 2px -3px 0px #222222, 2px 3px 0px #222222, 3px -3px 0px #222222, 3px -2px 0px #222222, 3px -1px 0px #222222, 3px 0px 0px #222222, 3px 1px 0px #222222, 3px 2px 0px #222222, 3px 3px 0px #222222;
}

.simulation_wrap .form_box .simulation_item .simulation_input.flex {
	justify-content: flex-start;
}

.simulation_wrap .form_box .simulation_item .simulation_input.flex>div {
	text-align: center;
}

.simulation_wrap .form_box .simulation_item .simulation_input.flex>div label {
	display: inline-block;
	cursor: pointer;
}

.simulation_wrap .form_box label{
	position: relative;
}

.simulation_wrap .form_box .simulation_item .simulation_input.flex>div img {
	display: block;
	width: 100%;
}

.simulation_wrap .form_box .simulation_item .simulation_input.col3>div {
	width: 270px;
}

.simulation_wrap .form_box .simulation_item .simulation_input.col4>div {
	width: 200px;
}

.simulation_wrap .form_box .simulation_item .simulation_input p {
	font-weight: 700;
	font-size: 2rem;
}

.simulation_wrap .form_box .simulation_item .simulation_input p+p,
.simulation_wrap .form_box .simulation_item .simulation_input img+p {
	margin: 25px 0 0;
}

.simulation_wrap .form_box .simulation_item .simulation_input p span {
	margin: 0 .3em;
}

.simulation_wrap .form_box .simulation_item.building_detail {
	display: flex;
	align-items: stretch;
	margin-top: 20px;
}

.simulation_wrap .form_box .simulation_item.building_detail>div {
	border-top: 2px solid #222;
	border-left: 2px solid #222;
	border-bottom: 2px solid #222;
	width: 32%;
}

.simulation_wrap .form_box .simulation_item.building_detail>div:last-child {
	border-right: 2px solid #222;
}

.simulation_wrap .form_box .simulation_item.building_detail>div:nth-child(2) {
	width: 36%;
}

.simulation_wrap .form_box .simulation_item.building_detail .simulation_ttl {
	margin-bottom: 0;
	border: none;
	border-bottom: 2px solid #222;
}

.simulation_wrap .form_box .simulation_item.building_detail .simulation_input {
	padding: 20px 20px 18px;
	position: relative;
	border-top: none;
}

.simulation_wrap .form_box .simulation_item.building_detail .simulation_input select {
	width: 100%;
}

.simulation_wrap .form_box .simulation_item.building_detail .simulation_input p.txt_s {
	margin-top: .5em!important;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.4;
}

div.errorBox {
	margin-top: .5em!important;
	margin-bottom: .5em!important;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.4;
}
.simulation_wrap .form_box .simulation_item.building_detail .simulation_input .conversion {
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background-color: #e60012;
	border: 2px solid #222222;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: -30px;
	bottom: -20px;
}

.simulation_wrap .form_box .simulation_item.building_detail .simulation_input .conversion p {
	text-align: center;
	color: #fff;
	font-weight: 400;
	font-size: 1.4rem;
	line-height: 1.16;
}

.simulation_wrap .form_box .simulation_item.building_detail .simulation_input .conversion p strong {
	display: block;
	font-weight: 700;
	font-size: 2.4rem;
	margin: .3em 0 .4em;
}

.simulation_wrap .form_box .simulation_item.building_detail .simulation_input .conversion p strong span {
	color: #fff600;
}

.simulation_wrap .form_box .simulation_input input,
.simulation_wrap .form_box .simulation_input select,
.simulation_wrap .form_box .simulation_input textarea {
	font-weight: 700;
	font-size: 2rem;
}

.simulation_wrap .form_box select {
	width: 170px;
	padding-right: 30px;
	background: url(../img/simulation/select.png) no-repeat right 8px top 58% / 20px auto;
}

.simulation_wrap .form_box .simulation_item .simulation_input input.short,
.simulation_wrap .form_box .simulation_item .simulation_input select.short {
	width: 100px;
}

.simulation_wrap .form_box input[type=radio]+span {
	font-weight: 700;
	font-size: 2.4rem;
	margin: 15px 0;
}

.simulation_wrap .form_box .check input[type=radio]+span {
	font-weight: 400;
	font-size: 1.8rem;
	margin: 0;
}

.simulation_wrap .form_box .building_detail .check input[type=radio]+span {
	font-weight: 400;
	font-size: 1.4rem;
}

.simulation_wrap .form_box .check input[type=radio]+span::before {
	content: "";
	position: absolute;
	top: 9px;
	left: 0;
	border: 2px solid #222222;
	border-radius: 5px;
	width: 24px;
	height: 24px;
}

.simulation_wrap .form_box .check input[type=radio]:checked+span::after {
	content: "";
	position: absolute;
	top: 7px;
	left: 2px;
	width: 23px;
	height: 22px;
	background: url(../img/contact/ico_check.png) no-repeat center / 100% auto;
}

.simulation_wrap .submit {
	margin-top: 80px;
	padding-left: 30px;
	letter-spacing: 0;
}

@media screen and (min-width: 769px) {
	.simulation_wrap .form_box .simulation_item .simulation_input.col3>div+div:not(:nth-child(3n + 1)) {
		margin-left: 40px;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.col3>div+div:nth-child(n + 4) {
		margin-top: 40px;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.col4>div+div:not(:nth-child(4n + 1)) {
		margin-left: 30px;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.col4>div+div:nth-child(n + 5) {
		margin-top: 30px;
	}
}

@media screen and (max-width: 768px) {
	#sec_simulation {
		padding: 0 0 12vw;
	}
	#sec_simulation .note_box {
		border: .67vw solid #3aa2e1;
		padding: 4vw 5vw 5vw;
		margin-bottom: 10vw;
	}
	#sec_simulation .note_box .ttl {
		margin-bottom: 6vw;
	}
	#sec_simulation .note_box .ttl span {
		font-size: 4.8vw;
		white-space: nowrap;
	}
	#sec_simulation .form_txt {
		font-size: 4.8vw;
		letter-spacing: -0.02em;
		margin-bottom: 1.5em;
	}
	.simulation_wrap .form_box+.form_box {
		margin-top: 10.67vw;
	}
	.simulation_wrap .form_box .ttl {
		padding-left: 20vw;
	}
	.simulation_wrap .form_box .ttl .q_txt {
		width: 18.93vw;
		height: 18.93vw;
		line-height: 1;
		font-size: 7.73vw;
		left: -4vw;
		top: -4vw;
		transform: none;
	}
	.simulation_wrap .form_box .ttl .must {
		width: 15.07vw;
		height: 6vw;
		line-height: 6vw;
		font-size: 3.2vw;
		border-radius: 3vw;
		right: 5vw;
		top: auto;
		bottom: -3vw;
	}
	.simulation_wrap .form_box .simulation_item+.simulation_item {
		margin-top: 10vw;
	}
	.simulation_wrap .form_box .simulation_item .simulation_ttl {
		font-size: 4.4vw;
		padding: 2.5vw 5vw;
		margin-bottom: 1em;
		border: .53vw solid #222222;
		text-shadow: -.4vw -.4vw 0px #222222, -.4vw -.36vw 0px #222222, -.4vw -.18vw 0px #222222, -.4vw 0px 0px #222222, -.4vw .18vw 0px #222222, -.4vw .36vw 0px #222222, -.4vw .4vw 0px #222222, -.36vw -.4vw 0px #222222, -.36vw .4vw 0px #222222, -.18vw -.4vw 0px #222222, -.18vw .4vw 0px #222222, 0px -.4vw 0px #222222, 0px .4vw 0px #222222, .18vw -.4vw 0px #222222, .18vw .4vw 0px #222222, .36vw -.4vw 0px #222222, .36vw .4vw 0px #222222, .4vw -.4vw 0px #222222, .4vw -.36vw 0px #222222, .4vw -.18vw 0px #222222, .4vw 0px 0px #222222, .4vw .18vw 0px #222222, .4vw .36vw 0px #222222, .4vw .4vw 0px #222222;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.flex>div img {
		display: block;
		width: 100%;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.col3>div,
	.simulation_wrap .form_box .simulation_item .simulation_input.col4>div {
		width: 47%;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.col3>div:nth-child(even),
	.simulation_wrap .form_box .simulation_item .simulation_input.col4>div:nth-child(even) {
		margin-left: 6%;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.col3>div:nth-child(n+3),
	.simulation_wrap .form_box .simulation_item .simulation_input.col4>div:nth-child(n+3) {
		margin-top: 9.33vw;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input p {
		font-size: 3.7vw;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.sp_block {
		display: block;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.sp_block>div {
		width: 100%;
		margin-left: 0!important;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input.sp_block>div+div {
		margin-top: 9.33vw;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input p+p,
	.simulation_wrap .form_box .simulation_item .simulation_input img+p {
		font-size: 4.4vw;
		margin: 5vw 0 0;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input p span {
		margin: 0 .2em;
	}
	.simulation_wrap .form_box .simulation_item.building_detail {
		display: block;
		margin-top: 10vw;
	}
	.simulation_wrap .form_box .simulation_item.building_detail>div {
		border: 1px solid #222;
		width: 100%;
		margin-bottom: -1px;
	}
	.simulation_wrap .form_box .simulation_item.building_detail>div:last-child {
		border-right: 1px solid #222;
	}
	.simulation_wrap .form_box .simulation_item.building_detail>div:nth-child(2) {
		width: 100%;
	}
	.simulation_wrap .form_box .simulation_item.building_detail .simulation_ttl {
		border-bottom: 1px solid #222;
	}
	.simulation_wrap .form_box .simulation_item.building_detail .simulation_input {
		padding: 4vw 5vw 5vw;
	}
	.simulation_wrap .form_box .simulation_item.building_detail .simulation_input select {
		width: 55vw;
	}
	.simulation_wrap .form_box .simulation_item.building_detail .simulation_input p.txt_s {
		font-size: 3.46vw;
	}
	.simulation_wrap .form_box .simulation_item.building_detail .simulation_input .conversion {
		width: 26vw;
		height: 26vw;
		border: 1px solid #222222;
		right: 3vw;
		bottom: -1vw;
	}
	.simulation_wrap .form_box .simulation_item.building_detail .simulation_input .conversion p {
		font-size: 3.2vw;
	}
	.simulation_wrap .form_box .simulation_item.building_detail .simulation_input .conversion p strong {
		font-size: 4.8vw;
	}
	.simulation_wrap .form_box .simulation_input input,
	.simulation_wrap .form_box .simulation_input select,
	.simulation_wrap .form_box .simulation_input textarea {
		font-size: 4vw;
	}
	.simulation_wrap .form_box select {
		width: 37vw;
		padding-right: 6vw;
		background: url(../img/simulation/select.png) no-repeat right 1.4vw top 58% / 3.6vw auto;
	}
	.simulation_wrap .form_box .simulation_item .simulation_input input.short,
	.simulation_wrap .form_box .simulation_item .simulation_input select.short {
		width: 20vw;
	}
	.simulation_wrap .form_box input[type=radio]+span {
		font-size: 4.4vw;
		margin: 2vw 0 0;
		padding-top: .4vw;
	}
	.simulation_wrap .form_box .check {
		margin-top: 2.5em;
	}
	.simulation_wrap .form_box .check input[type=radio]+span {
		font-size: 3.47vw;
		margin: 0;
	}
	.simulation_wrap .form_box .building_detail .check {
		margin-top: 1em;
	}
	.simulation_wrap .form_box .building_detail .check input[type=radio]+span {
		font-size: 3.47vw;
		padding-top: 0;
	}
	.simulation_wrap .form_box .check input[type=radio]+span::before {
		top: .5vw;
		left: 0;
		border: 1px solid #222222;
		width: 4.8vw;
		height: 4.8vw;
		border-radius: .67vw;
	}
	.simulation_wrap .form_box .check input[type=radio]:checked+span::after {
		top: -.3vw;
		left: .5vw;
		width: 4.53vw;
		height: 4.3vw;
	}
	.simulation_wrap .form_box .simulation_input.building input[type=radio]+span {
		margin-top: 4.6vw;
	}
	.simulation_wrap .submit {
		margin-top: 10.67vw;
		font-size: 6vw;
		padding-left: 9.87vw;
	}
	.simulation_wrap .submit:before {
		width: 9.33vw;
		height: 9.33vw;
		right: 7vw;
	}

	.form_box .submit-k::before {
		margin-top: 10.67vw;
		font-size: 6vw;
		/* padding-left: 9.87vw; */
	}
	
	.form_box .submit-k input {
		width: 100%;
		height: 9.33vw;
		/* right: 7vw; */
	}
}


/* ---------------------------------------
  見積シミュレーション結果
-----------------------------------------*/

#sec_simulation.result_page .result_box {
	background-color: #f0f9ff;
	border: 5px solid #3aa2e1;
	padding: 18px 35px 30px;
	position: relative;
	margin-bottom: 80px;
}

#sec_simulation.result_page .result_box .ttl {
	margin-bottom: 25px;
}

#sec_simulation.result_page .result_box .ttl span {
	font-weight: 700;
	font-size: 2.4rem;
	padding: 0 .5em;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, rgba(2, 162, 64, 0)), color-stop(55%, #fff600), color-stop(55%, #fff600), to(#fff600));
	background: linear-gradient(180deg, rgba(2, 162, 64, 0) 55%, #fff600 55%, #fff600 55%, #fff600 100%);
}

#sec_simulation.result_page .result_box .result_price {
	border: 2px solid #222222;
	background-color: #fff;
	margin-bottom: 40px;
}

#sec_simulation.result_page .result_box .result_price dt {
	background-color: #3aa2e1;
	text-align: center;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.5;
	padding: 13px 20px;
	color: #fff;
	border-bottom: 2px solid #222222;
	text-shadow: -3px -3px 0px #222222, -3px -2px 0px #222222, -3px -1px 0px #222222, -3px 0px 0px #222222, -3px 1px 0px #222222, -3px 2px 0px #222222, -3px 3px 0px #222222, -2px -3px 0px #222222, -2px 3px 0px #222222, -1px -3px 0px #222222, -1px 3px 0px #222222, 0px -3px 0px #222222, 0px 3px 0px #222222, 1px -3px 0px #222222, 1px 3px 0px #222222, 2px -3px 0px #222222, 2px 3px 0px #222222, 3px -3px 0px #222222, 3px -2px 0px #222222, 3px -1px 0px #222222, 3px 0px 0px #222222, 3px 1px 0px #222222, 3px 2px 0px #222222, 3px 3px 0px #222222;
}

#sec_simulation.result_page .result_box .result_price dd {
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.2;
	padding: 10px 20px 18px;
}

#sec_simulation.result_page .result_box .result_price dd .price {
	color: #e60012;
	font-weight: 700;
	font-size: 6rem;
}

#sec_simulation.result_page .result_box .result_price dd .price span {
	font-size: 3.6rem;
}

#sec_simulation.result_page .result_box .result_price_detail {
	margin-bottom: 40px;
	border-top: 2px solid #222222;
}

#sec_simulation.result_page .result_box .result_price_detail dl {
	width: 50%;
	display: flex;
/*	background-color: #fff;*/
	border-bottom: 2px solid #222222;
}

#sec_simulation.result_page .result_box .result_price_detail dl dt {
	width: 56.6%;
	background-color: #3aa2e1;
	font-size: 1.8rem;
	line-height: 1.5;
	padding: 13px 18px;
	color: #fff;
}

#sec_simulation.result_page .result_box .result_price_detail dl dd {
	width: 43.4%;
	height: 100%;
	text-align: right;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	font-size: 1.8rem;
	line-height: 1.5;
	padding: 13px 20px;
}

#sec_simulation.result_page .y_box {
	width: 100%;
	background-color: #fff600;
	padding: 30px 100px 34px;
	position: relative;
	margin-bottom: 90px;
}

#sec_simulation.result_page .y_box::after {
	content: "";
	width: 109px;
	height: 71px;
	background: url(../img/index/arw_service.png) no-repeat center/100% auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -50px;
	margin: 0 auto;
}

#sec_simulation.result_page .y_box .txt {
	text-align: center;
	font-weight: 700;
	font-size: 2.4rem;
}

#sec_simulation.result_page .y_box .txt .large {
	font-size: 3.6rem;
}

#sec_simulation.result_page .y_box .txt .large span {
	color: #e60012;
}

#sec_simulation.result_page .y_box .illust {
	position: absolute;
	bottom: 24px;
}

#sec_simulation.result_page .y_box .illust01 {
	left: 25px;
}

#sec_simulation.result_page .y_box .illust02 {
	right: 25px;
}

#sec_simulation.result_page .txt_download {
	text-align: center;
	font-weight: 700;
	font-size: 2.4rem;
	margin-bottom: 40px;
}

#sec_simulation.result_page .txt_download .large {
	font-size: 3.6rem;
}

#sec_simulation.result_page .txt_download .large span {
	color: #e60012;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, rgba(2, 162, 64, 0)), color-stop(70%, #fff600), color-stop(70%, #fff600), to(#fff600));
	background: linear-gradient(180deg, rgba(2, 162, 64, 0) 70%, #fff600 70%, #fff600 70%, #fff600 100%);
}

#sec_simulation.result_page .y_box2 {
	width: 100%;
	background-color: #fffede;
	padding: 40px 45px;
	margin-bottom: 40px;
}

#sec_simulation.result_page .y_box2 .txt+.txt {
	margin-top: 2.5em;
}

@media screen and (max-width: 768px) {
	#sec_simulation.result_page .result_box {
		border: .67vw solid #3aa2e1;
		padding: 5vw 5vw 9vw;
		margin-bottom: 10vw;
	}
	#sec_simulation.result_page .result_box .ttl {
		margin-bottom: 6vw;
	}
	#sec_simulation.result_page .result_box .ttl span {
		font-size: 4.8vw;
		padding: 0 .2em;
	}
	#sec_simulation.result_page .result_box .result_price {
		border: 1px solid #222222;
		margin-bottom: 5.3vw;
	}
	#sec_simulation.result_page .result_box .result_price dt {
		background-color: #3aa2e1;
		text-align: center;
		font-size: 4.4vw;
		padding: 2.84vw 5vw;
		border-bottom: 1px solid #222222;
		text-shadow: -.4vw -.4vw 0px #222222, -.4vw -.36vw 0px #222222, -.4vw -.18vw 0px #222222, -.4vw 0px 0px #222222, -.4vw .18vw 0px #222222, -.4vw .36vw 0px #222222, -.4vw .4vw 0px #222222, -.36vw -.4vw 0px #222222, -.36vw .4vw 0px #222222, -.18vw -.4vw 0px #222222, -.18vw .4vw 0px #222222, 0px -.4vw 0px #222222, 0px .4vw 0px #222222, .18vw -.4vw 0px #222222, .18vw .4vw 0px #222222, .36vw -.4vw 0px #222222, .36vw .4vw 0px #222222, .4vw -.4vw 0px #222222, .4vw -.36vw 0px #222222, .4vw -.18vw 0px #222222, .4vw 0px 0px #222222, .4vw .18vw 0px #222222, .4vw .36vw 0px #222222, .4vw .4vw 0px #222222;
	}
	#sec_simulation.result_page .result_box .result_price dd {
		font-size: 4.4vw;
		padding: 3vw 5vw 5.4vw;
	}
	#sec_simulation.result_page .result_box .result_price dd .price {
		font-size: 9.33vw;
	}
	#sec_simulation.result_page .result_box .result_price dd .price span {
		font-size: 4.53vw;
	}
	#sec_simulation.result_page .result_box .result_price_detail {
		margin-bottom: 9vw;
		border-top: 1px solid #222222;
	}
	#sec_simulation.result_page .result_box .result_price_detail dl {
		width: 100%;
		display: block;
		border-bottom: 1px solid #222222;
	}
	#sec_simulation.result_page .result_box .result_price_detail dl dt {
		border-bottom: 1px solid #222222;
		width: 100%;
		font-size: 4.4vw;
		padding: 4.5vw 5vw;
	}
	#sec_simulation.result_page .result_box .result_price_detail dl dd {
		width: 100%;
		font-size: 4.4vw;
		padding: 4.5vw 5vw;
	}
	#sec_simulation.result_page .y_box {
		padding: 4.8vw 4.8vw 5.33vw;
		margin-bottom: 11vw;
	}
	#sec_simulation.result_page .y_box::after {
		width: 14.4vw;
		height: 9.47vw;
		bottom: -6vw;
	}
	#sec_simulation.result_page .y_box .txt {
		font-size: 3.73vw;
		line-height: 1.4;
	}
	#sec_simulation.result_page .y_box .txt .large {
		font-size: 4.8vw;
	}
	#sec_simulation.result_page .y_box .illust {
		bottom: -3.87vw;
	}
	#sec_simulation.result_page .y_box .illust01 {
		width: 10.4vw;
		left: 4.13vw;
	}
	#sec_simulation.result_page .y_box .illust02 {
		width: 10.93vw;
		right: 4.13vw;
	}
	#sec_simulation.result_page .txt_download {
		font-size: 3.73vw;
		line-height: 1.4;
		white-space: nowrap;
		margin-bottom: 10vw;
	}
	#sec_simulation.result_page .txt_download .large {
		font-size: 4.8vw;
	}
	#sec_simulation.result_page .y_box2 {
		width: 100%;
		background-color: #fffede;
		padding: 4vw 5vw 5vw;
		margin-bottom: 40px;
	}
	#sec_simulation.result_page .y_box2 .txt+.txt {
		margin-top: 1em;
	}
}


.wpcf7-list-item {
	margin-left: 0;
}
@media screen and (max-width: 768px) {
span.first,
span.last {
	display: block;
}
}