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


@media screen and (min-width:1930px) {
 html {
    
     font-size:120%;
   
    }
	
.sp_switch{

    width: 150px;
    height:150px;

	}
	



.sp_switch.active span:nth-of-type(3){
  top: 50%;
    left:20%;
    
}
	
	
.works03 div div span{

height:550px;

}
	
.works04 div span{
width:450px;
height:450px;


}

	.works04 div span b{

 bottom:18%;
 
    
}
	
	.service span{
width:500px;
height:500px;

font-size: 2.4rem;


}

.service span ul{
font-size:2.0rem;


	
}
	
	.qa-list dl dt::before {
 font-size: 40px;

    left:-10px;
    
}
.qa-list dl dd::before {
    font-size: 40px;

    left:-10px;
   
}
	
}



@media screen and (max-width:1280px) {
	 html {
    
     font-size:48%;
   
    }

/* ヘッダー */

header h1{
padding: 10px 20px;
width: 10%;
	top:0;
	left: 0;

}

.sp_navi{
	
padding: 10px 20px;
	

}

.sp_switch{

    width: 70px;
    height:70px;

	z-index: 3;
	}


/*ボタン内側*/
.sp_menu span{
  
	 top: 50%;
    left: 50%;
    
	 height: 4px;
	border-radius: 2px;
    width: 60%;
  }



.sp_menu span:nth-of-type(1) {
 top: 30%;
}

.sp_switch:hover span:nth-of-type(1) {
 top: 25%;
}

.sp_menu span:nth-of-type(3) {
  top:70%;
}
.sp_switch:hover span:nth-of-type(3) {
  top:75%;
}

.sp_switch::after{

 bottom:-5px;
  left: 0;
font-size: 1.3rem;
letter-spacing: 2px;
width: 100%!important;


}

.sp_switch.active span:nth-of-type(1) {
    top: 40%;

	 left: 20%;
}

.sp_switch.active span:nth-of-type(2) {
  opacity: 0;
}

.sp_switch.active span:nth-of-type(3){
  top: 57%;
    left:20%;
   
}



.sp_menu_list{

height:100vh;
width:100%;

}




.sp_menu_list nav{
	width: 50%;
	background-color:hsla(0,0%,100%,0.98);

}

#menu_img{
	width: 50%;
	height: 100vh;

}


#menu_img::after{

top: 0;

opacity: 0;
transition:2s;


}

#menu_img.active::after{
  opacity: 1;

}

.sp_menu_list nav ul{

	margin: 20px 0 0 0;
	padding: 0 0 0 50px;
	
}

.sp_menu_list nav ul li{

	font-size: 2.8rem;

	letter-spacing: 10px;

	margin-bottom:8.5rem;
	
}



.sp_menu_list nav ul li a::after{

	width: 100%;
	height:3px;
	
	 bottom:-25%;
    left: 0%;
 
}



.menu_info{

height: 100vh;

margin-right: 50px;

}

.menu_info div{
	width:100%;

	margin-bottom: 50px;
	padding-bottom: 50px;
	
}



.menu_info div h2{
	font-size: 2.0rem;
	letter-spacing:1px;
}

.menu_info div h3{
	font-size:2.4rem;
	font-weight:900;

	margin: 10px 0;
}

.menu_info div span{
	font-size: 1.6rem;
margin: 0px 0 20px 0;
}

.menu_info div b{
	font-size: 1.4rem;
letter-spacing:1px;
font-weight:700;
}

.float_work{

right:-10px;
top:200px;

line-height: 160%;

font-size: 2.5rem;
font-weight:800;
padding: 20px 30px 20px 25px;
letter-spacing: 3px;
transition:0.5s;
border-radius:30px 0% 0% 30px;
}


.float_work b{
font-size: 2.5rem;
font-weight:800;

}

.float_work:hover{

right:0px;

}
	
	

/*閉じるボタン*/
.bnr_close {
border-radius: 25px;
box-shadow: 0 0 7px rgb(0, 0, 0, 0.4);
padding: 8px 8px;
left:0px;
top:-40px;
font-size: 2.5rem;
}

/* スライド */


/* トップページ */


.top_sec01{
		width:80%;

}

.top_sec01 h1{
width:100%;
font-size: 6.0rem;
font-weight:800;

}

.top_sec01 h1 b{
	
font-size: 6.0rem;
font-weight:800;

}

.top_sec01 div{
width:50%;
margin: 80px 0 0 0;
}
.top_sec01 div:nth-of-type(1){
	padding: 30px 0 0px 0;
width:45%;
margin:0 0 0 0;
 gap:20px 10px;
}

.top_sec01 div:nth-of-type(1) span{
width:30%;

font-size:2.4rem;
font-weight:700;
border-radius: 10px;
letter-spacing: 5px;
}



.top_sec01 div:nth-of-type(1) span:last-of-type{
width: 100%;
font-size:2.8rem;
letter-spacing: 5px;
font-weight:800;
}

.top_sec01 div:last-of-type{
font-size:2.4rem;
line-height:250%;
width:50%;
}


.top_sec01 div:last-of-type h2{
font-size:3.5rem;
letter-spacing: 3px;
font-weight:800;
margin:0px 0 10px 0;
}

	
.top_sec01 div img{
width: 90%;
	border-radius: 15px;
}


.top_sec02{
width:98%;
	height: 100vh;
margin:200px auto;

padding: 0 0 30px 0px;

  animation-timeline: view();
  animation-range: entry 0% cover 45%;
	
border-radius: 20px;
}


.top_sec02::after{

width: 100%;
height: 100%;
top: 0;
background-color:rgba(0,0,0,0.4);

 
}




.top_sec02 h1{
width:75%;
font-size: 6.5rem;
font-weight:800;
margin-bottom: 50px;
z-index: 2;
	margin: 0 0 0 30px;
}

.top_sec02 h1 b{
font-size: 6.5rem;
font-weight:800;
}


.top_sec02 div{
font-size:2.4rem;
line-height: 200%;
width: 60%;
background-color: hsla(0,0%,100%,0.80);
padding: 20px 30px;
border-radius: 20px;
z-index: 2;
margin:20px 0 0 30px;
}


.top_sec02 div h2{
font-size:3.5rem;
letter-spacing: 3px;
font-weight:800;
margin:0px 0 10px 0;
}


.top_sec02 span{
	z-index: 2;
	bottom: 10%;
	right: 3%;

font-size: 3.5rem;
font-weight:700;
padding: 5px 30px;
	border-radius: 15px;
}


.top_sec03{
		width:80%;
margin:100px auto;
}

.top_sec03 h1{
	
	width:auto;

	margin-right: 50px;
}


.top_sec03 h1 b{
	
font-size: 6.0rem;
font-weight:800;

}

.top_sec03 div{
	width:88%!important;

}

.top_sec03 div div{
	width:48%!important;
	height:600px;

border-radius: 20px;
}

	
	


.top_sec03 div div:nth-of-type(3){
	width:100%!important;
font-size: 3.0rem;
	letter-spacing: 10px;
	font-weight:600;
	border-radius: 0px;
	padding: 20px 0 80px 0;
}

.top_sec03 div h2{
width: 100%;
font-weight: 800;
font-size: 3.5rem;
padding: 10px 0px;
letter-spacing:20px;
background-color:hsla(0,0%,100%,0.90);}



.top_sec03 span{
bottom: 0%;
	right: 0%;
font-size: 2.8rem;
font-weight:800;
	letter-spacing:2px;
padding: 5px 30px;
	border-radius: 15px;
}


.top_sec04{
width:80%;

margin:200px auto;

}


.top_sec04 h1{
font-size: 6.0rem;
letter-spacing:3px;
line-height: 120%;
	
}

.top_sec04 h1 b{
	
font-size: 6.0rem;
font-weight:800;

}

.top_sec04 div{
	
	width: 90%;
	height:600px;
border-radius: 20px;

}




.top_sec04 h2{

font-size: 3.0rem;
line-height: 180%;
margin: 30px auto;
width: 100%;
}

.top_sec04 h2 b{

font-weight: 800;
font-size: 3.5rem;
padding:5px 20px;
margin-left: 30px;
letter-spacing: 2px;
border-radius: 10px;
}

.top_sec04 h2 b:first-of-type{

margin-left: 0px;
}

.staff_link{

	bottom:5%;
	right: 3%;
	;
font-size: 3.5rem;
font-weight:700;
padding: 5px 30px;
	border-radius: 15px;
}

/* ********************** フッター***********************  */

footer{
width:100%;
margin:80px auto;
padding: 50px 0;

}


footer div:first-of-type{
		width:50%;
}


footer div:first-of-type h1{
		width:15%;
}

footer div:first-of-type h1 img{
		width:100%;}

footer div:first-of-type div{
width:70%;
font-size: 3.0rem;
font-weight: 800;
letter-spacing:1px;
margin-left: 20px;
}

footer div:first-of-type div span{
width: 100%;
margin-bottom:5px;

}

footer div{
		width:50%;
}

footer div h1{
		width:100%;

}

footer div h1 img{
		width:30%;

}

footer address{
margin-top:10px;
}

footer address span{

font-size: 1.8rem;

	margin-left:30px;
line-height: 150%;
}

footer address span:first-of-type{
	
	margin-left:0px;
}


footer div:nth-of-type(2){
		width:50%;
	
}

footer div ul{
		width:100%;
	margin: 20px 0 0 0;
}

footer div ul li{
	width: 33%;
	font-size:2.0rem;
	margin-bottom:30px;

}

footer div ul li::before{
content: "";
width: 10%;
height: 1px;
background-color:#A0A0A0;
position: absolute;
 top: 50%;
    left: -15%;

}


/* **********************  利用について ***********************  */


.works{
width:80%;
margin:0px auto;
padding:100px 0px 0px 0px;
	
}


.openinng_titile{
font-size:7.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 130%;

}



.openinng_titile b{
font-size: 7.0rem;
}


.works01{
width:80%;
margin:50px auto;
}


.works01 h1{
font-size:6.0rem;
letter-spacing:3px;
margin:0 auto 0 50px;
line-height: 120%;
}


.works01 h1::before{
width:30px;
height:30px;
top:50%;
left:-10%;
}



.works05 h1::before{

   left:-5%;
   
}

.works01 h1 b{
font-size: 6.0rem;
}

.works01 div{
width: 45%;
margin: 30px auto;
}

.works01 h2,.works02 h2,.works03 h2{
font-size:3.2rem;
letter-spacing:1px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}


.works01 div:first-of-type img{
width:90%;
margin:30px auto 30px auto;
}


.works01 div:first-of-type span{
width:32%;
font-size:2.2rem;
letter-spacing:2px;
padding: 3px 0px;
}

.works01 div:last-of-type{
font-size:2.4rem;
letter-spacing:0px;
margin: 30px auto 0px auto;
line-height:200%;
}

.works01 div:last-of-type ul{
font-size: 2.8rem;
letter-spacing:1px;
margin:40px 0 10px 0;

}

.works01 div:last-of-type ul li{
margin-bottom:20px;

}

.works01 div:last-of-type ul li ul{
font-size: 2.4rem;
letter-spacing: 0px;
margin:5px 0 0px 0;

}

.works01 div:last-of-type ul li ul li{
margin-bottom:0px;
}


.works01 div:last-of-type ul:nth-of-type(2){
font-size:2.8rem;
margin:0px 0 10px 0;

}


.works01 div:last-of-type ul:nth-of-type(2) li{
margin-bottom:20px;

}

.works01 div:last-of-type ul:nth-of-type(2) li::before{

width: 110%;
height:10px;

top:70%;
left:50%;

}



.works02{
width:80%;
margin:100px auto;
}


.works02 h1{
font-size: 6.0rem;
letter-spacing:20px;

}

.works02 h1::before{
width:30px;
height:30px;
border-radius: 50%;
top:-10%;
left:50%;
}


.works02 div{
width:85%;
font-size:2.2rem;
letter-spacing:0px;
line-height:200%;
align-items:center;
}

.works02 div div{
width:50%;
margin:10px 0 10px 0;
}

.works02 div div img{
width:75%;
border-radius: 20px;
}

.works03{
width:80%;
margin:50px auto;
}


.works03 h1{
font-size: 6.0rem;
letter-spacing:3px;
line-height: 120%;
}

.works03 h1::before,.works04 h1::before{
width:30px;
height:30px;
border-radius: 50%;
top:50%;
 left:-5%;
}



.works03 div{
width:100%;


}

.works03 div div{
width:45%;

margin: 20px 0 0 0;
}
	
	.works03 div div{
width:45%;

margin: 20px 0 0 0;
}


.works03 div div b{
font-size:3.5rem;
letter-spacing:1px;
line-height:160%;
}

.works03 div div small{
width:100%;
font-size:2.0rem;
letter-spacing:2px;
line-height:140%;
margin: 20px 0 0 0;
}

.works03 div div small::before{
width:30px;
height:30px;
top:0%;
left:-3%;
}

.works03 div div h3{
width: 100%;
margin:10px 0px;
font-size:3.5rem;
}


.works03 div div span{
width:90%;
height:250px;
border-radius:20px;
margin:30px auto 10px auto;
}

.works03 div div:nth-of-type(2){
width:49%!important;
}


.works03 div:nth-of-type(2) h4{
font-size: 3.0rem;
line-height: 150%;
margin: 30px 0 0 0;
}

.works03 div:nth-of-type(2) p{
font-size:2.2rem;
line-height: 140%;
padding: 10px 0 0 0;
}


.works03 div:last-of-type{
width: 100%;
}

.works03 table{
width: 100%;
border-collapse: 1px;
font-weight: 500;
font-size:2.4rem;
margin:30px 0 0 0;
}
.works03 table th{
width: 12%;
}

.works03 table td{
width:12%;
font-size:2.2rem;
padding: 10px 0;
line-height:200%;
}



.works04{
		width:80%;
margin:100px auto;
}


.works04 h1{
font-size: 6.0rem;
letter-spacing:3px;
line-height: 120%;


}

.works04 div{
width:100%;
margin:50px 0 0 0;
	justify-content:center;
}

.works04 div span{
width:350px;
height:350px;
font-size:3.5rem;
letter-spacing:1px;
line-height: 120%;
margin: 10px 0 0 0;
}

.works04 div span:nth-of-type(2n){
margin: 10px 0 0 30px;
}	
	
.works04 div span b{
height: 70px;
width: 100%;
bottom:8%;
left:50%;
}



.works04 div span::before{
font-size:4.0rem;
top:40%;
left:50%;
}


.works05 div{
width:45%;	
}

.works05 div:last-of-type{
width:80%;	
line-height:300%;
}

.works05  img{
width:70%!important;
border-radius: 20px;
}
.works05 h2{
border-bottom: 1px solid #067D25;
margin: 0 0 20px 0;
}

