@charset "UTF-8";
/* @import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display&display=swap'); */
/* @import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@300&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Teko:wght@500&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

/* *{
	outline: 1px solid rgba(51, 51, 51, 0.1);
	outline: 1px solid rgba(51, 51, 51, 0.021);
} */


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,font,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{
background:transparent;border:0;margin:0;padding:0;}img{vertical-align: bottom;}body{line-height:1;}h1,h2,h3,h4,h5,h6,th{font-weight:normal;}
ol,ul{list-style:none;}blockquote{quotes:none;}blockquote:before,blockquote:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}a img{border:none;}
.clear:after{content:".";display:block;clear:both;height:0;visibility:hidden;}.clear{min-height:1px;}
* html .clear{height:1px;/*\*//*/height: auto;overflow: hidden;/**/
}
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,time{display:block;}
address{font-style:normal;}
hr{margin:0;}
figure{
	display: block;
	margin: 0;
	padding: 0;
}
main{
	display: block;
	margin-top: 84px;
	letter-spacing: 0.04em;
}
header.type-rec+main{
	margin-top: 0;
}
@media screen and (max-width:768px){
	header.type-rec+main{
		margin-top: 60px;
	}
}


html{
	font-size: 62.5%;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
}
html,body{
	min-width: 1400px;
}
body{
	color:#262626;
	font-size: 1.6rem;
	font-family: "Noto Sans JP","游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	font-weight: 500;
}




/*--------------- WP post common ---------------*/
/* .alignright{
	text-align: right;
	margin-left: auto;
	margin-right: 0;
} */


/*- - - - - - - - WP post common - - - - - - - -*/

a{text-decoration:none;}
/* header a:link,
header a:visited,
footer a:link,
footer a:visited{
	color: inherit;
} */
a:link,a:visited{color:inherit;}


.lead{
	line-height: 1.7;
	font-size: 1.6rem;
	text-align: justify;
}
.lead+.lead{
	margin-top: 1.9em;
}
.bold{
	font-weight: 700;
}
.size30{
	font-size: 30px;
}
.al-r{
	text-align: right;
}
.center{
	text-align: center;
}
.underline{
	text-decoration: underline;
}
.inner{
	/* width: 1166px; */
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
}
.inner1200{
	max-width: 1240px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
}
.wid880{
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}
/* .inner1000{
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
}
.inner1200{
	max-width: 1240px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
} */

.wf-a{
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
}
.wf-b{
	font-family: 'Teko', sans-serif;
	font-weight: 500;
}
img{
	width: 100%;
	height: auto;
}
.sec120 section+section{
	margin-top: 120px;
}
.box2,
.box3{
	display: flex;
	flex-wrap: wrap;
}
.box2>.box{
	width: 50%;
}
.box3>.box{
	width: calc(100% / 3.001);
}


/* @media screen and (min-width:769px){
	body{
		position: relative;
		top: 0;
		margin: 0;
		padding: 0;
	}
	body:after{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		width: 1200px;
		height: 100%;
		border-left: 1px solid #000;
		border-right: 1px solid #000;
		background-color--: rgba(0, 0, 0, 0.11);
		left: calc(50% - 600px);
		pointer-events: none;
	}
} */


@media screen and (max-width:768px){
	html,body{min-width: 100%;}
	body{
		font-size: 1.2rem;
		min-width: 100%;
	}
	main{
		margin-top: 60px;
	}
	.lead{font-size: 1.2rem;}
	.size30{
		font-size: 20px;
	}
	.inner{
		width: 100%;
		padding-left: 5vw;
		padding-right: 5vw;
	}
	img{
		width: 100%;
		height: auto;
	}
	
	.sec120 section+section{
		margin-top: 40px;
	}
	
}



/*--------------- parts ---------------*/


.com-title-h2{
	font-size: 25px;
	font-weight: 700;
	line-height: 1.4;
}
.com-title-h2+.lead{
	margin-top: 1em;
}
@media screen and (max-width:768px){
	.com-title-h2{
		font-size: 16px;
	}

}
















.com-btn-arrow{
	position: relative;
	padding-right: 60px;
	font-size: 16px;
	font-weight: 700;
}
.com-btn-arrow:after{
	content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Mi40MTQgNi43MDciPgo8cGF0aCBpZD0icF84NSIgZGF0YS1uYW1lPSJwIDg1IiBkPSJNMjg2MCwyMjU5LjJoNDBsLTUtNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI4NjAgLTIyNTMuNDkzKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+");
/*
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.414 6.707">
<path id="p_85" data-name="p 85" d="M2860,2259.2h40l-5-5" transform="translate(-2860 -2253.493)" fill="none" stroke="#FFF" stroke-width="2"/>
</svg>
*/
	font-size: 0;
	line-height: 1;
	display: block;
	position: absolute;
	width: 40px;
	height: 5px;
	top: calc(50% - 2.5px);
	right: 0;
	-webkit-transition: right 0.2s cubic-bezier(0,.5,.5,1);
			transition: right 0.2s cubic-bezier(0,.5,.5,1);
}
.com-btn-arrow.wh{
	color: #FFF;
}
.com-btn-arrow.wh:after{
	content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Mi40MTQgNi43MDciPgo8cGF0aCBpZD0icF84NSIgZGF0YS1uYW1lPSJwIDg1IiBkPSJNMjg2MCwyMjU5LjJoNDBsLTUtNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI4NjAgLTIyNTMuNDkzKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRkZGIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+");
}

@media screen and (min-width:769px){
	a.com-btn-arrow:hover:after{
		right: -10px;
		-webkit-transition: right 0s cubic-bezier(0,.5,.5,1);
			transition: right 0s cubic-bezier(0,.5,.5,1);
	}

}
@media screen and (max-width:768px){
	.com-btn-arrow{
		padding-right: 30px;
		font-size: 12px;
	}
	.com-btn-arrow:after{
		width: 20px;
		height: 2.5px;
		top: calc(50% - 1.255px);
	}
}


/* .fill-gr{
	background-color: rgba(0, 128, 0, 0.1);
} */
.fill-gy{
	background-color: #EFEFEF;
}
.fill-wh{
	background-color: #FFF;
}
.fill-ed{
	background-color: #ededed;
}
.fill-f2{
	background-color: #F2F7F5;
}
.fill-dgreen{
	background-color: #166442;
}



