@charset "UTF-8";



/* ------------------------------------------

  global

------------------------------------------ */
* {
	margin: 0px;
	padding: 0px;
	}

html {
	font-size: 62.5%;
	height: 100%;

    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
}

body {font-size: 10px; font-size: 1.0rem;}
body {
	text-align: center;
	font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
	word-break: break-all;
	}

/* img
-----------------------------------------------------------  */
img {
	padding: 0px;
	margin: 0px;
	border: none;
	vertical-align: text-top;
	display: block;
	max-width: 100%;
	max-height: 100%;
	}

/* text link
----------------------------------------------------------- */
a:link,
a:visited,
a:active {
	color: #333;
	text-decoration: underline;
	}

a:hover {
	color: #ccc;
	text-decoration: underline;
	}


/* clearfix
----------------------------------------------------------- */
/* clearfix */
.cf:before,
.cf:after{
    display: table; 
    content: '';
}

.cf:after{
    clear: both;
}

/* h
----------------------------------------------------------- */
h1,h2,h3,h4,h5,h6 {
	margin: 0px;
	padding: 0px;
	}

/* ul li
----------------------------------------------------------- */
li { list-style:none;}
ul,
ol {}

/* em
----------------------------------------------------------- */
em {font-style: normal;}


/* text-indent
----------------------------------------------------------- */
.headerB h1 a, .headerB strong a
										{ overflow: hidden; text-indent: 100%; white-space: nowrap;}


