@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
--point-color-green: #04b321;
--point-color-red: #F74460;
--point-color-blue: #5FDB5F;
--txt-color: #333;
--head-color: rgba(255,255,255,.8);
--content-padding: 120px 0;
--base-color: #eee;
}


/*COMMON*/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* CSS Document */

body{
	margin: 0;
	padding: 0;
	position: relative;
	background: url("../../images/bg_01.jpg") no-repeat center top 0;
	background-size: 100% 100%;
	font-family: "Noto Sans JP", sans-serif;
	color: #505050;
	letter-spacing: .05em;
	
	transition: all .4s ease-in-out;
}

a{
	color: #505050;
	text-decoration: none;
}

#wrap{
	position: relative;

}



/*header*/


header{
	position: fixed;
	
	top: 0;
	left: 0;
	
	width: 100%;
	background: rgba(255,255,255,.0);
	
	z-index: 10;
	
	padding:50px 0;
	
	transition: all .3s ease-in-out;
	
}
header.fixed{
	padding:15px 20px 13px;
	top: 30px;
	left: 30px;
	width: calc(100% - 60px);
	background: rgba(255,255,255,1);
	
	border-radius: 50px;
	box-shadow: 0 0 20px rgba(0,0,0,.1);
}


header section{
	display: flex;
	
	flex-wrap: wrap;
	padding: 5px 0;
	
	align-items: center;
	
	width: calc(100% - 100px);
	margin: 0 auto;
	justify-content: space-between;
	transition: all .3s ease-in-out;

}
header.fixed section{
	width: calc(100% - 50px);
}


header nav{
	position:relative;
	padding:19px 0 0 0;
}
header nav > ul{
	display: flex;
	flex-wrap: wrap;
	
	gap:0 60px;
}
header nav > ul#header-menuBtm{
	position:absolute;
	top:-5px;
	right:0;
	margin-bottom:0;
	justify-content:flex-end;
	gap:0 20px;
}


header nav > ul > li{
	position: relative;
	z-index: 1;
}
li.submenu::after{
	content: "";
	position: absolute;
	display: block;
	width: 10px;
	height: 10px;
	top: 1px ;
	right: -17px;
	border-right: 1px solid #707070;
	border-bottom: 1px solid #707070;
	transform: rotate(45deg);
	transition: all .2s ease-in-out;
}
li.submenu:hover::after{
	top: 5px ;
	right: -17px;
}

header nav > ul a,
header nav > ul span{
	font-size: 16px;
	font-weight: 700;
	display: block;
	cursor: pointer;
}

header nav > ul#header-menuBtm a,
header nav > ul#header-menuBtm span{
	font-size: 12px;
	font-weight: 700;
	display: block;
	cursor: pointer;
	color:#2C5B2C;
}




header nav .submenulist{
	display: none;
	position: absolute;
	top: 25px;
	left: 50%;
	transform: translateX(-50%);
	box-shadow: 0 0 10px rgba(0,0,0,.1);
	padding: 30px 30px 10px 30px;
	background: #fff;
	border-radius: 15px;
	z-index: 2;
}
header nav .submenulist li{
	margin-bottom: 20px;
	text-align: center;
}
header nav .submenulist li a{
	white-space: nowrap;
}


header .logo{
	width: 400px;
	text-align: center;
	transition: all .3s ease-in-out;
}
header.fixed .logo{
	width: 300px;
}
header .logo a{
	display: block;
}
header .logo img{
	width: 100%;
	height: auto;
}






/*wrap*/



#wrap{
	width: 100%;
	padding: 0 0 0;
	margin: 0 auto;
	background: url("../../images/pageHead.png") no-repeat center 0 ;
	background-size: 100% 300px;
}

body#home #wrap{
	width: 100%;
	padding: 150px 0 0;
	margin: 0 auto;
	
	background: #fff url("../../images/bg_home.jpg") no-repeat center top 60vw;
	background-size: 100% 100%;
}

/*homeCont*/


.homeCont{
	z-index: 1;
	
	width: 100%;

	max-width: 1600px;
	margin: 0 auto;
	padding: 0 50px;

	
	position: relative;
}




#promotion{
	width: calc(100% - 100px);
	margin: 0 auto 80px;
	border-radius: 60px;
	background: #26BD26 url("../../images/promo_img_pc.png") no-repeat right 0 bottom 0;
	background-size: 100% auto;
	box-shadow: 0 0 20px rgba(0,0,0,.1);
	
	padding: 4vw 4vw 2.5vw 4vw;
}

.promoIcon{
	margin-bottom: 20px;
}
.promoIcon img{
	width: 170px;
	height: auto;
}

.promoTxt{
	font-size: 2.7vw;
	line-height: 180%;
	font-weight: bold;
	color: #fff;
	margin-bottom: 30px;
}
.promoBtn{
	margin-bottom: 16vw;
}
.promoBtn a{
	display: inline-block;
	background: #fff url("../../images/arrow_b.png") no-repeat right 13px center;
	background-size: 13px auto;
	
	padding: 20px 80px 20px 30px ;
	
	border-radius: 40px;
	
	font-weight: bold;
}


.promoArrow{
	padding: 15px;
	width: 50px;
	height: 50px;
	
	text-align: center;
	
	background: #fff;
	border-radius: 30px;
	
	box-shadow: 0 0 10px rgba(0,0,0,.1);
}
.promoArrow img{
	width: 20px;
	height: auto;
}




