
/* ************************************************
   base     
  ********************************************** */
	
body {
	font-family: HelveticaNeue, Verdana, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #434343;
}

a {
	color: #FF9001;
	transition: all 0.4s ease 0s;
}

a:hover,
a:focus {
	color: #FF9001;
}

a:link,
a:visited,
a:active,
a:hover {
	outline: medium none;
	overflow: hidden;
}


/* ************************************************
   Header     
  ********************************************** */
#header {
	position:relative;
	text-align:center;
}

#header,
#header h1 {
	height:100px;
}

#header h1  {
	position:absolute;
	left:45%;
	margin:0 0 0 -148px;
	padding:0;
}

#header h1 img  {
	margin: 16px 0 0 0;
	width:70%;
}

#header p {
	display:inline-block;
}

#header .backto-top {
	float:left;
	margin-top:30px;
}


@media (min-width: 768px) {

	#header h1  {
		margin:0 0 0 -148px;
	}
	
	#header h1 img  {
		display:inline-block;
		margin: 0;	
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width:50%;
	}
}


@media (max-width:767px) {
	#header,
	#header h1 {
		height:50px;
	}	
		
	#header h1 {
		margin:0 0 0 -75px;
		width:150px;
	}
	
	#header .btn-border {
		padding: 8px 14px 8px 28px;	
		font-size:10px;
	}
	
	#header .backto-top {
		margin-top:8px;
	}	
	
	#header .backto-top span {
		 display:none;
	}
	
	#header .ic-twitter {
		background-size: 18px auto;
		width:30px;
		height:30px;
	}
}


@media (max-width: 414px) {
	
	#header h1  {
		top:0;
		left:10px;
		margin:0 0 0 0;
		padding:0;	
	}
		
	.backto-top {
		float:none;
		position:absolute;
		right:15%;
	}
	
	#header .btn-border {
		 padding: 8px 14px 8px 30px;
	}

}



/* ************************************************
   Main Visual     
  ********************************************** */


/* ボタンエリア */
.type {
	padding: 22px 0;
}

.type .btn {
	margin-right: 9px;
	margin-left: 9px;
	width: 265px;
}

.type .btn:hover {
	color:#FFF;
}

.type .btn-default {
	border: none;
}

.type .btn-lg {
	border-radius: 3px;
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.8;
	font-weight: bold;
}

.type .btn i {
	float: left;
}

.type .btn i img {
	height: 25px;
}

@media (max-width:600px) {
	.type .btn-lg {
		padding: 8px 10px;
		font-size: 12px;
	}
	.type .btn {
		display: block;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.type .btn:last-child {
		margin-top: 10px;
	}
	.type .btn i img {
		height: 20px;
	}
}

/* ************************************************
   Footer     
  ********************************************** */
footer {
	padding-bottom:30px;
}

.f-infobar a {
	color: #FFF;
	text-decoration: none;
}

.f-infobar {
	padding: 16px 0;
}

.f-infobar .tel span {
	font-weight: bold;
	font-size: 24px;
}

.f-nav {
	padding-top: 25px;
	padding-bottom: 10px;
}

.f-links {
	margin-bottom:30px !important;
	padding-top: 10px;
}

.f-links a {
	color: #434343;
}

.f-links a:hover {
	color: #ffaf45;
}

.f-links li {
	display: inline-block;
}

.f-links li:not(:last-child) {
	margin-right: 12px;
	padding-right: 12px;
	border-right: 1px solid #434343;
}

footer .credit {
	padding: 0 5px;
}

@media (min-width: 768px) {
	.f-infobar {
		padding: 32px 0;
	}
	.f-infobar .tel {
		vertical-align: middle;
	}
	.f-infobar .tel span {
		padding-left: .5em;
	}
	.f-nav .logo {
		float: left;
	}
}

@media (max-width:767px) {
	.f-nav {
		text-align: center;
	}
	.f-nav .logo {
		float: none;
		display: inline-block;
		margin: 0 auto;
	}
	.f-links {
		padding-top: 20px;
	}
}

@media (max-width:414px) {
	.f-infobar .tel span {
		display: block;
	}
}


/* ************************************************
   Contents     
  ********************************************** */

/* section */
#contents section:nth-child(even){
	background: #f3f3f3;
}

section {
	border-top: #FF9001 3px solid;
}

section .next {
	display: block;
	margin: -3px auto 0;
	background: url(../img/lib/arw-down.png) no-repeat left top;
	width: 64px;
	height: 42px;
	text-indent: -9999px;	
}

