@charset "UTF-8";

/**
 * Orange: #F69700
 * Black: #010101
 * Gray: #F1F1F1
 * Blue: #00A5ED
*/


/**
 * Header
 */
#header{
	position: fixed;
	width: 170px;
	height: 170px;
	background: #FFFFFF;
	z-index: 999;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
#header.sticky{
	/*width: 140px;*/
	/*height: 145px;*/
	transform-origin: right bottom;
	transform: translate(-100px, -95px) scale(0.5);
}
#header img{
	position: absolute;
	width: 85px;
	right: 25px;
	bottom:20px;
}

#section_mv{
	position: relative;
	width: 100%;
	height: 100vh;
	border: 35px solid #FFFFFF;
}
#slide_copy{
	position: absolute;
	left: 40px;
	bottom: 40px;

	font-size: 28px;
	font-weight: 300;
	line-height: 1.8;
	color: #FFFFFF;
	z-index: 999999;
}
.slick-slide{
	width: 100%;
	height: calc(100vh - 70px);
}
.ipad #section_mv{
	height: 70vw;
	border: 15px solid #FFFFFF;
}
.ipad .slick-slide{
	width: 100%;
	height: calc(70vw - 60px);
}

@media (max-width: 767px) {

	#header{
		position: fixed;
		width: 80px;
		height: 90px;
		z-index: 999;
	}
	#header.sticky{
		/*width: 140px;*/
		/*height: 145px;*/
		transform-origin: right bottom;
		transform: translate(-100px, -95px) scale(0.5);
	}
	#header img{
		position: absolute;
		width: 45px;
		right: 18px;
		bottom:15px;
	}

	#section_mv{
		/*height: 80vw;*/
		height: 100vw;
		border: 15px solid #FFFFFF;
	}
	#slide_copy{
		left: 20px;
		bottom: 45px;

		font-size: 14px;
		line-height: 1.5;
	}
	.slick-dots{
		text-align: center;
	}
	.slick-slide{
		width: 100%;
		height: calc(100vw - 60px);
		/*height: calc(80vw - 60px);*/
	}
}

/**
 * Sidebar
 */
#side_nav{
	z-index: 999;
	right: -35px;
	top: calc( 30vh - 100px);
	position: fixed;
	padding: 30px 0 15px;
	margin: 20px;
	width:140px;
	background: #FFFFFF;
	-webkit-box-shadow:  -1px 2px 10px rgba(0,0,0,0.3);
	-moz-box-shadow:  -1px 2px 10px rgba(0,0,0,0.3);
	box-shadow:  -1px 2px 10px rgba(0,0,0,0.3);
	-webkit-transform: rotateZ(-2deg);
	-moz-transform: rotateZ(-2deg);
	-ms-transform: rotateZ(-2deg);
	-o-transform: rotateZ(-2deg);
	transform: rotateZ(-2deg);
}
#side_nav ul{
	width: 100%;
	margin: 0;
	padding: 0;
}
#side_nav ul li{
	cursor: pointer;
	width: 100%;
	margin: 0 0 25px;
	padding: 0 0 0 15px;
	border-left: 7px solid #FFFFFF;
	-webkit-transition: border-left-color 0.3s;
	-moz-transition: border-left-color 0.3s;
	-ms-transition: border-left-color 0.3s;
	-o-transition: border-left-color 0.3s;
	transition: border-left-color 0.3s;
}
#side_nav ul li:hover{
	border-left-color: #EFEFEF;
}
#side_nav ul li.js-active{
	border-left-color: #F69700;
}
#side_nav ul li span{
	display: block;
}
#side_nav ul li .side_nav_en{
	font-weight: 700;
	margin-bottom: 7px;
	font-size: 15px;
	letter-spacing: 0.05em;
}
#side_nav ul li .side_nav_ja{
	font-size: 10px;
}
@media (max-width: 767px) {
	#side_nav{
		display: none;
	}
}



/**
 * Content
 */

