@charset "utf-8";

/* reset */
/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {
	margin:0;
	padding:0;
}

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

th{
	font-weight:normal;
	text-align:left;
}

img {
	max-width: 100%;
	border:0;
	vertical-align:bottom;
}

ul {
	list-style:none;
}

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

input,textarea,select {
	font-weight:inherit;
	font-size:inherit;
	font-family:inherit;
	*font-size:100%;
}

/* utility */
.clearfix:after {
    content: "";
  clear: both;
    display: block;
}

div:after,
ul:after {
   content: "";
  display: block;
 clear: both;
}

a:hover img {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
  transition: 0.2s;
}

/* common */
html {
	background:#FFF;
}

body{
	font-family: 'Roboto', sans-serif;
	font-size:15px;
	line-height: 1.7;
	color: #000000;
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing: antialiased;
}

.sp {
	display:none !important;	
}

.left {
	float:left;
}

.right {
	float:right;
}

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

a:hover {
  text-decoration: underline;
}


/* header */
header {
	
}

header .wrapper {
	display: block;
	width:980px;
	margin:0 auto 5px;
	height:120px;
	position: relative;
}

header h1 a{
  margin: 5px 0 0 10px;
	display: block;
	width:285px;
	height:115px;
	background: url(../img/logo.png) center center no-repeat;
	background-size: 265px 95px;
	text-indent: -9999px;
	transition-duration:0.2s;
}

header .points {
	position:absolute;
	left:433px;
	top:16px;
	width:189px;
	height:93px;
	background-image: url(../img/points.png);
	background-size: contain;
	text-indent: -9999px;
}

header .tel a{
	display: block;
	position:absolute;
	right:20px;
	top:40px;
	width:320px;
	height:68px;
	background-image: url(../img/header_tel.png);
	background-size: contain;
	text-indent: -9999px;
}

a.arrow {
  display: block;
  padding-left: 1em;
	background: url(../img/arrow.png) left center no-repeat;
	background-size: 7px 10px;
	color: #000;
	text-decoration: none;
}

a.arrow:hover{
	color: #ea5514;
}

header a.recruit{
	position:absolute;
	right:20px;
	top:5px;	
}



/*nav*/
nav.pc {
	background: url("../img/gnavi_bg.png") repeat-x;
}

nav.pc ul {
  width:980px;
	margin: 0 auto;
	background: url("../img/gnavi_bg.png") repeat-x;
}

nav.pc li {
	display: block;
	float: left;
}

nav.pc li a{
	display: block;
	background: url("../img/gnavi.png") 0 0 no-repeat transparent;
	background-size: auto 140px;
	height: 70px;
	width:139px;
	overflow: hidden;
	position: relative;
	top: 0;
	left: 0;
	text-indent: -9999px;
}

nav.pc .news {
	background-position: 0 0;
}

nav.pc .policy {
	background-position: -139px 0;
}

nav.pc .feature {
	background-position: -278px 0;
}

nav.pc .voice {
	background-position: -418px 0;
}

nav.pc .system {
	background-position: -556px 0;
}

nav.pc .classroom {
	background-position: -695px 0;
}

nav.pc .trial {
	background-position: -834px 0;
}

nav.pc li a:hover, nav.pc li a.selected{
	background-position-y: -70px;
}

/*footer*/
footer {
 margin-bottom:40px;
 border-top: 1px #ea5514 solid;
}

#pagetop {
  position: fixed;
	bottom:-70px;
  right: 20px;
	z-index:999;
	width:70px;
	height:70px;
	background-image: url(../img/icon_totop.png);
	background-size: contain;
}

footer .wrapper {
	display: block;
	width:950px;
	margin:0 auto;
	height:210px;
	position: relative;
	padding-top: 30px;
}

footer .map {
  display:block;
  float:right;
  width:450px;
  max-width:450px;
	transition-duration:0.2s;
	margin:4px 0 20px;
}

footer .bar {
  display: block;
  width:379px;
  max-width:379px;
  margin-bottom: 10px;
	transition-duration:0.2s;
}

footer h4 {
  font-weight: bold;
  font-size: 18px;
}

footer p {
  font-size: 15px;
}

footer .copyright {
	margin-top: 20px;
	font-size:12px;
	color:#999;
}


/* */
.main {
  width:950px;
  margin: 15px auto 80px;
	min-height:1200px; /*あとで削除*/
}

.breadcrumb {
  color:#666;
}

.breadcrumb li{
  float: left;
  display: inline-block;
  margin-right:0.5em;
}

.breadcrumb li:not(:last-child):after{
  content: '>';
  margin-left:0.5em;
  color:#999;
}

h2 {
  text-align: center;
  color:#1b1464;
  font-size:40px;
  font-weight: bold;
  line-height: 1;
  margin-top: 50px;
  letter-spacing: 0.075em;
}

h2 span {
  border-bottom: 3px #fbb03b solid;
}

.main p.catch {
  font-size:18px;
  text-align: center;
  color:#494383;
  margin-top: 26px;
  line-height: 1.6;
}

h3 {
  font-size:20px;
  color:#1b1464;
  font-weight: bold;
  vertical-align: middle;
}

h3:before {
  content:'';
  display: inline-block;
  width:4px;
  height:24px;
  background: #ea5514;
  margin-right:0.4em;
  margin-bottom: 4px;
  vertical-align: middle;
}

h3 {
  margin-top: 50px;
}

.flex h3 {
  margin-top: 0px;
}

.center {
  text-align: center;
}

