@charset "utf-8";

main section.lead {
	font-size:1.1em;
}

main section.lead > .container {
	padding:2em 0;
}

main section.lead > .container p a {
	text-decoration: underline;
}

#contact_tel .inner {
	background: var(--takedaBG);
	text-align: center;
	padding:2em 0;
}

#contact_tel .inner h2,
#form h2 {
	color:var(--takedaBlue);
	font-weight:bold;
	font-size:5.8vw;
	margin-bottom:0.2em;
	text-align: center;
}

#form {
	padding-bottom:3em;
}

#form h2 {
	margin-bottom:0.5em;
}

#form h2 span {
	font-weight:bold;
	display:inline-block;
}

#contact_tel ul.tel {
	width:64%;
	max-width:300px;
	margin:0 auto;
}

#contact_tel ul.tel li a {
	display: block;
	text-align: center;
	color:#000;
	line-height: 1.6;
}

#contact_tel ul.tel li a:hover {
	text-decoration: none;
}

#contact_tel ul.tel li a figure {
	width:100%;
	text-align: left;
	margin:1em auto;
}

#contact_tel ul.tel li a figure figcaption {
	font-weight: 600;
	font-size:15px;
	color:var(--takedaBlue);
}
/*
#contact_tel ul.tel li a span {
	display: block;
	padding-left:1em;
	text-align: center;
	font-size:14px;
}

#contact_tel ul.tel li a span i {
	font-size:0.9em;
}
*/
#form .container {
	max-width: 1080px;
	font-size:1.1em;
}

#form .error {
	font-weight: 600;
    color: #D00;
}

#form .nothing {
	color:#AAA;
}

#form table {
	width:100%;
	box-sizing: border-box;
	border-top:solid 1px #DDD;
}

#form table + table {
	border-top:none;
	margin-bottom:2em;
}

#form table th,
#form table td {
	vertical-align: top;
	border-bottom:solid 1px #DDD;
	display: block;
	width:100%;
	box-sizing: border-box;
}

#form table th {
	padding:12px 0 4px;
	font-weight: bold;
	padding-bottom:0;
	border-bottom:none;
}

#form table td {
	padding:4px 0 12px;
}

#form table th span {
	display: inline-block;
	vertical-align: top;
	background: var(--takedaBlue);
	color:#FFF;
	padding: 3px 6px 5px;
    margin: 3px 0 0 8px;
    border-radius: 3px;
    line-height: 1.0;
    font-size: 0.8em;
}

#form table input[type=text],
#form table input[type=email],
#form table textarea {
	width:100%;
	max-width:878px;
	box-sizing: border-box;
}

#form table input[type=text].p-postal-code,
#form table input[type=text]#tel1,
#form table input[type=text]#tel2,
#form table input[type=text]#tel3 {
	width:auto;
}

#form table table {
	width: 100%;
    max-width: 680px;
	border-top:none;
	margin:0 auto; 
}

#form table table th,
#form table table td {
	display: table-cell;
	width:auto;
	min-width:0;
	padding:0.3em 0.5em;
	border:none;
	background: #FFF;
	border-bottom:solid 1px rgba(233, 85, 50, 0.3);
	border-right:solid 1px rgba(233, 85, 50, 0.3);
	font-size: 0.9em;
}

#form table table th {
	text-align: left;
	border-left:solid 1px rgba(233, 85, 50, 0.3);
	min-width: 6.1em;
}

#form table .es_s_content table th,
#form table .es_s_content table td {
	border-bottom:solid 1px rgba(0, 140, 63, 0.3);
	border-right:solid 1px rgba(0, 140, 63, 0.3);
}

#form table .es_s_content table th {
	border-left:solid 1px rgba(0, 140, 63, 0.3);
}

#form table table th.es_k_title,
#form table table th.es_s_title {
	background:var(--takedaOrange);
	color:#FFF;
	font-weight:bold;
	text-align: center;
	line-height: 1.2;
	border:none;
	font-size: 1.1em;
}

#form table table th.es_s_title {
	background:var(--takedaGreen);
}

#form table .es_s_content table td {
	text-align: right;
}

#form table table tr.es_s_items td {
	text-align: center;
	min-width:3.5em;
}

#form table table tr.es_s_items td:first-child {
	border-left:solid 1px rgba(0, 140, 63, 0.3);
}

#form table td > div + div {
	border-top:solid 1px rgba(0, 0, 0, 0.1);
} 

