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

*, 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%;
	font: inherit;
	vertical-align: bottom;
}

ol, ul {
	list-style: none;
}

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

article {
	position: relative;
}

/*================================
	base
=================================*/

html {
	font-size: 16px;
	overflow-y: scroll;
	-webkit-text-size-adjust: none;
}

body {
	color: #333333;
	background: url(../img/head_bg.jpg) repeat-x top center;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "ＭＳ Ｐゴシック", sans-serif;
	font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	width: 100%;
	min-width: 320px;
	box-sizing: border-box;
}

#wrap {
	position: relative;
}

.pconly {
	display: block;
}

.sponly {
	display: none;
}

.outer {
	width: 1150px;
	margin: 0 auto;
}

.inner {
	position: relative;
	width: 960px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
}

img, img a {
	border: 0;
	outline: none;
}

ul {
	list-style: none;
}

p {
	line-height: 1.5;
}

b {
	font-weight: bold;
}

.pink {
	color: #e95383 !important;
}

.green {
	color: #4abeb4 !important;
}

.orange {
	color: #f89820 !important;
}

/*================================
	contents
=================================*/

/* header */

header {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

header .outer.fvbg {
	background: url(../img/head_bg.jpg) repeat-x top center;
}

header p#logo {
	padding: 16px 0 9px;
	font-size: 0;
}

header h1 {
	font-weight: bold;
	text-shadow: 3px 2px 0px #FFF;
	margin: 47px 0 0 4px;
	line-height: 1.5;
	color: #5a5b5b;
}

header .fv {
	background: url(../img/fv_main.png) no-repeat center 36px;
	width: 1016px;
	height: 666px;
	margin: 0 auto;
}
/* 20210212 add */
.fvtxt {
	margin-top: 17px;
	padding-left: 91px;
    color: #5a5b5b;
	font-weight: bold;
	font-size: 58%;
    text-shadow: 3px 2px 0px #fff;
}
.fvtxt p {
	display: block;
}
.fvtxt p:first-child {
	margin-bottom: 2px;
}

header .fvbtm {
	background: #004fa7;
}

header .fvbtm .inner {
	background: #3877be;
	padding: 10px 0 45px;
}

header .fvbtm .inner dl.block {
	width: 746px;
	margin-left: 174px;
}

header .fvbtm .inner dl.block dt {
	font-size: 78%;
	color: #fff600;
	font-weight: bold;
	display: block;
	margin-bottom: 20px;
}

header .fvbtm .inner dl.block dt span {
	float: left;
}

header .fvbtm .inner dl.block dt span.point {
	max-width: 241px;
	width: 100%;
	margin-right: 17px;
	display: block;
	font-size: 0;
}

header .fvbtm .inner dl.block dt span.txt {
	display: inline-block;
}

header .fvbtm .inner dl.block dd {
	position: relative;
	font-size: 54%;
	background: url(../img/point_bg.gif)repeat;
	padding: 10px 14px 14px 58px;
	margin: 0 0 10px 37px;
	box-shadow: 3px 3px 0px #4563a7;
	color: #004fa7;
}

header .fvbtm .inner dl.block dd b {
	font-weight: bold;
}

header .fvbtm .inner dl.block dd:before {
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	display: block;
}

header .fvbtm .inner dl.block dd:after {
	position: absolute;
	content: "";
	top: 50%;
	margin-top: -12px;
	display: block;
	width: 3%;
	background-size: contain;
	background-repeat: no-repeat;
}

header .fvbtm .inner dl.block dd:nth-child(2):after {
	background-image: url(../img/fv_btm_num1.png);
	left: 3%;
	height: 30px;
	width: 2.7%;
}

header .fvbtm .inner dl.block dd:nth-child(3):after {
	background-image: url(../img/fv_btm_num2.png);
	left: 2.4%;
	height: 30px;
	width: 3.2%;
	margin-top: -11px;
}

header .fvbtm .inner dl.block dd:nth-child(4):after {
	background-image: url(../img/fv_btm_num3.png);
	left: 2.6%;
	height: 30px;
	width: 3%;
	margin-top: -11px;
}

header .fvbtm .inner dl.block dd:nth-child(5):after {
	background-image: url(../img/fv_btm_num4.png);
	left: 2.6%;
	height: 30px;
	width: 3%;
	margin-top: -11px;
}

header .fvbtm .inner .pic {
	background: url(../img/fv_btm_pc.png)no-repeat;
	width: 292px;
	height: 224px;
	position: absolute;
	top: 80px;
	left: -117px;
}

/* sec01 */

#sec01 {
	position: relative;
	background: url(../img/sec01_bg.gif) repeat;
	padding-bottom: 65px;
}

#sec01 .bgon {
	background: url(../img/sec01_bgon.png) no-repeat center top;
}

#sec01 h3.voice {
	padding: 42px 0 22px;
	font-size: 100%;
	font-weight: bold;
	color: #004fa7;
	text-align: center;
	margin: 0 0 45px;
	background: url(../img/line_dot.gif) repeat-x center bottom;
}

#sec01 h3.voice img {
	margin-right: 8px;
	margin-bottom: 10px;
}

#sec01 .fukidashi {
	width: 206px !important;
	border: 2px solid #004fa7;
	background: #fff5cc;
	box-sizing: border-box;
	position: relative;
	color: #004fa7;
	font-size: 15px;
	padding: 0 16px;
	height: 207px;
	vertical-align: middle;
	display: table-cell;
	line-height: 1.7;
}

#sec01 .fukidashi:before {
	content: "";
	border: 22px solid transparent;
	border-top: 22px solid #fff5cc;
	position: absolute;
	right: 41%;
	bottom: -41px;
	z-index: 2;
}

#sec01 .fukidashi:after {
	content: "";
	border: 22px solid transparent;
	border-top: 22px solid #004fa7;
	position: absolute;
	right: 41%;
	bottom: -44px;
}

#sec01 .fukidashi:last-child {
	margin-right: 0;
}

#sec01 p.photo {
	text-align: center;
	width: 206px;
	margin-top: 40px;
}

#sec01 p.photo img {
	width: 180px;
	margin: 0 auto;
}

#sec01 table {
	width: 820px;
	background: #FFF;
	box-shadow: 4px 4px 0 rgba(255, 231, 170, 1);
}

#sec01 .table-outline {
	width: 820px;
	margin: 40px auto 40px;
}

#sec01 h3.table {
	background: #555;
	box-shadow: 4px 4px 0 rgba(255, 231, 170, 1);
	color: #FFF;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	border-radius: 8px 8px 0 0;
	padding: 10px 0 15px;
}

#sec01 table thead {
	background: #1d5b9d;
}

#sec01 table thead th:nth-child(1) {
	width: 203px;
}

#sec01 table thead th:nth-child(2) {
	width: 309px;
	padding: 10px 11px;
	vertical-align: middle;
}

#sec01 table thead th:nth-child(3) {
	width: 308px;
	padding: 10px 11px;
	vertical-align: middle;
	background: #ff9000;
}

#sec01 table thead th:nth-child(2) span {
	border: 2px solid #FFF;
	color: #FFF;
	display: block;
	background: #114e8f;
	box-sizing: border-box;
	width: 100%;
	font-size: 18px;
	padding: 0px;
	text-align: center;
	font-weight: bold;
}

#sec01 table thead th:nth-child(3)>span {
	border: 2px solid #FFF;
	color: #FFF;
	display: block;
	background: #ff7800;
	box-sizing: border-box;
	width: 100%;
	font-size: 18px;
	padding: 0;
	text-align: center;
	font-weight: bold;
}

#sec01 table thead th:nth-child(3)>span br {
	display: none;
}

#sec01 table thead th span {
	height: 60px;
	line-height: 60px;
}

#sec01 table tbody th {
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	text-align: left;
	padding: 15px 0 10px 24px;
	vertical-align: middle;
}

#sec01 table tbody th span {
	vertical-align: middle;
}

#sec01 table tbody tr:nth-child(odd) th, #sec01 table tbody tr:nth-child(odd) td:nth-child(2) {
	background: #2d6eb5;
}

#sec01 table tbody tr:nth-child(odd) td:nth-child(3) {
	background: #ffa800;
}

#sec01 table tbody tr:nth-child(even) th, #sec01 table tbody tr:nth-child(even) td:nth-child(2) {
	background: #1d5b9d;
}

#sec01 table tbody tr:nth-child(even) td:nth-child(3) {
	background: #f89820;
}

#sec01 table tbody tr td:nth-child(2) span, #sec01 table tbody tr td:nth-child(3) span {
	background: #FFF;
	display: block;
	width: 100%;
	border-radius: 4px;
	text-align: center;
}

#sec01 table tbody tr td img {
	vertical-align: middle;
}

#sec01 table tbody tr:nth-child(odd) td:nth-child(2), #sec01 table tbody tr:nth-child(odd) td:nth-child(3), #sec01 table tbody tr:nth-child(even) td:nth-child(2), #sec01 table tbody tr:nth-child(even) td:nth-child(3) {
	padding: 10px 11px;
	vertical-align: middle;
}

#sec01 table tbody th img {
	vertical-align: middle;
}

#sec01 table tbody tr td span.txt {
	font-size: 20px;
	color: #757575;
	font-weight: bold;
	padding: 10px 0px 11px;
}

#sec01 table tbody tr td span.txt.human small {
	display: block;
}

#sec01 table tbody tr td span.txt.standard {
	padding: 25px 0;
	height: auto;
}

#sec01 table tbody th span.icon {
	margin-right: 30px;
	width: 60px;
	vertical-align: middle;
	display: inline-block;
}

#sec01 table tbody tr td span.txt br {
	display: none;
}

#sec01 .fukidasi_up {
	background-image: url(../img/fukidashi_up.png);
	background-position: center 1px;
	background-repeat: no-repeat;
	padding-top: 19px;
	width: 820px;
	margin: 0 auto;
}

#sec01 .fukidasi_top {
	background-color: #FFF;
	border-radius: 6px;
	position: relative;
	padding: 9px 20px 11px 80px;
	color: #e95383;
	margin: 0 auto;
	box-sizing: border-box;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 2px;
	box-shadow: 4px 4px 0 #ffe6a6;
}

#sec01 .fukidasi_top img {
	position: absolute;
	top: -30px;
	left: 10px;
}

#sec01 .fukidasi_top br {
	display: none;
}

.cvarea {
	background: #5176cb;
	padding: 45px 0 40px;
}

