@charset "utf-8";
/*-------------------------------------------------

専科特別プログラムcss
#cinfo_senka_ssp_index

-------------------------------------------------*/

#cinfo_senka_ssp_index{

}

#cinfo_senka_ssp_index #wrap {
    padding: 95px 0 0;
    color: #555;
}

#cinfo_senka_ssp_index #visual{
	position: relative;
	margin: 0;
	background:none;
	height:auto;
	padding:0;
}

#cinfo_senka_ssp_index #visual h1 img {
	width:100%;
}

#cinfo_senka_ssp_index #navi {
    width: 100%;
}
#cinfo_senka_ssp_index #navi ul {
    width: 100%;
    margin: 0 auto;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}
#cinfo_senka_ssp_index #navi ul li {
	position: relative;
    width: 25%;
}

#cinfo_senka_ssp_index #navi ul li i {
	color: #ba8275;
	position: absolute;
    left: 10px;
	top: 20px;
    font-size: 1.0rem;
}

#cinfo_senka_ssp_index #navi ul li a {
    width: 100%;
    padding: 10px 10px 0 30px;
    text-align: center;
    background-color: #fff;
    height: 45px;
    line-height: 12px;
    margin: 0 1px 2px;
    text-decoration: none;
    color: #535353;
    display: block;
    font-size: 1.0rem;
    font-weight: bold;
}

#cinfo_senka_ssp_index .gray_base{
	padding:10px 0 30px;
	background-color:#F6F6F6;
	margin-bottom: 80px;
}

#cinfo_senka_ssp_index .row {
    margin: 0 0 30px;
}

#cinfo_senka_ssp_index #target{
	width:100%;
	margin:0 auto;
	/*position:relative;*/
}

#cinfo_senka_ssp_index #target figure{
    /*top: 75px;
    left: 0;*/
}

#cinfo_senka_ssp_index #target figure img{
	width:100%;
}

#cinfo_senka_ssp_index #target h2,
#cinfo_senka_ssp_index #feature h2,
#cinfo_senka_ssp_index #curriculum h2,
#cinfo_senka_ssp_index #level h2{
	height:75px;
	line-height:75px;
	font-size:2.0rem;
	text-align:center;
	background-color:#ba8275;
	background-size:contain;
    color: #fff;
    font-weight: bold;
}

#cinfo_senka_ssp_index #curriculum h2{
    margin: 0 0 30px;
}

#cinfo_senka_ssp_index #target h2{
	background-image:url(/lpi/ssp/img/tit_recommend.png);
	background-position:center left;
	background-repeat:no-repeat;
}

#cinfo_senka_ssp_index #feature h2{
	background-image:url(/lpi/ssp/img/tit_feature.png);
	background-position:center left;
	background-repeat:no-repeat;
}

#cinfo_senka_ssp_index #curriculum h2{
	background-image:url(/lpi/ssp/img/tit_curriculum.png);
	background-position:center left;
	background-repeat:no-repeat;
}

#cinfo_senka_ssp_index #level h2{
	background-image:url(/lpi/ssp/img/tit_level.png);
	background-position:center left;
	background-repeat:no-repeat;
}

#cinfo_senka_ssp_index #target ul{
    /*position: absolute;
    top: 90px;
    left: 10px;*/
	overflow:hidden;
}

#cinfo_senka_ssp_index #target ul li{
	background-color:#F4ECEA;
	color:#353535;
	opacity:0.8;
	font-size:1.4rem;
	line-height:1.5rem;
	/*margin-bottom: 5px;*/
	position:relative;
	padding:8px 0 8px 25px;
}

#cinfo_senka_ssp_index #target ul li span{
	font-weight:bold;
	color:#3f2210;
}

#cinfo_senka_ssp_index #target ul li:before{
	content:"";
	display:block;
	position:absolute;
	top:7px;
	left:7px;
	width:12px;
	height:10px;
	background:url(/lpi/ssp/img/check.png) no-repeat center left;
	background-size:contain;
	margin:0 5px 0 0;
}

