@charset "utf-8";

/** |READ ME| **********************************************************************************************************

"Common CSS"

Cascading Style Sheet Setting File

Ver.20160904

------------------------------------------------------------------------------------------------------------------------

01. Reset
02. Common
03. Header
04. PageTitle
05. Ranking
06. Footer
07. CourseList
08. SpotList
09. SortNavi

********************************************************************************************************** |READ ME| **/

/** |01. Reset | >> ********************************************************************************* >> START **/

*{
	margin:0;
	padding:0;
	list-style:none;
}

table {
	border-collapse:collapse;
	border-spacing:0;
	border:0;
}

fieldset,img {
	border:0;
}

address,caption,cite,code,dfn,em,th,var {
	font-style:normal;
	font-weight:normal;
}

em{
	font-style:normal;
	font-weight:bold;
}

ol,ul {
	list-style:none;
}

caption,th {
	text-align:left;
}

h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}

q:before,q:after {
	content:'';
}

abbr,acronym {
	border:0;
}

a img {
	border: none;
	outline:none;
}

a.blank:before{
	content:" ";
	display: inline-block;
	margin:0 15px 0 0;
	width:16px;
	height:15px;
	background-image: url(/recruit/img/common/ico_cmn_blank.png);
	background-size: 16px 15px;
	background-repeat: no-repeat;
}

a.ul-link{
	text-decoration: underline;
}

a.ul-link:hover{
	text-decoration:none;
	opacity:1;
}

img {
	border:none;
	font-size:0;
	line-height:0;
	vertical-align:bottom;
}

iframe{margin:0px;padding:0px;border:none;}

html{
	width: 100%;
	height: 100%;
}

body{
	width: 100%;
  height: 100%;
	padding:68px 0 0 0;
	text-align:center;
	letter-spacing:0em;
	font-size:14px;
	line-height:150%;
	color:#333333;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ,"游ゴシック体", "Yu Gothic",arial, helvetica, sans-serif;
	box-sizing: border-box;
}

body.page-top{
	padding:0;
}
body.page-course {
}
@media  (max-width: 640px) {

	body{
		padding:59px 0 0 0;
	}

	body.page-top{
		padding:0;
	}

}

/** |01. Reset | << ********************************************************************************* << END **/

/** |02. Common | >> ********************************************************************************* >> START **/

a{
	color:#333333;
	text-decoration:none;
}

a:hover{
	text-decoration:none;
  opacity: 0.7;
  filter: alpha(opacity=70);
	transition: 0.3s ease-in-out;
}

.frame{
	position:relative;
	margin:0 auto;
	padding:0;
	text-align:left;
}

.frame.full{
	width:1200px;
}

.frame::after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}

.bgClr{
	min-width:1200px;
}

.pcBlock{
	display:block !important;
}

.spBlock{
	display:none !important;
}

.pcInline{
	display:inline !important;
}

.spInline{
	display:none !important;
}

.flex-list{
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-direction: normal;
	-moz-box-direction: normal;
	-ms-flex-direction: row;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	overflow: hidden;
}

.pankuzu{
	padding:10px 0;
}

.pankuzu-list{
	padding:0 50px;
	font-size:11px;
	letter-spacing:-0.4em;
}

.pankuzu-item{
	display: inline-block;
	margin:0 5px 0 0;
	letter-spacing:0;
	color:#888888;
}

.pankuzu-item + li:before{
	content:">";
	display: inline-block;
	margin:0 5px 0 0;
	vertical-align: top;
}

.pankuzu-item a{
	color:#888888;
}

.cmn-more-btn{
  position: relative;
  display:block;
  margin:30px 0 0 0;
  padding:0 20px 0 0;
  width:90px;
  height:30px;
  font-size:13px;
  line-height:30px;
  border:2px #000 solid;
  text-align: center;
}

.cmn-more-btn:before{
  content:" ";
  position: absolute;
  display: block;
  top:50%;
  right:15px;
  width:10px;
  height:1px;
  background-color:#000;
}

