@charset "utf-8";

main{
	padding-bottom: 50px;
}

/* ヘッダー */

.top_header{
	text-align: right;
	padding: 20px 0;
}

.top_header img{
	width: 420px;
}

.other_header{
	display: flex;
	justify-content: space-between;
	padding: 20px 0;
	align-items: center;
}

.top_header p,
.other_header p{
	margin-bottom: 0;
}

/* フッター */
footer{
	background: #ffe100;
	text-align: center;
	padding: 20px 0;
}

.footer_box{
	width: 400px;
	margin: 0 auto;
}

.footer_box .text{
	background: #fff;
	padding: 5px;
	font-weight: bold;
	font-size: 1.5rem;
	position: relative;
}

.footer_box .text::after{
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 20px solid #fff;
	left: 50%;
	transform: translate(-50%, 0);
}

/* 共通 */

a { color: #1B1E82; }

.text_indent1{
	padding-left: 1em;
	text-indent: -1em;
}

.text_indent1t3{
	padding-left: 1.3em;
	text-indent: -1.3em;
}

.text_indent4{
	padding-left: 4em;
	text-indent: -4em;
}

.link_type1{
	display: flex;
	justify-content: space-between;
	margin: 50px 0;
	flex-wrap: wrap;
}

.link_type1 div{
	width: 48%;
	margin-bottom: 20px;
}

.title_type1{
	color: #fff;
	background: #1B1E82;
	border-radius: 5px;
	font-size: 2.0rem;
	padding: 5px 20px;
	margin-bottom: 30px;
}

.title_type2{
	border-bottom: solid 1px #dddddd;
	padding: 5px 20px;
	font-size: 1.8rem;
	position: relative;
}

.title_type2::before{
	display:block;
	content: "";
	position: absolute;
	width: 5px;
	height: 70%;
	left:0%;
	background: #1B1E82;
}

.title_type3{
	position: relative;
	margin-bottom: 20px;
	padding-left: 32px;
	font-weight: bold;
	font-size: 2.4rem;
}

.title_type3 small{
	font-size: 68%;
}

.title_type3::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0.8rem;
	width: 14px;
	height: 14px;
	background-color: #666;
	border: 3px solid #999;
}

.pdf_box{
	padding: 40px 0;
}

.pdf_box ul{
	list-style-type: disc;
	margin: 10px 0 10px 20px;
}

.pdf_box a{
	font-size: 16px;
	font-weight: bold;
}


.pdf_box span{
	color: #5b5ddc;
}

.link_list li{
	margin-bottom: 10px;
}

.link_list li:last-child{
	margin-bottom: 0;
}

.link_list a{
	color: #1B1E82;
	position: relative;
	padding-left: 2em;
	display: block;
}

.link_list a::before{
	position: absolute;
	display: block;
	content: "";
	width: 0;
	height: 0;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 15px solid #1B1E82;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
}

.link_list img{
	vertical-align: bottom;
}

.btn_submit{
	border: 0 none;
	cursor: pointer;
	background-size: contain;
	padding-top: 11%;
	display: inline-block;
	width: 432px;
	height: 93px;
	background: url(../img/btn_confirm.jpg) no-repeat scroll 0 0;
}

.btn_back{
	border: 0 none;
	cursor: pointer;
	background-size: contain;
	padding-top: 12%;
	display: inline-block;
	width: 392px;
	height: 90px;
	background: url(../img/btn_back.jpg) no-repeat scroll 0 0;
}

.btn_success{
	border: 0 none;
	cursor: pointer;
	background-size: contain;
	padding-top: 12%;
	display: inline-block;
	width: 392px;
	height: 90px;
	background: url(../img/btn_success.jpg) no-repeat scroll 0 0;
}

.btn_submit:hover,
.btn_back:hover,
.btn_success:hover{
	opacity: 0.7;
	transition: 0.3s;
}

.btn_link{
	background: #1B1E82;
	color: #fff;
	padding: 10px 10px;
}

.error_msg{
	border: solid 1px #f53b3b;
	background: #ffecec;
	color: #f53b3b;
	padding: 10px;
	font-size: 1.2rem;
	margin-bottom: 40px;
}


/* トップページ */

.keyv h1{
	text-align: center;
	margin-bottom: 40px;
}

.keyv h1 img{
	width: 800px;
}

