@charset "UTF-8";
/* CSS Document */


/* Font*/
/* ============================================ */
/*Noto Sans JP
font-family: 'Noto Sans JP', sans-serif;*/

/*Ramabhadra
font-family: 'Ramabhadra', sans-serif;*/


/* Common*/
/* ============================================ */
body{
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	position: relative;
}
.d-none{
	display: none;
}
.d-md-none{
	display: block;
}
@media (min-width: 768px) {
	.d-none{
		display: block;
	}
	.d-md-none{
		display:none;
	}
}

.jump{
	display: block;
	padding-top: 70px;
	margin-top: -70px;
}

.common{
}
.common h2{
	color: #0078DA;
	border-bottom: solid 1px #0078DA;
	padding-bottom: 5px;
	display: inline-block;
	font-size: 28px;
}
.common h3{
	color: #0078DA;
	margin-top: 10px;
	font-size: 18px;
	font-family: 'Ramabhadra', sans-serif;
	font-weight: 400;
}
.common inner{
	
}
@media(min-width:768px){
	.common{
	}
	.common h2{
		padding-bottom: 18px;
		font-size: 42px;	
	}
	.common h3{
		margin-top: 17px;
		font-size: 23px;
}
	.common inner{

	}	
}










/* Nav */
/* ============================================ ナビゲーションメニュー ============================================*/
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: fixed;
  width: 25px;
  height: 14px;
	top: 23px;
  right:20px;
  z-index:1000;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color:#ffffff;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 6px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

#nav_button:hover{
	cursor: pointer;
}

.nav_menu_style{
	position:fixed;
	z-index:999;
	top: 0px;
	background-color: rgba(0,0,0,0.80);
	width:100%;
	height:100vh;
	padding-top: 95px;
	overflow: scroll;
	-ms-overflow-style: none;
}
.nav_menu_style::-webkit-scrollbar {
    display:none;
}
.nav_menu_style li{
  font-family : Noto Sans JP;
  font-size : 15px;
  line-height : 28.84px;
  letter-spacing : 0.72px;
  color : #ffffff;
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-bottom: 25px;
	font-weight: bold;
}

.nav_menu_style a{
	text-decoration: none;
	position: relative;
}

.nav_menu_style a::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 2px;
	background-color: #ffffff;
	visibility: hidden;
	transform: scale(0,1);
	transform-origin: left top;
	transition: .3s;
}
.nav_menu_style a:hover::after{
	visibility: visible;
	transform: scale(1,1);
}



/*メニューを右からスライドさせるための記述*/
#nav_menu{
	left: 100%;
	opacity: 0.3;
	transition: all 0.8s ease;
}
/*クリック後の表示の記述（要素の右端が右にくっついている時、０）*/
#nav_menu.swing{
	left: 0px;
	opacity: 0.98;
}

.menu-trigger.active span:nth-of-type(1),
.menu-trigger.active span:nth-of-type(3) {
  width: 25px;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translate(-2px,10px) rotate(-40deg);
  transform: translate(0px,6px) rotate(-40deg);
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translate(-2px,-10px) rotate(40deg);
  transform: translate(0px,-6px) rotate(40deg);
}
.menu-trigger.active span:nth-of-type(2){
	opacity: 0;
}


.member_btn{
	border: solid 1px #ffffff;
	padding: 5px  25px 6px 25px;
}
.sp_member_icon{
	width: 18px;
	position: fixed;
	top:20px;
	right: 65px;
	z-index: 9999;
}

/*@media(min-width:1100px){
.menu-trigger {
  width: 35px;
  height: 29px;
	top: 20px;
  right:45px;
}
.menu-trigger span {
  height: 3px;
}
.menu-trigger span:nth-of-type(2) {
  top: 13px;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translate(-4px,8px) rotate(-45deg);
  transform: translate(-2px,13px) rotate(-40deg);
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translate(-4px,-8px) rotate(45deg);
  transform: translate(-2px,-13px) rotate(40deg);
}
}*/


