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

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500&display=swap');

/* 変数の定義
------------------------------------------------------------*/
:root{
	--pointcolor:#253494;
	--bgc: #0B3967;
}

/* ベースのCSS
------------------------------------------------------------*/

html {
  font-size: 62.5%;
}

body{
	font-size: 1.6rem;
	font-family: "游ゴシック体",YuGothic,'Yu Gothic',sans-serif,'ヒラギノ角ゴシック','Hiragino Sans','メイリオ', Meiryo, sans-serif;
	font-weight: 400;
	color: #333;
	font-feature-settings: "palt";
	line-height: 1.8;
	letter-spacing: 0.1rem;
}

a{
	color: #333;
	text-decoration: none;
}

img {
    max-width: 100%;
    width: 100%;
    height: auto;
}

figure{
	margin: 0;
}

small{
	font-size: 1.2rem;
}

h2{
	text-align: center;
	font-family: 'Noto Serif JP';
	font-size: 3.2rem;
	font-weight: 400;
	margin-bottom: 30px;
}

h2 span{
	display: block;
	font-size: 1.8rem;
	font-weight: 300;
}

h3{
	font-size: 2.4rem;
	font-weight: bold;
}

.uppercase{
	text-transform:uppercase;
}

.text_center{
	text-align: center;
}

.inner{
	padding: 80px 0 96px;
	overflow: hidden;
}

.container{
	width: 1170px;
	padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.bgc{
	background-color: var(--bgc);
	color: #fff;
}

.btn1{
	border-radius: 50px;
	color:#fff;
	background-color: var(--pointcolor);
	padding: 10px 48px;
	transition: 0.4s;
}

.btn1:hover{
	opacity: 0.7;
}

.read{
	margin-bottom: 80px;
}

.br_sp{
		display: none;
	}


@media screen and (max-width:1200px) {
	.container{
		width: 972px;
	}
 
}

@media screen and (max-width:980px) {
	.container{
		width: 100%;
	}
}	

@media screen and (max-width:400px) {	
	.br_pc{
		display: none;
	}
	
	.br_sp{
		display: block;
	}
}

/* ヘッダー
------------------------------------------------------------*/
.header{
	height: 100px;
	position: fixed;
	z-index: 400;
	top:0 ;
	left:0;
	width: 100%;
}

.header_logo{
	width: 217px;
	height: auto;
	padding: 32px 0;
}

.logo_02{
	display: none;
}

.header .container{
	display: flex;
	justify-content: space-between;
}

/*順番を入れ替える*/
@media screen and (max-width:980px){
	.flexbox{
	  display:-webkit-box;
	  display: -webkit-flex;
	  display:-ms-flexbox;
	  display: flex;
	  -webkit-flex-wrap:wrap;
	  -ms-flex-wrap:wrap;
	  flex-wrap:wrap;	
	}
	
	.box1,.box2{
		width: 100%;
		text-align: center;
	}
	
	.box1{
	  -webkit-box-ordinal-group:1;
	  -ms-flex-order:1;
	  -webkit-order:1;
	  order:1;
	}
	.box2{
	  -webkit-box-ordinal-group:2;
	  -ms-flex-order:2;
	  -webkit-order:2;
	  order:2;
	}
	
	.header{
		height: 68px;
	}
	
	.header_logo{
		width: 180px;
		height: auto;
		padding: 18px 0;
	}

}

/* ナビゲーション
------------------------------------------------------------*/
.nav_btn,.nav_link{
	display: flex;
	justify-content: flex-end;
}

.nav_btn{
	padding-top: 18px;
}

.nav_btn .tel{
	color: #fff;
	font-size: 2.4rem;
	font-weight: 500;
	transition: 0.3s;
    line-height: 32px;
}

.nav_btn .tel:hover{
	opacity: 0.6;
}

.nav_btn .mail{
	display: block;
	height: 32px;
	width: 232px;
	margin-left: 12px;
	color: #fff;
	background-color: rgba(255,255,255,0.1);
	border: solid 1px #fff;
	border-radius: 25px;
	transition: 0.4s;
	line-height: 32px;
	text-align: center;
}

.nav_btn .mail:hover{
	background-color: #fff;
	color: #333;
}


.nav_link li{
	margin-top: 5px;
	margin-left: 30px;
}

.nav_linktext{
	color: #fff;
	position: relative;
  	display: inline-block;
  	text-decoration: none;
}

.nav_linktext::after {
  	position: absolute;
  	bottom: -3px;
  	left: 0;
  	content: '';
  	width: 100%;
  	height: 2px;
  	background: #fff;
  	transform: scale(0, 1);
  	transform-origin: left top;
  	transition: transform .3s;
}

.nav_linktext:hover::after {
  	transform: scale(1, 1);
}




/* スクロール時のヘッダー
-----------------------------------------*/

.changecolor .logo_02{
	display: block;
	background-color: transparent;
}

.changecolor .logo_01{
	display: none;
}

.changecolor{
	background-color: #fff;
	filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1));
}