.keyv_text{
	margin-bottom: 20px;
}

.keyv_text p{
	font-size: 1.7rem;
	font-weight: bold;
	margin-bottom: 0;
}

.keyv_text .b{
	margin-bottom: 10px;
	font-size: 2.2rem;
	font-weight: bold;
	background-color: #CE4560;
	padding: 5px 8px;
	color: #fff;
}

.keyv_text .b span{
	color: #fff;
	font-weight: bold;
}

.keyv_text li{
	font-size: 1.7rem;
	font-weight: bold;
}

.keyv_text .rei{
	border: solid 4px #ffe102;
	border-radius: 5px;
	padding: 5px 10px;
}

.keyv_text .sml{
	margin-bottom: 0;
	margin-top: 10px;
}

.keyv_text .sml p{
	font-size: 1.1rem!important;
}

.point{
	margin-bottom: 80px;
}

.point h2{
	margin-bottom: 30px;
}

.point ul{
	display: flex;
	justify-content: space-between;
}

.point li{
	width: 48%;
}

.point div{
	color: #7b7b7b;
	font-size: 1.1rem;
	display: block;
	margin-top: 30px;
}

.point div p{
	margin-bottom: 0;
}

/* 下層ページ */

.text_style_type1{
	padding-left: 7.3em;
	text-indent: -7.3em;
}

.bg_gray{
	background: #f6f4f3;
}

.okeyv{
	background: #fff100;
	margin-bottom: 50px;
	padding: 5px 0;
}

.okeyv h1{
	font-size: 2.3rem;
	font-weight: bold;
}

.okeyv h1 span{
	font-size: 11px;
	vertical-align: top;
}

.price_table{
	border-top: solid 1px #ddd;
	border-left: solid 1px #ddd;
	margin: 30px 0;
}

.price_table th{
	border-right: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
	padding: 10px;
	background: #e6e6e6;
	vertical-align: middle;
	text-align:center;
	color: #000;
}

.price_table td{
	border-right: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
	padding: 10px;
	background: #fff;
}

/* フォーム */

.form_box{
	margin-top: 50px;
	border: solid 1px #dddddd;
	background: #fff;
	padding: 40px;
}

.form_box table{
	margin-bottom: 40px;
}

.form_box th{
	border-bottom: solid 1px #dddddd;
	padding: 30px 20px 30px 0;
}

.form_box td{
	padding: 30px 0;
}

.form_box td{
	border-bottom: solid 1px #dddddd;
	padding: 30px 0;
	color: #7b7b7b;
}

.form_box .table_type1 th{
	width: 300px;
	padding: 0 0 30px;
}

.form_box .table_type1 td{
	padding: 0 0 30px;
}

.form_box .table_type2 th{
	width: 250px;
}

.form_box .table_type2 ul{
	display: flex;
	flex-wrap: wrap;
}

.form_box .table_type2 ul li{
	width: 33%;
	margin-bottom: 10px;
}

.form_box h3{
	background: #000;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	padding: 5px 10px;
}

.form_box p{
	margin-bottom: 0;
}

.form-control {
	display: block;
	width: 100%;
	height: calc(1.5em + .75rem + 2px);
	padding: .375rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #6e707e;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #d1d3e2;
	border-radius: .35rem;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.form_footer_text{
	margin: 20px 0;
	color: #7b7b7b;
	border-bottom: solid 1px #dddddd;
	padding-bottom: 40px;
}

.form_footer_text p{
	padding-left: 3em;
	text-indent: -3em;
}

#charge_billing3_2_box,
#charge_billing4_2_box,
#applicant_information_box,
.contract_company_other,
.form_box .table_type2 .electric_current_VA,
.form_box .table_type2 .electric_current_W,
.enquete1_other,
#charge_billing2_box{
	display: none;
}

.inline-block{ display: inline-block; }

input[type="checkbox"],
input[type="radio"]{
	vertical-align: text-top;
}

.text_confirm{
	padding: 2px 0;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.imgBox {
	padding: 10px;
	background-color: #FFF;
}

.catNavContent {
	width: 100%;
	background-color: #e9eee7;
}

.catNavContent .inner {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
	padding: 60px 20px;
    font-size: 1.6rem;
}

.catNavContent .inner ul {
    margin: 0;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
}

.catNavContent .inner ul li {
    width: 170px;
    min-height: 162px;
    margin: 0 5px;
    border-bottom: 4px solid #d8e1d5;
    list-style: none;
}

.catNavContent .inner ul li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 108px 10px 10px;
    background-color: #FFF;
    text-align: center;
    line-height: 1.25;
    color: #3c6a2c;
    font-size: 1.4rem;
}