/* **********************  事業所について ***********************  */


.company{
width:80%;
margin:0px auto 50px auto;
}


.company:first-of-type{
padding:100px 0 0 0;
}



.company h1{
font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
}


.company h1::before{
width:30px;
height:30px;
top:50%;
left:-2%;
}




.company h1 b{
font-size: 6.0rem;
font-weight:800;

}

.company h2{
font-size:3.5rem;
letter-spacing:3px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}


div.office{
width: 50%;
margin: 20px 0 0 0;
	}


 div.office:last-of-type {
width:48%;
font-size:2.1rem;
gap:40px 0px;
}

div.office-info{
width: 90%;
font-size:2.2rem;
gap:35px 0px;
margin:40px auto 0 auto;
	
}

 div.office:last-of-type span, div.office-info span{
border-bottom:1px #E2E2E2 solid;
padding-bottom: 3px;
letter-spacing:1px;
}

 div.office:last-of-type span b, div.office-info span b{
width:25%;
margin: 0 30px 0 0;
	}

 div.office-info span{
padding-bottom: 3px;
letter-spacing:1px;
width: 100%;
}

div.office-info span b{
width:15%;
margin: 0 30px 0 0;
}


div.office-info span p{
display:inline-block;

	
}

 div.office:last-of-type iframe{
width:100%;
height:250px;
}


.splide__slide img {
 width: 100%;
  height: 100%;
}

.splide__slide {
  opacity: 0.6;
}

.splide__slide.is-active {
  opacity: 1;
}


#thumbnail-carousel,#thumbnail-carousel02{
margin: 20px 0 0 0;
}


#thumbnail-carousel .splide__list,#thumbnail-carousel02 .splide__list{
justify-content: center;
}


.service{
width:80%;
margin:0px auto 50px auto;
}



.service h3{
font-size: 4.5rem;
	letter-spacing:3px;
margin:30px 0 10px 0;
}

.service h3 b{

font-size:6.5rem;

}

.service div{
width:100%;

}

.service span{
width:260px;
height:260px;
font-size: 3.0rem;
letter-spacing:1px;
line-height: 120%;
margin: 10px 0 0 0;

}

.service span ul{
font-size:2.3rem;
font-weight:800;
line-height:160%;
width: 100%;
 bottom:0%;
left:50%;
	
}



.service span h4{
font-size: 3.0rem;
font-weight: 800;
width:100%;
top:30%;
left:50%;
}


/* **********************  サポート ***********************  */


.support, .support02{
width:80%;
margin:0px auto 50px auto;
padding:100px 0 0 0;

}


.support h1{
font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
}


.support h1::before{
width:30px;
height:30px;
border-radius: 50%;
top:50%;
left:-2%;
}

.support h1 b{
font-size: 6.0rem;
font-weight:800;
}


.support h2,.support02 h2{
width: 100%;
font-size:3.5rem;
letter-spacing: 5px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}

.support div{
width: 100%;
}


.support div:last-of-type{
font-size:2.4rem;
letter-spacing:1px;
line-height:200%;
}


.support h3{
width: 100%;
font-size:3.8rem;
letter-spacing:1px;
margin:40px 0 20px 0;
}


.support span.support_text{
width: 100%;
font-size:3.2rem;
letter-spacing:1px;
margin:10px 0 20px 0;
}

.support ul img{
width:65%;
margin:0 auto 30px auto;
border-radius: 10px;
}

.support ul{
font-size:2.6rem;
margin:30px 0 ;
width: 48%;
}

.support ul li{
margin: 10px 0;
}

.support ul b{
font-size:2.6rem;
font-weight: 800;
width: 100%;
border-radius: 10px;
letter-spacing: 2px;
}

.support ul li ul{
width:95%;
margin:20px auto;
}
.support ul li ul li{
margin: 0 0 10px 0;
font-weight:700;
}

.support02 div{
width: 100%;
margin:20px 0 50px 0;
padding:0px 0 20px 0;
border-bottom: 1px solid #E5E5E5;
}

.support02 span{
width: 48%;
font-size: 1.6rem;
letter-spacing: 1px;
line-height:230%;
}

.support02 span:first-of-type{
text-align: center;
}

.support02 h3{
font-size: 2.6rem;
letter-spacing:1px;
font-weight: 700;
}

.support02 img{
width:60%;
margin:0 auto 10px auto;
border-radius: 10px;
}

.support02 b{
font-size: 2.0rem;
font-weight: 800;
letter-spacing:5px;
padding: 5px 30px;
border-radius:10px;

}

.support02 p{
font-size: 2.4rem;
margin: 10px 0 0 0;
line-height:180%;
}





/* ********************** お問い合わせ ***********************  */


.contact{
width:80%;
padding:100px 0 0 0;
}


.contact h1{
width:100%;

font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;

}


.contact h1::before{

width:30px;
height:30px;
border-radius: 50%;
 top:50%;
   left:-2%;
  
}




.contact span{
	font-size:3.0rem;
	letter-spacing:2px;
	font-weight: 700;

	margin:80px 0px;

}
	
	.contact h4{
	
	padding: 3px 5%;
	margin: 20px 0 0 0;
	
	font-size: 2.0rem;

	}

.sp_br{
	display: none;
}

.privacy_list {
  display: none;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  z-index: 9999;
}
.privacy-wrap {
  width: 100%;
  height: 100%;
 
  padding: 20px;

}
.privacy-wrap::-webkit-scrollbar {
  display: none;
}

.privacy-wrap:after {

  width: 1px;
  height: 100%;

}
.privacy-bg {
 
  left: 0;
  top: 0;
  
}

.privacy-box {
  width: 100%;
  max-width: 1200px;

}
.privacy-box .inner {

  padding: 50px 20px;

}


.privacy-box .inner > :first-child {
  margin-top: 0;
}

.privacy-box .inner ul{
	width: 90%;
	font-size: 2.0rem;
;
	
}

.privacy-box .inner ul li{
margin-bottom: 30px;
font-weight: 600;
letter-spacing: 3px;

	
}
.privacy-box .inner ul li p{
 font-size: 1.8rem;
line-height: 150%;
margin: 5px 0px 0px 0px;
letter-spacing: 1px;
}

.privacy-close{
width:100%;
	font-size: 2.5rem;
	letter-spacing:8px;
	font-weight:600;
	margin:80px 0 0 0;
}


  .iframebox{

    padding: calc(315 / 300 * 100%) 0 0;
  }
	
	
	/* ********************** 就職者インタビュー ***********************  */



.interview{
	
	margin: 50px 0 0 0;
}

.interview:nth-of-type(2){
	margin: 200px 0 0 0;
}


.interview h2 small{ 
	
	font-size: 2.0rem;
	letter-spacing:2px;

padding: 0 0 4px 20px;
}


.interview div{
	width: 48%;
	
	
}
.interview_outline{
	border:3px solid #067D25;
	width: 95%!important;
	margin: 40px auto 0 auto;
	padding: 50PX 0 10PX 0;
}

.interview_outline h5{ 

	font-size: 2.0rem;
	letter-spacing:4px;

margin: 30px 0 30px 0;
padding: 3px 0px;
	width: 60%;
	top: -50px;
    left: 50%;
  
}


.interview_outline ol{
	
	width:90%;
	font-size: 1.8rem;

	letter-spacing:0px;
}

.interview_outline ol li{

	margin-bottom: 25px;	
}

.interview ul li {
width: 48%;


}



.interview ul li h4{
padding: 5px 0 5px 10px;
font-size:2.0rem;
margin:30px 0 0px 0;
letter-spacing: 1px;
}


.interview ul li span{
font-size:1.9rem;

margin:30px 0 10px 0;
padding: 0 0 3px 35px;
}

.interview ul li span::before{
left: 0;
	top: 0;
}

.interview ul li p{
font-size:1.6rem;
line-height: 200%;
padding:0 0 30px 35px;
}

.interview ul li p::before{
padding: 0 0px 0 0;
font-size:2.2rem;
font-weight: 700;
}
}



@media screen and (max-width:1024px) {
	 html {
    
     font-size:45%;
   
    }

/* ヘッダー */

header h1{
padding: 10px 20px;
width:13%;
	top:0;
	left: 0;

}

.sp_navi{
	
padding: 10px 20px;
	

}

.sp_switch{

    width: 70px;
    height:70px;

	z-index: 3;
	}


/*ボタン内側*/
.sp_menu span{
  
	 top: 50%;
    left: 50%;
    
	 height: 4px;
	border-radius: 2px;
    width: 60%;
  }



.sp_menu span:nth-of-type(1) {
 top: 30%;
}

.sp_switch:hover span:nth-of-type(1) {
 top: 30%;
}

.sp_menu span:nth-of-type(3) {
  top:70%;
}
.sp_switch:hover span:nth-of-type(3) {
  top:70%;
}

.sp_switch::after{

 bottom:-5px;
  left: 0;
font-size: 1.3rem;
letter-spacing: 2px;
width: 100%!important;


}

.sp_switch.active span:nth-of-type(1) {
    top: 40%;

	 left: 20%;
}

.sp_switch.active span:nth-of-type(2) {
  opacity: 0;
}

.sp_switch.active span:nth-of-type(3){
  top: 57%;
    left:20%;
   
}



.sp_menu_list{

height:100vh;
width:100%;

}




.sp_menu_list nav{
	width: 60%;
	background-color:hsla(0,0%,100%,0.98);

}

#menu_img{
	width:40%;
	height: 100vh;

}


#menu_img::after{

top: 0;

opacity: 0;
transition:2s;


}

#menu_img.active::after{
  opacity: 1;

}

.sp_menu_list nav ul{

	margin: 20px 0 0 0;
	padding: 0 0 0 50px;
	
}

.sp_menu_list nav ul li{

	font-size: 2.8rem;

	letter-spacing: 10px;

	margin-bottom:8.5rem;
	
}



.sp_menu_list nav ul li a::after{

	width: 100%;
	height:3px;
	
	 bottom:-25%;
    left: 0%;
 
}



.menu_info{

height: 100vh;

margin-right: 50px;

}

.menu_info div{
	width:100%;

	margin-bottom: 50px;
	padding-bottom: 50px;
	
}



.menu_info div h2{
	font-size: 2.0rem;
	letter-spacing:1px;
}

.menu_info div h3{
	font-size:2.4rem;
	font-weight:900;

	margin: 10px 0;
}

.menu_info div span{
	font-size: 1.6rem;
margin: 0px 0 20px 0;
}

.menu_info div b{
	font-size: 1.4rem;
letter-spacing:1px;
font-weight:700;
}

.float_work{

right:0px;
top:150px;
line-height: 160%;
width:auto;
font-size:2.8rem;

padding: 20px 10px 20px 10px;
letter-spacing: 3px;

border-radius:20px 0% 0% 20px
}


.float_work b{
font-size:2.8rem;
padding-bottom: 10px;
display:block;
}

.float_work:hover{
right:0px;
}

	/*閉じるボタン*/
.bnr_close {
border-radius: 25px;
box-shadow: 0 0 7px rgb(0, 0, 0, 0.4);
padding: 8px 8px;
left:0px;
top:-40px;
font-size: 2.5rem;
}


/* トップページ */
.opening_amime img{
	
	
	width:25%;
	
}

.top_sec01{
		width:90%;

}

.top_sec01 h1{
width:100%;
font-size: 6.0rem;
}

.top_sec01 h1 b{
	
font-size: 6.0rem;
font-weight:800;

}

.top_sec01 div{
width:50%;
margin: 80px 0 0 0;
}
.top_sec01 div:nth-of-type(1){
	padding: 30px 0 0px 0;
width:45%;
margin:0 0 0 0;
 gap:20px 10px;
}

.top_sec01 div:nth-of-type(1) span{
width:30%;

font-size:2.4rem;
font-weight:700;
border-radius: 10px;
letter-spacing: 5px;
}



.top_sec01 div:nth-of-type(1) span:last-of-type{
width: 100%;
font-size:2.8rem;
letter-spacing: 5px;
font-weight:800;
}

.top_sec01 div:last-of-type{
font-size:2.4rem;
line-height:250%;
width:50%;
}


.top_sec01 div:last-of-type h2{
font-size:3.5rem;
letter-spacing: 3px;
font-weight:800;
margin:0px 0 10px 0;
}

	
.top_sec01 div img{
width: 90%;
	border-radius: 15px;
}


.top_sec02{
width:98%;
	height:70vh;
margin:100px auto;

padding: 0 0 30px 0px;

  animation-timeline: view();
  animation-range: entry 0% cover 45%;
	
border-radius: 20px;
}


.top_sec02::after{

width: 100%;
height: 100%;
top: 0;
background-color:rgba(0,0,0,0.4);

 
}




.top_sec02 h1{
width:75%;
font-size: 6.0rem;
margin-bottom: 50px;
z-index: 2;
	margin: 0 0 0 30px;
}

.top_sec02 h1 b{
font-size: 6.0rem;
}
	.top_sec02 h1 br{
display: none;
}	

.top_sec02 div{
font-size:2.4rem;
line-height: 200%;
width: 60%;
background-color: hsla(0,0%,100%,0.80);
padding: 20px 30px;
border-radius: 20px;
z-index: 2;
margin:20px 0 0 30px;
}


.top_sec02 div h2{
font-size:3.5rem;
letter-spacing: 3px;
font-weight:800;
margin:0px 0 10px 0;
}


.top_sec02 span{
z-index: 2;
bottom: 10%;
right: 3%;
font-size: 3.0rem;
padding: 5px 30px;
border-radius: 15px;
}


.top_sec03{
		width:90%;
margin:100px auto;
}

.top_sec03 h1{
	
	width:auto;

	margin-right: 50px;
}


.top_sec03 h1 b{
	
font-size: 6.0rem;
font-weight:800;

}

.top_sec03 div{
	width:88%!important;

}

.top_sec03 div div{
	width:48%!important;
	height:400px;

border-radius: 20px;
}



.top_sec03 div div:nth-of-type(3){
	width:100%!important;
font-size: 3.0rem;
	letter-spacing: 10px;
	font-weight:600;
	border-radius: 0px;
	padding: 20px 0 80px 0;
}

.top_sec03 div h2{
width: 100%;
font-weight: 800;
font-size: 3.5rem;
padding: 10px 0px;
letter-spacing:20px;
background-color:hsla(0,0%,100%,0.90);}



.top_sec03 span{
bottom: 0%;
	right: 0%;
font-size: 2.8rem;
font-weight:800;
	letter-spacing:2px;
padding: 5px 30px;
	border-radius: 15px;
}


.top_sec04{
width:90%;

margin:100px auto;

}


.top_sec04 h1{
font-size: 6.0rem;
letter-spacing:3px;
line-height: 120%;
	
}

