@charset "UTF-8";

img { pointer-events:none; }

#finish{ text-align:center; padding: 40px 0; }
#finish h2{ font-size:20px; }

.disabled{ filter: alpha(opacity=50); -moz-opacity:0.50; opacity:0.50; }
.good{ background: #FEE !important; }
.bad{ background: #EEF !important; }

input[type="text"],input[type="tel"],input[type="number"],select{
-webkit-appearance: none;
border-radius: 4px;
border: 1px solid #DDD;
padding: 0.5em;
}

.btn_add { width:35px; font-size:13px; padding:0 0 0 1px; background:#FAFAFA; border:1px solid #333; border-radius:2px; cursor:pointer; }
.btn_add:hover { border:1px solid #000; opacity:0.75; }
.btn_add + .btn_add { margin-left:3px; }

select {
  /* styling */
  background-color: white;
  border: thin solid #DDD;
  border-radius: 4px;
  display: inline-block;
  font: inherit;
  line-height: 1.2em;
  padding: 0 3em 0 0.5em;
  height:2em;

  /* reset */

  margin: 0;      
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select::-ms-expand { display:none; }

select.classic {
  background-image:
    linear-gradient(45deg, transparent 50%, #808080 50%),
    linear-gradient(135deg, #808080 50%, transparent 50%),
    linear-gradient(to right, #F5F5F5, #EEE);
  background-position:
    calc(100% - 17px) calc(1em - 2px),
    calc(100% - 12px) calc(1em - 2px),
    100% 0;
  background-size:
    5px 5px,
    5px 5px,
    2em 100%;
  background-repeat: no-repeat;
}

select.classic:focus {
  background-image:
    linear-gradient(45deg, white 50%, transparent 50%),
    linear-gradient(135deg, transparent 50%, white 50%),
    linear-gradient(to right, gray, gray);
  background-position:
    calc(100% - 12px) calc(1em - 2px),
    calc(100% - 17px) calc(1em - 2px),
    100% 0;
  background-size:
    5px 5px,
    5px 5px,
    2em 100%;
  background-repeat: no-repeat;
  border-color: grey;
  outline: 0;
}

select.select_num {
  font-family:Arial, Verdana, Sans-Serif;
  height:41px;
}

label img,
label input[type="radio"],
label input[type="checkbox"] { cursor:pointer; }

input[type="text"] { padding-left:5px; padding-right:5px; }
input[type="number"] { padding-left:5px; }

input[type="text"][readonly]{
    color:#000;
    cursor:not-allowed; /* 禁止カーソル */
text-align:right;
border:0;
padding:0;
}

#mainvisual div {
    display: table-cell;
    width: 60%;
    vertical-align: middle;
    background: url(../img/mainvisual.jpg) no-repeat 0 50%;
    background-size: cover;
}

/* Content */

.content{
	max-width: 980px;
	margin: 0 auto;
}

/* Section */

.section{
border-bottom: 1px solid #DDD;
padding: 40px 20px;
}

#order.section,#wire.section{ border: 0; }

.section p{
font-size: 16px;
line-height: 1.5;
margin-bottom: 20px;
}

.section p span{
display:block;
font-size:12px;
color:#666;
text-indent:-1em;
padding-left:1em;
}

.section label {
cursor:pointer;
}
.section label.-disabled {
cursor:default;
opacity:0.7;
}
.section label.-disabled img {
filter:grayscale(90%);
cursor:default;
}

/* Headline */

h2{
font-size: 20px;
font-weight: bold;
color: #04593A;
margin-bottom: 30px;
}

h2 span{
display: inline-block;
background: #04593A;
color: #FFF;
width:32px;
height:32px;
line-height:32px;
text-align:center;
border-radius:50%;
-webkit-border-radius:50%;
-moz-border-radius:50%;
margin-right:10px;
}

h3{
	font-size: 18px;
	font-weight: bold;
	color: #000;
	margin-bottom: 15px;
}

h4{
	font-size: 16px;
	font-weight: bold;
	color: #000;
}

/* Type */

#type > p{
font-size:14px;
margin: 0 0 20px 42px;
}

#type ul{
display:flex;
flex-direction: row;
flex-wrap:wrap;
margin: 0 0 0 42px;
}

#type ul li{
margin: 0 20px 20px 0;
width: calc((100% - 60px) /2);
}

#type ul li:nth-child(2n){
margin: 0;
}

#type ul li label{ display:block; border: 4px solid #FFF; }
#type ul li img{ width:100%; margin: 0 0 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
 }
#type ul li input{ margin-right:5px; }

/* Width */

#width > p{
font-size:14px;
margin: 0 0 10px 42px;
}

#width > ul{
margin: 0 0 0 42px;
padding: 0 0 15px;
}