.catnav_rate {
    background: url(../img/catnav_rate.png) no-repeat center 24px;
    background-size: 70px 70px;
}

.catnav_app {
    background: url(../img/catnav_app.png) no-repeat center 24px;
    background-size: 70px 70px;
}

.catnav_construction {
    background: url(../img/catnav_construction.png) no-repeat center 24px;
    background-size: 70px 70px;
}

.electrical_table{
	margin: 40px 0;
}

.electrical_table th, .electrical_table td {
    border: 1px solid #E9E0D6;
    padding: 0;
    vertical-align: middle;
	text-align: center;
}

.electrical_table td img {
    width: 495px;
}

.electrical_table tr:first-of-type th {
    background: #EE7702;
    width: 300px;
}

.electrical_table tr:nth-of-type(1) th img, .electrical_table tr:nth-of-type(2) th img, .electrical_table tr:nth-of-type(3) th img {
    width: 254px;
}

.electrical_table tr:nth-of-type(2) td:nth-of-type(2) img, .electrical_table tr:nth-of-type(3) td:nth-of-type(2) img {
    width: 180px;
}

.electrical_table tr:nth-of-type(1) td {
    background: #FCE4CD;
}

.electrical_table td p:first-of-type {
    border: 0;
}

.electrical_table td p {
    border-top: 1px solid #E9E0D6;
    padding: 30px;
    margin: 0;
    text-align: left;
	line-height: 1.8;
}

.electrical_table tr:nth-of-type(2) th, .electrical_table tr:nth-of-type(2) td:nth-of-type(2) {
    background: #00A56D;
}
.electrical_table tr:nth-of-type(2) td {
    width: 500px;
    background: #CCEDE2;
}

.electrical_table tr:nth-of-type(3) th, .electrical_table tr:nth-of-type(3) td:nth-of-type(2) {
    background: #D4145A;
}

.electrical_table tr:nth-of-type(3) td {
    background: #F6D0DE;
}

.electrical_table tr:nth-of-type(2) td:nth-of-type(2) {
    width: 180px;
    padding: 20px 0;
}

.ask a {
    display: block;
    max-width: 1000px;
    padding: 1.2em 0 1em;
    margin: 0 auto .5em;
    background: #F36DA8;
    border-bottom: 3px solid #AA1155;
    color: #FFF;
    font-size: 120%;
    line-height: 1.4em;
    text-align: center;
    font-weight: bold;
}

.entry {
    margin: 0 auto 40px;
    padding: 15px;
    background-color: #FFF;
    border: 1px solid #000;
    text-align: center;
}

.entry p {
    margin: 5px 0;
    font-size: 17px;
    font-weight: bold;
}

.entry .tell {
    font-size: 28px;
}

.entry .tell a{
	color: #29abe2;
}

.btn_line{
	margin-bottom: 40px;
	text-align: center;
}

/* 2024/06/12 */
.policy {
	height: 300px;
	padding: 3%;
	border: 1px solid #dddddd;
	border-radius: 5px;
	background: #fff;
	overflow: scroll;
	margin-bottom: 20px;
	color: #000;
}

.policy p{
	color: #333!important;
	margin-bottom: 20px;
}

.policy h2{
	font-size: 18px;
	color: #000;
}

.policy h3,
.policy h4{
	font-weight: bold;
	font-size: 16px;
	background-color: #fff;
	text-align: left;
	color: #000;
	padding: 0;
}

.policy h5{
	margin-left: 2em;
	color: #000;

}
.policy ul{
	margin-left: 4em;
	color: #000;
	margin-bottom: 20px;
}

.policy dt{
	font-weight: bold;
}

.policy dd{
	margin-left: 1em;
	margin-bottom: 10px;
}

.policy .pem{
	margin-left: 4em;
}

.txtWrap{
	padding: 24px 48px;
	background-color: #F2F2F2;
}

.txtWrap p{
	margin-bottom: 0;
}

.policy small{
	text-align: right;
	display: block;
	margin-top: 5px;
}