.cvarea h3 {
	font-weight: bold;
	text-align: center;
	font-size: 32px;
	color: #fff;
	letter-spacing: 4px;
	background: url(../img/line_dot_w.gif) repeat-x center bottom;
	padding-bottom: 15px;
	vertical-align: middle;
}

.cvarea h3 span {
	color: #ffcc00;
}

.cvarea h3 img {
	vertical-align: middle;
	margin-right: 20px;
}

.cvarea .block {
	box-sizing: border-box;
	padding: 0 40px;
}

.cvarea .block .movie {
	width: 360px;
	margin-top: 30px;
	margin-right: 20px;
	float: left;
}

.cvarea .block .movie p {
	text-align: center;
	width: 100%;
	margin-top: 30px;
	margin-bottom: 10px;
	font-size: 0;
}

.cvarea .block .movie .thumb img {
	width: 360px;
}

.cvarea .block .movie p img {
	width: 80%;
}

.cvarea .block .form {
	width: 420px;
	float: left;
	margin-top: 22px;
}

.movie .title01 {
	font-size: 19px !important;
	color: #fcca00;
	margin: 20px 0 8px;
	letter-spacing: .1em;
}

.youtube {
	width: 360px;
	height: 200px;
}

.cvarea .block .form dt {
	font-size: 15px;
	color: #FFF;
	display: block;
	margin-bottom: 6px;
}

.cvarea .block .form dt img {
	vertical-align: text-top;
	margin-right: 5px;
}

.cvarea .block .form dl.test.sp {
	display: none;
}

.cvarea .block .form dl.test.pc dd a {
	display: block;
	position: relative;
	border: 4px solid #FFF;
	border-radius: 6px;
	background: #ccc;
	font-size: 20px;
	text-align: center;
	text-decoration: none;
	color: #5176cb;
	font-weight: bold;
	padding: 8px 0;
	box-sizing: border-box;
	box-shadow: 3px 3px 0 #4563a7;
	margin-bottom: 26px;
}

.cvarea .block .form dl.test.pc dd a:before {
	position: absolute;
	content: "";
	top: 50%;
	margin-top: -6px;
	display: block;
	width: 36px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../img/cvarea_btn_before.png);
	left: 15px;
	height: 17px;
}

.cvarea .block .form dl.test.pc dd a:after {
	position: absolute;
	content: "";
	top: 50%;
	margin-top: -7px;
	display: block;
	width: 13px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../img/cvarea_btn_after.png);
	right: 15px;
	height: 20px;
}

.cvarea .block .form dl.cv dd a {
	display: block;
	position: relative;
	border-radius: 6px;
	background: #e89223;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	padding: 14px 0 16px;
	box-sizing: border-box;
	box-shadow: 3px 3px 0 #4563a7;
}

.cvarea .block .form dl.cv dd a:after {
	position: absolute;
	content: "";
	top: 50%;
	margin-top: -9px;
	display: block;
	width: 13px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../img/cvarea_cvbtn_after.png);
	right: 19px;
	height: 20px;
}

.cvarea .block .form dl dd a:hover {
	opacity: 0.9;
}

.contact {
	padding: 20px 0 20px;
	background: #383838;
}

.contact .block {
	width: 615px;
	margin: 0 auto;
}

.contact .block p.txt {
	font-size: 16px;
	color: #FFF;
	font-weight: bold;
	margin-bottom: 12px;
	letter-spacing: 1px;
	text-align: center;
}

.contact .block ul li {
	/* float: left; */
	margin-right: 10px;
}
/* 20190424 add */
.contact .block ul {
	display: flex;
	justify-content: center;
}
.contact .block ul li:last-child {
	margin-right: 0;
}

.contact .block .facebook a {
	width: 224px;
	display: block;
	background: #5c76af;
	border-radius: 4px;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	text-decoration: none;
	padding: 10px 0;
	box-shadow: 2px 2px 0 #4a4a4a;
}

.contact .block .line a {
	display: block;
	width: 184px;
	box-sizing: border-box;
	padding: 4px 4px;
	vertical-align: middle;
	line-height: 0;
	background: #89c937;
	border-radius: 4px;
	box-shadow: 2px 2px 0 #4a4a4a;
}

.contact .block .line a img {
	vertical-align: top;
}

.contact .block .line a span.linelogo {
	margin-top: 8px;
	margin-left: 7px;
	margin-right: 12px;
	display: inline-block;
	width: 61px;
	vertical-align: top;
}

.contact .block .line a span.place {
	display: inline-block;
	background: url(../img/sns_line_arrow.png) no-repeat center right 7px;
	font-size: 14px;
	color: #383838;
	font-weight: bold;
	padding: 2px 21px 6px 5px;
	text-decoration: none;
	min-width: 70px;
}

.contact .block ul li a:hover {
	opacity: 0.85;
}

.contact img {
	backface-visibility: hidden;
}

/* sec02 */

#sec02 {
	background: url(../img/point_bg.gif) repeat;
}

#sec02 .inner {
	background: #FFF;
	padding-bottom: 60px;
}

#sec02 h3 {
	position: relative;
	background: url(../img/line_dot.gif) repeat-x center bottom;
	padding: 50px 0 20px;
	margin-bottom: 40px;
	font-size: 30px;
	color: #004fa7;
	font-weight: bold;
	letter-spacing: 1px;
}

#sec02 h3 .icon {
	display: block;
	padding-left: 168px;
	background: url(../img/sec02_icon_ttl.png) no-repeat center left 64px;
}

#sec02 h3.second .icon {
	background: url(../img/sec02_icon_ttl2.png) no-repeat center left 85px;
}

#sec02 .listbox {
	border: 2px solid #5176cb;
	border-radius: 4px;
	box-sizing: border-box;
	padding: 30px;
}

#sec02 .listbox dl {
	position: relative;
	border-bottom: 2px dotted #1960b0;
	min-height: 212px;
	margin-bottom: 35px;
}

#sec02 .listbox dl:last-child {
	margin-bottom: 0;
	border-bottom: 0;
	min-height: 182px;
}

#sec02 .listbox dl dt, #sec02 .listbox dl dd.txt, #sec02 .listbox dl dd.anno {
	width: 465px;
	float: right;
}

#sec02 .listbox dl dd.image {
	position: absolute;
	top: 0;
	left: 0;
}

#sec02 .listbox dl dt {
	color: #5176cb;
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 10px;
	margin-bottom: 15px;
	border-bottom: 2px solid #1960b0;
}

#sec02 .listbox dl dd.txt {
	color: #5a5b5b;
	font-size: 16px;
	line-height: 2;
	margin-bottom: 30px;
}

#sec02 .listbox dl dd.anno {
	font-size: 12px;
	font-weight: normal;
	color: #5a5b5b;
}

#sec02 .listbox dl dt sup {
	font-size: 10px;
	font-weight: normal;
	vertical-align: 10px;
}

#sec02 .listbox dl:last-child dd.txt {
	margin-bottom: 0;
}

#sec02 h3 small {
	font-size: 80%;
}

#teacher>ul li dl {
	padding: 30px;
	position: relative;
	margin-bottom: 30px;
}

#teacher>ul li:last-child dl {
	margin-bottom: 0;
}

#teacher>ul li dl dt, #teacher>ul li dl dd.txt, #teacher>ul li dl dd.point {
	width: 535px;
	float: right;
}

#teacher>ul li dl dt {
	display: block;
	position: relative;
	font-size: 0;
	line-height: 0;
	border-top: 2px solid #5a5b5b;
	margin-top: 7px;
	margin-bottom: 17px;
}

#teacher>ul li dl dt span {
	font-size: 20px;
	font-weight: bold;
	color: #5a5b5b;
	line-height: 1;
	position: absolute;
	top: -25px;
	padding-right: 10px;
}

#teacher>ul li dl dd.txt {
	font-size: 14px;
	color: #5a5b5b;
	padding-left: 10px;
}

#teacher>ul li dl dd.image {
	width: 254px;
	position: absolute;
	top: 30px;
	left: 30px;
}

#teacher>ul li dl dd.image img {
	width: 100%;
}

#teacher>ul li dl dd.point {
	padding-left: 10px;
	margin-top: 8px;
}

#teacher>ul li dl dd.point span.block {
	display: block;
	font-size: 14px;
	font-weight: bold;
	color: #FFF;
	border-radius: 4px;
	padding: 7px 12px;
	letter-spacing: 1px;
	box-sizing: border-box;
}

#teacher>ul li.one dl {
	background: #fff0de;
}

#teacher>ul li.one dl dd.point span.block {
	background: #f89820;
}

#teacher>ul li.one dl dd.point {
	background: url(../img/teacher1_arrow_pc.gif) no-repeat center left;
}

#teacher>ul li.one dl dt span {
	background: #fff0de;
}

#teacher>ul li.two dl {
	background: #ffebe8;
}

#teacher>ul li.two dl dd.point span.block {
	background: #e95383;
}

#teacher>ul li.two dl dd.point {
	background: url(../img/teacher2_arrow_pc.gif) no-repeat center left;
}

#teacher>ul li.two dl dt span {
	background: #ffebe8;
}

#teacher>ul li.three dl {
	background: #e5f8e9;
}

#teacher>ul li.three dl dd.point span.block {
	background: #4abeb4;
}

#teacher>ul li.three dl dd.point {
	background: url(../img/teacher3_arrow_pc.gif) no-repeat center left;
}

#teacher>ul li.three dl dt span {
	background: #e5f8e9;
}

/* sec03 */

#sec03 {
	background: #efefef;
}

#sec03 h3 {
	position: relative;
	background: url(../img/line_dot.gif) repeat-x center bottom;
	padding: 50px 0 20px;
	margin-bottom: 40px;
	font-size: 83%;
	color: #004fa7;
	font-weight: bold;
	letter-spacing: 1px;
}

#sec03 h3 .icon {
	display: block;
	padding: 20px 0 0 20px;
	background: url(../img/sec03_icon_ttl.png) no-repeat center left 117px;
	text-align: center;
}

#sec03 ul.block {
	padding-bottom: 50px;
}

#sec03 ul.block>li {
	padding: 30px 30px;
	box-sizing: border-box;
}

#sec03 ul.block>li:first-child {
	margin-right: 40px;
	background: #d8e2fb;
}

#sec03 ul.block>li:last-child {
	background: #ffebcb;
}