#width > ul li{
font-size:12px;
margin: 0 0 5px;
padding-left: 1em;
text-indent: -1em;
color: #900;
}

#width > div{
margin: 0 0 0 42px;
}

#width > div > dl{
width:calc((100% - 20px) / 2);
margin: 0 20px 0 0;
}

#width > div > dl:nth-child(2n){
margin: 0;
}

#width div p{
font-size:18px;
}

#width div input[type="text"],
#width div input[type="tel"],
#width div input[type="number"]{
width:130px;
}

#width div p span{
display:block;
margin:10px 0 0;
font-size:12px;
color:#666;
}

#width div p span span{ text-indent:0; padding-left:0; display:inline; }

.change_range {
	margin:0 0 15px;
}
.change_range label {
}
.change_range input {
	margin-right:5px;
	display:none;
}

.change_range input + label {
	background:#f5f5f5;
	border:#7E8994 solid 1px;
	border-left:0;
	border-radius:0 6px 6px 0;
	display:inline-flex;
	height:34px;
	align-items:center;
	justify-content:center;
	color:#444;
	transition:all 0.25s ease-in-out 0s;
	padding:10px;
	font-size:15px;
}
.change_range input:checked + label {
	background:#1b654b;
	color:#FFF;
	font-weight:bold;
}
.change_range input:first-child + label {
	border-right:0;
	border-left:#7E8994 solid 1px;
	border-radius:6px 0 0 6px;
}


#box_range {
}
#box_range .range_short {
	display:none;
}
#box_range.-short .range_short {
	display:block;
}
#box_range.-short .range_long {
	opacity:0;
	overflow:hidden;
	width:0;
	height:0;
	margin:0;
}

#input_width {
	font-size:20px;
}
#input_width::placeholder {
	font-size:14px;
}

#input_width2,
#input_width2_short {
	cursor:pointer;
}

#input_width2_short {
	width:400px;
}

#input_width2,
#input_width2.dan2 {
	width:calc(250px * 2.5);
}
#input_width2.dan3 {
	width:calc(165px * 2.5);
}
#input_width2.dan4 {
	width:calc(125px * 2.5);
}
#input_width2.dan5 {
	width:calc(100px * 2.5);
}
#input_width2 + #width_memori,
#input_width2_short + #width_memori_short {
	display:inline-block;
	height:1px;
	position:relative;
}
#input_width2 + #width_memori::after,
#input_width2_short + #width_memori_short::after {
	display:inline-block;
	font-size:14px;
	position:absolute;
	top:-10px;
	left:100%;
	z-index:1;
}
#input_width2_short + #width_memori_short::after {
	content:'100m';
}
#input_width2 + #width_memori::after {
	content:'2500m';
}
#input_width2.dan3 + #width_memori::after {
	content:'1660m';
}
#input_width2.dan4 + #width_memori::after {
	content:'1250m';
}
#input_width2.dan5 + #width_memori::after {
	content:'1000m';
}
#input_width2 + #width_memori option,
#input_width2_short + #width_memori_short option {
	position:absolute;
	top:0;
}

