@charset "UTF-8";

/*---------------------------
　　リセットCSS
---------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }

body { line-height: 1; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
	container: '';
	container: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*---------------------------
　　全ページ共通
---------------------------*/
html { font-size: 62.5%; }

body {
	font-size: 1.6rem;
	font-family: 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, sans-serif;
	line-height: 1.7;
	color: #000;
	background: url(../images/common/bg.png) repeat top left;
}

body.top { background: #FFF; }

a { text-decoration: none; }

a:hover {
	opacity: 0.7;
	text-decoration: none;
}

h1.disc {
	text-indent: -9999px;
	line-height: 0;
}

#header p, #header li,
#globalFooter p, #globalFooter li,
body.top #category p, body.top #category li {
	font-feature-settings: "palt";
	text-align: justify;
	word-wrap: break-word;
}

a img:hover {
	opacity: 0.7;
	transition: 0.5s;
}

/* 改行
----------------*/
body.top br.pc,
body.top .pc_only  { display: block; }

body.top br.sp,
body.top .sp_only { display: none; }


/* 配置パターン
----------------*/
.flexbox,
#header .inquiry {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

#content p {
	-ms-flex: 0 1 auto;
	flex: 1;
}

body.top .inner,
#globalFooter .inner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}


/*---------------------------
　　ヘッダー
---------------------------*/
#globalHeade { background: #FFF; }
.special_bg #globalHeade { background: none; }

#header {
	position: relative;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#header .inquiry li a {
	display: block;
	padding: 1em 0.8em;
	font-size: 1.4rem;
	text-decoration: none !important;
	color: #FFF;
}

#header .inquiry .contact_btn a { background: #006ee3; }
#header .inquiry .shiryo_btn a { background: #005dc1; }
#header .inquiry .nyushitsu_btn a { background: #004d9f; }
#header .inquiry .classroom_btn a { background: #2890ff; }
#header .inquiry .classroom_btn a { display: none; }

/* マイページボタンリンク */
#header .inquiry .mypage_btn a {
	display: block;
	margin-top: 8px;
	padding: 0.5em 1em;
	font-size: 1.4rem;
	text-decoration: none !important;
	color: #FFF;
}

#header .inquiry .mypage_btn { margin-left: 8px; }
#header .inquiry .mypage_btn a { box-shadow: 0 0 0 1px #2890ff inset; color: #2890ff; }

/* ロゴ */

#header.inner {
	width: 100% !important;
	max-width: 1180px !important;
	margin: 0 auto;
}

.special .logo-area {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}

#header .logo-area {
	position: relative;
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	z-index: 8889;
	padding: 1em 0;
}

#header .logo {
	display: block;
	width: 300px;
	line-height: 1;
}

#header .logo img { width: 100%; }

#header .course {
	display: block;
	width: 120px;
	padding-left: 0.5em;
	line-height: 1;
}

#header .area {
	display: block;
	width: 50px;
	box-shadow: 0 0 0 1px #CCC inset;
	border-radius: 0.3em;
	margin-left: 0.5em;
	padding: 0.4em 0.2em 0 0.2em;
	text-align: center;
	font-size: 2rem;
	line-height: 1.5;
	background: #FFF;
}

#header .area a { color: #000; }

#header .classroom .kouju {
	font-size: 1.7rem;
	vertical-align: middle;
	text-shadow: none;
}

#header .classroom { line-height: 1; }

#header .target {
	width: 100%;
	font-size: 1rem;
}

#header .course .target {
	display: inline-block;
	width: 100%;
	margin-top: 0.5em;
	padding: 0.5em 0;
	font-size: 1.2rem;
	text-align: center;
	line-height: 1;
	background: #EEE;
}

#header .other_area {
	flex-wrap: wrap;
	align-items: flex-start;
	width: 18%;
	margin-left: 0.5em;
	margin-right: auto;
	padding: 1em 0;
	font-size: 1.2rem;
}

#header .other_area li:before{
	content: '\25B6';
	margin-right: 0.2em;
	font-size: 1rem;
	font-weight: bold;
	color: #CCC;
}

#header .other_area li{
	margin-right: 0.5rem;
	line-height: 1.5;
}

#header .other_area li a {
	text-decoration: underline;
	color: #000;
}

/* フォームボタン
----------------*/
#header .form div {
	width: 100%;
	margin-bottom: 1em;
}