.fill-ed-offset{
	background: -moz-linear-gradient(top,  rgba(237,237,237,0) 0%, rgba(237,237,237,0) 100px, rgba(237,237,237,1) 100px, rgba(237,237,237,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(237,237,237,0) 0%,rgba(237,237,237,0) 100px,rgba(237,237,237,1) 100px,rgba(237,237,237,1) 100%);
	background: linear-gradient(to bottom,  rgba(237,237,237,0) 0%,rgba(237,237,237,0) 100px,rgba(237,237,237,1) 100px,rgba(237,237,237,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ededed', endColorstr='#ededed',GradientType=0 );
}










.com-diagph-elem .diag-part{
	display: flex;
	align-items: center;
}
.com-diagph-elem .diag-part+.diag-part{
	margin-top: 140px;
}
.com-diagph-elem .diag-part:nth-child(even){
	flex-direction: row-reverse;
}
.com-diagph-elem .diag-part:nth-child(odd) .part-img{
	margin-right: -14%;
}
.com-diagph-elem .diag-part:nth-child(even) .part-img{
	margin-left: -14%;
}
.com-diagph-elem .part-img{
	width: 64%;
}
.com-diagph-elem .part-txt{
	width: 50%;
	position: relative;
	z-index: 1;
	border-bottom: 3px solid #008001;
	display: flex;
	flex-direction: column;
	padding-top: 40px;
	padding-bottom: 30px;
}
.com-diagph-elem .diag-part:nth-child(odd) .part-txt{
	align-items: flex-end;
	padding-right: 7%;
	text-align: right;
}
.com-diagph-elem .diag-part:nth-child(even) .part-txt{
	align-items: flex-start;
	padding-left: 7%;
}
.com-diagph-elem .part-jp{
	font-size: 32px;
	font-weight: 700;
}
.com-diagph-elem .part-en{
	font-size: 25px;
	font-weight: 700;
	margin-top: 0.3em;
	line-height: 1.2;
}
.com-diagph-elem .diag-part .part-img.com-ovfill:before{
	background-color: #FFF;
	left: auto;
	right: auto;
	transform: skewX(-14deg);
    width: 70px;
}
.com-diagph-elem .diag-part:nth-child(odd) .part-img.com-ovfill:before {    
    right: -36px;
}
.com-diagph-elem .diag-part:nth-child(even) .part-img.com-ovfill:before {    
    left: -36px;
}

@media screen and (max-width:768px){
	.com-diagph-elem .com-ovfill{
		position: relative;
	}
	.com-diagph-elem .com-ovfill:before {
		content: "";
		position: absolute;
		z-index: 1;
		display: block;
		top: 0;
		bottom: 0;
	}
	.com-diagph-elem .diag-part .part-img.com-ovfill:before{
		background-color: #FFF;
		left: auto;
		right: auto;
		transform: skewX(-14deg);
		width: 6vw;
	}
	.com-diagph-elem .diag-part:nth-child(odd) .part-img.com-ovfill:before {    
		right: -3vw;
	}
	.com-diagph-elem .diag-part:nth-child(even) .part-img.com-ovfill:before {    
		left: -3vw;
	}
	.com-diagph-elem .diag-part{
		display: flex;
		align-items: flex-end;
	}
	.com-diagph-elem .diag-part+.diag-part{
		margin-top: 40px;
	}
	.com-diagph-elem .diag-part:nth-child(odd) .part-img{
		margin-right: -15%;
	}
	.com-diagph-elem .diag-part:nth-child(even) .part-img{
		margin-left: -15%;
	}
	.com-diagph-elem .part-img{
		width: 65%;
	}
	.com-diagph-elem .part-txt{
		border-bottom: 1px solid #008001;
		padding-top: 20px;
		padding-bottom: 15px;
	}
	.com-diagph-elem .diag-part:nth-child(odd) .part-txt{
		padding-right: 0;
	}
	.com-diagph-elem .diag-part:nth-child(even) .part-txt{
		padding-left: 0;
	}
	.com-diagph-elem .part-jp{
		font-size: 18px;
	}
	.com-diagph-elem .part-en{
		font-size: 12px;
	}
}

@media screen and (min-width:769px){
	.com-diagph-elem a.diag-part{
		-webkit-transition: opacity 0.6s;
				transition: opacity 0.6s;
	}
	.com-diagph-elem a.diag-part:hover{
		-webkit-transition: opacity 0s;
				transition: opacity 0s;
		opacity: 0.7;
	}

}





/* 
[class*="com-diag"]{
	position: relative;
}
[class*="com-diag"]>*>*{
	position: relative;
	z-index: 1;
}
[class*="com-diag"]:after{
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 200px;
	background-size: 100% 100%;
}
.com-diag-bt:after{
	bottom: 0;
	background-image: url("../img/com-diag-bt-wh.png");
}
.com-diag-tp:after{
	top: 0;
	background-image: url("../img/com-diag-tp-wh.png");
}
.fill-gr+.com-diag-tp:after{
	top: 0;
	background-image: url("../img/com-diag-tp-gr.png");
}
.fill-gy+.com-diag-tp:after{
	top: 0;
	background-image: url("../img/com-diag-tp-gy.png");
}
.com-diag-tp{
	padding-top: 80px;
}
.fill-gr+.com-diag-tp,
.fill-gy+.com-diag-tp{
	margin-top: 0px;
	padding-top: 120px;
} */


[class*="com-diag"]{
	position: relative;
}
[class*="com-diag"]:not(.hero-elem-type2)>*,
.com-after-diag>*{
	position: relative;
	z-index: 1;
}
[class*="com-diag"]:after{
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	transform: skewY(6deg);
}
.top[class*="com-diag"]:after,
[class*="top-cont-"][class*="com-diag"]:after{
	transform: skewY(10deg);
}


.single-philo.type-imger:after{
	top: -45px;
	height: calc(100% + 45px);
}
@media screen and (max-width:768px){
	.single-philo.type-imger:after{
		top: -7vw;
		height: calc(100% + 7vw);
	}

}


.hero-elem-type2:not(.top)+.com-diag{
	margin-top: -50px;
}
.com-diag.type-gr:after{
	background-color: #E2F3E4;
}
.hero-elem-type2:not(.top)+.com-diag.type-gr:after,
.hero-elem-type2:not(.top)+.com-diag.type-gy:after{
	top: 100px;
	height: calc(100% - 100px);
}
.hero-elem-type2+.com-diag.type-gr.add-bottom:after,
.hero-elem-type2+.com-diag.type-gy.add-bottom:after{
	height: 100%;
} 

.com-diag.type-gy:after{
	background-color: #EFEFEF;
}

@media screen and (max-width:768px){
	.hero-elem-type2+.com-after-diag{
		margin-top: -8vw;
	}
	.hero-elem-type2:not(.top)+.com-diag{
		margin-top: -8vw;
	}
	.hero-elem-type2:not(.top)+.com-diag.type-gr:after,
	.hero-elem-type2:not(.top)+.com-diag.type-gy:after{
		top: 15vw;
		height: calc(100% - 15vw);
	}
	.hero-elem-type2+.com-diag.type-gr.add-bottom:after,
	.hero-elem-type2+.com-diag.type-gy.add-bottom:after{
		height: 100%;
	} 

}


.diag-inn{
	background-color: #FFF;
	padding: 0 60px 60px;
	margin-top: 40px;
}
@media screen and (max-width:768px){
	.diag-inn{
		background-color: #FFF;
		padding: 0 20px 20px;
		margin-top: 2vw;
	}

}





.com-title-elem1{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 95px;
}
/* .com-title-elem1.wid880{
	
	border-bottom: none;
	margin-bottom: 0;
} */

.com-title-elem1.type-ubar{
	padding-bottom: 30px;
	border-bottom: 2px solid #C1C1C1;
	margin-bottom: 50px;
}



.com-title-elem1.type-l{
	align-items: flex-start;
}
.com-title-elem1.type-r{
	align-items: flex-end;
}
.com-title-elem1 .title-h2{
	font-size: 55px;
	font-weight: 500;
	color: #484848;
}
.com-title-elem1.wid880 .title-h2{
	font-weight: 500;
	margin-top: -0.2em;
}
@media screen and (min-width:769px){
	.com-title-elem1.wid880 .title-h2{
		padding-left: 0.3em;
	}

}
.com-title-elem1 .title-en{
	font-size: 133px;
	color: rgba(0, 128, 0, 0.15);
	text-transform: uppercase;
	font-family: "Teko";
	line-height: 1;
}

.type-imger .com-title-elem1>*{
	color: #FFF;
}



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

	.com-title-elem1{
		padding-bottom: 15px;
		margin-bottom: 30px;
	}
	.com-title-elem1.wid880{
		padding-bottom: 30px;
		margin-bottom: 0;
	}
	.com-title-elem1 .title-h2{
		font-size: 24px;
	}
	.com-title-elem1 .title-en{
		font-size: 42px;
		/* margin-top: 0.8em; */
	}
	
}






a.btn-sq,
.btn-sq,
.btn-sq:link{
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	line-height: 1.2;
	color: #FFF;
	padding: 1.3em;
	width: 300px;
}
.btn-sq.gr{
	background-color: #166442;
}
input.btn-sq,
.btn-sq input {
	cursor: pointer;
    -webkit-appearance: none;
    border: none;
	background: none;
}

.btn-sq.type-tri{
	position: relative;
	background-color: #484848;
	overflow: hidden;
}
.btn-sq.type-tri>span,
.btn-sq.type-tri>input{
	position: relative;
	z-index: 1;
}
.btn-sq.type-tri>input{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.btn-sq.type-tri:before{
	content: "";
	position: absolute;
	z-index: 0;
	top: 0;
	left: -115%;
	height: 100%;
	width: 120%;
	background-color: #008001;

	transform: skewX(45deg);

	-webkit-transition: left 0.6s;
			transition: left 0.6s;
}

.btn-sq.type-rec{
	position: relative;
	font-size: 28px;
	padding: 0;
	height: 66px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #006E01;
}
.btn-sq.type-rec:after{
	display: block;
	margin-left: 12px;
	font-size: 0;
	width: 20px;
	height: 20px;
	content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMC44MTggMjIuMDEzIj4KPHBhdGggaWQ9InBfMTY4IiBkYXRhLW5hbWU9InAgMTY4IiBkPSJNMjYwLjc4MSwyNi4wNTlsMTUuNDI3LDkuMzUuMjM4LjEzNkwyNjAuNzgxLDQzLjk4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjU4LjcyMSAtMjMuOTk5KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMyIvPgo8L3N2Zz4=");
	/* content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMC44MTgiIGhlaWdodD0iMjIuMDEzIiB2aWV3Qm94PSIwIDAgMjAuODE4IDIyLjAxMyI+CjxwYXRoIGlkPSJwXzE2OCIgZGF0YS1uYW1lPSJwIDE2OCIgZD0iTTI2MC43ODEsMjYuMDU5bDE1LjQyNyw5LjM1LjIzOC4xMzZMMjYwLjc4MSw0My45OCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI1OC43MjEgLTIzLjk5OSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4KPC9zdmc+"); */





}

.btn-sq.type-conta1{
	background: #008001;
	width: 100%;
}
.btn-sq.type-conta2{
	background: #166442;
	/* width: 100%; */
}
.cont-rec .btn-sq.type-conta2{
	background: rgb(0,128,0);
	background: -moz-linear-gradient(left,  rgba(0,128,0,1) 0%, rgba(22,100,66,1) 100%);
	background: -webkit-linear-gradient(left,  rgba(0,128,0,1) 0%,rgba(22,100,66,1) 100%);
	background: linear-gradient(to right,  rgba(0,128,0,1) 0%,rgba(22,100,66,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#008000', endColorstr='#166442',GradientType=1 );
	
}

@media screen and (min-width:769px){
	/* a.btn-sq{
		-webkit-transition: background 0.6s;
				transition: background 0.6s;
	} */
	/* a.btn-sq:hover{
		background: #008001;
		-webkit-transition: background 0s;
				transition: background 0s;
	} */

	.btn-sq.type-tri:hover:before{
		left: -10%;
		-webkit-transition: left 0.1s;
				transition: left 0.1s;
	}

	.btn-sq.type-rec:hover,
	.btn-sq.type-conta1:hover,
	.btn-sq.type-conta2:hover{
		background-color: #484848;
	}
	.cont-rec .btn-sq.type-conta2:hover{
		background: #484848;
	}

}


/* .btn-ico{
	position: relative;
	display: inline-block;
	font-size: 16px;
	line-height: 1.2;
	padding: 5px 0;
	padding-right: 22px;
}
.btn-ico.map:after{
	display: inline-block;
	position: absolute;
	content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CjxwYXRoIGlkPSJwXzg3IiBkYXRhLW5hbWU9InAgODciIGQ9Ik05NiwwVjEzaDEzVjBabTExLjc1LDExLjc1SDk3LjI1VjMuNWgxMC41WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTkzKSIvPgo8cGF0aCBpZD0icF84OCIgZGF0YS1uYW1lPSJwIDg4IiBkPSJNMS4yNSwxMDcuNzVWOTZIMHYxM0gxM3YtMS4yNUgxLjI1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtOTMpIi8+Cjwvc3ZnPg==");
	width: 16px;
	height: 16px;
	right: 0;
	top: calc(50% - 8px);
} */

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


	.btn-sq,
	.btn-sq:link,
	.btn-sq{
		font-size: 14px;
		/* width: 80%; */
		width: 260px;
	}
	.btn-sq.type-rec{
		height: 50px;
	}
	.btn-sq.type-rec:after{
		width: 12px;
		height: 12px;
	}
	.btn-ico{
		font-size: 12px;
		padding-right: 18px;
	}
	.btn-ico.map:after{
		width: 14px;
		height: 14px;
		top: calc(50% - 7px);
	}
}

.mklist>li{
	position: relative;
	padding-left: 0.8em;
}
.mklist.em05>li{
	padding-left: 0.5em;
	text-indent: -0.5em;
}
.mklist.em1>li{
	padding-left: 1.0em;
	text-indent: -1.0em;
}
.mklist.em2>li{
	padding-left: 2.1em;
	text-indent: -2.1em;
}
.mklist.dot>li:before{
	content: "・";
	position: absolute;
	left: 0;
}
.mklist.cir>li:before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #166442;
	font-size: inherit;
}





.com-coverbox{
    position: relative;
    width: 100%;
}
.com-coverbox:before{
    content:"";
    display: block;
    padding-top: 75%;
}
.com-coverbox.type44:before{
    padding-top: 44%;
}
.com-coverbox.type52:before{
    padding-top: 52%;
}
.com-coverbox.type83:before{
    padding-top: 83%;
}
.com-coverbox>*{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.com-coverbox>.coverimg{
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}




.com-nav-pic{
	display: flex;
	flex-wrap: wrap;
}
.com-nav-pic li{
	position: relative;
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover;
	/* display: flex;
	justify-content: center;
	align-items: center; */
	color: #FFF;
}
.com-nav-pic li>*{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.com-nav-pic li:before {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: 0;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	-webkit-transition: opacity 0.8s;
	transition: opacity 0.8s;
}
.com-nav-pic li:hover:before{
	opacity: 0.5;
	-webkit-transition: opacity 0s;
	transition: opacity 0s;
}
.com-nav-pic li a{
	position: relative;
	z-index: 0;
}














.com-rec-title:not(.type-uline){
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.com-rec-title>*+.title-sub{
	margin-top: 100px;
}
.com-rec-title>*:not(.title-sub){
	font-weight: 700;
	letter-spacing: 0.1em;
	background-color: rgba(0, 0, 0, 0.338);
	background-color: #FFF;
}
.com-rec-title .title-en+.title-jp{
	margin-top: 15px;
}
.com-rec-title .title-en{
	font-size: 20px;
	padding: 0.1em;
}
.com-rec-title .title-jp{
	font-size: 40px;
	padding: 0.2em;
}
.com-rec-title .title-sub{
	font-size: 23px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.1em;
	color: #008000;
}
.com-rec-title.type-uline .title-jp{
	border-bottom: 1px solid #C1C1C1;
	padding: 0 0 0.5em 0;
}
@media screen and (max-width:768px){
	.com-rec-title>*+.title-sub{
		margin-top: 40px;
	}
	.com-rec-title .title-en+.title-jp{
		margin-top: 10px;
	}
	.com-rec-title .title-en{
		font-size: 14px;
	}
	.com-rec-title .title-jp{
		font-size: 20px;
	}
	.com-rec-title .title-sub{
		font-size: 14px;
	}
}





.cont-rec{
	padding-top: 150px;
	padding-bottom: 150px;
}
.cont-rec>.inner1200{
	padding: 0 100px;
	width: 1200px;
}
.cont-rec .com-rec-title+.elem-main{
	padding-top: 50px;
}
.cont-rec .elem-main+.com-rec-title{
	padding-top: 150px;
}
.cont-rec.fill-ed>.type-fill{
	background-color: #FFF;
	padding: 150px 100px;
}
.cont-rec.fill-ed>.type-fill.pd100{
	padding-top: 100px;
	padding-bottom: 100px;
}
@media screen and (max-width:768px){
	.cont-rec{
		padding: 50px 20px;
	}
	.cont-rec>.inner1200{
		padding: 0 20px;
		width: 100%;
	}
	.cont-rec .com-rec-title+.elem-main{
		padding-top: 30px;
	}
	.cont-rec .elem-main+.com-rec-title{
		padding-top: 60px;
	}
	.cont-rec.fill-ed>.type-fill{
		padding: 50px 20px;
	}
	.cont-rec.fill-ed>.type-fill.pd100{
		padding-top: 40px;
		padding-bottom: 30px;
	}

}


/*--------------- hover ---------------*/
/* @media screen and (min-width:769px){
	.btn-sq:after{
		content: "";
		position: absolute;
		background-color: rgba(38, 38, 38, 0.08);
		top: 0;
		left: 100%;
		width: 0;
		height: 100%;
		-webkit-transition: width 0.3s cubic-bezier(.1,1,.3,1),left 0.3s cubic-bezier(.1,1,.3,1);
		transition: width 0.3s cubic-bezier(.1,1,.3,1),left 0.3s cubic-bezier(.1,1,.3,1);
	}
	.btn-sq:hover:after{
		left: 0;
		width: 100%;
		-webkit-transition: width 0.4s cubic-bezier(.1,1,.3,1);
		transition: width 0.4s cubic-bezier(.1,1,.3,1);
	}
} */

/*- - - - - - - - hover - - - - - - - -*/




 
/*- - - - - - - - parts - - - - - - - -*/







/*--------------- common ---------------*/

header{
	position: fixed;
	z-index: 10;
	top: 0;
	width: 100%;
	background-color: #FFF;
}
header .inner{
	max-width: 100%;
	/* max-width: 1316px; */
	/* padding-left: 45px;
	padding-right: 45px; */
	height: 84px;
	padding-left: 25px;
	padding-right: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header.type-r100 .inner{
	padding-right: 0;
}
header .part-logo{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

header .part-logo a{
	width: 242px;
}
header .part-logo .part-txt{
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #444444;
	padding-top: 0.2em;
}

header.type-rec{
	background: none;
	background-color: rgba(0, 0, 0, 0.105);
}
header .part-logo a{
	width: 216px;
}
header.type-rec .part-logo{
	width: 384px;
}
header.type-rec .inner{
	padding-left: 0;
	padding-right: 40px;
}
header.type-rec .part-logo{
	background-color: #FFF;
	height: 100%;
	padding: 0 40px;
}
header.type-rec .nav-drawer-in{
	color: #FFF;
}
@media screen and (max-width:768px){
	header .inner{
		padding-left: 20px;
		padding-right: 20px;
		height: 60px;
	}
	header .part-logo{
		width: auto;
		height: 38px;
	}
	header .part-logo a,
	header .part-logo img{
		width: auto;
		height: 100%;
	}
	header .part-logo .part-txt{
		font-size: 10px;
		margin-left: 8px;
	}
	header.type-rec{
		background-color: #FFF;
	}
	header.type-rec .part-logo{
		height: 100%;
		padding: 0 20px;
		justify-content: flex-start;
	}
	header.type-rec .part-logo a{
		width: auto;
		height: 38px;
	}
}

.head-nav-elem{
	display: flex;
	font-size: 14px;
}
.head-nav-elem>li>*,
.head-nav-elem .head-ov-part .elem-in-nav li>a,
.head-nav-elem .head-ov-part .elem-in-nav li>span{
	display: block;
	padding: 10px;
	white-space: nowrap;
	font-weight: 700;
}

.type-r100 .head-nav-elem>li + li{
	margin-left:25px;
}



@media screen and (min-width:769px){
	#nav-drawer,
	.nav-drawer-in{
		height: 100%;
	}
	.head-nav-elem{
		align-items: center;
		height: 100%;
	}
	.head-nav-elem .head-ov-part{
		position: relative;
		cursor: pointer;
		height: 100%;
		display: flex;
		align-items: center;
	}
	.head-nav-elem>li + li{
		margin-left: 5px;
	}
	.head-nav-elem .head-ov-part:hover .elem-in-nav{
		display: block;
	}
	.head-nav-elem .head-ov-part .elem-in-nav .part-fx-wrap{
		display: flex;
		justify-content: center;
	}
	.head-nav-elem .head-ov-part .elem-in-nav{
		display: none;
		position: absolute;
		left: 50%;
		transform: translate(-50%, 0);
		-webkit-transform: translate(-50%, 0);
		top: 100%;
		min-width: 140px;
		padding-top: 18px;
		padding-bottom: 18px;
		background-color: rgba(255, 255, 255, 0.5);
	}
	header.color2 .head-nav-elem .head-ov-part .elem-in-nav{
		background-color: rgba(68, 68, 68, 0.5);
		color: #FFF;
	}
	.head-nav-elem .head-ov-part .elem-in-nav li+li{
		margin-top: 5px;
	}

	header.color2 .head-nav-elem .head-ov-part .elem-in-nav li+li{
		border-top: 1px solid #FFF;
		padding-top: 0.3em;
	}
	.head-nav-elem>li.type-fill{
		height: 100%;
		display: flex;
		color: #FFF;
		padding-left: 10px;
	}
	.head-nav-elem>li.type-fill a{
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		height: 100%;
		background-color: #A2A1A1;
		width: 120px;
		line-height: 1.6;
	}
	.head-nav-elem>li.type-fill a:last-child{
		background-color: #008001;
	}
	.head-nav-elem>li.type-fill a:nth-child(2){
		background-color: #484848;
	}
	.head-nav-elem>li:not(.type-fill)>a:hover,
	.head-nav-elem ul:not(.part-fx) a:hover{
		color: #008001;
	}
	.head-nav-elem>li.type-fill a:hover{
		background-color: #8F8F8F;
	}
	.head-nav-elem>li.type-fill a:hover:last-child{
		background-color: #006E01;
	}

	.head-nav-elem>li:not(.type-fill)>a{
		position: relative;
	}
	header:not(.type-rec) .head-nav-elem>li:not(.type-fill)>a:after{
		content: "";
		position: absolute;
		display: block;
		bottom: 0;
		height: 2px;
		background-color: #006E01;
		left: 50%;
		right: 50%;
		-webkit-transition: left 0.4s,right 0.4s;
		transition: left 0.4s,right 0.4s;
	}
	.head-nav-elem>li:not(.type-fill)>a:hover:after{
		left: 10px;
		right: 10px;
		-webkit-transition: left 0s,right 0s;
		transition: left 0s,right 0s;
	}


	header.type-rec .head-nav-elem>li + li{
		margin-left: 15px;
	}
	header.type-rec .head-nav-elem>li.type-fill{
		height: 34px;
	}
	header.type-rec .head-nav-elem>li.type-fill a{
		background-color: #000;
		width: 144px;
		line-height: 1;
	}
	header.type-rec .head-nav-elem>li.type-fill a:last-child{
		background-color: #008001;
		margin-left: 30px;
	}
}

@media screen and (max-width:768px){
	.head-nav-elem{
		font-size: 14px;
		flex-direction: column;
		padding: 0 15px;
	}
	.head-nav-elem>li a{
		padding-top: 30px;
		border-bottom: 1px solid #999;
	}
	.head-nav-elem>li + li,
	.type-r100 .head-nav-elem>li + li{
		margin-left: 0;
	}
	.head-nav-elem .elem-in-nav{
		padding: 0 0 10px;
	}
	.head-nav-elem .elem-in-nav li{
		position: relative;
	}
	.head-nav-elem .head-ov-part .elem-in-nav li>a{
		display: block;
		padding-left: 25px;
		font-size: 14px;
		border: none;
	}
	.head-nav-elem .elem-in-nav li>a:after{
		content: "";
		position: absolute;
		display: block;
		width: 10px;
		height: 1px;
		background-color: #FFF;
		left: 10px;
		top: calc(50% - 0px);
	}


	.head-nav-elem>li.type-fill{
		width: 100%;
		display: flex;
		color: #FFF;
		height: 60px;
		margin-top: 30px;
		
	}
	.head-nav-elem>li.type-fill a{
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		
		background-color: #A2A1A1;
		width: 50%;
		height: 100%;
		line-height: 1.6;
		padding: 0;
		border: none;
	}
	.head-nav-elem>li.type-fill a:last-child{
		background-color: #008001;
	}
	.head-nav-elem>li.type-fill a:nth-child(2){
		background-color: #484848;
	}
}











@media screen and (min-width:769px){
	.elem-in-nav-sele.sp{
		display: none;
	}
	.head-ov-part-pic{
		cursor: pointer;
		height: 100%;
		display: flex;
		align-items: center;
	}

	/* .head-ov-part-pic *{outline: 1px solid #008001;} */

	.head-ov-part-pic:hover .elem-in-nav-pic{
		display: block;
	}
	.head-ov-part-pic .elem-in-nav-pic{
		display: none;
		position: absolute;
		left: 0;
		width: 100%;
		top: 100%;
		min-width: 140px;
		padding-top: 37px;
		padding-bottom: 43px;
		background-color: #CCE1CC;
	}
	.elem-in-nav-pic .part-fx-wrap{
		display: flex;
		justify-content: center;
	}
	.elem-in-nav-pic .part-fx{
		width: 1015px;
		margin-top: -15px;
	}
	.elem-in-nav-pic .part-fx li{
		position: relative;
		width: calc((100% - 75px) / 5.001);
		height: 80px;
		margin: 15px 7.5px 0;
	}
}

@media screen and (max-width:768px){
	.head-nav-elem li>.pc{
		display: none;
	}



	.elem-in-nav-sele{
		position: relative;
	}
	.elem-in-nav-sele:after {
		pointer-events: none;
		content: "";
		position: absolute;
		display: block;
		z-index: 1;
		top: calc(50% - 3px);
		right: 20px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 6px 0 6px;
		border-color: #FFF transparent transparent transparent;
	}

	.elem-in-nav-sele select {
		width: 100%;
		font-size: 14px;
		color: #FFF;
		height: 30px;
		line-height: 30px;
		padding-left: 1em;
		cursor: pointer;
		border: none;
		outline: none;
		background: transparent;
		background-image: none;
		box-shadow: none;
		-webkit-appearance: none;
		appearance: none;
		background-color: #888;
		/* border-radius: 5px; */
	}
	.elem-in-nav-sele select::-ms-expand{display: none;}





}






















@media only screen and (max-width: 768px){
	#nav-drawer{
		width: 100%;
		overflow-x: hidden;
		position: absolute;
	}
	.nav-drawer-in{
		position: fixed;
		z-index: 0;
		top: 0;
		bottom: 0;
		left: 100%;
		width: 100%;
		/* height: 100vh; */
		padding-top: 30px;
		background-color: rgba(70, 70, 70, 0.95);
		color: #FFF;
		-webkit-transition: left 0.4s;
				transition: left 0.4s;
	}
	.open .nav-drawer-in{
		left: 0;
	}
	.open #nav-drawer{
		display: block;
	}
	#nav-toggle *:focus {
		outline: none;
		opacity: 0.8;
		color: transparent;
	}

	#nav-toggle{
		position: fixed;
		z-index: 2;
		top: auto;
		top: 0;
		right: 0;
		display: block;
		width: 60px;
		height: 60px;
		padding: 20px 17px 0;
		cursor: pointer;
		background-color: #FFF;
		opacity: 0.8;
	}
	#nav-toggle div {
		position: relative;
	}
	#nav-toggle span{
		display: block;
		background-color: #000;
		position:absolute;
		height: 1px;
		left: 0;
		right: 0;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}
	#nav-toggle span:nth-child(1){top:0px;}
	#nav-toggle span:nth-child(2){top:8px;}
	#nav-toggle span:nth-child(3){top:16px;}
	.open #nav-toggle span:nth-child(1){
		top: 10px;
		left: -2px;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		width: 114%;
	}
	.open #nav-toggle span:nth-child(3){
		top: 10px;
		left: -2px;
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg);
		width: 114%;
	}
	.open #nav-toggle span:nth-child(2){opacity: 0;}
}










