
	.topVisual { height: 520px; margin: 0 !important; padding: 0; text-align: center; overflow: hidden; border-top: solid 80px #FFF; }
	.topVisual .inner { position: absolute; top: 0; width: 100%; }
	.topVisual:before { content: ''; display: block; width: 100%; height: 100%; background: url(/assets/img/top/top_bg.jpg) bottom center no-repeat #FFF; background-size: 2000px;  animation: zoom 20s ease forwards;}
@keyframes zoom {
   0% {
      transform: scale(1);
   }
   100% {
      transform: scale(1.2);
   }
}

	.topVisual h1 { font-family: 'Sawarabi Mincho', serif; font-weight: 400; color: #FFF; padding: 220px 0 0; font-size: 40px; line-height: 40px; letter-spacing: 0.25em; }
	.topVisual figure { margin: 20px 0 0; }

.topVisual a {
	display: block;
	width: 300px;
	height: 60px;
	line-height: 60px;
	margin: 40px auto 0;
	font-size: 20px;
	text-align: center;
	background: #D32525;
	border: 0;
	border-radius: 5px;
	color: #FFF;
}
	.topVisual p { margin: 10px 0 0; color: #FFF; font-size: 14px; }

	.topEntry { width: 100%; float: left; padding: 80px 0; }
	.topEntry .inner { }
	.topEntry h2 { color: #173F82; text-align: center; font-size: 40px; line-height: 40px; margin: 0 0 20px; }
	.topEntry p { text-align: center; font-size: 24px; line-height: 40px; }

	.topEntry ul { clear: both; display: flex; justify-content: center; }
	.topEntry li { width: 240px; margin: 40px 20px 0; }
	.topEntry li a { display: block; line-height: 60px; font-size: 20px; font-weight: bold; text-align: center; color: #FFF; background: #173F82; border-radius: 10px; }
	.topEntry li a i { display: inline-block; float: right; line-height: 60px; margin: 0 20px 0 0; font-size: 24px; color: #FFF; }

	.topRegister { width: 100%; float: left; background: #3C7BB1; padding: 80px 0; }
	.topRegister .inner { width: 1060px; }
	.topRegister h3 { color: #FFF; text-align: left; font-size: 48px; line-height: 80px; display: inline-block; margin: 0; }
	.topRegister figure { float: right; }
	.topRegister figure img { width: 360px; margin: -40px -80px 0 0; }
	.topRegister h4 { color: #FFF; text-align: left; font-size: 24px; font-weight: 500; line-height: 40px; display: inline-block; margin: 20px 0; }
	.topRegister p { color: #FFF; text-align: right; font-size: 14px; line-height: 25px; text-align: left; }

	.topRegister section { background: #FFF; margin: 0; padding: 40px 40px 20px; }

	.topRegister ul { clear: both; display: flex; justify-content: center; }
	.topRegister li { width: auto; margin: 20px; border-radius: 10px; box-shadow: 0 0 10px #0003; }
	.topRegister .slick-dots li { box-shadow: none; }
	.topRegister li figure { float: none; }
	.topRegister li figure img { width: 100%; margin: 0; border-radius: 10px 10px 0 0; }

	.topRegister li section { padding: 0; background: none; }
	.topRegister li a { display: block; color: #1F1413; }
	.topRegister li a h5 { line-height: 20px; margin: 0; font-size: 10px; color: #1F1413; padding: 0 15px; }
	.topRegister li a h6 { line-height: 20px; margin: 0; font-size: 16px; color: #1F1413; padding: 0 15px; }
	.topRegister li a p { color: #1F1413; font-size: 12px; line-height: 20px; margin: 15px 0 0; padding: 15px; border-top: solid 1px #D6D6D6; }
	.topRegister li a p b { display: block; font-size: 14px; line-height: 30px; }


	.topSearch { background: #F2F2F2; width: 100%; float: left; padding: 80px 0; }
	.topSearch .inner { width: 1020px; }

	.topSearch h3 { font-size: 32px; line-height: 50px; color: #173F82; float: left; margin: 0 0 20px; }
	.topSearch p { float: right; font-size: 16px; line-height: 25px; text-align: right; }
	.topSearch p b { color: #173F82; font-size: 32px; line-height: 35px; margin: 0 5px; }
	.topSearch p span { display: block; font-size: 12px; line-height: 15px; }

	.topSearch form { clear: both; background: #FFF; border-radius: 10px; height: 50px; line-height: 50px; text-align: left; }
	.topSearch form input[type=text] { display: block; width: 940px; line-height: 40px; box-sizing: border-box; padding: 5px 10px; border: none; border-radius: 8px; float: left; font-size: 16px; }
	.topSearch form input[type=submit] { background: #3C7BB1; color: #FFF; width: 80px; height: 50px; box-sizing: border-box; border-radius: 8px; border: solid 2px #FFF; font-size: 20px; float: right; }

	.topSearch ul { margin: 20px auto 0; display: flex; justify-content: center; clear: both; }
	.topSearch li { width: 340px; height: 60px; line-height: 60px; background: linear-gradient(#fafafa 0%, #ededed 100%); border: solid 2px #FFF; box-sizing: border-box; }
	.topSearch li:first-child { border-radius: 10px 0 0 10px; }
	.topSearch li:last-child { border-radius: 0 10px 10px 0; }
	.topSearch li a { display: block; color: #231816; font-size: 16px; font-weight: bold; text-align: left; }
	.topSearch li a i { color: #3C7BB1; margin: 0 15px 0 13px; font-size: 24px; }
	.topSearch li a span { display: inline-block; float: right; line-height: 60px; }
	.topSearch li a span i { margin: 0 13px 0 0; }

	.topCategory { background: #F3FBF5; width: 100%; float: left; margin: 0 0 80px; padding: 80px 0; }
	.topCategory .inner { width: 1020px; }
	.topCategory h3 { font-size: 24px; color: #173F82; }
	.topCategory ul { margin: 0 auto; display: flex; justify-content: center; flex-wrap: wrap; }
	.topCategory li { width: 300px; margin: 40px 20px 0; padding: 0; background: #FFF; position: relative; box-sizing: border-box; border-radius: 10px; }
	.topCategory li a h4 { display: block; color: #3C7BB1; font-size: 16px; line-height: 20px; font-weight: bold; text-align: left; padding: 20px; }
	.topCategory li a h4 span { font-size: 16px; padding: 0; margin: 0 10px 0 0; display: inline-block; }

	.topCategory li a figure img { width: 100%; }

	.topRecommend { margin: 0; }
	.topRecommend h2 { font-size: 24px; line-height: 40px; float: left; }
	.topRecommend h2 i { font-size: 36px; color: #17306C; margin: 0 10px;  }

	.topRecommend .more { width: 120px; float: right; font-size: 12px; line-height: 30px; text-align: center;}
	.topRecommend .more a { display: block; border-radius: 5px; border: solid 1px #17306C; }

	.topRecommend ul { clear: both; }
	.topRecommend li { width: 275px; margin: 40px 10px; border-radius: 10px; box-shadow: 0 0 5px #0003; }
	.topRecommend li a { color: #000; }
	.topRecommend li figure img { width: 100%; border-radius: 10px 10px 0 0; }
	.topRecommend li h3 { height: 40px; font-size: 16px; line-height: 20px; text-overflow: ellipsis; padding: 20px 20px 0; }
	.topRecommend li table { width: calc(100% - 40px); border-collapse: collapse; margin: 10px auto; }
	.topRecommend li th { font-size: 15px; color: #17306C; text-align: center; width: 20px;}
	.topRecommend li td { font-size: 13px; text-overflow: ellipsis; width: 210px; overflow: hidden; white-space: nowrap; display: block; }
	.topRecommend li p { width: calc(100% - 40px); margin: 0 auto 20px; display: block; border-radius: 5px; background: #17306C; color: #FFF; font-size: 16px; text-align: center; line-height: 45px; }


	.topNew { margin: 40px 0 80px; }
	.topNew h2 { font-size: 24px; line-height: 40px; float: left; }
	.topNew h2 i { font-size: 36px; color: #17306C; margin: 0 10px;  }

	.topNew .more { width: 120px; float: right; font-size: 12px; line-height: 30px; text-align: center;}
	.topNew .more a { display: block; border-radius: 5px; border: solid 1px #17306C; }

	.topNew ul { clear: both; }
	.topNew li { width: 180px; margin: 40px 10px; }
	.topNew li a {  }
	.topNew li figure img { width: 100%; }
	.topNew li h3 { font-size: 12px; line-height: 15px; text-overflow: ellipsis; padding: 10px 0 0; }
	.topNew li table { border-collapse: collapse; margin: 10px auto; }
	.topNew li td { font-size: 12px; text-overflow: ellipsis; width: 180px; overflow: hidden; white-space: nowrap; display: block; }
	.topNew li td b { color: #000; }

	.topVoice { width: 100%; float: left; margin: 160px 0 0; border-top: solid 4px #173F82; }
	.topVoice .inner { position: relative; }
	.topVoice h3 { font-size: 24px; line-height: 40px; float: left; position: absolute; top: -104px; color: #173F82; }
	.topVoice .image { position: absolute; top: -149px; right: 0; }
	.topVoice .image img { height: 105px; }

	.topVoice ul { margin: 40px 0 0; padding: 0; display: flex; justify-content: left; flex-wrap: wrap; }
	.topVoice li { width: 50%; padding: 0 20px 40px; box-sizing: border-box; }
	.topVoice li a { display: block; color: #231816; }
	.topVoice li figure { width: 130px; height: 87px; margin: 0 20px 20px 0; float: left; overflow: hidden; }
	.topVoice li figure img { width: 100%; }
	.topVoice li h4 { margin: 0 0 5px; font-size: 16px; line-height: 25px; }
	.topVoice li p.category { background: #3C7BB1; color: #FFF; display: inline-block; font-size: 10px; line-height: 20px; border-radius: 5px; padding: 0 10px; margin: 0; }
	.topVoice li time { font-size: 14px; line-height: 15px; }

	.topVoice .more { width: 320px; font-size: 16px; line-height: 40px; text-align: center; margin: 0 auto 80px;}
	.topVoice .more a { display: block; border-radius: 6px; border: solid 1px #231816; background: #FFF; color: #231816; }


	.topInterview { width: 100%; float: left; margin: 80px 0 0; border-top: solid 4px #173F82; }
	.topInterview .inner { position: relative; }
	.topInterview h3 { font-size: 24px; line-height: 40px; float: left; position: absolute; top: -104px; color: #173F82; }
	.topInterview .image { position: absolute; top: -149px; right: 0; }
	.topInterview .image img { height: 105px; }

	.topInterview ul { margin: 40px 0 0; padding: 0; display: flex; justify-content: left; flex-wrap: wrap; }
	.topInterview li { width: 50%; padding: 0 20px 40px; box-sizing: border-box; }
	.topInterview li a { display: block; color: #231816; }
	.topInterview li figure { width: 130px; margin: 0 20px 20px 0; float: left; }
	.topInterview li figure img { width: 100%; }
	.topInterview li h4 { margin: 0 0 5px; font-size: 16px; line-height: 25px; }
	.topInterview li time { font-size: 14px; line-height: 15px; }
	.topInterview li p.category { background: #3C7BB1; color: #FFF; display: inline-block; font-size: 10px; line-height: 20px; border-radius: 5px; padding: 0 10px; margin: 0; }

	.topInterview .more { width: 320px; font-size: 16px; line-height: 40px; text-align: center; margin: 0 auto 80px;}
	.topInterview .more a { display: block; border-radius: 6px; border: solid 1px #231816; background: #FFF; color: #231816; }

	.topInfo { width: 100%; float: left; margin: 80px 0 0; border-top: solid 4px #173F82; }
	.topInfo .inner { position: relative; }
	.topInfo h3 { font-size: 24px; line-height: 40px; float: left; position: absolute; top: -104px; color: #173F82; }
	.topInfo .image { position: absolute; top: -149px; right: 0; }
	.topInfo .image img { height: 105px; }

	.topInfo ul { margin: 40px 0 0; padding: 0; display: flex; justify-content: left; flex-wrap: wrap; }
	.topInfo li { width: 50%; padding: 0 20px 40px; box-sizing: border-box; }
	.topInfo li a { display: block; color: #231816; }
	.topInfo li figure { width: 130px; margin: 0 20px 20px 0; float: left; }
	.topInfo li figure.nothumbnail { height: 87px; background: #F0F0F0; }
	.topInfo li figure img { width: 100%; height: auto; }
	.topInfo li h4 { margin: 0 0 5px; font-size: 16px; line-height: 20px; }
	.topInfo li time { font-size: 14px; line-height: 20px; }
	.topInfo li p.category { background: #3C7BB1; color: #FFF; display: inline-block; font-size: 10px; line-height: 20px; border-radius: 5px; padding: 0 10px; margin: 0; }

	.topInfo .more { width: 320px; font-size: 16px; line-height: 40px; text-align: center; margin: 0 auto 80px;}
	.topInfo .more a { display: block; border-radius: 6px; border: solid 1px #231816; background: #FFF; color: #231816; }

@media only screen and (max-width: 1024px) {

	.topVisual { height: 60vw; margin: 0 !important; padding: 0; text-align: center; overflow: hidden; border-top: none; }
	.topVisual .inner { }
	.topVisual:before { background-size: cover; }

	.topVisual h1 { padding: 25vw 0 0; font-size: 20px; line-height: 40px; letter-spacing: 0.25em; }
	.topVisual figure { margin: 0; padding: 0 40px; }
	.topVisual figure img { max-width: 100%; }

	.topVisual a { width: 240px; height: 40px; line-height: 40px; margin: 20px auto 0; font-size: 16px; border-radius: 4px; }
	.topVisual p { margin: 5px 0 0; font-size: 12px; }

	.topEntry { padding: 40px 20px; box-sizing: border-box; }
	.topEntry .inner { width: 100%; }
	.topEntry h2 { font-size: 20px; line-height: 30px; margin: 0 0 10px; }
	.topEntry p { font-size: 16px; line-height: 20px; }

	.topEntry ul { padding: 0 10px; }
	.topEntry li { width: 100%; margin: 20px 10px 0; }
	.topEntry li a { line-height: 40px; font-size: 16px; border-radius: 5px; }
	.topEntry li a i { line-height: 40px; margin: 0 10px 0 0; font-size: 20px; }

	.topRegister { padding: 40px 20px; box-sizing: border-box; }
	.topRegister .inner { width: 100%; }
	.topRegister h3 { width: 100%; font-size: 20px; line-height: 30px; margin: 20px 0 0; text-align: center; }
	.topRegister figure { width: 100%; float: none; text-align: center; }
	.topRegister figure img { width: 180px; margin: 0; }
	.topRegister h4 { width: 100%; font-size: 16px; line-height: 25px; margin: 10px 0; text-align: center; }

	.topRegister section { background: #FFF; margin: 0; padding: 10px; }


	.topRegister ul { clear: both; display: flex; justify-content: center; flex-wrap: wrap; }
	.topRegister li { width: 100%; margin: 10px; }
	.topRegister li a { line-height: 60px; font-size: 16px; }
	.topRegister li a i { line-height: 60px; margin: 0 20px 0 0; font-size: 20px; }

	.topSearch { position: relative; width: 100%; padding: 40px 15px; box-sizing: border-box; }
	.topSearch .inner { width: 100%; }


	.topSearch h3 { font-size: 20px; line-height: 20px; margin: 0 0 0 5px; }
	.topSearch p { font-size: 14px; line-height: 20px; text-align: right; margin: 0 5px 10px 0; }
	.topSearch p b { color: #173F82; font-size: 20px; line-height: 20px; margin: 0 5px; }
	.topSearch p span { display: block; font-size: 10px; line-height: 15px; }

	.topSearch ul { margin: 0; padding: 10px 0 0; display: flex; justify-content: center; }
	.topSearch li { width: 100%; margin: 0 5px; border-radius: 10px; height: 85px; line-height: 85px; background: #FFF; border: solid 2px #FFF; box-sizing: border-box; }
	.topSearch li:first-child { border-radius: 10px; }
	.topSearch li:last-child { border-radius: 10px; }
	.topSearch li a { padding: 15px 0 0; display: block; color: #000; font-size: 16px; line-height: 25px; font-weight: bold; text-align: center; }
	.topSearch li a i { display: block; margin: 0; font-size: 24px; line-height: 30px; }
	.topSearch li a span { display: none; }

	.topSearch form { width: calc(100% - 10px); float: none; margin: 10px auto 0; background: #FFF; border-radius: 10px; height: 40px; line-height: 40px; text-align: left; }
	.topSearch form input[type=text] { width: calc(100% - 70px); box-sizing: border-box; padding: 5px; margin: 0 0 0 5px; background: none; border: none; box-sizing: border-box; line-height: 30px; }
	.topSearch form input[type=submit] { color: #FFF; width: 60px; height: 40px; box-sizing: border-box; border-radius: 5px; border: solid 2px #FFF; float: right; }

	.topCategory { margin: 0 0 40px; padding: 40px 0; }
	.topCategory .inner { width: 100%; }
	.topCategory h3 { font-size: 20px; margin: 0 0 0 20px; }
	.topCategory ul { margin: 0 auto; padding: 0 10px; display: flex; justify-content: center; flex-wrap: wrap; }
	.topCategory li { width: calc(50% - 20px); margin: 20px 10px 0; }
	.topCategory li a h4 { font-size: 14px; line-height: 15px; padding: 10px; }
	.topCategory li a h4 span { font-size: 12px; padding: 0; display: block; }
	.topCategory li a figure img { }




	.topRecommend { margin: 0; }
	.topRecommend h2 { font-size: 20px; line-height: 30px; float: left; }
	.topRecommend h2 i { font-size: 24px; color: #17306C; margin: 0 10px;  }

	.topRecommend .more { width: 75px; float: right; font-size: 11px; line-height: 25px; text-align: center;}
	.topRecommend .more a { display: block; border-radius: 5px; border: solid 1px #17306C; }

	.topRecommend ul { clear: both; }
	.topRecommend li { width: 100%; margin: 15px 5px; border-radius: 10px; box-shadow: 0 0 5px #0003; }
	.topRecommend li a { color: #000; }
	.topRecommend li figure img { width: 100%; border-radius: 10px 10px 0 0; }
	.topRecommend li h3 { height: 30px; font-size: 12px; line-height: 15px; padding: 10px 10px 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
	.topRecommend li table { width: calc(100% - 20px); border-collapse: collapse; margin: 10px auto; }
	.topRecommend li th { font-size: 12px; color: #17306C; text-align: center; width: 20px;}
	.topRecommend li td { font-size: 11px; text-overflow: ellipsis; width: calc(50vw - 50px); overflow: hidden; white-space: nowrap; display: block; }
	.topRecommend li p { width: calc(100% - 20px); margin: 0 auto 10px; display: block; border-radius: 5px; background: #17306C; color: #FFF; font-size: 12px; text-align: center; line-height: 30px; }


	.topNew { margin: 30px 0 60px; }
	.topNew h2 { font-size: 20px; line-height: 30px; float: left; }
	.topNew h2 i { font-size: 24px; color: #17306C; margin: 0 10px;  }

	.topNew .more { width: 75px; float: right; font-size: 11px; line-height: 25px; text-align: center;}
	.topNew .more a { display: block; border-radius: 5px; border: solid 1px #17306C; }

	.topNew ul { clear: both; }
	.topNew li { width: 100%; margin: 15px 5px; }
	.topNew li a {  }
	.topNew li figure img { width: 100%; }
	.topNew li h3 { height: 30px; font-size: 12px; line-height: 15px; padding: 5px 0 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
	.topNew li table { border-collapse: collapse; margin: 5px auto 0; }
	.topNew li td { font-size: 10px; text-overflow: ellipsis; width: calc(33vw - 20px); overflow: hidden; white-space: nowrap; display: block; }
	.topNew li td b { color: #000; }

	.topVoice { margin: 120px 0 0; }
	.topVoice .inner { }
	.topVoice h3 { font-size: 20px; line-height: 20px; margin: 20px 0 0 20px; top: -84px; }
	.topVoice .image { height: 55px; position: absolute; top: -79px; right: 0; }
	.topVoice .image img { height: 100%; }

	.topVoice ul { margin: 20px; padding: 0; display: block; }
	.topVoice li { width: 100%; padding: 0 0 20px; float: left; }
	.topVoice li a { }
	.topVoice li figure { width: 90px; height: 60px; margin: 0 10px 20px 0; }

	.topVoice li h4 { margin: 0; font-size: 13px; line-height: 15px; }
	.topVoice li time { font-size: 10px; line-height: 16px; }
	.topVoice li p.category  { height: auto; font-size: 10px; line-height: 15px; border-radius: 4px; padding: 0 4px; margin: 0; display: inline-block; max-width: calc(100% - 120px); }

	.topVoice .more { clear: both; width: 300px; font-size: 12px; line-height: 30px; margin: 0 auto 30px;}
	.topVoice .more a {  }


	.topInterview { margin: 60px 0 0; }
	.topInterview .inner { }
	.topInterview h3 { font-size: 20px; line-height: 20px; margin: 20px 0 0 20px; top: -84px; }
	.topInterview .image { height: 55px; position: absolute; top: -79px; right: 0; }
	.topInterview .image img { height: 100%; }

	.topInterview ul { margin: 20px; padding: 0; display: block; }
	.topInterview li { width: 100%; padding: 0 0 20px; float: left; }
	.topInterview li a { }
	.topInterview li figure { width: 90px; margin: 0 10px 20px 0; }

	.topInterview li h4 { margin: 0; font-size: 13px; line-height: 20px; }
	.topInterview li time { font-size: 10px; line-height: 16px; }
	.topInterview li p.category  { height: auto; font-size: 10px; line-height: 15px; border-radius: 4px; padding: 0 4px; margin: 0; display: inline-block; max-width: calc(100% - 120px); }


	.topInterview .more { clear: both; width: 300px; font-size: 12px; line-height: 30px; margin: 0 auto 30px;}
	.topInterview .more a {  }


	.topInfo { margin: 60px 0 0; }
	.topInfo .inner { }
	.topInfo h3 { font-size: 20px; line-height: 20px; margin: 20px 0 0 20px; top: -84px; }
	.topInfo .image { height: 55px; position: absolute; top: -79px; right: 0; }
	.topInfo .image img { height: 100%; }

	.topInfo ul { margin: 20px; padding: 0; display: block; }
	.topInfo li { width: 100%; padding: 0 0 20px; float: left; }
	.topInfo li a { }
	.topInfo li figure { width: 90px; margin: 0 10px 20px 0; }
	.topInfo li figure.nothumbnail { height: 60px; }

	.topInfo li h4 { margin: 0; font-size: 13px; line-height: 15px; }
	.topInfo li time { font-size: 10px; line-height: 16px; }
	.topInfo li p.category  { height: auto; font-size: 10px; line-height: 15px; border-radius: 4px; padding: 0 4px; margin: 0; display: inline-block; max-width: calc(100% - 120px); }


	.topInfo .more { clear: both; width: 300px; font-size: 12px; line-height: 30px; margin: 0 auto 30px;}
	.topInfo .more a {  }


}