#form table td > div.file_wrap + div {
	border-top:none;
}

#form table table td:last-child {
	text-align:right;
	vertical-align: middle;
}

#form table .es_s_content table tr td:last-child {
	vertical-align: top;
}

#form table table td.al_l {
	text-align:left;
}

#form table table tr.total th {
	text-align: right;
}

#form table table tr.total td,
#form table table tr.total th {
	background: var(--takedaPaleOrange);
	font-weight:bold;
	vertical-align: middle;
}

#form table .es_s_content table tr.total td,
#form table .es_s_content table tr.total th {
	background: var(--takedaPaleGreen);
}

#form table .es_s_content table tr.total td {
	min-width:8.5em;
}

#form table table tr.total td {
	width:7em;
}

#form table table tr.total td strong {
	font-weight:bold;
}

#form table table + ul {
	text-align: center;
	width:100%;
	max-width: 560px;
	margin:0.7em auto 0;
}

#form table table + ul li {
	display: inline-block;
	vertical-align: middle;
	margin:0 0.6em;
}

.list_inquiry,
.list_estimate {
	display: none;
}

tr.list_inquiry.active,
tr.list_estimate.active {
	display: table-row;
}

.list_category ul li,
.list_estimate ul li {
	margin-right:1em;
	display:inline-block;
	vertical-align:top;
}

.es_k,
.es_k_horo,
.es_k_al,
.es_s {
	display: none;
}

.es_k.active,
.es_k_horo.active,
.es_k_al.active,
.es_s.active {
	display: block;
}

tr.es_k.active,
tr.es_k_horo.active,
tr.es_k_al.active,
tr.es_s.active {
	display: table-row;
}

input[type=file] {
	display: none;
}
input[type=file] + label {
	color:#222;
	border:solid 1px #BBB;
	background-image: -webkit-linear-gradient(top, #FFF, #EEE); 
    background-image:    -moz-linear-gradient(top, #FFF, #EEE); 
    background-image:     -ms-linear-gradient(top, #FFF, #EEE); 
    background-image:      -o-linear-gradient(top, #FFF, #EEE); 
    background-image:         linear-gradient(top, #FFF, #EEE); 
	padding:4px 8px 5px;
	border-radius: 3px;
	line-height: 1.0;
	display: inline-block;
	vertical-align: top;
	margin:3px 0;
}
input[type=file]:disabled + label {
	color:#AAA;
	background:#EEE;
	border:solid 1px #BBB;
}
.file_name {
	display: inline-block;
	vertical-align: top;
}
.file_name p {
	display: inline;
}

.es_k_content,
.es_s_content,
.es_k_no_data,
.es_s_no_data {
	/*background: var(--takedaBG);*/
	background: #F5F5F5;
    padding: 1.8em 1.6em;
    position: relative;
    text-align: center;
}

.es_k_content,
.es_s_content {
	padding:1.6em 1em;
}

.es_k_no_data p,
.es_s_no_data p {
	margin-bottom:6px;
	display: inline-block;
	text-align: left;
}

.es_k_no_data ul,
.es_s_no_data ul {
	text-align:center;
}

.es_k_no_data ul li,
.es_s_no_data ul li {
	display: inline-block;
	margin:4px;
}

.es_k_no_data a,
.es_s_no_data a {
	display: block;
	border: solid 2px var(--takedaOrange);
    background: #FFF;
    color: var(--takedaOrange);
    font-weight: bold;
    padding: 0.5em 2.2em 0.5em 1.2em;
    border-radius: 1.5em;
    text-align: center;
    position: relative;
}

.es_s_no_data a {
	width: 17em;
	border: solid 2px var(--takedaGreen);
	color: var(--takedaGreen);
}

.es_k_no_data a {
	width:14em;
}

.es_s_no_data a {
	width:17em;
}

.es_k_no_data a:after,
.es_s_no_data a:after {
	content: "";
    position: absolute;
    display: block;
    right: 0.9em;
    top: 50%;
    width: 1em;
    height: 0.8em;
    margin-top: -0.4em;
    background: url(../images/common/arrow_orange.svg) no-repeat;
    background-size: 100%;
}

.es_s_no_data a:after {
	background: url(../images/common/arrow_green.svg) no-repeat;
    background-size: 100%;
}

.es_k_content table td,
.es_s_content table td {
	text-align: left;
}

a.back_k,
a.back_s,
a#simu_horo_clear,
a#simu_al_clear,
a#simu_sheet_clear {
	text-decoration: underline;
}

a#simu_horo_clear,
a#simu_al_clear,
a#simu_sheet_clear {
    color: #AAA;
    font-weight:normal;
}

a.back_k:hover,
a.back_s:hover,
a#simu_horo_clear:hover,
a#simu_al_clear:hover,
.es_k_no_data a:hover,
.es_s_no_data a:hover {
	text-decoration:none;
}

.es_k_content h3,
.es_s_content h3 {
	font-size:1.2em;
	font-weight: bold;
	text-align: center;
	color:var(--takedaOrange);
	margin-bottom:0.3em;
}

.es_s_content h3 {
	color:var(--takedaGreen);
}

#form input[type="checkbox"],
#form table td input[type="radio"] {
	display: none;
}

#form input[type="checkbox"] + label,
#form table td input[type="radio"] + label {
	position: relative;
	padding-left:20px;
	line-height: 2.0;
}

#form input[type="checkbox"] + label {
	padding-left:24px;
	margin-right:1.4em;
}