/********************576px以下*******************/
@media (max-width: 576px) {
}

/********************768px以下*******************/
@media (max-width: 768px) {
	.sp {
		display: block;
	}

	.pc{
		display: none;
	}
	.top_header img{
		width: 250px;
	}

	.sp_img{
		width: 100%;
	}

	.spw4em{
		width: 4em!important;
	}

	.spw3em{
		width: 3em!important;
	}

	.other_header{
		flex-direction: column-reverse;
	}

	.other_header p{
		width: 100%;;
	}

	.other_header p:last-child{
		text-align: right;
	}

	.other_header p:last-child img{
		width: 40%;
	}

	.btn_submit {
		border: 0 none;
		cursor: pointer;
		background-size: contain;
		padding-top: 21%;
		display: inline-block;
		width: 100%;
		height: auto;
		background: url(../img/btn_confirm.jpg) no-repeat scroll 0 0;
		background-size: 100% 100%;
	}

	.btn_back{
		border: 0 none;
		cursor: pointer;
		background-size: contain;
		padding-top: 22%;
		display: inline-block;
		width: 100%;
		height: auto;
		background: url(../img/btn_back.jpg) no-repeat scroll 0 0;
		background-size: 100% 100%;
	}

	.btn_back{
		border: 0 none;
		cursor: pointer;
		background-size: contain;
		padding-top: 22%;
		display: inline-block;
		width: 100%;
		height: auto;
		background: url(../img/btn_back.jpg) no-repeat scroll 0 0;
		background-size: 100% 100%;
	}

	.btn_success{
		border: 0 none;
		cursor: pointer;
		background-size: contain;
		padding-top: 22%;
		display: inline-block;
		width: 100%;
		height: auto;
		background: url(../img/btn_success.jpg) no-repeat scroll 0 0;
		background-size: 100% 100%;
	}

	.btn_link{
		display: block;
		width: 100%;
		text-align: center;
	}

	.link_type1{
		display: block;
		margin: 30px 0;
	}

	.link_type1 div{
		width: 100%;
	}

	.point{
		margin-bottom: 30px;
	}

	.point ul{
		display: block;
	}

	.point ul li{
		width: 100%;
		margin-bottom: 20px;
	}

	.form_box{
		padding: 20px;
	}

	.form_box th{
		padding: 30px 20px 0 0;
	}

	.form_box td{
		border-bottom: none;
	}

	#charge_billing3_2_box td:first-child,
	#charge_billing4_2_box td:first-child,
	#applicant_information_box td:first-child,
	.table_active td:first-child{
		display: none!important;
	}

	.form_box .table_type1 th,
	.form_box .table_type2 th{
		width: 100%;
		display: block;
		border-bottom: none;
		padding: 20px 5px 0;
		font-weight: bold;
		font-size: 18px;
	}

	.form_box .table_type1 td,
	.form_box .table_type2 td{
		display: block;
		width: 100%;
	}

	.form_box .table_type2 ul li{
		width: 100%;
	}

	.footer_box{
		width: 100%;
	}

	.footer_box small{
		font-size: 1.0rem;
		display: block;
	}

	.w100psp{ width: 100%!important; }

	.catNavContent .inner ul {
        flex-flow: row wrap;
        width: 100%;
        margin: 0 auto;
    }

	.catNavContent .inner ul li{
		margin-bottom: 10px;
	}

	.electrical_table th, .electrical_table td{
		display: block;
		width: 100%!important;
		padding: 0px 3%;
	}

	.electrical_table tr:nth-of-type(1) th img, .electrical_table tr:nth-of-type(2) th img,
	.electrical_table tr:nth-of-type(3) th img, .electrical_table td:nth-child(3) img,
	.electrical_table tr:nth-of-type(2) td:nth-of-type(2) img, .electrical_table tr:nth-of-type(3) td:nth-of-type(2) img {
        width: 70%;
    }

	.electrical_table tr:nth-of-type(1) th, .electrical_table tr:nth-of-type(2) th, .electrical_table tr:nth-of-type(3) th, .electrical_table td:nth-child(3), .electrical_table td p {
        padding: 30px 3%;
    }
}

/********************992px以上*******************/
@media (min-width: 992px) {
}

/********************1200px以上*******************/
@media (min-width: 1200px) {

}