#sec03 ul.block dl dt span.catch {
	color: #5176cb;
	font-weight: bold;
	font-size: 16px;
	text-align: center;
	display: block;
	width: 100%;
	margin-bottom: 10px;
}

#sec03 ul.block dl dt span.mark {
	display: block;
	width: 15%;
	margin: 0 auto 20px;
}

#sec03 ul.block dl dt span.lesson {
	display: block;
	width: 100%;
	text-align: center;
	color: #040404;
	font-size: 26px;
	font-weight: bold;
	border-bottom: 2px solid #5176cb;
	margin-bottom: 15px;
}

#sec03 ul.block dl dd ul li:before {
	content: "●";
}

#sec03 ul.block dl dd ul li {
	font-size: 15px;
	font-weight: bold;
	color: #040404;
	margin-bottom: 4px;
}

#sec03 ul.block dl dd.txt {
	font-size: 14px;
	color: #5a5b5b;
	line-height: 2;
}

#sec03 ul.block dl dd ul.heightlist {
	margin-bottom: 15px;
}

#sec03 ul.block li:last-child dl dt span.catch {
	color: #ff9600;
}

#sec03 ul.block li:last-child dl dt span.lesson {
	border-color: #ff9600;
}

#price .inner {
	background: #FFF;
}

#price h3 {
	padding-top: 30px;
}

#price h3 .icon {
	background: url(../img/sec03_icon_ttl_price.png) no-repeat center left 84px;
}

#price .block {
	box-sizing: border-box;
	padding: 0 40px 30px;
}

#price p.sub {
	font-size: 18px;
	font-weight: bold;
	color: #404040;
	text-align: center;
	margin-bottom: 35px;
}

#price ul.col2 li {}

#price ul.col2 li:first-child {}

#price ul.col2 li p.cat-group {
	box-sizing: border-box;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	font-size: 22px;
	padding: 8px 0;
	border-radius: 6px 6px 0 0;
}

#price ul.col2 li dl {
	box-sizing: border-box;
	border-radius: 0 0 6px 6px;
	padding: 15px 40px;
}

#price ul.col2 li dl dt {
	color:#272727;
	font-weight:bold;
	font-size:20px;
	margin-bottom: 5px;
}

#price ul.col2 li dl dd {
	font-weight:bold;
	color:#272727;
	font-size:20px;
}
#price ul.col2 li dl dd.oneprice-deta {font-size:18px;}
#price ul.col2 li dl dd.oneprice-deta span {display:block;font-size:16px;}
#price ul.col2 li dl dd.oneprice {display:table;margin:4px auto 0 auto;text-align:left;font-size:14px;}
#price ul.col2 li dl dd.oneprice span {display: block;}
#price ul.col2 li:first-child dl {background:#d8e2fb;}
#price ul.col2 li:last-child dl {text-align:center;background:#ffffff;border:solid 3px #ffe3b5;}

/*
#price ul.col2 li dl dd.oneprice {
	font-size: 16px;
	text-align: right;
	padding-left: 0;
	margin-top: 4px;
}
*/
#price ul.col2 li:first-child dl {
	background: #d8e2fb;
}

#price ul.col2 li:last-child dl {
	background: #ffffff;
	border: solid 3px #ffe3b5;
}

#price table#lessonprice {
	width: 100%;
	table-layout: fixed;
}

#price table#lessonprice th {
	background: #ffa200;
	font-size: 14px;
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
	vertical-align: middle;
}

#price table#lessonprice td {
	background: #ffe3b5;
	font-size: 14px;
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
	vertical-align: middle;
}

#price p.center {
	text-align: center;
	margin: 10px auto;
}

#price ul.col2 li dl dd.under {
	border-bottom: 2px dotted #252525;
	padding-bottom: 6px;
	margin-bottom: 6px;
}

#price ul.col2 li:first-child p.cat-group {
	background: #5176cb;
}

#price ul.col2 li:last-child p.cat-group {
	background: #ffa200;
}

#price ul.col2 li:first-child .anno {
	color: #404040;
	font-size: 12px;
	text-align: right;
	margin-top: 4px;
}

#price-list table, #price-list table tbody, #price-list table thead, #price-list table tr, #price-list table th, #price-list table td {
	box-sizing: border-box;
	text-align: center;
	vertical-align: middle;
}

#price-list .inner {
	background: #FFF;
	padding: 25px 40px 30px;
	border-bottom: 2px solid #efefef;
}

#price-list table th {
	height: 80px;
}

#price-list table.timeline {
	width: 100%;
	border: 2px solid #dddddd;
}

#price-list table.timeline thead th {
	font-size: 16px;
	font-weight: bold;
	color: #FFF;
	background: #ff7d7d;
	padding: 6px 10px;
	border-bottom: 2px solid #dddddd;
}

#price-list table.timeline thead th:first-child {
	width: 290px;
	border-right: 2px solid #dddddd;
}

#price-list table.timeline thead th:last-child {
	width: 192px;
}

#price-list table.timeline tbody td {
	font-size: 16px;
	padding: 6px 10px;
}

#price-list table.timeline tbody td:first-child {
	border-right: 2px solid #ddd;
	text-align: left;
	padding-left: 57px;
}

#price-list table.timeline tbody tr:nth-child(odd) {
	background: #FFF;
}

#price-list table.timeline tbody tr:nth-child(even) {
	background: #eeeeee;
}

#price-list table.course-price {
	width: 398px;
	float: left;
	border: 2px solid #dddddd;
	border-left: 0;
}

#price-list table.course-price thead th {
	font-size: 16px;
	font-weight: bold;
	color: #FFF;
	padding: 6px 10px;
	border-bottom: 2px solid #dddddd;
}

#price-list table.course-price thead th:first-child {
	width: 196px;
	border-right: 2px solid #dddddd;
	background: #5176cb;
}

#price-list table.course-price thead th:last-child {
	width: 196px;
	background: #5176cb;
	background: #ffa200;
}

#price-list table.course-price td {
	font-size: 20px;
}

#price-list table.course-price tbody td:first-child {
	border-right: 2px solid #ddd;
}

#price-list table.course-price td small {
	font-size: 16px;
}

#price-list table.course-price td b {
	letter-spacing: 3px;
}

#price-list p.anno {
	font-size: 12px;
	text-align: right;
	color: #474747;
	margin-top: 4px;
	float: right;
	width: 350px;
	display: inline-block;
}

#course {
	padding-bottom: 60px;
}

#course .inner {
	background: #FFF;
	padding-bottom: 40px;
}

#course p.top-ttl {
	padding-top: 30px;
	text-align: right;
	width: 100%;
	position: relative;
	right: -10px;
}

#course p.top-ttl img {
	width: 293px;
}

#course .listbox {
	margin-top: 10px;
}

#course .listbox>li {
	border-radius: 6px;
	box-sizing: border-box;
	border-top: 0;
	border-bottom: 0;
	margin-bottom: 30px;
}

#course .listbox>li:last-child {
	margin-bottom: 0;
}

#course .listbox>li .acc dl.ttl {
	position: relative;
	border-bottom: 2px solid #FFF;
	cursor: pointer;
	display: table;
}

#course .listbox>li .acc dl.ttl.open {
	border-bottom: 0;
}

#course .listbox>li .acc:last-child dl.ttl {
	border-bottom: 0;
}

#course .listbox>li .acc dl.ttl dt {
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	float: left;
	box-sizing: border-box;
	vertical-align: middle;
	padding: 8px 22px 8px 70px;
	margin: 13px 20px 13px 0;
	letter-spacing: 3px;
	display: inline-block;
	background: url(../img/acc_dtline.gif) repeat-y top right;
}

#course .listbox li .acc>dl dd {
	font-size: 16px;
	color: #FFF;
	padding: 8px 60px 8px 0;
	width: 528px;
	display: table-cell;
	vertical-align: middle;
}

#course .listbox li .acc>dl:after {
	content: "";
	position: absolute;
	width: 24px;
	height: 24px;
	top: 28px;
	right: 20px;
	background: url(../img/acc_plus.png) no-repeat;
	background-size: 24px 24px;
}

#course .listbox li .acc>dl.open:after {
	background: url(../img/acc_minus.png) no-repeat;
	background-size: 24px 24px;
}

#course .listbox .acc-inner {
	background: #FFF;
	position: relative;
	box-sizing: border-box;
	padding: 20px;
	min-height: 200px;
}

#course .listbox>li .acc:last-child .acc-inner {
	border-radius: 0 0 6px 6px;
}

#course .listbox .acc-inner table {
	box-sizing: border-box;
	width: 600px;
	float: right;
}

#course .listbox .acc-inner table tr {
	border-bottom: 1px dotted #a1a1a1;
	padding: 4px 0;
	display: block;
}

#course .listbox .acc-inner table tr:first-child {
	border-top: 1px dotted #a1a1a1;
}

#course .listbox .acc-inner table th {
	box-sizing: border-box;
	font-weight: bold;
	font-size: 16px;
	text-align: center;
	vertical-align: middle;
	color: #5a5b5b;
	width: 116px;
	padding: 5px 0;
	letter-spacing: 1px;
}

#course .listbox .acc-inner table td {
	font-size: 16px;
	color: #5a5b5b;
	padding: 0 10px;
	vertical-align: middle;
}

#course .listbox .acc-inner table td span {
	display: block;
	margin-top: 1em;
	font-weight: bold;
}

#course .listbox .acc-inner table td span:first-child {
	margin-top: 0;
}

#course p.other {
	width: 100%;
	background: #525252;
	color: #FFF;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	padding: 6px 0;
}

/* 吹き出し */

.balloon {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 20px 20px;
	width: 100%;
	color: #ffa200;
	font-size: 16px;
	font-weight: bold;
	background: #FFF;
	border: solid 4px #555;
	box-sizing: border-box;
	border-radius: 6px;
}

.balloon:before {
	content: "";
	position: absolute;
	bottom: -25px;
	left: 20%;
	margin-left: -15px;
	border: 14px solid transparent;
	border-top: 12px solid #FFF;
	z-index: 2;
}

.balloon:after {
	content: "";
	position: absolute;
	bottom: -32px;
	left: 20%;
	margin-left: -17px;
	border: 16px solid transparent;
	border-top: 14px solid #555;
	z-index: 1;
}

.balloon p {
	margin: 0;
	padding: 0;
	line-height: 2;
	font-size: 14px;
}

/* 個別 */

#course .listbox li.type-a {
	border: 2px solid #328fdd;
	background: #328fdd;
}