footer{
	position: relative;
	padding-top: 45px;
	background-color: #000;
	color: #FFF;
	font-size: 14px;
}
footer.type-rec{
	padding-top: 80px;
	background-color: #444444;
}
footer .inner{
	display: flex;
	justify-content: space-between;
	max-width: 1340px;
}
footer .elem1 .lead+.lead{
	margin-top: 0.5em;
}
footer .elem2{
	display: flex;
}
footer .part-logo{
	display: block;
	width: 308px;
	background-color: #FFF;
	padding: 12px 33px;
}
footer .part-logo+*{
	margin-top: 10px;
}
footer .elem2 li>a,
footer .elem3 li>a{
	padding: 10px;
	display: block;
}
footer .elem2 li+li{
	margin-top: 5px;
}
.foot-nav-elem+.foot-nav-elem{
	margin-left: 30px;
}
.foot-nav-elem .elem-in-nav{
	margin-top: 5px;
}
.foot-nav-elem .elem-in-nav a{
	position: relative;
	font-weight: 400;
	padding-left: 24px;
	line-height: 1.4;
}
.foot-nav-elem .elem-in-nav a:before{
	content: "";
	position: absolute;
	left: 10px;
	top: 1.4em;
	display: block;
	width: 10px;
	height: 1px;
	background-color: #444444;
}
footer.type-rec .foot-nav-elem .elem-in-nav a:before{
	background-color: #FFF;
}
footer .elems1 .elem1 .lead{
	font-size: 14px;
	line-height: 1.2;
}
footer .elems2{
	padding: 0 0 30px;
	font-size: 12px;
}
footer.type-rec .elems2{
	padding: 50px 0 50px;
	font-size: 12px;
}
footer .elems2 .inner{
	display: block;
}
.foot-nav-elem2{
	display: flex;
	margin-left: -10px;
}
.foot-nav-elem2>li+li{
	margin-left: 5px;
}
footer .elems2 .elem3+.elem4{
	width: auto;
	display: block;
}
footer .elems2 .elem3{
	display: flex;
	justify-content: center;
	padding-top: 30px;
	padding-bottom: 12px;
}
footer .elems2 .elem3 li a{
	padding: 0 1em;
	border-left: 1px solid #FFF;
}
footer .elems2 .elem3 li:last-child a{
	border-right: 1px solid #FFF;
}
footer:not(.type-rec) .elems2 .elem4{
	width: 100%;
	text-align: right;
}
footer .cright{
	display: block;
	font-size: 12px;
	font-weight: 400;
}
footer li.type-fill a+a{
	margin-top: 15px;
}
footer li.type-fill a{
	background-color: #A2A1A1;
	text-align: center;
	padding: 10px 16px;
}
footer li.type-fill a:last-child{
	background-color: #008001;
}
/* footer li.type-fill{
	height: 100%;
	display: flex;
	color: #FFF;
	padding-left: 10px;
}
footer li.type-fill a{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 100%;
	background-color: #A2A1A1;
	width: 120px;
	line-height: 1.6;
} */


