@charset "utf-8";
/* CSS Document */
#main {
	padding-top: 0;
}
#main section {
	margin-bottom: 0;
}
.g_social_wrapper {
	margin-bottom: 10px;
}
#main .innerContents > p:last-child ,
#main .innerContents > ul:last-child ,
#main .innerContents > ol:last-child {
	margin-bottom: 0;
}
.normalLinkButton {
	margin-top: 0;
}

.innerContents {
	background: #f2f2f2;
	padding: 30px 20px;
}
#pageTitleWrapper .innerContents {
	padding-bottom: 0;
}
.innerContents .relatedLinksBox {
	border: none;
	background: #fff;
}
.sectionBtn {
	margin: 30px 0 60px;
}
#pageTitleWrapper {
	margin-bottom: 0;
	background: #f2f2f2;
}
#pageTitleWrapper .innerContents h1 {
	font-weight: bold;
	color: #002b62;
	margin-bottom: 0;
	padding-bottom: 30px;
}

.anchorList li {
	display: block;
	margin: 0 0 5px 0;
}
.anchorList li a:before {
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	top: 0.4em;
}

.hasBtnTitle {
	position: relative;
}
.hasBtnTitle h1 {
	padding-right: 290px;
}

.hasBtnTitle .btnWrapper {
	position: absolute;
	top: -10px;
	right: 0;
	margin-bottom: 0 !important;
}

.innerContents .headline2,
.innerContents .headline3 {
	color: #002b62;
	border-bottom: none;
	font-weight: bold;
}
.innerContents .headline4 {
	color: #002b62;
}
.barHeadline {
	font-size: 1.4rem;
	padding: 3px 10px 2px;
	background: #333;
	color: #fff;
}

.flexBox {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -5px 10px;
}
.flexBox .item {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: column;
	flex-direction: column;
	padding: 0 5px;
}
.flexBox.col4 .item {
	width: 25%;
}
.flexBox.col3 .item {
	width: 33.33%;
}
.item .imageWrapper {
	min-height: 1%;
}
.item .imageWrapper img {
	vertical-align: bottom;
}
a.item {
	text-decoration: none;
}
a.item .imageWrapper {
	transition-duration: .2s;
	transition-property: opacity;
}
a.item:hover .imageWrapper {
	opacity: 0.7;
}
.item .textWrapper {
	padding: 10px;
	background: #fff;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}
.item .textWrapper h3 {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.item .textWrapper p {
	font-size: 1.4rem;
	margin-bottom: 0 !important;
}


.footerContents {
	border-top: 3px solid #002b62;
	padding-top: 30px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	margin-top: 60px;
}
.footerContents h2 {
	width: 380px;
	min-height: 1%;
}
.footerContents .textWrapper {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	padding: 0 20px;
}
.footerContents .sectionBtn {
	width: 300px;
	margin: 0;
}
.footerContents .sectionBtn.btnWide {
	width: 360px;
	margin: 0;
}
.btnFlex {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	max-width: 1080px;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
}
.btnFlex .btn {
	background: rgb(86,69,111);
	background: -moz-linear-gradient(left, rgba(86,69,111,1) 0%, rgba(75,83,120,1) 100%);
	background: -webkit-linear-gradient(left, rgba(86,69,111,1) 0%,rgba(75,83,120,1) 100%);
	background: linear-gradient(to right, rgba(86,69,111,1) 0%,rgba(75,83,120,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#56456f', endColorstr='#4b5378',GradientType=1 );
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	width: calc(50% - 40px);
	margin: 0 20px 20px;
	border-radius: 80px;
	height: 80px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: column;
	flex-direction: column;
	transition-duration: 0.3s;
	position: relative;
	padding-left: 20px;
	min-width: 400px;
}
.btnFlex .btn:before {
	content: '';
	position: absolute;
	width: 35px;
	height: 35px;
	overflow: hidden;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	left: 28px;
	top: 50%;
	margin-top: -18px;
	margin-left: -5px;
	border-radius: 0.5px;
	transition-duration: .2s;
}

.btnFlex .btn:hover {
	opacity: 0.7;
}
.spTextCenter {
		text-align:center;
}
.borderBox {
	border-width: 2px;
}
.addressBox {
	max-width:400px;
	background:#ffffff;
}
.innerContents .footerContents {
	border: 1px solid #ccc;
	padding: 40px 10px;
	margin-top: 0;
	margin-bottom: 40px;
	background: #fff;
}
.innerContents .relatedLinksBox.borderBox {
	border: solid 4px #ccc;
	background: none;
}

@media screen and (max-width: 640px) {
	.btnFlex .btn {
		min-width: auto;
		min-width: inherit;
		width: 100%;
		font-size: 1.4rem;
		height: 60px;
	}
	.btnFlex .btn:before {
		content: '';
		position: absolute;
		width: 26px;
		height: 26px;
		overflow: hidden;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		left: 14px;
		top: 50%;
		margin-top: -13px;
		margin-left: -5px;
		border-radius: 0.5px;
		transition-duration: .2s;
	}
	.innerContents {
		padding: 15px 10px;
	}
	.hasBtnTitle h1 {
		padding-right: 0;
		margin-bottom: 30px !important;
	}
	.hasBtnTitle .btnWrapper {
		position: relative;
		text-align: center;
	}
	.flexBox {
		-webkit-flex-direction: column;
		flex-direction: column;
		margin: 0;
		-webkit-align-items: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.flexBox .item {
		padding: 0;
		margin-bottom: 30px;
	}
	.flexBox.col4 .item {
		width: 100%;
		max-width: 280px;
	}
	.flexBox.col3 .item {
		width: 100%;
		max-width: 380px;
	}
	.item .imageWrapper {
		text-align: center;
	}
	.footerContents {
		-webkit-flex-direction: column;
		flex-direction: column;
		padding: 10px;
		margin-top: 30px;
	}
	.footerContents h2 {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	.footerContents .textWrapper {
		padding: 0;
		margin-bottom: 20px;
	}
	.footerContents .sectionBtn {
		width: 100%;
		text-align: center;
	}
	.spTextCenter {
		text-align:center;
	}
	.addressBox {
		margin:0 auto;
	}
}
