@charset "UTF-8";
/*===================================================
    トップページ専用CSS
===================================================*/
/*//////////////////////////////////////////////////
    共通パーツ
///////////////////////////////////////////////////*/
#feat li h3,
#report .inner h3 {
	font-weight: 500;
	font-size: 18px;
    text-align: center;
	line-height: 1;
}

/* ページャー */
.pager {
	position: absolute;
	left: 0;
	bottom: 0;
	width:100%;
	z-index: 2;
}
	.pager a {
		border: 2px solid #CCC;
		background-color: #CCC;
		border-radius: 5px;
		display: inline-block;
		width: 10px;
		height: 10px;
		margin-left: 20px;
		-webkit-transition: 0.5s;
		transition: 0.5s;
	}
	.pager a:first-child {
		margin-left: 0;
	}
	.pager a:hover,
	.pager a.selected {
		border-color: #F0DC28;
		background-color: #F0DC28;
	}
		.pager a span {
			display: none;
		}

/*//////////////////////////////////////////////////
    main
///////////////////////////////////////////////////*/
/* --------------------------------------------------------
    キービジュアル
-------------------------------------------------------- */
#keyv {
	width: 100%;
	height: 500px;
	min-width: 1000px;
	overflow: hidden;
	font-family: 'Noto Sans Japanese', "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 400;
	text-align: center;
	position: relative;
	background: center center no-repeat;
	background-size: cover;
}
	#keyv .caroufredsel_wrapper > div {
		height: 500px !important;
	}

#carousel li {
	height: 500px;
	position: relative;
	overflow: hidden;
	float: left;
}
	#carousel li:not(.sp) img {
		width: 100%;
		height: auto;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
		z-index: -1;
	}

	@media (max-width: 1440px) {
		#carousel li:not(.sp) img {
			width: auto;
			height: 100%;
		}
	}

/* キャッチコピー */
#carousel .mainTxtBase {
	display: table;
	width: 100%;
	height: 100%;
	text-align: center;
}
	#carousel .mainTxtBase span.mainTxt {
		display: table-cell;
		font-size: 32px;
		vertical-align: middle;
		letter-spacing: 7px;
		text-shadow: 0px 1px 8px rgba(0, 0, 0, 0.4);
		color: #FFF;
	}

/* スペシャルとイベントの青ボタン */
#carousel li.sp .blueBtn,
#carousel li.event .blueBtn {
	width: 250px;
	height: 40px;
	margin: 0;
	position: absolute;
	font-size: 14px;
}
#carousel li.event .blueBtn {
	margin-left: -2px;
}

/* スペシャル */
#carousel li.sp {
	background-color: #F5F5F5;
}
	#carousel li.sp .inner > div {
		width: 50%;
		float: left;
	}
		#carousel li.sp .contArea {
			height: 500px;
			padding: 100px 40px 0 0;
			position: relative;
		}
			#carousel li.sp .contArea h2 {
				font-weight: 100;
				font-size: 32px;
				letter-spacing: 0.05em;
				margin-bottom: 55px;
				position: relative;
			}
				#carousel li.sp .contArea h2 span {
					font-weight: 300;
					font-size: 18px;
					display: block;
					margin-bottom: 5px;
				}

			#carousel li.sp .contArea .blueBtn {
				left: 0;
				bottom: 85px;
			}

/* イベント */
#carousel li.event .inner {
	padding-top: 47px;
}

#carousel li.event .eventData {
	width: 500px;
	height: 400px;
	background-color: rgba(255, 255, 255, 0.7);
	position: relative;
	padding: 25px 28px 30px;
	letter-spacing: 0.02em;
}

	#carousel li.event .eventData .series {
		letter-spacing: 0.08em;
		font-size: 16px;
	}
	#carousel li.event .eventData h2 {
		margin: 12px 0 30px -1px;
		font-size: 24px;
		line-height: 1.25;
		letter-spacing: 0.08em;
	}
	#carousel li.event .eventData .evTxt {
		font-size: 14px;
	}

	#carousel li.event .eventData .detail {
		font-size: 12px;
		overflow: hidden;
		margin-top: 15px;
	}
		#carousel li.event .eventData .detail dt {
			width: 38px;
			float: left;
			clear: both;
		}
		#carousel li.event .eventData .detail dd {
			margin: 0 0 3px 38px;
		}
		#carousel li.event .eventData .detail dd:before {
			display: inline-block;
			content: "：";
			margin-right: 15px;
		}

		#carousel li.event .eventData .blueBtn {
			left: 30px;
			bottom: 30px;
		}

/* 前へ＆次へ */
#keyv .prev,
#keyv .next {
	width: 50px;
	height: 100%;
	position: absolute;
	top: 0;
	background: center center no-repeat;
	z-index: 1;
	cursor: pointer;
}

