@charset "utf-8";
/* CSS Document */
html {
    overflow-x: hidden;
}
#container{
	font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#222222;
}
.c-f:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.c-f{
	min-height:1%;
	display:block;
}
.mt15{
	margin-top:15px !important;
}
.mt20{
	margin-top:20px !important;
}
.mt40{
	margin-top:40px !important;
}
.mt-20{
	margin-top:-20px !important;
}
.mb15{
	margin-bottom:15px !important;
}
.mb20{
	margin-bottom:20px !important;
}
.sp-head,.sp-only{
	display: none;
}
h2.rs_h2_title_bar {
	padding: 10px 15px;
	background-color:#0071BE;
	color: #fff;
	font-size: 16px;
	margin-top:20px;
}
.bold{
	font-weight:bold;
}
@media screen and (max-width: 768px) {
	#container{
		font-family: 'ヒラギノ角ゴ ProN W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.pc-head,.pc-only{
		display:none;
	}
	.sp-head,.sp-only{
		display:block;
	}
	.lead {
		padding:0 10px;
		max-height:999999px;
	}
	h2.rs_h2_title_bar{
		margin: 15px 10px 0 !important;
		max-height:999999px;
		font-weight:normal !important;
		padding: 7px 10px !important;
	}
	.bottom_btn{
		margin:0 10px;
		max-height:999999px;
	}
	.mt-20{
	margin-top:-10px !important;
	}
}

/*---------------------------------
  　相互導線
-----------------------------------*/
#navi_menu .sp-only{
	display: none;
}
#navi_menu{
	margin: 0 -500% 30px;
    padding: 0 500%;
    width: 100%;
	font-size: 16px;
}
#navi_menu ul{
	width: 960px;
	margin: 10px 0 0;
	display: inline-block;
}
/*4つver*/
#navi_menu ul li{
	float:left;
	text-align: center;
	width: 225px;
}
#navi_menu ul li a{
	color:#313131;
	display:inline-block;
	padding:10px 0;
	margin-bottom: 5px;
	width: 225px;
}
#navi_menu ul li a p{
	display: inline-block;
	margin-top: 0;
}
#navi_menu ul li.item-01{
	margin: 0 10px 0 0;
}
#navi_menu ul li.item-02,#navi_menu ul li.item-03{
	margin: 0 10px;
}
#navi_menu ul li.item-04{
	margin: 0 0 0 10px;
}
#navi_menu ul li span{
    display: block;
	margin-top: 3px;
	float: left;
}
#navi_menu ul li a img{
	padding-left: 8px;
	float: left;
}
#navi_menu ul li a:hover{
	border-bottom:solid #fff001 4px;
	margin-bottom: -5px;
}
#navi_menu.fixed {
	position: fixed; top: 0; width: 100%;
	z-index: 100;
	background: rgba(255,255,255,0.98);
	border-bottom: 1px solid #cccccc;
}
#navi_menu ul li.on a{
	border-bottom:solid #fff001 4px;
	font-weight: bold;
	margin-bottom: -5px;
}
/*3つver*/
#navi_menu.layout-3 ul li{
	float:left;
	text-align: center;
	width: 300px;
}
#navi_menu.layout-3 ul li a{
	width: 300px;
}