#section_about{}
#section_about dl{
	padding-top: 50px;
	padding-bottom: 50px;
	padding-left: 45%;
	background: url("/assets/img/common/logo.svg") no-repeat 120px center;
}
#section_about dl dt{
	font-size: 20px;
	margin-top: 50px;
	margin-bottom: 20px;
}
#section_about dl dd{
	font-weight: 700;
	font-size: 26px;
	line-height: 1.7;
}
@media (max-width: 767px) {

	#section_about{}
	#section_about dl{
		padding-top: 180px;
		padding-bottom: 30px;
		padding-left: 0;
		background-position: center top;
		background-size: 120px auto;
		text-align: center;
	}
	#section_about dl dt{
		font-size: 14px;
		margin-top: 30px;
		margin-bottom: 10px;
	}
	#section_about dl dd{
		font-size: 16px;
		line-height: 1.7;
	}
}

#section_service{

}
#subsection_mission{
	width: 100%;
	height: 800px;
	padding-top: 300px;
	background: url("../img/home/mission_bg.jpg") no-repeat center center;
	background-size: 110% auto;
	max-height: 800px;
	margin-bottom: 50px;
}
#subsection_mission h3 img{
	margin-bottom: 10px;
}
#subsection_mission h3{
	text-align: center;
	font-size: 20px;
	margin-bottom: 40px;
}
#subsection_mission p{
	font-weight: 500;
	font-size: 32px;
	line-height: 1.8;
	letter-spacing: 0.05em;
	text-align: center;
}
@media (max-width: 767px) {

	#subsection_mission{
		width: 100%;
		height: 500px;
		padding-top: 100px;
		background-size: auto 100%;
		max-height: 450px;
		margin-bottom: 50px;
	}
	#subsection_mission h3 img{
		margin-bottom: 10px;
	}
	#subsection_mission h3{
		text-align: center;
		font-size: 18px;
		margin-bottom: 40px;
	}
	#subsection_mission p{
		font-weight: 700;
		font-size: 20px;
		line-height: 1.8;
		letter-spacing: 0.05em;
		text-align: center;
	}
}


#section_company{
	min-height: 800px;
	margin-bottom: 230px;
}
.company_iframe{
	position: absolute;
	left: 0;
	width: 43vw;
	height: 680px;
	z-index: 1;
}
.company_frame{
	position: absolute;
	top: 200px;
	right: 0;
	width: 60vw;
	background: #F1F1F1;
	padding: 40px 10px 40px 10vw;
}

.company_table{}
.company_table th,
.company_table td{
	padding: 15px 10px 15px 5px;
}
.company_table th{
	font-weight: normal;
	width: 150px;
}
.company_table td{}

@media (max-width: 767px) {
	#section_company{
		min-height: auto;
		margin-bottom: 50px;
	}
	.company_iframe{
		position: relative;
		left: 0;
		width: 100%;
		height: 40vh;
		z-index: 1;
	}
	.company_frame{
		position: relative;
		top: 0;
		right: 0;
		width: 100%;
		padding: 20px;
	}

	.company_table,
	.company_table th,
	.company_table td,
	.company_table tr,
	.company_table thead,
	.company_table tbody{
		width: 100%;
		display: block;
	}
	.company_table th,
	.company_table td{}
	.company_table th{
		font-weight: 700;
		padding: 15px 0 5px 0;
		font-size: 14px;
	}
	.company_table td{
		padding: 0;
		font-size: 13px;
		line-height: 1.5;
	}

}

#section_solpanel{}
#section_solpanel_mv{
	background: #EFEFEF url("../img/home/solpanel_bg@2x.jpg") no-repeat center center;
	background-size: cover;
	padding-top: 240px;
	height: 45vw;
	text-align: center;
	max-width: 1400px;
	max-height: 610px;
	margin: 0 auto;
}
#section_solpanel_mv img{
	width: auto;
	height: 120px;
}
#section_solpanel_mv p{
	margin-bottom: 0;
}