#form input[type="checkbox"]#kouzou + label {
	margin-right:0;
}

#form input[type="radio"] + label {
	margin-right:1.4em;
}

#form input[type="checkbox"] + label:before,
#form table td input[type="radio"] + label:before {
	content:"";
	display: block;
	position: absolute;
	top:calc(0.75em - 8px);
	left:0;
	width:14px;
	height:14px;
	border:solid 1px #BBB;
	border-radius: 2px;
}

#form table td input[type="radio"] + label:before {
	top:calc(0.75em - 6px);
	border-radius: 100%;
	box-shadow: 0 0 0 1px #BBB;
	border:none;
	box-sizing: border-box;
}

#form input[type="checkbox"]:checked + label:before {
	border:solid 2px var(--takedaMizu);
	background: var(--takedaMizu);
}

#form input[type="checkbox"]:checked + label:after {
	content:"";
	display: block;
	position: absolute;
	top:calc(0.75em - 6px);
	left:6px;
	width:4px;
	height:8px;
	transform: rotate(45deg);
	border-right:solid 2px #FFF;
	border-bottom:solid 2px #FFF;
}

#form table td input[type="radio"]:checked + label:before {
	box-shadow: 0 0 0 1px var(--takedaMizu);
	border:solid 2px #FFF;
	background: var(--takedaMizu);
}

#form table td ul.upfiles {
	display: flex;
	justify-content: left;
	align-items: flex-start;
	gap:30px;
}

#form table td ul.upfiles li a {
	display: inline-block;
}

#form table td ul.upfiles li img {
	width:100%;
	max-width:300px;
	height:auto;
}

#form table td ul.upfiles li figure.pdf {
	display: flex;
	align-items: center;
	gap:10px;
}

#form table td ul.upfiles li figure.pdf img {
	width:40px;
}

.custom_select {
	display: inline-block;
	position: relative;
}

.custom_select:before {
	content:"";
	display: block;
	transform: rotate(45deg);
	pointer-events: none;
	border-right:solid 1px #444;
	border-bottom:solid 1px #444;
	width:6px;
	height:6px;
	position: absolute;
	right:12px;
	top:50%;
	margin-top:-5px;
}

.custom_select select {
	padding-right:26px;
}

.kouzou {
	background:var(--takedaBG);
	padding:2em 2em;
	text-align: center;
	font-size:0.9em;
}

.kouzou h3 {
	font-weight:bold;
	font-size:1.6em;
	color:var(--takedaBlue);
}

