@charset "UTF-8";

.rec_menu ul {
	margin-bottom: 10px;
	border-bottom: solid 3px #c8dcc0;
	list-style: none;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
}
.rec_menu ul li {
	margin-right: 5px;
	display: inline-block;
}
.rec_menu ul li.bt_vet {
}
.rec_menu ul li.bt_vn {
}
.rec_menu ul li.bt_vnassist {
}
.rec_menu ul li.bt_trimmer {
}
.rec_menu ul li.bt_front {
}
.rec_menu ul li.bt_form {
	margin-left: auto;
	margin-right: 0;
}
.rec_menu ul li.bt_form span {
	color: #fff;
    margin-left: 5px;
    display: inline-block;
    transform: scale(0.7,1.3);
  }
.rec_menu ul li a {
	font-size: 1.4rem;
	text-decoration: none;
	color: #fff;
	display: block;
	min-width: 5em;
	text-align: center;
	padding: 0.5em;
	background: #7ba45b url("../images/back_greenbar.png") no-repeat -30px 12px;
	background-size: 300px;
	white-space: nowrap;
}
.rec_menu ul li.bt_form a {
	background: #7e655c url("../images/back_greenbar.png") no-repeat -30px 12px;
	background-size: 300px;
}
.rec_menu ul li a:hover {
	color: #7e655c;
	background: #c8dcc0 url("../images/back_greenbar.png") no-repeat -30px 12px;
	background-size: 300px;
}
.rec_menu ul li.select a {
	color: #7e655c;
	background: #c8dcc0 url("../images/back_greenbar.png") no-repeat -30px 12px;
	background-size: 300px;
	cursor: default;
}
.rec_menu ul li a:hover img {
	opacity: 0;
}

article h3.sub_title:first-child {
    margin-top: 40px;
  }

.detail {
	margin: 0 auto 30px;
	max-width: 1020px;
}
.detail table {
	width: 100%;
	background: #f5f5f5;
}
.detail table tr {
}
.detail table th {
	padding: 0.5em;
	display: block;
  background: #cec352;
}
.detail table td {
	padding: 1em 1em;
	font-weight: 500;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	display: block;
}
.detail table td ul {
	margin-left: 1em;
}

.comment {
	max-width: 1020px;
	margin: 50px auto 40px;
      padding: 2.5em 1.5em 1em;
      border: dotted 3px #788b53;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
      position: relative;
  }
  .comment .comment_title {
	  font-size: 1.1em;
	  color: #fff;
	  background: #cec352;
	  padding: 0.5em 1em;
	  position: absolute;
	  top: -1.5em;
	  left: 1em;
  }
  .comment .comment_title:after {
	  content: '';
	  display: block;
	  width: 0;
	  height: 0;
	  border-style: solid;
	  border-right: 6px solid transparent;
	  border-left: 6px solid transparent;
	  border-top: 8px solid #cec352;
	  border-bottom: 0;
	  position: absolute;
	  right: 50%;
	  bottom: -8px;
  }
  .comment > div {
      background-color: #fff;
      background-image: linear-gradient(0deg, #f5f3e1 0%, #f5f3e1 2px, transparent 2px, transparent 100%);
      background-size: 100% 2.5em; /* 行の高さ */
      line-height: 2.5em; /* 文字の高さ */
  }
  .comment > div * {
      line-height: 2.5em;
  }
  .comment > div p {
      margin-bottom: 2.5em;
	  position: relative;
	  z-index: 20;
  }
  .comment > div p:last-child {
      margin-bottom: 0;
  }
.comment::before {
    content: '';
    display: block;
    width: 158px;
    height: 178px;
    position: absolute;
    right: -46px;
    top: -29px;
    background: url("../images/leaf_r1.png") no-repeat right top;
    background-size: 100%;
  }
  .comment:after {
    content: '';
    display: block;
    width: 120px;
    height: 123px;
    position: absolute;
    left: -43px;
    bottom: -31px;
    background: url("../images/leaf_l2.png") no-repeat right top;
    background-size: auto;
    background-size: 100%;
      z-index: -1;
  }    

    
}

@media (min-width: 360px) {
.contact div .contacttel span,
.contact div .contacttel a {
	font: bold 2.4em 'krub', sans-serif;
}
}

@media (min-width: 400px) {
}