section .next a {
	display: block;
	width: 64px;
	height: 42px;
}

section p {
	line-height: 1.7;
}

section dt,
section dd {
	line-height: 1.7;
	font-weight: normal;
}

.pd-top {
	padding-top: 60px;
}

.pd-btm {
	padding-bottom: 60px;
}

@media (max-width:767px) {
	.pd-top {
		padding-top: 30px;
	}
	.pd-btm {
		padding-bottom: 30px;
	}
}

@media (max-width:414px) {
	section {
		padding-bottom: 30px;
	}
	.pd-top {
		padding-top: 20px;
	}
	.pd-btm {
		padding-bottom: 20px;
	}
	section p {
		font-size: 13px;
	}
}


/* heading */

h1,
.h1 {
	font-size: 24px;
}

h3,
.h3 {
	font-size: 18px;
}

section h1,
section h2,
section .ttl {
	text-align: center;
	font-weight: bold;
}

section h1 {
	margin-top: 50px;
	margin-bottom: 50px;
	padding-top: 0px;
	font-weight: bold;
	background:none;
}

section h1:before {
	display:block;
	content: " ";	
	background-repeat:no-repeat;
	background-position: center top;
	background-size: contain;
}

section .ttl {
	margin-bottom: 60px;
	font-size: 24px;
}

section h2 {
	font-size: 18px;
}

section .lead {
	font-size: 18px;
	line-height: 1.55;
}

@media (max-width:767px) {
	section h1,
	section .h1 {
		font-size: 20px;
	}
	section h1 {
		margin-top: 26px;
		margin-bottom: 20px;
	}
	section h2,
	section .ttl {
		font-size: 18px;
	}
	section .ttl {
		margin-bottom: 30px;
	}
	section .lead {
		font-size: 16px;
	}
}

@media (max-width:414px) {
	h1,
	.h1 {
		font-size: 18px;
	}
	h3,
	.h3 {
		font-size: 15px;
	}
	section h1 {
		margin-top: 30px;
		margin-bottom: 20px;
		padding-top: 0;
	}
	
	section h1:before {
		margin: 20px 0;
		height:35px;		
	}
	
	section h2 {
		font-size: 15px;
	}
	section .lead {
		font-size: 14px;
	}
	
}


/* side menu
-------------------------------------------------------------------*/
#sd-nav {
	z-index: 11;
	position: fixed;
	right: 0;
	bottom: 30px;
	width: 60px;
	text-align: center;
	color: #FFF;
	background: #FF9001;
	border-radius: 5px 0 0 5px;
	box-shadow: -3px 0 5px -1px rgba(153, 153, 153, 0.55);
}

#sd-nav ul {
	margin: 0;
	padding: 0;
}

#sd-nav ul li img {
	margin-top: -3px;
	vertical-align: middle;
}

#sd-nav ul li:not(:last-child) a {
	display: block;
	height: 58px;
	line-height: 58px;
}

#sd-nav ul li:not(:last-child) a:hover {
	background: #f7b65f;
}

#sd-nav ul li:first-child a {
	border-top-left-radius: 5px;
}

#sd-nav ul li:not(:first-child):before{
	content: "";
	display: block;
	height: 1px;
	margin: 0 10px;
	background: #fe7200;
}

#sd-nav ul li:last-child a {
	height: 50px;
	border-bottom-left-radius: 5px;
	text-indent: -9999px;
	display: block;
	height: 50px;
	background: #000 url(../img/lib/bt-top.png) no-repeat center center;
}

#sd-nav ul li:last-child a:hover {
	background: #999 url(../img/lib/bt-top.png) no-repeat center center;
}

@media (max-width:414px) {
	#sd-nav {
		display: none;
	}
}







/* Slide 
   ============================================= */

.cbp-popup-singlePage-counter {
	color: #FF9001;
}



/* Table 
   ============================================= */
	 
table thead {
	background: #FF9001;
	color: #FFF;
}

table thead th {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
	line-height: 1;
	text-align: center;
	font-size: 18px;
}

.table {
	background: #FFF;
}

.table>tbody>tr>td {
	padding: 30px;
}

.table>tbody>tr>th {
	padding: 16px 1.5em;
	vertical-align: middle;
	text-align: center;
}


@media (max-width:414px) {
	table thead th {
		font-size: 14px;
	}
	.table {
		margin-bottom: 20px;
	}
	.table>tbody>tr>td,
	.table>tbody>tr>th {
		font-size: 13px;
	}
	.table>tbody>tr>td {
		padding: 16px;
	}
	.tbl-rpv>tbody>tr,
	.tbl-rpv>tbody>tr>td,
	.tbl-rpv>tbody>tr>th {
		width: 100%;
		display: block;
	}
	.tbl-rpv>tbody th {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}
	.tbl-rpv>tbody th br {
		display: none;
	}
}	 
	 

