@charset "UTF-8";
/*=================================================================*/
/* 全デバイス共通                                                                                           */
/*=================================================================*/
/*	reset
---------------------------------------------------------------*/
* {
	padding: 0px;
	margin: 0px;
}

/*	img
---------------------------------------------------------------*/
img {
	border: none;
	vertical-align: middle;
}

/*	table
----------------------------------------------------*/
table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
}

/*	clearfix
---------------------------------------------------------------*/
.cf:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.cf {
	display: inline-block;
}

/* Hides from IE-mac \*/
* html .cf {
	height: 1%;
}

.cf {
	display: block;
}

/* End hide from IE-mac */
/*	link
---------------------------------------------------------------*/
a,
a:visited,
a:active {
	color: #000000;
	text-decoration: none;
	transition: all 0.5s ease;
}

@media screen and (min-width: 769px) {
	a:hover {
		opacity: 0.6;
	}
}

/*	color
---------------------------------------------------------------*/
#wrap .red {
	color: #cc2020;
}
#wrap .red span {
	font-weight: normal;
	font-size: 1.2rem;
}

/*	font size
---------------------------------------------------------------*/
.xsmall {
	font-size: 75%;
}

.small {
	font-size: 90%;
}

.large {
	font-size: 125%;
}

/*	align
---------------------------------------------------------------*/
#wrap .center {
	text-align: center;
}

#wrap .left {
	text-align: left;
}

#wrap .right {
	text-align: right;
}

/*	float
---------------------------------------------------------------*/
#wrap .fleft {
	float: left;
}

#wrap .fright {
	float: right;
}

/*	space
---------------------------------------------------------------*/
#wrap .mb0 {
	margin-bottom: 0 !important;
}

#wrap .mb10 {
	margin-bottom: 10px;
}

#wrap .mb15 {
	margin-bottom: 15px;
}

#wrap .mb30 {
	margin-bottom: 30px;
}

#wrap .mb50 {
	margin-bottom: 50px;
}

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

/*	p
---------------------------------------------------------------*/
p {
	color: #000000;
}

/*=================================================================*/
body {
	line-height: 160%;
	margin: 0 auto;
	text-align: left;
	word-break: break-all;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #000;
	background: #fff;
}