@media screen and (max-width: 768px) {
	#navi_menu .pc-only{
		display: none;
	}
	#navi_menu .sp-only{
		display: block;
	}
	#navi_menu{
		margin: 0;
		padding: 0;
	}
	#navi_menu ul{
		width: 100%;
		margin: 0;
		border-top: 1px solid #cccccc;
	}
	#navi_menu ul li{
		margin: 0 !important;
		border-right: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
		font-size: 16px;
		height: 45px;
	}
	#navi_menu ul li.item-01{
		width: 33% !important;
	}
	#navi_menu ul li.item-02{
		width: 35% !important;
	}
	#navi_menu ul li.item-03{
		width: 31% !important;
	}
	#navi_menu ul li.item-04{
		width: 100% !important;
		border-right: none;
	}
	#navi_menu ul li.item-03,#navi_menu ul li.item-04{
		border-right: none;
	}
	#navi_menu ul li a,#navi_menu.layout-3 ul li a{
		margin-bottom: 0;
		padding: 12px 0;
		width: 95%;
	}
	#navi_menu ul li span.sp-only{
		display: inline-block !important;
	}
	#navi_menu ul li a img{
		padding-left: 10px;
	}
	#navi_menu ul li.on a{
		padding-bottom: 5px;
		margin: 0 2px;
	}
	#navi_menu ul li a:hover{
		border-bottom: none;
	}
	#navi_menu.fixed{
		border-bottom: none;
	}
}
@media screen and (max-width: 650px) {
	#navi_menu ul li{
		font-size: 14px;
	}
	#navi_menu ul li a img{
		width: 17% !important;
		padding-left: 5px;
		margin-top: 3px;
	}
	#navi_menu ul li.item-03 a img{
		width: 20% !important;
	}
	#navi_menu ul li.item-04 a img{
		width: 8% !important;
	}
}
@media screen and (max-width: 350px) {
	#navi_menu ul li,#navi_menu ul.item-03 li{
		font-size: 12px;
	}
}
@media \0screen {
  #navi_menu.fixed {
    background: #fff;
  }
}
/*--------------------------------------
  　ヘッダー
--------------------------------------*/
.sp-head{
	display: none;
}
.main-title{
	font-size: 30px;
	font-weight: bold;
	margin-top: 30px;
	margin-bottom: 10px;
}
#res-header{
	width: 1920px;
	margin-left: -480px;
	position:relative;
}
#res-header .header-icon{
	position: absolute;
	top: 10px;
	left: 480px;
}
@media screen and (max-width: 768px) {
	.pc-head{
		display:none;
	}
	.sp-head{
		display:block;
	}
	#res-header{
		width:auto;
		margin-left: 0;
		position:relative;
	}
	#res-header .header-icon{
		position: absolute;
		top: 10px;
		left: 10px;
	}
	#res-header .header-icon img{
		width: 100%;
	}
	.main-title{
		margin-left: 20px;
	}
}
@media screen and (max-width: 650px) {
	#res-header .header-icon img{
		width: 45%;
	}
	#res-header .header-icon {
		top: 5px;
		left: 5px;
	}
	.main-title{
		text-align: center;
		font-size: 22px;
		margin-left: 0;
		margin-top: 20px;
	}
}
@media screen and (max-width: 350px) {
	#res-header .header-icon img{
		width: 40%;
	}
	#res-header .header-icon {
		top: 3px;
		left: 3px;
	}
}

/*--------------------------------------
  　タイトルバー
--------------------------------------*/
h2.rs_h2_title_bar {
	padding: 10px 15px;
	background-color:#0071BE;
	color: #fff;
	font-size: 16px;
	margin-top:20px;
}
h2.title-img {
	padding: 20px 0;
	background-color:#cfe2fb;
	text-align: center;
	width: 1920px;
	margin: 30px 0 30px -480px;
}
@media screen and (max-width: 768px) {
	h2.rs_h2_title_bar{
		margin: 15px 10px 0 !important;
		max-height:999999px;
		font-weight:normal !important;
		padding: 7px 10px !important;
	}
	h2.title-img {
		width: auto;
		margin: 30px 0;
		padding: 15px 0;
	}
	h2.title-img img{
		width: 40%;
	}
}
@media screen and (max-width: 700px) {
	h2.title-img {
		margin: 20px 0;
	}
	h2.title-img img{
		width: 60%;
	}
}

