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


    html {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
      font-weight: 500;
     font-size: 62.5%;
      height: 100%;
      word-break: break-word;
     color:#404040; 
		scroll-behavior: smooth;
    }

    body {

      margin: 0;
box-sizing: border-box;
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

 

    img {
	width:100%;
      border: 0;
      margin: 0;
    }

    figure {
      margin: 0;
    }

    p {
      margin: 0;
      padding: 0;
		color: #393939;
    }

    a {
      text-decoration:none;
      color:#4E4E4E;
		transition: 1s;
    }

 a:hover {
      opacity: 0.8;
    }
    ul,
    ol {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-size: 1.6rem;
      margin: 0;
      padding: 0;
    }

 h1 {
font-family: "m-plus-rounded-2c", sans-serif!important;
font-size: 6.0rem!important;
font-weight:800!important;
font-style: normal!important;
color: #4F4F4F!important;
letter-spacing: 0;
line-height: 130%!important;
padding: 0; 
    }
    input,
    select,
    textarea,
    button {
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      appearance: none;
    }

/* ヘッダー */

header{
	width: 100%;
	position:fixed;
	z-index: 900;
 font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"!important;
      font-weight: 500!important;
     font-size: 62.5%;
}

header h1{
position:absolute;
padding: 10px 20px;
width: 10%;
display: block;
	top:0;
	left: 0;
	z-index:3;
}

.sp_navi{
	position:absolute;
padding: 10px 20px;
	 top:0;
	right:0;

}

.sp_switch{
  position: relative;/*ボタン内側の基点となるためrelativeを指定*/
  cursor: pointer;
    width: 70px;
    height:70px;
text-align: center;
	z-index: 3;
	}


/*ボタン内側*/
.sp_menu span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
	 top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	 height: 4px;
	border-radius: 2px;
  background:#555555;
    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{
content: "メニュー";
position: absolute;
 bottom:-5px;
  left: 0;
font-size: 1.3rem;
font-weight:700;
letter-spacing: 2px;
width: 100%!important;
height: auto;

}

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

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

.sp_switch.active span:nth-of-type(3){
  top: 57%;
    left:20%;
    transform: translateY(-6px) rotate(45deg);
}

.sp_switch.active::after{
content: "閉じる";

}


.sp_menu_list{
opacity: 0;
visibility: hidden;
transition:0.3s ease-in-out;
height:100vh;
width:100%;
z-index: 2;
position: fixed;
display:flex;
flex-wrap: wrap;
	justify-content: center;
}


.sp_menu_list.active{
  opacity: 1;
      visibility: visible;

}

.sp_menu_list nav{
	width: 50%;
	background-color:hsla(0,0%,100%,0.98);
	display: flex;
	flex-wrap:wrap;
	align-items: center;
	justify-content: space-between;
}

#menu_img{
	width: 50%;
	height: 100vh;
	position: relative;
	overflow: hidden;
background-color: #fff;
}


#menu_img::after{
	position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background-image: url("../img/menu01.jpg");
background-size: cover;
opacity: 0;
transition:2s;
transform: scale(1.1);

}

#menu_img.active::after{
  opacity: 1;
transform: scale(1.0);
}

.sp_menu_list nav ul{
	text-align: left;
	width:auto;
	margin: 20px 0 0 0;
	padding: 0 0 0 50px;
	
}

.sp_menu_list nav ul li{
	width:auto;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 10px;
	position: relative;
	margin-bottom:6.5rem;
	position: relative;
}

.sp_menu_list nav ul li a{

	position:relative;
}

.sp_menu_list nav ul li a:hover{
color:#067D25;
opacity: 1;}

.sp_menu_list nav ul li a::after{
	content: "";
	width: 100%;
	height:3px;
	background-color:#067D25;
	position: absolute;
	 bottom:-25%;
    left: 0%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	transform: scale(0, 1);  
transform-origin: left top;
transition: transform 0.8s;
}


.sp_menu_list nav ul li a:hover::after{
	transform: scale(1, 1);  


}
.menu_info{
	width:auto;
	display:flex;
height: 100vh;
justify-content: center;
	flex-direction:column;
margin-right: 80px;

}

.menu_info div{
	width:100%;
	text-align: center;
	margin-bottom: 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid  #D9D9D9;
}