@media screen and (min-width:641px) {
	br.forSP {
		display:none;
	}
}
@media screen and (max-width:640px) {
	#width div input[type="number"] {
		margin-bottom:15px;
	}
	#width > div {
		margin-left:0;
	}
	#input_width2,
	#input_width2_short,
	#input_width2.dan2 {
		width:100%;
	}
	#input_width2.dan3 {
		width:100%;
	}
	#input_width2.dan4 {
		width:100%;
	}
	#input_width2.dan5 {
		width:100%;
	}

	#input_width2 + #width_memori,
	#input_width2_short + #width_memori_short {
		display:block;
	}
	#input_width2 + #width_memori::after,
	#input_width2_short + #width_memori_short::after {
		font-size:14px;
		top:-5px;
		left:unset;
		right:0;
	}

}

/* Model */

#model > p{
font-size:14px;
margin: 0 0 20px 42px;
}

#model ul{
display:flex;
flex-direction:row;
flex-wrap:wrap;
margin: 0 0 20px 42px;
}

#model ul li{
margin: 0 40px 0 0;
width: calc((100% - 40px) /2);
}

#model ul li:nth-child(2){
margin: 0;
}

#model ul li label{ display:block; border: 4px solid #FFF; }
#model ul li img{
width:100%;
margin: 0 0 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
#model ul li input{ margin-right:5px; }

/* Power */

#power > p{
font-size:14px;
margin: 0 0 20px 42px;
}

#power ul{
display:flex;
flex-direction: row;
flex-wrap:wrap;
margin: 0 0 0 42px;
}

#power ul li{
margin: 0 20px 0 0;
width: calc((100% - 40px) /3);
}

#power ul li:nth-child(3){
margin: 0;
}

#power ul li label{ display:block; border: 4px solid #FFF; }
#power ul li img{
width:100%;
margin: 0 0 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
#power ul li input{ margin-right:5px; }

/* Entrance */

#entrance > p{
font-size:14px;
margin: 0 0 20px 42px;
}

#entrance > div{
margin: 0 0 0 42px;
font-size:14px;
display:flex;
flex-direction: row-reverse;
flex-wrap:wrap;
justify-content: flex-start;
align-items: center;
}

#entrance > div input{
font-size:18px;
width:5em;
}

#entrance > div span{ color: #666; }

#entrance > div img{
width:50%;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}

#entrance > div p{ width:50%; }

@media screen and (max-width:640px) {
	#entrance > div { margin-left:0; }
}

/* Meter */

#meter > p{
font-size:14px;
margin: 0 0 20px 42px;
}

#meter ul{
display:flex;
flex-direction: row;
flex-wrap:wrap;
margin: 0 0 0 42px;
}

#meter ul li{
margin: 0 20px 0 0;
width: calc((100% - 40px) /3);
}

#meter ul li:nth-child(3){
margin: 0;
}

#meter ul li label{ display:block; border: 4px solid #FFF; }
#meter ul li img{
width:100%;
margin: 0 0 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
#meter ul li input{ margin-right:5px; }

/* Wire */

#wire > p{
font-size:14px;
margin: 0 0 20px 42px;
}

#wire ul{
display:flex;
flex-direction: row;
flex-wrap:wrap;
margin: 0 0 0 42px;
}

#wire ul li{
margin: 0 40px 0 0;
}

#wire ul li:nth-child(4){
margin: 0;
}

#wire ul li label{ display:block; border: 4px solid #FFF; }
#wire ul li img{ width:100%; margin: 0 0 10px; }
#wire ul li input{ margin-right:5px; }

.total_sub {
	margin:0 0 20px;
}
.total_sub dd {
}
.total_sub dd strong {
	font-size:20px;
	font-weight:normal;
}
.total_sub dd strong span {
	font-size:22px;
}