@media (min-width: 1180px) {
.menu-trigger,
.menu-trigger span {
  display: none;
}
.nav_menu_style{
	top: 0px;
	right:0px;
	background-color:transparent;
	height: 136px;/*headerの高さ*/
	padding-top: 48px;
	overflow: visible;
	-ms-overflow-style: none;
	text-align: left;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	max-width: 1280px;
	margin: auto;
}
.nav_menu_style li{
  font-size : 17px;
  line-height : 2.9;
  letter-spacing : 1.5px;
  color : #ffffff;
	text-align: center;
	margin: 0 40px 0 0;
}


.nav_menu_style a{
	text-decoration: none;
}
	.nav_menu_style a:hover{
		color: var(--back_blue);
		transition: all 0.3s 0s ease;
	}

/*メニューを左からスライドさせるための記述*/
#nav_menu{
	left: 0px;/*右に隠す*/
	opacity: 1;
	transition: all 0.8s ease;
}
#nav_menu.swing{/*クリック後の表示の記述（要素の右端が右にくっついている時、０）*/
	left: 0px;
	opacity: 1;
}
	
.member_btn{
	padding: 5px  40px 6px 40px;
	position: relative;
	top: -4px;
}
.sp_member_icon{
	display: none;
}	
	
}





/* Header */
/* ============================================ ヘッダー ============================================ */
.hideClass {
  transform: translateY(-60px);
}
.header{
	background-color: rgba(0,0,0,0.30);
	height: 58px;
	width: 100%;
	position: fixed;
	z-index: 999;
	text-align: left;
	transition: .5s;
}
.header_inner{
	max-width: 1280px;
	margin: auto;
}
.header_logo img{
	width: 118px;
	position: relative;
	z-index: 99999;
	margin: 10px 0 0 13px;
}
@media (min-width:1180px){
.hideClass {
  transform: translateY(-140px);
}
.header{
	height: 136px;
}
.header_logo img{
	width: 199px;
	margin: 35px 0 0 40px;
}	
}




/* Top main visual */
/* ============================================ メインビジュアル ============================================*/
.top_sec{
	position: relative;
}
.top_header{
	position: absolute;
	top: 100px;
	left: 50%;
	transform: translate(-50%,0);
	z-index: 9;
	width: 90%;
}
/*.top_header small{
  font-weight : bold;
  font-size : 14px;
  line-height : 30.33px;
  letter-spacing : 0.95px;
  color : #FFFFFF;
	background-color: #0075DC;
	display: inline-block;
	padding: 0px 10px;
}*/
.top_header img{
	max-width: 230px;
	width: 80%;
	display: block;
	margin: auto;
}
.top_header div{
	width: 1px;
	height: 60px;
	margin: auto;
	background-color: #FFFFFF;
	margin-top: 10px;
	margin-bottom: 20px;
}
.top_header p{
  font-weight : bold;
  font-size : 25px;
  line-height : 44px;
  letter-spacing : 0.63px;
  color : #FFFFFF;
  text-shadow : 6px 6px 15px rgba(0, 0, 0, 0.75);
}

.netis{
	width: 200px !important;
	height: auto !important;
	background-color: rgba(24,161,73,0.75) !important;
	margin: auto!important;
	border-radius: 50%;
	padding: 15px 0;
	margin-bottom: 10px !important;
}
.netis p{
	font-size: 19px;
	text-shadow: none !important;
	line-height: 1.8 !important;
	letter-spacing: 2.1px;
}
.netis_en{
	font-size: 20px;
}
.netis_sub{
	font-size: 12px;
	font-weight: 500;
	color: #FFFFFF;
}
.netis small{
  font-weight : 400;
  font-size : 11px;
  line-height : 1.3;
  letter-spacing : 0.95px;
	display: block;
	background-color:transparent;
	padding: 0px;
	color: #FFFFFF;
}