.changecolor .nav_linktext{
	color: #333;
}

.changecolor .nav_btn .mail,
.changecolor .nav_btn .tel{
	color: var(--bgc);
}

.changecolor .nav_btn .mail{
	border: solid 1px var(--bgc);
}

.changecolor .nav_btn .mail:hover{
	background-color: var(--bgc);
	color: #fff;
}

.changecolor .nav_linktext::after {
  	background: #333;
}

@media screen and (max-width:980px) {
	.changecolor .nav_btn .mail,
	.changecolor .nav_btn .tel,
	.changecolor .nav_linktext{
		color: #fff;
	}
	
	.changecolor .nav_btn .mail{
		border: solid 1px #fff;
	}
}


/* スマホ表示のナビゲーション
-----------------------------------------*/
@media screen and (max-width:980px) {
	
	.nav{
		padding: 50px 0;
		background-color: var(--bgc);
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 300;
		visibility: hidden;
		opacity: 0;
		transition: .4s;
	}
	
	.nav.open {
		visibility: visible;
		opacity: 1;
	}
	
	.nav_btn,.nav_link{
		display: block;
	}
	
	.nav_link li{
		margin-left: 0;
		margin-bottom: 40px;
	}
	
	.nav_btn{
		width: 100%;
		margin: 0 auto 0;
	}
	
	.nav_btn .mail,.nav_btn .tel{
		display: block;
		margin: 0 auto 20px;
		color: #fff;
		font-size: 1.8rem;
		line-height: 56px;
		height: 56px;
		width: 75%;
		border: solid 1px #fff;
		border-radius: 50px;
		background-color: rgba(255,255,255,0.2);
	}

	.nav_linktext{
		color: #fff;
	}
	
	/* ハンバーガーメニュー
	-----------------------------------------*/
	
	.btn_trigger{
		position: absolute;
		border: none;
		background-color:rgba(0,0,0,0);
		display: block;
		top: 20px;
		right: 15px;
		width: 30px;
		height: 30px;
		transition: all .5s;
		cursor: pointer;
		z-index: 500;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		-webkit-box-shadow: none;
		box-shadow: none;
		outline: none;
	}

	.btn_trigger span{
		display: block;
		position: absolute;
		left: 0;
		width: 30px;
		height: 3px;
		background-color: #fff;
		border-radius: 4px;
		transition: all .5s;
	}

	.btn_trigger span:nth-child(1) {
		top: 4px;
	}
	.btn_trigger span:nth-child(2) {
		top: 14px;
	}
	.btn_trigger span:nth-child(3) {
		bottom: 4px;
	}
	.open .btn_trigger span {
		background-color: #fff;
	}
	.open .btn_trigger span:nth-child(1) {
		-webkit-transform: translateY(10px) rotate(-315deg);
		transform: translateY(10px) rotate(-315deg);
	}
	.open .btn_trigger span:nth-child(2) {
		opacity: 0;
	}
	.open .btn_trigger span:nth-child(3) {
		-webkit-transform: translateY(-10px) rotate(315deg);
		transform: translateY(-10px) rotate(315deg);
	}

	/* start bayashi add */
	/* JSでactiveを付与してたのでそれを利用する形に変更 */
	.btn_trigger.active span {
		background-color: #fff;
	}
	.btn_trigger.active span:nth-child(1) {
		-webkit-transform: translateY(10px) rotate(-315deg);
		transform: translateY(10px) rotate(-315deg);
	}
	.btn_trigger.active span:nth-child(2) {
		opacity: 0;
	}
	.btn_trigger.active span:nth-child(3) {
		-webkit-transform: translateY(-10px) rotate(315deg);
		transform: translateY(-10px) rotate(315deg);
	}
	/* end bayashi add */
	#mask {
		display: none;
		transition: all .5s;
	}
	.open #mask {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #000;
		opacity: .8;
		z-index: 80;
		cursor: pointer;
	}
	
	.changecolorbtn span{
		background-color: #333;
	}

}


