@charset "UTF-8";
@import url(cmn.css);

/*----------------------------base-----------------------------------*/

body{
	min-width: 320px;
}


/*----------------------------link etc--------------------------------*/

a {
  outline: 0;
}
a:link, a:visited {
  text-decoration: none;
  color: #333;
}
a:hover {
  color: #E6163C;
}
/*--------------------------------------*/

.cf:after {
  content: "";
  clear: both;
  display: block;
}
.wrapper {
  width: auto;
  max-width: 1100px;
  margin: 0 auto;
}
.wrapper:after {
  content: "";
  display: block;
  clear: both;
}
.wrapper img {
  max-width: 100%;
}
h2 {
  font-weight: normal;
}
h2.und {
  padding-bottom: 5px;
  margin-bottom: 10px;
  border-bottom: 3px solid #E6163C;
  padding-left: 5px;
}
h2.s_und {
  text-align: center;
  position: relative;
  line-height: 50px;
}
h2.s_und:after {
  position: absolute;
  border-bottom: 3px solid #E6163C;
  bottom: 0;
  left: 50%;
  margin-left: -35px;
  content: '';
  width: 70px;
  text-align: center;
}
h3.und{
  border-bottom: 4px solid #fac75a;
  margin-bottom: 30px;
  font-size: 140%;
}


h4 {
  padding: 5px 10px;
  background: #E6163C;
  color: #FFF;
  margin-bottom: 15px;
  font-weight: normal;
}
h5 {
  padding: 0 0 0 17px;
  position: relative;
  font-size: 110%;
}
h5:after {
  position: absolute;
  top: 50%;
  left: 3px;
  display: block;
  content: '';
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #fac75a;
  border-right: 2px solid #fac75a;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
h6 {
  color: #E6163C;
}
.gray_bg {
  background: #F8F6F4;
  /* padding: 60px 0 10px; */
}
.gray_bg.tel {
    background: #fff;
    padding: 60px 0;
}
.tbp30 {
  padding: 30px 0;
}
@media screen and (max-width: 1100px) {
  .wrapper {
    padding: 10px;
  }
}
h2.und.bg01{
		background:url(../images/index/index_h2_01.png) no-repeat 0;
			height:91px;
	position:relative;
}
h2.und.bg02{
		background:url(../images/index/index_h2_02.png) no-repeat 0;
			height:91px;
	position:relative;

}
h2.und.bg01 span,
h2.und.bg02 span {
    position: absolute;
    bottom: 5px;
    left: 15px;
}

/*----------------------------header-----------------------------------*/

header {
  border-top: 3px solid #e6163c;
}
header section {
  max-width: 1100px;
  margin: auto;
  width: 100%;
  overflow: hidden;
  padding: 15px 0 15px;
  position: relative;
}
header h1 {
  height: auto;
  float: left;
  width: 20%;
}
header h1 img {
  max-width: 124px;
}
header #header_col {
  width: 55%;
  padding-top: 15px;
  float: left;
}
header h2 {
  font-size: 14px;
  font-weight: normal;
}
header nav #menu {
  display: none;
}

header nav ul {
  overflow: hidden;
}
header nav li {
  font-size: 14px;
  float: left;
  padding: 8px;
  display: table;
}
header nav li .material-icons {
  display: table-cell;
  vertical-align: middle;
  font-size: 17px;
  padding-right: 3px;
}
header nav li:nth-of-type(1) .material-icons{
  color: #ff646c;
}
header nav li:nth-of-type(2) .material-icons{
  color: #ffd235;
}
header nav li:nth-of-type(3) .material-icons{
  color: #9dc819;
}



header #header_contact {
  background-color: #ffce23;
  text-align: center;
  color: #fff;
  text-shadow: 1px 1px 0 rgba(222, 173, 0, 0.7);
  font-weight: bold;
  line-height: 120%;
  padding: 20px 10px;
  position: absolute;
  right: 0;
  top: -3px;
  width: 200px;
  font-size: 120%;
}
header #header_contact a {
  color: #fff;
  text-decoration: none;
  font-size: 110%;
}
header #header_contact .material-icons {
  font-size: 17px;
  padding-right: 3px;
}