@media(min-width:1180px){
.top_header{
	top: 285px;
	width:800px;
}
/*.top_header small{
  font-size : 19px;
	padding: 2px 12px;
}*/
.top_header img{
	max-width: 347px;
	width: 100%;
}
.top_header div{
	width: 2px;
	height: 91px;
	margin-top: 6px;
	margin-bottom: 25px;
}
.top_header p{
  font-size : 40px;
  letter-spacing : 1px;
}
	
.netis{
	width: 240px !important;
	padding: 20px 0;
	margin-bottom: 10px !important;
	position: absolute;
	top: -90px;
    left: 24px;
}
.netis p{
	font-size: 21px;
	line-height: 1.8 !important;
	letter-spacing: 2.1px;
}
.netis_en{
	font-size: 23px;
}
.netis_sub{
	font-size: 14px;
}
.netis small{
  font-size : 13px;
  line-height : 1.3;
  letter-spacing : 0.95px;
}
	
}


/* ============================================ Swiper ============================================*/
.swiper-slide img{
	width: 100%;
	height: 100vh;
	object-fit: cover;
}
@media(min-width:768px){
.swiper-slide img{
	height: 100%;
}
}
@media(min-width:1100px){
.swiper-slide img{
	height: 100vh;
	object-fit: cover;
}
}


/* topabout */
/* ============================================ topabout ============================================*/
.topabout_sec{
	padding: 80px 0 70px 0;
}
.topabout_inner h2{
	font-weight : bold;
	font-size : 27px;
}
.topabout_inner div{
	width: 2px;
	height: 91px;
	margin: auto;
	background-color: #0078DA;
	margin-top: 30px;
	margin-bottom: 35px;
}
.topabout_inner p{
  font-size : 23px;
  line-height : 40px;
  letter-spacing : 1.73px;
	font-weight : 500;
}
.topabout_inner p>span{
  color : #0078DA;
	font-weight : bold;
}
@media(min-width:1180px){
.topabout_sec{
	padding: 145px 0 125px 0;
}
.topabout_inner h2{
	font-size : 42px;
}
.topabout_inner div{
	width: 2px;
	height: 91px;
	margin-top: 40px;
	margin-bottom: 42px;
}
.topabout_inner p{
  font-size : 38px;
  line-height : 20px;
  letter-spacing : 2.85px;
}	
}



