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



:root {
 --text-white:#fff;
 --text-gray:#555;
 --grayish:#ddd;
 --main:#006835;
--biz1:#ff2e4d;
--biz2:#44b29d;
--biz3:#e7c041;
--biz4:#e37b40;
}
html {
	font-size: 62.5%;
}
body {
	padding-top: 45px;
	margin: 0;
	font-family: "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.5rem;  /* 15px */
	line-height: 2rem;
}
.container {
	
	padding-right: 20px;
	padding-left: 20px;
}


 @media(min-width:768px) {
	 .container {
	max-width: 1080px;
	padding-right: 40px;
	padding-left: 40px;
}


 }


ul, li {
	list-style: none;
}
.clr-biz1 {
	color: #ff2e4d;
	color: var(--biz1)
}
.clr-biz2 {
	color: #44b29d;
	color: var(--biz2)
}
.clr-biz3 {
	color: #e7c041;
	color: var(--biz3)
}
.clr-biz4 {
	color: #e37b40;
	color: var(--biz4)
}
/* animation */

.popup {
	opacity: 0;
	transform: translate(0, 60px);
	-webkit-transform: translate(0, 60px);
	transition: 0.5s;
}
.popup_2 {
	opacity: 0;
	transform: translate(0, 60px);
	-webkit-transform: translate(0, 60px);
	transition: 0.7s;
}
.popupeffect {
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
	opacity: 1.0;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}
.accordion {
	cursor: pointer;
}
.accordion + p, .accordion +.table {
	display: none;
}
.active {
	transform: rotate(180deg);
	transition: 0.5s;
}
/* TITLE */

.title h2 {
	display: flex;
	align-items: center;
	font-family: 'Oswald', sans-serif;
	font-size: 4rem;
}
.title h2:before, .title h2:after {
	border-top: 1px solid #ddd;
	border-top: 1px solid var(--grayish);
	content: "";
	flex-grow: 1;
}
.title h2:before {
	margin-right: 3.5rem;
}
.title h2:after {
	margin-left: 3.5rem;
}
.title p {
	display: flex;
	justify-content: center;
	padding-bottom: 30px;
	font-size: 1.2rem;
}
/* NAVI */

header {
	width: 100%;
	background-color: #fff;
}
header .container {
		width: 100%;
	padding: 0;
	margin:0;
	height: 50px;
	opacity:0.9;
}

header .sub-container{
	display:flex;
	justify-content:space-between;
  align-items: center;
	padding:0 15px;
	}

header #toplogo {
	display:inline-block;
	height:40px;
	margin:5px 0;
}


header #toplogo img{
	
	height:100%;
}


header #toggle{
	font-size:2rem;	
}


#headernav  {
	display: none;
	
}


#headernav ul a {
	display: block;
	padding: 15px;
	font-size:1.5rem;
	color:inherit;
	text-decoration:none;
	background-color: #fff;
	border-bottom:1px solid #ddd;
}





 @media(min-width:768px) {
	 
header{
	    border-radius: 0 0 10px 10px;
    border-bottom: 2px solid #5a5a5a;
	
	
	}	 
	 
header .container {
	width:auto;
	display: flex;
justify-content: space-between;
	align-items: center;
	margin:auto;
		padding: 0 40px;
}

header #toplogo {
	height:40px;
	margin: 5px 0;
}


header #toggle{
	display:none;
	}
	
	#headernav  {
	display: block!important;
	
}


#headernav ul {
	display: flex;
	align-items: center;
	margin: 0;
}
#headernav ul li {
	margin-right: 10px;
}
#headernav ul li a {
	padding: 5px;
		border-bottom:0;
}
#headernav ul li:last-child {
	margin-right: 0px;
}

#headernav ul a:hover {
	opacity:0.5;
}
}
/* MV */
#mv {
	padding: 40px 0 30px 0;
	color: #fff;
	color: var(--text-white);
	background-image: url(../img/mv_bg.png);
	background-repeat: no-repeat;
	background-position: center center;
		background-size: cover;
		
	



}



 @media(min-width:992px) {
#mv {
	background-attachment:fixed;
}
}