#header .form .schedule {
	margin: 1em 0 0.5em 0;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

#header .form .btn p,
#header .form .btn a {
	padding: 1em 0;
	font-size: 2rem;
	line-height: 1.4;
	text-align: center;
	border-radius: 0.5em;
	color: #FFF !important;
}

#header .inquiry li { font-size: 1.5rem; }

#header .nyutest .btn a {
	display: block;
	background: #FF9900;
	background: linear-gradient(to top, #F15A21 0%, #FF9900 100%);
	border: #F15A21 1px solid;
	box-shadow: 2px 2px 4px -2px #FFF inset;
}

#header .nyusetsu .btn a {
	display: block;
	background: #00A99D;
	background: linear-gradient(to top, #00766e 0%, #00A99D 100%);
	border: #00766e 1px solid;
	box-shadow: 2px 2px 4px -2px #FFF inset;
}

#header .nyutest .btn p,
#header .nyusetsu .btn p { background: #BBB;}

#header .nyutest .end,
#header .nyusetsu .end {
	font-weight: bold;
	text-align: center;
	color: #CC0000;
}


/* ナビゲーション
---------------------------*/
#headerNav {
	position: relative;
	display: block;
	width: 100%;
	clear: both;
	background-color: #FFF;
}

#headerNav:after {
	content:'';
	display: block;
	height: 4px;
	background: #89f7fe;
	background: linear-gradient(90deg, #89f7fe, #66a6ff);
}

#top #headerNav { border-top: none;}

/* 第一階層 */
#headerNav ul {
	position: relative;
	display: inline-block;
	width: 100%;
	margin: 0 auto;
	vertical-align:bottom;
	z-index: 50;
}

#headerNav ul li:first-child:before { border-left: none; }

#headerNav ul li:before {
	position: absolute;
	content: '';
	height: 20px;
	top: 50%;
	left: 0;
	float: left;
	transform: translate(0%,-50%);
    -webkit-transform: translate(0%,-50%);
    -ms-transform: translate(0%,-50%);
    z-index: -1;
}

#headerNav ul li {
	position: relative;
	width: 16.65%;
	float: left;
}

#headerNav ul li a { color: #333; }

#headerNav ul:first-child li a {
	display: block;
	padding: 1.5rem 0;
	text-align: center;
}

#headerNav ul li a:hover {
	background: #00A5E3;
	color: #FFF;
	z-index: 10;
}

/* 第二階層 */
#headerNav ul li ul {
	position: absolute;
	border-bottom: none;
	width: 200%;
	background: #D9EBF9;
}

#headerNav ul:first-child ul li:before { border-left: none;
}

#headerNav ul li:last-child ul{
	left: -100%;
	margin: 0;
}

#headerNav ul li ul li {
	overflow: hidden;
	width: 100%;
	height: 0;
	background: #D9EBF9;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

#headerNav ul li:hover ul li {
	overflow: visible;
	height: 50px;
}

#headerNav ul ul li:first-child a { border-top: none; }
#headerNav ul li ul li a { border-top: #FFF 1px solid; }

#headerNav ul li ul li a:hover {
	margin: 0;
	background: #00A5E3;
	color: #FFF;
}

#headerNav ul:first-child li ul li a {
	display: block;
	padding: 1.3rem 1.5rem;
	text-align: left;
}

#headerNav ul:first-child li ul li:last-child a { padding: 11px 15px; }
#headerNav ul li:last-child a:hover { margin-right: 0; }

/*---------------------------
　　TOP動画
---------------------------*/
.vid { overflow: hidden; }
.vid_cont { min-height: 50vh; }

.vid_cont img {
	display: block;
	width: 100%;
	height: auto;
}

#video {
	min-width: 1024px;
	width: 100%;
}

#video .vid {
	position: relative;
	height: calc(100vh - 142px);
	background-color: #f4f4f4;
	min-width: 1024px;
	width: 100%;
}

#video .vid .bg {
	position:absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transition: .8s ease .8s;
	opacity: 1;
	overflow: hidden;
	transform: scale(1);
}

#video .vid .bg img {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#video .vid .bg video {
	display: block;
	position: relative;
	width: 100%;
}

#video .vid .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100% !important;
	max-width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(255,255,255,.3);
}