/* コース紹介 */
.tbl-course {
	margin-bottom: 0;
}

.tbl-course th {
	text-align: center;
}

.tbl-course>tbody>tr>td,
.tbl-course>tbody>tr>th {
	padding: 12px;
}

.tbl-course>tbody>tr>th {
	font-weight: normal;
}

.tbl-course thead th {
	background: #FF9001;
	padding: 15px !important;
	color: #FFFFFF;
	font-weight: bold;
}

.tbl-course .subject {
	background: #e3e3e3;
	text-align: center;
	font-weight: bold;
	font-weight: bold;
}

.course-info {
	padding: 25px 0;
}

.course-info .price {
	border-radius: 6px;
	display: inline-block;
	margin: 5px 0 25px;
	border: 3px #FFFFFF solid;
	padding: 15px 35px;
	font-size: 24px;
}

.course-info .price span {
	font-size: 14px;
}

.course-name {
	font-size: 18px;
}


@media (min-width: 1200px) {
	.tbl-course>tbody>tr>td,
	.tbl-course>tbody>tr>th {
		padding: 15px;
	}
	.tbl-course>tbody>tr>th {
		white-space: nowrap;
	}
}

@media (min-width: 768px) {
	.tbl-course.literacy tbody td {
		padding: 30px 30px;
	}
	.tbl-course.literacy ol li:not(:last-child) {
		margin-bottom: 1em;
	}
}

@media (max-width:414px) {
	.tbl-course th,
	.tbl-course td {
		font-size: 12px;
	}
	.course-info .price {
		border-radius: 3px;
		padding: 5px 20px;
		font-size: 18px;
	}
	.course-name {
		font-size: 16px;
	}
}


table td dl {
	margin: 0;
}

table td dl dt,
table td dl dd {
	line-height: 1.42857;
}


/* ************************************************
  Parts         
  ********************************************** */

/* list */
.ul,
.ol {
	margin-bottom: 0;
	padding-left: 0;
	list-style-type: none;
}

ul.normal {
	padding-left:15px;
}


/* button */
.btn{
	padding: 8px 24px;
	line-height: 1.67;
}

.bt-large,
.bt-large:hover {
	text-decoration: none;
	color: #FFF;
	background: #d0025e;
}

.bt-large {
	border-radius: 6px;
	width: 560px;
	display: inline-block;
	padding: 25px 5px;
	color: #fff;
	background: #FF9001;
	text-align: center;
	font-size: 24px;
	text-decoration: none;
	color: #FFF;
	line-height: 1.2;
	box-shadow: 0 3px 0 0 #901361;
	text-shadow: 0px -2px 2px rgba(146, 10, 71, 1);
}

.bt-large .period {
	margin-bottom: 5px;
	display: block;
	font-size: 14px;
}

.bt-large i {
	margin-right: 5px;
}

.bt-large i.blank {
	display: inline-block;
	background: url(../img/lib/ic-blank-sd.png) no-repeat left bottom;
	background-size: auto 100%;
	width: 41px;
	height: 26px;
}

@media (max-width: 600px) {
	.bt-large {
		padding: 15px 5px;
		width: 100%;
		font-size: 20px;
	}
	.bt-large i.blank {
		width: 30px;
		height: 18px;
	}
}

@media (max-width: 414px) {
	.bt-large {
		font-size: 16px;
	}
	.bt-large .period {
		font-size: 13px;
	}
	.bt-large i.blank {
		width: 22px;
		height: 14px;
	}
	.bt-large span {
		display: block;
	}
}

.btn-default {
	color: #FF9001;
	background: #FFF;
}

.btn-default:hover {
	color: #fff;
	background: #f7b65f;
}

.btn.btn-more{
	padding: 8px 24px 12px 24px;
}

.btn.btn-more:after{
	content:"+";
	font-size:22px;
	line-height:1;
	padding-left: 1.2em;
	vertical-align: text-bottom;
}

.btn i {
	display: inline-block;
}

.btn-twitter a {
	border:#55acee 2px solid;	
	border-radius:99em;
	display:inline-block;
	padding: 8px 24px 8px 10px;
	color:#55acee;
	vertical-align:middle;	
}

.btn-twitter a:hover {
	background:#55acee;
	text-decoration:none;
	color:#FFFFFF;
}