#cinfo_senka_ssp_index #contents #intro h2,
#cinfo_senka_ssp_index #contents #info h2,
#cinfo_senka_ssp_index #contents #schoolList h2{
    position: relative;
    font-size: 3.0rem;
    color: #3F2210;
    text-align: center;
    margin: 40px auto 20px auto;
    line-height: 1.2;
    font-weight: bold;
}

#cinfo_senka_ssp_index #contents h2 span{
	font-size:1.4rem;
	margin-right:5px;
}

#cinfo_senka_ssp_index #contents #info h2{
	 line-height: 1.6;
}
#cinfo_senka_ssp_index #contents #info h2 span{
	display: block;
	color: #555;
	font-size: 1.2rem;
}

#cinfo_senka_ssp_index #intro .intro_p{
	text-align:left;
	margin-bottom:30px;
	font-size:1.3rem;
	width:90%;
	margin:0 auto;
    color: #545454;
}

#cinfo_senka_ssp_index #intro .intro_p strong{
    color: #f99400;
}

#cinfo_senka_ssp_index #feature{
	display:block;
}

#cinfo_senka_ssp_index #feature figure img{
	width:100%;
}

#cinfo_senka_ssp_index #feature > div {
	margin:0 auto 20px;
	width:100%;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

#cinfo_senka_ssp_index #feature > div ul {
	background:url(/lpi/ssp/img/ssp_img03_sp.png) left top no-repeat;
	padding:20px;
}
#cinfo_senka_ssp_index #feature > div ul li:not(:last-child) {
	margin-bottom:20px;
}

#cinfo_senka_ssp_index #feature > div ul li > div {
	font-size:1.4rem;
}

#cinfo_senka_ssp_index #feature > div ul li > div > h3 {
	font-size:1.6rem;
	font-weight:bold;
	position:relative;
	padding-left:60px;
	margin-bottom:10px;
	color: #3f2210;
}

#cinfo_senka_ssp_index #feature > div ul li > div > h3:before{
	font-size:3.3rem;
	position:absolute;
	top:0;
	left:0;
	line-height:1.0;
	color: #ba8275;
}

#cinfo_senka_ssp_index #feature > div ul li:nth-of-type(1) > div > h3:before{
	content:"01";
}

#cinfo_senka_ssp_index #feature > div ul li:nth-of-type(2) > div > h3:before{
	content:"02";
}

#cinfo_senka_ssp_index #feature > div ul li:nth-of-type(3) > div > h3:before{
	content:"03";
}

#cinfo_senka_ssp_index #info .week_btn{
	text-align: center;
	margin-bottom: 40px;
	font-size: 2.0rem;
	color: #555;
	font-weight: bold;
}

#cinfo_senka_ssp_index #info .week_btn img{
	width: 160px;
}

#cinfo_senka_ssp_index #info .schedule .schedule_weekend > h3,
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays > h3{
   background-image:url(/lpi/ssp/img/tit_schedule.png);
    background-position: center left;
    background-repeat: no-repeat;
    height: 75px;
    line-height: 75px;
    font-size: 2.0rem;
    text-align: center;
    font-weight: bold;
	margin: 0 0 5px;
}

#cinfo_senka_ssp_index #info .schedule .schedule_weekend > span,
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays > span{
	display: block;
    font-size: 1.2rem;
	margin: 0 0 10px;
	text-align: right;
}

#cinfo_senka_ssp_index #info .schedule .schedule_weekend,
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays{
	margin: 0 0 30px;
}

#cinfo_senka_ssp_index #info .schedule .schedule_weekend > h3{
    background-color: #B3A468;
    color: #fff;
}
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays > h3{
    background-color: #BA8275;
    color: #fff;
}
#cinfo_senka_ssp_index #curriculum .curriculum_list p,
#cinfo_senka_ssp_index #info .schedule .schedule_weekend p,
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays p{
	position: relative;
    font-weight: bold;
	padding: 6px 20px;
	font-size: 1.6rem;
	margin: 0 0 5px;
}

#cinfo_senka_ssp_index #curriculum .curriculum_list p span{
  font-weight: normal;
	font-size: 1.1rem;
}
#cinfo_senka_ssp_index #curriculum .curriculum_list p span sup{
  top: 7px;
}
#cinfo_senka_ssp_index #info .schedule .schedule_weekend p {
    background-color: #B3A468;
    color: #ffffff;
}