#section_solpanel_mv p.solpanel_title{
	color: #00A4ED;
	text-align: center;
	font-size: 20px;
	margin-top: -5px;
	margin-bottom: 40px;
}
#section_solpanel_mv p.solpanel_copy{
	font-size: 26px;
	line-height: 1.7;
}
.section_solpanel_image{
	float: left;
	width: 50%;
	padding-left: 0;
	padding-right: 40px;
	padding-top: 30px;
}
.section_solpanel_image h4{
	color: #00A4ED;
	text-align: center;
	font-size: 24px;
	line-height: 1.5;
	margin-bottom: 30px;
}
.section_solpanel_detail{
	float: right;
	width: 50%;
	padding-top: 100px;
	padding-left: 10px;
	padding-right: 0px;
}
.section_solpanel_detail h3{
	color: #00A4ED;
	border: 1px solid #00A4ED;
	padding:20px;
	font-size: 28px;
	text-align: center;
	margin-bottom: 30px;
}
.section_solpanel_detail p{
	font-size: 18px;
	margin-bottom: 1.8em;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
.section_solpanel_detail strong{
	color:#F59600;
}
@media (min-width: 1400px) {


}
@media (max-width: 767px) {

	#section_solpanel{}
	#section_solpanel_mv{

		padding-top: 50vw;
		/* height: 44vw; */
		height: auto;
		background-position: top center;
		background-size: 100% auto;
		background-color: #FFFFFF;
	}
	#section_solpanel_mv img{
		width: auto;
		height: 50px;
	}
	#section_solpanel_mv p{
		margin-bottom: 0;
	}

	#section_solpanel_mv p.solpanel_title{
		font-size: 14px;
		margin-top: 0;
		margin-bottom: 10px;
	}
	#section_solpanel_mv p.solpanel_copy{
		font-size: 16px;
		margin-top: 20px;
	}
	.section_solpanel_image{
		float: none;
		width: 100%;
		padding-left: 0px;
		padding-right: 0px;
	}
	.section_solpanel_image h4{
		font-size: 15.5px;
		line-height: 1.8;
		padding-bottom: 0px;
	}

	.section_solpanel_detail{
		float: none;
		width: 100%;
		padding-top: 40px;
		padding-left: 10px;
		padding-right: 10px;
	}
	.section_solpanel_detail h3{
		padding:15px 5px;
		font-size: 18px;
	}
	.section_solpanel_detail p{
		font-size: 14px;
		margin-bottom: 1.3em;
		line-height: 1.8;
		letter-spacing: 0.05em;
	}
	.section_solpanel_detail p br{
		display: none;
	}
	.section_solpanel_detail strong{}

}

#section_service{
	background: url("../img/home/service_bg.png") repeat-x center center;
	background-size: auto 100%;
}
#section_service .inner_content{
	padding: 50px 50px;
}

.service_case{
	padding-top: 330px;
	position: relative;
	width: 510px;
	margin-bottom: 70px;
}

.service_case dt{
	line-height: 2;
	font-size: 27px;
	font-weight: 300;
	margin-bottom: 10px;
}
.service_case dt span{
	position: relative;
	display: inline-block;
	background-color: #000000;
	color: #FFFFFF;
	padding: 1px 5px;
	text-align: center;
	font-size: 14px;
	width: 200px;
}

.service_case dt em{
	font-weight: normal;
	font-style: normal;
	white-space: nowrap;
}
.service_case dd{
	font-size: 16px;
	line-height: 1.8;
	width: 470px;
}

.service_case_imgs{
	/*position: absolute;*/
}
#service_case3{
	float: left;
}
#service_case4{
	margin-top: 100px;
	float: right;
}
#service_case5{
	float: left;
}
#service_case6{
	float: right;
}
#service_case7{
	float: left;
}
#service_case8{
	float: right;
}

.service_case_img1,
.service_case_img2{
	position: absolute;
	top: -20px;
	left: -30px;
}
#service_case1,
#service_case2{
	width: 100%;
	padding-top: 400px;
	margin-bottom: 0;
}
#service_case2{
	margin-top: -50px;
	padding-left: 52%;
}

#service_case1 dt,
#service_case2 dt{
	font-size: 34px;
}
#service_case1 dd,
#service_case2 dd{
	font-size: 18px;
}

