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

/*=========================================== 
スマホ向けのレイアウトの指定：～768px 
===========================================*/
@media only screen and (min-width: 0px) {

body{
	overflow-x: hidden;
}
	
#container{
	width:100%;
	margin:0 auto;
	overflow: hidden;
}

#wrapper{
	width:100%;
	margin:0 auto;
	padding: 0;
}


/*メインビジュアル*/
.index_mv{
	width: 100%;
	margin: 0 auto;
  position: relative;
}
.index_mv .message p{
	width: 60%;
	position: absolute;
	top: 40%;
	left: 5%;
  transform: translateY(-50%);
	z-index: 10;
}

.index_mv .message img{
	width: 100%;
	height: auto;
  filter: drop-shadow(0 0 6px rgb(26,128,92));
}

#sp-slider{
	display: block;
}

#pc-slider{
	display: none;
}

.slider{
	width: 100%;
}
.slider_wrap{position:relative;}
.slider_wrap::before {
    content:"";
    background-image: url("../images/index_mv_wrap_sp.png");
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
}
ul.slider li{
	margin: 0 auto;
}

.slider img{
	width: 100%;
	height: auto;
	max-height: 500px;
	object-fit: cover;
}

.float_box{
	width: 100%;
	margin: 40px auto;
}

/*新着情報*/
.news{
	width: 90%;
    margin: 60px auto;
    max-width: 1040px;
}

.news .head_box{
	margin: 0 0 20px 0;
}

.news .head_box .heading{
	font-size: 26px;
	font-size: 2.6em;
	font-weight: bold;
	letter-spacing: 0.16em;
	color: rgb(26,128,92);
	float: left;
}

.news .head_box .heading .small{
	margin: 6px 0 0 10px;
	font-size: 20px;
	font-size: 2rem;
	letter-spacing: 0;
	font-family: 'Lato', sans-serif;
	color: rgb(200,200,200);
	float: right;
}

.news .head_box .btn{
  margin: 6px 0 0 0;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.10em;
  font-family: 'Lato', sans-serif;
  float: right;
  padding: 0 5px 5px;
  border-bottom: 3px solid rgb(26,128,92);
  }

.news .head_box .btn a{
	color: rgb(26,128,92);
}

.news .head_box .btn img{
	margin: 0 0 1px 2px;
}

.news .news_box{
	box-sizing: border-box;
	background: rgb(255,255,255);
}

.news .content{
	height: 144px;
	overflow-y: auto;
}

.news dl{
	width: 100%;
	margin: 0 auto 16px;
	display: table;
}

.news dl dt{
	width: auto;
	padding: 0 0 4px 0;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.20em;
	font-family: 'Lato', sans-serif;
}

.news dl dd{
	box-sizing: border-box;
	padding: 0 0 0 0;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: 0.20em;
}

.news a{
	color: rgb(50,50,50);
	display: block;
}

/*事業内容*/
.job{
	width: 100%;
	margin: 0 auto;
	text-align: left;
	position: relative;
}

.job h2.heading{
  width: 100%;
  padding: 16px 12px;
  background: rgb(26,128,92);
  color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.5em;
  box-sizing: border-box;
  text-align: center;
}
/*.job h2.heading::after{
    content:"";
    height: 15px;
    width: 230px;
    border-left: 3px solid rgb(26,128,92);
    border-bottom: 3px solid rgb(26,128,92);
    transform: skew(-45deg, 0deg) rotate(90deg);
    display:block;
    position: absolute;
    top:30px;
    right: 40px;
  }*/
.job_inner{
	width: 90%;
	margin: 0 auto;
  padding: 40px 0;
  text-align: left;
}
.job p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-shadow: 0 0 #fff;
}
  
.job .title{
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
  color: rgb(26,128,92);
	text-align: center;
	letter-spacing: 0.20em;
  margin-bottom: 20px;
  display: inline-block;
}

/*下線をつける*/
.job .title::after{
  content: " ";
  display: block;
  border-bottom: 3px solid rgb(228,216,80);
  width: 100%;
  margin: 5px auto 0;
  float: left;
}
  
.job .thumbnail{margin: 40px auto;}
.job .thumbnail img {
    width: 100%;
    height: auto;
}
.job-01,.job-02{
	margin: 0 auto 0;
	background-size: cover;
}
.job-02 .title::after{
  border-color: rgb(255,109,152);
}
.job-02 .title .small_pc{
	display: none;
}