#cinfo_senka_ssp_index #info .schedule .schedule_weekend i {
    color: #B3A468;
}

#cinfo_senka_ssp_index #curriculum .curriculum_list p,
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays p {
    background-color: #BA8275;
    color: #ffffff;
}
#cinfo_senka_ssp_index #curriculum .curriculum_list i,
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays i {
    color: #BA8275;
}
#cinfo_senka_ssp_index #info .schedule table {
    width: 100%;
    margin: 0 auto 20px;
    border-collapse: separate;
	font-size: 1.2rem;
	
	display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

#cinfo_senka_ssp_index #info .schedule table th {
    padding: 12px 20px;
    text-align: center;
    vertical-align: middle;
    font-weight: bold;
    border-top: 2px solid #b3a468;
    border-bottom: 2px solid #b3a468;
    border-left: 2px solid #b3a468;
    background: #D9D1B3;
}
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays table th {
    border-top: 2px solid #ba8275;
    border-bottom: 2px solid #ba8275;
    border-left: 2px solid #ba8275;
    background: #ead9d5;
}
#cinfo_senka_ssp_index #info .schedule table th:nth-child(1) {
	min-width: 200px;
	border-left: none;
}
#cinfo_senka_ssp_index #info .schedule table td {
    padding: 12px 20px;
    background: #fff;
    border-bottom: 2px solid #b3a468;
    border-left: 2px solid #b3a468;
    text-align: center;
    vertical-align: middle;
    line-height: 1.5;
}
#cinfo_senka_ssp_index #info .schedule .schedule_weekend table td:nth-child(1),
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays table td:nth-child(1){
	border-left: none;
}
#cinfo_senka_ssp_index #info .schedule .schedule_weekdays table td {
    border-bottom: 2px solid #ba8275;
    border-left: 2px solid #ba8275;
}


#cinfo_senka_ssp_index #info ul {
	margin:0 auto 20px;
	width:90%;
	display:block;
}
#cinfo_senka_ssp_index #info ul li {
	margin:0 0 20px;
	position: relative;
	width:100%;
	display:block;
}

#cinfo_senka_ssp_index #info ul li:last-child {
	margin:0 0 0 0;
}

#cinfo_senka_ssp_index #info ul li h3 {
	text-align:center;
	margin-bottom:10px;
	font-size: 1.4rem;
	color: #555555;
	padding:2px 0;
	border: 5px solid #bfbfbf;
    font-weight: bold;
}

#cinfo_senka_ssp_index #info ul li > div dl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

#cinfo_senka_ssp_index #info ul li > div dl:not(:last-child) {
	margin-bottom:20px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

#cinfo_senka_ssp_index #info ul li > div dt {
    font-size: 1.4rem;
    border: 5px solid #B5E5EA;
    width: 150px;
    margin-right: 20px;
    text-align: center;
    margin: 0 auto 5px;
    color: #0baab8;
    font-weight: bold;
}

#cinfo_senka_ssp_index #info ul li dd {
	text-align:left;
}

#cinfo_senka_ssp_index #info ul li p {
	padding:0;
}

#cinfo_senka_ssp_index #info ul li .date {
	font-size:1.6rem;
	text-align: center;
	line-height: 1.8;
}

#cinfo_senka_ssp_index #info ul li .time {
	font-size:2.0rem;
	line-height:1.5;
	text-align:center;
}

#cinfo_senka_ssp_index #info ul li .date span {
}

#cinfo_senka_ssp_index #info ul li .date strong {
	color: #555;
}

#cinfo_senka_ssp_index #info ul li .price  {
	font-size:2.0rem;
	line-height:1.5;
	text-align:center;
}

#cinfo_senka_ssp_index #info ul li .time > span {
	font-size:1.3rem;
}

#cinfo_senka_ssp_index #info ul li .time > span:nth-of-type(2) {
	font-size:1.2rem;
}