#video .vid .down {
	-webkit-transition: all 1s;
	-moz-transition: all 1s;
	-ms-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;
	opacity: 1;
}

#video .vid.on .inner > div {
	/*width: 90vmin;*/
	text-align: center;
}

#video .vid .inner img {
	transition: .5s ease 5s;
	opacity: 0;
	transform: scale(1.3);
}

#video .vid.on .inner img {
	opacity: 1;
	transform: scale(1);
}

#video .vid.on .inner .txt {
	display: inline-block;
	max-width: 450px;
	margin: 0 auto;
}

#video .vid .inner .arrow {
	display: block;
	margin: 2rem auto 2rem;
	width: 3vmin;
}

#video .txt_jiseki {
	display: inline-block;
	width: auto;
	height: 130px;
	margin-left: 1em;
	opacity: 0.9;
}


/*---------------------------
　　動画
---------------------------*/
#movie {
	display: block;
	clear: both;
	overflow: hidden;
	background: #DDD;
	/*background: #89f7fe;
	background: linear-gradient(90deg, #89f7fe, #66a6ff);*/
}

#movie .box {
	width: 980px;
	margin: 2.5em auto;
}

#movie a:first-child { margin-right: 35px; }


/*---------------------------
　　TOPスライダー
---------------------------*/
#topimg {
	position: relative;
	width: 100%;
	margin: 2.5em auto 1.5em auto;
}

#slider { width: 100%; }
#slider a img:hover,
#slider a:hover { opacity: 1 !important; }

#slider li.wid2,
#slider li.wid2 a img {
	width: 100% !important;
	max-width: 1100px !important;
}

#slider li.wid2 a {
	width: 50% !important;
	display: inline-block;
	letter-spacing: -0.4em;
	vertical-align: bottom;
}

/*.sp-thumbnails {
	margin: 1.5em 0;
	display: none;
}

.sp-thumbnails-container {
	width: 100% !important;
	max-width: 1100px;
	overflow: hidden;
}

.sp-thumbnail {
	display: table-cell;
	width: 100px;
	height: 40px;
	text-align: center;
	font-size: 1rem;
	line-height: 1.2;
	box-shadow: 0 0 0 1px #333 inset;
	color: #333;
	box-sizing: border-box;
	vertical-align: middle !important;
}

.sp-selected-thumbnail .sp-thumbnail {
	color: #004d9f;
	box-shadow: 0 0 0 3px #004d9f inset;
}

.sp-top-thumbnails .sp-thumbnail-container,
.sp-bottom-thumbnails .sp-thumbnail-container {
	margin-left: 5px !important;
	margin-right: 5px !important;
}*/

/*---------------------------
　　インフォメーション
---------------------------*/
#info {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 3rem 4rem;
	background: #D9EBF9;
}

#info .inner {
	margin: 0 auto;
	max-width: 1100px;
}

#info p {
	display: inline-block;
	vertical-align: middle;
}

#info .ttl {
	display: inline-block;
	margin-right: 2rem;
	font-size: 1.8rem;
	font-weight: bold;
	color: #004D9F;
	vertical-align: middle;
}

#info .ttl:after {
	display: inline-block;
	margin-left: 2rem;
	height: 10rem;
	content: '';
	border-right: #004D9F 1px solid;
	vertical-align: middle;
}

#info a {
	text-decoration: underline;
	color: #000; }

/*---------------------------
　　台風等緊急告知
---------------------------*/
.emergency_info {
	text-align:center;
	padding: 2% 0;
}

@media screen and (max-width: 740px) {
img.emergency {
	width:96%;
	margin:0 2%;
}
}

/*---------------------------
　　タブ切り替え
---------------------------*/
#grid_tab .pickup_ttl {
	font-size: 2.8rem;
	font-weight: bold;
	color: #FFF;
}

#grid_tab .choice_txt {
	margin-bottom: 2em;
	font-size: 1.3rem;
	font-weight: bold;
	color: #FFF;
}

#grid_tab .choice_txt:before { margin-right: 1em; }
#grid_tab .choice_txt:after { margin-left: 1em; }
body.top #grid_tab a { color: #000; }

#grid_tab .grid_ttl {
	width: 550px;
	display: inline-block;
	vertical-align: top;
}