.top_sec04 h1 b{
	
font-size: 6.0rem;
font-weight:800;

}

.top_sec04 div{
	
	width: 100%;
	height:500px;
border-radius: 20px;

}




.top_sec04 h2{

font-size: 3.0rem;
line-height: 180%;
margin: 30px auto;
width: 100%;
}

.top_sec04 h2 b{

font-weight: 800;
font-size: 3.5rem;
padding:5px 20px;
margin-left: 30px;
letter-spacing: 2px;
border-radius: 10px;
}

.top_sec04 h2 b:first-of-type{

margin-left: 0px;
}

.staff_link{

	bottom:5%;
	right: 3%;
	;
font-size: 3.5rem;
font-weight:700;
padding: 5px 30px;
	border-radius: 15px;
}

/* ********************** フッター***********************  */

footer{
width:90%;
margin:80px auto;
padding: 50px 0  130px 0!important;
flex-direction: column;
align-items: center;
	
}


footer div:first-of-type{
width:100%;
}


footer div:first-of-type h1{
width:12%;
}

footer div:first-of-type h1 img{
width:100%;
}
	


footer div:first-of-type div{
width:auto;
font-size: 3.5rem;
font-weight: 800;
letter-spacing:1px;
margin-left:50px;
display: inline-block;
}

footer div:first-of-type div span{
width: 100%;
margin-bottom:5px;


}

footer div{
		width:50%;
}

footer div h1{
		width:100%;

}

footer div h1 img{
		width:30%;

}

footer address{
	width: 100%;
margin-top:30px;
justify-content: center;
}

footer address span{

font-size: 2.2rem;
margin-left:100px;
line-height: 150%;
}

footer address span:first-of-type{
	
	margin-left:0px;
}


footer div:nth-of-type(2){
		width:100%;
	
}

footer div ul{
		width:100%;
	margin:30px auto 0 auto;
	align-items:center;
	justify-content: space-between;


}

footer div ul li{
	width: 30%;
	
	font-size:2.2rem;
	margin-bottom:30px;
padding: 0 0 0 100px;
}

footer div ul li::before{
width: 10%;
height: 1px;
 top: 50%;
    left:24%;

}


/* **********************  利用について ***********************  */


.works{
width:80%;
margin:0px auto;
padding:100px 0px 0px 0px;
	
}


.openinng_titile{
font-size:7.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 130%;

}



.openinng_titile b{
font-size: 7.0rem;
}


.works01{
width:90%;
margin:50px auto;
}


.works01 h1{
font-size:6.0rem;
letter-spacing:3px;
margin:0 auto 0 50px;
line-height: 120%;
}


.works01 h1::before{
width:30px;
height:30px;
top:50%;
left:-10%;
}



.works05 h1::before{

   left:-5%;
   
}

.works01 h1 b{
font-size: 6.0rem;
}

.works01 div{
width: 45%;
margin: 30px auto;
}

.works01 h2,.works02 h2,.works03 h2{
font-size:4.0rem;
letter-spacing:1px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}


.works01 div:first-of-type img{
width:90%;
margin:30px auto 30px auto;
}


.works01 div:first-of-type span{
width:32%;
font-size:2.2rem;
letter-spacing:2px;
padding: 3px 0px;
}

.works01 div:last-of-type{
font-size:2.3rem;
letter-spacing:0px;
margin: 30px auto 0px auto;
line-height:180%;
}

.works01 div:last-of-type ul{
font-size: 2.8rem;
letter-spacing:1px;
margin:40px 0 10px 0;

}

.works01 div:last-of-type ul li{
margin-bottom:20px;

}

.works01 div:last-of-type ul li ul{
font-size: 2.4rem;
letter-spacing: 0px;
margin:5px 0 0px 0;

}

.works01 div:last-of-type ul li ul li{
margin-bottom:0px;
}

.works01 div:last-of-type ul:nth-of-type(2){
font-size:2.8rem;
margin:0px 0 10px 0;

}


.works01 div:last-of-type ul:nth-of-type(2) li{
margin-bottom:20px;

}

.works01 div:last-of-type ul:nth-of-type(2) li::before{

width: 110%;
height:10px;

top:70%;
left:50%;

}




.works02{
width:90%;
margin:100px auto;
}


.works02 h1{
font-size: 6.0rem;
letter-spacing:20px;

}

.works02 h1::before{
width:30px;
height:30px;
border-radius: 50%;
top:-10%;
left:50%;
}


.works02 div{
width:90%;
font-size:2.2rem;
letter-spacing:0px;
line-height:200%;
align-items:center;
}

.works02 div div{
width:50%;
margin:10px 0 10px 0;
}

.works02 div div img{
width:75%;
border-radius: 20px;
}

.works03{
width:90%;
margin:50px auto;
}


.works03 h1{
font-size: 6.0rem;
letter-spacing:3px;
line-height: 120%;
}

.works03 h1::before,.works04 h1::before{
width:30px;
height:30px;
border-radius: 50%;
top:50%;
 left:-5%;
}



.works03 div{
width:100%;


}

	.works03 div div{
width:45%;

margin: 20px 0 0 0;
}


.works03 div div b{
font-size:3.5rem;
letter-spacing:1px;
line-height:160%;
}


	
.works03 div div small{
width:100%;
font-size:1.8rem;
letter-spacing:2px;
line-height:140%;
margin: 20px 0 0 0;
}

.works03 div div small::before{
width:30px;
height:30px;
top:0%;
left:-3%;
}

.works03 div div h3{
width: 100%;
margin:10px 0px;
font-size:3.5rem;
}


.works03 div div span{
width:90%;
height:250px;
border-radius:20px;
margin:30px auto 10px auto;
}

.works03 div div:nth-of-type(2){
width:49%!important;
}


.works03 div:nth-of-type(2) h4{
font-size: 3.0rem;
line-height: 150%;
margin: 30px 0 0 0;
}

.works03 div:nth-of-type(2) p{
font-size:2.2rem;
line-height: 140%;
padding: 10px 0 0 0;
}


.works03 div:last-of-type{
width: 100%;
}

.works03 table{
width: 100%;
border-collapse: 1px;
font-weight: 500;
font-size:2.4rem;
margin:30px 0 0 0;
}
.works03 table th{
width: 12%;
}

.works03 table td{
width:12%;
font-size:2.2rem;
padding: 10px 0;
line-height:200%;
}



.works04{
		width:90%;
margin:100px auto;
}


.works04 h1{
font-size: 6.0rem;
letter-spacing:3px;
line-height: 120%;


}
	
	.works04 h1::before{

   left:-8%;
   
}

.works04 div{
width:100%;
margin:50px 0 0 0;
	justify-content:center;
}

.works04 div span{
width:350px;
height:350px;
font-size:3.5rem;
letter-spacing:1px;
line-height: 120%;
margin: 10px 0 0 0;
}

.works04 div span:nth-of-type(2n){
margin: 10px 0 0 30px;
}	
	
.works04 div span b{
height: 70px;
width: 100%;
bottom:8%;
left:50%;
}



.works04 div span::before{
font-size:4.0rem;
top:40%;
left:50%;
}


.works05 div{
width:60%;	
}

.works05 div:last-of-type{
width:80%;	
line-height:300%;
}

.works05  img{
width:70%!important;
border-radius: 20px;
}
.works05 h2{
border-bottom: 1px solid #067D25;
margin: 0 0 20px 0;
}

/* **********************  事業所について ***********************  */


.company{
width:90%;
margin:0px auto 50px auto;
}


.company:first-of-type{
padding:100px 0 0 0;
}



.company h1{
font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
}


.company h1::before{
width:30px;
height:30px;
top:50%;
left:-2%;
}




.company h1 b{
font-size: 6.0rem;
font-weight:800;

}

.company h2{
font-size:3.5rem;
letter-spacing:3px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}


div.office{
width: 50%;
margin: 20px 0 0 0;
	}


 div.office:last-of-type {
width:48%;
font-size:2.2rem;
gap:40px 0px;
}

div.office-info{
width: 90%;
font-size:2.2rem;
gap:35px 0px;
margin:40px auto 0 auto;
	
}

 div.office:last-of-type span, div.office-info span{
border-bottom:1px #E2E2E2 solid;
padding-bottom: 3px;
letter-spacing:1px;
}

 div.office:last-of-type span b, div.office-info span b{
width:25%;
margin: 0 30px 0 0;
	}

 div.office-info span{
padding-bottom: 3px;
letter-spacing:1px;
width: 100%;
}

div.office-info span b{
width:15%;
margin: 0 30px 0 0;
}


div.office-info span p{
display:inline-block;

	
}

 div.office:last-of-type iframe{
width:100%;
height:250px;
}


.splide__slide img {
 width: 100%;
  height: 100%;
}

.splide__slide {
  opacity: 0.6;
}

.splide__slide.is-active {
  opacity: 1;
}


#thumbnail-carousel,#thumbnail-carousel02{
margin: 20px 0 0 0;
}


#thumbnail-carousel .splide__list,#thumbnail-carousel02 .splide__list{
justify-content: center;
}


.service{
width:100%;
margin:0px auto 50px auto;

}



.service h3{
font-size: 4.5rem;
	letter-spacing:3px;
margin:30px 0 10px 0;
}

.service h3 b{

font-size:6.5rem;

}

.service div{
width:100%;

}

.service span{
width:260px;
height:260px;
font-size: 3.0rem;
letter-spacing:1px;
line-height: 120%;
margin: 10px 0 0 0;

}

.service span ul{
font-size:2.3rem;
font-weight:800;
line-height:160%;
width: 100%;
 bottom:0%;
left:50%;
	
}



.service span h4{
font-size: 3.0rem;
font-weight: 800;
width:100%;
top:30%;
left:50%;
}


/* **********************  サポート ***********************  */


.support, .support02{
width:90%;
margin:0px auto 50px auto;
padding:100px 0 0 0;

}


.support h1{
font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
}


.support h1::before{
width:30px;
height:30px;
border-radius: 50%;
top:50%;
left:-2%;
}

.support h1 b{
font-size: 6.0rem;
font-weight:800;
}


.support h2,.support02 h2{
width: 100%;
font-size:3.5rem;
letter-spacing: 5px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}

.support div{
width: 100%;
}


.support div:last-of-type{
font-size:2.4rem;
letter-spacing:1px;
line-height:200%;
}


.support h3{
width: 100%;
font-size:3.8rem;
letter-spacing:1px;
margin:40px 0 20px 0;
}


.support span.support_text{
width: 100%;
font-size:3.2rem;
letter-spacing:1px;
margin:10px 0 20px 0;
}

.support ul img{
width:65%;
margin:0 auto 30px auto;
border-radius: 10px;
}

.support ul{
font-size:2.6rem;
margin:30px 0 ;
width: 48%;
}

.support ul li{
margin: 10px 0;
}

.support ul b{
font-size:2.6rem;
font-weight: 800;
width: 100%;
border-radius: 10px;
letter-spacing: 2px;
}

.support ul li ul{
width:95%;
margin:20px auto;
}
.support ul li ul li{
margin: 0 0 10px 0;
font-weight:700;
}

.support02 div{
width: 100%;
margin:20px 0 50px 0;
padding:0px 0 20px 0;
}

.support02 span{
width: 48%;
font-size: 1.6rem;
letter-spacing: 1px;
line-height:230%;
}

.support02 span:first-of-type{
text-align: center;
}

.support02 h3{
font-size: 2.6rem;
letter-spacing:1px;
font-weight: 700;
}

.support02 img{
width:60%;
margin:0 auto 10px auto;
border-radius: 10px;
}

.support02 b{
font-size: 2.0rem;
font-weight: 800;
letter-spacing:5px;
padding: 5px 30px;
border-radius:10px;

}

.support02 p{
font-size: 2.4rem;
margin: 10px 0 0 0;
line-height:180%;
}





/* ********************** お問い合わせ ***********************  */


.contact{
width:80%;
padding:100px 0 0 0;
}


.contact h1{
width:100%;

font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;

}


.contact h1::before{

width:30px;
height:30px;
border-radius: 50%;
 top:50%;
   left:-2%;
  
}




.contact span{
	font-size:3.0rem;
	letter-spacing:2px;
	font-weight: 700;

	margin:80px 0px;

}
.contact h4{
	
	padding: 3px 5%;
	margin: 20px 0 0 0;
	
	font-size: 2.5rem;

	}
.sp_br{
	display: none;
}

.privacy_list {
  display: none;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  z-index: 9999;
}
.privacy-wrap {
  width: 100%;
  height: 100%;
 
  padding: 20px;

}
.privacy-wrap::-webkit-scrollbar {
  display: none;
}

.privacy-wrap:after {

  width: 1px;
  height: 100%;

}
.privacy-bg {
 
  left: 0;
  top: 0;
  
}

.privacy-box {
  width: 100%;
  max-width: 1200px;

}
.privacy-box .inner {

  padding: 50px 20px;

}


.privacy-box .inner > :first-child {
  margin-top: 0;
}

.privacy-box .inner ul{
	width: 90%;
	font-size: 2.0rem;
;
	
}

.privacy-box .inner ul li{
margin-bottom: 30px;
font-weight: 600;
letter-spacing: 3px;

	
}
.privacy-box .inner ul li p{
 font-size: 1.8rem;
line-height: 150%;
margin: 5px 0px 0px 0px;
letter-spacing: 1px;
}

.privacy-close{
width:100%;
	font-size: 2.5rem;
	letter-spacing:8px;
	font-weight:600;
	margin:80px 0 0 0;
}


  .iframebox{

    padding: calc(315 /180 * 100%) 0 0;
  }
	
	.footer_float{
background-color: #067D25;
position: fixed;
	bottom:0;
	z-index:899;
	width: 100%;
	display:flex;
  justify-content: center;
	align-items: center;
}

.footer_float>div{
	width: 33%;
	align-items: center;
	text-align: center;
}
.footer_float>div a{
	width:100%;
	display: inline-block;
height: 80px;
	margin: 3px 0 0 0;
	font-size: 1.8rem;
	font-weight: 600;
	color: #fff;
	position: relative;
	border-left: 1px solid #fff;
	
}
.footer_float>div:first-of-type a{
	
	border-left: 0px solid #fff;
}

.footer_float>div a span{
position:absolute;
	bottom: 0%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	line-height: 110%;
	width: 100%;
}

.footer_float>div a::before{
	content: "";
	background-image:url("../img/tel.gif");
	background-repeat: no-repeat;
	background-size: contain;
	width: 50px;
	height: 50px;
position:absolute;
top: 10%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.footer_float>div:first-of-type a::before{
	
	background-image:url("../img/top.gif");
	
}

.footer_float>div:last-of-type a::before{
	
	background-image:url("../img/mail.gif");
	
}
	
.footer_float>div br{
		display: none;
	}
	
		/* ********************** 就職者インタビュー ***********************  */




.interview:nth-of-type(2){
	margin: 100px 0 0 0;
}

	
.interview_outline ol{
	
	font-size: 2.2rem;

}

.interview ul li span{
font-size:2.4rem!important;

}


.interview ul li p{
font-size:2.2rem;

}
	

.interview_link a{

	font-size: 2.8rem;

	padding: 10px 50px;

}

}