#cinfo_senka_ssp_index #info ul li .price > span {
	font-size:1.6rem;
	display: inline-block;
}

#cinfo_senka_ssp_index #info ul li:first-child > p.memo {
	font-size:1.3rem;
}
#cinfo_senka_ssp_index #info ul li:last-child > p.memo {
	font-size:1.2rem;
}


#cinfo_senka_ssp_index #info table {
	margin:0 auto;
}

#cinfo_senka_ssp_index #info table td{
	vertical-align:middle;
	/*display:block;*/

}

#cinfo_senka_ssp_index #info table .price {
	font-size:30px;
	line-height:1.5;
	text-align:center;
}

#cinfo_senka_ssp_index #info table .price span {
	font-size:18px;
}

/*#schoolList*/

#cinfo_senka_ssp_index #schoolList h3{
	color: #555555;
	padding: 2px 0;
	font-size:1.4rem;
	width:100%;
	text-align:center;
	margin-bottom:10px;
	border: 5px solid #bfbfbf;
	font-weight: bold;
}

#cinfo_senka_ssp_index #schoolList div{
	overflow:hidden;
}

#cinfo_senka_ssp_index #schoolList figure{
	margin-bottom:20px;
}

#cinfo_senka_ssp_index #schoolList figure img{
	width:100%;
}

#cinfo_senka_ssp_index #schoolList > div{
	width:90%;
	margin:0 auto;
}

#cinfo_senka_ssp_index #schoolList p{
	font-size:1.6rem;
	margin-bottom:15px;
}

#cinfo_senka_ssp_index #schoolList p.memo {
	margin:0;
	font-size: 1.2rem;
}
#cinfo_senka_ssp_index #schoolList p.memo a {
	color:#0baab8;
	text-decoration:underline;
}

/*#curriculum*/
#cinfo_senka_ssp_index #curriculum table {
	width: 100%;
	margin:0 auto 10px;
	border-collapse: separate;
	font-size:1.2rem;
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

#cinfo_senka_ssp_index #curriculum table th {
	background: #EAD9D5;
	text-align:center;
	vertical-align:middle;
	border-left: 2px solid #BA8275;
	border-bottom:2px solid #BA8275;
	padding: 12px 20px;
}

#cinfo_senka_ssp_index #curriculum table thead th{
	width:2%;
	background-color:#EAD9D5;
	border-top:2px solid #BA8275;
	border-bottom:2px solid #BA8275;
	font-weight: bold;
}
#cinfo_senka_ssp_index #curriculum table thead th:nth-child(1){
	border-left: none;
}
#cinfo_senka_ssp_index #curriculum table thead th:nth-child(2){
	width:46%;
}
#cinfo_senka_ssp_index #curriculum table thead th:nth-child(3){
	width:12%;
}
#cinfo_senka_ssp_index #curriculum table thead th:nth-child(4){
	width:40%;
}


#cinfo_senka_ssp_index #curriculum table tbody th {
	padding: 12px 10px;
	background-color:#e3f5f7;
	border-bottom:2px solid #BA8275;
	border-left: none;
	text-align:center;
	vertical-align:middle;
}
	
#cinfo_senka_ssp_index #curriculum table td {
	padding: 12px 15px;
	background: #fff;
	border-bottom: 2px solid #BA8275;
	border-left: 2px solid #BA8275;
	text-align: center;
	vertical-align:middle;
	line-height: 1.5;
}

#cinfo_senka_ssp_index #curriculum table td:nth-child(1){
	border-left: none;
}

#cinfo_senka_ssp_index #curriculum table tbody th span{
	display: block;
	width:1.5rem;
	font-size:1.0rem;
	background-color:#000;
	color:#fff;
	width: 100%;
}

#cinfo_senka_ssp_index #curriculum table tbody tr:nth-child(even) td {
	border-bottom:2px solid #BA8275;
}

#cinfo_senka_ssp_index #curriculum table td.b_left {
	border-left:2px solid #BA8275;
}

#cinfo_senka_ssp_index #info .schedule .schedule_weekday table td.b_left{
    border-left: 2px solid #BA8275;
}
#cinfo_senka_ssp_index #info .schedule .schedule_weekend table td.b_left{
    border-left: 2px solid #b3a468;
}
	
