@charset "utf-8";



/*************************************************
	TOP
*************************************************/

/* ============================== Main Visual */

#top .main_vi_inner{
	max-width: 1366px;
	width: 100%;
	margin: auto;
}
#top .main_vi_txt{
	width: 604px;
	position: absolute;
	top: 14px;
  left: 192px;
}
@media (max-width: 1366px) {
	#top .main_vi_txt{
		width: 44.21669106881406vw;
		top: 1.0248901903367496vw;
	  left: 14.055636896046853vw;
	}
}
@media (max-width: 640px) {
	#top.planB .main_vi_txt{
		width: 55vw;
		top: 1.2vw;
	  left: 2.7vw;
	}
}

/* ============================== Point */
#top #point{
	margin-top: 88px;
	margin-bottom: 72px;
}
@media (max-width: 640px) {
	#top #point{
		margin-top: 40px;
		margin-bottom: 40px;
	}
}

/* ============================== Solution */
#top #solution{
	padding-top: 64px;
	padding-bottom: 32px;
}
#top #solution .thumb_mn{
	box-shadow: 4px 3px 7px 0px rgba(72,72,72,0.37);
}
#top #solution .thumb_mn + .thumb_mn{
	margin-top: 16px;
}
#top #solution .thumb_mn .inner {
    padding: 4px 0px 3px 8px;
}
#top #solution .thumb_mn .dtl .ttl {
    font-size: 16px;
}
#top #solution .high-low .thumb_mn,
#top #solution .renewable .thumb_mn {
    width: 149px;
}
#top #solution .eco .thumb_mn {
    width: 205px;
}
#top #solution .link {
    position: absolute;
}
#top #solution .link.high-low {
    top: -4px;
    left: 321px;
}
#top #solution .link.renewable {
		top: 85px;
    right: 228px;
}
#top #solution .link.eco {
    right: 8px;
    bottom: 56px;
}
@media (min-width: 641px) {
	#top #solution .link.high-low {
    top: -35px;
    left: 282px;
	}
	#top #solution .link.renewable {
    top: 61px;
    right: 200px;
	}
	#top #solution .high-low .thumb_mn,
	#top #solution .renewable .thumb_mn {
	    width: 205px;
	}
	#top #solution .thumb_mn .inner {
	    padding: 12px 0px 11px 8px;
	}
	#top #solution .eco .thumb_mn:nth-of-type(3) .inner {
	    padding: 4px 0px 3px 8px;
	}
}
@media (max-width: 1024px) and (min-width: 641px) {
	#top #solution .solution_illust{
		width: 79.1015625vw;
	}
	#top #solution .link.high-low {
	    top: -5vw;
	    left: 27.5390625vw;
	}
	#top #solution .link.renewable {
			top: 5vw;
	    right: 19.53125vw;
	}
	#top #solution .link.eco {
	    right: 0.78125vw;
	    bottom: 5.46875vw;
	}
	#top #solution .thumb_mn .dtl .ttl {
	    font-size: 1.5625vw;
	}
	#top #solution .high-low .thumb_mn,
	#top #solution .renewable .thumb_mn {
	    width: 20.01953125vw;
	}
	#top #solution .eco .thumb_mn {
	    width: 20.01953125vw;
	}
}
@media (max-width: 640px) {
	#top #solution{
		padding-top: 30px;
		padding-bottom: 24px;
	}
	#top #solution .solution_illust{
		width: 70.5vw;
	}
	#top #solution .high-low .thumb_mn,
	#top #solution .renewable .thumb_mn {
	    width: 28vw;
	}
	#top #solution .eco .thumb_mn {
	    width: 26vw;
	    padding-right: 24%;
	}
	#top #solution .thumb_mn + .thumb_mn{
			margin-top: 6%;
	}
	#top #solution .thumb_mn .dtl .ttl {
	    font-size: 10px;
	}
	#top #solution .link.high-low {
    top: -10vw;
    left: 22vw;
 }
	#top #solution .link.renewable {
    top: 4vw;
    right: 14.265625vw;
 }
	#top #solution .link.eco {
		bottom: 0;
		right: 2%;
	}
	#top #solution .pdf {
		margin-top: 5%;
	}
}
@media (min-width: 456px) and (max-width: 640px) {
	#top #solution .thumb_mn .dtl .ttl {
	  font-size: 12px;
	}
	#top #solution .link.high-low {
    top: -5vw;
 }
	#top #solution .link.renewable {
    top: 5vw;
    right: 25vw;
 }
	#top #solution .link.eco {
		bottom: 19px;
	}
	#top #solution .high-low .thumb_mn,
	#top #solution .renewable .thumb_mn {
	    width: 20vw;
	}
	#top #solution .eco .thumb_mn {
	    padding-right: 18%;
	}
}
@media (max-width: 320px) {
	#top #solution .link.eco {
		bottom: -15vw;
	}
	#top #solution .pdf {
		margin-top: 20%;
	}
}