/*--------------------------------------
  　　エリアタブ(PC)
--------------------------------------*/
.tab-area{
	width:960px;
	margin:30px 0;
}
.tab-area p a{
    display: block;
	padding:10px 0;
	background-color: #046dfb;
    color: #ffffff;
    font-size: 16px;
    text-align: center;
}
.tab-area p a:hover{
	background-color: #ffffff;
    color: #046dfb;
	border: 1px solid #046dfb;
	padding:9px 0;
}
.tab-area p span{
    display: block;
	padding:9px 0;
	background-color: #ffffff;
    color: #046dfb;
	border: 1px solid #046dfb;
    font-size: 16px;
    text-align: center;
}
.tab-area p{
	width:131px;
	margin-right:6px;
	margin-top: 0;
	float:left;
}
.tab-area p:last-child{
	margin-right:0;
	width:132px;
}
/*--------------------------------------
  　　エリアタブ(SP)
--------------------------------------*/
#menu-box {
	overflow: hidden;
	margin:20px 10px;
}
#toggle {
	display: block;
	position: relative;
	background-color: #046dfb;
	color: #ffffff;
	max-height:999999px;
	border:1px solid #046dfb;
	padding:10px 0;
	text-align: center;
	font-size: 18px;
}
.accordion_icon,
.accordion_icon span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.accordion_icon {
	position: relative;
	width: 40px;
	float: right;
	margin:0;
	top: 6px;
}
.accordion_icon span {
	position: absolute;
    left: 6px;
    width: 40%;
	height: 2px;
    background-color: #fff;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
}
.accordion_icon span:nth-of-type(1) {
    top: 5px;
	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2) {
    display:none;
}
/*＋、－切り替え*/
.accordion_icon.active span:nth-of-type(2) {
	top: 5px;
	transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
	display: block;
}
#nv_menu {
	overflow: hidden;
}
#nv_menu li{
	display: block;
	width: 100%;
	padding: 0;
	max-height:999999px;
}
#nv_menu li a {
	display: block;
	padding: 10px 0 10px 20px;
    font-size: 16px;
	background-color: #FFF;
	color: #046dfb;
	text-decoration: none;
	border-bottom: 1px solid #046dfb;
    border-left: 1px solid #046dfb;
    border-right: 1px solid #046dfb;
}
#nv_menu li a.active {
	background: #cfe2fb;
    color: #046dfb;
}
#nv_menu li span {
	display: block;
	padding: 20px 0 20px;
	background-color: #cfe2fb;
	color: #046dfb;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}

/*---------------------------------
  　全国アンカー部分
-----------------------------------*/
.ank-area .sp-only{
	display: none;
}
.ank-area{
	font-size: 18px;
	font-weight: bold;
	color: #1b1b1b;
	display: inline-block;
}
.ank-area a{
	color: #1b1b1b;
	margin-right: 40px;
}
.ank-area a:last-child{
	margin-right: 0;
}
/* IE8対応 */
.ank-area > *:first-child + * + *{
  margin-right: 0;
}
.ank-area a:hover{
	color: #fff001;
}
.ank-area span.pc-only{
	padding-right: 10px;
}
.ank-area .arrow-ic{
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #1b1b1b;
	border-right: solid 2px #1b1b1b;
	-ms-transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	display: inline-block;
	margin-bottom: 5px;
}
.m-auto{
	margin: 0 auto;
	display: table;
	margin-bottom: -20px;
}
@media screen and (max-width: 768px) {
	.ank-area .pc-only{
		display: inline-block;
	}
	.ank-area a{
		float: left;
	}
}

@media screen and (max-width: 730px) {
	.ank-area .pc-only{
		display: none;
	}
	.ank-area .sp-only{
		display: inline-block;
		padding-right: 8px;
	}
	.ank-area a{
		font-size: 14px;
		margin-right: 15px;
	}
	.ank-area .arrow-ic{
		width: 6px;
		height: 6px;
		margin-bottom:3px;
	}
}
@media screen and (max-width: 320px) {
	.ank-area a{
		font-size: 12px;
		margin-right: 10px;
	}
}