footer .elem2 .type-liner a{
	position: relative;
	font-weight: 400;
	padding-left: 14px;
	line-height: 1.4;
}
footer .elem2 .type-liner a:before{
	content: "";
	position: absolute;
	left: 0;
	top: 1.4em;
	display: block;
	width: 10px;
	height: 1px;
	background-color: #FFF;
}

@media screen and (min-width:769px){
	footer li.type-fill a:hover{
		opacity: 0.7;
	}
	footer li:not(.type-fill) a:hover{
		text-decoration: underline;
	}
}
@media screen and (max-width:768px){
	footer .elem2 .type-liner a:before{
		top: 1.6em;
	}

}


@media screen and (max-width:768px){
	footer,
	footer.type-rec{
		padding-top: 40px;
		font-size: 12px;
	}
	footer .elems1 .inner{
		flex-direction: column-reverse;
		justify-content: space-between;
	}
	footer .elems2 .inner{
		align-items: flex-end;
	}
	footer .elem1{
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 50px;
	}
	footer .elem2{
		display: flex;
		flex-wrap: wrap;
	}
	footer .part-logo{
		width: 70%;
	}
	footer .part-logo+*{
		margin-top: 20px;
	}
	.foot-nav-elem+.foot-nav-elem{
		margin-left: 0;
	}
	footer .elems2,
	footer.type-rec .elems2{
		padding: 0 0 15px;
	}
	footer .elems1{
		padding-bottom: 20px;
	}
	/* .foot-nav-elem2{
		display: flex;
		flex-direction: column;
	} */
	.foot-nav-elem2>li+li{
		margin-left: 0;
	}
	.foot-nav-elem .elem-in-nav a{
		font-size: 11px;
		padding-left: 20px;
	}
	/* footer .elems2 .elem3 li a{
		font-size: 10px;
	} */
	footer .elems2 .elem3{
		padding-top: 0;
		padding-bottom: 30px;
	}
	footer .elems2 .elem3 li{
		margin-top: 1em;
	}
	.foot-nav-elem2{
		flex-wrap: wrap;
		justify-content: center;
		padding: 0 10%;
	}
	footer .elems2 .elem3 li:nth-child(2) a{
		border-right: 1px solid #FFF;
	}
	.foot-nav-elem .elem-in-nav a:before{
		top: 1.65em;
		width: 7px;
	}
	footer:not(.type-rec) .elems2 .elem4,
	footer .elems2 .elem4{
		text-align: center;
	}
	footer .cright{
		font-size: 10px;
		padding-bottom: 10px;
	}
	footer li.type-fill a{
		padding: 12px 16px;
	}
	.foot-nav-elem .type-fill{
		display: flex;
	}
	.foot-nav-elem:last-child{
		display: flex;
		justify-content: center;
		margin: 20px auto 0;
	}
	.foot-nav-elem:last-child li+li{
		margin-top: 0;
		margin-left: 10px;
	}
	.foot-nav-elem:last-child a+a{
		margin-top: 0;
		margin-left: 5px;
	}


	footer.type-rec .elem2>ul{
		width: 50%;
	}
	footer.type-rec .foot-nav-elem:last-child{
		margin-top: 0;
		justify-content: flex-start;
	}
}