#mv .text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#mv .text h1 {
	max-width: 300px;
}
#mv .text h1 img {
	width: 100%;
}
#mv .text p {
	max-width: 350px;
	padding: 20px 0 0 0 ;

	font-size: 2.5rem;
	text-align: center;
	text-shadow: 0px 0px 10px #000;
	line-height: 1.4;
}

#mv .text p.subtext {
	max-width: 350px;
	padding: 5px 0;
	margin-bottom: 30px;
	font-size: 1.3rem;
	text-align: center;
	line-height: 1.4;
}



#mv ul {
	display: flex;
	justify-content: center;
}
#mv ul div {
	margin-bottom: 30px;
}
#mv ul a:hover {
	opacity: 0.7;
}
#mv ul li {
	display: flex;
	justify-content: center;
}
#mv ul li img {
	width: 100%;
	max-width: 180px;
}
/* ABOUT */

#about .container {
	padding-top: 40px;
	padding-bottom: 40px;
	
}
#about .text {
	color: #555;
	color: var(--text-gray);
	margin-bottom: 20px;
}
#about .text h3 {
	width: 100%;
	padding: 5px 5px 5px 15px;
	font-size: 1.8rem;
	color: #fff;
	color: var(--text-white);
	background-image: linear-gradient( -45deg, #006835 25%, #005f30 25%, #005f30 50%, #006835 50%, #006835 75%, #005f30 75%, #005f30 );
	background-size: 8px 8px;
}
#about .text:nth-child(2n) h3 {
	border: 1px solid #006835;
	border: 1px solid var(--main);
	color: #006835;
	color: var(--main);
	background-image: none;
	background-color: #fff;
}
#about .text dl {
	display: flex;
	flex-wrap: wrap;
	padding: 10px 15px;
	border: 1px solid #006835;
	border: 1px solid var(--main);
}
#about .text:nth-child(2n) dl, #about .text:nth-child(2n) p {
	color: #fff;
	color: var(--text-white);
	background-image: linear-gradient( -45deg, #006835 25%, #005f30 25%, #005f30 50%, #006835 50%, #006835 75%, #005f30 75%, #005f30 );
	background-size: 8px 8px;
}
#about .text dt {
	width: 100%;
	padding-bottom: 5px;
	margin-top: 15px;
	margin-bottom: 5px;
	border-bottom: 1px dashed #ddd;
	border-bottom: 1px dashed var(--grayish);
}
#about .text dt:first-child {
	margin-top: 0px;
	;
}
#about .text dd {
	width: 100%;
}
#about .text dl dd .ul_separate {
	display: flex;
}
#about .text dl dd .ul_separate div {
	flex: 1;
}
#about .text:nth-child(2n) dd {
	color: #fff;
	color: var(--text-white);
}
#about .text p {
	padding: 10px 15px;
	border: 1px solid #006835;
	border: 1px solid var(--main);
	
}
#about .text .table {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #006835;
	border: 1px solid var(--main);
	line-height: 2rem;
}
#about .text .table table {
	width: 100%;
}
#about .text .table table tr:nth-child(2n) {
	background-color: #eee;
}
#about .text .table table tr th {
	min-width: 160px;
	padding: 0.4rem;
}
#about .text .table table tr td {
	padding: 0.4rem;
}
#about .text p span {
	display: block;
	margin-top: 5px;
	text-align: right;
}

/* business */


#business .container {
	height:100%;
	padding-top: 20px;
	padding-bottom: 20px;
	
}

#business section {
	height:100%;
	position: relative;
	margin-bottom: 20px;
	color: #fff;
	color: var(--text-white);
} 


 @media(min-width:768px) {
#business section {
	margin-bottom: 60px;
}
}

#business section:last-child {
	
	margin-bottom: 60px;
	
} 