/* heroimg
-----------------------------------------*/
.heroimg{
	height: 100vh;
	position: relative;
}

.top_copy{
	position: absolute;
	top: 40%;
	left: 10%;
	z-index: 200;
	padding-right: 10%;
}

.top_copy_catch{
	display: table;
	font-family: 'Noto Serif JP';
	font-size: 3.6rem;
	letter-spacing: 1.5rem;
	padding: 2px;
 	background-color: rgba(255,255,255,0.8);
	margin-bottom: 20px;
    line-height: 1.3;
}

.top_copy_body{
	color: #fff;
	font-weight: 100;
	filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.8));
}


.main_img:nth-child(1){
	background-image: url("../img/topimg01.jpg");
}

.main_img:nth-child(2){
	background-image: url("../img/topimg02.jpg");
}

.main_img:nth-child(3){
	background-image: url("../img/topimg03.jpg");
}

.main_img:nth-child(4){
	background-image: url("../img/topimg01.jpg");
}

.main_img:nth-child(5){
	background-image: url("../img/topimg02.jpg");
}

.main_img:nth-child(6){
	background-image: url("../img/topimg03.jpg");
}

.main_imgBox {
	width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
}

.main_img {
    z-index:10;
    opacity: 0;
    width: 100%;
    height: 100vh;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 36s 0s infinite;
    animation: anime 36s 0s infinite;
}

.main_img:nth-of-type(2) {
    -webkit-animation-delay: 6s;
    animation-delay: 6s;
}

.main_img:nth-of-type(3) {
    -webkit-animation-delay: 12s;
    animation-delay: 12s;
}

.main_img:nth-of-type(4) {
    -webkit-animation-delay: 18s;
    animation-delay: 18s;
}

.main_img:nth-of-type(5) {
    -webkit-animation-delay: 24s;
    animation-delay: 24s;
}

.main_img:nth-of-type(6) {
    -webkit-animation-delay: 30s;
    animation-delay: 30s;
}

@keyframes anime {
0% {
	opacity: 0;
}
8% {
	opacity: 1;
}
17% {
	opacity: 1;
}
25% {
	opacity: 0;
	transform: scale(1.2) ;
	 z-index:9;
}
100% { opacity: 0 }
}

@-webkit-keyframes anime {
0% {
	opacity: 0;
}
8% {
	opacity: 1;
}
17% {
	opacity: 1;
}
25% {
	opacity: 0;
	-webkit-transform: scale(1.2);
	z-index:9;
}
100% { opacity: 0 }
}

@media screen and (max-width:980px) {
	.top_copy_catch{
		font-size: 2.4rem;
		letter-spacing: 0.5rem;
	}
}


/* スクロールボタン
------------------------------------------------------------*/

/*スクロールダウン全体の場所*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  left:50%;
  bottom:10px;
    /*全体の高さ*/
  height:50px;
	z-index: 200;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
  position: absolute;
  left:-20px;
  top: -20px;
    /*テキストの形状*/
  color: #eee;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top: 0;
    /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:30px;
    opacity: 1;
  }
  100%{
    height:0;
    top:50px;
    opacity: 0;
  }
}

/* ページトップボタン
------------------------------------------------------------*/

#btn_pagetop {
    position: fixed;
    bottom: 30px;
    right: 24px;
	margin-bottom: 120px;
	z-index: 50;
}

#btn_pagetop a{
	display: block;
	line-height: 0;
	text-align: center;
	background-color: var(--bgc);
	color: #fff;
	text-decoration: none;
    padding:20px 20px;
	border: solid 1px var(--bgc);
	border-radius: 50%;
	transition: all 0.2s;
}