@media screen and (max-width:640px) {
	#wire ul li label small { display:block; }
 .total_sub dd { text-align:right; }
}

/* Result */

#result{
	border-top: 1px solid #DDD;
	background: #F7F7F7;
}

#result > div{
	width:980px;
	margin: 0 auto;
}

#result div p {
	margin-bottom:5px;
}
#result ul{
	margin: 0;
	padding: 0 0 15px;
}
#result ul li{
	font-size:12px;
	margin: 0 0 5px;
	padding-left: 1em;
	text-indent: -1em;
	color: #666;
}
#result ul li.red{
	color:#900;
}

#result table{
	border-top: 2px solid #DDD;
	border-left: 2px solid #DDD;
	margin-bottom: 20px;
	width: 100%;
}

#result table th,
#result table td{
	padding: 10px;
	border-bottom: 2px solid #DDD;
	border-right: 2px solid #DDD;
	text-align: center;
	font-size: 16px;
	vertical-align: middle;
}

#result table th{
	background: #EEE;
	vertical-align: middle;
	white-space:nowrap;
	width: 25%;
}

#result table td{
	background: #FFF;
	vertical-align: middle;
	text-align:right;
	width: 75%;
}

#result table td span{
}

#result table label input{ margin-right: 10px; }

#result table td input{
color:#000;
border:0;
background:#FFF;
font-weight:bold;
text-align:right;
font-size:24px;
}

#result table td dl dt{
display:inline-block;
}

#result table td dl dd{
display:inline-block;
width:10em;
}

#result > div > dl{
	text-align: right;
	border-bottom: 2px solid #DDD;
	padding-bottom: 10px;
}

#result > div > dl dt{
	font-weight: bold;
	margin-bottom: 10px;
	display: inline;
	padding-right: 20px;
	color: #666;
}

#result > div > dl dd{
	display: inline;
}

#result > div > dl dd strong{
	font-size: 24px;
}
#result > div > dl dd strong input{
	font-size:28px;
	background:none;
	border:0;
	text-align:right;
	color:#000;
	font-weight:bold;
}

#result .caution{
	margin: 40px auto 20px;
	background:#FEE;
	padding:20px;
}
	
#result .caution p{
	font-size:14px;
	text-align:center;
	margin:0;
 padding:0;
}

/* Itemlist */

#result .itemlist{
display:flex;
flex-direction: row;
flex-wrap:wrap;
justify-content: flex-start;
align-items: center;
margin-left: -20px;
}

#result .itemlist li{
width: calc((100% - 40px) / 2 );
display:flex;
flex-direction: row;
flex-wrap:wrap;
justify-content: flex-start;
align-items: center;
background:#FFF;
margin: 0 0 20px 20px;
padding: 0;
text-indent: 0;
}

#result .itemlist li img{ width:40%; }
#result .itemlist li div{ width:60%; }
#result .itemlist li div h4{ margin: 0 15px 10px; font-size:16px; }
#result .itemlist li div h4 span{ color: #666; font-size:12px; }
#result .itemlist li div p{ margin: 0 15px 5px; font-size: 14px; }
#result .itemlist li div p span{ display:inline; font-size: 16px; }

#result .itemlist {
}
#result .itemlist li {
	display:none;
}

#result.pole_a .item_pole_a,
#result.pole_b .item_pole_b,
#result.pole_a .item_fook_a,
#result.pole_b .item_fook_b,
#result.line_a_1 .item_line_a_1,
#result.line_a_2 .item_line_a_2,
#result.line_b_1 .item_line_b_1,
#result.line_b_2 .item_line_b_2,
#result.gate .item_gate,
#result.model_1 .item_model_1,
#result.model_2 .item_model_2,
#result.soler_1 .item_soler_1,
#result.soler_1 .item_soler_batt_1,
#result.batt_1 .item_batt,
#result.batt_1 .item_batt_code,
#result.ac_1 .item_ac_1,
#result.ac_1 .item_breaker_1,
#result.ac_2 .item_breaker_1,
#result.soler_2 .item_soler_2,
#result.soler_2 .item_batt,
#result.soler_2 .item_batt_code,
#result.batt_2 .item_batt,
#result.batt_2 .item_batt_code,
#result.ac_2 .item_ac_2,
#result.meter_1 .item_meter_1,
#result.meter_2 .item_meter_2
{
	display:flex !important;
}