#business section .container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

 @media(min-width:768px) {


#business section .container {
    height: 180px;
	flex-direction: row;
	
}


}




#business section .icon {

	width: 220px;
	height:220px;


}








#business section .text {

	
	width:100%;
	height:100%;
	padding-left: 15px;
}


#business section .text h3 {
	
	width: 100%;
	font-size: 2.2rem;

	    margin-bottom: 15px;
}
#business section .text p {
	
	width: 100%;
	   margin-bottom: 10px;
	   
}


#business section .text .buttons .btn{
	width:100%;
	margin-bottom:10px;
	padding:8px;
	font-size:1.2rem;
}
#business section .text .buttons .btn:hover{
	opacity:0.8;
}

#business section .text .buttons .btn:focus{
	color:#fff;
}

#business section .text .buttons .inactive{
	background-color:#555;
	opacity:0.5;
}

#business section .text .buttons .inactive:hover{
	cursor:auto;
	opacity:0.5;	

}


 @media(min-width:768px) {
	 
	 
#business section .icon {
	flex: 0 0 220px;


}




#business section .text h3 {
	flex:1;
}


#business section .text p {
	flex:1;

	   
}

#business section .text .buttons .btn{
	width:auto;
	
}

}





 @media(min-width:992px) {
#business section .icon {
	position: absolute;
	
	z-index: 1;
	top: -18px;
	left:40px;
}
#business section .container:before {
	content: "";
	flex: 0 0 240px;
}



#business section .text .buttons .btn{
		
	width:auto;
	margin-bottom:0px;
}

}


#biz1 {
	background-color: #ff2e4d;
	background-color: var(--biz1);
}
#biz2 {
	background-color: #44b29d;
	background-color: var(--biz2);
}
#biz3 {
	background-color: #e7c041;
	background-color: var(--biz3);
}

#biz3 .buttons .btn{
	background-color: #960;
		border:none;
		border-bottom: 1px solid #eee;
}


#biz4 {
	background-color: #e37b40;
	background-color: var(--biz4);
}


#biz4 .buttons .btn{
	background-color: #a03d06;
		border:none;
		border-bottom: 1px solid #eee;
}




/* contact */


#contact  {
	color: #fff;
	color: var(--text-white);
	background-image: linear-gradient( -45deg, #313131 25%, #2c2c2c 25%, #2c2c2c 50%, #313131 50%, #313131 75%, #2c2c2c 75%, #2c2c2c );
	background-size: 8px 8px;
}

#contact .container {
	padding-top: 40px;
	padding-bottom: 40px;
}



#contact label{
	margin-bottom:5px;
	}

#contact .form-control{
	font-size:1.5rem;
	line-height:1.1;
	
	}
	
	#contact .left{
		display:flex;
		justify-content:flex-end;
		}
		
		#contact .btn{
			width:100%;
			
	margin-top:30px;
	margin-bottom:10px;
	padding:8px;
	font-size:1.5rem;
		background-color: #006835;
		background-color: var(--main);
		border:none;
		border-bottom: 1px solid #eee;
			
			}
			
	#contact .btn:hover{
	opacity:0.8;
}




/* footer */

footer  {
	color: #fff;
	color: var(--text-white);
	background-color: #222 ;
}

footer .container {
	padding: 40px;

}



footer .container div {
margin:0;

}

footer h2 {
	font-size:1.8rem;
	margin-bottom:5px;
}
footer p.address {
	font-size:1.3rem;
		margin-bottom:5px;
}

footer .sns {
	width:100%;
	display:flex;
	justify-content:flex-end;
	margin-bottom:5px;
	font-size:3.5rem;
	

	
}

footer .sns a {
color: #fff;!important
color: var(--text-white);!important
}


footer .sns i{

	margin-left:5px;
	
}


footer .copyright {
	width:100%;
	padding: 10px 0 30px;
	text-align:center;
	font-size:1.2rem;
	}


.ex_font{
font-family: source-han-sans-japanese, sans-serif;
font-weight: 700;
font-style: normal;
}