#cinfo_senka_ssp_index #curriculum table td:last-child {
	text-align: left;
}

#cinfo_senka_ssp_index #curriculum p.memo{
	margin:0 auto 0;
	width:90%;
}

/*#level*/

#cinfo_senka_ssp_index #level p{
	text-align:center;
	font-size:1.4rem;
	margin-bottom:30px;
}

#cinfo_senka_ssp_index #level ul {
	margin:0 auto 20px;
	width:90%;
	display:block;
}
#cinfo_senka_ssp_index #level ul li {
	margin:0 auto 10px;
	position: relative;
	width:100%;
	display:block;
	border: 5px solid #B5E5EA;
    text-align: center;
    font-weight: bold;
}

#cinfo_senka_ssp_index #level ul li:last-child {
	margin:0 0 0 0;
}

#cinfo_senka_ssp_index #level ul li > div {
	padding:15px;
}

#cinfo_senka_ssp_index #level ul li h3{
	font-size:1.6rem;
	margin:0 0 5px 0;
}
#cinfo_senka_ssp_index #level ul li p:nth-of-type(1){
	font-size:1.4rem;
	padding:5px;
	width:100%;
	background-color:#000;
	color:#FFF;
	margin:0 auto 15px auto;
}

#cinfo_senka_ssp_index #level ul li p{
	font-size:14px;
	line-height:1.2;
	margin-bottom:5px;
	color:#555;
}

#cinfo_senka_ssp_index #level p.memo{
	margin:0;
	text-align:left;
	width:90%;
	margin:0 auto;
}

/**/
#cinfo_senka_ssp_index .entry_block{
	margin:50px auto 0;
	text-align:center;
	font-size:1.6rem;
	width:90%;
}

#cinfo_senka_ssp_index .entry_block p{
	color: #3F2210;
    font-weight: bold;
}
#cinfo_senka_ssp_index .entry_block p span {
    color: #f99400;
}

#cinfo_senka_ssp_index #level ul li:nth-of-type(1) p:nth-of-type(1),
#cinfo_senka_ssp_index #curriculum table tbody th span.level0{
	background-color:#3BD3C2;
}

#cinfo_senka_ssp_index #level ul li:nth-of-type(2) p:nth-of-type(1),
#cinfo_senka_ssp_index #curriculum table tbody th span.level1{
	background-color:#0CBBB7;
}

#cinfo_senka_ssp_index #level ul li:nth-of-type(3) p:nth-of-type(1),
#cinfo_senka_ssp_index #curriculum table tbody th span.level2{
	background-color:#0CBBB7;
}

#cinfo_senka_ssp_index #level ul li:nth-of-type(4) p:nth-of-type(1),
#cinfo_senka_ssp_index #curriculum table tbody th span.level3{
	background-color:#0CB4C5;
}

#cinfo_senka_ssp_index #level ul li:nth-of-type(5) p:nth-of-type(1),
#cinfo_senka_ssp_index #curriculum table tbody th span.level4{
	background-color:#109AC8;
}

#cinfo_senka_ssp_index #level ul li:nth-of-type(6) p:nth-of-type(1),
#cinfo_senka_ssp_index #curriculum table tbody th span.level5{
	background-color:#1380CB;
}

#cinfo_senka_ssp_index #level ul li:nth-child(1){
	color:#3BD3C2;
}

#cinfo_senka_ssp_index #level ul li:nth-child(2){
	color:#0CC2A8;
}

#cinfo_senka_ssp_index #level ul li:nth-child(3){
	color:#0CBBB7;
}

#cinfo_senka_ssp_index #level ul li:nth-child(4){
	color:#0CB4C5;
}

#cinfo_senka_ssp_index #level ul li:nth-child(5){
	color:#109AC8;
}

#cinfo_senka_ssp_index #level ul li:nth-child(6){
	color:#1380CB;
}