.h2title{
	font-size: 16px;
	line-height: 140%;
	margin-bottom: 50px;
	text-align: center;
	
	color: #000;
}
.h2title span{
	font-size: 40px;
	display: block;
	margin-bottom: 15px;
}



.homeConcept{
	color: #26BD26;
	font-size: 54px;
	text-align: center;
	
	position: relative;
	
	padding: 0 0 60px 0;
	
	margin-bottom: 60px;
}
.homeConcept::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 40px;
	height: 40px;
	background: url("../../images/icon_clover.png") no-repeat 0 0;
	background-size: 100% 100%;
	transform: translateX(-50%);
}



.homeConceptBoxs{
}

.homeConceptBox{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 120px;
	align-items: center;
}
.homeConceptBox:nth-of-type(2n){
	flex-direction: row-reverse;
}

.homeConceptBoxTxt{
	width: 46%;
	color: #000;
}

.homeConceptBoxImg{
	width: 46%;
}
.homeConceptBoxImg img{
	width: 100%;
	height: auto;
	display: block;
	border-radius: 30px;
	box-shadow: 0 0 20px rgba(0,0,0,.2);
}

.homeConceptNo{
	margin-bottom: 20px;
	transform: translateX(-20px);
}
.homeConceptNo img{
	width: 120px;
	height: auto;
}

.homeConceptTitle{
	font-size: 45px;
	margin-bottom: 20px;
	font-weight: bold;
	line-height: 160%;
}

.homeConceptTxt{
	font-size: 23px;
	font-weight: bold;
	line-height: 160%;
}



.homeNewsLists{
	display: flex;
	flex-wrap: wrap;
	column-gap: 1.3333%;
}
.newsLists{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 1.3333%;
}
.homeNewsList{
	width: 24%;
}
.homeNewsList a{
	display: block;
}
.homeNewsList a .homeNewsListImg{
	border-radius: 15px;
	margin-bottom: 15px;
}
.homeNewsList a .homeNewsListImg img{
	border-radius: 15px;
	display: block;
	width: 100%;
	height: auto;
}
.homeNewsList.empty span{
	display: block;
}

.homeNewsList.empty span .homeNewsListImg{
	opacity:.5;
}

.homeNewsList.empty span .homeNewsListImg img{
	border-radius: 15px;
	display: block;
	width: 100%;
	height: auto;
}

.homeNewsListTitle{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 7px;
}
.homeNewsListDate{
	font-size: 11px;
	margin-bottom: 15px;
}
.homeNewsListTxt{
	font-size: 14px;
	line-height: 140%;
}








/* home news*/
#homeNews{
	background: rgba(255,255,255,.7);
	
	margin-bottom: 12vw;
}
#homeNews .inner{
	padding: 8vw 5vw;
}
#homeNews .inner .homeNewsLists{
	
}
#homeNews .inner .homeNewsList{
	
}




/*pageCont*/


.pageCont{
	z-index: 1;
	
	width: 100%;

	max-width: 1400px;
	margin: 0 auto;
	padding: 200px 50px 150px;

	min-height: 1000px;
	
	position: relative;
	
}

h1.pageTitle{
	text-align: center;
	font-size: 38px;
	margin-bottom: 120px;
	color: #000;
}
h1.pageTitle span{
	font-size: 14px;
	display: block;
	padding: 0 0 12px 0;
}

h2.titleH2_1{
	color: #000;
	font-size: 42px;
	text-align: center;
	
	position: relative;
	
	padding: 0 0 60px 0;
	
	margin-bottom: 60px;
}
h2.titleH2_1::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 40px;
	height: 40px;
	background: url("../../images/icon_clover.png") no-repeat 0 0;
	background-size: 100% 100%;
	transform: translateX(-50%);
}
h3.titleH3_1{
	color: #000;
	font-size: 40px;
	text-align: left;
	
	position: relative;
		
	margin-bottom: 30px;
}
h3.titleH3_2{
	color: #000;
	font-size: 40px;
	text-align: left;
	line-height: 120%;
	
	position: relative;
		
	margin-bottom: 30px;
	padding-left: 60px;
	
	background: url("../../images/icon_clover.png") no-repeat 0 6px;
	background-size: 38px;
}



.pageread{
	font-size: 24px;
	margin-bottom: 120px;
	text-align: center;
	font-weight: 700;
	color: #000;
	line-height: 160%;
}
.pageread.readS{
	font-size: 18px;
	line-height: 170%;
}




.flexBox{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	
	margin-bottom: 70px;
}
.flexBox.reverse{
	flex-direction: row-reverse;
}
.flexBox:nth-last-of-type(1){
	margin-bottom: 0;
}


.flexBox .flexL{
	width: 55%;
}

.flexBox .flexM{
	width: 38%;
}

.flexBox .flexS img,
.flexBox .flexM img,
.flexBox .flexL img,
.flexBox .flexXL img{
	width: 100%;
	height: auto;
}

.flexBox .flexTxt{
	padding: 20px 0 0 0;
}
.flexBox p{
	line-height: 200%;
	margin-bottom: 60px;
	color: #000;
}

.flexBox p.txtM{
	font-size: 15px;
	font-weight: bold;
}

.flexBox p.txtL{
	font-size: 18px;
	font-weight: bold;
}

