@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Noto+Sans+JP:wght@400;500&display=swap');
html {
  font-size: 62.5%; /*16px x62.5%=10px*/
	margin: 0;
  padding: 0;
  overflow-x: hidden;
  
}

body {
  color: #222222;
  font-size: 1.6rem;
	line-height: 2.0;	
  font-family: 'Noto Sans JP', sans-serif, 'Marcellus', serif;
}
* {
  box-sizing: border-box;
}
a {
  color: #222222;
  text-decoration: none;
}
img {
  max-width: 100%;
  height: auto;
}
.inner {
  max-width: 960px;
  margin: auto;
}
.sp {
  display: none;
}



/*-----------------------
*
*共通エリア 
*
*-------------------------*/

.fadein-trgger{
	opacity: 0;
}
.fade-in {
animation-name: fadeInAnime;
animation-duration:2.0s;
animation-fill-mode:forwards;
opacity:0;
}



@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}






.section_title {
	font-family: Marcellus;
   font-size: 6.5rem;
   letter-spacing: 0.1em;
   line-height: 1.182;	
   color: #222222;
   text-transform: uppercase;
   margin-top: 0px;
   margin-bottom:1.231em;
   text-align: left;
}


.section_subtitle{
	margin-bottom: 5em;
	
}
.read_text{
	line-height: 2.25;
	text-align: left;
	margin-bottom: 5em;
}



.beg_bg{
	background-color: #f5f4ee;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 7.5em;
	padding-bottom: 8.75em;
}

.wht_bg{
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 7.5em;
	padding-bottom: 8.75em;
}


.text-center {
  text-align: center;
}

.btntext{
	margin-bottom: 2.5em;
}


/*-----------------------
*
*btn 
*
*-------------------------*/
.btn {
	letter-spacing: 0.1em;
	text-transform: uppercase;
  	font-size: 1.8rem;
  	display: block;
  	width: 100%;
  	max-width: 280px;
  	padding: 16px 0;
	border-radius: 100vh;
	background-color: #222222;
  	color: #ffffff;
  	margin: 0px auto 0px;
}


.btn:hover{
	background-color: #cacaca;
	color: #ffffff;
}






/*-----------------------
*
*navigation
*
*-------------------------*/
#header {
  	height: 70px;
	width:100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background:#ffffff;
	background:rgba(255,255,255,0.9);
	padding:0 20px;
	
}
#header.fixed{
	position: fixed;
  z-index: 999;
  top:0;
  left:0;
}



.navi-logo {
  	width: 4.8%;

}



.navigation-list {
  display: flex;
  align-items: center;
margin-left: 68%;
	list-style: none;
	padding: 0;
}
.navigation-list a {
  font-family: 'Marcellus';
  font-size: 1.4rem;
	letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #222222;
  padding: 0 2vw;
}




.navigation-list li a{
	position: relative;
}
.navigation-list li.current a,
.navigation-list li a:hover{
	color: #cacaca;
}


.nav_btn {
	letter-spacing: 0.1em;
	text-transform: uppercase;
  	font-size: 1.3rem;
  	display: block;
  	max-width: 200px;
  	padding: 8px 48px;
  	border-radius: 100vh;
  	background-color: #222222;
  	color: #ffffff;

}


.nav_btn:hover{
	background-color: #cacaca;
	color: #ffffff;
}







/*-----------------------
*
*mv
*
*-------------------------*/
.mv {
  width: 100%;
  height: 46.875vw;
  position: relative;
}