#cinfo_senka_ssp_index .entry_block a{
    display: block;
    vertical-align: middle;
    background: #000;
    color: #ffffff;
    text-decoration: none;
    margin: 20px auto;
	height:auto;
    padding: 15px 0;
	font-size:1.8rem;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    font-weight: bold;
    background: #3f2210;
    /*background: -moz-linear-gradient(left, #ff7e00 0%, #ed4732 50%, #ee0055 100%);
    background: -webkit-linear-gradient(left, #ff7e00 0%,#ed4732 50%,#ee0055 100%);
    background: linear-gradient(to right, #ff7e00 0%,#ed4732 50%,#ee0055 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff7e00', endColorstr='#ee0055',GradientType=1 );*/
}

#cinfo_senka_ssp_index .entry_block a > span{
	display:block;
	margin-right:0;
}


#cinfo_senka_ssp_index .wrapOpenContent{
	display: none;
}

#cinfo_senka_ssp_index .btnOpenContent .icon-remove {
    position: absolute;
    top: 6px;
    right: 10px;
    width: 24px;
    background: #fff;
    font-size: 1.8rem;
    text-align: center;
    line-height: 20px;
    padding: 0 0 5px;
}

#cinfo_senka_ssp_index .curriculum_list .btnOpenContent .icon-remove {
    top: 30%;
}
#cinfo_senka_ssp_index .curriculum_list .btnOpenContent:nth-of-type(1) .icon-remove {
    top: 6px;
}

#cinfo_senka_ssp_index .btnOpenContent .icon-remove:before {
    content: "+";
}
#cinfo_senka_ssp_index .active .icon-remove:before {
    content: "-";
}

/*-------------------------------------------------

専科フォームへの組み込み　header footre

-------------------------------------------------*/

.icon-keyboard_arrow_down:before {
  content: "\e90a";
}

.contactus header {
    position: relative;
    padding: 0;
    background: none;
}

#cinfo_senka_ssp_index #wrap {
    padding: 50px 0 0;
}

header .header_logo a {
    display: block;
    max-width: 135px;
}
header .header_logo img {
    width: 100%;
}
header .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 10px;
	background: #fff;
	height: 51px;
}

header .header_logo {
  width: 135px;
}

header .header_logo img {
  width: 100%;
}

header #btn_menu {
  width: 35px;
  color: #999;
  font-size: 1.6rem;
  text-align: center;
	    height: 29px;
    background: url(/common/img/icon_menu.png) center 0 no-repeat;
    background-size: 27px auto;
}
#btn_menu.active {
    width: 27px;
    height: 29px;
    background: url(/common/img/icon_menu_active.png) center 0 no-repeat;
    background-size: 27px auto;
}
.header_link a {
    display: table;
    padding: 0 15px;
    line-height: 1.2rem;
}
.header_link {
    font-size: 1.1rem;
    font-weight: bold;
    position: absolute;
    top: 20px;
    right: 40px;
}
.header_link a i {
    display: table-cell;
    width: 20px;
    text-align: center;
    vertical-align: middle;
    color: #b3b3b3;
}

header #btn_menu.active i::before {
  content: "\e90a";
}

header .btn_counseling {
  position: relative;
    z-index: 10;
    overflow: hidden;
    background: #FFAA55;
    /* height: 45px; */
    padding: 5px;
}

header .btn_counseling a {
    display: block;
    background: #ff7e00;
    box-shadow: none;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 40px;
}

.btn_orange01, .btn_orange02 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    height: 40px;
    padding: 0 20px;
    background: #ff7e00;
    border-style: solid;
    border-width: 2px;
    border-color: #ff7e00;
    border-radius: 100px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    outline: none;
    -webkit-transition: all .3s;
    transition: all .3s;
    cursor: pointer;
}

header .btn_counseling a i {
  margin: 0 5px 0 0;
}

/* #sp_menu
----------------------------------------------------------- */
#sp_menu {
  display: none;
  position: absolute;
  top: 50px;
  left: 0;
  z-index: 15;
  width: 100%;
  padding: 0 0 15px;
  background: #fff;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.15);
}

.sp_menu_show #visual, .sp_menu_show #history_menu, .sp_menu_show #contents, .sp_menu_show footer {
  display: none;
}