#btn_pagetop a:hover{
	background-color: #fff;
	color: var(--bgc);
	text-decoration: none;
}





/* フッター
------------------------------------------------------------*/
.footer{
	background-color: #333;
}

.footer .inner{
	padding: 50px 0;
}

.footer_logo{
	display: block;
	height: 40px;
	width: auto;
	margin: 0 auto 40px;
}

.footer_text{
	color: #fff;
	display: block;
	margin: auto;
	margin-bottom: 20px;
}

.copyright{
	color: #fff;
	display: block;
	margin: auto;
	padding-top: 40px;
	border-top: solid #fff 1px;
}

/* レイアウトブロック1 About
------------------------------------------------------------*/

.section_text p{
	line-height: 2.6;
}

/* レイアウトブロック1 thanksページ
------------------------------------------------------------*/
.thanks_text .inner{
	padding-top: 150px;
}

.thanks_text h2{
	font-size: 2.8rem;
}

.thanks_text p{
	line-height: 1.6;
}

.thanks_btn {
	margin: 40px auto 0;
    color: #333;
    padding: 15px 20px 15px;
    border: solid 1px #333;
    border-radius: 100px;
    transition: 0.4s;
    width: 280px;
	display: block;
}

.thanks_btn:hover{
	background-color: var(--bgc);
	border-color: var(--bgc);
	color: #fff;
}

/* レイアウトブロック12 写真+テキストD
------------------------------------------------------------*/


.blockD_wrap{
	display: flex;
	justify-content: center;
}

.blockD{
	width: 50%;
	margin-right: 15px;
	margin-left: 15px;
}

.blockDimg{
	display: block;
    margin-top: -24px;
	margin-bottom: 23px;
	width: 100%;
	height: auto;
}

.blockD h3{
	color: #fff;
	font-size: 3.2rem;
	position: relative;
	left: 30px;
}

.blockD_text{
	width: calc(100% - 60px);
	margin: auto;
}

.bgc_text{
	color: #333;
	font-weight: 600;
	margin-top: -70px;
	margin-bottom: 5px;
}

.bgc_text span{
	position: relative;
  	display: inline-block;
	z-index: 1;
	margin-bottom: 10px;
}

.bgc_text span::before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: -2px;
  top: -2px;
  right: -2px;
  background-color: #fff;
  z-index: -1;
}

.blockD_link{
	display: block;
	margin-top: 60px;
}

.blockD_link span{
	margin-left: 10px;
}

.link_arrow{
	width: 46px;
	height: auto;
	transition: 0.4s;
}

.blockD_link:hover .link_arrow{
	margin-left: 30px;
}

.blockD_link p{
	font-size: 2.2rem;
	color: #fff;
	margin-bottom: 30px;;
}

.blockD_link ul{
	display: flex;
	justify-content: center;
}

.blockD_link li:last-child{
	margin-left: 23px;
}

.blockD_btn{
	color: #fff;
	padding: 15px 20px 15px;
	background-color: rgba(255,255,255,0.1);
	border: solid 1px #fff;
	border-radius: 100px;
	transition: 0.4s;
	width: 280px;
    display: block;
}

.blockD_btn:hover{
	background-color: #fff;
	color: #333;
}

@media screen and (max-width:980px) {
	.blockD{
		width: 100%;
		margin: 0;
	}
	
	.blockD_link ul{
		display: block;
	}
	
	.blockD_btn{
		margin: auto;
		margin-bottom: 20px;
	}
	
	.blockD_link li:last-child{
		margin: auto;
	}

	
}

/* レイアウトブロック03 カード型B　事業内容
------------------------------------------------------------*/
.section_cardB .inner{
	padding-bottom: 0;
}

.cardB_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.cardB{
	width: 350px;
	margin-right: 15px;
	margin-left: 15px;
	margin-bottom: 80px;
}

.cardBicon{
	display: block;
	margin-bottom: 23px;
	margin-left: auto;
	margin-right: auto;
	width: 245px;
	height: auto;
}

@media screen and (max-width:1200px) {
	.cardB{
		width: 284px;
		}
 
}