@media screen and (max-width: 850px) {
  header section {
    width: 90%;
    margin: auto;
    padding-top: 5px;
    padding-bottom: 10px;
  }
  header h1 {
    width: 100%;
    float: none;
    text-align: center;
  }
  header h1 img {
    margin: 0 auto;
    max-width: 25%;
  }
  header #header_col h2{
    display: none;
  }
  header #header_contact {
    display: none;
  }
  header nav {
    border: none;
    position: fixed;
    top: 0;
    right: -50%;
    width: 50%;
    height: 100%;
    z-index: 20;
  }
  header nav #menu {
    display: block;
  }
  header nav #menu a {
    display: block;
    width: 36px;
    height: 45px;
    position: absolute;
    top: 25px;
    left: -50px;
  }
  header nav #menu a:before {
    content: "";
    display: block;
    width: 36px;
    height: 5px;
    background: #333;
    position: absolute;
    top: 20px;
    left: 0;
    transition: 0.3s ease-in-out;
  }
  header nav #menu span {
    height: 5px;
    width: 36px;
    margin-top: 20px;
    display: block;
  }
  header nav #menu span:before {
    content: "";
    display: block;
    width: 36px;
    height: 5px;
    background: #333;
    position: absolute;
    top: 10px;
    left: 0;
    transition: 0.2s ease-in-out;
  }
  header nav #menu span:after {
    content: "";
    display: block;
    width: 36px;
    height: 5px;
    background: #333;
    position: absolute;
    top: 30px;
    left: 0;
    transition: 0.2s ease-in-out;
  }
  header nav.open #menu a:before {
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
  }
  header nav.open #menu span:before {
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    top: 20px;
  }
  header nav.open #menu span:after {
    -webkit-transform: rotate(-225deg);
    transform: rotate(-225deg);
    top: 20px;
  }
  header nav ul {
    display: block;
    margin-left: 10px;
    background: rgba(255, 255, 255, 0.95);
    width: 300px;
    height: 100%;
    padding-top: 84px;
    box-sizing: border-box;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    transition: 0.3s ease-in-out;
  }
  header nav.open ul {
    margin-left: -280px;
  }
  header nav ul li {
  }
  header nav ul li a {
    text-align: left;
    border: none !important;
    padding-left: 0px;
  }
}
@media screen and (max-width: 320px) {
  header nav {
    border: none;
    position: fixed;
    top: 0;
    right: -50%;
    width: 50%;
    height: 100%;
    z-index: 20;
  }
}



/*----------------------------mv--------------------------------*/

#mv{
	background:url(/img/cmn/mv_bg.png) no-repeat;
	background-size:cover;
	width:100%;
  position: relative;
  min-height: 250px;
  background-position: 0 50%;
}
#mv::before{
  /* 透過した黒を重ねる */
  	background-color: rgba(0,0,0,0.5);
  	/* どの範囲に重ねるかを指定 */
  	position: absolute;
  	top: 0;
  	right: 0;
  	bottom: 0;
  	left: 0;
  	content: ' ';
  }
  #mv section{
    position: absolute;
    width: 100%;
    text-align: center;
    top:40%;
  }
#mv section h1{
    color: #fff;
    font-size:250%;
	letter-spacing:2px;
  }


  @media screen and (max-width: 500px) {
    #mv section h1 {
      font-size: 170%;
    }
  }

  @media screen and (max-width: 320px) {
#mv{
  min-height: 120px;
    }
  }


/*----------------------------話題の講座--------------------------------*/