#course .listbox li.type-a .acc-inner table th {
	background: #c5e5ff;
}

#course .listbox li.type-a .acc-inner .balloon {
	border-color: #c5e5ff;
}

#course .listbox li.type-a .acc-inner .balloon:after {
	border-top-color: #c5e5ff;
}

#course .listbox>li.type-b .acc dl.ttl dt {
	width: 367px;
}

#course .listbox li.type-b {
	border: 2px solid #004fa7;
	background: #004fa7;
}

#course .listbox li.type-b .acc-inner table th {
	background: #c3dbf5;
}

#course .listbox li.type-b .acc-inner .balloon {
	border-color: #d3e8ff;
	min-height: 100px;
}

#course .listbox li.type-b .acc-inner .balloon:after {
	border-top-color: #d3e8ff;
}

#course .listbox li.type-b .acc>dl dd {
	width: 428px;
}

#course .listbox li.type-b .acc>dl dd::after {
	right: 17px;
}

#course .listbox>li.type-c .acc dl.ttl dt {
	width: 367px;
}

#course .listbox li.type-c {
	border: 2px solid #e95383;
	background: #e95383;
}

#course .listbox li.type-c .acc-inner table th {
	background: #f7d4df;
}

#course .listbox li.type-c .acc-inner .balloon {
	border-color: #f7d4df;
}

#course .listbox li.type-c .acc-inner .balloon:after {
	border-top-color: #f7d4df;
}

#course .listbox li.type-c .acc>dl dd {
	width: 428px;
}

#course .listbox li.type-c .acc>dl dd::after {
	right: 17px;
}

#course .listbox>li.type-d .acc dl.ttl dt {
	width: 367px;
}

#course .listbox li.type-d {
	border: 2px solid #4abeb4;
	background: #4abeb4;
}

#course .listbox li.type-d .acc-inner table th {
	background: #c7edea;
}

#course .listbox li.type-d .acc-inner .balloon {
	border-color: #c7edea;
}

#course .listbox li.type-d .acc-inner .balloon:after {
	border-top-color: #c7edea;
}

#course .listbox li.type-d .acc>dl dd {
	width: 428px;
}

#course .listbox li.type-d .acc>dl dd::after {
	right: 17px;
}

#course .listbox li.type-a .a01 {
	background: url(../img/sec03_acc_icon_a01.png) no-repeat #328fdd;
	background-size: 40px 40px;
	background-position: left 15px top 20px;
}

#course .listbox li.type-a .a02 {
	background: url(../img/sec03_acc_icon_a02.png) no-repeat #328fdd;
	background-size: 40px 40px;
	background-position: left 15px top 20px;
}

#course .listbox li.type-b .b01 {
	background: url(../img/sec03_acc_icon_b01.png) no-repeat #004fa7;
	background-size: 40px 40px;
	background-position: left 15px top 20px;
}

#course .listbox li.type-b .b02 {
	background: url(../img/sec03_acc_icon_b02.png) no-repeat #004fa7;
	background-size: 40px 40px;
	background-position: left 15px top 20px;
}

#course .listbox li.type-b .b03 {
	background: url(../img/sec03_acc_icon_b03.png) no-repeat #004fa7;
	background-size: 40px 40px;
	background-position: left 15px top 20px;
}

#course .listbox li.type-c .c01 {
	background: url(../img/sec03_acc_icon_c01.png) no-repeat #e95383;
	background-size: 40px 40px;
	background-position: left 15px top 20px;
}

#course .listbox li.type-d .d01 {
	background: url(../img/sec03_acc_icon_d01.png) no-repeat #4abeb4;
	background-size: 40px 40px;
	background-position: left 15px top 17px;
}

#course .listbox li.type-d .d02 {
	background: url(../img/sec03_acc_icon_d02.png) no-repeat #4abeb4;
	background-size: 40px 40px;
	background-position: left 15px top 17px;
}

#course .listbox li.type-d .d03 {
	background: url(../img/sec03_acc_icon_d03.png) no-repeat #4abeb4;
	background-size: 40px 40px;
	background-position: left 15px top 17px;
}

#course .listbox li.type-d .d04 {
	background: url(../img/sec03_acc_icon_d04.png) no-repeat #4abeb4;
	background-size: 40px 40px;
	background-position: left 15px top 17px;
}

#course .listbox li.type-d .d05 {
	background: url(../img/sec03_acc_icon_d05.png) no-repeat #4abeb4;
	background-size: 40px 40px;
	background-position: left 15px top 17px;
}

#course .listbox .acc-inner .voice {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 218px;
}

#course .listbox .acc-inner .voice .chara {
	position: absolute;
	bottom: -51px;
	right: 0px;
	width: 57px;
}

#course .listbox .a02 .acc-inner .voice .chara {
	width: 65px;
	bottom: -41px;
}

#course .listbox .b01 .acc-inner .voice .chara {
	width: 70px;
	bottom: -41px;
}

#course .listbox .b02 .acc-inner .voice .chara {
	width: 70px;
	bottom: -41px;
}

#course .listbox .b03 .acc-inner .voice .chara {
	width: 70px;
	bottom: -41px;
}

#course .listbox .c01 .acc-inner .voice .chara {
	width: 60px;
	bottom: -41px;
}

#course .listbox .d01 .acc-inner .voice .chara {
	width: 50px;
	bottom: -41px;
}

#course .listbox .d02 .acc-inner .voice .chara {
	width: 74px;
	bottom: -41px;
	right: -7px;
}

#course .listbox .d01 .acc-inner .voice .chara, #course .listbox .d03 .acc-inner .voice .chara, #course .listbox .d04 .acc-inner .voice .chara {
	width: 70px;
	bottom: -53px;
}

/* sec04 */

#sec04 {
	background: #FFF;
	padding-bottom: 65px;
}

#sec04 h3 {
	position: relative;
	background: url(../img/line_dot.gif) repeat-x center bottom;
	padding: 50px 0 20px;
	margin-bottom: 40px;
	font-size: 100%;
	color: #004fa7;
	font-weight: bold;
	letter-spacing: 1px;
}

#sec04 h3 .icon {
	display: block;
	padding: 8px 0 0 0;
	background: url(../img/sec04_icon_ttl.png) no-repeat center left 135px;
	text-align: center;
	letter-spacing: 4px;
}

#sec04 #step {
	width: 776px;
	margin: 0 auto;
}

#sec04 #step dl {
	width: 100%;
	position: relative;
	display: table;
	background: #eee;
	border-radius: 6px;
	box-shadow: 0 3px 0 #eeeeee;
}

#sec04 #step dl dt {
	width: 301px;
	color: #FFF;
	font-weight: bold;
	font-size: 28px;
	text-align: center;
	box-sizing: border-box;
	padding: 10px 0 10px 22px;
	border-radius: 6px 0 0 6px;
	letter-spacing: 5px;
	display: table-cell;
	vertical-align: middle;
	height: 84px;
}

#sec04 #step dl dt span {
	vertical-align: middle;
}

#sec04 #step dl dd {
	width: 475px;
	font-size: 16px;
	color: #5a5b5b;
	padding: 10px 25px 10px 35px;
	box-sizing: border-box;
	border-radius: 0 6px 6px 0;
	display: table-cell;
	vertical-align: middle;
}

#sec04 #step>dl:first-child dt {
	background: url(../img/sec04_step_num1.png) no-repeat left 22px center #f89820;
}

#sec04 #step>dl:first-child dd {
	background: #fbce95;
}

#sec04 #step>dl:nth-child(2) {
	padding-top: 58px;
	background: url(../img/sec04_icon_arrow.png) no-repeat center top 19px;
}

#sec04 #step>dl:nth-child(2) dt {
	background: url(../img/sec04_step_num2.png) no-repeat left 16px center #4abeb4;
}

#sec04 #step>dl:nth-child(2) dd {
	background: #aae3de;
}

#sec04 #step > dl:nth-child(3) {
	padding-top:58px;
	background:url(../img/sec04_icon_arrow.png) no-repeat center top 19px;
}
#sec04 #step > dl:nth-child(3) dt {
	background:url(../img/sec04_step_num3.png) no-repeat left 18px center #328fdd;
}
#sec04 #step > dl:nth-child(3) dd {
	background:#c5e5ff;
}

#sec04 #step > dl:nth-child(4) {
	padding-top:58px;
	background:url(../img/sec04_icon_arrow.png) no-repeat center top 19px;
}
#sec04 #step > dl:nth-child(4) dt {
	background:url(../img/sec04_step_num4.png) no-repeat left 18px center #004fa7;
}
#sec04 #step > dl:nth-child(4) dd {
	background:#c3dbf5;
}

#sec04 #step > dl:nth-child(5) {
	padding-top:58px;
	background:url(../img/sec04_icon_arrow.png) no-repeat center top 19px;
}
#sec04 #step > dl:nth-child(5) dt {
	background:url(../img/sec04_step_num5.png) no-repeat left 18px center #e95383;
}
#sec04 #step > dl:nth-child(5) dd {
	background:#fab5cb;
}

/* footer */

#footer-bottom {
	padding: 10px 0 30px;
	border-top: solid 1px #F4F1E1;
	color: #202020;
	background: url(../img/footer_bottom_bg.gif) repeat top left;
}

#footer-bottom-inner {
	text-align: center;
}

#footer-bottom-inner {
	position: relative;
	margin: 0 auto;
	overflow: hidden;
}

#footer-bottom ul {
	list-style: none;
	margin: 0 auto 6px auto;
	padding: 0;
	line-height: 1;
	text-align: center;
	overflow: hidden;
	width: 840px;
}

#footer-bottom ul li {
	display: inline;
	padding: 4px 0 4px 0;
}

#footer-bottom ul li a {
	padding: 4px 12px 4px 24px;
	font-size: 13px;
	color: #333;
	text-decoration: none;
	vertical-align: middle;
}

#footer-bottom ul li a:hover {
	color: #999;
}

#footer-bottom ul li a.mark1 {
	background: url(../img/sprites.png) no-repeat left;
	background-position: -561px -447px;
}

#footer-bottom ul li a.mark2 {
	background: url(../img/sprites.png) no-repeat left;
	background-position: -562px -399px;
}

#footer-bottom ul li a.mark3 {
	background: url(../img/sprites.png) no-repeat left;
	background-position: -562px -351px;
}