.com-table{
	border-collapse: collapse;
	width: 100%;
	/* border-left: 1px solid #C1C1C1;
	border-right: 1px solid #C1C1C1; */
}
.com-table .sizeS{
	font-size: 85%;
}
.com-table tr>*{
	border-top: 1px solid #C1C1C1;
	border-bottom: 1px solid #C1C1C1;
	padding: 1.2em 1em;
	text-align: left;
	line-height: 1.5;
	font-size: 16px;
}
.com-table.type3 tr>*{
	border: 1px solid #C1C1C1;
	text-align: center;
}
.com-table tr .no-padd{
	padding: 0.3em 0;
}
.com-table tr .no-padd tr>*{
	padding: 0.9em 1em;
}

.com-table th{
	background-color: #F3F3F3;
	font-weight: 700;
	width: 300px;
}


.com-table th[rowspan]{
	vertical-align: top;
	border-right: none;
}
.com-table.type2 th{
	vertical-align: top;
}

.com-table td{
	border-left: none;
}

.com-table .part1{
	display: flex;
	flex-wrap: wrap;
}
.com-table .part1>p{
	width: 100%;
	margin-bottom: 0.4em;
}
.com-table .part1>ul+ul{
	margin-left: 2em;
}

.com-table table *{
	background: none !important;
	border: none !important;
	/* padding: 0; */
}