@media screen and (max-width: 810px) {
	 html {
    
     font-size:45%;
   
    }

/* ヘッダー */

header h1{
padding: 10px 20px;
width:18%;
	top:10px;
	left: 0;

}

.sp_navi{
	
padding: 10px 20px;
	

}

.sp_switch{

    width: 70px;
    height:70px;

	z-index: 3;
	}


/*ボタン内側*/
.sp_menu span{
  
	 top: 50%;
    left: 50%;
    
	 height: 4px;
	border-radius: 2px;
    width: 60%;
  }



.sp_menu span:nth-of-type(1) {
 top: 30%;
}

.sp_switch:hover span:nth-of-type(1) {
 top: 30%;
}

.sp_menu span:nth-of-type(3) {
  top:70%;
}
.sp_switch:hover span:nth-of-type(3) {
  top:70%;
}

.sp_switch::after{

 bottom:-5px;
  left: 0;
font-size: 1.3rem;
letter-spacing: 2px;
width: 100%!important;


}

.sp_switch.active span:nth-of-type(1) {
    top: 40%;

	 left: 20%;
}

.sp_switch.active span:nth-of-type(2) {
  opacity: 0;
}

.sp_switch.active span:nth-of-type(3){
  top: 57%;
    left:20%;
   
}



.sp_menu_list{

height:100vh;
width:100%;

}




.sp_menu_list nav{
	width: 100%;
	background-color:hsla(0,0%,100%,0.95);
	position: absolute;
	top:0;
	left: 0;
justify-content: center;
}

#menu_img{
	width:100%;
	height: 100vh;

}


#menu_img::after{

top: 0;

opacity: 0;
transition:2s;


}

#menu_img.active::after{
  opacity: 1;

}

.sp_menu_list nav ul{

	margin: 20px 0 0 0;
	padding: 0 0 0 0px;
	
}

.sp_menu_list nav ul li{

	font-size:3.0rem;

	letter-spacing:7px;

	margin-bottom:10.0rem;
	
}



.sp_menu_list nav ul li a::after{

	width: 100%;
	height:3px;
	
	 bottom:-25%;
    left: 0%;
 
}



.menu_info{

height: 100vh;

margin:0px 0px 0px 40px;

}

.menu_info div{
	width:100%;

	margin-bottom: 50px;
	padding-bottom: 50px;
	
}



.menu_info div h2{
	font-size: 2.4rem;
	letter-spacing:1px;
}

.menu_info div h3{
	font-size:2.6rem;
	font-weight:900;

	margin: 10px 0;
}

.menu_info div span{
	font-size: 1.8rem;
margin: 0px 0 20px 0;
}

.menu_info div b{
	font-size: 1.6rem;
letter-spacing:1px;
font-weight:700;
}

.float_work{

right:0px;
top:150px;
line-height: 160%;
width:auto;
font-size:2.8rem;

padding: 20px 10px 20px 10px;
letter-spacing: 3px;

border-radius:20px 0% 0% 20px
}


.float_work b{
font-size:2.8rem;
padding-bottom: 10px;
display:block;
}

.float_work:hover{

right:0px;
}


	/*閉じるボタン*/
.bnr_close {
border-radius: 25px;
box-shadow: 0 0 3px rgb(0, 0, 0, 0.4);
padding: 8px 8px;
left:0px;
top:-25px;
font-size: 2.5rem;
}

/* トップページ */
.opening_amime img{
	
	
	width:30%;
	
}
	
.movie_pc{
display:none!important;
}

.movie_sp{
	display:inherit!important;
}
	
	
video {
 
  
  object-fit: cover;
}


.top_sec01{
width:90%;

}

.top_sec01 h1{
width:100%;
font-size: 6.0rem;
}

.top_sec01 h1 b{
	
font-size: 6.0rem;
font-weight:800;

}

.top_sec01 div{
width:100%;
margin:50px 0 0 0;
}
.top_sec01 div:nth-of-type(1){
	padding: 30px 0 0px 0;
width:100%;
margin:0 0 0 0;
 gap:20px 10px;
}

.top_sec01 div:nth-of-type(1) span{
width:30%;
font-size:3.0rem;
font-weight:700;
letter-spacing: 5px;
}



.top_sec01 div:nth-of-type(1) span:last-of-type{
width:30%;
font-size:3.0rem;
letter-spacing: 3px;
font-weight:800;
}

.top_sec01 div:last-of-type{
font-size:2.4rem;
line-height:200%;
width:90%;
margin:30px auto 0px auto;
}


.top_sec01 div:last-of-type h2{
font-size:3.5rem;
letter-spacing: 3px;
font-weight:800;
margin:0px 0 10px 0;
}

	
.top_sec01 div img{
width:70%;
	border-radius: 15px;
}


.top_sec02{
width:98%;
height:60vh;
margin:100px auto;
padding: 80px 0 0px 0px;
animation-timeline: view();
  animation-range: entry 0% cover 45%;
 justify-content:flex-start;
}


.top_sec02::after{

width: 100%;
height:100%;
top: 0;
background-color:rgba(0,0,0,0.4);

 
}




.top_sec02 h1{
width:95%;
font-size: 4.5rem;
margin-bottom: 50px;
z-index: 2;
	margin: 0 0 0 30px;
}

.top_sec02 h1 b{
font-size:5.0rem!important;
}



.top_sec02 div{
font-size:2.4rem;
line-height: 200%;
width: 90%;
background-color: hsla(0,0%,100%,0.80);
padding: 20px 30px;
margin:20px 0 0 30px;
}


.top_sec02 div h2{
font-size:3.5rem;
letter-spacing:2px;
margin:0px 0 10px 0;
}


.top_sec02 span{
bottom:5%;
right: 10%;
font-size:3.0rem;
padding: 5px 30px;
}


.top_sec03{
		width:90%;
margin:100px auto;
}

.top_sec03 h1{
	font-size: 5.0rem;
	width:100%;
  writing-mode:horizontal-tb;
	margin-right: 0px;
}


.top_sec03 h1 b{
	
font-size:5.0rem;
font-weight:800;

}

.top_sec03 div{
width:95%!important;
margin:20px auto 0 auto;

}

.top_sec03 div div{
	width:45%!important;
	height:300px;
border-radius: 20px ;
}



.top_sec03 div div:nth-of-type(3){
font-size: 3.3rem;
	letter-spacing:2px;
	font-weight:600;
	border-radius: 0px;
	padding: 20px 0 80px 0;
}

.top_sec03 div h2{
font-size: 2.5rem;
padding: 10px 0px;
letter-spacing:10px;
background-color:hsla(0,0%,100%,0.90);}



.top_sec03 span{
bottom: 0%;
	right: 0%;
font-size: 2.8rem;
font-weight:800;
	letter-spacing:1px;
padding: 5px 30px;
	border-radius: 15px;
}


.top_sec04{
width:90%;
margin:100px auto;

}


.top_sec04 h1{
font-size: 5.5rem;
letter-spacing:1px;
line-height: 120%;
	
}

.top_sec04 h1 b{
	
font-size:5.5rem;

}

.top_sec04 div{
	
	width: 100%;
	height:350px;
border-radius: 20px;

}




.top_sec04 h2{

font-size: 3.0rem;
line-height: 180%;
margin: 30px auto;
width: 100%;
}

.top_sec04 h2 b{

font-size:2.5rem;
padding:5px 7px;
margin-left: 5px;
letter-spacing:1px;
border-radius: 10px;
}

.top_sec04 h2 b:first-of-type{

margin-left: 0px;
}

.staff_link{

	bottom:5%;
	right: 3%;
	;
font-size:2.5rem;
font-weight:800;
padding: 5px 20px;
	border-radius: 15px;
}

/* ********************** フッター***********************  */

footer{
width:90%;
margin:80px auto;
padding: 50px 0;
flex-direction: column;
align-items: center;
}


footer div:first-of-type{
width:100%;
}


footer div:first-of-type h1{
width:12%;
}

footer div:first-of-type h1 img{
width:100%;
}
	


footer div:first-of-type div{
width:auto;
font-size: 3.5rem;
font-weight: 800;
letter-spacing:1px;
margin-left:50px;
display: inline-block;
}

footer div:first-of-type div span{
width: 100%;
margin-bottom:5px;


}

footer div{
		width:50%;
}

footer div h1{
		width:100%;

}

footer div h1 img{
		width:30%;

}

footer address{
	width:100%;
margin-top:30px;
justify-content: space-between;
}

footer address span{
width: 45%;
font-size: 2.0rem;
margin-left:0px;
line-height: 150%;
}

footer address span:first-of-type{
	
	margin-left:0px;
}


footer div:nth-of-type(2){
		width:100%;
	
}

footer div ul{
		width:100%;
	margin:30px auto 0 auto;
	align-items:center;
	justify-content: space-between;


}

footer div ul li{
	width: 33%;
	font-size:2.0rem;
	margin-bottom:30px;
padding: 0 0 0 80px;
}

footer div ul li::before{
width: 10%;
height: 1px;
 top: 50%;
    left:24%;

}


/* **********************  利用について ***********************  */


.works{
width:90%;
margin:0px auto;
padding:100px 0px 0px 0px;
	
}


.openinng_titile{
font-size:6.0rem;
letter-spacing:1px;
margin-left:0px;
line-height: 130%;

}



.openinng_titile b{
font-size:6.0rem;
}


.works01{
width:90%;
margin:50px auto;
}


.works01 h1{
font-size:5.5rem;
letter-spacing:3px;
margin:0 auto 0 50px;
line-height: 120%;
}


.works01 h1::before{
width:30px;
height:30px;
top:50%;
left:-10%;
}



.works05 h1::before{

   left:-5%;
   
}

.works01 h1 b{
font-size: 6.0rem;
}

.works01 div{
width: 80%;
margin:20px auto;

}

.works01 h2,.works02 h2,.works03 h2{
font-size:4.0rem;
letter-spacing:1px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}

.works02 h2,.works03 h2{
margin:20px 0 0 0; 
}

.works01 div:first-of-type img{
width:75%;
margin:30px auto 30px auto;
}


.works01 div:first-of-type span{
width:32%;
font-size:2.6rem;
letter-spacing:2px;
padding: 3px 0px;
}

.works01 div:last-of-type{
font-size:2.3rem;
width:80%;
letter-spacing:0px;
margin: 30px auto 0px auto;
line-height:180%;
align-items: center;
flex-flow:wrap;
}

	
.works01 div p{
width: 100%;
text-align: center;
}
.works01 div:last-of-type ul{
font-size: 2.4rem;
letter-spacing:0px;
margin:40px 0 10px 0;
width: 49%;
}

.works01 div:last-of-type ul li{
margin-bottom:20px;

}

.works01 div:last-of-type ul li ul{
font-size: 2.4rem;
letter-spacing: 0px;
margin:5px 0 0px 0;
width: 100%;
}

.works01 div:last-of-type ul li ul li{
margin-bottom:0px;
}

.works01 div:last-of-type ul:nth-of-type(2){
font-size:2.3rem;
margin:0px 0 10px 0;

}


.works01 div:last-of-type ul:nth-of-type(2) li{
margin-bottom:20px;

}

.works01 div:last-of-type ul:nth-of-type(2) li::before{

width: 110%;
height:10px;

top:70%;
left:50%;

}




.works02{
width:90%;
margin:80px auto;
align-items:flex-start;
}


.works02 h1{
font-size: 6.0rem;
letter-spacing:20px;
padding: 50px 0 0 0;

}

.works02 h1::before{
width:30px;
height:30px;
border-radius: 50%;
top:0%;
left:50%;
}


.works02 div{
width:90%;
font-size:2.2rem;
letter-spacing:0px;
line-height:200%;
align-items:center;
}

.works02 div div{
width:90%;
margin:10px auto 0px auto;
}

.works02 div div img{
width:75%;
border-radius: 20px;
}

	
.works02 div div:nth-of-type(1){
order: 1;
}
	
		
.works02 div div:nth-of-type(2){
order: 1;
}

		
.works02 div div:nth-of-type(3){
order: 4;
}

	
.works02 div div:nth-of-type(4){
order: 3;
}
	
	
	
	
.works03{
width:90%;
margin:50px auto;
}


.works03 h1{
font-size:5.5rem;
letter-spacing:3px;
line-height: 120%;
}

.works03 h1::before,.works04 h1::before{
width:30px;
height:30px;
border-radius: 50%;
top:50%;
 left:-7%;
}



.works03 div{
width:100%;}

	.works03 div div{
width:90%;
text-align: center;
margin: 20px 0 0 0;
}


.works03 div div b{
font-size:3.5rem;
letter-spacing:1px;
line-height:160%;
margin:10px auto;
}


.works03 div div small{
width:auto;
font-size:2.4rem;
letter-spacing:2px;
line-height:140%;

margin: 20px auto 0 auto;
}

.works03 div div small::before{
width:30px;
height:30px;
top:0%;
left:-3%;
}

.works03 div div h3{
width: 100%;
margin:10px 0px;
font-size:3.5rem;
}


.works03 div div span{
width:90%;
height:300px;
border-radius:20px;
margin:30px auto 10px auto;
}

.works03 div div:nth-of-type(2){
width:90%!important;
}


.works03 div:nth-of-type(2) h4{
font-size: 3.0rem;
line-height: 150%;
margin: 30px 0 0 0;
text-align: left;
}

.works03 div:nth-of-type(2) p{
font-size:2.2rem;
line-height: 140%;
padding: 10px 0 0 0;
text-align: left;
}


.works03 div:last-of-type{
width: 100%;
}

.works03 table{
width: 100%;
border-collapse: 1px;
font-weight: 500;
font-size:2.4rem;
margin:30px 0 0 0;
}
.works03 table th{
width: 12%;
}

.works03 table td{
width:12%;
font-size:2.2rem;
padding: 10px 0;
line-height:200%;
}



.works04{
		width:90%;
margin:100px auto;
}


.works04 h1{
font-size: 5.5rem;
letter-spacing:3px;
line-height: 120%;


}

.works04 div{
width:100%;
margin:50px 0 0 0;
	justify-content:center;
}

.works04 div span{
width:250px;
height:250px;
font-size:3.0rem;
letter-spacing:1px;
line-height: 120%;
margin: 10px 0 0 0;
}

.works04 div span:nth-of-type(2n){
margin: 10px 0 0 30px;
}	
	