/*--------------------------------------
  　ボタン赤
--------------------------------------*/
.btn-red a {
	display: block;
	margin: 0 auto;
	width: 230px;
	padding: 15px 0;
	background-color: #d32f2f;
	color: #FFF;
	font-size:22px;
	text-align: center;
	position:relative;
}
.btn-red-02 a {
	display: block;
	margin: 15px auto 0;
	width: 160px;
	padding: 10px 0;
	background-color: #d32f2f;
	color: #FFF;
	font-size:16px;
	text-align: center;
	position:relative;
}
.btn-red a:hover,.btn-red-02 a:hover {
	color: #FFF;
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	-moz-transition: .3s;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -ms-transition: .3s;
    transition: .3
}
.btn-red-fin span {
	display: block;
	width: 230px;
	margin: 0 auto;
	padding: 15px 0;
	background-color: #75202a;
	color: #7f7f7f;
	font-size:22px;
	text-align: center;
}
.btn-red-02-fin span {
	display: block;
	width: 160px;
	margin: 15px auto 0;
	padding: 10px 0;
	background-color: #75202a;
	color: #7f7f7f;
	font-size:16px;
	text-align: center;
}
.btn-red .arrow{
  position: absolute;
  right:30px;
  top: 50%;
}
.btn-red-02 .arrow{
  position: absolute;
  right:25px;
  top: 50%;
}
.btn-red .arrow::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 3px #FFF;
  border-right: solid 3px #FFF;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}
.btn-red-02 .arrow::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #FFF;
  border-right: solid 2px #FFF;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}

@media screen and (max-width: 768px) {
.btn-red a,.btn-red-02 a,.btn-red-fin span,.btn-red-02-fin span {
	padding:15px 0;
	max-height:999999px;
	font-size:16px;
	}
}

@media screen and (max-width: 700px) {
.btn-red a,.btn-red-02 a,.btn-red-fin span,.btn-red-02-fin span {
	width:auto;
	margin:0 25px 20px;
	padding:10px 0;
	max-height:999999px;
	font-size:16px;
	}
}

/*---------------------------------
  　ランキング　1位
-----------------------------------*/
.rs-course-01{
	position: relative;
}
.rs-course-01 .course-name{
	font-weight: bold;
	font-size: 28px;
	margin-top: 10px;
}
.rs-course-01 .course-name a{
	color: #222;
}
.rs-course-01 .course-data{
	font-size: 14px;
	margin-top: 10px;
}
.rs-course-01 .course-photo{
	float: left;
	margin-right: 30px;
}
.rs-course-01 .catch{
	float: left;
	width: 450px;
	font-size: 16px;
	text-align: justify;
}
.rs-course-01 .catch span{
	font-size: 18px;
	padding-bottom: 5px;
    display: inline-block;
}
.rs-course-01 .btn-red{
	position: absolute;
	bottom: 0;
	right: 0;
}
@media screen and (max-width: 768px) {
	.rs-course-01{
		margin: 10px;
	}
	.rs-course-01 .course-photo{
		float: none;
		text-align: center;
		margin-right: 0;
	}
	.rs-course-01 .catch{
		float: none;
		width: auto;
		line-height: normal;
	}
	.rs-course-01 .btn-red{
		position:static;
	}
}
@media screen and (max-width: 640px) {
	.rs-course-01 .course-name{
		font-size: 20px;
	}
}

/*---------------------------------
  　ランキング　2位～10位
-----------------------------------*/
.yellow{
	color:#fed202;
}
.rs-course{
	width: 305px;
	float: left;
	margin-right: 22px;
	margin-top: 50px;
}
@media \0screen {
  .rs-course {
    margin-right: 15px;
  }
}
.rs-course:nth-child(3n){
	margin-right: 0;
}
.rs-course .course-name{
	font-weight: bold;
	font-size: 18px;
	margin-top: 10px;
}
.rs-course .course-name a{
	color: #222;
}
.rs-course .course-data{
	font-size: 14px;
	margin-top: 10px;
}
.rs-course .course-photo{
	margin-top: 15px;
}
.rs-course .course-photo img{
	width: 305px;
	height: 200px;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
	.rs-course{
		width: 235px;
		margin: 30px 10px !important;
	}
	.rs-course .course-photo img{
		width: 235px;
		height: 150px;
	}
}