@media screen and (min-width:769px){
	.com-table.type2 th{
		width: 200px;
	}
}
@media screen and (max-width:768px){
	.com-table tr>*{
		font-size: 12px;
	}
	.com-table th{
		width: 30%;
		border-right: none;
	}
	.com-table .part1>ul+ul{
		margin-left: 0;
	}
}




.lead+.elem-form{
	margin-top: 50px;
}
.elem-form .box{
	display: flex;
	font-size: 16px;
	font-weight: 700;
}
.elem-form .box+.box{
	border-top: 1px solid #C1C1C1;
}
.elem-form>ul:not(.mklist){
	border: 1px solid #C1C1C1;
}
.elem-form .mklist{
	margin-top: 1em;
	font-size: 80%;
	line-height: 1.4;
	text-align: left;
}
.elem-form .hisu{
	background-color: #3F8063;
	color: #FFF;
	font-size: 15px;
	line-height: 1;
	padding: 0.2em 0.6em 0.3em;
}
.elem-form .part-mid{
	width: 400px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.3em 1em;
	background-color: #E7EFEB;
}
.cont-rec .elem-form .hisu{
	background-color: #000;
}
.cont-rec .elem-form .part-mid{
	background-color: #E5E5E5;
}
.elem-form .type-area .part-mid{
	align-items:flex-start;
}
.elem-form .part-input{
	flex: 1;
	padding: 10px;
}
.elem-form .form-part{
	width: 100%;
	/* height: 100%; */
	border: 1px solid #C1C1C1;
	font-size: 16px;
	line-height: 1.4;
	/* padding-left: 0.5em; */
	padding: 10px 0.5em;
}
.elem-form .form-part.no-border{
	border: none;
}
.elem-form .no-border+.mklist{
	margin-top: 0.3em;
	font-weight: 500;
}
.elem-form .form-part::placeholder{
	color: #E5E5E5;
}
.elem-form .form-area{
	min-height: 12em;
	resize: vertical;
}
.elem-form .wrap-btn{
	padding-top: 100px;
}
@media screen and (min-width:769px){
	.elem-form .wrap-btn{
		display: flex;
		justify-content: center;
	}
	.elem-form .wrap-btn>*+*{
		margin-left: 100px;
	}
}
@media screen and (max-width:768px){
	.elem-form .wrap-btn>*+*{
		margin-top: 10px;
	}
}