.works04 div span b{
height: 70px;
width: 100%;
bottom:0%;
left:50%;
}



.works04 div span::before{
font-size:4.0rem;
top:40%;
left:50%;
}


.works05 div{
width:80%;	
}

.works05 div:last-of-type{
width:95%;	
line-height:200%;
}

.works05  img{
width:60%!important;
border-radius:20px;

}
.works05 h2{
border-bottom: 1px solid #067D25;
margin: 0 0 10px 0;
}

/* **********************  事業所について ***********************  */


.company{
width:90%;
margin:0px auto 50px auto;
}


.company:first-of-type{
padding:100px 0 0 0;
}



.company h1{
font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
}


.company h1::before{
width:30px;
height:30px;
top:50%;
left:-5%;
}




.company h1 b{
font-size: 6.0rem;
font-weight:800;

}

.company h2{
font-size:3.5rem;
letter-spacing:3px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}


div.office{
width:90%;
margin: 20px auto 0 auto;
	}


 div.office:last-of-type {
width:90%;
font-size:2.2rem;
gap:40px 0px;
	margin:50px auto 0 auto;
}

div.office-info{
width: 90%;
font-size:2.2rem;
gap:35px 0px;
margin:40px auto 0 auto;
	
}

 div.office:last-of-type span, div.office-info span{
border-bottom:1px #E2E2E2 solid;
padding-bottom: 3px;
letter-spacing:1px;
}

 div.office:last-of-type span b, div.office-info span b{
width:25%;
margin: 0 30px 0 0;
	}

 div.office-info span{
padding-bottom: 3px;
letter-spacing:1px;
width: 100%;
}

div.office-info span b{
width:22%;
margin: 0 30px 0 0;
}


div.office-info span p{
display:inline-block;

	
}

 div.office:last-of-type iframe{
width:100%;
height:250px;
}


.splide__slide img {
 width: 100%;
  height: 100%;
}

.splide__slide {
  opacity: 0.6;
}

.splide__slide.is-active {
  opacity: 1;
}


#thumbnail-carousel,#thumbnail-carousel02{
margin: 20px 0 0 0;
}


#thumbnail-carousel .splide__list,#thumbnail-carousel02 .splide__list{
justify-content: center;
}


.service{
width:100%;
margin:0px auto 50px auto;

}



.service h3{
font-size: 4.5rem;
	letter-spacing:3px;
margin:30px 0 10px 0;
}

.service h3 b{

font-size:6.5rem;

}

.service div{
width:100%;
flex-flow:wrap-reverse; /* 子要素をrow方向に並べ、逆に折返す*/
justify-content:space-around; 
}
	


	


.service span{
width:260px;
height:260px;
font-size: 3.0rem;
letter-spacing:1px;
line-height: 120%;
margin:5px 0 0 0;

}
	
.service span:nth-of-type(1){
order: 3;

}
	
.service span:nth-of-type(2){
order: 1;

}
	
	
.service span:nth-of-type(3){
order: 2;

}
	

.service span ul{
font-size:2.3rem;
font-weight:800;
line-height:160%;
width: 100%;
 bottom:0%;
left:50%;
	
}



.service span h4{
font-size: 3.0rem;
font-weight: 800;
width:100%;
top:30%;
left:50%;
}


/* **********************  サポート ***********************  */


.support, .support02{
width:90%;
margin:0px auto 50px auto;
padding:100px 0 0 0;

}
	
 .support02{
padding:50px 0 0 0;
}


.support h1{
font-size:5.0rem;
letter-spacing:0px;
margin-left:50px;
line-height: 120%;
}


.support h1::before{
width:30px;
height:30px;
border-radius: 50%;
top:50%;
left:-5%;
}

.support h1 b{
font-size:5.0rem;
font-weight:800;
}


.support h2,.support02 h2{
width: 100%;
font-size:3.0rem;
letter-spacing:2px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}

.support div{
width: 100%;
}


.support div:last-of-type{
font-size:2.2rem;
letter-spacing:1px;
line-height:200%;
}


.support h3{
width: 100%;
font-size:3.8rem;
letter-spacing:1px;
margin:40px 0 20px 0;
}


.support span.support_text{
width:80%;
font-size:3.2rem;
letter-spacing:1px;
margin:10px auto 20px auto;
}

.support ul img{
width:65%;
margin:0 auto 30px auto;
border-radius: 10px;
}

.support ul{
font-size:2.6rem;
margin:30px auto ;
width: 90%;
}

.support ul li{
margin: 10px 0;
}

.support ul b{
font-size:3.3rem;
border-radius: 10px;
letter-spacing: 2px;
}

.support ul li ul{
width:95%;
margin:20px auto;
}
.support ul li ul li{
margin: 0 0 10px 0;
font-weight:700;
}

.support02 div{
width: 100%;
margin:20px 0 50px 0;
padding:0px 0 20px 0;
}

.support02 span{
width:80%;
font-size: 1.6rem;
margin: auto;
letter-spacing: 1px;
line-height:230%;
}

.support02 span:first-of-type{
text-align: center;
}

.support02 h3{
font-size: 2.6rem;
letter-spacing:1px;
font-weight: 700;
}

.support02 img{
width:60%;
margin:0 auto 10px auto;
border-radius: 10px;
}

.support02 b{
font-size: 2.0rem;
font-weight: 800;
letter-spacing:5px;
padding: 5px 30px;
border-radius:10px;

}

.support02 p{
font-size: 2.4rem;
margin: 10px 0 0 0;
line-height:180%;
}


/* **********************  FAQ ***********************  */


.faq{
width:80%;

padding:100px 0 0 0;
}


.faq h1{
width:100%;

font-size:5.5rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;

}


.faq h1::before{

width:30px;
height:30px;
border-radius: 50%;
 top:50%;
   left:-5%;

}





/* ********************** お問い合わせ ***********************  */


.contact{
width:80%;
padding:100px 0 0 0;
}


.contact h1{
width:100%;

font-size:5.5rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;

}


.contact h1::before{

width:30px;
height:30px;
border-radius: 50%;
 top:50%;
   left:-5%;
  
}




.contact span{
	font-size:2.5rem;
	letter-spacing:1px;
	font-weight: 700;

	margin:80px 0px;

}

	.contact h4{
	
	padding: 3px 5%;
	margin: 20px 0 0 0;
	
	font-size: 2.3rem;

	}
.sp_br{
	display: none;
}

.privacy_list {
  display: none;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  z-index: 9999;
}
.privacy-wrap {
  width: 100%;
  height: 100%;
 
  padding: 20px;

}
.privacy-wrap::-webkit-scrollbar {
  display: none;
}

.privacy-wrap:after {

  width: 1px;
  height: 100%;

}
.privacy-bg {
 
  left: 0;
  top: 0;
  
}

.privacy-box {
  width: 100%;
  max-width: 1200px;

}
.privacy-box .inner {

  padding: 50px 20px;

}


.privacy-box .inner > :first-child {
  margin-top: 0;
}

.privacy-box .inner ul{
	width: 90%;
	font-size: 2.0rem;
;
	
}

.privacy-box .inner ul li{
margin-bottom: 30px;
font-weight: 600;
letter-spacing: 3px;

	
}
.privacy-box .inner ul li p{
 font-size: 1.8rem;
line-height: 150%;
margin: 5px 0px 0px 0px;
letter-spacing: 1px;
}

.privacy-close{
width:100%;
	font-size: 2.5rem;
	letter-spacing:8px;
	font-weight:600;
	margin:80px 0 0 0;
}



  .iframebox{

    width: 100%;
    padding: calc(315 / 150 * 100%) 0 0;
  }
 
		/* ********************** 就職者インタビュー ***********************  */



.interview{
	width: 90%;
	margin: 50px auto 0 auto;
}

.interview:nth-of-type(2){
	margin: 100px 0 0 0;
}


.interview h2 small{ 
	
	font-size: 2.4rem;
	letter-spacing:2px;

padding: 0 0 4px 20px;
}


.interview div{
	width: 100%;
	
	
}
	
	
.interview div img{
	width:80%;
	
	
}
	
.interview div:nth-of-type(1){
	order: 2;
	
}
	
.interview div:nth-of-type(2){
order: 1;
			
	text-align: center;
	
}
	.interview ul{
order: 3;
			
	
	
}
.interview_outline{
	
	width: 95%!important;
	margin: 40px auto 0 auto;
	padding: 50PX 0 10PX 0;
}

.interview_outline h5{ 

	font-size: 2.6rem;
	letter-spacing:4px;

margin: 30px 0 30px 0;
padding: 3px 0px;
	width: 60%;
	top: -50px;
    left: 50%;
  
}


.interview_outline ol{
	
	width:90%;
	font-size: 2.6rem;

}

.interview_outline ol li{

	margin-bottom: 25px;	
}

.interview ul li {
width: 100%;
}



.interview ul li h4{
padding: 5px 0 5px 10px;
font-size:2.6rem;
margin:30px 0 0px 0;
letter-spacing: 1px;
}


.interview ul li span{
font-size:3.0rem!important;
margin:30px 0 10px 0;
padding: 0 0 3px 35px;
}

.interview ul li span::before{
left: 0;
	top: 0;
}

.interview ul li p{
font-size:2.7rem;
line-height: 200%;
padding:0 0 30px 35px;
}

.interview ul li p::before{
padding: 0 0px 0 0;
font-size:2.2rem;
font-weight: 700;
}
	
	.interview_link{

gap:0 4%;

}
	
}

@media screen and (max-width:600px) {
	 .iframebox{

    width: 100%;
    padding: calc(315 / 120 * 100%) 0 0;
  }
 
		

.footer_float>div{
	width: 33%;
	
}
.footer_float>div a{
	
height: 80px;
	margin: 3px 0 0 0;
	font-size: 1.8rem;
	font-weight: 600;
	
	
}


.footer_float>div a span{

	bottom: 0%;
    left: 50%;

	line-height: 110%;
	
}

.footer_float>div a::before{
	
	width: 40px;
	height: 40px;

top: 10%;

}


	
.footer_float>div br{
		display:inherit;
	}
	
}


@media screen and (max-width:480px) {
	 html {
    
     font-size:30%;
   
    }

/* ヘッダー */

header h1{
padding: 10px 20px;
width:30%;
	top:10px;
	left: 0;

}
	
	.sp_navi{

padding: 10px 10px;
	 top:0;
	right:0;

}

.sp_switch{

    width: 50px;
    height:50px;

	z-index: 3;
	}


/*ボタン内側*/
.sp_menu span{
  
	 top: 50%;
    left: 50%;
    
	 height: 4px;
	border-radius: 2px;
    width: 60%;
  }



.sp_menu span:nth-of-type(1) {
 top: 30%;
}

.sp_switch:hover span:nth-of-type(1) {
 top: 30%;
}

.sp_menu span:nth-of-type(3) {
  top:70%;
}
.sp_switch:hover span:nth-of-type(3) {
  top:70%;
}

.sp_switch::after{

 bottom:-5px;
  left: 0;
font-size: 2.0rem;
letter-spacing: 2px;
width: 100%!important;


}

.sp_switch.active span:nth-of-type(1) {
    top: 40%;

	 left: 20%;
}

.sp_switch.active span:nth-of-type(2) {
  opacity: 0;
}

.sp_switch.active span:nth-of-type(3){
  top: 63%;
    left:20%;
   
}



.sp_menu_list{

height:100vh;
width:100%;
justify-content:center;
flex-direction:column;
	flex-wrap:nowrap;
}




.sp_menu_list nav{
	width: 100%;
	height: 100vh;
	background-color:hsla(0,0%,100%,0.90);
	position: absolute;
	top:0;
	left: 0;

	flex-wrap:nowrap;
	align-items:center!important;
justify-content:center!important;
flex-direction:column;

}

#menu_img{
	width:100%;
	height:100vh;

}


#menu_img::after{

top: 0;

opacity: 0;
transition:2s;


}

#menu_img.active::after{
  opacity: 1;

}

.sp_menu_list nav ul{
	margin: 20px auto 0 auto;
	padding: 0 0 0 0px;
	width: auto!important;
}

.sp_menu_list nav ul li{
font-size:3.5rem;

letter-spacing:7px;
margin-bottom:2.7rem;}



.sp_menu_list nav ul li a::after{

	width: 100%;
	height:3px;
	
	 bottom:-25%;
    left: 0%;
 
}



.menu_info{
width: 80%;
height: auto;

margin:30px 0px 0px 0px;

}

.menu_info div{
	width:100%;

	margin-bottom: 10px;
	padding-bottom: 10px;
	
}



.menu_info div h2{
	font-size: 3.0rem;
	letter-spacing:1px;
}

.menu_info div h3{
	font-size:3.5rem;
	font-weight:900;

	margin: 10px 0;
}

.menu_info div span{
	font-size: 2.6rem;
margin: 0px 0 20px 0;
display: none;
}

.menu_info div b{
	font-size: 2.4rem;
letter-spacing:1px;
font-weight:700;
}

.float_work{

right:0px;
top:150px;
font-size:2.8rem;
padding: 20px 5px 20px 10px;
letter-spacing: 3px;

}


.float_work b{
font-size:2.8rem;
padding-bottom: 10px;

}

.float_work:hover{

right:0px;
}
	
	
	/*閉じるボタン*/
.bnr_close {
border-radius: 25px;
box-shadow: 0 0 3px rgb(0, 0, 0, 0.4);
padding: 8px 8px;
left:0px;
top:-30px;
font-size: 3.0rem;
}

/* トップページ */
.opening_amime img{
	
	
	width:50%;
	
}


	
.top_sec01{
width:90%;

}

.top_sec01 h1{
width:100%;
font-size: 6.0rem;
}

.top_sec01 h1 b{
	
font-size: 6.0rem;
font-weight:800;

}

.top_sec01 div{
width:100%;
margin:50px 0 0 0;
}
.top_sec01 div:nth-of-type(1){
	padding: 30px 0 0px 0;
width:100%;
margin:0 0 0 0;
 gap:20px 10px;
}

.top_sec01 div:nth-of-type(1) span{
width:30%;
font-size:3.0rem;
font-weight:700;
letter-spacing: 5px;
}



.top_sec01 div:nth-of-type(1) span:last-of-type{
width:30%;
font-size:3.0rem;
letter-spacing: 3px;
font-weight:800;
}

.top_sec01 div:last-of-type{
font-size:2.8rem;
line-height:200%;
width:90%;
margin:30px auto 0px auto;
}


.top_sec01 div:last-of-type h2{
font-size:3.8rem;
letter-spacing:1px;
font-weight:800;
margin:0px 0 10px 0;
}

	
.top_sec01 div img{
width:90%;
	border-radius: 15px;
}


.top_sec02{
width:98%;
height:60vh;
margin:50px auto;
padding: 80px 0 0px 0px;
animation-timeline: view();
  animation-range: entry 0% cover 45%;
 justify-content:flex-start;
}