.cmn-more-btn:after{
  content: " ";
  display: block;
  position: absolute;
  top: 50%;
  right:15px;
  margin: -3px 0 0 0;
  width: 6px;
  height: 6px;
  border-top:1px solid #000;
  border-right:1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media  (max-width: 640px) {

	.frame.full{
		width:auto;
	}

	.bgClr{
		min-width:0;
	}

	.pcBlock{
		display:none !important;
	}

	.spBlock{
		display:block !important;
	}

	.pcInline{
		display:none !important;
	}

	.spInline{
		display:inline !important;
	}

	.pankuzu{
		padding:2% 0;
	}

	.pankuzu-list{
		padding:0 4%;
        font-size: 10px;
	}

	.cmn-more-btn{
		margin:10px auto 0;
		width:80%;
		height:40px;
		line-height:40px;
	}
.course-item-info .cmn-more-btn {
  width:70%;
  color: #fff;
  background: #000;
  border-radius: 21px;
  margin:24px auto 12px;
  padding:0;
}
.course-item-info .cmn-more-btn:before,
.course-item-info .cmn-more-btn:after {
    display: none;
}
}

/** |02. Common | << ********************************************************************************* << END **/

/** |03. Header | >> ********************************************************************************* >> START **/

.global-navi{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	min-height:67px;
	border-bottom:1px #e7e7e7 solid;
	background:rgba(255,255,255,1);
	z-index:1000;
	min-width:1200px;
}

body.page-top .global-navi{
	top:-68px;
	transition:top 0.3s ease-in-out;
}

body.page-top .global-navi.scroll{
	top:0;
}

.global-navi-inner{
	position:relative;
	margin:0 auto;
	text-align:left;
}

.global-navi-inner:after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}

.global-navi-tit,.global-navi-tit-en{
	float:left;
	padding:14px 0 0 35px;
}

.global-navi-tit a{
	display: block;
	font-size:0;
	line-height:1;
	overflow: hidden;
}

.global-navi-tit-en a{
	display: block;
	font-size:0;
	line-height:1;
	overflow: hidden;
}

