@charset "utf-8";
/*================================================================================
  通常トップ
==================================================================================*/
* { box-sizing: border-box;}
ul,ol {
	list-style: none;
}
a {
	color: #4c4fb6;
	text-decoration: none;
}
a:hover {
	color: #3399ff;
    text-decoration: underline;
}

/*----------------------------------------------------h2*/
h2 {
	font-size: 2.4rem;
	font-weight:normal;
	font-family: Georgia,"游明朝 DemiBold","ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	position: relative;
	padding-left: 35px;
	margin-bottom: 40px;
}
h2:before, h2:after {
	width: 24px;
	height: 0;
	top: 50%;
	left: 0;
	content: "";
	position: absolute;
}
h2:before {
	margin-top: -2px;
	border-top: 2px solid #2e3092;
}
h2:after {
	margin-top: 0;
	border-top: 2px solid #00b3f0;
}

/*----------------------------------------------------.slide*/
.slide {
	position: relative;
	height: 550px;
	overflow: hidden;
}
.slide .slide-arrow {
	position: absolute;
	top: 250px;
	z-index: 1;
	width: 28px;
	height: 53px;
	cursor: pointer;
}
.slide .prev-arrow {
	left: 30px;
}
.slide .next-arrow {
	right: 30px;
}
.slide ul li {
	position:relative;
	width: 100%;
	height: 550px;
}
.slide ul li a {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-decoration:none;
	color:#000;
	outline: none;
}

/* ===========================================================================
  indexSlider
============================================================================= */
.indexSlider {
	max-width: 1120px;
	margin-inline: auto;
}
.indexSlider .slick-track {
	height: 100%;
}
.indexSlider_item {
	display: block;
	width: 100%;
	height: 100%;
}
.indexSlider_item img {
	width: 100%;
	height: 100%;
	max-height: 900px;
	object-fit: cover;
	object-position: center;
}
@media only screen and (max-width: 1024px) {
	.indexSlider_item img {
		max-height: 650px;
	}
}

/*----------------------------------------------------.contents*/
.contents {
	line-height: 1.4;
	margin-top: 50px;
}
/*----------------------------------------------------.attention*/
.attention {
	width: 96%;
	max-width: 1120px;
	margin: 0 auto;
	border: 3px solid #faa61a;
	padding: 30px 0 10px;
}
.attention ul {
	margin: 0 25px;
}
.attention ul li {
	background: url("/nanzan-static/rwd/img/arrow_01.svg") top left no-repeat;
	background-size: 16px 16px;
	padding-left: 30px;
	margin-bottom: 20px;
}

/*----------------------------------------------------.info*/
.info {
	width: 96%;
	max-width: 1120px;
	margin: 85px auto 90px;
	overflow: hidden;
}
.info_item {
	display: flex;
	margin-bottom: 18px;
	padding: 0 0 18px;
	border-bottom: 1px dotted #c9c9c9;
}
.info_item time {
	display: block;
	margin-right: 20px;
}
.info .btn {
	width: 64%;
	max-width: 320px;
	margin: 40px auto 0;
}
.info .btn a {
	display: block;
	color: #fff;
	text-align: center;
	padding: 20px 0;
	background: #2e3092 url("/nanzan-static/rwd/img/arrow_02.svg") 94% center no-repeat;
	background-size: 30px;
	transition: all .2s;
}
.info .btn a:hover {
	text-decoration: none;
	background-position: 96% center;
	background-color: #3399ff;
}
@media all and (-ms-high-contrast: none) {
	.info .btn a {
		display: block;
		color: #fff;
		text-align: center;
		padding: 20px 0;
		background: #2e3092 url("/nanzan-static/rwd/img/arrow_02.svg") 96% center no-repeat;
		background-size: 60px;
		transition: all .2s;
	}
	.info .btn a:hover {
		text-decoration: none;
		background-position: 98% center;
		background-color: #3399ff;
	}
}

/*----------------------------------------------------.listWrap*/
.listWrap {
	padding: 60px 0;
	background: #f2f2f2;
}
.textList {
	width: 96%;
	max-width: 1120px;
	margin: 0 auto;
    display: flex;
	flex-wrap: wrap;
}
.textList_item {
	width: calc((100% - 20px) / 3);
	margin-bottom: 10px;
	background-color: #fff;
	display: flex;
	align-items: center;
	position: relative;
}
.textList_item::after {
	position: absolute;
	top: auto;
	right: 20px;
	bottom: auto;
	width: 30px;
	height: 10px;
	background: url("/nanzan-static/rwd/img/arrow_03.svg") no-repeat center/contain;
	content: '';
	transition: .2s;
}

.textList_item:hover::after {
	right: 15px;
	width: 30px;
	height: 10px;
	background: url("/nanzan-static/rwd/img/arrow_04.svg") no-repeat center/contain;
}
.textList_item:not(:nth-child(3n)) {
	margin-right: 9.999px;
}
.textList_link {
	display: block;
	width: 100%;
	padding: 20px 55px 20px 20px !important;
}
.bannerList {
	width: 96%;
	max-width: 1120px;
	margin: 0 auto;
	overflow: hidden;
	margin-top: 10px;
	display: flex;
	flex-wrap: wrap;
}
.bannerList_item { 
	width: calc((100% - 20px) / 3);
	margin-bottom:10px;
}
.bannerList_item:not(:nth-child(3n)) {
	margin-right: 9.999px;
}
.bannerList_link:hover {
	opacity: .8;
}

@media only screen and (max-width: 1024px) {
	/*----------------------------------------------------.slide*/
	.slide {
		height: 400px;
	}
	.slide .slide-arrow {
		top: 172px;
	}
	.slide ul li {
		height: 400px;
	}
}

@media screen and (max-width:767px) {
	/*================================================================================
	  通常トップ
	==================================================================================*/
	/*----------------------------------------------------h2*/
	h2 {
		margin-bottom: 25px;
	}

    /*----------------------------------------------------.slide*/
	.slide {
		height: 160px;
	}
	.slide .slide-arrow {
		display: none !important;
	}
	.slide ul li {
		height: 160px;
	}

	/*----------------------------------------------------.contents*/
	.contents {
		margin-top:30px;
	}

	/*----------------------------------------------------.attention*/
	.attention {
		margin: 15px auto 0;
		padding: 15px 0 5px;
	}
	.attention ul {
		margin: 0 10px;
	}
	.attention ul li {
		margin-bottom: 10px;
		padding-left: 20px;
	}

	/*----------------------------------------------------.info*/
	.info {
		margin: 30px auto 50px;
	}
	.info_item {
		display: flex;
		flex-direction: column;
	}
	.info_item time {
		margin-bottom: 10px;
	}
	.info .btn {
		width: 100%;
		max-width: none;
		margin: 25px auto 0;
	}

	/*----------------------------------------------------.linkWrap*/
	.listWrap {
		width: 100%;
		margin: 0 auto;
		padding: 30px 0;
	}
	.textList_item {
		width: 100%;
	}
	.textList_item:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.textList_link {
		padding: 16px 51px 16px 16px !important;
	}
	.bannerList {
		margin-top: 5px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.bannerList_item {  
		flex-basis: calc(50% - 5px);
		margin-bottom: 10px;
		float: none;
	}
	.bannerList_item:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.bannerList_link img {
		vertical-align: middle;
	}
}