#tags {
	display: inline-block;
	width: 534px;
	margin: 0.5em 0 2em 0;
	letter-spacing: -0.4em;
}

#tags span {
	display: inline-block;
	width: 172px;
	margin: 0 0.55em 0.5em 0;
	padding: 0.8em 0;
	text-align: center;
	border-radius: 8px;
	background: #FFF;
	cursor: pointer;
	letter-spacing: 0;
}

#tags span:nth-child(3n) { margin: 0 0 0.5em 0; }
#tags span:last-child { margin-right: 0; }

#tags span.select {
	color: #FFF;
	background: #89f7fe;
    background: linear-gradient(90deg, #89f7fe, #66a6ff);
}

/* 料金設定タブ */
#grid_tab.price .grid_ttl {
	width: 375px;
	display: inline-block;
	vertical-align: top;
}

#grid_tab.price #tags {
	display: inline-block;
	width: 720px;
	margin: 0.5em 0 2em 0;
	letter-spacing: -0.4em;
}

#grid_tab.price #tags span:nth-child(4n) { margin: 0 0 0 0.5em; }
#grid_tab.price #tags span:last-child { margin-left: 0.5em; }


/* 動画グリッド */
video#g_video {
	position: relative;
    display: block;
    width: 800px;
    height: 450px;
    margin: 1em auto;
    background: #FFF;
}

#category div.video div {
	height: 180px;
	margin: 0 0 1em 0;
}

/* 画像グリッド */
#category,
#category div {
	width: 100%;
	flex-wrap: wrap;
}

#category div {
	position: relative;
	width: 350px;
	height: 310px;
	margin: 0 0.5em 1.5em 0.5em;
	overflow: hidden;
	background-color: #FFF;
}

#category div img { width: 100% }

#category p {
	margin: 0.5em 1em;
	font-size: 1.4rem;
	line-height: 1.4;
}

#category span {
	display: block;
	margin: 0.5em 1em;
	text-align: center;
}

#category .small { font-size: 70%; }

#category div a { display: block; }

#category div .cat_ttl {
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: underline;
	color:  #004D9F;
}

#category div .target {
	display: block;
	position: absolute;
	width: 100%;
	left: 50%;
	bottom: 1em;
	margin: 0;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center !important;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

#category div strong { color: #D60050; }

/*---------------------------
　　コンテンツ
---------------------------*/
#container {
	width: 100%;
	display: block;
	margin: 0 auto;
	padding: 60px 0;
	background: #004D9F;
}

#top_content {
	width: 100%;
	display: block;
	padding: 8rem auto;
	overflow: hidden;
}

#catch {
	padding: 3em 0;
	background: #004D9F;
	overflow: hidden;
}


/* 教室情報
---------------------------*/
#class {
	width: 100%;
	margin: 2em auto 6rem auto;
	background: #FFF;
}

#class .inner {
	display: block;
	width: 1100px;
}

#class .class_ttl {
	margin: 0 auto;
	padding-top: 1em;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
	color: #004D9F;
}

#class .class_ttl:after {
	display: block;
	content:'';
	width: 10%;
	height: 3px;
	margin: 0 auto;
	background: #004D9F;
}

#class ul li:before,
#class ul li:after {
	display: block;
	content: '';
	margin-top: 4rem;
}

#class ul li { font-size: 1.2rem; }

#class ul li a {
	display: block;
	margin-top: 0.5em;
	font-size: 1.6rem;
	color: #00A5E3;
	text-decoration: underline;
}

/* 告知小バナー
---------------------------*/
#bnr {margin: 0 auto;}
#bnr a img { width: 18.8%; margin-right: 1%; }
#bnr a:nth-child(5n) img { margin-right: 0; }
#bnr a:nth-child(n+6) img { margin-top: 1em; }


/*---------------------------
　　フッター
---------------------------*/
#globalFooter {
	width: 100%;
	margin: 4em auto 0 auto;
	padding: 0 0 2em 0;
	clear: both;
	background: #FFF;
}

body.top #globalFooter { margin: 0 auto; }

#globalFooter .wid {
	width: 100%;
	padding: 0.5em 0;
}

#globalFooter .menu_bg { background: #D9EBF9; }
#globalFooter .nav_bg { border-bottom: #CCC 1px solid; }

#globalFooter .menu,
#globalFooter .nav {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-size: 1.5rem;
}