.global-navi-tit a{font-size:11px;white-space:nowrap;width:300px;text-align: center;transition:0.3s ease-in-out;line-height: 1.5;}
.global-navi--en .global-navi-tit a{width:300px;}
.global-navi-tit a img{width:100%;height:auto;display: block;margin: auto;}
.global-navi-tit a{color:#333;position: relative;display: block;}
.global-navi-tit a .log {
padding: 0px 15px 0 0;
height: auto;
width: 115px;
border-right: 1px #ccc solid;
display: block;
box-sizing: border-box;
float: left;
}
.global-navi--en .global-navi-tit a .log {
padding-right: 15px;
width: 115px;
}
.global-navi-tit a .jp {
height: auto;
display: block;
font-size: 13px;
font-weight: bold;    
display: block;
float: left;
padding: 13px 0 0 15px;
box-sizing: border-box;
}
.global-navi--en .global-navi-tit a .jp {
	padding-left: 15px;
}
.global-navi-nav{
	float:right;
	margin:0 136px 0 0;
}

.global-navi-list{
	letter-spacing:-0.4em;
	padding:0 5px 0 0;
}

.global-navi-list .global-navi-item{
	position:relative;
	display:inline-block;
	letter-spacing:0;
	font-weight: bold;
	font-size:13px;
}

.global-navi--en .global-navi-list .global-navi-item{
	font-size:12px;
}

.global-navi-list .global-navi-item::before{
	position: absolute;
	content:" ";
	display: block;
	top:50%;
	left:0;
	margin:-9px 0 0 0;
	width:1px;
	height:18px;
	background-color:#e7e7e7;
}

.global-navi-list .global-navi-course::before,
.global-navi-list .global-navi-contact::before{
	content:none;
}

.global-navi-list .global-navi-item a{
	display: block;
	padding:0 15px;
	height:67px;
	line-height:67px;
}

.global-navi--en .global-navi-list .global-navi-item a{
	padding:0 5px;
}

.global-navi-list .global-navi-lang{
	position: absolute;
	top:0;
	right:68px;
	padding:0;
	height:auto;
	line-height:1;
	letter-spacing:0;
	overflow: hidden;
	height:68px;
	transition: 0.3s ease-in-out;
}

.global-navi-list .global-navi-lang:hover{
	height:136px;
}

.global-navi-list .global-lang-btn{
	position: relative;
	display: block;
	padding:0;
	width:68px;
	height:68px;
	text-align: center;
	color:#fff;
	background-color:#353535;
}

.global-navi-list .global-lang-txt{
	position: absolute;
	display: block;
	top:50%;
	left:50%;
	line-height:0;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

.global-navi-list .global-lang-txt:before{
	margin:0 6px 3px 0;
	content:" ";
	display: inline-block;
	width:4px;
	height:4px;
	border-bottom:2px solid #fff;
	border-right:2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.global-navi-list .global-navi-contact{
	position: absolute;
	top:0;
	right:0;
	padding:0;
	height:auto;
	line-height:1;
	letter-spacing:0;
}

.global-navi-list .global-contact-btn{
	position: relative;
	display: block;
	padding:0;
	width:68px;
	height:68px;
	text-align: center;
	color:#fff;
	background:#df0303;
	background-size:20px 20px;
}

.global-navi-list .global-contact-btn-txt{
	position: absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	display: block;
	font-size:0;
	line-height:0;
}

.global-navi-list .global-contact-btn-txt img{
	width:20px;
	height:20px;
	vertical-align:middle;
}

.global-navi.top{
	top:-68px;
	transition:top 0.6s ease-in-out;
}

.global-navi.top.scroll{
	top:0;
}

.page-header{
	position: relative;
	height:260px;
	min-width:1200px;
}

.page-header-tit{
	position: absolute;
	display: block;
	top:50%;
	left:50%;
	line-height:1.3;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	font-size:30px;
	font-weight: bold;
	color:#fff;
}

.page-header-tit-ico{
	display: block;
	margin:0 auto 20px;
}

@media  (max-width: 640px) {

	body.page-top .global-navi{
		top:0;
	}

	body.page-top .global-navi.scroll{
		top:0;
	}

	.global-navi{
		width:100%;
		min-height:0;
		min-width:0;
	}

	.global-navi-inner{
		position:relative;
		margin:0 auto;
		text-align:left;
	}

	.global-navi-tit,.global-navi-tit-en{
		float:left;
		padding:10px;
	}

	.global-navi-tit img{
		width:90px;
		height:auto;
	}
    .global-navi-tit a {width: auto;}
	.global-navi--en .global-navi-tit a{width: auto;}
.global-navi-tit a .log {
padding: 0px 20px 0 10px;
width: 120px;
}
.global-navi--en .global-navi-tit a .log {
padding-right: 20px;
width: 120px;
}
.global-navi-tit a .jp {
font-size: 12px;
padding: 10px 0 0 20px;
}
.global-navi--en .global-navi-titt a .jp {
	padding-left: 20px;
}
	.global-navi-nav{
		position: absolute;
		top:50px;
		left:0;
		float:none;
		margin:0;
		width:100%;
		height:0;
		overflow-y:auto;
		transition:0.6s ease-in-out;
	}

	.global-navi-nav.open{
		height:calc(100vh - 50px);
	}

	.global-navi-list{
		padding:0;
		letter-spacing:0;
		background-color: #fff;
	}

	.global-navi-list .global-navi-item{
		position:relative;
		display:block;
		letter-spacing:0;
		text-align: center;
		border-top: 1px #e7e7e7 solid;
	}

	.global-navi-list .global-navi-item::before{
		content:none;
	}

	.global-navi-list .global-navi-item a {
	  display: block;
		padding:15px 0;
		height:auto;
		line-height:1;
	}

	.global-navi--en .global-navi-list .global-navi-item a{
		padding:15px 0;
	}

	.global-navi-list .global-navi-lang{
		position:relative;
		top:auto;
		right:auto;
		padding:0;
		height:auto;
		overflow:visible;
		height:auto;
	}

	.global-navi-list .global-navi-lang:hover{
		height:auto;
	}

	.page-top--en .top-main .global-navi-lang,
	.global-navi--en .global-navi-list .global-navi-lang{
		right:auto;
	}

	.global-navi-lang-list:after{
		content: ".";
		display: block;
		height: 0;
		font-size:0;
		clear: both;
		visibility:hidden;
	}

	.global-navi-list .global-navi-lang-jp{
		float:left;
		width:50%;
	}

	.global-navi-list .global-navi-lang-en{
		float:right;
		width:50%;
	}

	.global-navi-list .global-lang-btn{
		padding:15px 0;
		width:auto;
		height:auto;
	}

	.global-navi-list .global-lang-txt{
		position:relative;
		top:auto;
		left:auto;
		line-height:1;
		-webkit-transform:none;
		-moz-transform:none;
		transform:none;
	}

	.global-navi-list .global-navi-contact{
		position:relative;
		top:auto;
		right:auto;
	}

	.global-navi-list .global-contact-btn{
		width:auto;
		height:auto;
	}

	.global-navi-list .global-contact-btn-txt{
		padding: 15px 0;
		position:relative;
		top:auto;
		left:auto;
		-webkit-transform:none;
		-moz-transform:none;
		transform:none;
		display:block;
		font-size: 13px;
		line-height:1;
	}

	.global-navi-list .global-contact-btn-txt img{
		display: inline-block;
		margin:0 2px 0 0;
		width:18px;
		height:18px;
	}

	.global-navi-list .global-contact-btn-txt br{
		display:none;
	}

	.global-navi-menu{
		position: relative;
		float: right;
		display: block;
		margin:15px;
		width:30px;
		height:16px;
		border-top:2px #000 solid;
		border-bottom:2px #000 solid;
		cursor: pointer;
	}

	.global-navi-menu:after{
		content:" ";
		display: block;
		position: absolute;
		top:50%;
		left:0;
		margin:-1px 0 0;
		width:30px;
		height:2px;
		background:#000;
	}

	.global-navi.top{
		top:0;
	}

	.page-header{
		height:130px;
		min-width:0;
	}

	.page-header-tit{
		font-size:20px;
	}

	.page-header-tit-ico{
		width:30px;
		height:30px;
		margin:0 auto 10px;
	}

}

/** |03. Header | << ********************************************************************************* << END **/

/** |04. PageTitle | >> ********************************************************************************* >> START **/

.page-title-tit{
	padding:90px 0 30px 0;
	font-size:24px;
	font-weight:bold;
	text-align:center;
}

.page-title-txt{
	padding:0 0 60px;
}

.page-title-tit--back{
	padding:0 0 50px 0;
}

.page-title-tit img{
	display: block;
	margin:0 auto 20px;
}

@media  (max-width: 640px) {

	.page-title{
		padding:0 4%;
	}

	.page-title-tit{
		padding:30px 0 15px 0;
		font-size:20px;
	}

	.page-title-txt{
		padding:0 0 30px;
	}

	.page-title-tit--back{
		padding:0 0 25px 0;
	}

	.page-title-tit img{
		margin:0 auto 10px;
	}

}

/** |04. PageTitle | << ********************************************************************************* << END **/

/** |05. Ranking | >> ********************************************************************************* >> START **/

.ranking-course{
	padding:100px 0 200px;
}

.ranking-course-title{
	margin:0 0 120px;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
}

.ranking-course-title img{
	margin:0 auto 20px;
	display:block;
}

.ranking-list{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	overflow: visible;
}

.ranking-item{
	position: relative;
	margin:0 5px;
	width:210px;
	text-align: center;
	overflow: visible;
}
.ranking-item-ico{
	position: absolute;
	top:-55px;
	left:50%;
	margin:0 0 0 -25px;
	display: block;
}
.ranking-item-img{
	margin:0 0 15px;
	display: block;
	width:100%;
	height:auto;
}

@media  (max-width: 640px) {

	.ranking-course{
		padding:10% 4% 10%;
	}

	.ranking-course-title{
		margin:0;
		font-size: 18px;
	}

	.ranking-item{
		margin:70px 0 0;
		padding: 0;
		width:100%;
	}

	.ranking-item-ico {
		top: -45px;
	}

	.ranking-item-img{
		margin:0 auto 10px;
		display: block;
		width:100%;
		height:auto;
	}

}

/** |05. Ranking | << ********************************************************************************* << END **/

/** |06. Footer | >> ********************************************************************************* >> START **/

.fot-bnr-list{
	padding:0 0 100px;
	text-align: center;
	letter-spacing: -0.4em;
}

.fot-bnr-list li{
	margin:15px 7.5px 0;
	display: inline-block;
	letter-spacing:0;
}

#footer{
	background:#222222;
	text-align: center;
	min-width:1200px;
}

#footer .frame{
	text-align: center;
}

.footer-tit{
	padding:50px 0 ;
	margin:0 auto;
}

.footer-list{
	margin:0 0 40px;
	color:#aaa;
	letter-spacing:-0.4em;
	line-height:1;
}

.footer-item{
	padding:0 15px;
	display: inline-block;
	letter-spacing:0;
}

.footer-item + li{
	border-left:solid 1px #aaa;
}

.footer-item a{
	color:#fff;
}

.footer-corp-list{
	margin:0 0 10px;
	font-size:12px;
	letter-spacing:-0.4em;
}

.footer-corp-item{
	padding:0 20px;
	letter-spacing:0;
	display: inline-block;
}

.footer-corp-item a{
	color:#aaa;
	padding:0 0 0 20px;
	background: url(/img/kanko/common/ico-blank.png)no-repeat left top;
}

.footer-copy{
	padding:0 0 20px;
	font-size:12px;
	color:#aaa;
}

.fot-call{
	padding:0 0 80px;
	text-align: center;
}

.fot-call-tit{
	font-size:18px;
	font-weight: bold;
	padding:0 0 30px;
	text-align: center;
}

.fot-call-list{
	text-align: center;
}

.fot-call-list-l{
	padding:0 0 20px;
}

.fot-call-list-r{
	font-size:18px;
}

.fot-call-list-r small{
	font-size:12px;
}

.fot-call-bnr{
	padding:30px 0 0;
}

.fot-call-bnr{
	display:none;
	text-align: center;
}

body.page-top .fot-call-bnr{
	display: block;
}

.fot-sns{
	padding:80px 0 0;
	display: block;
	letter-spacing:-0.4em;
	text-align: center;
}

.fot-sns li{
	margin:0 20px;
	letter-spacing:0;
	display: inline-block;
}

.fot-sns img{
	width:40px;
	height:auto;
}
#footer .tit-wrap {display: flex;justify-content: center;margin: 0 0 60px;width: 100%;padding: 60px 0 0;}
#footer .tit{float:left;padding:0;width:auto;height:50px;}
#footer .tit a{display:block;color: #fff;}
#footer .tit a::after{content:" ";display:block;height:0;font-size:0;clear:both;visibility:hidden;}
#footer .tit .log{padding:0 30px 0 0;height:auto;width: 160px;border-right:1px #ccc solid;display:block;box-sizing:border-box;float:left;}
#footer .tit img{width:130px;height:auto;display:block;}
#footer .tit .jp{height:auto;display:block;font-size: 16px;font-weight: bold;display:block;float:left;padding:20px 0 0 30px;box-sizing:border-box;}
@media  (max-width: 640px) {

	.fot-bnr-list{
		padding:0 4% 4%;
	}

	.fot-bnr-list li{
		margin:0;
		display:block;
	}

	.fot-bnr-list li + li{
		margin:15px 0 0 0;
	}

	.fot-bnr-list li img{
		width:auto;
		max-width:100%;
		height:auto;
	}

	#footer{
		min-width:0;
	}

	.footer-tit{
		padding:30px 0;
	}

	.footer-list{
		margin:0 0 20px;
		letter-spacing:0;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-box-direction: normal;
		-moz-box-direction: normal;
		-ms-flex-direction: row;
		-webkit-flex-direction: row;
		flex-direction: row;
		-webkit-box-lines: multiple;
		-moz-box-lines: multiple;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		overflow: hidden;
		border-top:1px #333 solid;
	}

	.footer-item{
		border-bottom:1px #333 solid;
		border-right:1px #333 solid;
		width:50%;
		padding:15px 0;
		display:block;
		box-sizing: border-box;
		font-size:13px;
	}

	.footer-item + li{
		border-left:none;
	}

	.footer-item a{
		color:#fff;
	}

	.footer-corp-list{
		margin:0 0 15px;
		padding:0 4%;
		text-align: left;
	}

	.footer-corp-item{
		display: block;
		margin:0 0 5px;
		padding:0;
	}

	.footer-copy{
		padding:0 4% 20px;
		font-size:10px;
	}

	.fot-call{
		padding:4% 4% 8%;
		text-align: center;
	}

	.fot-call-tit{
		padding:0 0 3%;
		font-size:16px;
	}

	.fot-call-list-l{
		padding:0 0 2%;
	}

	.fot-call-list-l img{
		width: auto;
		max-width: 280px;
	}

	.fot-call-list-r{
		font-size:14px;
	}

	.fot-call-list-r small{
		font-size:10px;
	}

	.fot-call-bnr{
		padding:10px 0 0;
	}

	.fot-call-bnr img{
		width:auto;
		max-width:100%;
		height:auto;
	}

	.fot-sns{
		padding:8% 0 0;
	}

	.fot-sns li{
		margin:0 15px;
	}

	.fot-sns img{
		width:30px;
		height:auto;
	}
#footer .tit img{width:110px;}

#footer .tit-wrap {
margin: 7% 0 10%;
width: 100%;
}
#footer .tit a {
display: table;
margin: auto;
}
#footer .tit .log {
padding: 0 20px 0 0;
width: 130px;
}
#footer .tit .jp {
font-size: 12px;
padding: 17px 0 0 20px;
text-align: left;
}
}