.course_lay .entry {
  float: left;
  width: 31.4%;
  margin-right: 2.86%;
  margin-bottom: 20px;
	background: #FFF;
  /* 32 + 1.33 = 33.33% = 3分の1 */
}
.course_lay .entry:nth-of-type(3n) {
  margin-right: 0;
}
.course_lay .entry+hr{
  display: none;
}
.course_lay .wrap {
  border: 1px solid #CCC;
  padding: 10px;
  height: 305px;
}
.course_lay .wrap:hover {
  border:2px solid #FFCE23;
  padding: 9px;
}
.course_lay .instructor {
  float: left;
  width: 45%;
  margin: 0 10px 5px 0;
}
.course_lay .instructor img {
  max-width: 100%;
  max-height: 200px;
  width: auto !important;
  height: auto !important;
}
.course_lay .com {
  overflow: hidden;
  _zoom: 1;
}
.course_lay .title {
  clear: both;
  border-top: 3px solid #E6163C;
  border-bottom: 1px dotted #CCC;
  padding: 5px 0px;
  font-weight: bold;
  margin-bottom: 5px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.course_lay .name {
  font-weight: bold;
  font-size: 120%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.course_lay .com p{
	margin-bottom: 5px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
	font-size: 90%;
 }

.course_lay dl dt {
  color: #FFF;
  font-weight: bold;
  background: #FAC75A;
  border-radius: 5px;
  width: 70px;
  text-align: center;
  margin-bottom: 3px;
	font-size: 80%;
	vertical-align: middle;
}
.course_lay dl dt span,
.course_lay dl dd span{
	display: inline-block;
}
.course_lay dl dd {
  margin-bottom: 5px;
	font-size: 90%;

}


.course_lay dl dd {
	position: relative;
	height: 40px;
	overflow: hidden;
	line-height: 20px;
}

.course_lay dl dd:before, .course_lay dl dd:after {
	position: absolute;
	background: #fff;
}

.course_lay dl dd:before {
	content: "...";
	bottom: 0;
	right: 0;
}

.course_lay dl dd:after {
	content: "";
	width: 100%;
	height: 100%;
}


@media screen and (max-width: 850px) {
  .course_lay .entry {
    width: 48.5%;
    margin-right: 2.86%;
    margin-bottom: 2.86% !important;
    /* 32 + 1.33 = 33.33% = 3分の1 */
  }
  .course_lay .entry:nth-of-type(3n) {
    margin-right: 2.86%;
  }

  .course_lay .entry:nth-of-type(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 600px) {
  .course_lay .wrap {
    height: auto;
  }
  .course_lay .entry {
    float: none;
    width: 99%;
    margin: 10px auto !important;
  }
}

/*----------------------------おすすめ特集--------------------------------*/

.recommend_lay{

}
.recommend_lay .entry{
  width: 48.57%;
  margin-bottom: 10px;
}
.recommend_lay .entry:nth-of-type(odd){
  float: left;
  clear: left;
}
.recommend_lay .entry:nth-of-type(even){
  float: right;
  clear: right;
}
.recommend_lay .entry dl{
  display: table;
}
.recommend_lay .entry dt{
  display: table-cell;
  padding: 10px;
}
.recommend_lay .entry dt img{
  max-width: 120px;
  max-height: 120px;
  width: auto !important;
  height: auto !important;
}
.recommend_lay .entry dd{
  display: table-cell;
  padding: 10px;
}
@media screen and (max-width: 850px) {
  .recommend_lay .entry dl,
  .recommend_lay .entry dt,
  .recommend_lay .entry dd{
    display: block;
  }

}

@media screen and (max-width: 600px) {
  .recommend_lay .entry {
    float: none;
    width: 100%;
  }
}


/*----------------------------講師検索結果--------------------------------*/
.course_lay_archive{
  border-top: 1px dotted #CCC;
}

.course_lay_archive .entry {
  border-bottom: 1px dotted #CCC;
}
.course_lay_archive .entry:hover {
  background: #f8f6f4;
}
.course_lay_archive .wrap {
  padding: 20px 10px;
}

.course_lay_archive .instructor {
  float: left;
  margin: 0 10px 5px 0;
  width: 15%;
}
.course_lay_archive .instructor img {
  max-width: 100%;
  width: auto;
  height: auto;
}
.course_lay_archive .com {
  overflow: hidden;
  _zoom: 1;
}
.course_lay_archive .title {
  font-size: 120%;
  font-weight: bold;
}
.course_lay_archive .name {
  font-weight: bold;
  font-size: 140%;
  margin-bottom: 10px;
  border-left: 3px solid #E6163C;
  padding-left: 8px;
}
.course_lay_archive .name span{
  font-size: 80%;
  font-weight: normal;
	padding-left: 20px;
}
.course_lay_archive dl{
  display: table;
  margin-bottom: 10px;
}
.course_lay_archive dl dt {
  display: table-cell;
  vertical-align: top;
  padding-right: 15px;
  width: 120px;
}
.course_lay_archive dl dt span {
  background: #FAC75A;
  color: #FFF;
  display: block;
  text-align: center;
  border-radius: 5px;
}

.course_lay_archive dl dd {
  display: table-cell;
  vertical-align: middle;
}
@media screen and (max-width: 850px) {
	.course_lay_archive dl,
	.course_lay_archive dl dt,
	.course_lay_archive dl dd{
    display: block;
}
.course_lay_archive .name span {
	display: block;
	padding-left: 0;
}
.course_lay_archive .instructor {
    width: 25%;
}

}
@media screen and (max-width: 600px) {
	.course_lay_archive dl dt {

    width: 80px;
}
.course_lay_archive .instructor {
	width: 35%;
}

}

.search_info{
  padding: 0 0 0 17px;
  position: relative;
  color:#ab832c;
  margin-bottom: 5px;
}
.search_info:after {
  position: absolute;
  top: 12px;
  left: 3px;
  display: block;
  content: '';
  width: 5px;
  height: 5px;
  margin-top: -4px;
  border-top: 2px solid #fac75a;
  border-right: 2px solid #fac75a;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
/*----------------------------ご相談--------------------------------*/

#f_contact {
  background-color: #f6f5f0;
  text-align: center;
}
#f_contact h3 {
  font-weight: normal;
  font-size: 120%;
}
#f_contact #footer_tel a {
  font-size: 220%;
  text-decoration: none;
  padding: 15px;
  display: inline-block;
  color: #E61F3C;
  margin: auto;
  font-weight: bold;
}
.btn_contact a, .btn_contact a:hover {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 10px 30px 10px 30px;

}
.btn_contact {
  background: #e6163c;
  background-image: -webkit-linear-gradient(top, #e6163c, #c20f30);
  background-image: -moz-linear-gradient(top, #e6163c, #c20f30);
  background-image: -ms-linear-gradient(top, #e6163c, #c20f30);
  background-image: -o-linear-gradient(top, #e6163c, #c20f30);
  background-image: linear-gradient(to bottom, #e6163c, #c20f30);
  -webkit-border-radius: 6;
  -moz-border-radius: 6;
  border-radius: 6px;
  text-shadow: 1px 1px 3px #7a0118;
  color: #ffffff;
  font-size: 20px;
  display: block;
  width: 30%;
  margin: 15px auto;
}
.btn_contact:hover {
  background: #e21a3e;
  background-image: -webkit-linear-gradient(top, #f62b50, #e21a3e);
  background-image: -moz-linear-gradient(top, #f62b50, #e21a3e);
  background-image: -ms-linear-gradient(top, #f62b50, #e21a3e);
  background-image: -o-linear-gradient(top, #f62b50, #e21a3e);
  background-image: linear-gradient(to bottom, #f62b50, #e21a3e);
}
.btn_contact span {
  display: block;
}

@media screen and (max-width: 850px) {
  .btn_contact {
    width: 80%;
  }
  }

/*----------------------------footer--------------------------------*/

footer {
  background-color: #333;
  color: #fff;
  border-bottom: solid 3px #e6163c;
  text-align: center;
}
footer h1 img {
  width: 110px;
  height: auto;
  padding: 30px 0 30px 0;
}
footer h2 {
  font-size: 80%;
  font-weight: normal;
  padding: 15px;
}
footer nav {
  border-top: 1px solid #444444;
  padding: 15px 0;
}
footer nav ul {
  display: block;
  text-align: center;
  width: 50%;
  margin: 0 auto;
}
footer nav ul li {
  display: inline-block;
  text-align: center;
  width: 20%;
  font-size: 85%;
}
footer nav ul li a {
  display: block;
  padding: 7px 0;
  color: #fff !important;
  text-decoration: none;
}
footer nav ul li a:hover {
  color: #ccc !important;
}
footer small {
  padding: 10px;
  display: block;
}

@media screen and (max-width: 850px) {
  footer nav {
    border-top: none;
    padding: 0;
  }
  footer nav ul {
    width: 100%;
    overflow: hidden;
  }
  footer nav ul li {
    display: block;
    width: 50%;
    float: left;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  }
  footer nav ul li:nth-child(odd):last-child {
    width: 100%;
  }
  footer nav ul li a {
    text-align: center;
    display: block;
    padding: 5px;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  footer nav ul li a:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    border-left: 1px solid rgba(0, 0, 0, 0.3);
  }
}





/*--------------------------------------*/
/*pager
/*--------------------------------------*/

#pager{
	clear: both;
	overflow: hidden;
	padding-top: 20px;
	margin-bottom: 30px;
	width: 100%;
    display: flex;
}
#pager .pagerprev{
	width: 33%;
	text-align: left;
}
#pager .pagertop{
	width: 33%;
	text-align: center;
}
#pager .pagernext{
	width: 33%;
	text-align: right;
}
#pager .pagernext a,
#pager .pagerprev a{
	display: inline-block;
	width: 80px;
	width: 70%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	vertical-align: middle;
}

#pager .pagination{
	display: block;
	overflow: hidden;
	text-align: center;
	line-height: 100%;
    width: 100%;
}
#pager .pagination span{
	display: inline-block;
	margin: 0 2px;
}
#pager .pagination a{
	display: block;
	padding: 9px;
	background: #f5f5f5;
	border: 1px solid #ccc;
	text-decoration: none;
}
#pager .pagination .current{
	border: 1px solid #ccc;
}
#pager .pagination .current a{
	padding: 8px;
	background: #fff;
	border: 1px solid #ccc;
}