/* レイアウトブロック19 表組みA 会社概要
------------------------------------------------------------*/
.section_tableA{
	position: relative;
	padding-bottom: 600px;
	z-index: 10;
}

.section_tableA_wrap{
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 319px;
	z-index: 15;
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #fff;
	width: 950px;
}

.section_tableA_bgimg{
	background-image: url("../img/solar_img@2x.png");
	height: 439px;
	background-size: cover;
	background-position: 50% 70%;
}

.tableA{
	max-width: 730px;
	margin: auto;
}

.tableA:first-of-type{
	margin-bottom: 80px;
}

.tableA h3{
	border-bottom: solid 2px #DEDEDE;
	padding-bottom: 10px;
	margin-bottom: 20px;
}

.tableA tr{
	display: block;
	padding-bottom: 12px;
	padding-top: 12px;
	border-bottom: solid 1px #DEDEDE;
}

.tableA th{
	color: #333;
	width: 160px;
	margin-right: 30px;
	text-align: left;
}

.tableA td{
	width: 540px;
}

.googlemap{
	width: 100%;
	height: 340px;
}

@media screen and (max-width:980px) {
	.section_tableA{
		padding-bottom: 800px;
	}
	
	.section_tableA_wrap{
		width: calc(100% - 60px);
	}
	
	.tableA th{
		display: block;
	}
	
	.tableA td{
		width: 540px;
	}
	
}	

	

/* レイアウトブロック19 表組みA 募集要項
------------------------------------------------------------*/
.recruit{
	background-color: #EBEBEB;
	position: static;
	padding-bottom: 0;
}

.recruit .section_tableA_wrap{
	position: static;
}

.recruit_rink p{
	color: #333;
}

.recruit_rink .blockD_btn{
	color: #fff;
	padding: 15px 20px 15px;
	border: solid 1px var(--bgc);
	background-color: var(--bgc);
	border: none;
	border-radius: 100px;
	transition: 0.4s;
	width: 280px;
    display: block;
}

.recruit_rink .blockD_btn:hover{
	border: solid 1px var(--bgc);
	background-color: #fff;
	color: var(--bgc);
}



/* レイアウトブロック13 採用情報はこちら
------------------------------------------------------------*/

.section_guide{
	background: linear-gradient(to right, #0B3967, #1F4B77);
}

.section_guide .inner{
	padding-top: 32px;
	padding-bottom: 32px;
}

.section_guide h2{
	text-align: left;
	color: #fff;
	font-size:2.4rem;
	line-height: 2.4;
	margin-bottom: 0;
}

.guide{
	display: flex;
	justify-content: space-between;
	max-width: 920px;
	margin: auto;
}

.guige_btn{
	color: #fff;
	padding: 15px 20px 15px;
	background-color: rgba(255,255,255,0.1);
	border: solid 1px #fff;
	border-radius: 100px;
	transition: 0.4s;
	width: 280px;
    display: block;
}

.guige_btn:hover{
	background-color: #fff;
	color: #333;
}

@media screen and (max-width: 980px){
	.guige_btn{
		margin: auto;
	}
	
	.section_guide h2 {
		text-align: center;
		line-height: 1.8;
		margin-bottom: 20px;
	}
	
}

/* お問い合わせフォーム
------------------------------------------------------------*/
.contact_text{
	width: 960px;
	margin: auto;
}

@media screen and (max-width: 1000px){
.contact_text {
    width: 90%;
	}
	}

/* レイアウトブロック16 採用情報TOP
------------------------------------------------------------*/
.section_img{
	height: 560px;
	background-image: url("../img/recruit_topimg@2x.png");
	background-size: cover;
	background-position: 50% 70%;
}

.section_img h2{
	padding-top: 230px;
	color:#fff;
	
}

/* 980px以下のとき 共通CSS
------------------------------------------------------------*/



@media screen and (max-width:980px) {
	.cardA_wrap,.cardC_wrap,.col3_wrap,.col2_wrap,.PHcol2_wrap,.PHcol3_wrap,.blockD_wrap,.guide{
		display: block;
	}
	
	.cardA,.cardB,.cardC,.col3,.col2,.blockD{
		margin-bottom: 40px;
	}
 
}