/** |06. Footer | << ********************************************************************************* << END **/

/** |07. CourseList | >> ********************************************************************************* >> START **/

.related-course{
	position: relative;
	padding:100px 0;
	background:#f5f5f5;
	min-width:1200px;
	margin:0 auto 100px;
}

.related-course .frame{
	text-align: center;
}

.related-course::before{
	content:" ";
	display: block;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	min-width:1200px;
	height:10px;
	background: url(../img/common/bg-rel-top.png);
}

.related-course::after{
	content:" ";
	display: block;
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	min-width:1200px;
	height:10px;
	background: url(../img/common/bg-rel-btm.png);
}

.related-course::after{
	content:" ";
	display: block;
	position: absolute;
	bottom:0;
	left:0;
}

.related-course-title{
	margin:0 0 60px;
	padding:0 45px;
	display: inline-block;
	position: relative;
	font-size:22px;
	font-weight: bold;
}

.related-course-title:before{
	position: absolute;
	content:" ";
	display: block;
	top:-10px;
	left:0;
	width:14px;
	height:40px;
	background: url(../img/common/tit-rel-left.png);
	background-size: 14px 40px;
}

.related-course-title:after{
	position: absolute;
	content:" ";
	display: block;
	top:-10px;
	right:0;
	width:14px;
	height:40px;
	background: url(../img/common/tit-rel-right.png);
	background-size: 14px 40px;
}