#keyv .prev {
	left: 0;
	background-image: url("/image/r1/index/kv_prev.png");
}
#keyv .next {
	right: 0;
	background-image: url("/image/r1/index/kv_next.png");
}

/* ページャー */
#keyv .pager {
	text-align: center;
	padding: 10px;
}

/* --------------------------------------------------------
    独立コンテンツ
-------------------------------------------------------- */
#main {
	text-align: center;/*center*/
}
	#main > section {
		padding: 50px 0 55px;
	}

	#main > section:nth-of-type(even) {
		background-color: #F6F4F2;
	}

/* --------------------------------------------------------
    見出し
-------------------------------------------------------- */
#main h2 {
	font-family: 'Lato', "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 44px;
	font-weight: 300;
	display: inline-block;
	margin: 0 auto 20px;
	letter-spacing: 1.5px;
    text-align: center;
}
#main h2 span {
    font-family: 'Noto Sans Japanese', "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 16px;
    display: block;
    text-align: center;
	}

#main h2 + p {
	margin-bottom: 35px;
    text-align: center;
}

/* --------------------------------------------------------
    news
-------------------------------------------------------- */
#news .newsList {
	text-align: left;
	position: relative;
	overflow: hidden;
	padding: 15px 0;
	border-bottom: 1px solid #D8D8D8;
}
	#news .newsList h3 {
		width: 180px;
		font-weight: bold;
		float: left;
	}
		#news .newsList h3 img {
			margin-left: 10px;
		}

	#news .newsList dl {
		max-width: 820px;
		float: left;
	}
		#news .newsList dt {
			float: left;
			clear: both;
			margin-bottom: 5px;
		}
		#news .newsList dd {
			padding: 0 0 0 130px;
			margin-bottom: 5px;
		}
			#news .newsList dd a img {
				margin-left: 3px;
				vertical-align: -2px;
			}

	#news .newsList > p {
		position: absolute;
		right: 0;
		bottom: 20px;
		font-size: 12px;
	}
		#news .newsList > p a {
			padding-left: 15px;
		}
		#news .newsList > p a:before {
			top: 6px;
		}

/* --------------------------------------------------------
    business
-------------------------------------------------------- */
#business .bsMenu {
	max-width: 1000px;
	margin: auto;
	overflow: hidden;
}
	#business .bsMenu li {
		width: 25%;
		height: 400px;
		position: relative;
		overflow: hidden;
		float: left;
	}

	#business .bsMenu li *:not(img) {
		box-sizing: border-box;
		-webkit-transition: all 0.35s ease;
		transition: all 0.35s ease;
	}
	#business .bsMenu li img {
		position: absolute;
		top: 0;
		left: 50%;
		-webkit-transform: translate(-50%,0);
		transform: translate(-50%,0);
		max-width: none;
	}

	#business .bsMenu li:after,
	#business .bsMenu li a {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
	}

	/* ホバー時用 */
	#business .bsMenu li:after {
		content: '';
		background-color: rgba(240, 220, 40, 0.6);
		-webkit-transition: all 0.35s ease;
		transition: all 0.35s ease;
		-webkit-opacity: 0;
		opacity: 0;
		z-index: 1;
	}
	#business .bsMenu li a {
		display: block;
		z-index: 1;
		color: #FFF;
		z-index: 2;
	}
	#business .bsMenu li a:hover {
		text-decoration: none;
	}

	#business .bsMenu li h3 {
		text-transform: uppercase;
		-webkit-text-transform: uppercase;
		font-size: 30px;
		font-weight: 400;
		font-family: 'Lato', "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
		text-align: center;/*center*/
		position: relative;
		top: 100px;
		-webkit-transform: translateY(55px);
		transform: translateY(55px);
		-webkit-text-shadow: 3px 3px 12px rgba(0, 0, 0, 1);/*1px 1px 8px rgba(0, 0, 0, 0.7);*/
		text-shadow: 3px 3px 12px rgba(0, 0, 0, 1);/*1px 1px 8px rgba(0, 0, 0, 0.7);*/
	}
		#business .bsMenu li h3 span {
			-webkit-transition: none;
			transition: none;
            text-align: center;
		}
		#business .bsMenu li h3 span + span {
			-webkit-opacity: 0;
			opacity: 0;
			position: absolute;
			width: 100%;
			top: 0;
			left: 0;
			-webkit-text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.4);
			text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.4);
			font-family: 'Noto Sans Japanese', "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
			font-weight: 200;
			font-size: 18px;
            text-align: center;
		}

	#business .bsMenu li p {
		width: 80%;
		padding: 0px;
		-webkit-opacity: 0;
		opacity: 0;
		position: absolute;
		top: 165px;
		text-align: left;
		-webkit-transform: translateY(50px);
		transform: translateY(50px);
	}
	#business .bsMenu li:hover:after {
		-webkit-opacity: 1;
		opacity: 1;
		position: absolute;
	}
	#business .bsMenu li a:hover > * {
		-webkit-transform: translate(0px, 0px);
		transform: translate(0px, 0px);
		-webkit-opacity: 1;
		opacity: 1;
	}
	#business .bsMenu li a:hover h3 span {
		-webkit-opacity: 0;
		opacity: 0;
	}
	#business .bsMenu li a:hover h3 span + span {
		-webkit-opacity: 1;
		opacity: 1;
	}
	/* --------------------------------------------------------
	    Schedule
	-------------------------------------------------------- */
	#schedule table{
		max-width: 70%;
		margin: auto;
		margin-bottom: 10px;
	}