.mv-ph{
	background-image: url("../images/pckv.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	height: 46.875vw;
	
}
.mv-title {
	position: absolute;
	width: 34.47%;
	height: 41%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;

}

/*-----------------------
*
*read
*-------------------------*/

.read_area{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5em;
	
}

.read_title{
	padding-bottom: 3.75em;
	
}
.read_textarea{
	width: 50%;
}

.read_ph{
	width: 41.66%;

}

/*-----------------------
*
*SERVICE
*-------------------------*/

.service_bg{
	background-image: url("../images/pc_service_bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 7.5em;
	padding-bottom: 8.75em;
}

.service_list{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6.25em;
}


.service_list:nth-of-type(2){
	flex-direction: row-reverse;
}


.service_list:last-of-type{
	margin-bottom: 8.75em;
}

.service_ph{
	width: 50%;
}

.service_text{
	width: 41.66%;
}

.service_texttitle{
	padding-bottom: 3.75em;
}

/*-----------------------
*
*slider
*-------------------------*/

.service_slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.service_slider .slick-slide {
    margin:0;/*スライド左右の余白調整*/
}





/*-----------------------
*
*5 VALUES
*-------------------------*/

.values_list{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5em;
	
}


.values_ph{
	width: 29.16%;
	height: auto;
}

.values_text{
	width: 62.5%;
}


.list_namber{
	font-family: Marcellus;
	font-size: 4.5rem;
	letter-spacing: 0.1em;
	padding-bottom: 0;
}

.list_title{
	padding-bottom: 2.5em;
}


.values_answer{
	display: flex;
	flex-direction: column;
	justify-content: center;
	
}


.values_arrow{
	display: block;
	margin: auto;
	width: 10%;
	height: auto;
	padding-bottom: 2.5em;
}

.values_answer_text{
	display: block;
	margin: auto;
	width: 72.81%;
	height: auto;
	padding-bottom: 5em;
}






/*-----------------------
*
*ACHIEVEMENTS REVIEWS
*-------------------------*/
.slider {
  	position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
}

.slider .slick-slide {
    margin:0 1.25em;
}

.slick-arrow:before{
	content:""!important;
}

/*矢印の設定*/

.slick-prev, 
.slick-next {
    position: absolute;
	z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #cacaca;/*矢印の色*/
    border-right: 2px solid #cacaca;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:-0.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:-0.5%;
    transform: rotate(45deg);
}




.voice_area{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.voice_list{
	position: relative;
	display: inline-block;
	background-color: #ffffff;
	width: 47.91%;
	height: 490px;
	border-radius: 20px;

}

.voice_namber{
	position: absolute;
	display: inline-block;
	top:5.76%;
	left: 8.5%;
	text-align: left;
	font-family: Marcellus;
	font-size: 4.0rem;
	letter-spacing: 0.1em;
}

.voice_title{
	position: absolute;
	display: inline-block;
	top:20.93%;
	left: 8.5%;
	width: 100%;
	height: auto;
	
}



.voice_text{
	position: absolute;
	display: inline-block;
	top: 36.93%;
	text-align: left;
	padding: 0 2.5em;
}


.voice_name{
	font-weight: 500;
	padding-bottom: 0.625em;
}

.voice_detail{
	font-size: 1.4rem;
}




/*-----------------------
*
*CONTACT
*-------------------------*/


.contact_bg{
	background-image: url("../images/pc_contact_bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 7.5em;
	padding-bottom: 8.75em;
}



.contact_title{
	display: block;
	margin: auto;
	width: 54.58%;
	height: auto;
	padding-bottom: 2.5em;
}


.contact_text{
	padding-bottom: 5em;
}






/*-----------------------
*
*Q&A
*-------------------------*/

.faq_area{
	width: 100%;
	margin: 0	auto;
}

.faq_area li:nth-child(even) {
  border-bottom: solid 1px #cacaca;
}

.faq_list{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 1.25em;
}


.qa{
	font-family: Marcellus;
   font-size: 3.0rem;
	padding-bottom: 0.333em;
	
}


.faq_text{
	width: 95%;
	padding-bottom: 0.625em;
}

.q_text{
	font-weight: 500;
}





/*-----------------------
*
*PROFILE
*-------------------------*/

.profile_area{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 5em;
	
}

.profile_title{
	padding-bottom: 3.75em;
	
}
.profile_textarea{
	width: 50%;
}

.profile_ph{
	width: 41.66%;

}

.profileread_text{
	line-height: 2.25;
	text-align: left;
	
}




.career_area{
	width: 100%;
	
}

.career_list{
	margin-bottom: 2em;
}


.career_list:last-of-type{
	margin-bottom: 0;
}

.career_title{
	font-weight: 500;
	
}

.career_text{
	font-size: 1.4rem;
}





/*-----------------------
*
*footer
*
*-------------------------*/

.footer{
	background-color: #222222;
	background-size: cover;
	padding: 1.667em 0;
}

.footer_text{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	
}

.copyright{
	color: #ffffff;
   	font-weight: 500;
	text-align: right;
	font-size: 1.2rem;
/*	padding: 1.667em 0 1.667em 0;*/
  
}

.address{
	font-style: normal;
	font-size: 1.2rem;
	font-weight: 500;
	color: #ffffff;
	text-align: left;
}



/*-----------------------
*
*sp
*
*-------------------------*/

@media screen and (max-width:768px) {
  body {
    font-size: 1.3rem;
    line-height: 1.769;
	overflow-x: hidden;  
  }
  .inner {
    width: 84%;
/*    padding: 9.6%;*/
  }
  .pc {
    display: none;
  }
  .sp {
    display: inline;
  }


	
/*-----------------------
*
*sp_共通エリア 
*
*-------------------------*/

	
	
.section_title {
	font-family: Marcellus;
   font-size: 3.25rem;
   letter-spacing: 0.1em;
   line-height: 1.154;	
   color: #222222;
   text-transform: uppercase;
   margin-top: 0px;
   margin-bottom:1.538em;
   text-align: left;
}	
	
	
.section_subtitle{
	margin-bottom: 3.846em;
	
}	
	
.read_text{
	text-align: left;
	margin-bottom: 3.125em;
}	
	
.beg_bg{
	background-color: #f5f4ee;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 4.615em;
	padding-bottom: 5.385em;
}	

.wht_bg{
	background-color: #ffffff;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 4.615em;
	padding-bottom: 5.385em;
}



.text-center {
  text-align: center;
}

.btntext{
	margin-bottom: 1.538em;
}	
	
	
	
/*-----------------------
*
*sp_btn 
*
*-------------------------*/

.btn {
	letter-spacing: 0.1em;
	text-transform: uppercase;
  	font-size: 1.3rem;
  	display: block;
  	width: 100%;
  	max-width: 60.31%;
  	padding: 1.071em 0;
	border-radius: 100vh;
	background-color: #222222;
  	color: #ffffff;
  	margin: 0px auto 0px;
}


/*-----------------------
*
*sp_navigation
*
*-------------------------*/	
	

#header{
	height: 48px;
	width:100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background:#ffffff;
	background:rgba(255,255,255,0.9);
	padding:0 16px;
}


#header.fixed{
	position: fixed;
  z-index: 999;
  top:0;
  left:0;
}
	
	
  .navi-logo {
    width: 15%;
    
	  
  }
	
.nav_btn {
	letter-spacing: 0.1em;
  	font-size: 1.0rem;
  	display: block;
  	width: 100%;
  	max-width: 110px;
  	padding: 8px 20px;
	border-radius: 100vh;
	background-color: #222222;
  	margin-left: auto;
  	margin-right: 10%;
}

	
	

	
/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
    position:fixed;
	z-index: -1;
	opacity: 0;
	top:0;
	left: 0;
	width:100%;
    height: 100vh;
	background:rgba(255,255,255,0.9);
	transition: all 0.3s;
	pointer-events: none;
}


#g-nav.panelactive{
	opacity: 1;
	z-index:999;
	pointer-events: auto;
}


#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}


#g-nav ul {
    display: none;
    position: absolute;
    z-index: 999;
    top:50%;
   left: 50%;
	margin-left: 0;
    transform: translate(-50%,-50%);
}