/* bg color
----------------------------------------------------------- */
.bg00									{ background-color: #027fcf;}
.bg01									{ background-color: #ea5315;}
.bg02									{ background-color: #fce405;}

/* parts
----------------------------------------------------------- */
.w300 { width: 300px!important; }
.mauto { margin:auto!important; }

.pt20 { padding-top: 20px!important; }
.pt30 { padding-top: 30px!important; }
.pt40 { padding-top: 40px!important; }
.pt50 { padding-top: 50px!important; }
.pt60 { padding-top: 60px!important; }
.pt100 { padding-top: 100px!important; }

.pb20 { padding-bottom: 20px!important; }
.pb30 { padding-bottom: 30px!important; }
.pb40 { padding-bottom: 40px!important; }
.pb50 { padding-bottom: 50px!important; }

.mt20 { margin-top: 20px!important; }
.mt30 { margin-top: 30px!important; }
.mt40 { margin-top: 40px!important; }
.mt50 { margin-top: 50px!important; }

.mb0 { margin-bottom: 0px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb60 { margin-bottom: 60px!important; }
.mb70 { margin-bottom: 70px!important; }
.mb80 { margin-bottom: 80px!important; }
.mb90 { margin-bottom: 90px!important; }
.mb100 { margin-bottom: 100px!important; }

.txRed, .tx-red {color:#e60013;}
.txGreen { color:#6fa11f; }
.center { text-align: center!important; }
.inline { display: inline; }
.bold { font-weight: bold!important; }
.width100 { width: 100%!important; }
.wpcf7-spinner { display: none!important; }
.justify-center { justify-content:center; }
.justify-bet { justify-content: space-between; }
.txAleft { text-align: left; }
.txAright { text-align: right; }
.fontM { font-size: 20px!important; }
.font30 { font-size: 30px!important; }
.flex-end { align-items: flex-end; }
.iframe-content { position: relative; width: 100%; padding: 56.25% 0 0 0; text-align: center; margin-bottom: 20px;}
.iframe-content iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.margin-100 { margin:-100px 0 0; }
.margin-50 { margin:-50px 0 0; }

/* PC タブレット用スタイル */
@media (min-width: 768px) {	

/* pc sp
----------------------------------------------------------- */
.pc 									{}
.sp 									{ display: none!important;}
.pcbr	{ display: none!important;}

a[href^="tel:"] {
	pointer-events: none;
}

/* link move
----------------------------------------------------------- */
/* xxx */
.headerB ul li.btn a img,
.rd ul li a img,
.headerT ul li a,
#gN li a,
.headerB .rightBtn ul li a,
#footer li a
	{
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	cursor: pointer;
	}


/* xxx */
.headerT ul li a:hover,
.headerB ul li.btn a img:hover,
.rd ul li a img:hover,
.headerT ul li a:hover,
#gN li a:hover,
.headerB .rightBtn ul li a:hover,
#footer li a:hover
	{
	filter: alpha(opacity=50);
	-webkit-opacity: 0.5;
	-moz-opacity: 0.5;
	opacity: 0.5;
	}
	


/* flex
----------------------------------------------------------- */
.flex 									{ display: flex;}
.flex_center 							{ justify-content: center;}
.between 								{ justify-content: space-between;}
.reverse 								{ flex-direction: row-reverse;}
.wrap									{ flex-wrap: wrap;}


/* width
-----------------------------------------------------------  */
#header .headerT .flex,
#header .headerB .flex,
#gN ul
										{ margin: 0 auto; width: 98%;}
	
/* container
----------------------------------------------------------- */
#container {
	font-size: 16px; font-size: 1.6rem;
	line-height: 1.8;
	color: #333333;
	letter-spacing: 0.06em;
	text-align: left;
	}


/* header
----------------------------------------------------------- */
#header									{ position: fixed; width: 100%; z-index: 10; }

.headerT 								{ height: 42px; background-color: #6fa11f; }
.headerT .flex 							{ justify-content: space-between;}
.headerT p,
.headerT strong 						{ color: #fff; line-height: 40px;}
.headerT ul 							{ text-align: center;}
.headerT ul li							{ display: inline; padding: 0 10px;}
.headerT ul li a 						{ color: #fff; text-decoration: none; line-height: 40px;}
.headerT ul li a img { display: inline; width: 5%; vertical-align: middle; }

.headerB 								{ height: 90px; background-color: #FFFFFF; border-bottom: 1px solid #adadad; }
.headerB .flex 							{justify-content: space-between; }
.headerB h1 a, .headerB strong a
			 							{ display: block; width: 150px; height: 90px; background: url("../../img/union/logo@2x.png") no-repeat center left; background-size: 72%;} 						
.headerB ul.flex 						{ align-items: center;}
.headerB ul li.bn 						{ margin: 0 14px 0 0;}
.headerB ul li.btn a 	 				{}

#header .headerB .center { justify-content: center; }

.smaller .headerT { display: none; }

/* arrowOrange
----------------------------------------------------------- */
.arrowOrange 							{ position: relative; color: #fff; text-align: center; padding: 50px 0; margin: 0;}
.arrowOrange:after 						{ content: ""; display: block; background: url("../../img/union/img_arrow_orange.png") no-repeat center center; width: 152px; height: 50px; bottom: -45px; left: 50%; position: absolute; margin: 0 0 0 -76px;}


/* gN
----------------------------------------------------------- */
#gN 									{ height:90px; }
#gN ul 									{ display: flex; padding: 9px 0 0 30px; box-sizing: inherit; }
#gN li a 								{ font-weight: bold; color: #333333; line-height: 71px; padding: 0 18px 0px 18px; text-decoration: none;}	
#gN li a:hover 							{ color: #ccc;}
#gN li.btn a { border-radius: 18px; background: #6fa11f; padding: 10px 15px; line-height: inherit; display: block; margin-top: 11px; color: #FFFFFF; font-size: 15px;}

/* rd
----------------------------------------------------------- */	
.rd 									{ background-color: #fabe00;}
.rd ul 									{ height: 234px; background: url("../../img/union/rd_bg.png") no-repeat center bottom; background-size: cover; padding: 100px 6px 0 0; box-sizing: border-box; justify-content: flex-end;}
.rd ul li 								{ margin: 0 0 0 12px;}


/* footer
----------------------------------------------------------- */
#footer 								{ background-color: #6fa11f; padding: 50px 50px 15px; position: relative; color: #fff; font-size: 16px; text-align: left;}
#footer ul 								{ margin-bottom: 14px;}
#footer li 								{ display: inline; margin-right: 20px; }
#footer li a 							{ color: #fff; text-decoration: none;}
#footer li a:hover 						{ color: #ccc;}
.footerNav { display: flex;justify-content: space-between;margin-bottom: 60px; }
.footerNav .l { display: flex; }
.footerNav .r {display: flex;}
.footerAddress {}
.footerAddress h2{margin-bottom: 30px;}
.footerAddress p{margin-bottom: 30px;}

.bottomcopy 							{ border-top:1px solid #FFFFFF; padding-top: 12px; }

/* copyright
-------------------*/
#footer p.copy 							{ text-align: center;}

#footerRdv 			{ display: none; }

/* topcontrol ページの先頭へ戻る
----------------------------------------------------------- */
#topcontrol a {
	position: absolute;
	top: -40px;
	right: 20%;
	
	display: block;
	width: 77px;
	height: 77px;
	background: url("../../img/union/totop.png") no-repeat left top;
	background-size: cover;
	text-indent: -9999px;
	
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	}


/* font
----------------------------------------------------------- */
/* basic font-size: 14px; */
.arrowOrange h1,
.arrowOrange h2
										{ font-size: 44px;}
#gN li a,
#footer .linkT li,
#footer .permission p,
#footer .linkB li,
#footer address p
										{ font-size: 16px;}
.headerT p,
.headerT ul li,
.headerT strong,
#footer p.copy
										{ font-size: 13px;}	


}


/* タブレット用スタイル */
@media (min-width: 768px) and (max-width: 1599px) {
.footerNav .l { display: flex; }
.footerNav .r {display: flex;}	
}


@media (min-width: 768px) and (max-width: 1220px) {
.headerB .rightBtn{ display: none; }
.footerNav .l { display:inline-block;line-height: 2.0; }
.footerNav { display: inline-block; margin-bottom: 60px; }
.margin-100 { margin:-50px 0 20px; }

}

@media (min-width: 768px) and (max-width: 1000px) {
#footer .inner { flex-direction:column; }
#footer .footerLeft { margin-bottom: 30px; }

#gN 									{ height:90px; }
#gN ul 									{}
#gN li a 								{ font-size: 14px;}	
#gN li a:hover 							{ color: #ccc;}
#gN li.btn a { display: none; }
}

@media (min-width: 768px) and (max-width: 899px) {	
}

@media screen and (max-width: 1310px){
#gN li a { padding: 0 8px 0px 8px; }
}

@media screen and (max-width: 1000px){
.headerT ul { display: none; }
}
	
/* スマホ用スタイル */
@media screen and (max-width: 767px){

			/* pc sp
			----------------------------------------------------------- */
			.pc 									{ display: none!important;}
			.sp 									{}
			.spbr { display: none; }
			.margin-100 { margin:-30px 0 0; }
			.margin-50 { margin:-10px 0 0; }

			/* flex
			----------------------------------------------------------- */
			/*
			.flex 									{ display: flex;}
			.flex_center 							{ justify-content: center;}
			.between 								{ justify-content: space-between;}
			.reverse 								{ flex-direction: row-reverse;}
			.wrap									{ flex-wrap: wrap;}
			*/

			.w300 { width: auto!important; }
			.width50 { width: 50%!important; margin:0 auto 0; }

			/* width
			-----------------------------------------------------------  */
			#header .headerT .inner,
			#header .headerB .inner,
			#gN ul
													{ margin: 0 auto; width: 96%;}

			/* container
			----------------------------------------------------------- */
			#container {
				font-size: 16px; font-size: 1.6rem;
				line-height: 1.8;
				color: #747474;
				letter-spacing: 0.1rem;
				text-align: left;
				}


			/* header
			----------------------------------------------------------- */
			#header									{}

			.headerT 								{ height: 46px; background-color: #6fa11f; }
			.headerT .flex 							{ }
			.headerT p,
			.headerT strong 						{ color: #fff; }
			.headerT strong { display: block; width: 80%; padding: 13px 2% 0px; }
			.headerT ul 							{ display: none;}
			.headerT ul li							{ }
			.headerT ul li a 						{ }

			.headerB 								{ padding: 0; box-sizing: border-box; border-bottom: 1px solid #DDDDDD;}
			.headerB .flex_sp 						{ display: block;}
			.headerB .flex_sp .flex					{ display: flex; justify-content: center;}
			.headerB h1 a, .headerB strong a
						 							{ display: block; width: 150px; height: 90px; background: url("../../img/union/logo@2x.png") no-repeat center left; background-size: 80%; margin-left: 10px; position: relative; z-index: 10;}
			.headerB p 								{ display: block; margin: 5px 0 0 10px; width: 150px;}
			.headerB .flex_sp ul					{ display: flex; justify-content: end; position: absolute; top: 62px; right: 0; padding: 15px; z-index: 1;}
			.headerB .flex_sp ul li 				{ margin:0px 5px ; width: 8%; }
			.headerB .flex_sp ul li img 			{display: inline-block; vertical-align: middle; }

			.headerB .rightBtn {}
			.headerB .rightBtn ul { display: flex; }
			.headerB .rightBtn ul li {display: inline-block; padding: 0px 0px 10px; margin:0px 10px; }
			.headerB .rightBtn ul li a {}
			.headerB .rightBtn ul li a img {}

			/* arrowOrange
			----------------------------------------------------------- */
			.arrowOrange 							{ position: relative; color: #fff; text-align: center; padding: 2rem 1rem; margin: 0;}
			.arrowOrange:after 						{ content: ""; display: block; background: url("../../img/union/img_arrow_orange.png") no-repeat center center; width: 152px; height: 50px; bottom: -25px; left: 50%; position: absolute; margin: 0 0 0 -76px;}


			/* gN
			----------------------------------------------------------- */
			#gN 									{}
			#gN ul 									{}
			#gN li a 								{ background-color: #6fa11f; border-radius:0; font-weight: normal; }	
			#gN li a:hover 							{}

			/* footer
			----------------------------------------------------------- */
			#footer 								{ background-color: #6fa11f; padding: 30px 30px 30px; position: relative; color: #fff; font-size: 1.5rem; text-align: center;}
			#footer ul 								{ margin-bottom: 20px;}
			#footer li 								{ display: inline-block; margin: 8px; }
			#footer li a 							{ color: #fff; text-decoration: none;}
			#footer li a:hover 						{ color: #ccc;}
			.footerNav { display: block; margin-bottom: 30px; }
			.footerNav .l {}
			.footerNav .r {}
			.footerAddress { text-align: center; }
			.footerAddress h2{ display: inline-block; margin-bottom: 20px;}
			.footerAddress p{margin-bottom: 20px;line-height: 1.6;}

			/* copyright
			-------------------*/
			#footer p.copy 							{ text-align: center;}

			/* footerRdv 固定レスポンズデバイス
			----------------------------------------------------------- */
			
			#footerRdv 				{ display: none; position: fixed; bottom: 0; z-index: 10000; width: 100%; box-shadow: 5px 5px 5px 5px #333; }
			#footerRdv a 			{ display: block; color: #FFF; }
			#footerRdv .left 		{ float: left; width: 50%; background-color: #01528e;}
			#footerRdv .right 		{ float: left; width: 50%; background-color: #27845d;}
			#footerRdv .left .l, 
			#footerRdv .right .l 	{ float: left; font-size: 3.0rem; color: #FFF; padding-left: 9px; padding-right: 8px; width: 17%; }
			#footerRdv .left .r,
			#footerRdv .right .r 	{ padding: 6px 0px; line-height: 1.1; }
			#footerRdv .left .r .small,
			#footerRdv .right .r .small { font-size: 1.0rem; }


			/* topcontrol ページの先頭へ戻る
			----------------------------------------------------------- */
			#topcontrol a {
				position: absolute;
				top: -20px;
				right: 10%;

				display: block;
				width: 37px;
				height: 37px;
				background: url("../../img/union/totop.png") no-repeat left top;
				background-size: cover;
				text-indent: -9999px;

				-webkit-transition: all 0.3s ease;
				-moz-transition: all 0.3s ease;
				transition: all 0.3s ease;
				}


			/* font
			----------------------------------------------------------- */
			/* basic font-size: 14px; */
			.arrowOrange h1,	
			.arrowOrange h2
													{ font-size: 2.8rem;}
			#gN li a
													{ font-size: 1.6rem;}
			#footer .linkT li
													{ font-size: 1.4rem;}
			#footer .permission p
													{ font-size: 1.6rem;}
			#footer .linkB li,
			#footer address p,
			#footer p.copy
													{ font-size: 1.4rem;}
			.headerT p,
			.headerT ul li,
			.headerT strong
													{ font-size: 1.0rem;}	
.font30 { font-size: 2.0rem!important; }

}