#globalFooter a { color: #000; }
#globalFooter .menu a { color: #004D9F; }

#globalFooter .ttl {
	margin-top: 1em;
	font-weight: bold;
	color: #004D9F;
}

#globalFooter .mabuchi_link a { color: #F6921E; }

#globalFooter .group {
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#globalFooter .group li:first-child:before {
	margin-left: 0;
	padding-left: 0;
	border-left: none;
}

#globalFooter .group li:before {
	content: '';
	margin-left: 0.5em;
	padding-left: 0.5em;
	border-left: #CCC 1px solid;
}

#globalFooter .group li,
#globalFooter .group p { font-size: 1.3rem; }

#copyright {
	margin-top: 2em;
	font-size: 1.1rem;
	text-align: center !important;
	color: #999;
}

/* ページの先頭へ */
#totop {
	position: fixed;
	bottom: -0.5em;
	right: 1em;
}

#totop a {
	color:#FFF;
	font-size: 1rem;
	background: #004DA1;
	padding: 1em 1.4em 1.4em 1.4em;
	display:block;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}

#totop a:hover {
	text-decoration: none;
	background: #002C6B;
}

/*---------------------------
　　校舎リンク設定
---------------------------*/
.box_sp .classroom_link_sp a,
.box_sp .classroom_link,
#main_column_wide .classroom_link_sp a,
#main_column_wide .classroom_link {
	width: 30%;
	margin: 2% auto 4% auto;
}

.box_sp .classroom_link_sp a,
.box_sp .classroom_link a,
#main_column_wide  .classroom_link_sp a,
#main_column_wide  .classroom_link a {
	display: block;
	padding: 4%;
	font-size: 16px;
	text-align: center;
	text-shadow: none;
	background: #004DA1;
	text-decoration: none;
	color: #FFF;
}

.box_sp .classroom_link_sp a,
.box_sp .classroom_link a span,
#main_column_wide .classroom_link_sp a,
#main_column_wide .classroom_link a span {
	margin-right: 2%;
	font-size: 11px;
	vertical-align: middle;
}

.box_sp .classroom_link_sp a,
#main_column_wide .classroom_link_sp a {
	border: #004DA1 1px solid;
	color: #004DA1;
	background: #FFF;
}

/*---------------------------
　　反転授業の動画
---------------------------*/
.hanten {
	width: 100%;
	position: relative;
}

.hanten .movie {
	position: absolute;
    display: block;
    width: 380px;
    height: 214px;
    top: 405px;
    right: 40px;
    overflow: hidden;
}

@media screen and (max-width: 740px) {
.hanten .movie {
	position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0px;
    top: 0;
    right: 0;
}
}


/*---------------------------
　　Media Queries設定
---------------------------*/

/*---------------------------------------------*/
@media screen and (min-width: 769px) {
/*---------------------------------------------*/
body.top .inner,
#slider .sp-thumbnails-container,
#class .inner,
#class .class_ttl,
#bnr {
	width: 1180px !important;
}

#header.inner { width: 1180px !important; }
}/* 769 */

/*---------------------------------------------*/
@media screen and (max-width: 768px) {
/*---------------------------------------------*/

/* 全ページ共通
----------------*/
body {
	font-size: 1.4rem;
	background: none;
}

img,
a img {
	width: 100%;
	height: auto;
}

/*テキスト
----------------*/
html { font-size: calc(4 * ((100vw - 320px) / 447) + 10px); }

body.top br.pc { display: none; }
body.top br.sp { display: block; }
body.top .pc_only { display: none; }
body.top .sp_only { display: block; }
body.top .sp_none { display: none; }

/* ヘッダー
----------------*/
#globalHeade { background: none; }

#header {
	padding: 1em;
	box-sizing: border-box;
	pointer-events: none;
}

.logo-area > *, .other_area, .inquiry { pointer-events: auto; }

#header .inquiry {
	margin-top: 0.5em;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	flex-wrap: wrap;
	clear: both;
}

#header .inquiry .classroom_btn a { display: block; }

#header .inquiry li {
	width: 49%;
	margin-top: 0.4em;
	font-feature-settings: initial;
	margin-left: 0;
	text-align: center;
}

#header .inquiry li a {
	padding: 0.3em 0.8em;
	border-radius: 0.4em;
	font-size: 1.2rem;
}