.menu_info div:last-of-type{
	border-bottom: none;
}

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

.menu_info div h3{
	font-size:2.0rem;
	font-weight:900;
	color: #067D25;
	margin: 10px 0;
}

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

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



.float_work{
position:fixed;
right:-10px;
top:200px;
background-color: #067D25;
 writing-mode: vertical-rl;
width:auto;
line-height: 160%;
color: #FFF;
vertical-align: middle;
font-size: 2.5rem;
font-weight:800;
padding: 20px 30px 20px 25px;
letter-spacing: 3px;
transition:0.5s;
border-radius:30px 0% 0% 30px;
z-index: 1;
}


.float_work b{
font-size: 2.5rem;
font-weight:800;
color: #F1FF91;
display: block;
}

.float_work:hover{

right:0px;

}
.float_work a{

color: #fff;
} 

.float_work a:hover{
opacity: 1;
} 


/*閉じるボタン*/
.bnr_close {
    background-color: #fff;
    border: none;
    border-radius: 25px;
    box-shadow: 0 0 7px rgb(0, 0, 0, 0.4);
    color: #777;
    cursor: pointer;
    font-weight: bold;
    padding: 8px 8px;
    position: absolute;
    left:0px;
    top:-30px;
	font-size: 1.5rem;
	z-index: 1;
}
.fa-xmark:before {
    content: "\f00d";
    font-family: "Font Awesome 5 Free";
    font-style: normal;
}

.js_close {
  display: none;
}

/* トップページ */
.opening_amime{
	z-index:900;
	position: fixed;
	width: 100%;
	height: 100%;
	 opacity:1;
	visibility: inherit;
	 display: flex;
  justify-content: center;
  align-items: center;
	background-color: #fff;
	animation: opening_movie 1.0s 1 ease forwards;
	animation-delay:4.1s;
}

.opening_amime img{
	
	
	width:18%;
	
}


@keyframes  opening_movie {
  	100% { 
		opacity:0;
		visibility: hidden;
		}
	
	 0% { 
		 opacity:1;
		}
}

.movie_sp{
	display: none;
}

.video-wrap {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  object-fit: cover;
}


.top_sec01{
		width:80%;
	height: auto;
margin:100px auto;

	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

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

}

.top_sec01 h1 b{
	
font-size: 6.0rem;
font-weight:800;
color: #067D25;
}

.top_sec01 div{
width:50%;
height: auto;
margin: 80px 0 0 0;
}
.top_sec01 div:nth-of-type(1){
	padding: 30px 0 0px 0;
width:45%;
margin:0 0 0 0;
height: auto;
	display: flex;
	flex-wrap: wrap;
 justify-content: center;
  align-items: center;
 gap:20px 10px;
	
}

.top_sec01 div:nth-of-type(1) span{
width:30%;
text-align: center;
font-size:2.4rem;
font-weight:700;
background-color:#FBF235;
border-radius: 10px;
letter-spacing: 5px;
height: auto;

}




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