.btn-twitter i {
	margin-right:13px;
}

.ic-twitter {
	border-radius:50%;
	display:inline-block;
	background:#55acee url(../img/lib/ic-twitter.svg) no-repeat center center;
	background-size: 22px 18px;
	width:40px;
	height:40px;
	vertical-align:middle;
}

.ic-twitter {
	border-radius:50%;
	display:inline-block;
	background:#55acee url(../img/lib/ic-twitter.svg) no-repeat center center;
	background-size: 22px 18px;
	width:40px;
	height:40px;
	vertical-align:middle;
}

.btn-border {
	border:#FF9001 2px solid;	
	border-radius:99em;
	display:inline-block;
	padding: 8px 24px 8px 38px;
	background: #FFF url(../img/lib/ic-arw-left.png) no-repeat 18px center;
}

.btn-border:hover {
	background:#f7b65f url(../img/lib/ic-arw-left.png) no-repeat 18px center;
	text-decoration:none;
}


/* Library 
   ============================================= */
.flex{
    display: flex;
    flex-wrap: wrap;
}		

.round-box {
	border-radius: 8px;
	border: 1px solid #c7c7c7;
	background: #FFFFFF;
}

.round-box .title {
	border-radius: 8px 8px 0 0;
	margin: 0 0;
	padding: 1em 10px;
	background: #FF9001;
	text-align: center;
	color: #FFFFFF;
	font-weight: bold;
}

.round-box .textarea {
	padding: 2em 2.2em;
}


.hover img:hover {
	opacity: 0.7;
}



/* image */
.img-full {
	width: 100%;
	height: auto;
}

.img-circle {
	border-radius:50%;
}


/* position */
.pic-l {
	float: left;
	margin-right: 35px;
	margin-bottom: 15px;
}

.position_r{position:relative;}
.position_a{position:absolute;}