.elem-form .part-input-in.type1{
	display: flex;
	align-items: center;
	/* height: 100%; */
}

@media screen and (min-width:769px){
	.elem-form .part-input-in.type1 .form-part{
		width: 9em;
	}
}


.elem-form .part-input-in.type1 .part-subtxt{
	margin-left: 0.6em;
}
.elem-form .part-input-in.type1 .part-subtxt+*{
	margin-left: 1.2em;
}

.elem-form .part-input-in.type2{
	display: flex;
	flex-direction: column;
}
.elem-form .part-input-in.type2 .part-input-in-col{
	display: flex;
	align-items: center;
}
.elem-form .part-input-in.type2 .part-input-in-col .part-subtxt{
	margin: 0.6em;
}
.elem-form .part-input-in.type2 .part-input-in-col+.part-input-in-col{
	margin-top: 10px;
}
.elem-form .part-input-in.type2 .part-input-in-col .part-subtxt+.form-part{
	width: 10em;
}
/*.elem-form .part-input-in.type2 .part-input-in-col{
	height: 40px;
} */
/* .elem-form .part-input-in .form-part{
	height: 100%;
} */


.elem-form.type-confi .part-input{
	display: flex;
	align-items: center;
	padding: 1.3em 1em;
	line-height: 1.4;
	font-weight: 500;
	word-break: break-all;
}
@media screen and (max-width:768px){
	.lead+.elem-form{
		margin-top: 30px;
	}
	.elem-form .box{
		flex-direction: column;
		font-size: 14px;
	}
	.elem-form .hisu{
		font-size: 10px;
	}
	.elem-form .part-mid{
		width: 100%;
	}
	.elem-form .type-area .part-mid{
		align-items:flex-start;
	}
	.elem-form .part-input{
		flex: 1;
		padding: 10px;
	}
	.elem-form .form-part{
		font-size: 14px;
		padding: 0.8em 0.6em;
	}
	.elem-form .wrap-btn{
		padding-top:40px;
	}
}