.top_sec01 div:last-of-type{
font-size:2.0rem;
line-height:280%;
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:nth-of-type(2){
text-align: center;
}
.top_sec01 div img{
width: 90%;
	border-radius: 15px;
}



.top_sec02{
width:98%;
	height: 100vh;
margin:200px auto;
background-color:rgba(0,0,0,0.4);

  display:flex;
  justify-content:flex-end;
  flex-flow: column;
padding: 0 0 30px 0px;
position: relative;
	overflow: hidden;
	 animation: fadeIn linear both;
  animation-timeline: view();
  animation-range: entry 0% cover 45%;
	
border-radius: 20px;
}


.top_sec02::after{
	position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
background-image: url("../img/top_sec02.jpeg");
background-color:rgba(0,0,0,0.4);
background-blend-mode:darken;
background-size: cover;
 
}




@keyframes fadeIn {
  from {
    opacity: 0.2;
    clip-path: inset(20% 10% 20% 10% round 10px );
  }

  to {
    opacity: 1;
    clip-path: inset(0% 0% 0% 0%);
  }
}

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

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


.top_sec02 div{
font-size:2.2rem;
line-height: 280%;
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;
	position: absolute;
	background-color:#F1FF91;
	bottom: 10%;
	right: 5%;
	font-family: "m-plus-rounded-2c", sans-serif;
font-size: 3.2rem;
font-weight:700;
padding: 5px 25px;
	border-radius: 15px;
	transition: 0.5s;
}


.top_sec02 span:hover{
transform: translateY(-5px); 
}


.top_sec03{
		width:80%;
	height: auto;
margin:100px auto;
	display: flex;
	flex-wrap:wrap;
	align-items:flex-start;
justify-content: space-between;
}

.top_sec03 h1{
	
	width:auto;
	
font-size: 5.0rem;
  writing-mode: vertical-rl;
	margin-right: 50px;
}


.top_sec03 h1 b{
	
font-size: 5.0rem;
font-weight:800;
color: #067D25;
}

.top_sec03 div{
	width:88%!important;
	justify-content: space-between;
	display: flex;
	flex-wrap:wrap;
	align-items:center;
}

.top_sec03 div div{
	width:48%!important;
	height:600px;
background-image: url("../img/top_sec03_01.jpg");
background-size: cover;
border-radius: 20px;
	display:flex;
  justify-content:flex-end;
  flex-flow: column;
}

.top_sec03 div div br{
display: none;
}


.top_sec03 div div:nth-of-type(2){
background-image: url("../img/top_sec03_02.jpg");
}

.top_sec03 div div:nth-of-type(3){
	width:100%!important;
	height:auto;
background-image:none;
	font-family: "m-plus-rounded-2c", sans-serif;
font-size: 3.0rem;
	letter-spacing: 10px;
	font-weight:600;
	position: relative;
	border-radius: 0px;
	padding: 20px 0 80px 0;
}

.top_sec03 div h2{
text-align: center;
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{
	
	position: absolute;
	background-color:#F1FF91;
	bottom: 0%;
	right: 0%;
	font-family: "m-plus-rounded-2c", sans-serif;
font-size: 3.0rem;
font-weight:800;
	
	letter-spacing:3px;
padding: 5px 30px;
	border-radius: 15px;
	transition: 0.5s;
}

.top_sec03 span:hover{
transform: translateY(-5px); 
}


.top_sec04{
		width:80%;
	height: auto;
margin:200px auto;
	display: flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content: center;
}


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

.top_sec04 h1 b{
	
font-size: 6.0rem;
font-weight:800;
color: #067D25;
}

.top_sec04 div{
	
	width: 90%;
	height:600px;

background-image: url("../img/top_sec04.jpg");
background-size: cover;
border-radius: 20px;
position: relative;
}




.top_sec04 h2{
text-align: center;
font-size: 3.0rem;
line-height: 180%;
margin: 30px auto;
width: 100%;
}

.top_sec04 h2 b{
background-color:#FBF235;
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{
	position: absolute;
	background-color:#F1FF91;
	bottom:5%;
	right: 3%;
	font-family: "m-plus-rounded-2c", sans-serif;
font-size: 3.5rem;
font-weight:700;
padding: 5px 30px;
	border-radius: 15px;
transition: 0.5s;
}


.staff_link:hover{
transform: translateY(-5px); 
}

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

footer{
		width:100%;
	height: auto;
margin:50px auto;
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	
padding: 50px 30px;
background-color: #FFF!important;
	 font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"!important;
      font-weight: 500!important;
     font-size: 62.5%;
}


footer div:first-of-type{
		width:50%;
text-align: center;
	display: flex;
	flex-wrap:wrap;
	align-items: flex-start;
	justify-content: center;
	padding: 0 0px;
}


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: 2.5rem;
font-weight: 800;
letter-spacing:2px;
margin-left: 20px;
}

footer div:first-of-type div span{
display:block;
width: 100%;
margin-bottom:5px;
text-align: left;
color:#404040; 
}

footer div{
width:45%;
text-align: center;
	
	
}

footer div h1{
		width:100%;

}

footer div h1 img{
		width:30%;

}

footer address{
		width:auto;
display: flex;
	text-align: left;
	flex-wrap:wrap;
	justify-content:space-between;
margin-top:10px;
	color:#404040; 
}

footer address span{
		width:auto;
font-size: 1.2rem;
font-style: normal;
	margin-left:30px;
line-height: 150%;
	color:#404040; 
}

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


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

footer div ul{
	text-align: left;
		width:100%;
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	margin: 20px 0 0 0;
}

footer div ul li{
	width: 33%;
	font-size: 1.5rem;
	margin-bottom:30px;
	position: relative;
}

footer div ul li::before{
content: "";
width: 10%;
height: 1px;
background-color:#A0A0A0;
position: absolute;
 top: 50%;
    left: -15%;
    transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
}

footer small{
	color:#404040; 
	font-size: 1.2rem;
}

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


.works{
		width:80%;
margin:0px auto;
height: auto;
padding:100px 0px 100px 0px;
	display: flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content: center;
overflow: hidden;
}


.openinng_titile{
width:100%;
text-align:center;
font-family:"m-plus-rounded-2c", sans-serif;
font-size:7.0rem;
font-weight:800;
letter-spacing:3px;
margin-left:50px;
line-height: 140%;
	
}

.openinng_titile div{
overflow: hidden;
	
}

.openinng_titile b{
	
font-size: 7.0rem;
font-weight:800;
color: #067D25;
}


.works01{
		width:80%;
	height: auto;
margin:100px auto;
	display: flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content: center;
}


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


.works01 h1::before{
content: "";
width:30px;
height:30px;
border-radius: 50%;
background-color: #067D25;
position: absolute;
 top:50%;
   left:-10%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}



.works05 h1::before{

   left:-5%;
   
}

.works01 h1 b{
	
font-size: 6.0rem;
font-weight:800;
color: #067D25;
}

.works01 div{
width: 45%;

display: flex;
flex-wrap:wrap;
align-items:flex-start;
justify-content:space-between;
text-align: center;

margin: 30px auto;
}

.works01 h2,.works02 h2,.works03 h2{
width: 100%;
font-size:3.0rem;
text-align: left;
letter-spacing: 5px;
font-weight:800;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
border-bottom: 1px solid #C8C8C8;
color: #393939;
}


.works02 h2{

color: #067D25;
}


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


.works01 div:first-of-type span{
width:30%;
text-align: center;
font-size:2.0rem;
font-weight:700;
background-color:#FBF235;
border-radius: 10px;
letter-spacing:2px;
padding: 3px 20px;
height: auto;
}

.works01 div:last-of-type{
font-size:2.0rem;
text-align: left;
letter-spacing:1px;
margin: 30px auto 0px auto;
line-height:200%;
flex-flow: column;
}

.works01 div:last-of-type ul{
font-size: 2.6rem;
letter-spacing:1px;
font-weight:700;
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.0rem;
letter-spacing: 0px;
font-weight:500;
margin:5px 0 0px 0;

}

.works01 div:last-of-type ul li ul li{
list-style: disc;
list-style-position:inside;
margin-bottom:0px;
}

.works01 div:last-of-type ul:nth-of-type(2){
font-size:2.4rem;
letter-spacing:1px;
font-weight:700;
margin:0px 0 10px 0;

}


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

.works01 div:last-of-type ul:nth-of-type(2) li::before{
content: "";
width: 110%;
height:10px;
background-color:rgba(6,125,37,0.30);
position: absolute;
top:70%;
left:50%;
transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}



.works02{
width:80%;
	height: auto;
margin:200px auto;
display: flex;
flex-wrap:wrap;
	 align-items: center;
	justify-content:space-between;
}


.works02 h1{
font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";

width:0;

text-align:center;
font-size: 5.5rem;
letter-spacing:15px;
line-height:120%;
position: relative;
-ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
vertical-align: middle;
}

.works02 h1::before{
content: "";
width:30px;
height:30px;
border-radius: 50%;
background-color: #067D25;
position: absolute;
 top:-10%;
   left:50%;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
}


.works02 div{
width:85%;
font-size:2.0rem;
text-align: left;
letter-spacing:1px;
line-height:200%;
display: flex;
flex-wrap:wrap;
align-items:flex-start;
}

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

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



.works03{
		width:80%;
	height: auto;
margin:100px auto;
	display: flex;
	flex-wrap:wrap;
flex-flow: column;
	align-items:flex-start;
	justify-content: center;
}


.works03 h1{
width:auto;
text-align:right;
font-size: 6.0rem;
letter-spacing:3px;
margin-left: auto;
line-height: 120%;

position: relative;
}

.works03 h1::before,.works04 h1::before{
content: "";
width:30px;
height:30px;
border-radius: 50%;
background-color: #067D25;
position: absolute;
 top:50%;
   left:-5%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}



.works03 div{
width:100%;

display:flex;
flex-wrap:wrap;
align-items:center;
justify-content: space-between;

}

.works03 div div{
width:45%;
text-align:left;

display:flex;
flex-wrap:wrap;
align-items:flex-start;
color:#067D25;
margin: 20px 0 0 0;
}


.works03 div div b{

font-size:3.5rem;
font-weight:800;

letter-spacing:1px;
line-height:160%;

	
}

.works03 div div small{
width:100%;
font-size:1.8rem;
font-weight:600;
text-align: left;
letter-spacing:2px;
line-height:140%;
margin: 20px 0 0 0;
position: relative;
color: #393939;
}

.works03 div div small::before{
content: "※";
width:30px;
height:30px;

position: absolute;
 top:0%;
   left:-3%;

}

.works03 div div h3{
width: 100%;
margin:10px 0px;
font-size:3.0rem;
font-weight:700;
color:#686868;}


.works03 div div span{
width:90%;
height:250px;
border-radius:20px;
background-color:#3A393A;
margin:30px auto 10px auto;
background-image: url("../img/works04.jpg");
background-repeat: no-repeat;
background-size: cover;
}

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


.works03 div:nth-of-type(2) h4{
font-size: 2.5rem;
font-weight:800;
line-height: 140%;
border-bottom: 1px solid #067D25;
color:#067D25;
width:100%;
margin: 30px 0 0 0;
}

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


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

.works03 table{
width: 100%;
border-collapse: 1px;
background-color:#F3F3F3;
text-align: center;
font-weight: 500;
font-size:2.2rem;
margin:30px 0 0 0;
}
.works03 table th{
width: 12%;
background-color:#5C5B5B;
color: #fff;
}

.works03 table td{
width: 12%;
background-color:#fff;
color: #393939;
font-weight: 700;
font-size:2.0rem;
padding: 10px 0;
line-height:200%;
}



.works04{
		width:80%;
	height: auto;
margin:200px auto;
	display: flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content: center;
}


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

}

.works04 div{
width:100%;
margin:50px 0 0 0;
display: flex;
flex-wrap:wrap;
align-items:flex-start;
	justify-content:space-around;
}

.works04 div span{
width:300px;
height:300px;
text-align: center;
border-radius: 50%;
border:10px solid #DFA500;
position: relative;
font-size: 2.6rem;
letter-spacing:2px;
line-height: 120%;
margin: 10px 0 0 0;
}

.works04 div span b{
position: absolute;
height: 70px;
width: 100%;
 bottom:8%;
   left:50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}



.works04 div span::before{
content:"STEP 01";
font-size: 3.0rem;
font-weight: 800;
color:#DFA500;
top:40%;
left:50%;
position:absolute;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}

.works04 div span:nth-of-type(2)::before{
content:"STEP 02";
}
.works04 div span:nth-of-type(3)::before{
content:"STEP 03";
}

.works04 div span:nth-of-type(4)::before{
content:"STEP 04";
}

.works05{
align-items:center;

}
.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;
color:#067D25;
margin: 0 0 20px 0;
}


.works06{

margin:200px auto 0px auto;
	
}
/* **********************  事業所について ***********************  */


.company{
width:80%;
height: auto;
margin:0px auto 50px auto;
display: flex;
flex-wrap:wrap;
align-items: flex-start;
justify-content:space-between;
}


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



.company h1{
width:100%;
text-align:left;
font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
position: relative;
}


.company h1::before{
content: "";
width:30px;
height:30px;
border-radius: 50%;
background-color: #067D25;
position: absolute;
 top:50%;
   left:-2%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}




.company h1 b{
	
font-size: 6.0rem;
font-weight:800;
color: #067D25;
}

.company h2{
width: 100%;
font-size:3.0rem;
text-align: left;
letter-spacing: 5px;
font-weight:800;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
border-bottom: 1px solid #C8C8C8;
color: #393939;
}


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


 div.office:last-of-type {
	width: 48%;
font-size:1.8rem;
display: flex;
justify-content: flex-start;
flex-flow: column; 
gap:30px 0px;
}

div.office-info{
	width: 90%;
font-size:1.7rem;
display: flex;
justify-content: flex-start;
flex-flow: column; 
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;
	width: 100%;
	 b
}

 div.office:last-of-type span b, div.office-info span b{
width:25%;
display: inline-block;
text-align:justify;
text-align-last:justify;

padding: 1px 0px;
	margin: 0 30px 0 0;
float: left;
}

 div.office-info span{

padding-bottom: 3px;
	 letter-spacing:1px;
	width: 100%;
}

div.office-info span b{
width:15%;
display:inline-block;
text-align:justify;
text-align-last:justify;
	margin: 0 30px 0 0;
vertical-align: top;

}


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

	
}

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