#footer-bottom ul li a.mark4 {
	background: url(../img/sprites.png) no-repeat left;
	background-position: -561px -299px;
}

#footer-bottom ul li a.mark5 {
	background: url(../img/sprites.png) no-repeat left;
	background-position: -562px -245px;
}

#footer-bottom #credit {
	text-align: center;
	font-size: 10px;
}

#footer-bottom #credit img {
	vertical-align: middle;
	margin-top: -1px;
	margin-right: 6px;
}

/* PAGETOP */

#pageTop a {
	display: block;
	z-index: 999;
	text-decoration: none;
	position: fixed;
	bottom: 138px;
	right: 2%;
	width: 72px;
}

#pageTop a img {
	width: 72px;
}

/* Arrows */

.arrows .slick-prev, .arrows .slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	bottom: 0 !important;
	top: initial !important;
	display: block;
	width: 15%;
	height: 30%;
	padding: 0;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
}

.slider-wrap2 .arrows .slick-prev, .slider-wrap2 .arrows .slick-next {
	top: 58% !important;
	bottom: auto !important;
}

.arrows .slick-prev:before, .arrows .slick-next:before {
	line-height: 1;
	opacity: .75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.arrows .slick-prev {
	left: 3%;
}

.arrows .slick-next {
	right: 3%;
}

.arrows .slick-next::before {
	content: " ";
	background: url(../img/arrow_right.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	vertical-align: middle;
	height: 100%;
	width: 40%;
	display: inline-block;
}

.arrows .slick-prev::before {
	content: " ";
	background: url(../img/arrow_left.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	vertical-align: middle;
	height: 100%;
	width: 40%;
	display: inline-block;
}

.slider-wrap, .slider-wrap2 {
	position: relative;
}

.slider-wrap .slick-dots li button::before, .slider-wrap2 .slick-dots li button::before {
	font-size: 16px;
}

.slider-wrap .slick-dots li, .slider-wrap2 .slick-dots li {
	margin: 0 2%
}

.slider-wrap .slick-dots {
	bottom: 0;
}

.slider-wrap2 .slick-dots {
	bottom: 0;
}

.slider-wrap .slick-dotted.slick-slider {
	margin-bottom: 0;
	padding-bottom: 6%;
}

.slider-wrap2 .slick-dotted.slick-slider {
	margin-bottom: 0;
	padding-bottom: 6%;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	.slider-wrap .slick-dotted.slick-slider {
		margin-bottom: 0;
		padding-bottom: 12%;
	}
	.slider-wrap2 .slick-dotted.slick-slider {
		margin-bottom: 0;
		padding-bottom: 6%;
	}
}

.slider-wrap .slick-dots li button::before, .slider-wrap2 .slick-dots li button::before {
	color: #aaaaaa;
}

.slider-wrap .slick-dots li.slick-active button::before, .slider-wrap2 .slick-dots li.slick-active button::before {
	color: #ffa200;
}

/*================================
	ruby
=================================*/

ruby {
	white-space: nowrap;
	vertical-align: text-top;
	display: inline-table;
}

rb {
	line-height: 1em;
	text-align: center;
	display: table-row;
}

rp {
	display: none;
}

rt {
	font-size: 30%;
	line-height: 1.5;
	text-decoration: none;
	text-align: center;
	display: table-header-group;
	font-weight: normal;
}

h1 ruby {
	vertical-align: 0.9em;
}

.fvbtm ruby {
	vertical-align: 0.9em;
}

.fvbtm dd ruby {
	vertical-align: 1em;
}

.fvbtm dd ruby rt {
	font-size: 10px
}

#sec01 h3.voice ruby {
	vertical-align: 1em;
}

#sec01 h3.voice ruby rt {
	font-size: 12px;
}

#sec01 .fukidashi ruby {
	vertical-align: 1.1em;
}

#sec01 .fukidashi rt {
	font-size: 8px;
}

#sec01 h3.table ruby rt {
	font-size: 10px;
}

#sec01 h3.table ruby {
	vertical-align: 1em;
}

#sec01 table tbody th ruby rt {
	font-size: 10px;
}

#sec01 table tbody th ruby {
	vertical-align: 1em;
}

#sec01 table thead th ruby rt {
	font-size: 8px;
}

#sec01 table thead th ruby {
	vertical-align: 1em;
}

#sec01 table tbody tr td span.txt ruby {
	vertical-align: 1em;
}

#sec01 table tbody tr td span.txt ruby rt {
	font-size: 10px;
}

#sec01 .fukidasi_top ruby rt {
	font-size: 12px;
}

#sec01 .fukidasi_top ruby {
	vertical-align: 1em;
}

.cvarea h3 ruby rt {
	font-size: 12px;
}

.cvarea h3 ruby {
	vertical-align: 1em;
}

.cvarea .block .form dt ruby rt {
	font-size: 8px;
}

.cvarea .block .form dt ruby {
	vertical-align: 1em;
}

.cvarea .block .form dl.test dd a ruby rt {
	font-size: 10px;
}

.cvarea .block .form dl.test dd a ruby {
	vertical-align: 1em;
}

.cvarea .block .form dl.cv dd a ruby rt {
	font-size: 10px;
}

.cvarea .block .form dl.cv dd a ruby {
	vertical-align: 1em;
}

.contact .block p.txt ruby rt {
	font-size: 8px;
}

.contact .block p.txt ruby {
	vertical-align: 1em;
}

.contact .block .line a span.place ruby rt {
	font-size: 10px;
}

.contact .block .line a span.place ruby {
	vertical-align: 1em;
}

#sec02 h3 ruby rt {
	font-size: 12px;
}

#sec02 h3 ruby {
	vertical-align: 1em;
}

#sec02 .listbox dl dt ruby rt {
	font-size: 10px;
}

#sec02 .listbox dl dt ruby {
	vertical-align: 1em;
}

#sec02 .listbox dl dd.txt ruby rt {
	font-size: 10px;
}

#sec02 .listbox dl dd.txt ruby {
	vertical-align: 1em;
}

#sec02 .listbox dl dd.anno ruby {
	vertical-align: 1em;
}

#sec02 .listbox dl dd.anno ruby rt {
	font-size: 8px;
}

#teacher>ul li dl dd.txt ruby rt {
	font-size: 8px;
}

#teacher>ul li dl dd.txt ruby {
	vertical-align: 1em;
}

#teacher>ul li dl dd.point ruby rt {
	font-size: 8px;
}

#teacher>ul li dl dd.point ruby {
	vertical-align: 1em;
}

#teacher>ul li dl dt span ruby rt {
	font-size: 10px;
}

#teacher>ul li dl dt span ruby {
	vertical-align: 1em;
}

#sec03 h3 ruby rt {
	font-size: 39%;
}

#sec03 h3 ruby {
	vertical-align: 1em;
}

#sec03 ul.block dl dt span.catch ruby rt {
	font-size: 49%;
}

#sec03 ul.block dl dt span.catch ruby {
	vertical-align: 1em;
}

#sec03 ul.block dl dd ul li ruby rt {
	font-size: 49%;
}

#sec03 ul.block dl dd ul li ruby {
	vertical-align: 1em;
}

#sec03 ul.block dl dd.txt ruby rt {
	font-size: 60%;
}

#sec03 ul.block dl dd.txt ruby {
	vertical-align: 1em;
}

#price p.sub ruby rt {
	font-size: 49%;
}

#price p.sub ruby {
	vertical-align: 1em;
}

#price ul.col2 li dl dt ruby rt {
	font-size: 49%;
}

#price ul.col2 li dl dt ruby {
	vertical-align: 1em;
}

#price ul.col2 li dl dd ruby rt {
	font-size: 49%;
}

#price ul.col2 li dl dd ruby {
	vertical-align: 1em;
}

#price ul.col2 li:first-child .anno ruby rt {
	font-size: 49%;
}

#price ul.col2 li:first-child .anno ruby {
	vertical-align: 1em;
}

#price-list table thead th ruby rt {
	font-size: 49%;
}

#price-list table thead th ruby {
	vertical-align: 1em;
}

#price-list table tbody td ruby rt {
	font-size: 49%;
}

#price-list table tbody td ruby {
	vertical-align: 1em;
}

#price-list p.anno ruby rt {
	font-size: 60%;
}

#price-list p.anno ruby {
	vertical-align: 1em;
}

#course .listbox>li .acc dl.ttl dt ruby rt {
	font-size: 49%;
}

#course .listbox>li .acc dl.ttl dt ruby {
	vertical-align: 1em;
}

#course .listbox li .acc>dl dd ruby rt {
	font-size: 49%;
}

#course .listbox li .acc>dl dd ruby {
	vertical-align: 1em;
}

#course .listbox .acc-inner table th ruby rt {
	font-size: 49%;
}

#course .listbox .acc-inner table th ruby {
	vertical-align: 1em;
}

#course .listbox .acc-inner table td ruby rt {
	font-size: 49%;
}

#course .listbox .acc-inner table td ruby {
	vertical-align: 1em;
}

#course p.other ruby rt {
	font-size: 49%;
}

#course p.other ruby {
	vertical-align: 1em;
}

.balloon p ruby rt {
	font-size: 49%;
}

.balloon p ruby {
	vertical-align: 1em;
}

#sec04 h3 ruby rt {
	font-size: 39%;
}

#sec04 h3 ruby {
	vertical-align: 1em;
}

#sec04 #step dl dt ruby rt {
	font-size: 39%;
}

#sec04 #step dl dt ruby {
	vertical-align: 1em;
}

#sec04 #step dl dd ruby rt {
	font-size: 49%;
}

#sec04 #step dl dd ruby {
	vertical-align: 1em;
}