#result.model_2 .item_batt_code {
	display:none !important;
}



/* Order */

#order p{
	text-align: center;
	font-size: 16px;
	line-height: 2;
	margin-bottom: 40px;
}

#order > dl{
	display: table;
	width: 100%;
	padding-bottom: 40px;
}

#order > dl > dt,
#order > dl > dd{
	display: table-cell;
	vetical-align: middle;
	font-size: 18px;
}

#order > dl > dt{ width: 20%; }
#order > dl > dd{ width: 30%; }

#order > dl > dt{ font-size: 18px; text-align: center; }
#order > dl > dd input{ width: 100%; }

#order dd p.error1,
#order dd p.error2 { display:none; color:#F30; text-align:left; }
#order dd.error1 p.error1,
#order dd.error2 p.error2 { display:block; }
#order dd.error1 p.error1 input[type="text"],
#order dd.error2 p.error2 input[type="text"] { background:#FCC; }

p.error3 { display:none; color:#F30; text-align:center; }
#order.error3 p.error3 { display:block; }

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

}

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

}

@media screen and (max-width:640px) {
#hd p{ text-align:center; }
#mainvisual{ display:block;margin:0;min-width:auto; height:auto; }
#mainvisual h1,#mainvisual div{ display:block; width:auto; height:auto; text-align:center; }
#mainvisual h1 span{ margin:0;padding:15px 10px;font-size:18px; }
#mainvisual div img{ display:block; width:100%; }
#lead p{ font-size:14px; line-height:1.75; }
.section{ padding: 30px 20px 10px; }
h2{ font-size: 16px; margin-bottom: 20px; }
h2 span{ width:24px; height:24px; line-height:24px; }

#type > p{ margin: 0 0 20px; }
#type ul{ display:block; margin: 0; }
#type ul li{ width:100%; margin: 0 0 20px; }
#type ul li:nth-child(2n){ margin: 0 0 20px; }
#type ul li img{ margin: 0 0 10px; }

#model > p{ margin: 0 0 20px; }
#model ul{ display:block; margin: 0; }
#model ul li{ width:100%; margin: 0 0 15px; }
#model ul li:nth-child(2n){ margin: 0 0 15px; }
#model ul li img{ width:20%; display:inline-block; margin: 0 20px 0 0; vertical-align:middle; }

#power > p{ margin: 0 0 20px; }
#power ul{ display:block; margin: 0; }
#power ul li{ width:100%; margin: 0 0 20px; }
#power ul li:nth-child(3n){ margin: 0 0 20px; }
#power ul li img{ width:20%; display:inline-block; margin: 0 20px 0 0; vertical-align:middle; }


#meter > p{ margin: 0 0 20px; }
#meter ul{ display:block; margin: 0; }
#meter ul li{ width:100%; margin: 0 0 20px; }
#meter ul li:nth-child(3n){ margin: 0 0 20px; }
#meter ul li img{ width:20%; display:inline-block; margin: 0 20px 0 0; vertical-align:middle; }

#wire > p{ margin: 0 0 20px; }
#wire ul{ display:block; margin: 0; }
#wire ul li{ width:100%; margin: 0 0 20px; }
#wire ul li:nth-child(3n){ margin: 0 0 20px; }
#wire ul li img{ width:20%; display:inline-block; margin: 0 20px 0 0; vertical-align:middle; }

#result{
	border-top: 1px solid #DDD;
	background: #F7F7F7;
 padding-bottom: 30px;
}