#service_case1 .service_case_img1,
#service_case1 .service_case_img2,
#service_case2 .service_case_img1,
#service_case2 .service_case_img2{
	width: 576px;
	height: auto;
}
#service_case1 .service_case_img1{
	top: 0;
}
#service_case1 .service_case_img2{
	right: 10px;
	left:auto;
	top: 100px;
}
#service_case2 .service_case_img1{
	right: 10px;
	left:auto;
	top: 0;
}
#service_case2 .service_case_img2{
	top: 100px;
}
@media (max-width: 767px) {

	#section_service{
		background-size: auto 100%;
	}
	#section_service .inner_content{
		padding: 20px 20px;
	}

	.service_case{
		padding-top: 0;
		position: relative;
		width: 100%;
		margin-bottom: 30px;
	}


	.service_case dt{
		line-height: 1.4;
		font-size: 18px;
		/*font-weight: 300;*/
		margin-bottom: 8px;
	}
	.service_case dt span{
		position: relative;
		padding: 3px 5px;
		margin-bottom: 8px;
		font-size: 12px;
		width: 150px;
	}
	.service_case dd{
		font-size: 14px;
		line-height: 1.8;
		width: 100%;
	}

	#service_case1 dt,
	#service_case2 dt{
		font-size: 22px;
	}
	#service_case1 dd,
	#service_case2 dd{
		font-size: 16px;
	}


	.service_case_imgs{
		/*position: absolute;*/
	}
	#service_case4{
		margin-top: 0;
	}
	#service_case1,
	#service_case2,
	#service_case3,
	#service_case4,
	#service_case5,
	#service_case6,
	#service_case7,
	#service_case8{
		float: none;
	}

	.service_case_img1,
	.service_case_img2{
		position: relative;
		top: 0;
		left: 0;
	}
	#service_case1,
	#service_case2{
		width: 100%;
		padding-top: 0;
		margin-bottom: 0;
	}

	#service_case2{
		margin-top: 0px;
		padding-left: 0;
	}
	#service_case1 .service_case_img1,
	#service_case1 .service_case_img2,
	#service_case2 .service_case_img1,
	#service_case2 .service_case_img2{
		width: 100%;
		height: auto;
	}
	#service_case1 .service_case_img1{
		top: 0;
	}
	#service_case1 .service_case_img2{
		right: auto;
		left:0;
		top: 0;
		margin-top: -20px;
	}
	#service_case2 .service_case_img1{
		right: auto;
		left:0;
		top: 0;
	}
	#service_case2 .service_case_img2{
		top: 0;
		margin-top: -20px;
	}
}


#section_news{
	margin-bottom: -120px;
}
.news_frame{
	background: #FFFFFF;
	padding: 30px 50px 50px;
	-webkit-box-shadow:  0px 3px 10px rgba(0,0,0,0.3);
	-moz-box-shadow:  0px 3px 10px rgba(0,0,0,0.3);
	box-shadow:  0px 3px 10px rgba(0,0,0,0.3);
}
.news_table{
}
.news_table th,
.news_table td{
	padding: 20px 20px 20px 5px;
	border-top: 1px solid #707070;
}
.news_table tr:first-of-type th,
.news_table tr:first-of-type td{
	border-top: none;
}

.news_table th{
	width: 150px;
}
.news_table td{}

@media (max-width: 767px) {

	#section_news{
		margin-top: -30px;
		margin-bottom: -120px;
	}
	.news_frame{
		background: #FFFFFF;
		padding: 10px 20px;
	}
	.news_table{}
	.news_table,
	.news_table tr,
	.news_table th,
	.news_table td{
		display: block;
		width:100%;
	}
	.news_table th,
	.news_table td{
		font-size: 14px;
	}
	.news_table th{
		padding: 10px 0 0 0;
		border-top: 1px solid #707070;
	}
	.news_table td{
		padding: 0 0 10px 0;
		border-top: none;
	}
	.news_table tr:first-of-type th,
	.news_table tr:first-of-type td{
		border-top: none;
	}

}