/* Five star */
/* ============================================ Five star ============================================*/
.fivestar_sec{
	background-image: url("../img/top/fivestar_bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	padding: 98px 0 98px 0;
}
.fivestar_inner{
	color: #FFFFFF;
}
.fivestar_header h2{
  font-weight : bold;
  font-size : 35px;
  line-height : 35.72px;
  letter-spacing : 0.88px;
	margin-bottom: 20px;
}
.fivestar_header h2>small{
  font-size : 27px;
  letter-spacing : -0.67px;
}
.fivestar_header img{
	width: 172px;
	margin-bottom: 60px;
}
.fivestar_contents ul li{
	margin-bottom: 65px;
}
.fivestar_contents ul li h3{
  font-weight : bold;
  font-size : 20px;
  line-height : 27px;
  letter-spacing : 2px;
	border-bottom: solid 1px #ffffff;
	padding-bottom: 10px;
	margin-bottom: 15px;
	display: inline-block;
}
.fivestar_contents ul li h3 img{
	width: 20px;
	display: inline-block;
	margin-right: 10px;
	vertical-align: top;
	margin-bottom: 0px;
	padding-top: 5px
}
.fivestar_contents ul li p{
  font-size : 14px;
  line-height : 18.2px;
  letter-spacing : 1.4px;	
}
.fivestar_contents img{
	width: 77px;
	display: block;
	margin: auto;
	margin-bottom: 40px;
}
.fivestar_contents big{
  font-weight : bold;
  font-size : 23px;
  line-height : 40px;
  letter-spacing : 2.3px;
}
@media(min-width:1180px){
.fivestar_sec{
	padding: 210px 0 250px 0;
}
.fivestar_header h2{
  font-size : 71px;
  line-height : 71.39px;
  letter-spacing : 3.55px;
	margin-bottom: 20px;
}
.fivestar_header h2>small{
  font-size : 55px;
  letter-spacing : 2.75px;
}
.fivestar_header img{
	width: 263px;
	margin-bottom: 100px;
}
.fivestar_contents ul li{
	margin-bottom: 65px;
}
.fivestar_contents ul li h3{
  font-size : 38px;
  line-height : 58px;
  letter-spacing : 3.8px;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.fivestar_contents ul li h3 img{
	width: 42px;
	padding-top: 5px
}
.fivestar_contents ul li p{
  font-size : 23px;
  line-height : 58px;
  letter-spacing : 2.3px;
}
.fivestar_contents img{
	width: 225px;
	margin-bottom: 65px;
}
.fivestar_contents big{
  font-size : 42px;
  line-height : 58px;
  letter-spacing : 4.2px;
}	
}



/* Works */
/* ============================================ 施工事例 ============================================*/
.topworks_sec{
	background-image: url("../img/top/works_bg_sp.png");
	background-repeat: no-repeat;
	background-size: cover;
	padding: 216px 0;
}
.topworks_inner{
	border: solid 1px #ffffff;
	background-color: rgba(90, 136, 179, 0.40);
	width: 65%;
	max-width: 707px;
	margin:auto;
	padding: 110px 0 130px 0;
}
.topworks_inner h2{
  font-weight : bold;
  font-size : 27px;
  letter-spacing : 2.7px;
  color : #FFFFFF;
  text-shadow : 7px 7px 10px rgba(0, 0, 0, 0.75);	
}
@media(min-width:1180px){
.topworks_sec{
	background-image: url("../img/top/works_bg.jpg");
	padding: 174px 0 164px 0;
	margin-top: 60px;
}
.topworks_inner{
	padding: 70px 0;
}
.topworks_inner h2{
  font-size : 42px;
  letter-spacing : 4.2px;
}	
}




/* top Contact */
/* ============================================ top Contact ============================================*/
.topcontact_sec{
	background-image: url("../img/top/contact_bg_sp.png");
	background-repeat: no-repeat;
	background-size: cover;
	padding: 216px 0;	
}
.topcontact_inner{
	border: solid 1px #ffffff;
	background-color: #0078DA;
	width: 65%;
	max-width: 707px;
	margin:auto;
	padding: 70px 0 35px 0;	
}
.topcontact_inner h2{
	font-family: 'Ramabhadra', sans-serif;
  font-size : 35px;
  letter-spacing : 0.88px;
  color : #FFFFFF;
  text-shadow : 7px 7px 10px rgba(0, 0, 0, 0.75);
	margin-bottom: 57px;
}
.topcontact_inner p{
  font-weight : bold;
  font-size : 16px;
  line-height : 30px;
  letter-spacing : 1.2px;	
	color: #ffffff;
}
@media(min-width:1180px){
.topcontact_sec{
	background-image: url("../img/top/contact_bg.jpg");
	padding: 174px 0 164px 0;
	margin-top: 60px;
}
.topcontact_inner{
	padding: 50px 0 43px 0;	
}
.topcontact_inner h2{
  font-size : 45px;
  letter-spacing : 1.13px;
	margin-bottom: 21px;
}
.topcontact_inner p{
  font-size : 21px;
  line-height : 49px;
  letter-spacing : 1.58px;
	text-shadow : 6px 6px 12px rgba(0, 0, 0, 0.60);
}	
}






/* footer */
/* ============================================ footer ============================================*/
footer{
	background-color: #EAF7FD;
	padding: 35px 22px 30px 22px;
	text-align: left;
}
.footer_inner{
	max-width: 900px;
	margin: auto;
}

.footer_netis{
	width: 152px ;
	height: auto ;
	background-color: rgba(24,161,73,0.90) ;
	border-radius: 50%;
	padding: 15px 0;
	margin-bottom: 10px ;
	text-align: center;
	margin-left: 10px;
}
.footer_netis p{
	font-weight: bold;
	font-size: 15px;
	text-shadow: none ;
	line-height: 1.8 ;
	letter-spacing: 2.1px;
	color: #FFFFFF;
}
footer .netis_en{
	font-size: 17px;
}
footer .netis_sub{
	font-size: 10px;
	font-weight: 500;
	color: #FFFFFF;
	line-height: 1.5;
    display: block;
}
.footer_netis small{
  font-weight : 400;
  font-size : 10px;
  line-height : 1.3;
  letter-spacing : 0.95px;
	display: block;
	background-color:transparent;
	padding: 0px;
	color: #FFFFFF;
}

.footer_adress{
	
}
.footer_adress img{
	width: 164px;
	vertical-align:middle;
	margin-bottom: 20px;
}
.footer_adress small{
  font-size : 12px;
  line-height : 17.82px;
  letter-spacing : 0.6px;
  color : #FFFFFF;
	background-color: #5A88B3;
	padding: 4px 7px;
	margin-left: 25px;
	position: relative;
	top: 0px;
}
.footer_adress h5{
  font-weight : bold;
  font-size : 12px;
  line-height : 18px;
  color : #009FE8;	
}
.footer_adress p{
  font-size : 12px;
  line-height : 18px;
  color : #009FE8;	
}
.footer_adress_honsya_h5{
	
}
.footer_adress_honsya_p{
	
}
.footer_adress_kantou_h5{
	margin-top: 5px;
}
.footer_adress_kantou_p{
	
}
footer hr{
	border-style: none;
	border-bottom: solid 1px #009FE8;
	margin: 30px 0 20px 0;
}
.footer_nav{
	
}
.footer_nav ul{
	position: relative;
}
.footer_nav li{
  font-size : 12px;
  line-height : 24px;
  letter-spacing : 0.3px;
  color : #009FE8;
}
.footer_nav li:hover{
	color: #0078DA;
	transition: .3s;
}
.member_btn_footer{
	background-color: #FFFFFF;
	padding: 0 30px;
	display: inline-block;
	position: absolute;
	top: 0px;
	right: 0px;
	border: solid 1px #009FE8;
	line-height : 2.5 !important;
}
.member_btn_footer:hover{
	border: solid 1px #0078DA;
}
.copy{
	background-color: #009FE8;
}
.copy small{
  font-size : 10px;
  line-height : 7.5;
  letter-spacing : 0.5px;
  color : #FFFFFF;	
}
@media(min-width:1140px){
footer{
	padding: 296px 78px 110px 78px;
}
.footer_inner{
	max-width: 1280px;
	position: relative;
}
	
.footer_netis{
	width: 216px ;
	padding: 15px 0;
	margin-bottom: 10px ;
	margin-left: 10px;
}
.footer_netis p{
	font-size: 19px;
}
footer .netis_en{
	font-size:21px;
}
footer .netis_sub{
	font-size: 12px;
}
.footer_netis small{
  font-size : 12px;
}
	
.footer_adress{
	position: relative;
}
.footer_adress img{
	width: 250px;
	vertical-align:bottom;
	margin-bottom: 0px;
	position: relative;
	z-index: 9;
}
/*.footer_adress small{
  font-size : 14px;
  line-height : 22px;
  letter-spacing : 0.7px;
	padding: 6px 12px;
	margin-left: 30px;
	top: -10px;
}*/
.footer_adress h5{
  font-size : 15px;
  line-height : 25px;
	position: absolute;
}
.footer_adress p{
  font-size : 15px;
  line-height : 22px;
	position: absolute;
	left: 90px;
}
.footer_adress_honsya_h5{
	bottom: -60px;	
}
.footer_adress_honsya_p{
	bottom: -59px;	
}
.footer_adress_kantou_h5{
	margin-top: 0px;
	bottom: -87px;
}
.footer_adress_kantou_p{
	bottom: -86px;
}
footer hr{
	margin: 20px 0 20px 0;
}
.footer_nav{
	position: absolute;
	bottom: 30px;
	right: 0;
}
.footer_nav ul{
	position: relative;
	text-align: right;
	width: 620px;
}
.footer_nav li{
  font-weight : bold;
  font-size : 17px;
  letter-spacing : 0.43px;
}
	.footer_pc_li{
		display: inline-block;
		margin-left: 35px;
	}
.member_btn_footer{
	padding: 0 40px;
	top: 80px;
	right: 0px;
	line-height : 3.5 !important;
	font-size : 16px !important;
}

.copy small{
  font-size : 13px;
  line-height : 9;
  letter-spacing : 0.65px;	
}	
}
@media(min-width:1280px){
	.footer_netis{
		position: absolute;
		top: -60px;
		left: 265px;
	}
}