#result > div{
	width: auto;
	margin: 0 auto;
}

#result table{
	border-top: 2px solid #DDD;
	border-left: 2px solid #DDD;
	margin-bottom: 20px;
	width: 100%;
}

#result table tbody{
width:100%;
}

#result table tr{ display:block;width:100%; }

#result table th,
#result table td{
display:block;
	width:100%;
	padding: 10px;
	border-bottom: 2px solid #DDD;
	border-right: 2px solid #DDD;
	text-align: center;
	font-size: 14px;
	vertical-align: middle;
}

#result table th{ text-align:left; }
#result table td{ text-align:right; }

#result table td span{
}

#result table label input{ margin-right: 10px; }

#result table td input{
color:#000;
border:0;
background:#FFF;
font-weight:bold;
text-align:right;
font-size:18px;
width:50%;
}

#result table td dl dt{
display:inline-block;
}

#result table td dl dd{
display:inline-block;
width:50%;
}

#result > div > dl{
	width: 100%;
	text-align: right;
	border-bottom: 2px solid #DDD;
	padding-bottom: 10px;
}

#result > div > dl dt{
display:inline-block;
	font-weight: bold;
	margin-bottom: 10px;
	padding-right: 0;
	font-size:14px;
	color: #666;
	display:block;
	text-align:left;
}

#result > div > dl dd{
display:inline-block;
}

#result > div > dl dd strong{
	font-size:18px;
}
#result > div > dl dd strong span {
	font-size:22px;
}
#result > div > dl dd strong input{
	font-size:22px;
	display:inline-block;
	width: 70%;
}

#result .itemlist{
display:block;
margin-left:0;
}

#result .itemlist li{
width: 100%;
display:flex;
flex-direction: row;
flex-wrap:wrap;
justify-content: flex-start;
align-items: center;
background:#FFF;
margin: 0 20px 20px 0;
padding: 0;
text-indent: 0;
display:none;
}

#result .itemlist li:nth-child(even){ margin: 0 0 20px; }
#result .itemlist li img{ width:35%; }
#result .itemlist li div{ width:65%; }
#result .itemlist li div h4{ margin: 0 10px 10px; font-size:14px; line-height:1.35; }
#result .itemlist li div h4 span{ color: #666; font-size:10px; }
#result .itemlist li div p{ margin: 0 10px 3px; font-size: 12px; line-height:1.25; }
#result .itemlist li div p span{ display:inline; font-size: 14px; }


#order p{
	font-size: 14px;
	line-height: 1.75;
	margin-bottom: 40px;
}

#order > dl{
	display: block;
	width: 100%;
	padding-bottom: 40px;
}

#order > dl > dt,
#order > dl > dd{
	display: block;
	width: 100%; 
}

#order > dl > dt{ font-size: 14px; text-align: left; margin-bottom:5px; }
#order > dl > dd{ margin-bottom: 20px;; }
#order > dl > dd input{ width: 100%; }

.btn{ width: 100%; }

.btn a{
	display: block;
	background: #333;
	color: #EEE;
	padding: 15px 0;
	text-align: center;
	font-size:16px;
	border-radius:8px;
	-webkit-border-radius:8px;
	-moz-border-radius:8px;
	text-decoration: none;
}
.btn2{
	width: 100%;
}

}

.box_total {
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	z-index:1000;
	width:100%;
	padding:15px 15px 10px;
	background:#FFF;
	box-shadow:0 -3px 10px 0 rgba(0,0,0,0.1);
}
.box_total dt {
	margin-bottom:0;
}

/* print */
@media print {
	.content {
		display:none;
	}
	.box_total {
		position:relative;
		display:block;
		padding:0;
		box-shadow: unset;
		background:transparent;
		margin-top:30px;
	}
  .box_total dt {
		margin-bottom:10px;
	}
}