/* .global_nav
----------------------------------------------------------- */
.global_nav {
  border-top: 1px solid #ccc;
  /*----- .gnav_reason -----*/
  /*----- .gnav_course -----*/
}

.global_nav > ul > li {
  border-bottom: 1px solid #ccc;
}

.global_nav > ul > li > a,
.global_nav > ul > li > span {
  position: relative;
  display: block;
  padding: 0 20px;
  color: #ee0055;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 45px;
}

.global_nav > ul > li > a::after,
.global_nav > ul > li > span::after {
  position: absolute;
  top: 50%;
  right: 15px;
  margin: -0.5em 0 0;
  font-family: 'icomoon';
  content: "\e908";
  font-size: 1.3rem;
  line-height: 1;
}

.global_nav > ul > li.active span::after {
  transform: rotate(90deg);
}

.global_nav .gnav_course .dropdown h2 {
  padding: 10px 20px;
  background: #fff2f7;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
}

.global_nav .gnav_course .dropdown .gnav_course_list ul {
  margin: 0 10px;
  font-size: 1.2rem;
  font-weight: bold;
}

.global_nav .gnav_course .dropdown .gnav_course_list ul li a {
  display: table;
  padding: 0 15px;
  line-height: 42px;
}

.global_nav .gnav_course .dropdown .gnav_course_list ul li a i {
  display: table-cell;
  width: 25px;
  text-align: center;
  vertical-align: middle;
}

.global_nav .gnav_course .dropdown .gnav_course_list ul li:not(:first-child) {
  border-top: 1px solid #ccc;
}

.global_nav .gnav_course .dropdown .gnav_course_list .by_age p {
  padding: 10px 20px;
  background: #ededed;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-weight: bold;
}

.global_nav .gnav_course .dropdown .dropdown_footer .btn_course_top {
  padding: 15px 20px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.global_nav .gnav_course .dropdown .dropdown_footer .btn_course_top [class^="btn_"] {
  height: 46px;
  font-size: 1.6rem;
}

.global_nav .gnav_course .dropdown .dropdown_footer dl {
  padding: 15px 20px;
  font-size: 1.3rem;
  text-align: center;
}

.global_nav .gnav_course .dropdown .dropdown_footer dl dd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 10px 0 0;
}

.global_nav .gnav_course .dropdown .dropdown_footer dl dd a {
  position: relative;
  display: block;
  flex: 0 0 13.3%;
}

.global_nav .gnav_course .dropdown .dropdown_footer dl dd a img {
  width: 100%;
}

.global_nav .gnav_course .dropdown .dropdown_footer dl dd a .icon-outer {
  position: absolute;
  top: 0;
  right: -4px;
  font-size: 1.0rem;
}

/* .header_nav
----------------------------------------------------------- */
.header_nav {
  margin: 0 0 15px;
  font-size: 1.2rem;
  font-weight: bold;
}

.header_nav li {
  border-bottom: 1px solid #ccc;
}

.header_nav li a {
  display: table;
  padding: 0 15px;
  line-height: 42px;
}

.header_nav li a i:first-child {
  display: table-cell;
  width: 20px;
  text-align: center;
  vertical-align: middle;
}

.header_nav li a .icon-question-circle {
  position: relative;
  top: 1px;
  margin: 0 3px 0 0;
  font-size: 1.4rem;
}

/* .header_contact
----------------------------------------------------------- */
.header_contact {
  padding: 0 20px;
}

.header_contact .btn_orange02 {
  width: 100%;
  height: 46px;
  padding: 0;
}

.header_contact p {
  margin: 15px 0 10px;
  line-height: 1.2;
}

.header_contact p span {
  display: block;
  text-align: center;
}

.header_contact p span:last-child {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 3.0rem;
  font-weight: bold;
}

.header_contact p span img {
  margin: 0 10px 0 0;
  vertical-align: middle;
}

.btn_close.btn_pink04 {
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0 auto;
}

.btn_close.btn_pink04 i {
  margin: 0;
}