@media screen and (max-width: 764px) {
	.rs-course{
		width: auto;
		margin: 10px !important;
		position: relative;
	}
	.rs-course .course-name{
		height: auto!important;
	}
	.rs-course .course-data{
		float: right;
		width: 190px;
		margin-left: 10px;
	}
	.rs-course .course-photo{
		float: left;
	}
	.rs-course .course-photo img {
		width: 190px;
		height: 130px;
	}
	.rs-course .access{
		margin-top: 10px;
		display: inline-block;
	}
	.rs-course .btn-red-02 {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 190px;
	}
	.rs-course .btn-red-02 a,.rs-course .btn-red-02-fin span{
		width: 190px;
		margin: 0;
	}
}
@media screen and (max-width: 400px) {
	.rs-course .course-data{
		width: 170px;
		margin-left: 10px;
	}
	.rs-course .course-photo img {
		width: 170px;
		height: 120px;
	}
	.rs-course .btn-red-02 {
		width: 170px;
	}
	.rs-course .btn-red-02 a,.rs-course .btn-red-02-fin span{
		width: 170px;
	}
}
@media screen and (max-width: 370px) {
	.rs-course .course-data{
		width: 180px;
		margin-left: 10px;
	}
	.rs-course .course-photo img {
		width: 150px;
		height: 110px;
	}
	.rs-course .btn-red-02 {
		width: 180px;
	}
	.rs-course .btn-red-02 a,.rs-course .btn-red-02-fin span{
		width: 180px;
	}
}
@media screen and (max-width: 330px) {
	.rs-course .course-data{
		width: 160px;
		margin-left: 10px;
		font-size: 13px;
	}
	.rs-course .course-photo img {
		width: 130px;
		height: 110px;
	}
	.rs-course .btn-red-02 {
		width: 160px;
	}
	.rs-course .btn-red-02 a,.rs-course .btn-red-02-fin span{
		width: 160px;
		font-size: 14px;
	}
}
/*---------------------------------
  　ランキング　11位～20位
-----------------------------------*/
.small-box{
	margin:50px 62px 0 72px;
	font-size: 14px;
}
.small-box li{
	float: left;
	width: 393px;
	padding: 15px 15px 15px 0;
}
.small-box li a{
	color: #222;
}
.small-box li a:hover {
	color: #222;
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	-moz-transition: .3s;
    -webkit-transition: .3s;
    -o-transition: .3s;
    -ms-transition: .3s;
    transition: .3
}
.rank-icon{
	background-color: #1b1b1b;
	color: #fed202;
	padding: 3px 15px;
	font-weight: bold;
	margin-right: 15px;
	display: inline-block;
	float: left;
	margin-top: -4px;
}
@media screen and (max-width: 768px) {
	.small-box{
		margin: 30px 50px;
		font-size: 16px;
	}
	.small-box li{
		float: none;
		width: auto;
		padding-right: 0;
		height: auto!important;
	}
}
@media screen and (max-width: 680px) {
	.small-box{
		margin: 30px 10px;
		font-size: 14px;
	}
	.rank-icon{
		margin-right: 10px;
		padding: 3px 10px;
	}
	.small-box li{
		padding: 15px 0;
	}
}
@media screen and (max-width: 330px) {
	.small-box li{
		padding: 10px 0;
	}
}

/*---------------------------------
  　ページTOP
-----------------------------------*/
#page-top {
    bottom: 20px;
    display: block;
    position: fixed;
    margin-left: 1010px;
	width: 960px;
}
#page-top img{
	width:50px;
	height:50px;
}
#campaign-top {
    bottom: 90px;
    display: block;
    position: fixed;
    margin-left: 980px;
	width: 960px;
}
#campaign-top img{
		width: 130px;
}
@media screen and (max-width: 768px) {
#campaign-top {
    	bottom:80px;
    	width:auto;
		margin-left:0;
    	right: 10px;
		z-index:5;
}
	#campaign-top img{
		width: 120px;
	}
	#page-top {
    	right: 20px;
		width:auto;
		margin-left:0;
		z-index:5;
	}
}
@media screen and (max-width: 600px) {
#campaign-top {
    	bottom: 70px;
    	width:auto;
		margin-left:0;
    	right: 5px;
		z-index:5;
}
	#campaign-top img{
		width: 90px;
	}
	#page-top img {
    	width: 40px;
    	height: 40px;
	}
}
@media screen and (max-width: 350px) {
	#campaign-top{
		right: 5px;
	}
	#campaign-top img{
		width: 80px;
	}
	#page-top {
    	right: 10px;
	}
}

/*Safariだけに適用されるCSSハック*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
  ::i-block-chrome,#container {
	  font-family:"メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
}