.imgAlphaBg{
	background: rgba(255,255,255,.3);
	box-shadow: 0 0 30px rgba(0,0,0,.1);
	border-radius: 30px;
	
}
.imgAlphaBg img{
	width: 100%;
	height: auto;
}


.btn_01{
	
}
.btn_01 a{
	display: inline-block;
	background: #26BD26 url("../../images/arrow_w.png") no-repeat right 13px center;
	background-size: 50px auto;
	
	padding: 20px 103px 20px 30px ;
	
	border-radius: 40px;
	
	font-weight: bold;
	color: #fff;
}




.btn_02{
	text-align: center;
}
.btn_02 span,
.btn_02 a{
	display: inline-block;
	background: #26BD26 url("../../images/arrow_down_maru.png") no-repeat right 13px center;
	background-size: 35px auto;
	
	padding: 20px 103px 20px 30px ;
	
	border-radius: 40px;
	
	font-weight: bold;
	color: #fff;
	
	cursor: pointer;
}



.btn_03{
	text-align: center;
}
.btn_03 input[type=submit],
.btn_03 a{
	display: inline-block;
	background: #fff url("../../images/arrow_maru.png") no-repeat right 13px center;
	background-size: 50px auto;
	border:none;
	
	padding: 30px 203px 30px 40px ;
	
	border-radius: 50px;
	
	font-weight: bold;
	color: #26BD26;
	
	font-size: 18px;
}







.aboutImg1{
	position: relative;
	z-index: 0;
	margin-bottom: 90px;
}
.aboutImg1::after{
	position: absolute;
	bottom:0;
	left: 17%;
	content: "";
	display: block;
	background: #ffffff;
	height: calc(tan(60deg) * 80px / 2);
	width: 80px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transform: translateY(100%);
	opacity: .5;
	z-index: 1;
}
.aboutDate{
	position: absolute;
	bottom: 16%;
	left: 49%;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
}

.messageBtm{
	
}
.messageBtm .messageTxt{
	font-size: 14px;
	margin-bottom: 10px;
	text-align: center;
	font-weight: 500;
	color: #000;
	line-height: 160%;
}
.messageBtm .messageImg{
	text-align: center;
}
.messageBtm .messageImg img{
	width: 300px;
	height: auto;
}




.chart_01{
	width: 700px;
	margin: 0 auto;
}


.chart_01 table{
	padding: 0;
	margin: 0;
	
	border-top: 1px solid rgba(0,0,0,.3);
}

.chart_01.profile table td{
	font-size: 15px;
	text-align: left;
	color: #000;
	line-height: 180%;
	
	padding: 20px;

	border-bottom: 1px solid rgba(0,0,0,.3);
}
.chart_01.profile table td:nth-of-type(1){
	font-weight: 700;
	width: 180px;
}
.chart_01.profile table td:nth-of-type(2){
	font-weight: 400;
	width: calc(100% - 180px);
}







/*recruit*/
.recruitImg{
	position: relative;
}
.recruitImg01-01{
	width: 80%;
}
.recruitImg01-01 img{
	width: 100%;
	height: auto;
	border-radius: 30px;
	display: block;
}
.recruitImg02-01{
	width: 80%;
	margin-left: 20%;
}
.recruitImg02-01 img{
	width: 100%;
	height: auto;
	border-radius: 30px;
	display: block;
}

.recruitImg01-02{
	position: absolute;
	right: 0;
	top: 50%;
	width: 50%;
}
.recruitImg01-02 img{
	width: 100%;
	height: auto;
	border-radius: 30px;
	display: block;
}

.recruitImg02-02{
	position: absolute;
	left: 0;
	top: 50%;
	width: 50%;
}
.recruitImg02-02 img{
	width: 100%;
	height: auto;
	border-radius: 30px;
	display: block;
}

h3.titleH3_rec{
	color: #000;
	font-size: 24px;
	text-align: left;
	line-height: 120%;
	
	position: relative;
		
	margin-bottom: 10px;
}

h3.titleH3_rec span{
	font-size: 18px;
}


.recruitTxt{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}

.recruitTxt dt{
	width: 100px;
	margin-bottom: 20px;
	font-size: 15px;
	text-align: center;
	line-height: 100%;
}
.recruitTxt dt span{
	display: block;
	background: #fff;
	padding: 6px 0;
	border-radius: 30px;
}
.recruitTxt dd{
	width: calc(100% - 100px);
	margin-bottom: 20px;
	font-size: 15px;
	line-height: 150%;
	padding-left: 14px;
}

.recruitArticle{
	margin-bottom: 150px;
	align-items: flex-start;
}
.readmore{
	display: none;
}



/*contact*/

.contactCont{
	background: rgba(255,255,255,.6);
	border-radius: 60px;
	padding: 80px;
}
.contactFlow{
	
	width: 400px;
	margin: 0 auto 80px;
}
.contactFlow img{
	width: 100%;
	height: auto;
}

.formchart{
	
}
.formchart dl{
	display: flex;
	flex-wrap: wrap;
}
.formchart dt{
	padding: 20px;
	width: 300px;
	font-weight: 700;
	line-height: 160%;
	margin-bottom: 50px;
}
.formchart dd{
	width: calc(100% - 300px);
	margin-bottom: 50px;
}

.formchart.confirmarea {
	margin-bottom: 50px;
}
.formchart.confirmarea dt{
	border-bottom:1px solid #ddd;
	padding: 20px;
	margin-bottom: 0;
}
.formchart.confirmarea dd{
	padding: 20px;
	border-bottom:1px solid #ddd;
	margin-bottom: 0;
}