/* ============================== Menu */
#top #menu{
	padding-top: 64px;
	/*padding-bottom: 32px;*/
}
#top #menu .hd03{
	padding-bottom: 18px;
	margin-bottom: 18px;
	font-size: 28px;
}
#top #menu .hd03:after{
	content: "";
	display: block;
	width: 50px;
	height: 2px;
	background-color: #757575;
	position: absolute;
	bottom: 0;
}
#top #menu .btn{
	width: 195px;
	padding: 9px 1em 9px;
	box-sizing: border-box;
	margin-top: 26px;
	display: inline-block;
}
#top #menu .box{
	width: 424px;
	background-color: rgba(255,255,255,0.9);
	padding: 28px 32px 32px 32px;
	position: absolute;
	top: 0;
}
#top #menu .high .box {
	margin: 48px 0 0 40px;
	left: 0;
}
#top #menu .low .box {
	margin: 48px 40px 0 0;
	right: 0;
}
#top #menu .renewable .box {
	padding: 28px 10px 32px 32px;
	margin: 48px 0 0 40px;
	left: 0;
}

@media (max-width: 1024px) and (min-width: 641px){
	#top #menu .hd03{
		padding-bottom: 1.7578125vw;
		margin-bottom: 1.7578125vw;
		font-size: 2.734375vw;
	}
	#top #menu .hd03:after{
		width: 4.8828125vw;
	}
	#top #menu .btn{
		width: 19.04296875vw;
		padding: 0.87890625vw 1em 0.87890625vw;
		margin-top: 2.5390625vw;
		font-size: 1.5625vw;
	}
	#top #menu .box{
		width: 41.40625vw;
		padding: 2.734375vw 3.125vw 3.125vw 3.125vw;
	}
	#top #menu .high .box,
	#top #menu .renewable .box {
		margin: 4.6875vw 0 0 3.90625vw;
	}
	#top #menu .renewable .box {
		padding: 2.734375vw 1.125vw 3.125vw 3.125vw;
	}
	#top #menu .low .box {
		margin: 4.6875vw 3.90625vw 0 0;
	}
	#top #menu .txt{
		font-size: 1.5625vw;
	}
}

@media (max-width: 640px) {
	#top #menu{
		padding-top: 40px;
		/*padding-bottom: 32px;*/
	}
	#top #menu .hd03{
		padding-bottom: 2.66vw;
		margin-bottom: 2.66vw;
		font-size: 4.53vw;
	}
	#top #menu .hd03:after{
		width: 9.33vw;
		height: 2px;
	}
	#top #menu .btn{
		margin-top: 4vw;
		padding: 7px 1em 7px;
		width: 190px;
	}
	#top #menu .box{
		width: 53.33vw;
		padding: 4vw 4vw 4vw 4.53vw;
	}
	#top #menu .high .box {
		margin: 3.46vw 0 0 4vw;
	}
	#top #menu .low .box {
		margin: 3.46vw 4vw 0 0;
	}
	#top #menu .renewable .box {
		width: 59vw;
		margin: 3.46vw 0 0 4vw;
		padding: 4vw 1vw 4vw 4.53vw;
	}
	#top #menu .renewable .box .hd03{
		letter-spacing: -0.03em;
	}
	#top #menu .txt{
		font-size: 2.66vw;
	}
}
@media (max-width: 374px) {
	#top #menu .box{
		width: 62vw;
	}
}