/* マイページボタンリンク */
#header .inquiry .mypage_btn a {
	margin-top: 0;
	padding: 0.3em 0.8em;
	border-radius: 0.4em;
	font-size: 1.2rem;
}

#header .inquiry .mypage_btn { margin-left: 0; }
#header .inquiry .mypage_btn a { box-shadow: 0 0 0 1px #2890ff inset; color: #2890ff; }

/* ロゴ */
#header .logo-area {
	display: block;
	padding: 0;
}

#header .logo {
	display: block;
	width: 85%;
}

#header .course {
	display: block;
	width: auto;
	padding-top: 0.2em;
	padding-left: 0;
	line-height: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	float: left;
}

#header .course .target {
	width: auto;
	margin-left: 0.3em;
	padding: 0.3em 1em;
	font-size: 1.1rem;
	line-height: 1.4;
	float: left;
}

#header .classroom .kouju {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
	vertical-align: middle;
}

#header .area {
	display: block;
	width: auto;
	margin-top: 0.5em;
	padding: 0.1em 1em;
	font-size: 1.5rem;
	font-weight: bold;
	float: left;
}

#header .other_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 100%;
	margin-left: 0;
	padding: 0;
}

#header .other_area li {
	width: 49%;
	display: inline-block;
	margin: 0.5em 0 0 0;
	text-align: center;
	padding: 0.2em 0;
	border: #CCC 1px solid;
	border-radius: 0.4rem;
}

#header .other_area li:last-child {
	width: 100%;
	margin-top: 0.5em;
}

#header .other_area li a { text-decoration: none; }


/* TOP動画
----------------*/
#video { min-width: 0; }

#video .vid {
	min-height: 360px;
	height:calc(100vh - 320px - 4rem);
	min-width:0;
}

#video .vid.on .inner .txt { max-width: 80%; }
#video .vid .inner .arrow { width: 3rem; }
#video .txt_jiseki { display: none; }

.jiseki { line-height: 0; }


/* 動画
----------------*/
#movie .box {
	width: 100%;
	margin: 1.5em auto 1em auto;
	text-align: center;
}

#movie img {
	width: 92%;
	margin: 0 auto;
}

#movie a:first-child { margin-right: 0; }


/* ナビゲーション
----------------*/
#headerNav { display: none; }


/* TOPスライダー*/
#slider {
	width: 100% !important;
	float: none;
}

#slider .sp-thumbnails-container {
	width: 100%;
}

.sp-thumbnails-container,
.sp-thumbnails {
	display: none;
	margin: 0;
}

/* インフォメーション */
#info {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 2rem;
}

#info .inner { max-width: 100%; }

#info p { display: block; }

#info .ttl {
	display: block;
	margin-right: 0;
	margin-bottom: 1rem;
	text-align: center;
	font-size: 1.6rem;
}

#info .ttl:after {
	display: block;
	margin-left: 0;
	height: 0;
	border-right: none;
}


/* コンテンツ
----------------*/
#container {
	width: 100%;
	margin: 0 auto 0 auto;
	padding: 2em 0;
}

#content {
	width: 100%;
	clear: both;
}

.flexbox { display: block; }

#catch { padding: 2em 0; }


/* タブ切り替え
----------------*/
#grid_tab .pickup_ttl {
	font-size: 1.8rem;
	text-align: center;
}

#grid_tab .choice_txt {
	font-weight: normal;
	text-align: center;
}

#grid_tab .grid_ttl,
#tags { width: 100%; }

#tags span {
	width: 16%;
	border-radius: 5px;
}

#globalFooter { padding: 0 0 1em 0; }

#globalFooter .inner { width: 94%; margin: 0 auto; }
#globalFooter .nav { margin-top: 0; }

#globalFooter .menu,
#globalFooter .nav,
#globalFooter .group li { font-size: 1.4rem;
}

#globalFooter .menu_bg li:before { color: #004D9F; }

#globalFooter li:before {
	content: '\30FB';
	margin-right: 0.2em;
}

#globalFooter li { line-height: 2; }

#globalFooter .group li:before {
	content: '\30FB';
	margin-left: 0;
	padding-left: 0;
	border-left: none;
}

/* タブ切り替え
---------------------------*/
#grid_tab .choice_txt {
	margin-bottom: 1em;
	font-size: 1.4rem;
}