.top_sec02::after{

width: 100%;
height:100%;
top: 0;
background-color:rgba(0,0,0,0.4);

 
}
	
	
	
.top_sec02::after{
	
width: 100%;
height: 100%;
top: 0;

background-size: cover;
background-position: center;
}





.top_sec02 h1{
width:95%;
font-size: 4.0rem;
margin-bottom: 50px;
z-index: 2;
	margin: 0 0 0 30px;
}

.top_sec02 h1 b{
font-size: 5.0rem;
}

	


.top_sec02 div{
font-size:3.0rem;
line-height: 150%;
width: 90%;
background-color: hsla(0,0%,100%,0.80);
padding: 20px 30px;
margin:20px auto 0 auto;
}


.top_sec02 div h2{
font-size:3.8rem;
letter-spacing:2px;
margin:0px 0 10px 0;
}


.top_sec02 span{
bottom:3%;
right: 10%;
font-size:3.5rem;
padding: 5px 30px;
}


.top_sec03{
		width:90%;
margin:50px auto;
}

.top_sec03 h1{
	font-size: 5.0rem;
	width:100%;
  writing-mode:horizontal-tb;
	margin-right: 0px;
}


.top_sec03 h1 b{
	
font-size:5.0rem;
font-weight:800;

}

.top_sec03 div{
width:95%!important;
margin:20px auto 0 auto;
font-size: 4.0rem;
}

.top_sec03 div div{
	width:100%!important;
	height:300px;
border-radius:20px ;
}



.top_sec03 div div:nth-of-type(3){
font-size: 3.3rem;
	letter-spacing:2px;
	font-weight:600;
	border-radius: 0px;
	padding: 20px 0 80px 0;
}

.top_sec03 div h2{
font-size: 3.5rem;
padding: 10px 0px;
letter-spacing:2px;
background-color:hsla(0,0%,100%,0.90);}



.top_sec03 span{
bottom: 0%;
	right: 0%;
font-size: 4.0rem;
font-weight:800;
	letter-spacing:0px;
padding: 3px 30px;
	border-radius: 15px;
}


.top_sec04{
width:90%;
margin:50px auto;

}


.top_sec04 h1{
font-size: 5.0rem;
letter-spacing:1px;
line-height: 120%;
	
}

.top_sec04 h1 b{
	
font-size:5.5rem;

}

.top_sec04 div{
	
	width: 100%;
	height:200px;
border-radius: 20px;

}




.top_sec04 h2{

font-size: 3.0rem;
line-height: 180%;
margin: 30px auto;
width: 100%;

}

.top_sec04 h2 b{
display: block;
font-size:3.3rem;
padding:3px 0px;
margin:0 auto 20px auto;
letter-spacing:1px;
border-radius: 10px;
width: 80%;
}

.top_sec04 h2 b:first-of-type{

margin:0 auto 20px auto;
}

.staff_link{

	bottom:5%;
	right: 3%;
font-size:3.0rem;
padding: 3px 20px;
border-radius: 15px;
}

/* ********************** フッター***********************  */

footer{
width:90%;
margin:0px auto 0px auto;
padding: 50px 0 130px 0;
flex-direction: column;
align-items: center;
}


footer div:first-of-type{
width:100%;
}


footer div:first-of-type h1{
width:25%;
}

footer div:first-of-type h1 img{
width:100%;
}
	


footer div:first-of-type div{
width:auto;
font-size:4.0rem;
font-weight: 800;
letter-spacing:1px;
margin:20px 0 0 0px;
display: inline-block;
}

footer div:first-of-type div span{
width: 100%;
margin-bottom:5px;


}

footer div{
		width:50%;
}

footer div h1{
		width:100%;

}

footer div h1 img{
		width:30%;

}

footer address{
	width:100%;
margin-top:30px;
justify-content:center;
}

footer address span{
width:90%;
font-size:3.2rem;
margin: 0 auto 30px auto;
line-height: 150%;
letter-spacing:1px;
}

footer address span:first-of-type{
margin: 0 auto 30px auto;
}


footer div:nth-of-type(2){
		width:100%;
	
}

footer div ul{
border-top: 1px solid #E0E0E0;
width:100%;
margin:0px auto 20px auto;
	align-items:center;
	justify-content: center;
gap:0 10px;
padding: 30px 0 0 0;
}

footer div ul li{
	width:auto;
	font-size:3.0rem;
	margin-bottom:20px;
padding: 0 0 0 10px;

}

footer div ul li::before{
display: none;

}
footer small{
font-size:2.0rem!important;
}

/* **********************  利用について ***********************  */


.works{
width:90%;
margin:0px auto;
padding:100px 0px 0px 0px;
	
}


.openinng_titile{
font-size:6.0rem;
letter-spacing:0px;
margin-left:0px;
line-height: 110%;

}



.openinng_titile b{
font-size:6.0rem;
}


.works01{
width:90%;
margin:50px auto;
}


.works01 h1{
font-size:5.5rem;
letter-spacing:2px;
margin:0 auto 0 50px;
line-height: 120%;
}


.works01 h1::before{
width:20px;
height:20px;
top:50%;
left:-10%;
}



.works05 h1::before{
 left:-5%;
   
}

.works01 h1 b{
font-size: 6.0rem;
}

.works01 div{
width:90%;
margin:20px auto;

}

.works01 h2,.works02 h2,.works03 h2{
font-size:3.5rem;
letter-spacing:0px;
margin:50px 0 0 0; 
padding: 0 0 5px 10px;
}

.works02 h2,.works03 h2{
margin:20px 0 0 0; 
}

.works01 div:first-of-type img{
width:90%;
margin:30px auto 30px auto;
}


.works01 div:first-of-type span{
width:32%;
font-size:2.8rem;
letter-spacing:1px;
padding: 3px 0px;
}

.works01 div:last-of-type{
font-size:2.8rem;
width:100%;
margin: 0px auto 0px auto;
line-height:180%;
 flex-flow: column;
}

	
.works01 div p{
width: 100%;
text-align: center;
}
.works01 div:last-of-type ul{
font-size:3.8rem;
letter-spacing:0px;
margin:40px auto 10px auto;
width:auto;
}

.works01 div:last-of-type ul li{
margin-bottom:10px;

}

.works01 div:last-of-type ul li ul{
font-size: 2.8rem;
letter-spacing: 0px;
margin:5px 0 0px 0;
width: 100%;
}

.works01 div:last-of-type ul li ul li{
margin-bottom:0px;
}

.works01 div:last-of-type ul:nth-of-type(2){
font-size:3.6rem;
margin:0px 0 10px 0;

}


.works01 div:last-of-type ul:nth-of-type(2) li{
margin-bottom:20px;

}

.works01 div:last-of-type ul:nth-of-type(2) li::before{

width: 110%;
height:10px;

top:70%;
left:50%;

}




.works02{
width:90%;
margin:80px auto;
align-items:flex-start;
}


.works02 h1{
font-size: 5.5rem;
	line-height: 100%;
letter-spacing:20px;

padding: 50px 0 0 10px!important;
}

.works02 h1::before{
width:20px;
height:20px;
border-radius: 50%;
top:5%;
left:50%;
}


.works02 div{
width:88%;
font-size:2.8rem;
letter-spacing:0px;
line-height:200%;
align-items:center;
}

.works02 div div{
width:90%;
margin:10px auto 0px auto;
}

.works02 div div img{
width:100%;
border-radius: 20px;
}

	
.works02 div div:nth-of-type(1){
order: 1;
}
	
		
.works02 div div:nth-of-type(2){
order: 1;
}

		
.works02 div div:nth-of-type(3){
order: 4;
}

	
.works02 div div:nth-of-type(4){
order: 3;
}
	
	
	
	
.works03{
width:90%;
margin:50px auto;
}


.works03 h1{
font-size:5.5rem;
letter-spacing:3px;
line-height: 120%;
}

.works03 h1::before,.works04 h1::before{
width:20px;
height:20px;
border-radius: 50%;
top:50%;
 left:-7%;
}



.works03 div{
width:100%;}

.works03 div div{
width:90%;
text-align: center;
margin: 20px auto 0 auto;
}


.works03 div div b{
font-size:4.5rem;
letter-spacing:0px;
line-height:160%;
margin:10px auto;
}


.works03 div div small{
width:auto;
font-size:2.4rem;
letter-spacing:0px;
line-height:140%;
margin: 20px auto 0 auto;
}

.works03 div div small::before{
width:30px;
height:30px;
top:0%;
left:-3%;
}

.works03 div div h3{
width: 100%;
margin:10px 0px;
font-size:3.8rem;
}


.works03 div div span{
width:90%;
height:200px;
border-radius:20px;
margin:30px auto 10px auto;
}

.works03 div div:nth-of-type(2){
width:90%!important;
}


.works03 div:nth-of-type(2) h4{
font-size: 3.5rem;
line-height: 150%;
margin: 30px 0 0 0;
text-align: left;
}

.works03 div:nth-of-type(2) p{
font-size:2.8rem;
line-height: 140%;
padding: 10px 0 0 0;
text-align: left;
}


.works03 div:last-of-type{
width: 100%;
}

.works03 table{
width: 100%;
border-collapse: 1px;
font-weight: 500;
font-size:2.4rem;
margin:30px 0 0 0;
}
.works03 table th{
width: 12%;
}

.works03 table td{
width:12%;
font-size:2.2rem;
padding: 10px 0;
line-height:200%;
}



.works04{
		width:90%;
margin:80px auto;
}


.works04 h1{
font-size: 5.5rem;
letter-spacing:3px;
line-height: 120%;


}

.works04 div{
width:100%;
margin:30px 0 0 0;

}

.works04 div span{
width:250px;
height:250px;
font-size:4.0rem;
letter-spacing:1px;
line-height: 120%;
margin: 10px 0 0 0;
}

.works04 div span:nth-of-type(2n){
margin: 10px 0 0 0px;
}	
	
.works04 div span b{
height: 70px;
width: 100%;
bottom:0%;
left:50%;
}



.works04 div span::before{
font-size:5.0rem;
top:40%;
left:50%;
}


.works05 div{
width:80%;	
}

.works05 div:last-of-type{
width:95%;	
line-height:200%;
}

.works05  img{
width:90%!important;
border-radius:20px;

}
.works05 h2{
border-bottom: 1px solid #067D25;
margin: 0 0 10px 0;
	font-size:4.0rem;
}

	
	.works06{
		
margin:80px auto 30px auto;
}
/* **********************  事業所について ***********************  */


.company{
width:90%;
margin:0px auto 50px auto;
}


.company:first-of-type{
padding:100px 0 0 0;
}



.company h1{
font-size:5.5rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
}


.company h1::before{
width:20px;
height:20px;
top:50%;
left:-5%;
}




.company h1 b{
font-size: 5.5rem;
}

.company h2{
font-size:4.0rem;
letter-spacing:2px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}


div.office{
width:90%;
margin: 20px auto 0 auto;
	}


 div.office:last-of-type {
width:90%;
font-size:3.5rem;
gap:40px 0px;
	margin:50px auto 0 auto;
}

div.office-info{
width: 90%;
font-size:3.0rem;
gap:35px 0px;
margin:40px auto 0 auto;
	
}

 div.office:last-of-type span, div.office-info span{
border-bottom:1px #E2E2E2 solid;
padding-bottom: 3px;
letter-spacing:1px;
}

 div.office:last-of-type span b, div.office-info span b{
width:100%;
margin: 0 0px 5px 0;
	text-align:inherit;
text-align-last:inherit;
	letter-spacing: 2px;
	}

 div.office-info span{
padding-bottom: 3px;
letter-spacing:1px;
width: 100%;
}

div.office-info span b{
width:100%;
margin: 0 0px 5px 0;
}


div.office-info span p{
display:inline-block;

	
}

 div.office:last-of-type iframe{
width:100%;
height:250px;
}


.splide__slide img {
 width: 100%;
  height: 100%;
}

.splide__slide {
  opacity: 0.6;
}

.splide__slide.is-active {
  opacity: 1;
}


#thumbnail-carousel,#thumbnail-carousel02{
margin: 20px 0 0 0;
}


#thumbnail-carousel .splide__list,#thumbnail-carousel02 .splide__list{
justify-content: center;
}


.service{
width:100%;
margin:0px auto 50px auto;

}



.service h3{
font-size: 4.5rem;
	letter-spacing:3px;
margin:30px 0 10px 0;
}

.service h3 b{

font-size:6.5rem;

}

	.service h3 br{
display: block;

}
.service div{
width:100%;
flex-flow:wrap-reverse; /* 子要素をrow方向に並べ、逆に折返す*/
justify-content:space-around; 
}
	


	


.service span{
width:260px;
height:260px;
font-size:3.0rem;
letter-spacing:1px;
line-height: 120%;
margin:10px 0 0 0;

}
	
.service span:nth-of-type(1){
order: 3;

}
	
.service span:nth-of-type(2){
order: 1;

}
	
	
.service span:nth-of-type(3){
order: 2;

}
	

.service span ul{
font-size:3.6rem;
font-weight:800;
line-height:160%;
width: 100%;
 bottom:0%;
left:50%;
	
}



.service span h4{
font-size:4.2rem;
width:100%;
line-height:130%;
top:30%;
left:50%;
}


/* **********************  サポート ***********************  */


.support, .support02{
width:90%;
margin:0px auto 50px auto;
padding:100px 0 0 0;

}
	
 .support02{
padding:0px 0 0 0;
}


.support h1{
font-size:5.0rem;
letter-spacing:0px;
margin-left:20px;
line-height: 120%;
}


.support h1::before{
width:20px;
height:20px;
border-radius: 50%;
top:50%;
left:-5%;
}

.support h1 b{
font-size:5.0rem;
font-weight:800;
}


.support h2,.support02 h2{
width: 95%;
font-size:3.5rem;
letter-spacing:0px;
margin:50px 0 0 0; 
padding: 0 0 5px 0px;
}

.support div{
width: 100%;
}


.support div:last-of-type{
font-size:2.2rem;
letter-spacing:1px;
line-height:200%;
}


.support h3{
width: 100%;
font-size:3.2rem;
letter-spacing:1px;
margin:40px auto 0px auto;
}


.support span.support_text{
width:80%;
font-size:3.2rem;
letter-spacing:1px;
margin:10px auto 20px auto;
}

.support ul img{
width:90%;
margin:0 auto 30px auto;
border-radius: 10px;
}

.support ul{
font-size:3.2rem;
margin:30px auto ;
width: 90%;
}

.support ul li{
margin:20px 0;
}

.support ul b{
padding: 3px 0px;
font-size:4.0rem;
border-radius: 10px;
letter-spacing: 1px;
}