.main p {
/*   margin-top: 1em; */
  margin-top:.5em;
}
.flex {
	display: -webkit-flex; /* Safari */
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top:100px;
}

.flex:after {
  content: none;
}

.roombox {
  width:460px;
  margin-bottom:40px;
}


.roombox img {
  margin-top: 10px;
}

.roombox p {
  margin-top: 10px;
}


.flow span {
  background-color: #ea5514;
  padding: 4px 10px;
  border-radius: 3px;
  color: #fff;
  font-size:15px;
  font-weight: bold;
}

.flow i.arrow {
  display: inline-block;
  margin: 0 0.4em;
	background: url(../img/arrow_gray.png) left center no-repeat;
	background-size: 7px 10px;
	width:7px;
	height:10px;
}

h4 {
  color:#1b1464;
  font-weight: bold;
  font-size: 18px;
  margin-top:1.5em;
}

h4 span {
  color:#ea5514;
}

ul.system li p {
  padding-left: 2em;
}

ul.system li {
  margin-bottom:1em;
}

table.system {
  width:100%;
  margin-top: 1em;
}

table.system th, table.system td{
  padding:0.8em 1em;
}

table.system th {
  background-color: #ea5514;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

table.system.alt th {
  background-color: #38a1db;
}

table.system tr {
  border-bottom: 1px solid #ccc;
}

table.system tr td{
  text-align: center;
}

table.system tr td.r{
  text-align: right;
}

table.system tr:nth-child(odd) td {
  background-color: #fef6f3;
}

table.system.alt tr:nth-child(odd) td {
  background-color: #f5fafd;
}

table.system tr td:first-child {
  font-weight:bold;
}

.col2 {
  width:450px;
}

.scroll{
overflow: auto;　　　　/*tableをスクロールさせる*/
white-space: nowrap;　　/*tableのセル内にある文字の折り返しを禁止*/
}
.scroll::-webkit-scrollbar{　　/*tableにスクロールバーを追加*/
 height: 5px;
}
.scroll::-webkit-scrollbar-track{　　/*tableにスクロールバーを追加*/
 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {　　/*tableにスクロールバーを追加*/
 background: #BCBCBC;
}



/* feature */

div.feature {
	display: -webkit-flex; /* Safari */
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 70px;
}

div.feature .fbox {
  border: 3px solid #ea5514;
  border-radius: 10px;
  width:390px;
  padding:37px 27px 22px;
  margin-bottom:20px;
  margin-left:10px;
  position: relative;
}

div.feature .fbox .point {
  position:absolute;
  left:-10px;
  top:-10px;
  background-color: #ea5514;
  color: #fff;
  padding: 0px 10px;
  font-weight: bold;
  font-size:16px;
  border-radius: 4px;
  letter-spacing: 0.05em;
}

div.feature .fbox .point span {
  font-size:21px;
  padding-left: 0.1em;
}

div.feature .fbox h4 {
  color:#000;
  font-size:20px;
  line-height:1.25;
  margin-top: 0;
}

div.feature .fbox p {
  font-size:14px;
  margin-top: 10px;
}

div.feature .fbox p.s {
  width:217px;
}

div.feature .fbox img {
  display: block;
  width:240px;
  margin-left:auto;
  margin-right: auto;
  margin-top:1em;
  
}

div.feature .fbox img.abs {
  display: block;
  position: absolute;
  width:175px;
  right:22px;
  top:50px;
  
}

div.feature .fbox a.button {
  display: block;
  color: #fff;
  font-weight: bold;
  background-color: #6fba2c;
  border-radius: 4px;
  text-align: center;
  font-size: 15px;
  padding:0.5em 2em;
  width:40%;
  margin-left:auto;
  margin-right: auto;
  margin-top:1em;
}

span.yellow {
  background-color: #fdf14d;
}


/*policy */
.policy.flex {
	display: -webkit-flex; /* Safari */
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top:0;
}


.l_box {
  width:560px;
  margin: 0;
}

.s_box {
  width:360px;
  margin: 0;
}

.policy.center {
  margin:2em 0;
}

div.policy a.button {
  display: block;
  color: #000;
  font-weight: bold;
  background-color: #fcee21;
  border: solid 2px #fff;
  box-shadow: 0 0 0 1px #fcee21;
  border-radius: 4px;
  text-align: center;
  font-size: 15px;
  padding:1em 2em;
  width:25%;
  margin-left:auto;
  margin-right: auto;
  margin-top:1em;
}


/* trial */
ul.trial {
  margin:.5em 0;
}

ul.trial li {
  margin-bottom:.25em;
}

ul.trial.d li {
  margin-left: .5em;
}

ul.trial.d li:before {
	content: '';
	width: 6px;
	height: 6px;
	display: inline-block;
	border-radius: 100%;
	background: #fbb03b;
	position: relative;
	left: -.5em;
	top: -.25em;
	
}

.trial.flex {
	display: -webkit-flex; /* Safari */
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top:0;
  margin-bottom: 3em;
}


.trial2 {
  width:720px;
  margin:3em auto 0;
}

.trial2 .wrap{
  width:100%;           
  padding-bottom: 90%;  
  height:0;              
  position: relative;
}

.trial2 .wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div.trial2 a.button {
  display: block;
  color: #000;
  font-weight: bold;
  background-color: #fcee21;
  border: solid 2px #fff;
  box-shadow: 0 0 0 1px #fcee21;
  border-radius: 4px;
  text-align: center;
  font-size: 15px;
  padding:1em 1em;
  width:80%;
  margin-left:auto;
  margin-right: auto;
}