.course-list{
	margin:0 30px;
	border-left:1px solid #cccccc;
	overflow: visible;
	text-align:left;
}

.course-item{
	padding:0;
	width:33.33%;
	text-align:left;
	box-sizing: border-box;
	border-right:1px solid #cccccc;
	border-bottom:1px solid #cccccc;
	box-shadow:0 0 0 0 rgba(0,0,0,0);
	transition:all 0.3s ease-in-out;
	background:rgba(255,255,255,1);
}

.course-item:hover{
	background:rgba(238,238,238,1);
	box-shadow:0px 0px 15px 10px rgba(0,0,0,0.1);
	z-index:10;
}

.course-item a:hover{
	opacity:1;
}

.course-item img{
	display: block;
	margin:-1px -1px 0;
	width:calc(100% + 2px);
	height:auto;
}

.course-item-info{
	padding:30px 50px;
}

.course-item-hash{
	margin:0 0 10px;
	display: block;
	color:#df0303;
	font-size:13px;
}

.course-item-tit{
	margin:0 0 10px;
	font-size:20px;
	font-weight: bold;
	line-height: 1.4;
}

.course-item-place{
	margin:0 0 20px;
	font-size: 12px;
}

.course-item-data{
	letter-spacing:-0.4em;
}

.course-item-data-time{
	padding:10px 0;
	width:50%;
	display: inline-block;
	font-size:13px;
	letter-spacing:0;
	text-align: center;
	box-sizing: border-box;
	border-top:1px #ccc solid;
}