@media only screen and (min-width: 751px) {
	.slider-wrap2 .slick-initialized .slick-slide {
		width: 100% !important;
	}

	/* pc cvarea add20190515 */
	#footer-bottom {
		padding-bottom: 150px;
	}
	.fixblock {
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 3000;
		/* overflow: hidden; */
	}
	.fixcontact {
		box-sizing:border-box;
		background:#383838;
		padding: 30px;
	}

	.fixcontact .cv {
		display: flex;
		justify-content: center;
	}
	.fixcontact .cv a,
	.fixcontact .cv .saga_tel {
		display: block;
		position: relative;
		border-radius: 6px;
		text-align: center;
		text-decoration: none;
		color: #fff;
		font-weight: bold;
		padding: 15px 0 13px;
		box-sizing: border-box;
		box-shadow: 3px 3px 0 rgba( 0, 0, 0, 0.3);
		font-size: 20px;
	}
	.fixcontact .cv a:first-of-type {
		background: #e89223;
		width: 59%;
	}
	.fixcontact .cv a:first-of-type:after {
		position: absolute;
		content: "";
		top: 50%;
		margin-top: -9px;
		display: block;
		width: 13px;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/cvarea_cvbtn_after.png);
		right: 19px;
		height: 20px;
	}
	.fixcontact .cv a:first-of-type span {
	display: block;
	padding-top: 6px;
	}
	.fixcontact .cv .saga_tel {
		background: #85c84b;
		font-size: 26px;
		letter-spacing: 2.5px;
		width: 39%;
	}
	.fixcontact .cv .saga_tel:before {
		position: absolute;
		content: "";
		top:  40%;
		left: 19px;
		width: 30px;
		height: 10px;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/cvarea_cvbtn_after_tel.png);

		transform: rotate(-45deg);
	}
	.fixcontact .cv .saga_tel span {
		display: block;
		padding-left: 20px;
	}
}