.select {
  display: block;
  position: relative;
  vertical-align: middle;
	
}

select {
	appearance: none;
	width: 100%;
	padding: 20px;

	border: 2px solid #27BD26;
	outline: 0;
	background: #fff;
	background-image: none;
	box-shadow: none;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	cursor: pointer;

	font-weight: bold;
	font-size: 18px;
	border-radius: 30px;
}

.select::before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 26px;
	width: 0;
	height: 0;
	border-width: 10px 6px 0 6px;
	border-style: solid;
	border-color: #27BD26 transparent transparent transparent;
	content: "";
	pointer-events: none;
}

select::-ms-expand {
  display: none;
}

.formchart input[type=text],
.formchart input[type=email],
.formchart input[type=tel],
.formchart textarea{
	border: 2px solid #27BD26;
	font-weight: bold;
	font-size: 18px;
	border-radius: 30px;
	width: 100%;
	padding: 20px;
}
.formchart input[type=text]::placeholder{
	color:#ccc;
}


.formchart .forms{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.formchart .forms .formS{
	width: 48%;
}

.formchart .forms .formM{
	width: 80%;
}
.formchart .forms .formTxt{
	width: 20%;
	padding: 20px;
	font-weight: 700;
	line-height: 160%;
	margin-bottom: 30px;
}


.formchart.confirmarea .formM,
.formchart.confirmarea .formTxt{
	padding: 20px;
	border-bottom:1px solid #ddd;
	margin-bottom: 0;
}



/*footer*/

footer{
	background: #108410;
	border-top-right-radius: 200px;
}
footer section{
	padding: 50px 140px 70px 140px;
}

.footerTop{
	border-bottom: 1px solid rgba(255,2550,255,.6);
	
	display: flex;
	flex-wrap: wrap;
	
	justify-content: space-between;
	
	align-items: center;
	
	padding: 0 0 40px;
}
.footerLogo{
	width: 130px;
}
.footerLogo img{
	width: 100%;
	height: auto;
}
.footerAdress{
	width: calc(100% - 340px);
	color: #fff;
	font-size: 12px;
	line-height: 150%;
}

.footermarc{
	width: 130px;
}
.footermarc img{
	width: 100%;
	height: auto;
}

.footerBtm{
	padding: 40px 0 0;
}
.footMenu{
	display: flex;
	
	justify-content: space-between;
}
.footMenu ul{
}
.footMenu ul li{
	margin-bottom: 20px;
	font-weight: 700;
}


.footMenu ul li span,
.footMenu ul li a{
	color: #fff;
	font-size: 16px;
}

.footMenu ul li.fmTitle span,
.footMenu ul li.fmTitle a{
	font-weight: 400;
	position:relative;
}
.footMenu ul li a::before{
	content:"- ";
	display:inline-block;
	margin-right:5px;
}

.footMenu ul li.fmTitle ul{
	margin-top: 20px;
	margin-bottom: 0;
	font-weight: 500;
}


/*inview設定*/


.inview{
	transition: 0.6s ease-in-out;
	transition-delay:0.4s;
	opacity: 0;
}
.inviewOn{
	opacity: 1;
}






.pc{
	display: block
}
.sp{
	display: none
}

@media screen and (max-width: 768px) {

	.pc{
		display: none
	}
	.sp{
		display: block
	}

	

	#wrap{
		position: relative;

	}





	/*header*/


	header{
		position: fixed;

		top: 0;
		left: 0;

		width: 100%;
		background: rgba(255,255,255,.0);

		z-index: 10;

		padding:15px 0;

		transition: all .3s ease-in-out;

	}
	header.fixed{
		padding:10px 20px 8px;
		top: 10px;
		left: 10px;
		width: calc(100% - 20px);
		background: rgba(255,255,255,1);

		border-radius: 50px;
		box-shadow: 0 0 20px rgba(0,0,0,.1);
	}


	header section{
		display: flex;

		flex-wrap: wrap;
		padding: 5px 0;

		align-items: center;


		width: calc(100% - 30px);
		margin: 0 auto;
		justify-content: space-between;
		transition: all .3s ease-in-out;

	}
	header.fixed section{
		width: 100%;
	}


	header nav{
		position: fixed;
		top: 0;
		left: 0;
		background: #26BD26;
		padding: 75px 30px;
		width: 100vw;
		height: 100vh;
		display: none;
	}
	header nav > ul{
		display: block;

		gap:0 60px;

		background: transparent;


		position: relative;
		
		
		border-top: 1px solid #fff;
	}
					
	header nav > ul#header-menuBtm{
		position:static;
		top:auto;
		right:auto;
		margin-bottom:0;
		justify-content:flex-end;
		gap:0 20px;
						border-top: none;
						padding-top:20px
	}

	header nav > ul > li{
		position: relative;
		z-index: 1;
		padding: 20px 0;
		border-bottom: 1px solid #fff;
	}
	header nav > ul#header-menuBtm > li{
		position: relative;
		z-index: 1;
		padding: 6px 0 6px;
		border-bottom: none;
	}
	li.submenu::after{
		content: "";
		position: absolute;
		display: block;
		width: 10px;
		height: 10px;
		top: 20px;
		right: 6px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		transform: rotate(45deg) translateY(0%);
		transition: all .2s ease-in-out;
		transform-origin: center;
	}
	li.submenu.openmenu::after{
		transform: rotate(225deg) translateY(0%);

	}
	li.submenu:hover::after{
		top: 25px;
		right: 6px;
	}

	header nav > ul a,
	header nav > ul span{
		font-size: 14px;
		font-weight: 500;
		display: block;
		cursor: pointer;
		
		color: #fff;
	}
	header nav > ul#header-menuBtm a,
	header nav > ul#header-menuBtm span{
		font-size: 12px;
		font-weight: 700;
		display: block;
		cursor: pointer;
		color:#fff;
						}






	header nav .submenulist{
		display: none;
		position: relative;
		top: 0;
		left: 0;
		transform: translateX(0);
		box-shadow: 0 0 0 rgba(0,0,0,0);
		padding: 15px 0 0 0;
		background: transparent;
		border-radius: 0;
		z-index: 2;
	}
	header nav .submenulist li{
		margin-bottom: 15px;
		text-align: left;
	}
	header nav .submenulist li a{
		white-space: nowrap;
	}


	header .logo{
		width: 60vw;
		text-align: center;
		transition: all .3s ease-in-out;
	}
	header.fixed .logo{
		width: 260px;
	}
	header .logo a{
		display: block;
	}
	header .logo img{
		width: 100%;
		height: auto;
	}





	.hamburger {
		position: absolute;
		top: 24px;
		right:15px;
		cursor: pointer;
		width: 40px;
		height: 10px;
		z-index: 10;
		transition: all .3s ease-in-out;
	}
	/*.hamburger:hover{
		transform:rotate(180deg) scale(1.5);
	}
	*/
	.fixed .hamburger {
		top: 18px;
	}
	.hamburger span {
		/*3本の線を作る*/
		transition: all .3s;
		position: absolute;
		height: 3px;
		background-color: #27BD26;
		width:100%;
		z-index: 10;
		border-radius: 3px;
	}
	.hamburger span:nth-of-type(1) {
		/*上の線の位置*/
		top: 4px;
	}
	.hamburger span:nth-of-type(2) {
		/*下の線の位置*/
		top: 12px;
		background-color: #9F9F9F;
	}
	.hamburger.open span:nth-of-type(1) {
		/*openのとき、上の線を右斜めにする*/
		background-color: #fff;
		top: 12px;
	}
	.hamburger.open span:nth-of-type(2) {
		/*下の線を左斜めにする*/
		top: 14px;
		opacity: 0;
	}






	/*wrap*/



	#wrap{
		width: 100%;
		padding: 75px 0 0;
		margin: 0 auto;

		background: url("../../images/bg_01.jpg") no-repeat center top 60vw;
		background-size: 100% 100%;
	}

	body#home #wrap{
		width: 100%;
		padding: 75px 0 0;
		margin: 0 auto;

		background: #fff url("../../images/bg_home.jpg") no-repeat center top 190vw;
		background-size: 100% 100%;
	}

	/*homeCont*/


	.homeCont{
		z-index: 1;

		width: 100%;

		max-width: 100%;
		margin: 0 auto;
		padding: 0 10px;


		position: relative;
	}



	#promotion{
		width: calc(100% - 30px);
		margin: 0 auto 80px;
		border-radius: 40px;
		background: #26BD26 url("../../images/promo_img_sp.png") no-repeat right 0 bottom 0;
		background-size: 100% auto;
		box-shadow: 0 0 20px rgba(0,0,0,.1);

		padding: 5vw 5vw 5vw 5vw;
	}

	.promoIcon{
		margin-bottom: 20px;
	}
	.promoIcon img{
		width: 120px;
		height: auto;
	}

	.promoTxt{
		font-size: 5.2vw;
		line-height: 180%;
		font-weight: bold;
		color: #fff;
		margin-bottom: 30px;
	}
	.promoBtn{
		margin-bottom: 50vw;
	}
	.promoBtn a{
		font-size: 3vw;
		display: inline-block;
		background: #fff url("../../images/arrow_b.png") no-repeat right 10px center;
		background-size: 11px auto;

		padding: 15px 60px 15px 20px ;

		border-radius: 40px;

		font-weight: bold;
	}


	.promoArrow{
		padding: 15px;
		width: 50px;
		height: 50px;

		text-align: center;

		background: #fff;
		border-radius: 30px;

		box-shadow: 0 0 10px rgba(0,0,0,.1);
	}
	.promoArrow img{
		width: 20px;
		height: auto;
	}




	.h2title{
		font-size: 14px;
		line-height: 140%;
		margin-bottom: 20px;
		text-align: center;

		color: #000;
	}
	.h2title span{
		font-size: 32px;
		display: block;
		margin-bottom: 15px;
	}



	.homeConcept{
		color: #26BD26;
		font-size: 30px;
		text-align: center;

		position: relative;

		padding: 0 0 40px 0;

		margin-bottom: 40px;
	}
	.homeConcept::after{
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 30px;
		height: 30px;
		background: url("../../images/icon_clover.png") no-repeat 0 0;
		background-size: 100% 100%;
		transform: translateX(-50%);
	}



	.homeConceptBoxs{
	}

	.homeConceptBox{
		display: block;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 90%;
		max-width: 1200px;
		margin: 0 auto 80px;
		align-items: center;
	}
	.homeConceptBox:nth-of-type(2n){
		flex-direction: row-reverse;
	}

	.homeConceptBoxTxt{
		width: 90%;
		color: #000;
		margin: 0 auto;
		z-index: 1;
		position: relative;
	}

	.homeConceptBoxImg{
		width: 100%;
		transform: translateY(-2.6vw);
		z-index: 0;
		position: relative;
	}
	.homeConceptBoxImg img{
		width: 100%;
		height: auto;
		display: block;
		border-radius: 30px;
		box-shadow: 0 0 20px rgba(0,0,0,.2);
	}

	.homeConceptNo{
		margin-bottom: 0;
		transform: translateX(-20px);
	}
	.homeConceptNo img{
		width: 90px;
		height: auto;
	}

	.homeConceptTitle{
		font-size: 32px;
		margin-bottom: 10px;
		font-weight: 500;
		line-height: 160%;
	}

	.homeConceptTxt{
		font-size: 18px;
		font-weight: 500;
		line-height: 160%;
	}



	.homeNewsLists{
		display: flex;
		flex-wrap: wrap;
		column-gap: 1.3333%;
	}
	.newsLists{
		display: flex;
		flex-wrap: wrap;
		gap: 20px 2%;
	}
	.homeNewsList{
		width: inherit;
		padding: 0 10px;
	}

	.newsLists .homeNewsList{
		width: 49%;
		padding: 0 0;
	}
	.homeNewsList a{
		display: block;
	}
	.homeNewsList a .homeNewsListImg{
		border-radius: 15px;
		margin-bottom: 15px;
	}
	.homeNewsList a .homeNewsListImg img{
		border-radius: 15px;
		display: block;
		width: 100%;
		height: auto;
	}
	.homeNewsList.empty {
					display:none;
	}

	.homeNewsListTitle{
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 7px;
	}
	.homeNewsListDate{
		font-size: 11px;
		margin-bottom: 15px;
	}
	.homeNewsListTxt{
		font-size: 14px;
		line-height: 140%;
	}








	/* home news*/
	#homeNews{
		background: rgba(255,255,255,.7);

		margin-bottom: 20vw;
	}
	#homeNews .inner{
		padding: 8vw 5vw;
	}
	#homeNews .inner .homeNewsLists{

	}
	#homeNews .inner .homeNewsList{

	}









	/*pageCont*/


	.pageCont{
		z-index: 1;

		width: 100%;

		max-width: 100%;
		margin: 0 auto;
		padding: 20px 20px 100px;

		min-height: auto;

		position: relative;

	}

	h1.pageTitle{
		text-align: center;
		font-size: 24px;
		margin-bottom: 50px;
		color: #000;
	}
	h1.pageTitle span{
		font-size: 12px;
		display: block;
		padding: 0 0 8px 0;
	}

	h2.titleH2_1{
		color: #000;
		font-size: 22px;
		line-height: 130%;
		text-align: center;

		position: relative;

		padding: 0 0 40px 0;

		margin-bottom: 30px;
	}
	h2.titleH2_1::after{
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 30px;
		height: 30px;
		background: url("../../images/icon_clover.png") no-repeat 0 0;
		background-size: 100% 100%;
		transform: translateX(-50%);
	}
	h3.titleH3_1{
		color: #000;
		font-size: 22px;
		text-align: left;

		position: relative;

		margin-bottom: 30px;
	}
	h3.titleH3_2{
		color: #000;
		font-size: 22px;
		text-align: left;
		line-height: 120%;

		position: relative;

		margin-bottom: 20px;
		padding-left: 30px;

		background: url("../../images/icon_clover.png") no-repeat 0 2px;
		background-size: 23px;
	}



	.pageread{
		font-size: 16px;
		margin-bottom:50px;
		text-align: center;
		font-weight: 700;
		color: #000;
		line-height: 160%;
	}
	.pageread.readS{
		font-size: 14px;
		line-height: 170%;
	}




	.flexBox{
		display: block;
		flex-wrap: wrap;
		justify-content: space-between;

		margin-bottom: 40px;
	}
	.flexBox.reverse{
		flex-direction: row-reverse;
	}
	.flexBox:nth-last-of-type(1){
		margin-bottom: 0;
	}


	.flexBox .flexL{
		width: 100%;
		text-align: center;
	}

	.flexBox .flexM{
		width: 100%;
		text-align: center;
	}

	.flexBox .flexS img,
	.flexBox .flexM img,
	.flexBox .flexL img,
	.flexBox .flexXL img{
		width: 80%;
		height: auto;
	}

	.flexBox .flexTxt{
		padding: 20px 0 0 0;
	}
	.flexBox p{
		line-height: 200%;
		margin-bottom: 30px;
		color: #000;
		text-align: left;
	}

	.flexBox p.txtM{
		font-size: 13px;
		font-weight: bold;
	}

	.flexBox p.txtL{
		font-size: 15px;
		font-weight: bold;
	}

	.imgAlphaBg{
		background: rgba(255,255,255,.3);
		box-shadow: 0 0 30px rgba(0,0,0,.1);
		border-radius: 30px;
		padding: 10px 0;
	}
	.imgAlphaBg img{
		width: 100%;
		height: auto;
	}


	.btn_01{

	}
	.btn_01 a{
		display: inline-block;
		background: #26BD26 url("../../images/arrow_w.png") no-repeat right 13px center;
		background-size: 50px auto;

		padding: 20px 103px 20px 30px ;

		border-radius: 40px;

		font-weight: bold;
		color: #fff;
	}




	.btn_02{
		text-align: center;
	}
	.btn_02 span,
	.btn_02 a{
		display: inline-block;
		background: #26BD26 url("../../images/arrow_down_maru.png") no-repeat right 10px center;
		background-size: 25px auto;

		padding: 15px 80px 15px 20px ;

		border-radius: 40px;

		font-weight: bold;
		color: #fff;
		
		font-size: 15px;
	}



	.btn_03{
		text-align: center;
	}
	.btn_03 input[type=submit],
	.btn_03 a{
		display: inline-block;
		background: #fff url("../../images/arrow_maru.png") no-repeat right 10px center;
						background-size: 25px auto;
						border:none;

		padding: 15px 80px 15px 20px ;

		border-radius: 50px;

		font-weight: bold;
		color: #26BD26;

		font-size: 15px;
	}







	.aboutImg1{
		position: relative;
		z-index: 0;
		margin-bottom: 50px;
	}
	.aboutImg1::after{
		position: absolute;
		bottom:0;
		left: 50%;
		content: "";
		display: block;
		background: #ffffff;
		height: calc(tan(60deg) * 30px / 2);
		width: 40px;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		transform: translateY(100%) translateX(-50%);
		opacity: .5;
		z-index: 1;
	}
	
	.aboutDate{
		position: absolute;
		bottom: 5%;
		left: 6%;
		color: #999;
		font-weight: bold;
		font-size: 9px;
	}

	.aboutImg2{
		position: relative;
		z-index: 0;
		margin-bottom: 50px;
		text-align: center;
	}
	.flexBox .flexM.aboutImg2 img{
		width: 70%;
		height: auto;
	}
	
	.messageTxtbody{
		text-align: left;
	}
	
	
	.messageBtm{

	}
	.messageBtm .messageTxt{
		font-size: 12px;
		margin-bottom: 10px;
		text-align: center;
		font-weight: 500;
		color: #000;
		line-height: 160%;
	}
	.messageBtm .messageImg{
		text-align: center;
	}
	.messageBtm .messageImg img{
		width: 230px;
		height: auto;
	}




	.chart_01{
		width: 100%;
		margin: 0 auto;
	}


	.chart_01 table{
		padding: 0;
		margin: 0;

		border-top: 1px solid rgba(0,0,0,.3);
	}

	.chart_01.profile table td{
		font-size: 13px;
		text-align: left;
		color: #000;
		line-height: 180%;

		padding: 12px;

		border-bottom: 1px solid rgba(0,0,0,.3);
	}
	.chart_01.profile table td:nth-of-type(1){
		font-weight: 700;
		width: 100px;
	}
	.chart_01.profile table td:nth-of-type(2){
		font-weight: 400;
		width: calc(100% - 100px);
	}







	/*recruit*/
	.recruitImg{
		position: relative;
		margin-bottom: 60px
	}
	.recruitImg01-01{
		width: 60%;
	}
	.flexBox .flexM .recruitImg01-01 img{
		width: 100%;
		height: auto;
		border-radius: 30px;
		display: block;
	}
	.recruitImg02-01{
		width: 60%;
		margin-left: 40%;
	}
	.flexBox .flexM .recruitImg02-01 img{
		width: 100%;
		height: auto;
		border-radius: 30px;
		display: block;
	}

	.recruitImg01-02{
		position: absolute;
		right: 0;
		top: 40%;
		width: 45%;
	}
	.flexBox .flexM .recruitImg01-02 img{
		width: 100%;
		height: auto;
		border-radius: 30px;
		display: block;
	}

	.recruitImg02-02{
		position: absolute;
		left: 0;
		top: 40%;
		width: 45%;
	}
	.flexBox .flexM .recruitImg02-02 img{
		width: 100%;
		height: auto;
		border-radius: 30px;
		display: block;
	}

	h3.titleH3_rec{
		color: #000;
		font-size: 20px;
		text-align: left;
		line-height: 120%;

		position: relative;

		margin-bottom: 5px;
	}

	h3.titleH3_rec span{
		font-size: 14px;
	}


	.recruitTxt{
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 20px;
	}

	.recruitTxt dt{
		width: 100px;
		margin-bottom: 20px;
		font-size: 13px;
		text-align: center;
		line-height: 100%;
	}
	.recruitTxt dt span{
		display: block;
		background: #fff;
		padding: 6px 0;
		border-radius: 30px;
	}
	.recruitTxt dd{
		width: calc(100% - 100px);
		margin-bottom: 20px;
		font-size: 13px;
		line-height: 150%;
		padding-left: 14px;
		text-align: left;
	}

	.recruitArticle{
		margin-bottom: 80px;
	}

	


	/*contact*/

	.contactCont{
		background: rgba(255,255,255,.6);
		border-radius: 30px;
		padding: 40px 20px 40px;
	}
	.contactFlow{

		width: 80%;
		margin: 0 auto 40px;
	}
	.contactFlow img{
		width: 100%;
		height: auto;
	}

	.formchart{
		margin-bottom: 30px;
	}
	.formchart dl{
		display: block;
		flex-wrap: wrap;
	}
	.formchart dt{
		padding: 10px 0 0;
		width: 100%;
		font-weight: 700;
		line-height: 160%;
		margin-bottom: 10px;
	}
	.formchart dd{
		width: 100%;
		margin-bottom: 10px;
	}
						