.course-item-data-price{
	padding:10px 0;
	width:50%;
	display: inline-block;
	font-size:13px;
	letter-spacing:0;
	text-align: center;
	box-sizing: border-box;
	border-top:1px #ccc solid;
	border-left:1px #ccc solid;
}

.related-course-navi{
	padding:50px 0 0;
	text-align: center;
}

.related-course-btn{
	position: relative;
	display: inline-block;
	width:100%;
	max-width:420px;
	height:60px;
	line-height:60px;
	background:#39c7f0;
	border-radius:5px;
	font-size:15px;
	font-weight: bold;
	color:#ffffff;
	box-shadow:0px 5px 0px 0px #24aad1;
}

.related-course-btn::before{
	content:" ";
	display: block;
	position: absolute;
	top:50%;
	right:55px;
	margin:-4px 0 0 0;
	width:8px;
	height:8px;
	border-top:3px solid #fff;
	border-right:3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

@media  (max-width: 640px) {

	.related-course{
		padding:15% 4%;
		min-width:0;
		margin:0 auto 15%;
	}

	.related-course::before{
		min-width:0;
	}

	.related-course::after{
		min-width:0;
	}

	.related-course-title{
		margin:0 0 25px;
		font-size:16px;
	}

	.related-course-title:before{
		top:-5px;
		width:11px;
		height:30px;
		background-size: 11px 30px;
	}

	.related-course-title{
		padding: 0 30px;
	}

	.related-course-title:after{
		top:-5px;
		width:11px;
		height:30px;
		background-size: 11px 30px;
	}

	.course-list {
	  margin:0;
	}

	.course-item{
		width:100%;
	}

	.course-item a{
		display: block;
	}

	.course-item-info{
		padding:20px 25px 30px;
	}

	.course-item-tit{
		margin:0 0 5px;
		font-size:16px;
	}

	.course-item-hash{
		margin:0 0 5px;
	}

	.course-item-place{
		font-size:13px;
		margin:0 0 10px;
	}

	.course-item-place br{
		display: none;
	}

	.course-item-data-time{
    padding:15px 0 0;
    line-height: 1;
	}

	.course-item-data-price{
    padding:15px 0 0;
    line-height: 1;
	}

	.related-course-navi{
		padding:10% 0 0;
	}

	.related-course-btn::before{
		right:30px;
	}

}

/** |07. CourseList | >> ********************************************************************************* << END **/

/** |08. SpotList | >> ********************************************************************************* >> START **/

.spot-item{
	margin:0 0 50px;
	padding:0 10px;
	width:calc(25% - 20px);
	text-align: center;
	font-size:16px;
	font-weight: bold;
}

.spot-item-tit{
	font-size:16px;
	font-weight: bold;
}

.spot-item img{
	display: block;
	margin: 0 auto 10px;;
}

@media  (max-width: 640px) {

	.page-sort-list{
		margin:0 -5px;
	}

	.page-sort-nav{
		padding:0 0 25px;
		text-align:center;
	}

	.page-sort-list{
		margin:0 -2.5px;
	}

	.page-sort-list li{
		margin: 0 2.5px 5px;
	}

	.page-sort-list li a{
		font-size: 12px;
		padding:0 10px;
		height:22px;
		line-height: 22px;
	}

	.spot-item{
		margin:0 0.5% 4%;
		padding:0;
		width:calc(49%);
		font-size: 15px;
	}

	.spot-item-tit{
		font-size:15px;
	}

	.spot-item img{
		width:100%;
		height:auto;
	}

}

/** |08. SpotList | >> ********************************************************************************* << END **/

/** |09. SortNavi | >> ********************************************************************************* << END **/

.page-sort-nav{
	padding:0 0 50px;
	text-align:center;
}

.page-sort-list{
	letter-spacing:-0.4em;
}

.page-sort-list li{
	margin:0 5px 8px;
	display: inline-block;
	letter-spacing:0;
}

.page-sort-list li a{
	display: block;
	padding:0 20px;
	height:24px;
	line-height:24px;
	background-color:#aaa;
	color:#fff;
	border-radius:12px;
	font-size: 13px;
}

.page-sort-list li.active a{
	background-color:#df0303;
}

.course-list{
	margin:0 30px;
	border-left:1px solid #ccc;
	overflow: visible;
}

@media  (max-width: 640px) {

	.course-index{
		padding:0 4% 10%;
	}

	.page-sort-list{
		margin:0 -5px;
	}

	.page-sort-nav{
		padding:0 0 25px;
		text-align:center;
	}

	.page-sort-list{
		margin:0 -2.5px;
	}

	.page-sort-list li{
		margin: 0 2.5px 5px;
	}

	.page-sort-list li a{
		font-size: 12px;
		padding:0 10px;
		height:22px;
		line-height: 22px;
	}

	.course-list {
	    margin:0;
	}

}

/** |09. SortNavi | << ********************************************************************************* << END **/

/** | kanko course index | >> ********************************************************************************* << END **/
.course-item-hash {
text-align: right;
}
.course-index .main-course-list .course-item a,
.related-course .course-item a{
    position: relative;
    height: 100%;
    display: block;
    padding-bottom: 44px;
    box-sizing: border-box;
}
.course-index .main-course-list .course-item-hash,
.related-course .course-item-hash {
text-align: right;
margin-right: -20px;
margin-top: -10px;
}
.course-item-no {
    display: block;
    font-size: 11px;
    color: #aaa;
}
.course-index .main-course-list .course-item-data,
.related-course .course-item-data {
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    width: calc(100% - 100px);
}
.course-index .course-list--backnumber .course-item a {
    position: relative;
    height: 100%;
    display: block;
    padding-bottom: 30px;
    box-sizing: border-box;
}
.course-index .course-list--backnumber .course-item-hash {
text-align: right;
margin-top: -10px;
}
.course-index .course-list--backnumber .course-item-data {
    position: absolute;
    left: 20px;
    bottom: 20px;
    width: calc(100% - 40px);
}

@media  (max-width: 640px) {

    .course-index .main-course-list .course-item a,
.related-course .course-item a {
    padding-bottom: 0;
}
.course-index .main-course-list .course-item-hash,
.related-course .course-item-hash {
text-align: right;
margin-right: -10px;
margin-top: -10px;
}
.course-item-no {
    font-size: 11px;
}
.course-index .main-course-list .course-item-data,
.related-course .course-item-data {
    position: relative;
    left: 0;
    bottom: 0;
    transform: translateX(0);
    width: 100%;
}

.course-index .course-list--backnumber .course-item a {
    padding-bottom: 0;
}
.course-index .course-list--backnumber .course-item-hash {
text-align: right;
}
.course-index .course-list--backnumber .course-item-data {
    position: relative;
    left: 0;
    bottom: 0;
    width: 100%;
}

}
