@charset "utf-8";
body {
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-family: 'Noto Serif JP', serif;
	color: #333333;
	box-sizing: border-box;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	overflow-x: hidden;
	word-break: break-all;
}
.header {
    height: 100vh;
    overflow: hidden;
}

* {
	box-sizing: border-box;
}
.ca-pro{
	margin-right: 3.7%;
}
.ca-pro:nth-child(3n){
	margin-right: 0;
}

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

img {
	max-width: 100%;
}

a:hover, a:focus, a:visited {
	outline: none;
	border: none;
}
.menu-r *{
	opacity: 1 !important;
}

a {
	text-decoration: none;
	color: inherit
}
a:hover {
	opacity: 0.7 !important;
	cursor: pointer;
	
}
.btnSubmit:hover{
	opacity: 0.7 !important;
	cursor: pointer;
	
}
.menu-r ul li a.active{
	color: #7B9E21;
}

.clear {
	clear: both;
}

a[href^="tel:"] {
	cursor: default;
}

a[href^="tel:"]:hover{
	text-decoration: none;
}

.ow{
	width:100%;
	overflow:hidden;
}
br{
	font-size: 0;
}
.flex-hd{
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
align-items: stretch;
position: relative;
	
}
.txt-l{
	padding-left: 5.556vw;
    margin-right: auto;
    width: 26.67%;
    /* padding-top: 11.611vw; */
    height: calc(100vh - 23px );
	position: relative;
	z-index: 1;
}

.txt-l .all_txt{
	position: absolute;
    z-index: 2;
    /* top: 10%; */
    width: 90vw;
    max-width: 1700px;
    bottom: 13.8%;
}


.txt-slide{
	font-family: 'Noto Serif JP', serif;
	font-size: 45px;
	color: white;
	letter-spacing: 1px;
	bottom: 16.167vw;
	font-weight: bold;
	text-shadow: 0px 0px 5px rgba(85,30,10,0.75);
	width: 100%;
	/* margin-top: 270px; */
	display: block;
	margin-top: 15.85%;
}
/*.logo-menu img{
	width: 100%;
	padding-left: 100px;
	padding-right: 100px;
}*/

.txt-slide2 {
    font-size: 16px;
}

.img-r{
	width: 73.33%;
	justify-content: flex-end;
    padding-right: 23px;
	align-items: center;
	padding-top: 23px;
	padding-bottom: 23px;
}
.img-r img{
	width: 100%;
	height: calc(100vh - 46px);
	object-fit: cover;
	
}

.fb-icon img {
    width: 40px;
/*
    position: relative;
    top: -10px;
*/
    margin-top: -10px;
}

.fa-instagram {
    font-size: 32px;
    margin-top: -6px;
}


@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.img-r .bg_ie{
		background-image: url('../img/slide1.png');
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}
	.img-r img{
		opacity: 0;
	}
 }
.txt-l span img{
	padding-top: 30px;
}
.scroll{
	position: absolute;
	bottom: 2.111vw;
	left: calc(50% - 35px);
}
.menu{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 100px;
}
.menu.menu_add01.menu_fixed{
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
}
.menu-flex{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	height: 100px;
}
.logo-h{
	z-index: 1;
}
.menu-flex .logo-menu {
	width: 27.167%;
	text-align: center;
}
.menu-flex .menu-r {
	width: 72.833%;
    margin-top: 15px;
}

.menu-r ul {
	display: flex;
	
}
.menu-r ul li {
	color: white;
	font-family: 'Noto Serif JP', serif;
	font-size: 18px;
/*	padding-right: 5.278vw;*/
    padding-right: 4.278vw;
	
}
	.menu-r ul li:last-child {
	
	padding-right: 0
	

}
.tel-num{
	padding-left: 12px;
}