.job-02 .btn_sp{
	background: rgb(101,128,158);
}


.job button{
  width: 100%;
  max-width: 360px;
  font-size: 16px;
  font-size: 1.6rem;
  border: none;
  background-color: rgb(26,128,92);
  color: #fff;
  box-shadow: 4px 4px 0 rgb(44,84,91);
  letter-spacing: 0.2em;
  margin: 20px auto 0;
  padding: 6px 0;
  display: block;
}
.job button i{color: rgb(228,216,80);}
.job button span.small {
    font-size: 10px;
    line-height: 10px;
}
}


/*=========================================== 
スマホ向けのレイアウトの指定：480px〜
===========================================*/
@media only screen and (min-width: 481px) {

.job .btn_sp{
	font-size: 25px;
	font-size: 2.5rem;
}

.job .btn_sp a{
	padding: 30% 0;
}
}


/*=========================================== 
PC向けのレイアウトの指定：768px〜
===========================================*/
@media only screen and (min-width: 769px) {

#container{
	width:100vw;
}


/*メインビジュアル*/
.index_mv{
	width: 100vw;
}

.index_mv .message{
	width: auto;
	max-width: 1040px;
}

.index_mv .message p{
  max-width: 510px;
  top: 50%;
  left: 10%;
}
#sp-slider{
	display: none;
}

#pc-slider{
	margin: 0 auto;
	display: block;
}

.slider{
	width: 100vw;
}
.slider_wrap::before {background-image: url("../images/index_mv_wrap_pc.png");}

.slider img{
	height: 614px;
	max-height: none;
}

.float_box{
	width: auto;
	max-width: 940px;
	margin: 40px auto 48px;
	padding: 0 10px;
}

/*新着情報*/
	
.news a:hover{
	opacity:0.8;
	filter:alpha(opacity=80); /* IE 6,7*/
	-ms-filter: "alpha(opacity=80)"; /* IE 8,9 */
	-moz-opacity:0.8; /* FF , Netscape */
	-khtml-opacity: 0.8; /* Safari 1.x */
	zoom:1; /*IE*/
}
	
.news .content{
	height: 124px;
}
	
.news dl{
	display: table;
}

.news dl dt{
	width: 228px;
	display: table-cell;
}
	
.news dl dd{
	display: table-cell;
    padding: 0 0 0 0;
}

/*仕事*/
.job{position: relative;}
.job h2.heading{
  padding: 6px 0 6px 12px;
  line-height: 1;
  display: inline;
  margin-left: 5%;
}
.arrow{
  position: relative;
  left: 7%;
}
.arrow::before{
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 11px;
  width: 3px;
  height: 230px;
  background: rgb(26,128,92);
}
.arrow::after{
  content: "";
  display: block;
  position: absolute;
  top: 202px;
  left: 1px;
  width: 20px;
  height: 20px;
  border: 3px solid;
  border-color: transparent transparent transparent rgb(26,128,92);
  transform: rotate(-45deg);
}
  .job-01,.job-02{
    background-repeat: no-repeat;
    background-size: cover;
    padding: 0 6vw;
  }
  .job-01{
    background-image: url("../images/index_bg_01.jpg");
    background-position: top right;
  }
  .job-02{
    background-image: url("../images/index_bg_02.jpg");
    background-position: top left;
  }
  .job .title,.job p{
    line-height: 2;
    margin-bottom: 20px;
    text-shadow: 0 0 5px #fff;
  }
.job_inner{
	max-width: 1040px;
  padding: 80px 20px;
}
.job-02 .job_inner{text-align: end;}
.job .title{
  line-height: 1.5;
	font-size: 34px;
	font-size: 3.4rem;
  margin-bottom: 40px;
}

/*下線をつける*/
.job .title::after{
  content: " ";
  display: block;
  margin: 10px 0 0;
}

.job-01{
	margin: 0 auto 0;
}

.job-02 .title{
	text-align: right;
}
.job-02 .title::after{
  float: right;
}
.job-02 .title .small{
	margin: 0 32px 0 0;
}
.job button{
  display: inline;
}

}



/*=========================================== 
PC向けのレイアウトの指定：1440px〜
===========================================*/
@media only screen and (min-width: 1441px) {

.slider img{
	height: 688px;
}
}