.support ul li ul{
width:95%;
margin:20px auto;
}
.support ul li ul li{
margin: 0 0 10px 0;
font-weight:700;
}

.support02 div{
width: 100%;
margin:20px 0 50px 0;
padding:0px 0 20px 0;
}

.support02 span{
width:95%;
font-size:3.0rem;
margin: auto;
letter-spacing:0px;
line-height:230%;
}

.support02 span:first-of-type{
text-align: center;
}

.support02 h3{
font-size:3.5rem;
letter-spacing:1px;
font-weight: 700;
}

.support02 img{
width:80%;
margin:0 auto 10px auto;
border-radius: 10px;
}

.support02 b{
font-size: 3.0rem;
font-weight: 800;
letter-spacing:5px;
padding: 5px 30px;
border-radius:10px;

}

.support02 p{
font-size: 2.8rem;
margin: 10px 0 0 0;
line-height:180%;
}


/* **********************  FAQ ***********************  */


.faq{
width:80%;

padding:100px 0 0 0;
}


.faq h1{
width:100%;

font-size:5.5rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;

}


.faq h1::before{

width:20px;
height:20px;
border-radius: 50%;
 top:50%;
   left:-5%;

}

.qa-list dl {
 
    padding: 15px 40px 15px 10px;
}
.qa-list dl::before {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 0 0 0 30px;
font-size:3.4rem;
letter-spacing: 1px;
}
.qa-list dl dt::before {
    font-size: 18px;
   
}
.qa-list dl dd::before {
 font-size: 18px;
 
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
   font-size:3.4rem;
	letter-spacing: 1px;

}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}



/* ********************** お問い合わせ ***********************  */


.contact{
width:80%;
padding:100px 0 0 0;
}


.contact h1{
width:100%;

font-size:5.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;

}


.contact h1::before{

width:20px;
height:20px;
border-radius: 50%;
 top:50%;
   left:-5%;
  
}




.contact span{
	font-size:3.8rem;
	letter-spacing:1px;
	font-weight: 700;

	margin:80px 0px;

}

.sp_br{
	display: block;
}

.privacy_list {
  display: none;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  z-index: 9999;
}
.privacy-wrap {
  width: 100%;
  height: 100%;
 
  padding: 20px;

}
.privacy-wrap::-webkit-scrollbar {
  display: none;
}

.privacy-wrap:after {

  width: 1px;
  height: 100%;

}
.privacy-bg {
 
  left: 0;
  top: 0;
  
}

.privacy-box {
  width: 100%;
  max-width: 1200px;

}
.privacy-box .inner {

  padding: 50px 20px;

}


.privacy-box .inner > :first-child {
  margin-top: 0;
}

.privacy-box .inner ul{
	width: 90%;
	font-size: 2.8rem;
;
	
}

.privacy-box .inner ul li{
margin-bottom: 30px;
font-weight: 600;
letter-spacing: 3px;

	
}
.privacy-box .inner ul li p{
 font-size: 2.4rem;
line-height: 150%;
margin: 5px 0px 0px 0px;
letter-spacing: 1px;
}

.privacy-close{
width:100%;
	font-size: 3.0rem;
	letter-spacing:8px;
	font-weight:600;
	margin:80px 0 0 0;
}


	 .iframebox{

    width: 100%;
    padding: calc(315 / 80 * 100%) 0 0;
  }
 
	
	


.contact_result p{
	font-size: 2.8rem;
}

.contact_result span{

margin:80px 0 0 0;
border-radius: 50px;
padding:5px 0px;
}
	

.footer_float>div{
	width: 33%;
	
	
}
.footer_float>div a{
	
height: 80px;
	
	margin: 3px 0 0 0;
	font-size: 2.4rem;
	font-weight: 600;
	
	
}


.footer_float>div a span{

	bottom: 0%;
    left: 50%;

	line-height: 110%;
	
}

.footer_float>div a::before{
	
	width: 40px;
	height: 40px;

top: 10%;

}

	
		/* ********************** 就職者インタビュー ***********************  */



.interview{
	width: 95%;
	margin: 50px auto 0 auto;
}

.interview:nth-of-type(2){
	margin: 100px auto 0 auto;
}


.interview h2 small{ 
	
	font-size: 2.0rem;
	letter-spacing:1px;

padding: 0 0 4px 20px;
}


.interview div{
	width: 100%;
	
	
}
	
	
.interview div img{
	width:80%;
	
	
}

.interview_outline{

	margin: 40px auto 0 auto;
	padding: 30PX 3px 10PX 3px;
}

.interview_outline h5{ 

	font-size: 2.6rem;
	letter-spacing:4px;

margin: 30px 0 30px 0;
padding: 3px 0px;
	width: 60%;
	top: -45px;
    left: 50%;
  
}


.interview_outline ol{
	
	width:88%;
	font-size:3.0rem;

}

.interview_outline ol li{

	margin-bottom: 20px;	
}
	
	.interview ul  {
width: 100%;
margin: auto;
}


.interview ul li {
width: 100%;
}



.interview ul li h4{
padding: 5px 0 5px 10px;
font-size:2.4rem;
margin:30px 0 0px 0;
letter-spacing: 1px;
}


.interview ul li span{
font-size:3.0rem;
margin:30px 0 10px 0;
padding: 0 0 3px 20px;
}

.interview ul li span::before{
left: 0;
	top: 0;
}


.interview ul li p{
font-size:2.9rem;
line-height: 200%;
padding:0 0 20px 20px;
}

.interview ul li p::before{
padding: 0 0px 0 0;
font-size:2.2rem;
font-weight: 700;
}
	
	
.interview_link{
flex-direction:column;	
gap:30px 0!important;
margin:3% auto 0 auto;
}

.interview_link a{
width: 80%;
	text-align:center;

	font-size:3.0rem;
	
}
	
}



@media screen and (max-width:375px) {
	 html {
    
     font-size:30%;
   
    }

/* ヘッダー */

header h1{
padding: 10px 20px;
width:30%;
top:10px;

}

	.sp_navi{

padding: 10px 10px;
	 top:0;
	right:0;

}

.sp_switch{

    width: 50px;
    height:50px;

	z-index: 3;
	}

/*ボタン内側*/
.sp_menu span{
  
	 top: 50%;
    left: 50%;
    
	 height: 4px;
	border-radius: 2px;
    width: 60%;
  }



.sp_menu span:nth-of-type(1) {
 top: 30%;
}

.sp_switch:hover span:nth-of-type(1) {
 top: 30%;
}

.sp_menu span:nth-of-type(3) {
  top:70%;
}
.sp_switch:hover span:nth-of-type(3) {
  top:70%;
}

.sp_switch::after{

 bottom:-5px;
  left: 0;
font-size: 2.0rem;
letter-spacing: 2px;
width: 100%!important;


}

.sp_switch.active span:nth-of-type(1) {
    top: 40%;

	 left: 20%;
}

.sp_switch.active span:nth-of-type(2) {
  opacity: 0;
}

.sp_switch.active span:nth-of-type(3){
   top: 63%;
    left:20%;
   
}



.sp_menu_list{

height:100vh;
width:100%;

}




.sp_menu_list nav{
	width: 100%;
	height: 100vh;
	background-color:hsla(0,0%,100%,0.95);
	position: absolute;
	top:0;
	left: 0;
justify-content:center;
flex-direction: column;

}

#menu_img{
	width:100%;
	height: 100vh;

}


#menu_img::after{

top: 0;

opacity: 0;
transition:2s;


}

#menu_img.active::after{
  opacity: 1;

}

.sp_menu_list nav ul{

	margin:70px 0 0 0;
	padding: 0 0 0 0px;
	
}

.sp_menu_list nav ul li{

	font-size:3.0rem;

	letter-spacing:7px;

	margin-bottom:4.5rem;
	
}



.sp_menu_list nav ul li a::after{

	width: 100%;
	height:3px;
	
	 bottom:-25%;
    left: 0%;
 
}



.menu_info{

height: auto;

margin:20px 0px 0px 0px;

}

.menu_info div{
	width:100%;

	margin-bottom: 20px;
	padding-bottom: 20px;
	
}



.menu_info div h2{
	font-size: 3.5rem;
	letter-spacing:1px;
}

.menu_info div h3{
	font-size:3.8rem;
	font-weight:900;

	margin: 10px 0;
}

.menu_info div span{
	font-size: 2.6rem;
margin: 0px 0 20px 0;
	display: none;
}

.menu_info div b{
	font-size: 2.4rem;
letter-spacing:1px;
font-weight:700;
}

.float_work{

right:-30px;
top:150px;
font-size:2.8rem;

padding:20px 10px 20px 10px;
letter-spacing: 3px;

}


.float_work b{
font-size:2.8rem;
padding-bottom: 10px;

}

.float_work:hover{

right:-30px;
}

		/*閉じるボタン*/
.bnr_close {
border-radius: 25px;
box-shadow: 0 0 3px rgb(0, 0, 0, 0.4);
padding: 8px 8px;
left:-10px;
top:-30px;
font-size: 3.0rem;
}
/* トップページ */


.top_sec01{
width:90%;

}

.top_sec01 h1{
width:100%;
font-size: 5.0rem;
}

.top_sec01 h1 b{
	
font-size: 5.0rem;

}

.top_sec01 div{
width:100%;
margin:50px 0 0 0;
}
.top_sec01 div:nth-of-type(1){
	padding: 30px 0 0px 0;
width:100%;
margin:0 0 0 0;
 gap:20px 10px;
}

.top_sec01 div:nth-of-type(1) span{
width:45%;
font-size:3.0rem;
font-weight:700;
letter-spacing: 5px;
}



.top_sec01 div:nth-of-type(1) span:last-of-type{
width:45%;
font-size:3.0rem;
letter-spacing: 3px;
font-weight:800;
}

.top_sec01 div:last-of-type{
font-size:2.8rem;
line-height:200%;
width:90%;
margin:30px auto 0px auto;
}


.top_sec01 div:last-of-type h2{
font-size:3.8rem;
letter-spacing:1px;
font-weight:800;
margin:0px 0 10px 0;
}

	
.top_sec01 div img{
width:90%;
	border-radius: 15px;
}


.top_sec02{
width:98%;
height:70vh;
margin:50px auto;
padding: 80px 0 0px 0px;
animation-timeline: view();

}


.top_sec02::after{

width: 100%;
height:100%;
top: 0;
background-color:rgba(0,0,0,0.4);

 
}
	
	
	
.top_sec02::after{
	
width: 100%;
height: 100%;
top: 0;

background-size: cover;
background-position: center;
}





.top_sec02 h1{
width:95%;
font-size:4.0rem;
margin-bottom: 50px;
z-index:1;
	margin: 0 0 0 30px;
}

.top_sec02 h1 b{
font-size:4.0rem;
}

	


.top_sec02 div{
font-size:3.0rem;
line-height: 200%;
width: 90%;
background-color: hsla(0,0%,100%,0.80);
padding: 20px 30px;
margin:20px auto 0 auto;
}


.top_sec02 div h2{
font-size:3.8rem;
letter-spacing:2px;
margin:0px 0 10px 0;
}


.top_sec02 span{
bottom:3%;
right: 10%;
font-size:3.5rem;
padding: 5px 30px;
}


.top_sec03{
		width:90%;
margin:50px auto;
}

.top_sec03 h1{
	font-size: 5.0rem;
	width:100%;
  writing-mode:horizontal-tb;
	margin-right: 0px;
}


.top_sec03 h1 b{
	
font-size:5.0rem;
font-weight:800;

}

.top_sec03 div{
width:95%!important;
margin:20px auto 0 auto;
font-size: 4.0rem;
}

.top_sec03 div div{
	width:100%!important;
	height:300px;
border-radius:20px ;
}

.top_sec03 div div br{
display: block;
}

.top_sec03 div div:nth-of-type(3){
font-size: 4.0rem;
	letter-spacing:0px;
	font-weight:600;
	border-radius: 0px;
	padding: 20px 0 80px 0;
	text-align: center;
}

.top_sec03 div h2{
font-size: 3.5rem;
padding: 10px 0px;
letter-spacing:2px;
background-color:hsla(0,0%,100%,0.90);}



.top_sec03 span{
bottom: 0%;
	right: 3%;
font-size: 4.0rem;
font-weight:800;
	letter-spacing:0px;
padding: 3px 30px;
	border-radius: 15px;
}


.top_sec04{
width:90%;
margin:50px auto;

}


.top_sec04 h1{
font-size:4.5rem;
letter-spacing:0px;
line-height: 120%;
	
}

.top_sec04 h1 b{
	
font-size:4.5rem;

}

.top_sec04 div{
	
	width: 100%;
	height:200px;
border-radius: 20px;

}



.top_sec04 h2{

font-size: 3.0rem;
line-height: 180%;
margin: 30px auto;
width: 100%;

}

.top_sec04 h2 b{
display: block;
font-size:3.3rem;
padding:3px 0px;
margin:0 auto 20px auto;
letter-spacing:1px;
border-radius: 10px;
width: 80%;
}

.top_sec04 h2 b:first-of-type{

margin:0 auto 20px auto;
}

.staff_link{

	bottom:5%;
	right: 3%;
font-size:3.0rem;
padding: 3px 20px;
border-radius: 15px;
}

/* ********************** フッター***********************  */

footer{
width:90%;
margin:0px auto 0px auto;
padding: 50px 0;
flex-direction: column;
align-items: center;
}


footer div:first-of-type{
width:100%;
}


footer div:first-of-type h1{
width:25%;
}

footer div:first-of-type h1 img{
width:100%;
}
	


footer div:first-of-type div{
width:auto;
font-size:4.0rem;
font-weight: 800;
letter-spacing:1px;
margin:20px 0 0 0px;
display: inline-block;
}

footer div:first-of-type div span{
width: 100%;
margin-bottom:5px;


}

footer div{
		width:50%;
}

footer div h1{
		width:100%;

}

footer div h1 img{
		width:30%;

}

footer address{
	width:100%;
margin-top:30px;
justify-content:center;
}

footer address span{
width:90%;
font-size:3.0rem;
margin: 0 auto 30px auto;
line-height: 150%;
letter-spacing:1px;
}

footer address span:first-of-type{
margin: 0 auto 30px auto;
}


footer div:nth-of-type(2){
		width:100%;
	
}

footer div ul{
border-top: 1px solid #E0E0E0;
width:100%;
margin:0px auto 20px auto;
	align-items:center;
	justify-content: center;
gap:0 10px;
padding: 30px 0 0 0;
}

footer div ul li{
	width:auto;
	font-size:3.0rem;
	margin-bottom:20px;
padding: 0 0 0 10px;

}

footer div ul li::before{
display: none;

}

	

/* **********************  利用について ***********************  */


.works{
width:90%;
margin:0px auto;
padding:100px 0px 0px 0px;
	
}