/* content */
.cont{
	max-width: 1298px;
	width: 100%;
	margin: auto;
}
.content1{
	padding-top: 85px;
	padding-bottom: 100px;
	
}
.tt-cont1{
	text-align: center;
	padding-bottom: 65px;
    letter-spacing: 3px;
}
.style-1{
	color: #333333;
	font-size: 25px;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	line-height: 200%;

}
.style-2{
	color: #333333;
	font-size: 22px;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	line-height: 182%;

}
.flex-cont1{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}
.cont1-l{
	width: 50.07%;
}
.cont2-flex{
	max-width: 1800px;
	width: 100%;
	display: block;
    margin-left: auto;
    margin-right: auto;
}
.cont1-r{
	padding-left: 3.889vw;
	width: 49.93%;
	align-items: center;
	padding-top: 20px;
	font-size: 15px;
	font-family: 'Noto Serif JP', serif;
/*	line-height: 1.53;*/
    line-height: 2;
	word-break: break-all;
}
.cont2{
	padding-top: 142px;
}
.tt-cont2{
	text-align: center;
	line-height: 2;
	padding-bottom: 87px;
}
.flex{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap:nowrap;
	align-items: center;
}
.cont2-l{
	width: 50%;
		
}
.cont2-r{
	width: 50%;
	position: relative;

}
.img-ab{
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	transform: translate(-50% ,-50%);
}
.txt-b{
	padding-bottom: 32px;
	line-height: 182%;
	max-width: 445px;
	width: 100%;
	display: block;	
	margin-left: auto;
	margin-right: auto;
	
}
.menu-sp{
	display: none;
}
.txt-me{
	font-size: 15px;
	font-family: 'Noto Serif JP', serif;
	line-height: 153%;
	max-width: 445px;
	width: 100%;
	display: block;	
	margin-left: auto;
	margin-right: auto;
    letter-spacing: 5px;
}
.btn-1{
	text-align: center;
}
.btn-1 a{
	display: inline-block;
}
.btn-1 img{
	max-width: 300px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	display: block;
	padding-top: 54px;
}
.ft{
	text-align: center;
	margin-top: 6.278vw;
}
.logo{
	padding-top: 8.722vw;
	padding-bottom: 90px;
}
.txt-ft span{
	display: block;
	padding-bottom: 23px;
}
.copy-r{
	color: white;
	margin-top: 8.667vw;
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 12px;
}
.scrolltop{
    position: fixed;
    right: 58px;
    bottom: 126px;
    z-index: 999;
    border: none;
    background: none;
	cursor: pointer;
	outline: none;
}
 .phone-sp {
        display: none;
	}
	
	/* product */
	.logo-pro{

	
		width: 26.67%;

		

	}
	.logo-pro>a>img{
		max-width: 157px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		display: flex;
		justify-content: center;
	}

    .logo-text {
        font-size: 38px;
        font-weight: bold;
        letter-spacing: 1px;
        display: flex;
        justify-content: center;
        margin-top: 40px;
    }

	.flex-hd-pro{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	
	}
	.img-onslide{
		position: absolute;
		z-index: 2;
		top: 50%;
		left: 50%;
		transform: translate(-50% ,-50%);
	}
	.img-pro-r{
		position: relative;
		width: 73.33%;
    	justify-content: flex-end;
		padding-right: 1.278vw;
	
    	align-items: center;
		margin-top: 1.278vw;
		display: flex;
		flex-wrap: wrap;
		
    	
	}
	.cont1-pro{
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-top: 100px;
	}
	.item{
		width: 33.33;
		margin-bottom: 25px;
	}