@media (min-width: 520px) {
.contact div {
	padding: 10px 80px 10px 10px;
}
.contact div .contacttel span,
.contact div .contacttel a {
	font: bold 3em 'krub', sans-serif;
	background-size: 26px;
	padding-left: 32px;
}
.contact .catimg {
	width: 60px;
}
}

@media (min-width: 768px) {
.rec_menu {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
}
.rec_menu ul:last-child {
	-webkit-box-flex: 1;
	flex-grow: 1;
}
.rec_menu ul li a {
	font-size: 1.6rem;
	min-width: 5em;
	padding: 1em 0.5em;
	background-position: -10px 30px;
}
.rec_menu ul li.bt_form a {
	background-position: -10px 30px;
}
.rec_menu ul li a:hover {
	background-position: -10px 30px;
}
.rec_menu ul li a:hover,
.rec_menu ul li.select a {
	background-position: -10px 30px;
}

article h3.sub_title:first-child {
    margin-top: 50px;
  }

.detail table tr {
}
.detail table th {
	display: table-cell;
	letter-spacing: 0.1em;
	padding: 0.8em;
	width: 200px;
	vertical-align: top;
	border-bottom: solid 1px #b5aaa2;
}
.detail table td {
	display: table-cell;
	padding: 0.8em 2em;
	width: 70%; /*IE9未満とかプレフィックス使ってもだめなブラウザやOS対応*/
	width: -webkit-calc(100% - 200px);/*Chrome19~25対応*/
	width: -moz-calc(100% - 200px);/*Firefox4~15対応*/
	width: calc(100% - 200px);
	border-top: none;
	border-bottom: solid 1px #b5aaa2;
	border-left: solid 1px #fff;
}
.detail table tr:last-child th,
.detail table tr:last-child td {
	border-bottom: none;
}

  .comment {
	  margin-top: 80px;
      padding: 2.5em 2em 1.5em;
      border-width: 4px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
  }
.comment::before {
    right: -47px;
    top: -31px;
  }
  .comment:after {
    width: 143px;
    height: 147px;
    left: -51px;
    bottom: -50px;
  }    
  .comment .comment_title {
	  padding: 0.5em 1.5em;
	  top: -1.5em;
	  left: 1em;
  }

    
}

@media (min-width: 1200px) {
.rec_menu ul li a {
	font-size: 2rem;
	padding: 1em 1.5em;
	background-size: 400px;
	background-position: -10px 36px;
}
.rec_menu ul li.bt_form a {
	background-size: 400px;
	background-position: -10px 36px;
}
.rec_menu ul li a:hover {
	background-size: 400px;
	background-position: -10px 36px;
}
.rec_menu ul li a:hover,
.rec_menu ul li.select a {
	background-size: 400px;
	background-position: -10px 36px;
}

.detail {
	margin-bottom: 40px;
}
.detail table th {
	width: 300px;
}
.detail table td {
	font-size: 1.6rem;
}

  .comment {
	  margin-top: 80px;
  }
}