#grid_tab {
	width: 96%;
	margin: 0 auto;
}

#tags {
	margin: 0 auto 0.5em auto;
	text-align: center;
}

#tags:after { display: none; }

#tags span {
	display: inline-block;
	width: 32%;
	margin: 0 0.4em 0.3em 0;
	padding: 0.5em 0;
}

#tags span:nth-child(3n) { margin: 0 0 0.3em 0; }

/* 料金設定タブ */
#grid_tab.price .grid_ttl {
	width: 100%;
}

#grid_tab.price #tags {
	width: 100%;
	margin: 0.5em 0 0.5em 0;
	text-align: left;
}

#grid_tab.price #tags span:nth-child(4n) { margin: 0 0.4em 0 0; }
#grid_tab.price #tags span:last-child { margin-left: 0; }

#category.flexbox {
	display: -webkit-box;
	/* Android4.3以下、Safari3.1〜6.0 */
	display: -ms-flexbox;
	display: flex;
}

#category div {
	width: 48%;
	height: auto;
	margin: 0 1% 0.5em 1% ;
}

#category p {
	margin: 0.2em 0.5em 2.5em 0.5em;
	font-size: 1.2rem;
	line-height: 1.4;
}

#category .disc { display: none; }

#category span {
	display: block;
	margin: 0.5em 1em;
}

#category div .cat_ttl {
	padding: 2em auto;
	font-size: 1.3rem;
	text-decoration: none;
}

#category div .target {
	bottom: 0.8em;
	font-size: 1rem;
	text-align: center;
	margin: 1.5em auto 0 auto;
	padding: 0;
	font-feature-settings: normal;
    word-wrap: normal;
}

/* 動画グリッド */
video#g_video {
    width: 270px;
    height: 180px;
    margin: 0 auto;
}


/* 教室情報
---------------------------*/
#class {
	width: 100%;
	margin: 2em auto;
}

#class .class_ttl { font-size: 1.8rem; }
#class .class_ttl:after { width: 25%; }
#class .inner { width: 100%; }
#class ul li:before,
#class ul li:after { margin-top: 2rem; }
#class ul li { font-size: 1rem; }
#class ul li a { font-size: 1.2rem; }

/* 告知小バナー
---------------------------*/
#bnr {
	width: 96%;
	margin: 0 auto;
}

#bnr a img { width: 31.6%; margin-right: 1%; }
#bnr a:nth-child(5n) img { margin-right: 1%; }
#bnr a:nth-child(3n) img { margin-right: 0; }
#bnr a:nth-child(n+6) img { margin-top: 0; }
#bnr a:nth-child(n+2) img { margin-top: 2%; }

/* ページの先頭へ */
#totop {
	opacity:0.85;
	position:fixed; left:0; bottom:0; width:100%;
	text-align:center;
	background:#CA5784;
	border-top:1px solid #FFF;
	box-shadow:0 0 10px rgba(0,0,0,0.4);
	-moz-box-shadow:0 0 10px rgba(0,0,0,0.4);
	-webkit-box-shadow:0 0 10px rgba(0,0,0,0.4);
	-o-box-shadow:0 0 10px rgba(0,0,0,0.4);
	-ms-box-shadow:0 0 10px rgba(0,0,0,0.4);
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	padding:0;
}
#totop a {
	height:30px; padding:10px 0 0 0;
	text-decoration:none; color:#FFF;
	font-size:13px;
	font-weight:bold;
	display:block;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	background:none;
	border:0;
}
#totop:hover {background:#CA5784; opacity:1;}
#totop:hover a {background:#CA5784; opacity:1;}

/*---------------------------
　　校舎リンク設定
---------------------------*/
.box_sp .classroom_link_sp a,
.box_sp .classroom_link,
#main_column_wide .classroom_link_sp a,
#main_column_wide .classroom_link {
	width: 80%;
	margin: 4% auto;
}

.box_sp .classroom_link_sp a,
.box_sp .classroom_link a,
#main_column_wide .classroom_link_sp a,
#main_column_wide .classroom_link a {
	padding: 3%;
	font-size: 16px;
}

.box_sp .classroom_link_sp a,
#main_column_wide .classroom_link_sp a {
	border: #004DA1 1px solid;
	color: #004DA1;
	background: #FFF;
}

}/* 768 */