@media only screen and (max-width: 750px) {
	.sponly {
		display: block !important;
	}
	.pconly {
		display: none !important;
	}
	.contact {
		padding: 20px;
	}
	.contact .block {
		width: 100%;
	}
	.contact img {
		width: 100%;
		height: auto;
	}
	body {
		background: none;
		font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
	}
	#wrap {
		width: 100%;
		overflow: hidden;
		min-width: 320px;
	}
	.outer {
		width: 100%;
	}
	.inner {
		width: 100%;
		padding: 0;
	}
	header .outer {
		width: 100%;
		background: none;
	}
	header .fv {
		width: 100%;
		height: auto;
		background: none;
	}
	header p#logo {
		margin: 0;
		background: #FFF;
		padding: 2% 4%;
	}
	header p#logo img {
		width: 30%;
	}
	header h1 {
		font-size: 1.3em;
		margin: 0;
		padding: 4% 4% 0;
		background: #ecf3f9;
	}

	/* 20200212 add */
    .fvtxt {
        margin-top: 10px;
        padding: 0 4%;
        font-size: 70%;
    }
	.spfv {
		background: #ecf3f9;
		margin: -3% 0 0 0;
		font-size: 0;
	}
	header .fvbtm .inner {
		padding: 0 0 2%;
	}
	header .fvbtm .inner dl.block {
		width: 100%;
		margin: 0;
		padding: 0 4%;
		box-sizing: border-box;
	}
	header .fvbtm .inner dl.block dt span.point {
		width: 33%;
		margin: 1% 2% 0 0;
		max-width: none;
	}
	header .fvbtm .inner dl.block dt span.txt {
		width: 65%;
	}
	header .fvbtm .inner dl.block dt span.point img {
		width: 100%;
	}
	header .fvbtm .inner dl.block dd {
		margin-left: 0;
		font-size: 75%;
		padding: 4% 4% 2% 11%;
	}
	header .fvbtm .inner dl.block dd::before {
		margin-top: -3%;
	}
	header .fvbtm .inner dl.block dd:nth-child(2):after {
		left: 4%;
		height: 30px;
		width: 4%;
		margin-top: -3%;
	}
	header .fvbtm .inner dl.block dd:nth-child(3):after {
		left: 3%;
		height: 30px;
		width: 5%;
		margin-top: -3%;
	}
	header .fvbtm .inner dl.block dd:nth-child(4):after {
		left: 3.5%;
		height: 30px;
		width: 4.4%;
		margin-top: -2.8%;
	}
	header .fvbtm .inner dl.block dd:nth-child(5):after {}
	#sec01 {
		padding-bottom: 8%;
	}
	#sec01 h3.voice {
		padding: 6% 0 3%;
		margin: 0 0 6%;
		font-size: 120%;
		background-size: 3%;
	}
	#sec01 h3.voice img {
		width: 10%;
		display: block;
		margin: 0 auto;
	}
	#sec01 .bgon {
		background: none;
		background-image: url(../img/sec01_sp_bgon.png);
		background-repeat: no-repeat;
		background-position: center 4%;
		background-size: contain;
	}
	#sec01 .fukidashi {
		width: 65% !important;
		margin: 0 auto;
		display: block;
		font-size: 80%;
		height: auto;
		padding: 8% 3%;
	}
	#sec01 .fukidashi.one {
		padding: 12% 3%;
	}
	#sec01 .fukidashi.two {
		padding: 9% 3%;
	}
	#sec01 .fukidashi.four {
		padding: 16% 3%;
	}
	#sec01 p.photo {
		width: 100%;
	}
	#sec01 p.photo img {
		width: 40%;
	}
	#sec01 .table-outline {
		width: 100%;
		margin-top: 6%;
		margin-bottom: 6%;
		padding: 0 4%;
		box-sizing: border-box;
	}
	#sec01 h3.table {
		font-size: 80%;
	}
	#sec01 table {
		width: 100%;
	}
	#sec01 table thead th:nth-child(1) {
		width: 26%;
	}
	#sec01 table thead th:nth-child(2) {
		width: 37%;
	}
	#sec01 table thead th:nth-child(3) {
		width: 37%;
	}
	#sec01 table tbody th span.icon {
		width: 36%;
		margin-right: 12%;
	}
	#sec01 table tbody th img {
		width: 100%;
	}
	#sec01 table tbody th {
		padding: 1% 2%;
		font-size: 70%;
	}
	#sec01 table tbody tr:nth-child(2n+1) td:nth-child(2), #sec01 table tbody tr:nth-child(2n+1) td:nth-child(3), #sec01 table tbody tr:nth-child(2n) td:nth-child(2), #sec01 table tbody tr:nth-child(2n) td:nth-child(3) {
		padding: 3% 2%;
	}
	#sec01 table tbody tr:nth-child(2n) th, #sec01 table tbody tr:nth-child(2n) td:nth-child(2) {
		vertical-align: middle;
	}
	#sec01 table tbody tr:nth-child(2n+1) th, #sec01 table tbody tr:nth-child(2n+1) td:nth-child(2) {
		vertical-align: middle;
	}
	#sec01 table tbody tr td:nth-child(2) span, #sec01 table tbody tr td:nth-child(3) span {
		padding: 4% 0;
	}
	#sec01 table thead th:nth-child(3)>span {
		font-size: 66%;
		line-height: 1.5;
		padding: 2%;
	}
	#sec01 table thead th:nth-child(3)>span br {
		display: inline;
	}
	#sec01 table thead th span {
		height: auto;
	}
	#sec01 table tbody tr td img {
		width: 18%;
	}
	#sec01 table tbody tr td span.txt {
		font-size: 66%;
		padding: 10% 0;
	}
	#sec01 table tbody tr td span.txt.human {
		font-size: 50%;
	}
	#sec01 table tbody tr td span.txt.human small {
		font-size: 74%;
	}
	#sec01 table tbody tr td span.txt.standard {
		font-size: 70%;
		padding: 18% 0
	}
	#sec01 table tbody tr td span.txt br {
		display: inline;
	}
	#sec01 table thead th:nth-child(2) {
		padding: 2%;
	}
	#sec01 table thead th:nth-child(2) span {
		line-height: 1.5;
		padding: 8% 0;
		font-size: 75%;
	}
	#sec01 table tbody tr:nth-child(5) td:nth-child(2) span {
		padding: 14% 0%;
	}
	#sec01 .fukidasi_up {
		width: 92%;
		margin: 0 4%;
	}
	#sec01 .fukidasi_top {
		padding: 3% 2% 3% 7%;
		text-align: center;
		font-size: 68%;
	}
	#sec01 .fukidasi_top br {
		display: inline;
	}
	#sec01 .fukidasi_top img {
		position: absolute;
		top: -24%;
		left: 0%;
		width: 12%;
	}
	.cvarea {
		padding: 6% 0;
	}
	.cvarea h3 {
		font-size: 100%;
		background-size: 3%;
		letter-spacing: 2px;
		padding-bottom: 3%;
	}
	.cvarea h3 img {
		width: 10%;
		margin-right: 4%;
	}
	.cvarea .block {
		padding: 0 6%;
	}
	.cvarea .block .movie {
		width: 100%;
		margin-right: 0;
		float: none;
	}
	.cvarea .block .movie p {
		margin-top: 6%;
		margin-bottom: 2%;
	}
	.cvarea .block .movie .thumb img {
		width: 100%;
		height: auto;
	}
	.youtube {
		width: 320px;
		height: 200px;
		max-width: 100%;
	}
	.cvarea .block .form {
		width: 100%;
		float: none;
		margin-top: 6%;
	}
	.cvarea .block .form dl.test dt, .cvarea .block .form dl.cv dt {
		margin-bottom: 4%;
	}
	.cvarea .block .form dl.test dt img {
		float: left;
		display: block;
		width: 4%;
		margin: 2% 0 0 0;
	}
	.cvarea .block .form dl.cv dt img {
		float: left;
		display: block;
		width: 5%;
		margin: 2% 0 0 0;
	}
	.cvarea .block .form dl.test dt span {
		display: block;
		padding-left: 7%;
	}
	.cvarea .block .form dl.cv dt span {
		display: block;
		padding-left: 7%;
	}
	.cvarea dd.appbtn {
		margin-bottom: 2%;
	}
	.cvarea dd.appbtn ul li {
		float: left;
		width: 48%;
	}
	.cvarea dd.appbtn ul li img {
		width: 100%;
	}
	.cvarea dd.appbtn ul li:first-child {
		margin-right: 2%;
		padding-right: 2%;
	}
	.cvarea .block .form dl.test.pc {
		display: none;
	}
	.cvarea .block .form dl.test.sp {
		display: block;
	}
	.cvarea .block .form dt {
		font-size: 84%;
	}
	.cvarea .block .form dl.test dd a {
		font-size: 100%;
		margin-bottom: 2%;
	}
	.cvarea .block .form dl.cv dd a {
		font-size: 59%;
		margin-bottom: 2%;
	}
	.cvarea .block .form dl.test dd.anno {
		color: #FFF;
		text-align: right;
		font-size: 64%;
		margin-bottom: 6%;
	}
	#sec02 .inner {
		background: none;
		padding-bottom: 0;
	}
	#sec02 h3 .icon {
		background-size: 15% auto;
		background-position: center top;
		padding: 13% 0 0;
	}
	#sec02 h3 {
		padding: 9% 0 4%;
		font-size: 74%;
		margin-bottom: 0;
		letter-spacing: 0;
		text-align: center;
		background-color: #FFF;
		background-size: 3% auto;
	}
	#sec02 h3.second .icon {
		background-size: 10% auto;
		background-position: center top;
		padding: 15% 0 0;
	}
	#sec02 h3.second {
		padding: 6% 0 4%;
		font-size: 107%;
		margin-bottom: 0;
		letter-spacing: 0;
		text-align: center;
		background-color: #FFF;
	}
	#sec02 .listbox {
		background: #FFF;
		width: 92%;
		margin: 7% auto 5%;
		padding: 6% 4% 8%;
	}
	#sec02 .listbox dl {
		min-height: auto;
		margin-bottom: 3%;
	}
	#sec02 .listbox dl dt, #sec02 .listbox dl dd.txt, #sec02 .listbox dl dd.anno {
		width: 100%;
		float: none;
	}
	#sec02 .listbox dl dd.image {
		position: relative;
		display: inline-block;
		width: 34%;
		vertical-align: top;
		margin-right: 1%;
	}
	#sec02 .listbox dl dd.image img {
		width: 100%;
	}
	#sec02 .listbox dl dt {
		padding-bottom: 3%;
		margin-bottom: 5%;
		font-size: 90%;
	}
	#sec02 .listbox dl dd.txt {
		font-size: 76%;
		line-height: 1.5;
		margin-bottom: 4%;
		display: inline-block;
		width: 62% !important;
	}
	#sec02 .listbox dl dd.anno {
		font-size: 68%;
		text-align: right;
		margin-top: 1%;
	}
	#teacher {
		background: #FFF;
		padding-bottom: 6%;
	}
	#teacher>ul li dl {
		box-sizing: border-box;
		width: 92%;
		margin: 6% auto 0;
		padding: 5% 10%;
	}
	#teacher>ul li dl dt {
		margin: 6% 0;
		font-size: 100%;
	}
	#teacher>ul li dl dt span {
		font-size: 110%;
		top: 0;
		margin-top: -7%;
	}
	#teacher>ul li dl dt, #teacher>ul li dl dd.txt, #teacher>ul li dl dd.point {
		width: 100%;
		float: none;
	}
	#teacher>ul li dl dd.image {
		position: relative;
		width: 70%;
		top: 0;
		left: 0;
		margin: 0 auto;
	}
	#teacher>ul li dl dd.txt {
		padding-left: 0;
		font-size: 80%;
		margin-bottom: 6%;
	}
	#teacher>ul li dl dd.point span.block {
		font-size: 84%;
		padding: 3%;
		letter-spacing: 0;
	}
	#teacher>ul li dl dd.point {
		padding-left: 0;
		margin-top: 6%;
		padding-top: 3%;
		background-size: 6% auto;
	}
	#teacher>ul li.one dl dd.point {
		background: url(../img/teacher1_arrow_sp.gif) no-repeat center top;
	}
	#teacher>ul li.two dl dd.point {
		background: url(../img/teacher2_arrow_sp.gif) no-repeat center top;
	}
	#teacher>ul li.three dl dd.point {
		background: url(../img/teacher3_arrow_sp.gif) no-repeat center top;
	}
	#sec03 h3 .icon {
		background-size: 9% auto;
		background-position: center top;
		padding: 13% 0 0;
	}
	#sec03 h3 {
		padding: 6% 0 4%;
		font-size: 110%;
		margin-bottom: 0;
		letter-spacing: 1px;
		text-align: center;
		background-color: #FFF;
		background-size: 3% auto;
	}
	#sec03 ul.block>li {
		width: 100%;
		float: none;
		padding: 6%;
	}
	#sec03 ul.block>li:first-child {
		margin-right: 0;
	}
	#sec03 ul.block {
		padding-bottom: 8%;
		box-sizing: border-box;
		width: 84%;
		margin: 6% auto 0;
	}
	#sec03 ul.block dl dt span.catch {
		font-size: 86%;
		margin-bottom: 4%;
	}
	#sec03 ul.block dl dt span.mark {
		width: 35%;
	}
	#sec03 ul.block dl dt span.lesson {
		font-size: 110%;
		padding-bottom: 3%;
		margin-bottom: 4%;
	}
	#sec03 ul.block dl dd ul.heightlist {
		margin-bottom: 8%;
		height: auto !important;
	}
	#sec03 ul.block dl dd ul li {
		font-size: 79%;
		margin-bottom: 2%;
	}
	#sec03 ul.block dl dd.txt {
		font-size: 74%;
	}
	#sec03 ul.block .heightbox {
		height: auto !important;
		margin-bottom: 6%;
	}
	#sec03 ul.block>li:last-child {
		margin-bottom: 0;
	}
	#price h3 .icon {
		background-size: 14% auto;
	}
	#price p.sub {
		font-size: 87%;
		margin: 5% 0;
	}
	#price ul.col2 li {
		width: 100%;
		float: none;
		margin: 0;
		padding: 0 4%;
		box-sizing: border-box;
	}
	#price ul.col2 li p.cat-group {
		font-size: 100%;
		letter-spacing: 2px;
		padding: 2% 0;
	}
	#price ul.col2 li dl {
		padding: 4%
	}
	#price ul.col2 li dl dt {
		font-size: 94%;
	}
	#price ul.col2 li dl dd {
		font-size: 94%;
	}
	#price ul.col2 li dl dd.oneprice-deta {
		font-size: 85%;
	}
	#price ul.col2 li dl dd.oneprice {
		margin-top: 2%;
		font-size: 64%;
	}
	#price ul.col2 li dl dd.under {
		margin-bottom: 2%;
		padding-bottom: 2%;
	}
	#price ul.col2 li dl dd.oneprice {
		margin-top: 2%;
		font-size: 76%;
	}
	#price ul.col2 li:first-child .anno {
		font-size: 64%;
		margin: 2% 0 4%;
	}
	#price ul.col2 li:last-child {
		margin-bottom: 6%;
	}
	#price-list .inner {
		padding: 2% 4%;
	}
	#price-list table.timeline {
		float: none;
		width: 100%;
		border-bottom: 0;
	}
	#price-list table.timeline thead th {
		font-size: 68%;
		padding: 3% 2%;
		letter-spacing: 4px;
	}
	#price-list table.course-price thead th {
		font-size: 68%;
		padding: 3% 0%;
		letter-spacing: 1px;
	}
	#price-list table.timeline thead th:first-child {
		width: 50%;
	}
	#price-list table.timeline thead th:last-child {
		width: 50%;
	}
	#price-list table.course-price thead th:first-child {
		width: 50%;
	}
	#price-list table.course-price thead th:last-child {
		width: 50%;
	}
	#price-list table.course-price {
		float: none;
		width: 100%;
		border-top: 0;
	}
	#price-list table.course-price td:first-child {
		border-left: 2px solid #dddddd;
	}
	#price-list table.timeline tbody td {
		padding: 2%;
		font-size: 77%;
		letter-spacing: 1px;
	}
	#price-list table.course-price tbody td {
		padding: 8% 2%;
		font-size: 100%;
		letter-spacing: 1px;
	}
	#price-list table.timeline tbody td:first-child {
		padding-left: 4%;
	}
	#price-list table th {
		height: auto;
	}
	#price-list .heighttable {
		height: auto !important;
	}
	#price-list table.course-price td small {
		font-size: 76%;
	}
	#price-list p.anno {
		font-size: 64%;
		margin: 1% 0 4%;
		float: none;
		width: 100%;
		float: none;
	}

	#course {padding-bottom:0;}
	#course .inner {padding-bottom:6%;}
	#course p.top-ttl {box-sizing:border-box;padding:6% 4% 0;right:0;}
	#course p.top-ttl img {width:50%;}
	#course .listbox {margin-top:2%;box-sizing:border-box;padding:0 4%;}
	#course .listbox > li {margin-bottom:6%;}
	#course .listbox > li:last-child {margin-bottom:6%;}
	#course .listbox li dl.ttl {padding:2% 3% 3%;}
	#course .listbox > li .acc dl.ttl dt {font-size: 64%;float: right;box-sizing: border-box;padding: 2% 0 2%;margin: 0 0 2% 0;letter-spacing: 2px;display: block;background: url(../img/acc_dtline_btm.gif) repeat-x bottom left;background-size:2% auto;width: 82%!important;}
	#course .listbox li .acc > dl dd {font-size: 80%;padding: 0;width: 82%!important;display: block;box-sizing: border-box;margin:0;float:right;}
	#course .listbox > li.type-d .acc dl.ttl dt {padding:5% 0 2%;}
	#course .listbox > li.type-d .acc.d05 dl.ttl dt {padding:11% 0 2%;}
	#course .listbox li .acc {background-size:16% auto!important;background-position:left 2.8% top 15px!important;}

	#course .listbox > li.type-d .acc dl.ttl_less {display: block;}
	#course .listbox > li.type-d .acc dl.ttl_less dt {float: none;margin-left: 18%;}
	#course .listbox > li.type-d .acc dl.ttl_less dd {float: none;margin-left: 18%;}

	#course .listbox li .acc > dl:after {background-size: contain!important;width: 9%;height: 48px;top: 8px;right: 8px!important;}
	#course .listbox .acc-inner {padding:3%;overflow:hidden;}
	#course .listbox > li .acc:last-child .acc-inner {border-radius:0 0 6px 6px;}
	#course .listbox .acc-inner table {width:100%;float:none;}
	#course .listbox .acc-inner .voice {position: relative;top: 0;left: 0;width: 100%;margin-top:3%;margin-bottom:30px;}
	#course .listbox .acc-inner table tr {padding:1% 0;}
	#course .listbox .acc-inner table td {font-size:80%;padding:3% 10px;}
	#course .listbox .acc-inner table th {font-size:14px;padding:3% 0;}
	#course p.other {font-size:70%;padding:2% 0;}

	.balloon {
		padding: 4% 11% 4% 4%
	}
	.balloon::after {
		left: 70%;
	}
	.balloon::before {
		left: 70%;
	}
	.balloon p {
		font-size: 88%
	}
	#sec04 {
		padding-bottom: 0;
	}
	#sec04 h3 .icon {
		background-size: 9% auto;
		background-position: center top;
		padding: 11% 0 0;
	}
	#sec04 h3 {
		padding: 0 0 4%;
		font-size: 120%;
		margin-bottom: 0;
		letter-spacing: 1px;
		text-align: center;
		background-color: #FFF;
		background-size: 3% auto;
	}
	#sec04 #step {
		width: 100%;
		box-sizing: border-box;
		padding: 8% 4%;
	}
	#sec04 #step dl dt {
		background-image: none !important;
		padding: 2% 0;
		font-size: 90%;
		letter-spacing: 0;
		border-radius: 4px 0 0 4px;
		width: 40%;
	}
	#sec04 #step dl dd {
		width: 60%;
		font-size: 82%;
		padding: 4%;
		border-radius: 0 4px 4px 0;
	}
	#footer-bottom {
		padding: 4% 0 28%;
		border-top: solid 1px #F4F1E1;
		color: #202020;
	}
	#footer-bottom ul {
		margin-bottom: 5%;
	}
	#footer-bottom-inner {
		position: relative;
		width: 100%;
		margin: 0 auto;
		padding: 0 1em;
		overflow: hidden;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		white-space: normal;
		text-align: center;
	}
	#footer-bottom-inner ul {
		text-align: center;
		width: 100%;
	}
	#footer-bottom-inner ul li {
		float: none;
		display: block;
	}
	#pageTop {
		margin: 0 2% 2% 0;
	}
	#pageTop a {
		width: 100%;
		text-align: right;
		min-width: 50px;
		position: relative;
		bottom: 0;
		right: 0;
	}
	#pageTop a img {
		width: 11%;
	}
	.fixblock {
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		z-index: 3000;
		overflow: hidden;
	}
	.fixcontact {
		box-sizing: border-box;
		background: #383838;
		padding: 3% 3%;
	}
	.fixcontact ul li {
		vertical-align: middle;
		display: block;
		text-align: center;
		float: left;
		margin-right: 3%;
	}
	.fixcontact ul li:last-child {
		margin-right: 0%;
	}
	.fixcontact ul li.spcontact {
		width: 14%;
		margin-right: 3%;
		position: relative;
	}
	.fixcontact ul li.spcontact img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit- transform: translateY(-50%) translateX(-50%);
	}
	.fixcontact ul li.facebook {
		margin-right: 3%;
		width: 35%;
		font-size: 86%;
		line-height: 1.2;
		background: #5c76af;
		padding: 2% 0;
		border-radius: 6px;
	}
	.fixcontact ul li.facebook span {
		font-size: 65%;
	}
	.fixcontact ul li.line {
		width: 21%;
		font-size: 59%;
		background: #71bc11;
		border-radius: 3px;
		box-sizing: border-box;
		padding: 2% 1%;
	}
	.fixcontact ul li.line span.place {
		margin-top: 4px;
	}
	.fixcontact ul li.line span.linelogo {
		padding-bottom: 1%;
	}
	.fixcontact ul li a {
		color: #FFF;
		font-weight: bold;
		text-decoration: none;
		text-align: center;
		line-height: 1;
		vertical-align: middle;
	}
	/* ruby */
	.fv rt {
		font-size: 36%;
	}
	header .fvbtm .inner dl.block dt {
		margin-bottom: 2%;
	}
	header .fvbtm .inner dl.block dt span.txt {
		font-size: 96%;
	}
	header .fvbtm .inner dl.block dt span.txt ruby {
		vertical-align: 1em;
	}
	header .fvbtm .inner dl.block dt span.txt rt {
		font-size: 58%;
	}
	h1 ruby {
		vertical-align: 0.95em;
	}
	.fvbtm dd ruby {
		vertical-align: 0.9em;
	}
	.fvbtm dd ruby rt {
		font-size: 42%;
	}
	#sec01 h3.voice ruby rt {
		font-size: 42%;
	}
	#sec01 .fukidashi ruby {
		vertical-align: 1em;
	}
	#sec01 h3.table ruby rt {
		font-size: 52%;
	}
	#sec01 table tbody th ruby rt {
		font-size: 52%;
	}
	#sec01 table tbody th ruby {
		vertical-align: 1em;
	}
	#sec01 table tbody th ruby {
		vertical-align: 1em;
	}
	#sec01 table tbody tr td span.txt ruby rt {
		font-size: 46%;
	}
	#sec01 .fukidasi_top ruby rt {
		font-size: 40%;
	}
	.cvarea .block .form dt ruby rt {
		font-size: 42%;
	}
	.cvarea .block .form dt ruby {
		vertical-align: 1em;
	}
	.cvarea .block .form dl.test dd.anno ruby rt {
		font-size: 52%;
	}
	.cvarea .block .form dl.test dd.anno ruby {
		vertical-align: 1em;
	}
	.cvarea h3 ruby rt {
		font-size: 45%;
	}
	.cvarea h3 ruby {
		vertical-align: 1em;
	}
	.cvarea .block .form dl.test dd a ruby rt {
		font-size: 45%;
	}
	.cvarea .block .form dl.cv dd a ruby rt {
		font-size: 45%;
	}
	#sec02 h3 ruby rt {
		font-size: 45%;
	}
	#sec02 h3 ruby {
		vertical-align: 1em;
	}
	#sec02 .listbox dl dt ruby rt {
		font-size: 45%;
	}
	#sec02 .listbox dl dt ruby {
		vertical-align: 1em;
	}
	#sec02 .listbox dl dd.txt ruby rt {
		font-size: 52%;
	}
	#sec02 .listbox dl dd.txt ruby {
		vertical-align: 1em;
	}
	#teacher>ul li dl dt span ruby rt {
		font-size: 40%;
	}
	#teacher>ul li dl dd.txt ruby rt {
		font-size: 52%;
	}
	#teacher>ul li dl dd.point span.block ruby rt {
		font-size: 52%;
	}
	#teacher>ul li dl dd.point span.block ruby {
		vertical-align: 1em;
	}
	.fixcontact ul li a ruby rt {
		font-size: 40%;
	}
	.fixcontact ul li a ruby {
		vertical-align: 1em;
	}

	.fixcontact .cv {
		display: flex;
		justify-content: space-between;
	}
	.fixcontact .cv a {
		display: block;
		position: relative;
		border-radius: 6px;
		background: #e89223;
		font-size: 59%;
		text-align: center;
		text-decoration: none;
		color: #fff;
		font-weight: bold;
		padding: 14px 0 16px;
		box-sizing: border-box;
		box-shadow: 3px 3px 0 rgba( 0, 0, 0, 0.3);
	}
	.fixcontact .cv a:first-of-type {
		width: 100%;
		background: #e89223;
	}
	.fixcontact .cv a:first-of-type:after {
		position: absolute;
		content: "";
		top: 50%;
		margin-top: -9px;
		display: block;
		width: 13px;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/cvarea_cvbtn_after.png);
		right: 10px;
		height: 20px;
	}

	/*.fixcontact .cv a:last-of-type {
		padding-right: 14px;
		padding-left: 14px;
		background: #85c84b;
		font-size: 83%;
	}
	.fixcontact .cv a:last-of-type:before {
		position: absolute;
		content: "";
		top: 12px;
		left: 50%;
		width: 30px;
		height: 10px;
		transform: translate(-50%,0);
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/cvarea_cvbtn_after_tel.png);
	}
	.fixcontact .cv a:last-of-type span {
		display: block;
		padding-top: 10px;
	}*/
	/* .fixcontact .cv a:after {
		position: absolute;
		content: "";
		top: 50%;
		margin-top: -9px;
		display: block;
		width: 13px;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(../img/cvarea_cvbtn_after.png);
		right: 19px;
		height: 20px;
	} */
	.fixcontact .cv a ruby {
		vertical-align: 1em;
	}

}