.splide__slide img {
 width: 100%;
  height: 100%;
  object-fit: cover;
}

.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:90%;
display: flex;
flex-wrap:wrap;
justify-content:space-between;
align-items:center;
margin:0px auto 50px auto;
}



.service h3{
width:100%;
text-align: center;
color:#5C5C5C;
font-size: 4.0rem;
font-weight:800;
letter-spacing:3px;
margin:30px 0 10px 0;
}

.service h3 b{

color:#DFA500;
font-size:6.0rem;

}

.service h3 br{
display: none;

}

.service div{
width:100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

.service span{
width:280px;
height:280px;
text-align: center;
border-radius: 50%;
border:10px solid #DFA500;
position: relative;
font-size: 2.6rem;
letter-spacing:2px;
line-height: 120%;
margin: 10px 0 0 0;

}

.service span ul{
font-size:2.0rem;
font-weight:800;
line-height:160%;
position: absolute;
width: 100%;
 bottom:0%;
left:50%;
transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	
}



.service span h4{
font-size: 3.0rem;
font-weight: 800;
width: 100%;
color:#DFA500;
top:30%;
left:50%;
position:absolute;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}


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


.support, .support02{
width:80%;
height: auto;
margin:0px auto 50px auto;
display: flex;
flex-wrap:wrap;
align-items: flex-start;
justify-content:space-between;
padding:100px 0 0 0;
}


.support h1{
width:100%;
text-align:left;
font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
position: relative;
}


.support h1::before{
content: "";
width:30px;
height:30px;
border-radius: 50%;
background-color: #067D25;
position: absolute;
 top:50%;
   left:-2%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.support h1 b{
	
font-size: 6.0rem;
font-weight:800;
color: #067D25;
}


.support h2,.support02 h2{
width: 100%;
font-size:3.0rem;
text-align: left;
letter-spacing: 5px;
font-weight:800;
margin:50px 0 0 0; 
padding: 0 0 5px 20px;
border-bottom: 1px solid #C8C8C8;
color: #393939;
}

.support div{
width: 100%;
}


.support div:last-of-type{
font-size:2.2rem;
text-align: center;
letter-spacing:1px;
line-height:200%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}


.support h3{
width: 100%;
font-size:3.8rem;
text-align:center;
letter-spacing:1px;
font-weight:800;
margin:40px 0 20px 0;
color:#656565;}


.support span.support_text{
width: 100%;
font-size:2.8rem;
text-align:center;
letter-spacing:1px;
font-weight:800;
margin:10px 0 20px 0;
}

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

.support ul{
font-size:2.0rem;
margin: 30px 0 ;
width: 48%;
text-align: center;
}

.support ul li{
margin: 10px 0;
text-align: left;
}

.support ul b{
font-size:2.3rem;
font-weight: 800;
position: relative;
background-color: #067D25;
width: 100%;
text-align: center;
display: inline-block;
color: #fff;
border-radius: 10px;
letter-spacing: 2px;
}

.support ul li ul{
width:95%;
margin:20px auto;
}
.support ul li ul li{
list-style-position:inside!important;
list-style: disc;
margin: 0 0 10px 0;
font-weight:700;
}

.support02 div{
	width: 100%;
	margin:20px 0 50px 0;
	padding:0px 0 20px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items:flex-start;
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.0rem;
letter-spacing:2px;
font-weight: 700;
}

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

.support02 b{
font-size: 2.0rem;
font-weight: 800;
letter-spacing:5px;
background-color: #067D25;
color: #fff;
padding: 5px 30px;
border-radius:10px;

}

.support02 p{
	margin: 10px 0 0 0;
}


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


.faq{
width:80%;
height: auto;
margin:0px auto 50px auto;
display: flex;
flex-wrap:wrap;
align-items: flex-start;
justify-content:space-between;
padding:100px 0 0 0;
}


.faq h1{
width:100%;
text-align:left;
font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
position: relative;
}


.faq h1::before{
content: "";
width:30px;
height:30px;
border-radius: 50%;
background-color: #067D25;
position: absolute;
 top:50%;
   left:-2%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}





.qa-list {
   width:100%;
	margin:50px auto 0 auto;
	   
}
.qa-list dl {
    position: relative;
    margin: 0;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
    border-bottom: 1px solid #8E8E8E;
}
.qa-list dl:first-child {
    border-top:none;
}
.qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size:2.2rem;
	color: #;
	letter-spacing: 2px;
}
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #292828;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #8C0D0F;
}
.qa-list dl dd {
    position: relative;

    height: auto;
	font-size:2.2rem;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 768px) {
.qa-list dl {
    position: relative;
    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:2.6rem;
letter-spacing: 1px;
}
.qa-list dl dt::before {
    font-size: 18px;
    top: 3px;
    left: 5px;
    content: 'Q.';
}
.qa-list dl dd::before {
 font-size: 18px;
    top: 5px;
    left: 5px;
    content: 'A.';
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
   font-size:2.6rem;

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





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


.contact{
width:80%;
	height: auto;
margin:0px auto 0px auto;
display: flex;
flex-wrap:wrap;
	 align-items: flex-start;
	justify-content:space-between;
padding:100px 0 0 0;
}


.contact h1{
width:100%;
text-align:left;
font-size: 6.0rem;
letter-spacing:3px;
margin-left:50px;
line-height: 120%;
position: relative;
}


.contact h1::before{
content: "";
width:30px;
height:30px;
border-radius: 50%;
background-color: #067D25;
position: absolute;
 top:50%;
   left:-2%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}




.contact span{
	width: 100%;
	font-size: 2.4rem;
	letter-spacing:2px;
	font-weight: 700;
	color: #6E6E6E;
	text-align: center;
	margin:80px 0px;

}

.contact h4{
	background-color: #C31619;
	display: inline-block;
	padding: 3px 5%;
	margin: 20px 0 0 0;
	color:  #fff;
	border-radius: 30px;
	font-size: 2.0rem;
	font-weight: 600;
	}
.sp_br{
	display: none;
}

.privacy_list {
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
}
.privacy-wrap {
  width: 100%;
  height: 100%;
  text-align: center;
  padding: 20px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
}
.privacy-wrap::-webkit-scrollbar {
  display: none;
}

.privacy-wrap:after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 1px;
  height: 100%;

}
.privacy-bg {
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(51, 51, 51, 0.8);
  width: 100%;
  height: 100%;
}

.privacy-box {
  width: 100%;
  max-width: 1200px;
  display: inline-block;
  vertical-align: middle;
  position: relative;
}
.privacy-box .inner {
  background: #fff;
  padding: 50px 20px;
  text-align: left;
}


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

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

.privacy-box .inner ul li{
margin-bottom: 30px;
font-weight: 600;
letter-spacing: 3px;
color: #2D2D2D;	
	
}
.privacy-box .inner ul li p{
	width: 100%;
	 font-size: 1.3rem;
	line-height: 150%;
	margin: 5px 0px 0px 0px;
	font-weight: 400;
letter-spacing: 1px;
color: #505050;	
}

.privacy-close{
width:100%;
	text-align: center;
	font-size: 1.6rem;
	letter-spacing:8px;
	font-weight:600;
	color: #505050;	
	margin:80px 0 0 0;
}
a.privacy{
	color: #067D25;
	padding: 0 10px;
}

  .iframebox{
    position: relative;
    width: 100%;
    padding: calc(315 / 320 * 100%) 0 0;
  }
  .iframebox iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

.formmailer-embed{
	width: 100%;
}

.contact_result{
	text-align: center;
	margin: auto;
}

.contact_result p{
	font-size: 2.0rem;
	line-height: 200%;
}

.contact_result span{
background-color: #067D25;
	display: inline-block;
margin:100px 0 0 0;
border-radius: 50px;
padding:5px 0px;
}

.contact_result span a{ 
color: #fff;
}

.contact_result span a:hover{ 
color: #F1FF91;
	opacity: 1;
}

.footer_float{
display: none;

}

/* ********************** 就職者インタビュー ***********************  */



.interview{
	width: 100%;
		display: flex;
	flex-wrap: wrap;
	 justify-content:space-between;
  align-items: center;
	margin: 50px 0 0 0;
}

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

.interview h2 { 
	margin: 0;
}



.interview h2 small{ 
	font-weight:600;
	font-size: 2.0rem;
	letter-spacing:2px;
	color: #605F5F;
padding: 0 0 4px 20px;
}


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

.interview_outline h5{ 
	font-weight:700;
	font-size: 2.0rem;
	letter-spacing:4px;
background-color: #067D25;
	position: absolute;
	text-align: center;
margin: 30px 0 30px 0;
	color: #fff;
	padding: 3px 0px;
	width: 60%;
	top: -50px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	border-radius: 30px;;
}


.interview_outline ol{
	
	width:90%;
	font-size: 1.8rem;
	font-weight: 600;
	margin: auto;
	letter-spacing: 1px;
}

.interview_outline ol li{
	list-style-type:disc;
	margin-bottom: 25px;
	
}



.interview ul{
	width: 100%;
 display: flex;
  flex-wrap: wrap;
justify-content:space-between;
margin:50px 0 0 0;
}
.interview ul li {
width: 48%;

}


.interview_titile{
	width:100%!important;
	
}

.interview ul li h4{

background-color: #067D25;
color: #FFF;
font-weight: 600;
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;
font-weight:700;
display: block;
margin:30px 0 10px 0;
border-bottom: 1px solid #DFDFDF;
padding: 0 0 3px 35px;
position: relative;
}

.interview ul li span::before{
content: "Q.";

color: #067D25;
position: absolute;
left: 0;
	top: 0;
}

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

.interview ul li p::before{
content: "A.";
padding: 0 0px 0 0;
position: absolute;
	font-size:2.2rem;
left: 0;
	top: 0;
font-weight: 700;
color:#990F11;
}

.interview_link{
width: 100%;
display:flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
height: auto;	
gap:0 8%;
margin: 10% auto 0 auto;
}

.interview_link a{
display: block;
	color:#067D25;
	font-size: 2.4rem;
	font-weight: 600;
	border: 3px solid #067D25;
	padding: 10px 50px;
overflow:hidden!important;
  position: relative;
  transition-duration: .4s;
background-color: #fff;
border-radius: 40px;
letter-spacing: 2px;
}

.interview_link a:nth-of-type(2){
	color:#fff;
background-color: #067D25;
}

.interview_link a::before {
content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5%;
 width: 0.5em;
height: 0.5em;
  border-top: 3px solid #067D25;    
  border-right: 3px solid #067D25;   
  transform: rotate(45deg);   
	  transition-delay: 0s, .4s;
}

.interview_link a:nth-of-type(2)::before {
  border-top: 3px solid #fff;    
  border-right: 3px solid #fff;   
  
}


.interview_link a::after {
  background: #067D25;
  border-radius: 50%;
  content: "";
  display: block;
  margin: auto;
  opacity: 0;
 
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  padding-top: 100%;
  height: 0;
  z-index: -1;
  transform: translateY(-50%) scale(0.1);
  transition: opacity .5s, transform 0s;
  transition-delay: 0s, .4s;
}

.interview_link a:nth-of-type(2)::after {
  background: #fff;

}


.interview_link a:hover {
  color:#fff;
}
.interview_link a:hover:nth-of-type(2) {
  color:#067D25;
}


.interview_link a:hover::after{
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  transition-delay: 0s;
  transition: opacity .8s, transform .6s ease-in-out;
}

.interview_link a:hover::before {
  
  border-top: 3px solid #FFF;    
  border-right: 3px solid #FFF;   

}

.interview_link a:hover:nth-of-type(2)::before {
  
  border-top: 3px solid #067D25;    
  border-right: 3px solid #067D25;   

}