/*************************************************
	汎用Class
*************************************************/
.lh_196875 { line-height: 1.96875; }
.lh_175 { line-height: 1.75; }
.lt_space_005em{ letter-spacing: 0.05em; }
.lt_space_007em{ letter-spacing: 0.07em; }
.flex_ai_c{
	display: flex;
  align-items: center;
}
.w95p { width: 95%!important; }
.mt64.mb80 {
	margin-bottom: 0px !important;
}

.mt48.mb80 {
	margin-bottom: 0px !important;
}
	
.pointTxt {
	font-size: 14px;
	padding: 5px 30px 15px;
}

.bdclm {
	border: 1px solid #d1d1d1;
	overflow: hidden;
}

.numList {
	margin-right: 10px;
	padding-top: 15%;
}

.numList ul li {
	color: #ff3c00;
	text-indent: -1.2em;
	padding-left: 1.2em;
	font-size: 18px;
}

.numList ul li img {
	vertical-align: middle;
	padding-bottom: 4px;
}
.movieArea {
    margin: 0 auto;
}

.ind {
	padding-left: 1em;
	text-indent: -1em;
}

.minus_mt18 { margin-top: -18px !important; }

.bar02 {
    border-bottom: 1px solid #dddddd;
    height: 0;
}


/* ============================== Font Size */
.fs11{ font-size: 11px!important; }
.fs130p{ font-size: 130%!important; }

/* ============================== Padding */
.pt2 { padding-top: 2px!important; }
	
/* ============================== Background Color */
.bg_f1 { background-color: #f1f1f1 !important; }

/* ============================== Border */
.bd1_red { border: 1px solid #db907f !important; }
.bd1_green { border: 1px solid #6eac91 !important; }
.bd1_blue { border: 1px solid #7c8aa7 !important; }
.bd1_33 { border: 1px solid #333 !important; }
/* ============================== etc */
.noWrap {
	font-size: 97% !important;
	white-space: nowrap;
}

@media (max-width: 912px) {
	.tablet_dsp_n {	display: none;	}
}
@media (max-width: 800px) {
	.manualBtn .mw280 {	width: 45%;	}
	.manualBtn .mw320 {	width: 55%;	}
}
@media (min-width: 769px) {
	.noWrap {
		padding: 8px 12px 8px 16px !important;
	}
	.mw403{
		max-width: 403px;
		width: 100%;
	}
}
@media (max-width: 768px) {
	.elec .jp_pt_ttl_label {
		padding: 8px 22px 8px 10px !important;
	}
	.noWrap {
		padding: 8px 12px 8px 8px !important;
	}
}

@media (max-width: 640px) {

	.numList {
		padding-top: 10px;
		padding-bottom: 15px;
	}

/* ============================== Font Size */
	.rsp_fs80p{ font-size: 80%!important; }
	.rsp_fs85p{ font-size: 85%!important; }
	.rsp_fs90p{ font-size: 90%!important; }

/* ============================== Padding */
	h3.pt72 { padding-top: 36px; }
	.hd03.pt56 { padding-top: 20px!important; }
	.rsp_pt4 { padding-top: 4px!important; }
	.rsp_pt8 { padding-top: 8px!important; }
	.rsp_pt24 { padding-top: 24px!important; }
	
/* ============================== Margin */
	.mt64.mb80 {
		margin-top: 32px !important;
		margin-bottom: 40px !important;
	}
	.mt48.mb80 {
		margin-top: 24px !important;
		margin-bottom: 40px !important;
	}
	.rsp_mt56 { margin-top: 56px!important; }
	.rsp_mb0 { margin-bottom: 0px!important; }
	.rsp_mb8 { margin-bottom: 8px!important; }
	.rsp_mb16 { margin-bottom: 16px!important; }
	.rsp_mb24 { margin-bottom: 24px!important; }
	.rsp_mb32 { margin-bottom: 32px!important; }
	.rsp_mb64 { margin-bottom: 64px!important; }
	.minus_mt18 { margin-top: 12px !important; }
	.minus_ml03em { margin-left: -0.3em !important; }

/* ============================== Width */
	.rsp_w45p { width: 45%!important; }

	.rsp_ws_normal { white-space: normal!important; }

}