/* query END */

/*================================
	clearfix
=================================*/

.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	zoom: 1;
}

/*================================
	2017/11/06追記
=================================*/

.cvarea .block .form dl.test.pc dd .fz15 {
	font-size: 15px;
}

.cvarea .block .form dl.test.pc dd .fz15 {
	font-size: 15px;
}

.contact .block .line a span.t_place {
	position: relative;
	bottom: 9px;
	left: 68px;
	background: #FFF;
	padding: 3px;
}

.topm_fz {
	font-size: 67%;
}



@media screen and (max-width: 760px) {
	br.spnone {
		display: none;
	}
	header .fvbtm .inner dl.block dt span.txt {
		font-size: 4vw;
	}
}


/*言語切り替えタブ追記-----------------------------*/
.links{
    position:absolute;
    top:1px;
    right:0;
    font-size:50%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    flex-wrap:wrap;
}
.signin {
	margin-right: 20px;
}
.J_link,.E_link {
    margin-right:10px;
}
.signin a,.J_link a,.E_link a,.T_link a {
    display: block;
    position: relative;
    border: 4px solid #ecf3f9;
    border-radius: 6px;
    background: #ccc;
    font-size: 20px;
    text-align: center;
    text-decoration: none;
    color: #5176cb;
    font-weight: bold;
    padding: 2px 40px;
    box-sizing: border-box;
    box-shadow: 3px 3px 0 #004fa7;
    margin-bottom: 26px;
}
.signin a{
    border: 4px solid #004fa7;
    background: #fff;
    box-shadow: 3px 3px 0 #ccc;
}
	@media screen and (max-width: 760px) {

header .fvbtm .inner dl.block dt span.txt {
    font-size: 4vw;
}
.links{
    font-size:70%;
    top:10px;
    right:10px;
}
.signin {
	margin-right: 10px;
}
.signin a,.J_link a,.E_link a,.T_link a {
    display: block;
    position: relative;
    border: 4px solid #ecf3f9;
    border-radius: 6px;
    background: #ccc;
    font-size: 50%;
    text-align: center;
    text-decoration: none;
    color: #5176cb;
    font-weight: bold;
    padding: 2px 20px;
    box-sizing: border-box;
    box-shadow: 3px 3px 0 #004fa7;
    margin-bottom: 26px;
}
.signin a{
    border: 4px solid #004fa7;
    background: #fff;
    box-shadow: 3px 3px 0 #ccc;
}
}
/*言語切り替えタブ追記-----------------------------*/
@media screen and (min-width: 761px) {
    .sp_only {
        display:none;
    }
}

@media only screen and (max-width: 750px){
    .cvarea .block .form dl.test dt img {
        width: 5%;
    }
    .cvarea .block .form dl.cv dt img {
        width: 4%;
    }
}
.test{
    margin-top: 41px;  
}
.cvarea .block .form {
        margin-top: 33px;
}