.recruit{

	.charm_img{
        text-align: center;
        margin: -10px 0 20px;
		@media screen and (min-width: 768px) {
            margin: -20px 0 20px;
        }
		@media screen and (min-width: 1200px) {
            margin: -20px 0 25px;
        }
	}

	& p{ font-size: 15px;
		@media screen and (max-width: 767px) { font-size: 14px;}
	}

	.recruit_wrap{
		max-width: 920px;
		width: 100%;
		margin: 0 auto;
		
		.sub_title{
			color: #977837;
		}
	}
	
	.read{
		text-align: center;
		margin:0 auto 100px;
		@media screen and (max-width: 767px) { margin:0 auto 50px;}

		& img{
			max-width: 100%;
			height:auto;
		}
	}
	.main_visual{
		text-align: center;
		& img{
			max-width: 100%;
			height:auto;
		}
		& video{
			max-width: 100%;
			height:auto;
		}
	}
	
	.main_read{
		font-size: 18px;
	    text-align: center;
	    margin: 60px auto;
	    @media screen and (max-width: 767px) { font-size: 14px; text-align: left; margin: 30px auto;}
	}
	
	.link_set_text{
		font-size: 16px;
	    text-align: center;
	    margin: 0px auto 20px;
	     @media screen and (max-width: 767px) { font-size: 14px; text-align: left;}
	}
	
	.link_set{
		margin: 0 -11px 0 -4px;
		display: flex;
	    flex-wrap: wrap;
	    list-style: none;
        -webkit-box-pack:center;
        -webkit-justify-content:center;
        -ms-flex-pack:center;
        justify-content:center;
	    @media screen and (max-width: 767px) { margin: 0 -8px 0 -2px;}
		& li{
		      width: 33%; /*IE9未満とかプレフィックス使ってもだめなブラウザやOS対応*/
		      widht: -webkit-calc((100% - 22px) / 3);/*Chrome19~25対応*/
		      width: -moz-calc((100% - 22px) / 3);/*Firefox4~15対応*/
		      width: calc((100% - 22px) / 3);  
		      margin: 0 11px 11px 0;
		      max-width: 304px;
			@media screen and (max-width: 767px) {
                margin: 0 11px 5px 0;
                width: 33%; /*IE9未満とかプレフィックス使ってもだめなブラウザやOS対応*/
                widht: -webkit-calc(50% - 11px);/*Chrome19~25対応*/
                width: -moz-calc(50% - 11px);/*Firefox4~15対応*/
                width: calc(50% - 11px);  
            }
		}
		& li:nth-child(3n){
            margin-right: 0;
			@media screen and (max-width: 767px) {
                margin-right: 11px;
            }
		}
		& li:nth-child(2n){
			@media screen and (max-width: 767px) {
                margin-right: 0;
            }
		}
		& li:last-child{
            margin-right: 0;
		}
		& a{
		    -webkit-transition: all .3s;
		    transition: all .3s;
		    display: block;
		}
		& a:hover{
			    -webkit-transform: translateY(-5px);
			    -ms-transform: translateY(-5px);
			    transform: translateY(-5px);
			    opacity: 0.8;
			}
	}
	.point{
		& dt{ font-size: 18px; font-weight: 700; background-color: #ffe78b; color: #977837; padding: 0 10px;
				@media screen and (max-width: 767px) { font-size: 16px;}
			}
		.number{  color: #977837;}
		.number:after{ content:"."; padding: 0 5px 0 0; color: #977837;}
		& dd{ font-size: 15px; margin: 10px auto 20px;
			@media screen and (max-width: 767px) { font-size: 14px;}
		}
	}
	
	.manager_comment{
		display: flex;
		justify-content: space-between;
	    align-items: center;
	    margin: 0 auto 75px;
	    @media screen and (max-width: 767px) {
	    	display: block;
	    }
	    
	    .text_area{ width: 50%;  @media screen and (max-width: 767px) { width: 100%;}}
	    .image_area{ width: 48%;  @media screen and (max-width: 767px) { width: 100%;text-align: center;}}
	}
	
	.miryoku{
	 margin: 0 auto 75px;
	 	& ol{ list-style: none;
	 		  margin: 0 10px 60px;
	 		& li{ 
					position: relative;
			        padding: 0 0 0 40px;
			        margin: 10px 0 30px;
			        font-size: 16px;
			        @media screen and (max-width: 767px) { font-size: 14px;}
	 			& span{
	 				  position: absolute;
			          top: 0;
			          left: 0;
			          background: #ffe996;
			          display: block;
			          width: 30px;
			          text-align: center;
			          height: 30px;
			          border-radius: 50%;
			          color: #977837;
			          font-weight: 700;
			          @media screen and (max-width: 767px) { font-size: 16px;}
	 			}
	 		}
	 		
	 	}
		& ul{ list-style: none;
			& li{
					position: relative;
			        font-size: 15px;
			        padding: 0 0 0 20px;
			        margin:0 0 5px;
			         @media screen and (max-width: 767px) { font-size: 14px;}
			}
			& li:before{
					  content:"";
	 				  position: absolute;
			          top: 8px;
			          left: 5px;
			          background: #ffe996;
			          display: block;
			          width: 10px;
			          text-align: center;
			          height: 10px;
			          border-radius: 50%;
			}
		}


		& h4{
			  font-size: 18px;
		      border-bottom: 3px solid #ffe996;
		      padding: 0 10px;
		      margin: 30px 0 10px;
		      color: #a1854a;
		      @media screen and (max-width: 767px) { font-size: 16px;}
		}
	}
	
	
	.year_plan{
		margin: 30px auto 0;
        padding-bottom: 20px;
        position: relative;
		      @media screen and (max-width: 1199px) {
                  padding-bottom: 80px;
		      }
		      @media screen and (max-width: 767px) {
                  padding-bottom: 60px;
		      }
		& dl{ 
			display: flex;
			display: -ms-flexbox; /* IE10 */
			display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
			display: -webkit-flex; /* Safari6.1以降 */
		      @media screen and (max-width: 767px) {
                  display: block;
		      }
			}
		& dt{ 
			width: 90px; 
			height: 33px; 
			background-color: #ffe78b;
			color: #977837;
			text-align: center;
			font-size: 18px;
			margin: 0 35px 10px 0;
            flex-shrink: 0;
		      @media screen and (max-width: 1199px) {
                  font-size: 16px;
                  width: 75px; 
                  height: 30px; 
                  margin: 0 25px 10px 0;
		      }
		      @media screen and (max-width: 767px) {
                  font-size: 14px;
                  height: 26px; 
                  margin: 0 0 7px;
		      }
			}
		& dd{
			font-size: 22px;
			font-weight: 700;
            margin-top: -7px;
		      @media screen and (max-width: 1199px) {
                  font-size: 20px;
                  margin-top: -4px;
		      }
		      @media screen and (max-width: 767px) {
                  font-size: 16px;
                  margin-top: 0;
		      }
			& span{
				display: block;
				font-size: 15px;
				font-weight: 300;
				margin: 10px 0 30px;
		      @media screen and (max-width: 1199px) {
                  font-size: 14px;
                  margin: 5px 0 20px;
		      }
		      @media screen and (max-width: 767px) {
                  margin: 3px 0 20px;
		      }
			}
		}
		& .plan_img{
            position: absolute;
            right: -25px;
            bottom: 0px;
            z-index: -1;
		      @media screen and (max-width: 1199px) {
                  width: 140px;
		      }
		      @media screen and (max-width: 767px) {
                  width: 120px;
                  right: -10px;
		      }
			}
	}
	
	.ichinichi{
		margin: 0 auto 50px;
        position: relative;
		& dl{ 
			display: flex;
			flex-wrap: wrap;
	  		justify-content: space-between;
	  		margin: 0 auto 30px;
            position: relative;
	  		
			& dt{
				width: 100px; 
				height: 35px; 
				background-color: #87ac6b;
				color: #ffffff;
				text-align: center;
				font-size: 20px;
				margin: 0 0 10px;
				@media screen and (max-width: 767px) { width: 70px; font-size: 18px; height: 33px;}
			}
			& dd{
				width: calc( 100% - 130px );
				color: #8a746b;
				font-size: 18px;
				font-weight: 700;
				@media screen and (max-width: 767px) {width: calc( 100% - 80px ); font-size: 16px;}
				@media screen and (max-width: 1199px) {width: calc( 100% - 120px );}
				
				& p{
					font-weight: 300;
					font-size: 15px;
					margin: 10px 0 0;
					line-height: 2;
					@media screen and (max-width: 767px) { font-size: 14px; }
					.bold{
						font-weight: 700;
					}
				}
				
			}
		}
			
	}
	
	.ichinichi > div {
        background: url("../recruit/images/flow_back2.jpg") repeat-y left top;
        background-size: 100%;
        padding: 14.2% 15px 20px 16%;
        position: relative;
        @media screen and (min-width: 768px) {
           padding: 14.2% 25px 20px 18%;
        }
    }
	}
.recruit .main_visual video {
		max-width: 100%;
        height:auto;
	}
	
    
	.ichinichi > div:before {
        content: '';
        display: block;
        width: 100%;
        padding-top: 14.2%;
        background: url("../recruit/images/flow_back1.jpg") no-repeat left top;
        background-size: cover;
        position: absolute;
        left: 0px;
        top: 0px;
	}
	
	.ichinichi:after {
        content: '';
        display: block;
        width: 100%;
        padding-top: 24.7%;
        background: url("../recruit/images/flow_back3.png") no-repeat left bottom;
        background-size: cover;
        margin-top: -45px;
        position: relative;
			@media screen and (max-width: 767px) {
				margin-top: -35px;
			}
	}
	
	.ichinichi:before {
        content: '';
        display: block;
        width: 100%;
        height: 98%;
        background: url("../recruit/images/flow_back4.jpg") no-repeat right bottom;
        background-size: cover;
        position: absolute;
        right: -195px;
        bottom: 20px;
			@media screen and (max-width: 1199px) {
                height: 100%;
                right: -180px;
                bottom: 10px;
			}
			@media screen and (max-width: 767px) {
				content: none;
                background: none;
			}
	}
@media (max-width: 767px) {
.ichinichi:before {
	content: none;
	background: none;
}
}
	
	#content article.recruit2 {
        max-width: none;
        background: url("../recruit/images/event_back.jpg") no-repeat center 30%;
        background-size: cover;
        margin: -130px auto 110px;
        padding-top: 60px;
        padding-bottom: 60px;
			@media screen and (max-width: 1199px) {
                margin: -90px auto 0px;
                padding-top: 40px;
                padding-bottom: 40px;
			}
			@media screen and (max-width: 767px) {
				margin: -60px auto -30px;
                padding-top: 30px;
                padding-bottom: 30px;
				.event_photo_wrap{ margin: auto;}
			}
	}
	
	.event_photo{
        text-align: center;
		margin: 0 auto;
		.pc{ display: inline;}
		.sp{ display: none;}
			@media screen and (max-width: 767px) {
				.pc{ display: none;}
				.sp{ display: inline;}
			}
		
		& img{
			max-width: 100%;
			height:auto;
		}
	}
	
	
	.plan_calendar{
		margin: 30px auto 60px;
		.calendar_title{
			font-size: 18px;
			@media screen and (max-width: 767px) { font-size: 16px; }
		}
		
		.dl_set{
			display: table;
			width: 100%;
		}
		
		& dl{ 
			display: table-row;
			
	  	 	
			& dt{
				display: table-cell;
				width: 90px; 
				padding: 5px;
				background-color: #8a746b;
				color: #ffffff;
				text-align: center;
				font-size: 18px;
				border-bottom: 10px solid #ffffff;
				border-right:  10px solid #ffffff;
				vertical-align: middle;
				@media screen and (max-width: 767px) { font-size: 14px; }
			}
			& dd{
				display: table-cell;
				vertical-align: middle;
				width: calc( 100% - 90px );
				background-color: #ddd5d2;
				font-size: 16px;
				line-height: 1;
				padding: 10px 15px;
				border-bottom: 10px solid #ffffff;
				@media screen and (max-width: 767px) { font-size: 14px; }

				.small{
					font-size: 14px;
					display: block;
				}
			}
		}
		& dl:nth-child(even) dd{ background-color: #f8f2ef; }
	}

	.career_plan{
		display: flex;
		justify-content: space-between;
	    align-items: center;
	    @media screen and (max-width: 767px) {
	    	display: block;
	    }
	    .photo_area{
	    	margin: 20px auto 20px 20px;
            flex-shrink: 0;
            width: 440px;
            max-width: 50%;
	    @media screen and (max-width: 767px) {
	    	margin: 20px auto;
            width: auto;
            max-width: none;
	    }
	    }
		.text_area li {
            font-size: 15px;
            padding-left: 1em;
            text-indent: -1em;
            list-style: none;
	    @media screen and (max-width: 767px) {
            font-size: 14px;
	    }
		}
		.board{
			background-color: #e7e0dd;
			padding: 10px;
			line-height: 1;
			margin: 0 0 15px;
			.main_text{
				font-size: 18px;
				font-weight: 700;
				display: block;
			}
			.sub_text{
				display: block;
			}
		}
	}

	.entryfrom_link{
		text-align: center;
		margin: 50px auto;
		.pc{ display: inline;}
		.sp{ display: none;}
			@media screen and (max-width: 767px) {
				.pc{ display: none;}
				.sp{ display: inline;}
			}

	}

.type_icon {
    font-size: 1.2rem;
    display: inline-block;
	  width: 36px;
	  height: 36px;
	  background-color: #74add5;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	  line-height: 36px;
    text-align: center;
    margin: 0 10px 5px 0;
}

.type_icon i{
	font-family: 'メイリオ', 'Meiryo', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-style: normal;
		color: #fff;
}

.type_icon02{
	  background-color: #86c29b;
}

.type_icon03{
	  background-color: #ee9a5f;
}

.type_icon04{
	  background-color: #e8859a;
}

.type_icon05{
	  background-color: #6a5acd;
    letter-spacing: -0.05em;
}