.formchart.confirmarea {
	margin-bottom: 20px;
}
.formchart.confirmarea dt{
	border-bottom:none;
	padding: 10px 10px 0 10px;
	margin-bottom: 0;
}
.formchart.confirmarea dd{
	padding: 10px 10px 10px 10px;
	border-bottom:1px solid #ddd;
	margin-bottom: 0;
						}
						.formchart.confirmarea dd .select::before{
							display:none;
						}
						
						
	.select {
	  display: block;
	  position: relative;
	  vertical-align: middle;

	}

	select {
		appearance: none;
		width: 100%;
		padding: 10px;

		border: 2px solid #27BD26;
		outline: 0;
		background: #fff;
		background-image: none;
		box-shadow: none;
		text-indent: 0.01px;
		text-overflow: ellipsis;
		cursor: pointer;

		font-weight: bold;
		font-size: 15px;
		border-radius: 30px;
	}

	.select::before {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 26px;
		width: 0;
		height: 0;
		border-width: 10px 6px 0 6px;
		border-style: solid;
		border-color: #27BD26 transparent transparent transparent;
		content: "";
		pointer-events: none;
	}

	select::-ms-expand {
	  display: none;
	}

	.formchart input[type=text],
	.formchart input[type=email],
	.formchart input[type=tel],
	.formchart textarea{
		border: 2px solid #27BD26;
		font-weight: bold;
		font-size: 15px;
		border-radius: 30px;
		width: 100%;
		padding: 10px;
	}

	.formchart .forms{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.formchart .forms .formS{
		width: 48%;
	}

	.formchart .forms .formM{
		width: 60%;
		margin-bottom: 10px;
	}
	.formchart .forms .formTxt{
		width: 40%;
		padding: 8px 0 0;
		font-weight: 700;
		line-height: 160%;
		margin-bottom: 10px;
	}





	/*footer*/

	footer{
		background: #108410;
		border-top-right-radius: 100px;
	}
	footer section{
		padding: 40px 30px 40px 30px;
	}

	.footerTop{
		border-bottom: 1px solid rgba(255,2550,255,.6);

		display: block;
		flex-wrap: wrap;

		justify-content: space-between;

		align-items: center;

		padding: 0 0 20px;
	}
	.footerLogo{
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	.footerLogo img{
		width: 30%;
		height: auto;
	}
	.footerAdress{
		width: 100%;
		color: #fff;
		font-size: 11px;
		line-height: 150%;
		text-align: center;
		margin-bottom: 0;
	}

	.footermarc{
		width: 100%;
		text-align: center;
		margin-top: 40px;
	}
	.footermarc img{
		width: 30%;
		height: auto;
	}

	.footerBtm{
		padding: 8px 0 0;
	}
	.footMenu{
		display: block;

		justify-content: space-between;
	}
	.footMenu ul{
		width: 100%;
	}
	.footMenu ul li{
		margin-bottom: 8px;
		font-weight: 700;
	}
	.footMenu > ul{
		padding: 10px 0;
		border-bottom: 1px solid rgba(255,255,255,.6);
	}
	.footMenu ul li.footsmenu{
		position: relative;
	}
	.footMenu ul li.footsmenu::after{
		content: "";
		position: absolute;
		display: block;
		width: 10px;
		height: 10px;
		top: 5px;
		right: 6px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		transform: rotate(45deg) translateY(0%);
		transition: all .2s ease-in-out;
		transform-origin: center;
	}
	.footMenu ul li ul{
		margin-top: 12px;
		margin-bottom: 0;
		
		display: none;
	}

	.footMenu ul li span,
	.footMenu ul li a{
		color: #fff;
		font-size: 12px;
	}

	.footMenu ul li.fmTitle span,
	.footMenu ul li.fmTitle a{
		font-weight: 400;
	}



	.footMenu ul li.fmTitle ul{
		margin-top: 10px;
		margin-bottom: 0;
		font-weight: 500;
	}



					}
					
					
					
					
					.legalPage{
						width:800px;
						margin:0 auto;
						
					}
					
					.legalPage p{
						margin-bottom:30px;
						line-height:160%;
					}
					.legalPage p.text-right{
						text-align:right;
						margin-top:50px;
					}
					.legalPage h2{
						margin-bottom:30px;
						line-height:160%;
					}
					
					.legalPage ol{
						margin-bottom:30px;
						margin-left:1.5em;
					}
					
					.legalPage ol li{
						list-style-type:desimal;
						margin-bottom:10px;
						line-height:160%;
					}
					
					
					.newsCont{
						width:800px;
						margin:0 auto;
					}
					.newsDate{
						text-align:right;
						margin-bottom:10px;
					}
					.newsTxt{
						margin-bottom:30px;
						text-align:left;
					}
					.newsTxt p{
						line-height:180%;
						margin-bottom:20px;
					}
					.listBack{
					}
					@media screen and (max-width: 768px) {
						.legalPage{
							width:100%;
							margin:0 auto;
							
						}
						.legalPage p{
							margin-bottom:20px;
							line-height:160%;
						}
						.legalPage h2{
							margin-bottom:20px;
							line-height:160%;
						}
						.legalPage ol{
							margin-bottom:20px;
							margin-left:1.5em;
						}
						
						.legalPage ol li{
							list-style-type:desimal;
							margin-bottom:6px;
						}
					}
