
/*

BrandColor: #5CAD34;
AccentColor: #D9534F;
TextLinkColor: #0656B3;
GrayColor 80%: #545454;
GrayColor 60%: #797979;
GrayColor 40%: #9C9C9C;
GrayColor 20%: #D1D1D1;

*/


@charset "UTF-8";
body { font-family: '游ゴシック体', 'Yu Gothic', 'YuGothic', sans-serif; overflow-x: hidden; }

@media (max-width: 375px) {
	body { font-size: 16px; line-height: 20px; }
}

@media (min-width: 376px) and (max-width:767px) {
	body { font-size: 16px; line-height: 20px; }
}

@media (min-width: 768px) and (max-width:991px) {
	body { font-size: 15px; line-height: 20px; }
}

@media (min-width: 992px) and (max-width:1199px) {
	body { font-size: 15px; line-height: 20px; }
}

@media (min-width: 1200px) {
	body { font-size: 15px; line-height: 20px; }
}

@media (min-width: 768px){
	.navbar-nav.pull-center { margin: 0 auto; display: table; table-layout: fixed; float:none; }
	.navbar-nav.pull-center  li{ }
}

#header-top { background-color: #5CAD34; padding: 3px 0px; text-align: center; color: #fff; font-weight: bold; }
#header-top p { margin: 0; font-size: 10px; text-align: center; }
#header-middle { padding: 10px 0 5px 0; }
#header-middle p { margin: 0; }
#header-middle strong { color: #5CAD34; font-size: 1.2em; }
#header-middle .breadcrumb { background-color: transparent; }
#header-middle .breadcrumb > li+li:before { content: "|"; }
#header-middle .navbar-brand { padding: 5px 0; height: auto; }
#header-middle .navbar-brand img { margin: auto!important; }
.wrap { position: relative; }
.navbar-nav { margin-top: 5px; font-size: 0.95em; }
@media (max-width: 767px) {
	.navbar-collapse { background: #eee; }
	.navbar-collapse a:hover { background: #5CAD34!important; color: #fff; }
}
@media (min-width: 768px) {
	.navbar-nav > li > a { padding: 4px; display: inline-block; font-family: monospace; }
	.navbar-nav > li > a:focus, .navbar-nav > li > a:hover { text-decoration: underline; background-color: transparent; }
	.navbar-nav > li + li::before { content: "|"; }
	.navbar-collapse { padding-left: 0; padding-right: 0; }
}
.navbar-toggle { background-color: #fff; margin: 0; }
.navbar-toggle .icon-bar { background-color: #5CAD34; width: 30px; height: 4px; }

.container { padding-right: 10px; padding-left: 10px; }

.page_title { display: flex; align-items: center; }
.page_title:before, .page_title:after { border-top: 1px solid; content: ""; flex-grow: 1; }
.page_title:before { margin-right: 1rem; }
.page_title:after { margin-left: 1rem; }
.border_title { display: flex; align-items: center; }
.border_title:before, .border_title:after { border-top: 2px solid #5CAD34; content: ""; flex-grow: 1; }
.border_title:before { margin-right: 1rem; }
.border_title:after { margin-left: 1rem; }

@media (max-width: 767px) {
	.large_title  { font-size: 23px; line-height: 180%; font-weight: bold; margin: 5px; }
	.middle_title { font-size: 21px; line-height: 180%; font-weight: bold; margin: 5px; }
	.small_title  { font-size: 19px; line-height: 180%; font-weight: bold; margin: 5px; }
	.normal_title { font-size: 17px; line-height: 180%; font-weight: normal; margin: 5px; }

	#body p { margin: 0 5px 5px 5px; font-size: 1em; line-height: 1.5em; word-break: break-all; }
	#body p.large { margin: 0 5px 5px 5px; font-size: 1.2em; line-height: 1.7em; }
	#body p.small { margin: 0 5px 5px 5px; font-size: 0.9em; line-height: 1.3em; }
	#body li { line-height: 1.5em; }
}
@media (min-width: 768px) {
	.large_title  { font-size: 28px; line-height: 180%; font-weight: bold; margin: 5px; }
	.middle_title { font-size: 26px; line-height: 180%; font-weight: bold; margin: 5px; }
	.small_title  { font-size: 24px; line-height: 180%; font-weight: bold; margin: 5px; }
	.normal_title { font-size: 20px; line-height: 180%; font-weight: normal; margin: 5px; }

	#body p { margin: 0 10px 10px 10px; font-size: 1.1em; line-height: 1.5em; word-break: break-all; }
	#body p.large { margin: 0 5px 5px 5px; font-size: 1.3em; line-height: 1.7em; }
	#body p.small { margin: 0 5px 5px 5px; font-size: 0.8em; line-height: 1.3em; }
	#body li { line-height: 1.5em; }
}
.content { margin: 0px 20px; }
.font-mincho { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.counter { background-color: #F1F1F1; text-align: center; font-size: 120%; }
.counter b { color: #4A6BE2; font-weight: bold; font-size: 120%; }
.img-block { width: 100%; }

.btn-group-lg > .btn, .btn-lg { font-size: 16px; line-height: 1.3333333; border-radius: 4px; }
@media (max-width: 767px) {
	.btn-group-lg > .btn, .btn-lg { padding: 5px 20px;  }
}
@media (min-width: 768px) {
	.btn-group-lg > .btn, .btn-lg { padding: 5px 60px;  }
}

.table-fixed { table-layout: fixed; width: 100%; }
.table-bordered th { background-color: #f5f5f5; white-space: nowrap; }

.table-details { border: 0; border-bottom: 1px solid #ddd; }
.table-details th { background-color: #f5f5f5; white-space: nowrap; border-right: 1px solid #ddd; text-align: left; font-weight: normal; }
.table-details ul { margin-bottom: 0px; }
@media (max-width:767px) {
	.table-details th { width: 80px; }
	.table-details th, .table-details td { padding: 8px!important; }
}
@media (min-width: 768px) {
	.table-details th { width: 100px; }
	.table-details th, .table-details td { padding: 16px!important; }
}

#footer { margin-top: 50px; }
#footer .footer-top { margin-bottom: 30px; }
#footer .footer-top .btn { border: 1px solid #979797; color: #5CAD34; border-radius: 0; line-height: 40px; font-weight: bold; }
#footer .footer-top .btn:hover { border: 1px solid #fff; background-color: #5CAD34; color: #fff; }
#footer .breadcrumb { border-radius: 0; margin: 0; }
#footer .breadcrumb > li+li:before { content: "|"; }
#footer .footer-btm { background: #5CAD34; color: #fff; padding: 20px; }
#footer .footer-btm strong a { color: #fff; }

img.media-object { width: 64px; }
img.ico-teacher { width: 45px; }
img.ico-meister.mini { position: absolute!important; right: 10px!important; bottom: 10px!important; width: 30px!important; }
.body-xs img.ico-meister.mini { right: 6px!important; bottom: 3px!important; width: 20px!important; }
.body-md img.ico-meister.mini, .body-lg img.ico-meister.mini { width: 20px!important; }

.btn-icon { display: block; }
.btn-icon > i { margin: 10px 0 10px 0; font-size: 5em; display: block; }
.purchase-sec { background: #fff; border: 3px solid #5CAD34; padding: 10px; }
.purchase-sec span { color: #413732; font-size: 1.1em; line-height: 1.5em; }
.purchase-sec a { color: #413732; font-weight: bold; text-decoration: underline; }

.well { -webkit-box-shadow: none; box-shadow: none; border: 0; }
.ttl-success { border-bottom: 2px solid #5CAD34; padding: 4px; }
.ttl-danger  { border-bottom: 2px solid #D9534F; padding: 4px; }
.ttl-default { border-bottom: 2px solid #545454; padding: 4px; }
.text-white   { color: #FFFFFF; }
.text-white:hover { color: #FFFFFF; text-decoration: underline; }
.text-success { color: #5CAD34; }
.text-danger  { color: #D9534F; }
.text-default { color: #545454; }
.btn.active, .btn:active { -webkit-box-shadow: none; box-shadow: none; }
.btn.btn-block { padding-left: 0; padding-right: 0; }
.btn-transpa { color: #000; background-color: transparent; border: 0; }
.btn-transpa:hover { opacity: 0.8; background-color: rgba(255,255,255,0.1);  }
.btn-link    { color: #797979; border: 0; padding: 6px; }
.btn-default { color: #fff; background-color: #797979; }
.btn-success { color: #fff; background-color: #5CAD34; }
.btn-danger  { color: #fff; background-color: #D9534F; }
.btn-info    { color: #fff; background-color: #337ab7; }
.btn-abs     { border: 1px solid #5CAD34; background: #fff; color: #545454; }
.btn-premium { border: 1px solid #EFA639; background: #fff; color: #545454; }
.btn-teacher { border: 1px solid #2C1CE7; background: #fff; color: #545454; }
/*.btn-academy { border: 1px solid #FF750A; background: #fff; color: #545454; }*/
.btn-academy { border: 1px solid #EDA43A; background: #fff; color: #545454; }
.btn-abs.active, .btn-abs:hover     { background: #5CAD34; color: #fff; }
.btn-premium.active, .btn-premium:hover { background: #EFA639; color: #fff; }
.btn-teacher.active, .btn-teacher:hover { background: #2C1CE7; color: #fff; }
/*.btn-academy.active, .btn-academy:hover { background: #FF750A; color: #fff; }*/
.btn-academy.active, .btn-academy:hover { background: #EDA43A; color: #fff; }
.btn-group .btn-default { color: #797979; background-color: #fff; border: 1px solid #797979; }
.btn-group .btn-success { color: #5CAD34; background-color: #fff; border: 1px solid #5CAD34; }
.btn-group .btn-danger  { color: #D9534F; background-color: #fff; border: 1px solid #D9534F; }
.btn-group .btn-info    { color: #337ab7; background-color: #fff; border: 1px solid #337ab7; }
.btn-group .btn-default.active { color: #fff; background-color: #797979; border: 1px solid #797979; -webkit-box-shadow: none; box-shadow: none; }
.btn-group .btn-success.active { color: #fff; background-color: #5CAD34; border: 1px solid #5CAD34; -webkit-box-shadow: none; box-shadow: none; }
.btn-group .btn-danger.active  { color: #fff; background-color: #D9534F; border: 1px solid #D9534F; -webkit-box-shadow: none; box-shadow: none; }
.btn-group .btn-info.active    { color: #fff; background-color: #337ab7; border: 1px solid #337ab7; -webkit-box-shadow: none; box-shadow: none; }
.box-group .btn-default { color: #797979; background-color: #fff; border: 0px; }
.box-group .btn-success { color: #5CAD34; background-color: #fff; border: 0px; }
.box-group .btn-danger  { color: #D9534F; background-color: #fff; border: 0px; }
.box-group .btn-info    { color: #337ab7; background-color: #fff; border: 0px; }
.box-group .btn-default.active { color: #fff; background-color: #797979; border: 0px; -webkit-box-shadow: none; box-shadow: none; }
.box-group .btn-success.active { color: #fff; background-color: #5CAD34; border: 0px; -webkit-box-shadow: none; box-shadow: none; }
.box-group .btn-danger.active  { color: #fff; background-color: #D9534F; border: 0px; -webkit-box-shadow: none; box-shadow: none; }
.box-group .btn-info.active    { color: #fff; background-color: #337ab7; border: 0px; -webkit-box-shadow: none; box-shadow: none; }

.btn-group-vertical>.btn.active,
.btn-group-vertical>.btn:active,
.btn-group-vertical>.btn:focus,
.btn-group-vertical>.btn:hover,
.btn-group>.btn.active,
.btn-group>.btn:active,
.btn-group>.btn:focus,
.btn-group>.btn:hover { opacity: 1; color: #fff; }

.btn-group-vertical > .btn,
.btn-group > label.btn { opacity: 0.4; color: #000; }

.box-group.menu .btn-success { color: #4A4A4A; border: 1px solid #5CAD34; }
.box-group.menu .btn-success.active { color: #fff; background-color: #5CAD34; -webkit-box-shadow: none; box-shadow: none; }
@media (max-width:767px) {
	#ctl_voices.letter .list-group .list-group-item { width: 50%; float: left; }
	#ctl_voices.letter .list-group .list-group-item:nth-child(even) { border-left: 0px; }
}

/*
.label { border-radius: 4px; padding: .1em .4em; }
.label-default { color: #333333; background-color: #fff; border: 1px solid #333333; }
.label-success { color: #5CAD34; background-color: #fff; border: 1px solid #5CAD34; }
.label-danger  { color: #D9534F; background-color: #fff; border: 1px solid #D9534F; }
.label-info    { color: #337ab7; background-color: #fff; border: 1px solid #337ab7; }
*/

.alert.small { margin: 5px 0 0 0; padding: 5px; }

.box-transparent { background: transparent; position: relative; }
.box-default { color: #fff; background-color: #545454; padding: 8px 16px; }
.box-success { color: #fff; background-color: #5CAD34; padding: 8px 16px; }
.box-danger  { color: #fff; background-color: #D9534F; padding: 8px 16px; }
.box-info    { color: #fff; background-color: #545454; padding: 8px 16px; }
.box-gray80  { color: #fff; background-color: #545454; padding: 8px 16px; }
.box-gray60  { color: #fff; background-color: #797979; padding: 8px 16px; }
.box-gray40  { color: #000; background-color: #9C9C9C; padding: 8px 16px; }
.box-gray20  { color: #000; background-color: #D1D1D1; padding: 8px 16px; }
.box-abs     { background-color: #5CAD34; }
.box-premium { background-color: #EFA639; }
.box-teacher { background-color: #2C1CE7; }
/*.box-academy { background-color: #FF750A; }*/
.box-academy { background-color: #EDA43A; }
.box-radius    { border-radius: 4px!important; }
.box-no-radius { border-radius: 0px!important; }
.border-default { color: #333; background: #fff; border: 1px solid #545454; }
.border-success { color: #333; background: #fff; border: 1px solid #5CAD34; }
.border-danger  { color: #333; background: #fff; border: 1px solid #D9534F; }
.border-info    { color: #333; background: #fff; border: 1px solid #545454; }
.border-gray80  { color: #333; background: #fff; border: 1px solid #545454; }
.border-gray60  { color: #333; background: #fff; border: 1px solid #797979; }
.border-gray40  { color: #333; background: #fff; border: 1px solid #9C9C9C; }
.border-gray20  { color: #333; background: #fff; border: 1px solid #D1D1D1; }

.label-primary.border { color: #337ab7; background: #ffffff; border: 1px solid #337ab7; }
.label-success.border { color: #5cb85c; background: #ffffff; border: 1px solid #5cb85c; }
.label-warning.border { color: #f0ad4e; background: #ffffff; border: 1px solid #f0ad4e; }
.label-info.border    { color: #5bc0de; background: #ffffff; border: 1px solid #5bc0de; }
.label-danger.border  { color: #d9534f; background: #ffffff; border: 1px solid #d9534f; }
.label-default.border { color: #777777; background: #ffffff; border: 1px solid #777777; }

.has-default .checkbox,
.has-default .checkbox-inline,
.has-default .control-label,
.has-default .radio,
.has-default .radio-inline,
.has-default.checkbox label,
.has-default.checkbox-inline label,
.has-default.radio label,
.has-default.radio-inline label { color: #797979; }
.has-default .form-control { border-color: #797979!important; }
.has-success .checkbox,
.has-success .checkbox-inline,
.has-success .control-label,
.has-success .radio,
.has-success .radio-inline,
.has-success.checkbox label,
.has-success.checkbox-inline label,
.has-success.radio label,
.has-success.radio-inline label { color: #5CAD34; }
.has-success .form-control { border-color: #5CAD34!important; }
.has-danger .checkbox,
.has-danger .checkbox-inline,
.has-danger .control-label,
.has-danger .radio,
.has-danger .radio-inline,
.has-danger.checkbox label,
.has-danger.checkbox-inline label,
.has-danger.radio label,
.has-danger.radio-inline label { color: #D9534F; }
.has-danger .form-control { border-color: #D9534F!important; }
.has-info .checkbox,
.has-info .checkbox-inline,
.has-info .control-label,
.has-info .radio,
.has-info .radio-inline,
.has-info.checkbox label,
.has-info.checkbox-inline label,
.has-info.radio label,
.has-info.radio-inline label { color: #D1D1D1; }
.has-info .form-control { border-color: #D1D1D1!important; }
.input-group .form-control { border-color: #797979; }
.input-group .input-group-btn:last-child > .btn,
.input-group .input-group-btn:last-child > .btn-group { margin-left: 0; }

.list-group-item { border: 1px solid #5CAD34; }
.list-group-item:first-child { border-top-left-radius: 2px; border-top-right-radius: 2px; }
.list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; }
.list-group-item.active, .list-group-item.active:focus, .list-group-item.active:hover { background-color: #5CAD34; border-color: #5CAD34; }

.divide0 { width: 100%; height: 0px; display: block; }
.divide2 { width: 100%; height: 2px; display: block; }
.divide3 { width: 100%; height: 3px; display: block; }
.divide5 { width: 100%; height: 5px; display: block; }
.divide10 { width: 100%; height: 10px; display: block; }
.divide15 { width: 100%; height: 15px; display: block; }
.divide20 { width: 100%; height: 20px; display: block; }
.divide25 { width: 100%; height: 25px; display: block; }
.divide30 { width: 100%; height: 30px; display: block; }
.divide35 { width: 100%; height: 35px; display: block; }
.divide40 { width: 100%; height: 40px; display: block; }
.divide45 { width: 100%; height: 40px; display: block; }
.divide50 { width: 100%; height: 50px; display: block; }
.divide55 { width: 100%; height: 55px; display: block; }
.divide60 { width: 100%; height: 60px; display: block; }
.divide65 { width: 100%; height: 65px; display: block; }
.divide70 { width: 100%; height: 70px; display: block; }
.divide75 { width: 100%; height: 75px; display: block; }
.divide80 { width: 100%; height: 80px; display: block; }
.divide85 { width: 100%; height: 85px; display: block; }
.margin10{ margin-bottom: 10px; }
.margin20{ margin-bottom: 20px; }
.margin30{ margin-bottom: 30px; }
.margin40{ margin-bottom: 40px; }
.no-padding{ padding: 0px!important; }

.panel-default .panel-heading { background-color: #ffffff; padding: 0; }
.panel-default .panel-heading a { display: block; padding: 10px 15px; text-decoration: none; background: #EAF3E6; }
.panel-default .panel-heading a:hover, .panel-default .panel-heading a.active { background-color: #EAF3E6; color: #333; }
.panel-default .panel-heading a.collapsed { background: #fff!important; }
.panel-default .panel-body { padding: 15px 20px; }

.nav-breadcrumb { list-style: none; }
.nav-breadcrumb li { display: inline-block; }
.nav-breadcrumb li a { color: #555; }
.nav-breadcrumb li:before { content: "\00a0"; padding: 0 5px; }
.nav-breadcrumb .active a { color: #5CAD34; }

a { color: #5CAD34; }
a:focus, a:hover { color: #5CAD34; text-decoration: underline; }
hr { margin: 10px 0 10px 0; }


ol.kakko > li { list-style-type: none; counter-increment: cnt; }
ol.kakko > li::before { content: "(" counter(cnt) ") "; }

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.form-control
 { font-size: 14px; padding: 3px 6px; font-family: 'Open Sans', sans-serif; border-color: #5CAD34; }

.form-actions { text-align: center; }
.fileinput { display: block; }

fieldset { box-shadow: 1px 1px 2px 2px #eee; padding-top: 20px; background: #f9f9f9; }
legend { font-size: 1.2em; font-weight: bold; text-indent: 1em; border: 0; margin-top: 10px; position: relative; top: 20px; opacity: 0.7; }

.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

.box-seminar { display: table; border: 1px solid #9C9C9C; width: 100%; overflow: hidden; }
.box-seminar .box-detail { display: table-cell; vertical-align: middle; font-size: 0.9em; }
.box-seminar .box-detail h4 { margin: 0 0 0 43px; line-height: 26px; font-size: 1.1em; }
.box-seminar .box-detail small { margin: 0 0 0 43px; font-size: 0.95em; color: #666; }
.box-seminar .box-photo { display: table-cell; vertical-align: middle; }
.box-seminar .box-photo .img-thumbnail { border: 0; }
.box-seminar .box-link { display: table-cell; vertical-align: middle; background: #5CAD34!important; color: #fff!important; text-decoration: none; }
@media (max-width: 991px) {
	.box-seminar .box-detail { width: 75%; max-width: 270px; padding: 5px; line-height: 1.5em; }
	.box-seminar .box-detail h4 { font-size: 16px; }
	.box-seminar .box-photo { width: 17%; }
	.box-seminar .box-link { width: 8%; }
}
@media (min-width: 992px) {
	.box-seminar .box-detail { width: 78%; padding: 10px; }
	.box-seminar .box-photo { width: 12%; }
	.box-seminar .box-link { width: 10%; }
}

.flm-teacher.well { border: 0px; border-radius: 4px; margin-bottom: 20px; background: #f5f5f5; position: relative; overflow: hidden; }
.flm-teacher .box-thumb { width: 100%; height: 100%; position: relative; text-align: center; }
.flm-teacher .box-thumb::before{ content: ""; display: block; padding-top: 100%; }
@media (max-width: 767px) {
	.flm-teacher .box-thumb::before{ padding-top: 120px; }
}
.flm-teacher .box-thumb a { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.flm-teacher .box-thumb img.ico-meister { width: 25px; position: absolute; right: 10%; bottom: -5px; }
.flm-teacher .box-photo { position: relative; }
@media (max-width: 767px) {
	.flm-teacher .box-photo img.ico-meister { width: 25px; position: absolute; right: 5px; bottom: 5px; }
}
@media (min-width: 768px) {
	.flm-teacher .box-photo img.ico-meister { width: 40px; position: absolute; right: 5px; bottom: 5px; }
}
.flm-teacher h6 { font-size: 16px; margin: 5px 0 0; white-space: nowrap; }
.flm-teacher small { font-size: 10px; margin: 0 0 5px 0; display: block; line-height: 100%; }
.flm-teacher .btn-default { background: transparent!important; color: #545454; border: 1px solid #D1D1D1; }
@media (max-width: 991px) {
	.box-teacher.well h6 { font-size: 20px; margin: 5px 0 0; }
	.box-teacher.well > .row > div { position: inherit!important; }
	.box-teacher.well label.label { position: absolute; top: 0px; left: 0px; font-size: 16px; }
}

.modal-dialog .close { color: #000; font-size: 2em; opacity: 1; }
.modal-dialog .modal-content { background: none; border: 0; -webkit-box-shadow: none; box-shadow: none; border-radius: 0; }
.modal-dialog .modal-content .modal-header { border: 0; padding: 5px 10px; background: #eee; }
.modal-dialog .modal-content .modal-title { font-size: 1.5em; line-height: 2em; }
.modal-dialog .modal-content .modal-body { background: #fff; }

@media (max-width:767px) {
	.modal-dialog { margin: 10px; }
}

@media (min-width: 768px) {
	.modal-dialog { width: 768px; margin: 30px auto; }
}

.box-header { margin-bottom: 20px; }
.box-body { margin-bottom: 20px; }
.box-footer { margin-bottom: 20px; }