#g-nav.panelactive ul {
    display: block;
	
}


#g-nav li{
	list-style: none;
    text-align: center;
	
	
}

#g-nav li a{
	font-family: 'Marcellus';
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	 text-transform: uppercase;
	text-decoration: none;
	color: #222222;
	padding: 1.429em;
	display: block;
	
}

	
	
	
	
	
/*==================================================
　5-2-2 ボタン：2本線が×に
===================================*/

/*ボタン外側*/
.openbtn{
	caret-color: transparent;
	position:fixed;
    z-index: 9999;
	top:0px;
	right:0px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
/*ボタン内側*/

.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 13px;
    height: 1px;
	background-color: #222222;
	
  }


.openbtn span:nth-of-type(1) {
	top:22px;	
  	width: 50%;
	
}

.openbtn span:nth-of-type(2) {
	top:29px;
  	width:50%;
	
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn.active span:nth-of-type(1) {
    top: 20px;
    left: 16px;
    transform: translateY(6px) rotate(-45deg);
    width: 35%;
}

.openbtn.active span:nth-of-type(2) {
    top: 32px;
    left: 16px;
    transform: translateY(-6px) rotate(45deg);
    width: 35%;
}
	

  

/*-----------------------
*
*sp_mv
*
*-------------------------*/
.mv {
  width: 100%;
  height: 100vw;
  position: relative;
}


.mv-ph{
	background-image: url("../images/spkv.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	height: 100vw;
	
}
.mv-title {
	position: absolute;
	width: 84%;
	height: 46.66%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;

}


	
/*-----------------------
*
*sp_read
*-------------------------*/

.read_area{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 3.007em;
	
}

.read_title{
	padding-bottom: 3.007em;
	
}
.read_textarea{
	width: 100%;
}

.read_ph{
	width: 100%;

}	
	
	
	
	
	
	
	
/*-----------------------
*
*sp_SERVICE
*-------------------------*/

.service_bg{
	background-image: url("../images/sp_service_bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 4.615em;
	padding-bottom: 5.385em;
}

.service_list{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 3.846em;
}


.service_list:nth-of-type(2){
	flex-direction: column;
}


.service_list:last-of-type{
	margin-bottom: 5.385em;
}

.service_ph{
	width: 100%;
	padding-bottom: 3.007em;
}

.service_text{
	width: 100%;
}

.service_texttitle{
	padding-bottom: 2.308em;
}
	
.sp_service_tit1{
		width: 66.98%;
	}
	
.sp_service_tit2{
		width: 80.95%;
	}	

		
	
/*-----------------------
*
*slider
*-------------------------*/

.service_slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.service_slider .slick-slide {
    margin:0;/*スライド左右の余白調整*/
}



	
	
/*-----------------------
*
*sp_5 VALUES
*-------------------------*/
	
.sp_values_tit{
		width: 62.85%;
	}	
	


.values_list{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 3.846em;
	
}


.values_ph{
	width: 60%;
	height: auto;
	margin: auto;
}


	
.values_text{
	width: 100%;
}


.list_namber{
	font-family: Marcellus;
	font-size: 2.25rem;
	letter-spacing: 0.1em;
	padding-bottom: 0;
}

.list_title{
	padding-bottom: 2.308em;
}

.sp_listtitle1{
	width: 92.53%;	
	}	
	
.sp_listtitle2{
	width: 90.31%;	
	}		
	
.sp_listtitle3{
	width: 98.73%;	
	}	
	
.sp_listtitle4{
	width: 72.22%;	
	}	

.sp_listtitle5{
	width: 70.63%;	
	}	

.values_answer{
	display: flex;
	flex-direction: column;
	justify-content: center;
	
}


.values_arrow{
	display: block;
	margin: auto;
	width: 15.23%;
	height: auto;
	padding-bottom: 2.308em;
}

.values_answer_text{
	display: block;
	margin: auto;
	width: 100%;
	height: auto;
	padding-bottom: 3.846em;
}


	
	
/*-----------------------
*
*sp_ACHIEVEMENTS REVIEWS
*-------------------------*/
	
.sp_reviews_tit{
	width: 73.17%;	
	}	
	
	
.slider {
  	position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
}

.slider .slick-slide {
    margin:0 1em;
}

/*
.slick-arrow:before{
	content:""!important;
}
*/

/*矢印の設定*/

.slick-prev, 
.slick-next {
    position: absolute;
	z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #cacaca;/*矢印の色*/
    border-right: 2px solid #cacaca;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left: -2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right: -2.5%;
    transform: rotate(45deg);
}




.voice_area{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.voice_list{
	position: relative;
	display: inline-block;
	background-color: #ffffff;
	width: 100%;
	height: 370px;
	border-radius: 20px;

}

.voice_namber{
	position: absolute;
	display: inline-block;
	top:2.4%;
	left: 6.3%;
	text-align: left;
	font-family: Marcellus;
	font-size: 2.5rem;
	letter-spacing: 0.1em;
}

.voice_title{
	position: absolute;
	display: inline-block;
	top:13.91%;
	left: 6.3%;
	
}

.sp_voicetitle1{
	width: 57.46%;
		
	}	
	
.sp_voicetitle2{
	width: 72.69%;
		
	}

.sp_voicetitle3{
	width: 66.66%;
		
	}
	
.voice_text{
	position: absolute;
	display: inline-block;
	top: 30.43%;
	text-align: left;
	padding: 0 1em;
}


.voice_name{
	font-weight: 500;
	padding-bottom: 0.2em;
}

.voice_detail{
	font-size: 1.2rem;
}



	
/*-----------------------
*
*sp_CONTACT
*-------------------------*/


.contact_bg{
	background-image: url("../images/sp_contact_bg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 4.615em;
	padding-bottom: 5.385em;
}



.contact_title{
	display: block;
	margin: auto;
	width: 89.52%;
	height: auto;
	padding-bottom: 2.3em;
}


.contact_text{
	padding-bottom: 3em;
}




/*-----------------------
*
*sp_Q&A
*-------------------------*/

.faq_area{
	width: 100%;
	margin: 0	auto;
}

.faq_area li:nth-child(even) {
  border-bottom: solid 1px #cacaca;
}

.faq_list{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 1.538em;
}


.qa{
	font-family: Marcellus;
   font-size: 2.0rem;
	padding-bottom: 0.5em;
	
}


.faq_text{
	width: 90%;
	padding-bottom: 0.769em;
}

.q_text{
	font-weight: 500;
}



	
	
/*-----------------------
*
*sp_PROFILE
*-------------------------*/

.profile_area{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 3.076em;
	
}

.profile_title{
	padding-bottom: 2.3em;
	width: 87.93%;
	
}
.profile_textarea{
	width: 100%;
}

.profile_ph{
	width: 63.49%;
	margin: 0 auto;
	padding-bottom: 2.3em;

}

	
.profileread_text{
	text-align: left;
	margin-bottom: 3.125em;
	}	
	
	
.career_area{
	width: 100%;
	
}

.career_list{
	margin-bottom: 2.3em;
}


.career_list:last-of-type{
	margin-bottom: 0;
}

.career_title{
	font-weight: 500;
	
}

.career_text{
	font-size: 1.2rem;
}


	

/*-----------------------
*
*sp_footer
*
*-------------------------*/

.footer{
	background-color: #222222;
	background-size: cover;
	padding: 1.15em 0;
}

.footer_text{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	
}

.copyright{
	color: #ffffff;
   	font-weight: 500;
	text-align: left;
	font-size: 1.0rem;
/*	padding: 1.667em 0 1.667em 0;*/
  
}

.address{
	font-style: normal;
	font-size: 1.0rem;
	font-weight: 500;
	color: #ffffff;
	text-align: left;
	padding-bottom: 3em;
}


	

	
	
}

@keyframes gnaviAnime{
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}






  