/*******************************************************************/
/* PC */
/*******************************************************************/
@media screen and (min-width: 769px) {
	/*<start>==========================================================*/
	html {
		height: 100%;
		font-size: 62.5%;
	}
	/*10px相当にreset*/
	body {
		height: 100%;
		margin: 0;
		font-size: 16px;
		/*css3の効かないブラウザ用*/
		font-size: 1.6rem;
		/*bodyのベースサイズをセット（ここでは16px）以下各要素は10pxを基準にサイズ指定1.2rem（12px）1.4rem（14px）など）*/
		font-weight: 500;
		overflow: hidden;
		overflow-y: scroll;
	}
	.sp, .hamburger {
		display: none !important;
	}
	.inner {
		width: 1000px;
		margin: 0 auto;
	}
	/*=================================================================*/
	/*	header */
	/*=================================================================*/
	header {
		position: fixed;
		width: 100%;
		background: #fff;
		/*box-shadow: 0px 5px 3px -3px rgba(0, 0, 0, 0.15);*/
		z-index: 999;
	}
	header .logo {
		float: left;
		width: 127px;
		padding: 24px 0;
	}
	header nav {
		float: right;
		padding-top: 15px;
		font-size: 1.5rem;
		font-weight: bold;
	}
	header nav ul li {
		float: left;
		display: inline-block;
		padding-top: 14px;
		margin: 0 0 0 50px;
	}
	header nav ul li:last-child {
		padding-top: 0;
	}
	/*=================================================================*/
	/*	article */
	/*=================================================================*/
	article { padding-top: 80px;}
	.baseTtl {
		margin-bottom: 44px;
		font-family: arial, sans-serif;
		font-size: 4.5rem;
		text-align: center;
		line-height: 160%;
		letter-spacing: 0.7rem;
	}
	span.cat {
		position: absolute;
		top: 0;
		right: 0;
		display: inline-block;
		padding: 6px 24px 4px;
		background: #a5cc21;
		color: #fff;
		font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-size: 1.3rem;
		font-weight: normal;
		line-height: 100%;
	}
	a.blackBtn {
		background: #000;
		position: relative;
		display: inline-block;
		min-width: 240px;
		padding: 20px 40px 18px;
		box-sizing: border-box;
		border-radius: 30px;
		color: #fff;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 100%;
		text-align: center;
	}
	a.blackBtn:before {
		position: absolute;
		top: 50%;
		right: 23px;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition: all .22s ease;
		content: '';
	}
	a.blackBtn:hover {
		opacity: 1;
		background: #a5cc21;
	}
	a.blackBtn:hover:before {
		right: 18px;
	}
	a.greenBtn {
		background: #a5cc21;
		position: relative;
		display: inline-block;
		min-width: 240px;
		padding: 20px 40px 18px;
		box-sizing: border-box;
		border-radius: 30px;
		color: #fff;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 100%;
		text-align: center;
	}
	a.greenBtn:before {
		position: absolute;
		top: 50%;
		right: 23px;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition: all .22s ease;
		content: '';
	}
	a.greenBtn:hover {
		opacity: 1;
		background: #000;
	}
	a.greenBtn:hover:before {
		right: 18px;
	}
	section.contact {
		padding: 80px 0 90px;
		background: #a5cc21;
	}
	section.contact p {
		margin-bottom: 44px;
		color: #fff;
		font-size: 3rem;
		font-weight: bold;
		text-align: center;
	}
	section.contact .whiteBox {
		display: table;
		width: 100%;
		background: #fff;
		border-radius: 14px;
		box-shadow: 0px 5px 3px -3px rgba(0, 0, 0, 0.15);
	}
	section.contact .whiteBox > div {
		display: table-cell;
		width: 50%;
		padding-bottom: 50px;
		box-sizing: border-box;
	}
	section.contact .whiteBox div.call {
		padding-top: 127px;
		background: url(../images/union/icon_call.gif) no-repeat center 34px;
		border-right: 2px dotted #a5cc21;
	}
	section.contact .whiteBox div.call ul {
		padding-left: 45px;
	}
	section.contact .whiteBox div.call ul li {
		margin-bottom: 38px;
	}
	section.contact .whiteBox div.call ul li:last-child {
		margin-bottom: 0;
	}
	section.contact .whiteBox div.call ul li span {
		display: inline-block;
		width: 80px;
		padding: 5px 0 3px;
		margin-right: 14px;
		border: 2px solid #a5cc21;
		border-radius: 15px;
		color: #a5cc21;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 100%;
		text-align: center;
		vertical-align: middle;
	}
	section.contact .whiteBox div.call ul li span.num {
		width: auto;
		padding: 0;
		border: 0;
		color: #000;
		font-family: arial, sans-serif;
		font-size: 4.4rem;
		text-align: left;
		letter-spacing: 0.4rem;
	}
	section.contact .whiteBox div.mail {
		padding-top: 115px;
		background: url(../images/union/panf.gif) no-repeat center 34px;
	}
	section.contact .whiteBox div.mail ul {
		width: 400px;
		margin: 0 auto;
	}
	section.contact .whiteBox div.mail ul li {
		margin-bottom: 26px;
	}
	section.contact .whiteBox div.mail ul li:last-child {
		margin-bottom: 0;
	}
	section.contact .whiteBox div.mail ul li a.btn {
		display: block;
		padding: 20px 0 18px;
		background: #a5cc21;
		border-radius: 27px;
		color: #fff;
		font-weight: bold;
		text-align: center;
		line-height: 100%;
	}
	section.contact .whiteBox div.mail ul li a.btn:hover {
		opacity: 1;
		background: #000;
	}
	section.contact .whiteBox div.mail ul li:first-child a.btn {
		position: relative;
		background: #f67313;
	}
	section.contact .whiteBox div.mail ul li:first-child a.btn:before {
		position: absolute;
		top: 50%;
		right: 27px;
		width: 8px;
		height: 8px;
		margin-top: -4px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transition: all .22s ease;
		content: '';
	}
	section.contact .whiteBox div.mail ul li:first-child a.btn:hover {
		opacity: 1;
		background: #000;
	}
	section.contact .whiteBox div.mail ul li:first-child a.btn:hover:before {
		right: 20px;
	}
	.inviewBg:after {
		content: '';
		display: block;
		background-color: #fff;
		height: calc(100vw);
		width: calc(100vw);
		position: absolute;
		transition: -webkit-transform 0.25s cubic-bezier(0.19, 1, 0.22, 1);
		transition: transform 0.25s cubic-bezier(0.19, 1, 0.22, 1);
		transition: transform 0.25s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 1.25s cubic-bezier(0.19, 1, 0.22, 1);
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		pointer-events: none;
	}
	.inviewCont {
		pointer-events: auto;
		bottom: 0;
		overflow: hidden;
		opacity: 0;
		transition: height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
		transition-property: height, opacity, -webkit-transform;
		transition-property: height, transform, opacity;
		transition-property: height, transform, opacity, -webkit-transform;
		transition-delay: 0;
		-webkit-transform: translateY(180px);
		transform: translateY(180px);
	}
	.inviewCont.inView {
		-webkit-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
	/*=================================================================*/
	/*	footer */
	/*=================================================================*/
	footer {
		height: 445px;
		padding: 56px 0;
		box-sizing: border-box;
		overflow: hidden;
		background: url(../images/union/bg_ft.gif) no-repeat center top #000;
		background-size: cover;
	}
	footer .inner {
		position: relative;
	}
	footer a.totop {
		position: absolute;
		top: -17px;
		right: -60px;
		width: 78px;
		height: 78px;
		padding-top: 40px;
		box-sizing: border-box;
		background: url(../images/union/icon_totop.gif) no-repeat center 14px #fff;
		border-radius: 50%;
		font-size: 1.2rem;
		font-weight: bold;
		font-family: arial, sans-serif;
		text-align: center;
		line-height: 100%;
	}
	footer .fleft {
		width: 360px;
	}
	footer .fleft .logo {
		margin: 0 0 19px;
	}
	footer .fleft p {
		font-size: 1.4rem;
		line-height: 140%;
	}
	footer .fleft p span {
		font-size: 1.6rem;
		font-weight: bold;
	}
	footer .fright {
		width: 618px;
	}
	footer .fright nav > ul:first-child {
		float: left;
		width: 196px;
	}
	footer .fright nav > ul:first-child > li {
		margin-bottom: 30px;
	}
	footer .fright nav > ul:first-child ul.subNav {
		padding-top: 8px;
	}
	footer .fright nav > ul:nth-child(2) {
		float: left;
		width: 202px;
	}
	footer .fright nav > ul:nth-child(2) ul.subNav {
		padding-top: 8px;
	}
	footer .fright nav > ul:last-child {
		float: left;
		width: 209px;
	}
	footer .fright nav > ul:last-child li {
		margin: 0 0 8px;
	}
	footer .fright nav > ul > li > a {
		font-weight: bold;
		line-height: 100%;
	}
	footer .fright nav > ul > li a {
		color: #fff;
	}
	footer .fright nav ul.subNav li a {
		font-size: 1.4rem;
	}
	footer .fright ul.otherNav li {
		display: inline-block;
		margin: 0 48px 0 0;
	}
	footer .fright ul.otherNav li a {
		position: relative;
		padding-left: 12px;
		color: #fff;
		font-size: 1.3rem;
	}
	footer .fright ul.otherNav li a:before {
		position: absolute;
		top: 7px;
		left: 0;
		width: 4px;
		height: 4px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		content: '';
	}
	footer p.copy {
		margin-top: 45px;
		font-size: 1.2rem;
		color: #6b6b6b;
		text-align: left;
	}
	/*<end>============================================================*/
}

/*******************************************************************/
/* SP */
/*******************************************************************/
@media screen and (max-width: 768px) {
	/*<start>==========================================================*/
	html {
		font-size: 62.5%;
	}
	/*10px相当にreset*/
	body {
		font-size: 15px;
		/*css3の効かないブラウザ用*/
		font-size: 1.5rem;
		/*bodyのベースサイズをセット（ここでは20px）以下各要素は10pxを基準にサイズ指定2.2rem（22px）2.4rem（24px）など）*/
		width: 100%;
		overflow: hidden;
		overflow-y: scroll;
	}
	html, body {
		-webkit-text-size-adjust: 100%;
		/* iPhoneでのフォントサイズ自動変換OFF  縦横でのフォントサイズが固定される */
		-webkit-font-smoothing: antialiased;
		android: textAppearance= "?android:attr/textAppearanceSmall";
	}
	#wrap {
		width: 100%;
		overflow: hidden;
		overflow-y: scroll;
	}
	.pc {
		display: none !important;
	}
	/*	img
----------------------------------------------------*/
	img {
		width: 100%;
		height: auto;
	}
	/*	inner
----------------------------------------------------*/
	.inner {
		width: 94.66%;
		margin: 0 auto;
	}
	/*=================================================================*/
	/*	header */
	/*=================================================================*/
	header {
		position: fixed;
		width: 100%;
		padding: 4.93% 0;
		background: #fff;
		box-shadow: 0px 5px 3px -3px rgba(0, 0, 0, 0.15);
		z-index: 999;
	}
	header .logo {
		width: 30.84%;
		margin: 0 auto;
	}
	header .fat-nav nav > ul > li {
		position: relative;
		margin: 0 50px;
		text-align: left;
		border-bottom: 1px dotted #a5cc21;
		transition: all 0.5s ease;
	}
	header .fat-nav nav > ul > li.subOpen:after {
		position: absolute;
		top: 23px;
		right: 0;
		width: 6px;
		height: 6px;
		margin: 0 0 0 10px;
		border-top: 2px solid #a5cc21;
		border-right: 2px solid #a5cc21;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		transition: all 0.5s ease;
		content: '';
	}
	header .fat-nav nav > ul > li.subOpen.open:after {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	header .fat-nav nav > ul > li a {
		display: inline-block;
		padding-bottom: 5px;
		font-size: 1.4rem;
		font-weight: bold;
		color: #000;
	}
	header ul.subNav {
		display: block;
	}
	header ul.subNav > li {
		padding-left: 30px;
		text-align: left;
	}
	header ul.subNav > li a {
		padding-bottom: 0;
	}
	.hamburger {
	position: fixed !important;
			}
	/*=================================================================*/
	/*	article */
	/*=================================================================*/
	article { padding-top: 17%;}
	.baseTtl {
		margin-bottom: 8.93%;
		font-family: arial, sans-serif;
		font-size: 2.4rem;
		letter-spacing: 0.5rem;
		text-align: center;
		line-height: 160%;
	}
	span.cat {
		position: absolute;
		top: 0;
		right: 0;
		display: inline-block;
		padding: 1.6% 7.56% 1.06%;
		background: #a5cc21;
		color: #fff;
		font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-size: 1.2rem;
		font-weight: normal;
		line-height: 100%;
	}
	section.contact {
		padding: 8.93% 0;
		background: #a5cc21;
	}
	section.contact p {
		margin-bottom: 5.33%;
		color: #fff;
		font-size: 1.8rem;
		font-weight: bold;
		text-align: center;
	}
	section.contact .whiteBox {
		width: 100%;
		background: #fff;
		border-radius: 14px;
		box-shadow: 0px 5px 3px -3px rgba(0, 0, 0, 0.15);
	}
	section.contact .whiteBox div.mail {
		padding: 22.56% 4.66% 3.25%;
		background: url(../images/union/sp/panf_sp.gif) no-repeat center 20.66%;
		background-size: 14.5%;
	}
	section.contact .whiteBox div.mail a.btn {
		position: relative;
		display: inline-block;
		min-width: 180px;
		padding: 14px 0 12px;
		box-sizing: border-box;
		border-radius: 30px;
		color: #fff;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 100%;
		text-align: center;
		width: 100%;
		background: #f67313;
		margin-top: 5%;
	}
	section.contact .whiteBox div.mail ul li:last-child a.btn {
		margin-top: 5%;
		background: #a5cc21;
	}
	section.contact .whiteBox div.mail ul li:last-child a.btn.insuranceBtn {
		background: #f67313 !important;
	}
	section.contact .whiteBox div.mail a.btn:before {
		position: absolute;
		top: 50%;
		right: 8.33%;
		width: 6px;
		height: 6px;
		margin-top: -3px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		content: '';
	}
	/*=================================================================*/
	/*	footer */
	/*=================================================================*/
	footer {
		background: #eee;
	}
	footer .inner {
		position: relative;
		width: 100%;
	}
	footer a.totop {
		position: absolute;
		bottom: 7%;
		right: 2.66%;
		width: 78px;
		height: 78px;
		padding-top: 40px;
		box-sizing: border-box;
		background: url(../images/union/icon_totop.gif) no-repeat center 14px #fff;
		border-radius: 50%;
		font-size: 1.2rem;
		font-weight: bold;
		font-family: arial, sans-serif;
		text-align: center;
		line-height: 100%;
	}
	footer .fright {
		width: 100%;
	}
	footer .fright nav {
		margin-bottom: 5%;
		background: #000;
	}
	footer .fright nav > ul li {
		position: relative;
	}
	footer .fright nav > ul > li > a {
		display: block;
		padding: 2.56% 12% 2.56% 2.66%;
		border-bottom: 1px dotted #eee;
		color: #fff;
	}
	footer .fright nav > ul:first-child > li, footer .fright nav > ul:nth-child(2) > li {
		padding: 2.56% 12% 2.56% 2.66%;
		border-bottom: 1px dotted #eee;
	}
	footer .fright nav > ul:first-child > li > a, footer .fright nav > ul:nth-child(2) > li > a {
		padding: 0;
		border-bottom: 0;
	}
	footer .fright nav > ul:first-child > li:nth-child(3):before, footer .fright nav > ul:nth-child(2) > li:before {
		position: absolute;
		top: 19px;
		right: 2.66%;
		width: 8px;
		height: 8px;
		margin-top: -5px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		content: '';
		transition: all 0.5s ease;
	}
	footer .fright nav > ul:first-child > li.open:before, footer .fright nav > ul:nth-child(2) > li.open:before {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		content: '';
	}
	footer .fright nav ul.subNav li a {
		padding: 2.56% 7.66%;
		font-size: 1.2rem;
		color: #fff;
	}
	footer .fright ul.otherNav {
		margin-bottom: 13%;
	}
	footer .fright ul.otherNav li {
		display: inline-block;
		padding-left: 2.66%;
		margin: 0 10% 0 0;
	}
	footer .fright ul.otherNav li a {
		position: relative;
		padding-left: 12px;
		font-size: 1.1rem;
	}
	footer .fright ul.otherNav li a:before {
		position: absolute;
		top: 6px;
		left: 0;
		width: 4px;
		height: 4px;
		border-top: 2px solid #000;
		border-right: 2px solid #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		content: '';
	}
	footer p.copy {
		padding-bottom: 5%;
		font-size: 1.0rem;
		color: #6b6b6b;
		text-align: center;
	}
	/*<end>============================================================*/
}

/*# sourceMappingURL=theme.css.map */