#schedule caption{
	background-color: #D2D0FF;
	padding: 5px;
}
#schedule td{
line-height: 30px;
}

 @media(max-width:799px) {
	 	#schedule table{
		max-width:100%;
	}
}

/* --------------------------------------------------------
    feature
-------------------------------------------------------- */
#feat {
	width: 940px;
	margin: auto;
	position: relative;
	overflow: hidden;
}
	#feat li {
		width: 300px;
		height: 300px;
		padding: 180px 18px 0;
		font-size: 13px;
		background: #F5F5F5 left top no-repeat;
		background-size: 100% auto;
		float: left;
		margin-right: 20px;
		cursor: default;
		position: relative;
		-webkit-transition: 0.5s;
		transition: 0.5s;
		cursor: pointer;
	}
	#feat li:hover {
		-webkit-opacity: 0.7;
		opacity: 0.7;
	}
		#feat li a:hover {
			text-decoration: none;
		}
			#feat li a img {
				width: 100%;
				position: absolute;
				top: 0;
				left: 0;
				overflow: hidden;
			}
			#feat li a p {
				margin-top: 17px;
				letter-spacing: 0.5px;
				color: #333;
			}

	#feature .prev,
	#feature .next {
		width: 15px;
		height: 25px;
		background-repeat: no-repeat;
		background-size: contain;
		display: block;
		position: absolute;
		top: 50%;
		margin-top: -12.5px;
		cursor: pointer;
		z-index: 3;
	}
	#feature .prev{
		left: -20px;
		background-image: url("/image/r1/index/feat_prev.png");
	}
	#feature .next{
		right: -20px;
		background-image: url("/image/r1/index/feat_next.png");
	}
	#feature .pager {
		display: none !important;
	}

	/* 二個の場合 */
	#feature.box2 .inner,
	#feature.box2 .caroufredsel_wrapper > div {
		width: 620px !important;
		margin: auto !important;
	}
	#feature.box2 .prev{
		left: -40px;
	}
	#feature.box2 .next{
		right: -40px;
	}
	/* 一個の場合 */
	#feature.box1 .inner,
	#feature.box1 .caroufredsel_wrapper > div {
		width: 300px !important;
		margin: auto !important;
	}

/* --------------------------------------------------------
    レポート
-------------------------------------------------------- */
#report .inner {
	overflow: hidden;
	text-align: center;
}
	#report .inner .box {
		width: 48%;
		height: 415px;
		padding: 26.5% 20px 20px;
		float: left;
		background-color: #FFF;
		position: relative;
	}
	#report .inner .box:first-child {
		margin-right: 2%;
	}

	#report .inner .box > a {
		-webkit-transition: 0.5s;
		transition: 0.5s;
	}
	#report .inner .box > a:hover {
		text-decoration: none;
		-webkit-opacity: 0.7;
		opacity: 0.7;
	}
		#report .inner .box h3 {
			display: inline-block;
		}

	#report .inner .box > a div {
		width: 100%;
		max-height: 245px;
		position: absolute;
		top: 0;
		left: 0;
		overflow: hidden;
	}
		#report .inner .box > a div img {
			width: 100%;
		}

	#report .inner .box > a + p {
		margin-top: 20px;
		border-top: solid 1px #F0DC28;
		padding-top: 15px;
		text-align: left;
	}

	#report .inner ul {
		margin-top: 10px;
		text-align: left;
	}
		#report .inner li {
			font-weight: bold;
			display: inline-block;
			padding: 0 18px;
			border-left: solid 1px #D8D8D8;
			line-height: 15px;
		}
		#report .inner li:first-child {
			padding-left: 0;
			border-left: none;
		}

/* --------------------------------------------------------
    バナー
-------------------------------------------------------- */
#bnr {
	padding: 60px 0 40px;
}
	#bnr ul {
		overflow: hidden;
		margin-right: -20px;
	}
		#bnr ul li {
			width: 184px;
			float: left;
			margin: 0 20px 20px 0;
			-webkit-transition: 0.5s;
			transition: 0.5s;
		}
		#bnr ul li:hover {
			-webkit-opacity: 0.7;
			opacity: 0.7;
		}

	#bnr ul + ul {
		margin-top: 40px;
	}