.openinng_titile{
font-size:5.0rem;
letter-spacing:0px;
margin-left:0px;
line-height: 110%;

}



.openinng_titile b{
font-size:5.0rem;
}


.works01{
width:90%;
margin:50px auto;
}


.works01 h1{
font-size:5.5rem;
letter-spacing:2px;
margin:0 auto 0 50px;
line-height: 120%;
}


.works01 h1::before{
width:20px;
height:20px;
top:50%;
left:-10%;
}



.works05 h1::before{
 left:-5%;
   
}

.works01 h1 b{
font-size: 6.0rem;
}

.works01 div{
width:90%;
margin:20px auto;

}

.works01 h2,.works02 h2,.works03 h2{
font-size:3.5rem;
letter-spacing:0px;
margin:50px 0 0 0; 
padding: 0 0 5px 10px;
}

.works02 h2,.works03 h2{
margin:20px 0 0 0; 
}

.works01 div:first-of-type img{
width:90%;
margin:30px auto 30px auto;
}


.works01 div:first-of-type span{
width:32%;
font-size:2.6rem;
letter-spacing:1px;
padding: 3px 0px;
}

.works01 div:last-of-type{
font-size:2.4rem;
width:100%;
margin: 0px auto 0px auto;
line-height:180%;
 flex-flow: column;
}

	
.works01 div p{
width: 100%;
text-align: center;
}
.works01 div:last-of-type ul{
font-size:3.8rem;
letter-spacing:0px;
margin:40px auto 10px auto;
width:auto;
}

.works01 div:last-of-type ul li{
margin-bottom:10px;

}

.works01 div:last-of-type ul li ul{
font-size: 2.8rem;
letter-spacing: 0px;
margin:5px 0 0px 0;
width: 100%;
}

.works01 div:last-of-type ul li ul li{
margin-bottom:0px;
}

.works01 div:last-of-type ul:nth-of-type(2){
font-size:3.6rem;
margin:0px 0 10px 0;

}


.works01 div:last-of-type ul:nth-of-type(2) li{
margin-bottom:20px;

}

.works01 div:last-of-type ul:nth-of-type(2) li::before{

width: 110%;
height:10px;

top:70%;
left:50%;

}




.works02{
width:95%;
margin:80px auto;
align-items:flex-start;
}


.works02 h1{
font-size: 5.5rem;
letter-spacing:15px;

padding: 50px 0 0 0;

}

.works02 h1::before{
width:20px;
height:20px;
border-radius: 50%;
top:5%;
left:50%;
}


.works02 div{
width:85%;
font-size:2.8rem;
letter-spacing:0px;
line-height:180%;
align-items:center;
}

.works02 div div{
width:90%;
margin:10px auto 0px auto;
}

.works02 div div img{
width:100%;
border-radius: 20px;
}

	
.works02 div div:nth-of-type(1){
order: 1;
}
	
		
.works02 div div:nth-of-type(2){
order: 1;
}

		
.works02 div div:nth-of-type(3){
order: 4;
}

	
.works02 div div:nth-of-type(4){
order: 3;
}
	
	
	
	
.works03{
width:90%;
margin:50px auto;
}


.works03 h1{
font-size:5.5rem;
letter-spacing:3px;
line-height: 120%;
}

.works03 h1::before,.works04 h1::before{
width:20px;
height:20px;
border-radius: 50%;
top:50%;
 left:-7%;
}



.works03 div{
width:100%;}

.works03 div div{
width:90%;
text-align: center;
margin: 20px auto 0 auto;
}


.works03 div div b{
font-size:4.5rem;
letter-spacing:0px;
line-height:160%;
margin:10px auto;
}


.works03 div div small{
font-size:2.8rem;
letter-spacing:0px;
line-height:140%;
margin: 20px auto 0 auto;
}
	
	
.works03 div div small br{
display: none;
}


.works03 div div small::before{
width:30px;
height:30px;
top:0%;
left:-5%;
}

.works03 div div h3{
width: 100%;
margin:10px 0px;
font-size:3.8rem;
}


.works03 div div span{
width:90%;
height:200px;
border-radius:20px;
margin:30px auto 10px auto;
}

.works03 div div:nth-of-type(2){
width:90%!important;
}


.works03 div:nth-of-type(2) h4{
font-size: 3.0rem;
line-height: 150%;
margin: 30px 0 0 0;
text-align: left;
}

.works03 div:nth-of-type(2) p{
font-size:2.8rem;
line-height: 140%;
padding: 10px 0 0 0;
text-align: left;
}


.works03 div:last-of-type{
width: 100%;
}

.works03 table{
width: 100%;
border-collapse: 1px;
font-weight: 500;
font-size:2.4rem;
margin:30px 0 0 0;
}
.works03 table th{
width: 12%;
}

.works03 table td{
width:12%;
font-size:2.2rem;
padding: 10px 0;
line-height:200%;
}



.works04{
		width:90%;
margin:80px auto;
}


.works04 h1{
font-size: 5.5rem;
letter-spacing:3px;
line-height: 120%;


}

.works04 div{
width:100%;
margin:30px 0 0 0;

}

.works04 div span{
width:250px;
height:250px;
font-size:4.0rem;
letter-spacing:1px;
line-height: 120%;
margin: 10px 0 0 0;
}

.works04 div span:nth-of-type(2n){
margin: 10px 0 0 0px;
}	
	
.works04 div span b{
height: 70px;
width: 100%;
bottom:0%;
left:50%;
}



.works04 div span::before{
font-size:5.0rem;
top:40%;
left:50%;
}

	

.works05 div{
width:80%;	
}

.works05 div:last-of-type{
width:95%;	
line-height:200%;
}

.works05  img{
width:90%!important;
border-radius:20px;

}
.works05 h2{
border-bottom: 1px solid #067D25;
margin: 0 0 10px 0;
	font-size:4.0rem;
}

/* **********************  事業所について ***********************  */


.company{
width:90%;
margin:0px auto 50px auto;
}


.company:first-of-type{
padding:100px 0 0 0;
}



.company h1{
font-size:5.5rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
}


.company h1::before{
width:20px;
height:20px;
top:50%;
left:-5%;
}




.company h1 b{
font-size: 5.5rem;
}

.company h2{
font-size:4.0rem;
letter-spacing:2px;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
}


div.office{
width:90%;
margin: 20px auto 0 auto;
	}


 div.office:last-of-type {
width:90%;
font-size:3.5rem;
gap:40px 0px;
	margin:50px auto 0 auto;
}

div.office-info{
width: 90%;
font-size:3.0rem;
gap:35px 0px;
margin:40px auto 0 auto;
	
}

 div.office:last-of-type span, div.office-info span{
border-bottom:1px #E2E2E2 solid;
padding-bottom: 3px;
letter-spacing:1px;
}

 div.office:last-of-type span b, div.office-info span b{
width:100%;
margin: 0 0px 5px 0;

	letter-spacing: 2px;
	}

 div.office-info span{
padding-bottom: 3px;
letter-spacing:1px;
width: 100%;
}

div.office-info span b{
width:100%;
margin: 0 0px 5px 0;
}


div.office-info span p{
display:inline-block;

	
}

 div.office:last-of-type iframe{
width:100%;
height:250px;
}


.splide__slide img {
 width: 100%;
  height: 100%;
}

.splide__slide {
  opacity: 0.6;
}

.splide__slide.is-active {
  opacity: 1;
}


#thumbnail-carousel,#thumbnail-carousel02{
margin: 20px 0 0 0;
}


#thumbnail-carousel .splide__list,#thumbnail-carousel02 .splide__list{
justify-content: center;
}


.service{
width:100%;
margin:0px auto 50px auto;

}



.service h3{
font-size: 4.5rem;
	letter-spacing:3px;
margin:30px 0 10px 0;
}

.service h3 b{

font-size:6.5rem;

}

.service div{
width:100%;
flex-flow:wrap-reverse; /* 子要素をrow方向に並べ、逆に折返す*/
justify-content:space-around; 
}
	


	


.service span{
width:260px;
height:260px;
font-size:3.0rem;
letter-spacing:1px;
line-height: 120%;
margin:10px 0 0 0;

}
	
.service span:nth-of-type(1){
order: 3;

}
	
.service span:nth-of-type(2){
order: 1;

}
	
	
.service span:nth-of-type(3){
order: 2;

}
	

.service span ul{
font-size:3.6rem;
font-weight:800;
line-height:160%;
width: 100%;
 bottom:0%;
left:50%;
	
}



.service span h4{
font-size:4.2rem;
width:100%;
line-height:130%;
top:30%;
left:50%;
}


/* **********************  サポート ***********************  */


.support, .support02{
width:90%;
margin:0px auto 50px auto;
padding:100px 0 0 0;

}
	
 .support02{
padding:0px 0 0 0;
	 
	 margin:0px auto 0px auto;
}


.support h1{
font-size:5.0rem;
letter-spacing:0px;
margin-left:20px;
line-height: 120%;
}


.support h1::before{
width:20px;
height:20px;
border-radius: 50%;
top:50%;
left:-5%;
}

.support h1 b{
font-size:5.0rem;
font-weight:800;
}


.support h2,.support02 h2{
width: 95%;
font-size:3.2rem;
letter-spacing:0px;
margin:50px 0 0 0; 
padding: 0 0 5px 5px;
}

.support div{
width: 100%;
}


.support div:last-of-type{
font-size:2.2rem;
letter-spacing:1px;
line-height:200%;
}


.support h3{
width: 100%;
font-size:3.2rem;
letter-spacing:1px;
margin:40px 0 20px 0;
}


.support span.support_text{
width:90%;
font-size:3.0rem;
letter-spacing:0px;
margin:10px auto 20px auto;
}

.support ul img{
width:90%;
margin:0 auto 30px auto;
border-radius: 10px;
}

.support ul{
font-size:3.0rem;
margin:30px auto ;
width: 90%;
}

.support ul li{
margin:20px 0;
}

.support ul b{
padding: 3px 0px;
font-size:4.0rem;
border-radius: 10px;
letter-spacing: 1px;
}

.support ul li ul{
width:95%;
margin:20px auto;
}
.support ul li ul li{
margin: 0 0 10px 0;
font-weight:700;
}

.support02 div{
width: 100%;
margin:20px 0 50px 0;
padding:0px 0 20px 0;
}
	
	.support02 div:last-of-type{
margin:20px 0 20px 0;
}

.support02 span{
width:95%;
font-size:3.0rem;
margin: auto;
letter-spacing:0px;
line-height:230%;
}

.support02 span:first-of-type{
text-align: center;
}

.support02 h3{
font-size:3.5rem;
letter-spacing:1px;
font-weight: 700;
}

.support02 img{
width:80%;
margin:0 auto 10px auto;
border-radius: 10px;
}

.support02 b{
font-size: 3.0rem;
font-weight: 800;
letter-spacing:5px;
padding: 5px 30px;
border-radius:10px;

}

.support02 p{
font-size: 2.8rem;
margin:10px 0 0 0;
line-height:180%;
}


/* **********************  FAQ ***********************  */


.faq{
width:85%;

padding:100px 0 0 0;
}


.faq h1{
width:100%;

font-size:5.5rem;
letter-spacing:3px;
margin-left:30px;
line-height: 120%;

}


.faq h1::before{

width:20px;
height:20px;
border-radius: 50%;
 top:50%;
   left:-5%;

}

.qa-list dl {
 
    padding: 15px 40px 15px 10px;
}
.qa-list dl::before {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 0 0 0 30px;
font-size:3.4rem;
letter-spacing: 1px;
}
.qa-list dl dt::before {
    font-size: 18px;
   
}
.qa-list dl dd::before {
 font-size: 18px;
 
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
   font-size:3.4rem;
	letter-spacing: 150%;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}



/* ********************** お問い合わせ ***********************  */


.contact{
width:80%;
padding:100px 0 0 0;
}


.contact h1{
width:100%;

font-size:5.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;

}


.contact h1::before{

width:20px;
height:20px;
border-radius: 50%;
 top:50%;
   left:-5%;
  
}




.contact span{
	font-size:3.8rem;
	letter-spacing:1px;
	font-weight: 700;

	margin:80px 0px;

}

.sp_br{
	display: block;
}

.privacy_list {
  display: none;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  z-index: 9999;
}
.privacy-wrap {
  width: 100%;
  height: 100%;
 
  padding: 20px;

}
.privacy-wrap::-webkit-scrollbar {
  display: none;
}

.privacy-wrap:after {

  width: 1px;
  height: 100%;

}
.privacy-bg {
 
  left: 0;
  top: 0;
  
}

.privacy-box {
  width: 100%;
  max-width: 1200px;

}
.privacy-box .inner {

  padding: 50px 20px;

}


.privacy-box .inner > :first-child {
  margin-top: 0;
}

.privacy-box .inner ul{
	width: 90%;
	font-size: 2.8rem;
;
	
}

.privacy-box .inner ul li{
margin-bottom: 30px;
font-weight: 600;
letter-spacing: 3px;

	
}
.privacy-box .inner ul li p{
 font-size: 2.4rem;
line-height: 150%;
margin: 5px 0px 0px 0px;
letter-spacing: 1px;
}

.privacy-close{
width:100%;
	font-size: 3.0rem;
	letter-spacing:8px;
	font-weight:600;
	margin:80px 0 0 0;
}


	 .iframebox{

    width: 100%;
    padding: calc(315 /75 * 100%) 0 0;
  }
	
	
	
}





@media screen and (max-width:320px) {
	
	
.sp_menu_list nav ul li{

	font-size:3.5rem;

	letter-spacing:7px;

	margin-bottom:7.0rem;
	
}

	
.menu_info{

display: none;
}
	
.float_work{
display: none;
}



.top_sec02{

height:80vh;
margin:50px auto;
padding: 80px 0 0px 0px;


}



.top_sec02 h1{

font-size:3.5rem;

}

.top_sec02 h1 b{

font-size:3.5rem;
}



.top_sec02 div{
font-size:3.0rem;
line-height:150%;
}


.top_sec02 div h2{
font-size:3.8rem;
letter-spacing:2px;

}


.top_sec02 span{
bottom:10%;
right: 10%;
font-size:3.5rem;
padding: 5px 20px;
}
	

footer div:first-of-type div{
font-size:3.2rem;
letter-spacing:0px;
margin:20px 0 0 0px;

}
	
	

.works05 h1{
		font-size: 4.5rem;
		letter-spacing: 0;
	} 	
	
	
	
.support h1{
font-size:4.0rem;

}
	
	.support h1 b{
font-size:4.0rem;

}
	
	.support ul{
font-size:2.5rem;

}
	
	 .iframebox{

    width: 100%;
    padding: calc(315 / 70 * 100%) 0 0;
  }
	
}