.kouzou .caution {
	display: inline-block;
	margin-bottom:1.3em;
	background: linear-gradient(transparent 40%, #ff0 60%);
	line-height: 1.0;
}

.kouzou h4,
.kouzou p,
.kouzou figure {
	text-align: left;
}

.kouzou h4 {
	font-size:1.15em;
	text-align: left;
	margin: 1.3em 0 0.3em;
	font-weight: 600;
	color: var(--takedaBlue);
	border-left:solid 4px var(--takedaBlue);
	padding-left:0.4em;
	line-height: 1.2;
}

.kouzou figure {
	margin-top:0.5em;
}

.kouzou figure figcaption,
.kouzou figure ul {
	display: inline-block;
	vertical-align: top;
}

.kouzou figure figcaption {
	font-weight:600;
}

.kouzou figure ul {
	padding-left:2em;
	margin-bottom:1.3em;
}

.kouzou figure ul li {
	list-style: disc;
}

.kouzou + div {
	text-align: center;
	padding:1em 0;
}

.btn_wrap {
	text-align: center;
	margin-top:2em;
}

.btn_wrap a {
	background: var(--takedaBlue);
	box-sizing: border-box;
    padding: 0.6em 3em 0.7em;
    margin:0.3em;
    line-height: 1.0;
    letter-spacing: 0.08em;
    color: #FFF;
    font-size: 1.3em;
    font-weight: 600;
    position: relative;
    display: inline-block;
}

.btn_wrap a:hover {
	text-decoration: none;
}

.btn_wrap a.back {
	background: #999;
	color:#FFF;
	padding: 0.5em 1.5em 0.6em 2.5em;
}

.btn_wrap a.send {
	padding: 0.5em 2em 0.6em;
}

.btn_wrap a:before {
	content:"";
	transform: rotate(45deg);
	border-right:solid 2px #FFF;
	border-top:solid 2px #FFF;
	width:8px;
	height:8px;
	position: absolute;
	right:0.8em;
	top:50%;
	margin-top: -5px;
}

.btn_wrap a.back:before {
	border-right:none;
	border-top:none;
	border-left:solid 2px #FFF;
	border-bottom:solid 2px #FFF;
	right:auto;
	left:0.8em;
}

.send_success {
	background: var(--takedaBG);
    text-align: center;
    padding: 1em;
    margin-bottom: 1em;
    color: var(--takedaBlue);
    font-weight: bold;
    font-size: 1.2em;
}

.to_home {
	text-align: center;
	margin-top:2em;
} 

.to_home a {
	text-decoration: underline;
}



@media screen and (min-width: 480px) {

#contact_tel .inner h2,
#form h2 {
	font-size:1.8em;
}

}


@media screen and (min-width: 540px) {

#form table table th,
#form table table td {
	font-size: 1.0em;
}

}


@media screen and (min-width: 640px) {
	
main section.lead > .container {
	text-align: center;
}

.kouzou {
	padding:2em 3em;
}

}


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

#contact_tel .inner h2,
#form h2 {
	font-size:2.0em;
}

#contact_tel ul.tel {
	width: 80%;
    max-width: 768px;
    display: flex;
    gap: 60px;
    justify-content: center;
}

#contact_tel ul.tel li {
	width: 100%;
}

#contact_tel ul.tel li a figure figcaption {
	font-size:2vw;
}

#form table th,
#form table td {
	display:table-cell;
	padding:10px;
}

#form table th {
	width:auto;
	text-align: right;
	width:11em;
	min-width:11em;
	padding:10px 10px 10px 0;
	border-bottom:solid 1px #DDD;
}

#form table table th,
#form table table td {
	font-size: 0.9em;
}

#form table .es_s_content table tr.total td {
	min-width:9.5em;
}

}


@media screen and (min-width: 960px) {

main section.lead > .container p a:hover {
	text-decoration: none;
}

#contact_tel ul.tel li a figure figcaption {
	font-size:19px;
}

#contact_tel ul.tel li a span {
	font-size: 15px;
}

#form table table tr.total td {
	min-width: 8em;
}

#form table table tr.total td strong {
	font-size:1.2em;
}

.es_k_no_data p,
.es_s_no_data p {
	text-align:center;
}

.es_k_no_data p span,
.es_s_no_data p span {
	display:block;
}

.btn_wrap a,
.btn_wrap a.send {
	padding:0.8em 3em 0.9em;
}

.btn_wrap a.back {
	padding:0.8em 2.5em 0.9em 3em;
}

.btn_wrap a:before {
	right:1em;
}

.btn_wrap a.back:before {
	left:1em;
}

.btn_wrap a:hover {
	background:var(--takedaMizu);
}

.btn_wrap a.back:hover {
	background: #AAA;
}

.btn_wrap a.back:hover:before {
	border-left:solid 2px #FFF;
	border-bottom:solid 2px #FFF;
}

.to_home a:hover {
	text-decoration: none;
}

.send_success + p {
	text-align:center;
}

}


@media screen and (min-width: 1080px) {

.list_inquiry ul li {
	min-width:12em;
	margin-right:2em;
	display:inline-block;
	vertical-align:top;
}

}


@media screen and (min-width: 1200px) {



}


@media screen and (min-width: 1380px) {



}