.btn_close.btn_pink04 {
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0 auto;
}
.btn_pink04 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    height: 40px;
    padding: 0 20px;
    background: #fff;
    border-style: solid;
    border-width: 2px;
    border-color: #ee0055;
    border-radius: 100px;
    color: #ee0055;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    outline: none;
    -webkit-transition: all .3s;
    transition: all .3s;
    cursor: pointer;
}
#sp_menu .btn_close {
    padding: 5px 0;
    background: none;
    color: #ee005;
    text-align: center;
}

.header_nav li a i:first-child {
    display: table-cell;
    width: 20px;
    text-align: center;
    vertical-align: middle;
}
.icon-keyboard_arrow_right:before {
    content: "\e908";
}
.icon-close:before {
    content: "\e908";
}
.icon-close:before {
    content: "\e908";
}

/*footer*/

footer #footer_top nav > ul {
  text-align: left;
}


footer #footer_top nav > ul > li {
  border-top: 1px solid #ccc;
}

footer #footer_top nav > ul > li > p.category {
	display:none;
}

footer #footer_top nav > ul > li > a {
  position: relative;
  display: block;
  padding: 15px 20px;
  color: #ee0055;
  font-size: 1.6rem;
  font-weight: bold;
}

footer #footer_top nav > ul > li > a::after {
  position: absolute;
  top: 50%;
  right: 15px;
  margin: -0.5em 0 0;
  font-family: 'icomoon';
  content: "\e908";
  line-height: 1;
}

footer #footer_top nav > ul > li.active > a::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

footer #footer_top nav > ul > li ul {
  display: none;
}

footer #footer_top nav > ul > li ul li {
  border-top: 1px solid #ccc;
}

footer #footer_top nav > ul > li ul li a {
  position: relative;
  display: block;
  padding: 15px 20px 15px 40px;
  font-size: 1.2rem;
}

footer #footer_top nav > ul > li ul li a::after {
  position: absolute;
  top: 50%;
  left: 20px;
  margin: -0.5em 0 0;
  font-family: 'icomoon';
  font-size: 0.8rem;
  content: "\e908";
  line-height: 1;
}

footer #footer_bottom nav ul {
  border-bottom: 1px solid #ccc;
	text-align: left;
}

footer #footer_bottom nav ul li {
  border-top: 1px solid #ccc;
}

footer #footer_bottom nav ul li a {
  position: relative;
  display: block;
  padding: 15px 20px 15px 40px;
  font-size: 1.2rem;
  font-weight: bold;
}

footer #footer_bottom nav ul li a::after {
  position: absolute;
  top: 50%;
  left: 20px;
  margin: -0.5em 0 0;
  font-family: 'icomoon';
  font-size: 0.8rem;
  font-weight: normal;
  content: "\e908";
  line-height: 1;
}

footer #footer_bottom div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      -webkit-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
          align-items: center;
  padding: 20px 0 30px;
}

footer #footer_bottom div p small {
  color: #999;
  font-size: 1.2rem;
}

footer #footer_bottom div ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

footer #footer_bottom div ul li {
  margin: 0 10px;
}

footer #footer_bottom div ul li a i {
  color: #434343;
  font-size: 3.4rem;
}

#other_menu{
  background: #ee0055;
  padding: 40px 20px;
}

.foot_txt{
	margin: 0 auto;
  color: #FFF;
  font-size: 14px;
  text-align: center;
  font-weight: bold;
}
.foot_txt a{
  color: #FFF;
}

#footer_pref_list nav > ul{
  display: block !important;
}
#footer_pref_list h2 {
  background: #f17fab;
  color: #FFF;
  font-weight: bold;
  padding: 5px 20px 5px 30px;
  margin-bottom: 0;
  font-size: 1.2rem;
}
#footer_pref_list a{
  color: #333 !important;
  font-weight: normal !important;
}
#footer_pref_list  nav > ul > li > ul > li > a {			
  padding: 15px 20px 15px 50px !important;
}
#footer_pref_list  nav > ul > li > ul > li > a:after {			
  left: 30px !important;
}
#footer_pref_list > nav > ul > li.active{
  position: relative !important;
}
#footer_pref_list > nav > ul > li.active > a.pref::after{
  position: absolute !important;
  top: 50% !important;
  right: inherit !important;
  -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