/*
	.item:nth-last-child(1), .item:nth-last-child(2), .item:nth-last-child(3){
		margin-bottom: 0;
	}
*/
	.cont1-pro2{
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		margin-top: 50px;
	}
	.btn-pro{
		max-width: 300px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		display: block;
		padding-top: 60px;
	}
	.pro1{
		padding-top: 190px;
	}
	.ft-tc{
		text-align: center;
		margin-top: 8.333vw;
	}
	/* about */
	.ab-v{
		border: #7B9E21 1px solid;
	}
	.cont-1300{
		max-width: 1300px;
		max-width: 100%;
	}
	.ab-l{
	
		width: 41.66%;
		
	}
	.pa-ab{
	padding: 50px;
	}
	.ab-r{
		width: 50%;
		margin-left: 8.34%;
	}
	.ab-tt{
		font-size: 25px;
		font-weight: bold;
		font-family: 'Noto Serif JP', serif;
		margin-top: 2.778vw;
		margin-bottom: 1.667vw;
	}
	.next-ab{
		text-align: center;
		margin-bottom: 3.333vw;
		margin-top: -1px;
	}

	.txt-ab{
		line-height: 1.5;
        letter-spacing: 5px;
		
	}
	.stt{
		font-size: 40px;
	}
	.btn-ab{
	max-width: 300px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block;
    padding-top: 150px;
}
/* company */
.txt-co{
	max-width: 134.4px;
	width: 100%;
}
.co-l{
	width: 38.46%;
	position: relative;
}
.co-r{
	width: 53.84%;
	margin-left: 7.7%;
	line-height: 1.43;
	margin-top: 1.111vw;
    letter-spacing: 5px;
}
.txton-01{
	position: absolute;
	max-width: 84px;
	z-index: 2;
    top: 50%;
    left: 50%;
	transform: translate(-50% ,-50%);
	width: 100%;
}
.auth{
	max-width: 300px;
	margin-left: auto;
	padding-top: 1.389vw;
    text-align: right;
}

.auth .signature1 {
    font-size: 16px;    
}

.auth .signature2 {
    font-size: 18px;    
}

table{
	width: 100%;
}
.tb-com tr td:first-child {
    width: 196px;
    border-bottom: 1px solid #7B9E21;
    font-size: 16px;
    font-weight: bold;
	white-space: nowrap;
	text-align: center;
	padding-left: 5px;
	
}
.tb-com tr:first-child td:first-child {
    border-top: 1px solid #7B9E21;
}
.tb-com tr td {
    border-bottom: 1px solid #D6E1BA;
    font-size: 16px;
	padding: 12px 12px;
	padding-left: 50px;
}

