@charset "UTF-8";



/*
 * ---------------------------------------------------------------------------------------
 * カバー
 *
 * .cover
 *     .cover-title
 *     .cover-picture
 * ---------------------------------------------------------------------------------------
 */

.frame-content .cover {
	margin-top: 40px;
	position: relative;
}
.frame-content .cover .cover-title {
	box-sizing: border-box;
	left: 50%;
	margin: 70px 0 0 -510px;
	padding: 0 40px;
	position: absolute;
	top: 0;
	width: 1020px;
}
.frame-content .cover .cover-picture {
	background-color: #edfafa;
}
.frame-content .cover .cover-picture img {
	width: 100%;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .cover {
		height: 380px;
		overflow: hidden;
	}
	.frame-content .cover .cover-title {
		left: 0;
		margin-left: 0;
		position: relative;
		width: 100%;
		z-index: 1;
	}
	.frame-content .cover .cover-picture {
		left: 50%;
		margin-left: -510px;
		position: absolute;
		top: 0;
		width: 1020px;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .cover {
		overflow: hidden;
	}
	.frame-content .cover .cover-title {
		left: 0;
		margin: 10% 0 0;
		padding: 0 20px;
		width: 100%;
	}
	.frame-content .cover .cover-picture {
		margin: 0 -15.686274509803921568627450980392%;
	}
}

/*
 * ---------------------------------------------------------------------------------------
 * お知らせ
 *
 * .news
 *     dl
 * ---------------------------------------------------------------------------------------
 */

.frame-content .news {
	box-sizing: border-box;
	margin: 0 auto;
	overflow: hidden;
	padding: 0 40px;
	max-width: 1020px;
}
.frame-content .news dl {
	margin-top: 40px;
	width: 100%;
}
.frame-content .news dl:after {
	clear: both;
	content: "";
	display: table;
}
.frame-content .news dl dt {
	clear: both;
	float: left;
	font-size: 0.61111111111111111111111111111111em;
	line-height: 1.6;
	margin-top: 15px;
	padding-top: 0.33333333333333333333333333333333em;
	width: 7em;
}
.frame-content .news dl dt:first-child {
	margin-top: 0;
}
.frame-content .news dl dd {
	font-size: 0.77777777777777777777777777777778em;
	line-height: 1.6;
	margin: 15px 0 0 7em;
}
.frame-content .news dl p {
	display: inline-block;
}
.frame-content .news dl img {
	display: inline-block;
	margin-left: .5em;
}
@media only screen and (max-width: 719px) {
	.frame-content .news {
		padding: 0 20px;
	}
	.frame-content .news dl dt {
		float: none;
		font-size: 1em;
		padding-top: 0;
		width: 100%;
	}
	.frame-content .news dl dd {
		font-size: 1em;
		margin: 5px 0 0;
	}
	.frame-content .news dl p {
		width: 80%;
	}
}

/*
 * ---------------------------------------------------------------------------------------
 * 目次
 *
 * .toc
 *     ul
 *         span
 * ---------------------------------------------------------------------------------------
 */

.frame-content .toc {
	box-sizing: border-box;
	margin: 0 auto;
	overflow: hidden;
	padding: 0 40px;
	max-width: 1020px;
}
.frame-content .toc ul {
	margin-left: -20px;
	width: 960px;
}
.frame-content .toc ul:after {
	clear: both;
	content: "";
	display: table;
}
.frame-content .toc ul li {
	float: left;
	margin: 50px 0 0 20px;
	position: relative;
	width: 300px;
}
.frame-content .toc ul li a {
	text-decoration: none;
}
.frame-content .toc ul li span {
	bottom: 0;
	box-sizing: border-box;
	color: #fff;
	font-size: 1.5555555555555555555555555555556em;
	left: 0;
	line-height: 1.4;
	padding: 20px;
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: 1;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .toc ul {
		margin: 0 auto;
		width: 660px;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .toc {
		padding: 0;
	}
	.frame-content .toc ul {
		margin-left: 0;
		width: 100%;
	}
	.frame-content .toc ul li {
		float: none;
		margin: 40px 0 0;
		width: 100%;
	}
	.frame-content .toc ul li span {
		font-size: 2em;
	}
	.frame-content .toc ul li img {
		width: 100%;
	}
}

.ie8 .frame-content .toc ul li a:hover span ,
.ie8 .frame-content .toc ul li a:active span {
	-ms-filter: "";
}

/*
 * ---------------------------------------------------------------------------------------
 * バナー
 *
 * .banner
 *     ul
 * ---------------------------------------------------------------------------------------
 */

.frame-content .banner {
	box-sizing: border-box;
	margin: 40px auto 0;
	overflow: hidden;
	padding: 0 40px;
	max-width: 1020px;
}
.frame-content .banner ul {
	margin-left: -56px;
	width: 996px;
}
.frame-content .banner ul:after {
	clear: both;
	content: "";
	display: table;
}
.frame-content .banner ul li {
	float: left;
	margin: 40px 0 0 56px;
	width: 193px;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .banner ul {
		margin: 0 auto;
		width: 554px;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .banner {
		margin-top: 20px;
		padding: 0 20px;
	}
	.frame-content .banner ul {
		margin-left: 0;
		width: 100%;
	}
	.frame-content .banner ul li {
		float: none;
		margin: 40px auto 0;
	}
}

/*
 * ---------------------------------------------------------------------------------------
 * スプラッシュ
 *
 * .splash
 *     .splash-path
 *     .splash-cover
 *         .splash-title
 *         .splash-picture
 *     .splash-content
 *     .splash-close
 * ---------------------------------------------------------------------------------------
 */

.frame-content .splash {
	display: none;
}

.js .frame-content .splash {
	background-color: #fff;
	box-sizing: border-box;
	color: #000;
	display: block;
	height: 100%;
	left: 0;
	overflow: auto;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 2001;
}
.js .frame-content .splash:before,
.js .frame-content .splash:after {
	content: "";
	display: table;
}
.js .frame-content .splash .splash-path {
	box-sizing: border-box;
	margin: 60px auto;
	width: 940px;
}
.js .frame-content .splash .splash-cover {
	box-sizing: border-box;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: 940px;
}
.js .frame-content .splash .splash-title {
	box-sizing: border-box;
	left: 0;
	margin-top: 70px;
	padding: 0 83px;
	position: absolute;
	top: 0;
	width: 100%;
}
.js .frame-content .splash .splash-picture {
	margin: 0 -40px;
	width: 1020px;
}
.js .frame-content .splash .splash-content {
	background: transparent url("../image/footer.png") no-repeat scroll center bottom;
	background-size: 154px 64px;
	box-sizing: border-box;
	margin: 0 auto 60px;
	padding-bottom: 124px;
	width: 940px;
}
.js .frame-content .splash .splash-content p {
	margin-top: 60px;
}
.js .frame-content .splash .splash-close {
	margin-right: -470px;
	position: absolute;
	right: 50%;
	top: 53px;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.js .frame-content .splash .splash-path {
		padding: 0 40px;
		width: 100%;
	}
	.js .frame-content .splash .splash-cover {
		height: 450px;
		width: 100%;
	}
	.js .frame-content .splash .splash-title {
		position: static;
		padding: 0 40px;
	}
	.js .frame-content .splash .splash-picture {
		left: 50%;
		margin: 0 0 0 -510px;
		position: absolute;
		top: 0;
		z-index: -1;
	}
	.js .frame-content .splash .splash-content {
		padding-right: 40px;
		padding-left: 40px;
		width: 100%;
	}
	.js .frame-content .splash .splash-close {
		margin-right: 0;
		right: 40px;
	}
}

@media only screen and (max-width: 719px) {
	.js .frame-content .splash .splash-path {
		margin: 40px 0;
		padding: 0 20px;
		width: 100%;
	}
	.js .frame-content .splash .splash-cover {
		width: 100%;
	}
	.js .frame-content .splash .splash-title {
		margin-top: 10%;
		padding: 0 20px;
	}
	.js .frame-content .splash .splash-picture {
		margin: 0 -15.686274509803921568627450980392%;
		width: auto;
	}
	.js .frame-content .splash .splash-content {
		background-size: 77px 32px;
		margin-bottom: 40px;
		padding: 0 20px 72px;
		width: 100%;
	}
	.js .frame-content .splash .splash-content p {
		margin-top: 40px;
	}
	.js .frame-content .splash .splash-content p br {
		display: none;
	}
	.js .frame-content .splash .splash-close {
		margin-right: 0;
		right: 20px;
		top: 27px;
	}
}