.elem-form .tab-select{
	position: relative;
	/* width: calc(100% - 33em);
    min-width: 220px; */
}
.elem-form .tab-select select {
	width: 100%;
	font-size: 1.6rem;
	
	height: 48px;
	line-height: 48px;
	padding-left: 0.6em;
	cursor: pointer;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #C1C1C1;
}
.elem-form .tab-select select:invalid {
	color: #E5E5E5;
}
.elem-form .tab-select select::-ms-expand{display: none;}
.elem-form .tab-select{position: relative;}
.elem-form .tab-select:before,
.elem-form .tab-select:after{
	content: "";
	position: absolute;
	display: block;
	z-index: 1;
	top: calc(50% - 3px);
	right: 20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 7px 0 7px;
	border-color: #707070 transparent transparent transparent;
	pointer-events: none;
}
.elem-form .tab-select:after{
	top: calc(50% - 4px);
	border-color: #FFF transparent transparent transparent;
}
.cont-rec .elem-form .tab-select:before{
    border-style: solid;
    border-width: 10px 6px 0 6px;
    border-color: #000 transparent transparent transparent;
    pointer-events: none;
}
.cont-rec .elem-form .tab-select:after{
	display: none;
}






.com-obi-dl>*,
.com-obi-dl .lead{
	font-size: 16px;
	line-height: 2.0;
	text-align: justify;
}
.com-obi-dl .part-right{
	text-align: right;
}
.com-obi-dl>dd+dt{
	position: relative;
	margin-top: 100px;
}
.com-obi-dl>dd+dt:before{
	content: "";
	position: absolute;
	display: block;
	/* width: 100%; */
	height: 1px;
	background-color: #C1C1C1;
	top: -54px;
	left: -10px;
	right: 0;
}
.com-obi-dl dl>dd+dt{
	margin-top: 1.4em;
	
}
.com-obi-dl dt{
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
	border-left: 10px solid #008001;
	padding: 0 0.8em;
}
.com-obi-dl dl dt{
	
	background-color: #EDEDED;
	color: #000;
	padding-left: 1em;
}
.com-obi-dl dd{
	padding-top: 1.7em;
}
.com-obi-dl dl dd{
	padding-top: 0.4em;
	padding-left: 1em;
}
.com-obi-dl dd>*+*{
	margin-top: 50px;
}
@media screen and (max-width:768px){
	.com-obi-dl>*,
	.com-obi-dl .lead{
		font-size: 1.2rem;
	}
	.com-obi-dl dd+dt{
		margin-top: 50px;
	}
	.com-obi-dl>dd+dt:before{
		top: -28px;
		left: -5px;
	}
	.com-obi-dl dt{
		font-size: 18px;
		border-left: 5px solid #008001;
	}
	.com-obi-dl dd{
		padding-top: 1em;
	}
	.com-obi-dl dd>*+*{
		margin-top: 30px;
	}
}




.com-faq-dl dt,
.com-faq-dl dd{
	position: relative;
	padding: 5px 0 0 65px;
	
}
.com-faq-dl dt+dd{
	margin-top: 45px;
}
.com-faq-dl dd+dt{
	margin-top: 100px;
}
.com-faq-dl dt{
	font-size: 25px;
	font-weight: 700;
	line-height: 1.4;
}
.com-faq-dl dd{
	line-height: 2;
}
.com-faq-dl dt:before,
.com-faq-dl dd:before{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 45px;
	height: 45px;
	text-align: center;
	line-height: 40px;
	font-size: 25px;
	font-weight: 700;
	color: #FFF;
}
.com-faq-dl dt:before{
	content: "Q";
	background-color: #008001;
}
.com-faq-dl dd:before{
	content: "A";
	background-color: #A2A1A1;
}

@media screen and (max-width:768px){
	.com-faq-dl dt,
	.com-faq-dl dd{
		padding: 3px 0 0 35px;
	}
	.com-faq-dl dt+dd{
		margin-top: 10px;
	}
	.com-faq-dl dd+dt{
		margin-top: 40px;
	}
	.com-faq-dl dt{
		font-size: 14px;
	}
	.com-faq-dl dt:before,
	.com-faq-dl dd:before{
		width: 26px;
		height: 26px;
		line-height: 22px;
		font-size: 18px;
	}
}


.com-numtitle{
	display: flex;
	margin-top: 30px;
}
.com-numtitle+*{
	margin-top: 45px;
}
.com-numtitle>*{
	color: #FFF;
}
.com-numtitle .elem-num{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	font-family: 'Montserrat';
	width: 130px;
}
.com-numtitle .elem-num .part-p{
	font-size: 25px;
}
.com-numtitle .elem-num .part-num{
	font-size: 50px;
}
.com-numtitle .elem-title{
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	
	padding-left: 40px;
	text-align: justify;
}
.com-numtitle .part-title{
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
}
@media screen and (max-width:768px){
	.com-numtitle{
		margin-top: 20px;
	}
	.com-numtitle+*{
		margin-top: 20px;
	}
	.com-numtitle .elem-num{
		width: 55px;
	}
	.com-numtitle .elem-num .part-p{
		font-size: 12px;
	}
	.com-numtitle .elem-num .part-num{
		font-size: 30px;
	}
	.com-numtitle .elem-title{
		/* border-left: 1px solid #166442; */
		padding-left: 15px;
	}
	.com-numtitle .part-title{
		font-size: 16px;
	}
}


/*- - - - - - - - common - - - - - - - -*/







/*--------------- 000000 ---------------*/
/*- - - - - - - - 000000 - - - - - - - -*/



/*--------------- property ---------------*/


/*- - - - - - - - property - - - - - - - -*/





















/*--------------- ani ---------------*/

.target-ani{
	opacity: 0;
}
.target-ani.is-ani{
	opacity: 1;
	-webkit-transition: opacity 0.8s;
			transition: opacity 0.8s;
}






/*- - - - - - - - ani - - - - - - - -*/




.sp{display: none;}
@media screen and (max-width:768px){
	.pc{ display: none;}
	.sp{ display: block;}
	.pc+a.sp{ display: inline;}
}