.tb-com tr:first-child td:last-child {
    border-top: 1px solid #D6E1BA;
    
}
.tb-com table{
	max-width: 900px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.his{
	background-repeat: no-repeat;
	background-position: left 194px center;
	
}
.tb-com1 tr td:first-child {
    width: 194px;
    max-width: 250px;
    font-size: 16px;
	white-space: nowrap;
	text-align: center;
	letter-spacing: 0.25px;
}

.tb-com1 tr td {
    font-size: 16px;
	padding: 12px 12px;
	
}
.tb-com1 table{
	max-width: 900px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.co-02{
	position: relative;
	text-align: center;
	margin-top: 150px;
}


.btn-co{
	max-width: 300px;
	width: 100%;
	margin: auto;
	margin-top: 150px;
	
}
.his tr td:first-child{
	position: relative;
}
.his tr td:first-child::before{
	position: absolute;
	content:"" ;
	width: 11px;
	height: 40px;
	right: 15px;
	background-image: url(../img/line-co.svg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	top: 15px;
}

.his tr:last-child td:first-child::before{
	width: 11px;
	height: 11px;
	right: 15px;
	background-image: url(../img/line.svg);
	top: 15px;
}
/* contact */
.contact-txt{
	position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
	transform: translate(-50% ,-50%);
	color: white;
	font-size: 80px;
	font-weight: bold;
	text-align: center;
    width: 100%;
}
.cont-900{
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}
.cont-tel{
	font-size: 50px;
	font-weight: bold;
	
}
.txt-time{
	text-align: center;
	line-height: 1.8;
	margin-bottom: 178px;
}	
.flex-ll{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.fax-contact{
	max-width: 300px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 38px;
	margin-bottom: 32px;
}

.tt-contact{
	padding-bottom: 55px;
	text-align: center;
}
.contactForm .txtForm {
    display: block;
    font-size: 18px;
    line-height: 166%;
    color: #000000;
    margin-bottom: 70px;
}
.contactForm table {
    width: 100%;
}
.ctLeft{
	padding-right: 20px;
	letter-spacing: -0.5px;
}
.contactForm td:first-child {
    width: 250px;
    padding-right: 0;
	padding-left: 40px;
	border-bottom: #7B9E21 solid 1px;
	
}
.contactForm table tr:first-child td{
    border-top: 1px solid #D6E1BA;
} 
.contactForm table tr td {
    vertical-align: middle;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.24px;
    color: #000;
    border-bottom: 1px solid #D6E1BA ;
}
.contactForm table tr:last-child td {
    
    padding-top: 25px;
}
.contactForm table tr td:last-child {
    padding: 10px 0;
    padding-right: 10px;
}
span.big {
    display: flex;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    justify-content: flex-start;
    align-items: center;
}
.contactForm table tr td input {
    width: 100%;
    border: none;
    height: 50px;
    outline: none;
    font-size: 14px;
    padding-left: 50px;
    padding-right: 50px;
}

.contactForm table tr td textarea {
    width: 100%;
    height: 210px;
    border: none;
    padding-left: 50px;
    padding-right: 30px;
    outline: none;
    resize: none;
    overflow: hidden;
    padding-top: 12px;
    padding-bottom: 12px;
}
.btnSubmit{
	max-width: 300px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	border: none;
	background: none;
	outline: none;
}

span.btnSubmit input:hover {
    opacity: 0.7;
}
.contactForm table tr td.maxw-400 input {
    max-width: 400px;
}
.btnSubmit {
    margin-top: 50px;
    display: block;
}
#recruit2 {
    margin-bottom: 120px;
}
.txt-green{
	color: #7B9E21;
	border-bottom: 1px #7B9E21 solid;
	
}
.txt-tb-contact{
	text-align: center;
	padding-top: 50px;
}
.tt-contact2{
	padding-bottom: 60px;
	text-align: center;
}
.txt-contact2{
	line-height: 1.875;
    letter-spacing: 5px;
	
}
.item-contact2{
	line-height: 1.875;
	font-size: 23px;
	font-weight: bold;
	margin-top: 20px;
}
.item-txt-contact{
	line-height: 1.875;
}
.contactForm tr:first-child td:first-child {
    border-top: 1px solid #7B9E21;
}
::-webkit-input-placeholder { 
	color: #CCCCCC;
	font-size: 13px;
	font-family: 'Noto Serif JP', serif;
  }
  ::-moz-placeholder {
	color: #CCCCCC;
	font-size: 13px;
	font-family: 'Noto Serif JP', serif;
  }
  :-ms-input-placeholder { 
	color: #CCCCCC;
	font-size: 13px;
	font-family: 'Noto Serif JP', serif;
  }
  :-moz-placeholder { 
	color: #CCCCCC;
	font-size: 13px;
	font-family: 'Noto Serif JP', serif;
  }
	
  
@media (max-height: 600px) and (max-width: 1280px) {
    /* CSS stuff */
	/* body{
		display: none;
	} */
	.all_txt a img{
		max-width: 17.625vw;
		width: 100%;
	}
	.txt-slide{
		font-size: 2vw !important;
		margin-top: 10% !important;
	}
	.txt-slide img{
		max-width: 200px;
		width: 100%;
	}
}
@media (max-height: 600px) and (max-width: 800px){
	.txt-l .all_txt{
		top: unset !important;
	}
}
@media (max-height: 768px) and (max-width: 1368px){
	.all_txt a img{
		max-width: 20vw;
		width: 100%;
	}

	.txt-slide{
		font-size: 2vw !important;
		margin-top: 10% !important;
	}
	.txt-slide img{
		max-width: 200px;
		width: 100%;
	}
}