/* align */
.v-mid  {
	margin:0;
	padding:0;
	display:inline-block;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center{text-align:center;}


em {font-style:normal;}
.b {	font-weight: bold;}
.pk {	color: #FF9001;}
.og {	color:#F1AB40;}	
.blue {	color: #FF9001;}


.fs-xs {font-size: 12px;}
.fs-n {	font-size: 16px;}
.fs-m {	font-size: 18px;}

.lh20 {	line-height:2;}

.text {
	overflow: hidden;
}



@media (max-width:767px) {
	img.pull-left {
		margin-right: 15px
	}
	img.pull-right {
		margin-left: 15px
	}
	.sp-br {
		display: block;
	}
	.pc-br {
		display: none;
	}
}

@media (max-width:414px) {
	.fs-n,
	.fs-m {
		font-size: 15px;
	}
	.mb-br {
		display: block;
	}
}



/* spacing */
.m-0{ margin:0;}
.m-10 { margin: 10px;}
.m-15 { margin: 15px;}
.m-20 { margin: 20px;}
.m-25 { margin: 25px;}
.m-30 { margin: 30px;}
.m-35 { margin: 35px;}
.m-40 { margin: 40px;}

.mt-0 {	margin-top: 0px;}
.mt-10 { margin-top: 10px;}
.mt-15 { margin-top: 15px;}
.mt-20 { margin-top: 20px;}
.mt-25 { margin-top: 25px;}
.mt-30 { margin-top: 30px;}
.mt-35 { margin-top: 35px;}
.mt-40 { margin-top: 40px;}

.mb-n {	margin-bottom: 0;}
.mb-0 {	margin-bottom: 0px;}
.mb-10 { margin-bottom: 10px;}
.mb-15 { margin-bottom: 15px;}
.mb-20 { margin-bottom: 20px;}
.mb-25 { margin-bottom: 25px;}
.mb-30 { margin-bottom: 30px;}
.mb-35 { margin-bottom: 35px;}
.mb { margin-bottom: 40px;}

.ml-0 {	margin-left: 0px;}
.ml-10 { margin-left: 10px;}
.ml-15 { margin-left: 15px;}
.ml-20 { margin-left: 20px;}
.ml-25 { margin-left: 25px;}
.ml-30 { margin-left: 30px;}
.ml-35 { margin-left: 35px;}
.ml-40 { margin-left: 40px;}

.mr-0 {	margin-right: 0px;}
.mr-10 { margin-right: 10px;}
.mr-15 { margin-right: 15px;}
.mr-20 { margin-right: 20px;}
.mr-25 { margin-right: 25px;}
.mr-30 { margin-right: 30px;}
.mr-35 { margin-right: 35px;}
.mr-40 { margin-right: 40px;}

.p-0{ padding:0;}
.p-10{ padding:10px;}
.p-15{ padding:15px;}
.p-20{ padding:20px;}
.p-25{ padding:25px;}
.p-30{ padding:30px;}
.p-35{ padding:35px;}
.p-40 { padding:40px;}

.pt-0{ padding-top:0px;}
.pt-10{ padding-top:10px;}
.pt-15{ padding-top:15px;}
.pt-20{ padding-top:20px;}
.pt-25{ padding-top:25px;}
.pt-30{ padding-top:30px;}
.pt-35{ padding-top:35px;}
.pt-40 { padding-top:40px;}

.pb-0{ padding-bottom:0px;}
.pb-10{ padding-bottom:10px;}
.pb-15{ padding-bottom:15px;}
.pb-20{ padding-bottom:20px;}
.pb-25{ padding-bottom:25px;}
.pb-30{ padding-bottom:30px;}
.pb-35{ padding-bottom:35px;}
.pb-40 { padding-bottom:40px;}

.pl-0{ padding-left:0px;}
.pl-10{ padding-left:10px;}
.pl-15{ padding-left:15px;}
.pl-20{ padding-left:20px;}
.pl-25{ padding-left:25px;}
.pl-30{ padding-left:30px;}
.pl-35{ padding-left:35px;}
.pl-40 { padding-left:40px;}

.pr-0{ padding-right:0px;}
.pr-10{ padding-right:10px;}
.pr-15{ padding-right:15px;}
.pr-20{ padding-right:20px;}
.pr-25{ padding-right:25px;}
.pr-30{ padding-right:30px;}
.pr-35{ padding-right:35px;}
.pr-40 { padding-right:40px;}


/* background */
.bg-primary {
	background: #FF9001;
	color: #FFF;
}

.bg-primary a {
	color: #FFF;
}

.bg-primary .btn-default {
	color: #FF9001;
}



/* Other
   ============================================= */

.link {
	background: url(../img/lib/ic-arw-right-wh.png) no-repeat left 5px;
	padding-left:16px;
	text-decoration:none;
}

.blank-before:before {
	content: "";
	display: inline-block;
	vertical-align:middle;
	margin-top:-1px;
	margin-right: 5px;
	background: url(../img/lib/ic-window.svg) no-repeat left bottom;
	background-size: contain;
	width: 12px;
	height: 12px;
}

.blank:after {
	content: "";
	display: inline-block;
	margin-left: 3px;
	background: url(../img/lib/ic-window.svg) no-repeat left bottom;
	background-size: contain;
	width: 13px;
	height: 13px;
}



/*  modal
   ============================================= */

.modal-dialog-center {
  padding-top: 0;
}	 

.modal-header {
	background:#FF9001;
	color:#FFFFFF;
}

.modal-title {
	padding: 5px 0 0 0;
}

.modal-content {
	box-shadow:none;
}

.modal-body p {
	line-height:2;
}

.modal-header .close {
	margin-top:0;
	font-family:Arial, Helvetica, sans-serif;
}

.modal-content .close span {
	font-size:30px;
	font-weight:normal;
	vertical-align:middle;
}

.modal-footer { 
	border-top:none;
}

@media (min-width: 768px) {
	.modal-dialog {
		position:fixed;
		left:50%;
		top:50%;
		margin: -300px 0 0 -33%;
		width:70%;
		height:600px;
	}
	
	.modal-content .close {
		width:35px;
		height:35px;
		background:#FFF;
		color:#FF9001;
		border-radius:50%;
	}	
	
	.modal-body {
		padding:30px;
		height:400px;
		overflow:auto;
	}
}


@media (min-width: 1440px) {
	.modal-dialog {
		margin: -300px 0 0 -30%;
		width:900px;
	}
}


@media (max-width: 767px) {
	.modal-title {
		font-size:16px;
	}
	
	.modal-dialog {
		margin: 10% 15px 0 15px;
		overflow:auto;
		max-height:90%;	
	}	
	
	.modal-content .close {
		display:none;
	}
	
}
 


.btn-jukou a {
	border:#fe7200 2px solid;	
	border-radius:99em;
	display:inline-block;
	padding:8px 80px;
	color:#FF9001;
	vertical-align:middle;	
	background:#fff;
	font-weight:bold;
	font-size:2rem;
}

.btn-jukou a:hover {
	background:#f7b65f;
	text-decoration:none;
	color:#FFFFFF;
}

.row:before, .row:after { width:0px; }