@charset "utf-8";



*	{
	-webkit-box-sizing: border-box; 
	-moz-box-sizing: border-box;     
	box-sizing: border-box;           
	hyphens: manual;
}
*:before,
*:after {
	box-sizing: inherit;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd,
ul, ol, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;

    vertical-align:baseline;
    background:transparent;
}
body, hr,
a, img, div, p, blockquote,
strong, span, b, small, em,
dl, dt, dd,
ul, ol, li,
h1, h2, h3, h4, h5, h6, pre,
table, th, td, caption, thead, tbody, tfoot,
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, article,
.Border,
*:before,
*:after,
select,
input, textarea, button, label
	{
	border-style: solid;
	border-width: 0px;
}


article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a,b,
dl, dt, dd,
ul, ol, li,
fieldset, form, label, legend,
table, caption,
th, td,
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	position: relative;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content:'';
    content:none;
}

a {
	margin:0;
	padding:0;
	font-size:inherit;
	vertical-align:baseline;
	background:transparent;
}


ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}


mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}




input, select {
    vertical-align:middle;
}





body	{
	-webkit-text-size-adjust: 100%;
	word-break: normal;
	word-break: break-all;
	word-wrap: break-word;
}


img	{-ms-interpolation-mode: bicubic;}


iframe	{
	overflow-x:hidden;
	background-color: transparent;
	width: 100%;

	vertical-align: bottom;
}


#news iframe	{ border: 1px;}




hr	{
	border-style: solid;
	border-width: 0px;
	border-color:  rgba(255,255,255,1.0);
	height: 1px;
	margin-top: 2em;
	margin-bottom: 2em;

}

.margin1	{
	margin-top: 1em;
	margin-bottom: 1em;
}

.ErrorMessage hr	{
	border-width: 1px;
}



address	{ font-style: normal; }
address img	{ margin-bottom: 0.5rem; }






h1,h2,h3,h4,h5	{
	font-weight: normal;
	font-size: 1em;
}
h1	{
	margin-top: 0em;
	margin-bottom: 0em;
}
h2,h3	{
	margin-top: 5em;
	margin-bottom: 2em;
}
h4,h5	{
	margin-top: 3em;
	margin-bottom: 2em;
}


.Flex>ul>li>.Wrap>h2:first-child,
.Flex>ul>li>.Wrap>h3:first-child,
.Flex>ul>li>.Wrap>h4:first-child,
.Flex>ul>li>.Wrap>h5:first-child	{
	margin-top: 2em;
}

.Border>h2:first-child,
.Border>h3:first-child,
.Border>h4:first-child,
.Border>h5:first-child	{
	margin-top: 0em;
}


small,
.small,
.Small
{
	font-size: 0.8em;
	font-weight: normal;
}


.smaller
{
	font-size: smaller;
	font-weight: inherit;
}

.x_small
{
	font-size: x-small;
}

.xx_small
{
	font-size: xx-small;
}

big,
.big,
.Big,
.larger
{
	font-size: larger;
}

.large
{
	font-size: large;
}

.x_large
{
	font-size: x-large;
}

.xx_large
{
	font-size: xx-large;
}

.ModePC .xx_large
{
}

.ModeSP .xx_large
{
	font-size: x-large;
}

strong	{}
.StrongUnder	{
	border-style:solid;
	border-width:0 0 1px 0;
	border-color: #c33;
}
em	{
	font-style: normal;
	color: #c33;
}

.Bold	{
	font-weight: bold;
}

.r	{text-align:right;}
.l	{text-align:left;}
.c	{text-align:center;}
.modoru	{
	font-size: 0.8em;
	text-align: right;
	margin-top: 1rem;
	margin-bottom: 1rem;
}


.kome	{
	padding-left: calc(1.15em * 1);
	text-indent: calc(0em - (1.15em * 1));
	text-align: left;
	display: inline-block;
	vertical-align: middle;
}
.kome *:not(.kome) 	{
	padding-left: 0em;
	text-indent: -0em;
}
.kome li	{

}
.kome2	{
	padding-left: calc(1.15em * 2);
	text-indent: calc(0em - (1.15em * 2));
}
.kome3	{
	padding-left: calc(1.15em * 3);
	text-indent: calc(0em - (1.15em * 3));
}
.kome4	{
	padding-left: calc(1.15em * 4);
	text-indent: calc(0em - (1.15em * 4));
}
small.kome,
span.kome	{
	display: block;
}

.kome ul	{
	list-style: disc;
	margin-left: 1.5em;
	margin-top: 0;
	margin-bottom: 0;
}
.kome ul>li	{
	margin-top: 0;
	margin-bottom: 0;
}



.nowrap	{white-space:nowrap;}
a .nowrap	{
	background-image: none;
	padding: 0;
}


.monospace	{
	font-family: monospace;
	font-size: 101%;
}



.Indent	{
	text-align: left;
	margin-bottom: 1.5em;
}
.Indent p,
.Indent>.Wrap,
.Indent .p
{
	text-indent: calc(1.15em * 1);
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}

.Indent>.Wrap>*,
.Indent .p>*
{
	text-indent: 0;
}

.Indent p.MarginT0,
.Indent>.Wrap.MarginT0,
.Indent .p.MarginT0
{
	margin-top: 0em;
}

.Indent p.MarginB0,
.Indent>.Wrap.MarginB0,
.Indent .p.MarginB0
{
	margin-bottom: 0em;
}


sup	{
	font-weight:normal;
	line-height:1.1;
	vertical-align: super;
}
sub	{
	font-weight:normal;
	line-height:1.1;
	vertical-align: sub;
}









img	{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
video	{
	max-width: 100%;
	height: auto;
}


img[src$=".svg"] {
	max-width: 100%;
	height: auto;
}

a img	{
	vertical-align: middle;
}

img	{ letter-spacing: 0px; }
.Main img	{
	border-style: solid;
	border-width: 0px;
	border-color: rgba(255,255,255,1.0);
}




.Snap img	{
	border-width: 5px;
	box-shadow: 0px 0px 5px #ccc;
	-moz-box-shadow: 0px 0px 5px #ccc;
	-webkit-box-shadow: 0px 0px 5px #ccc;

}



.NoImg	{
	position: relative;
	display: inline-block;
	width: 100%;
	text-align: center;
	line-height: 100px;
	min-height: 100px;
	border-width: 1px;
	border-style: dashed;
	opacity: 0.6;
	background-color: rgba(255,255,255,0.8);
}
.NoImg:before	{
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url(../img/logo.png);
	background-position: center;
	background-size: 5em;
	background-repeat: no-repeat;
	opacity: 0.5;
}
.NoImg>img	{
	position: relative;
	width: 100%;
}

.NoImgLogo .Img,
.Index .LessonGallery .NoImgLogo img	{
	background-size: 50%;
	background-color: rgba(255,255,255,1.0);
	opacity: 0.5;
}




.Trimming	{
	overflow: hidden;
	position: relative;
}
.Trimming img	{
	position: absolute;
	left: 0;
	top: 0;
}

.ImgBorderNone img	{ border-width: 0px; }



.ImgFit	{
	display: inline-block;
	width: 100%;
}
.ImgFit img	{
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
}


.ImgCover	{
	display: block;
	width: 100%;
}
.ImgCover img	{
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
}







figure,
figcaption,
.pic	{
	text-align:center;
}
figcaption,
.pic	{
	font-size: 0.8em;
	font-size: 1em;
	line-height: 1.8;
	text-align: right;
	text-align: center;
	margin-top: 0.5em;
}
figure img	{ margin-bottom: 0.5rem; }









ul,ol	{
	margin-left:1.5em;
	margin-top: 1em;
	margin-bottom: 1em;
}

li	{
	margin-top: 1em;
	margin-bottom: 1em;
}

td>ul,
td>ul>li,
td.Flex>ul,
td.Flex>ul>li
	{
	margin-top: 0;
	margin-bottom: 0;
}

ul ul
{
	list-style-type: disc;
}



.ListTable ul	{
	list-style: none;
	margin-left: 0px;
	width: 100%;
}
.ListTable li	{
	display: block;
	float: left;
	padding: 0;
	width: 49.5%;	


}
.ListTable li p	{	
	text-indent: -1.5em;
	padding-left: 1.5em;
}


.ListTableFree ul	{
	list-style: none;
	margin-left: -5%;
	width: 105%;
}
.ListTableFree li	{
	display: block;
	float: left;
	padding: 0;
	margin-left: 5%;
}
.ListTableFree li p	{	
	text-indent: -1.5em;
	padding-left: 1.5em;
}



.Indent1	{
	list-style: none;
	margin-left: calc((1em* 1.15) * 1);
	text-indent: calc(0em - ((1em* 1.15) * 1));
}
.Indent2	{
	list-style: none;
	margin-left: calc((1em* 1.15) * 2);
	text-indent: calc(0em - ((1em* 1.15) * 2));
}
.Indent3	{
	list-style: none;
	margin-left: calc((1em* 1.15) * 3);
	text-indent: calc(0em - ((1em* 1.15) * 3));
}
.Indent4	{
	list-style: none;
	margin-left: calc((1em* 1.15) * 4);
	text-indent: calc(0em - ((1em* 1.15) * 4));
}
.Indent5	{
	list-style: none;
	margin-left: calc((1em* 1.15) * 5);
	text-indent: calc(0em - ((1em* 1.15) * 5));
}




.LiAnyCh	{
	list-style-type: none;
	margin-left: 0px;
}
.LiAnyCh li	{
	text-indent: -1em;
	padding-left: 1em;
}



.LiSquare	{ list-style-type: square; }





.Char	{
	list-style-type: none;
	margin-left: 2.25em;
}
ol.Char>li	{
	counter-increment: cnt;
	position: relative;
}
ol.Char>li:before	{
	display: inline-block;
	margin-left: -2.25em;
	margin-right: -1.25em;
	top: 0px;
	width: 3em;
	letter-spacing: normal;
	font-weight: inherit;
}
.CharMaru>li:before	{
	content: "(" counter(cnt) ") ";
}
.CharKaku>li:before	{
	content: "[" counter(cnt) "] ";
}

ol.Char>li ol	{
	counter-reset: cnt;
}





dt	{
	font-weight: bold;
	margin-bottom: 1em;
}
dt:not(:first-child)	{
	margin-top: 2em;
}
dd	{
	margin-left:2em;
}






table,
th,
td	{
}

table:not(:last-child)	{
	margin-bottom: 2em;
}

caption	{
	text-align:left;
	font-weight: bold;
}
caption span	{}

tr	{ }

th,
td	{
}


thead th small	{
	font-weight: normal;
}
thead.l th,
thead.l td	{
	text-align: left;
}
thead.c th,
thead.c td	{
	text-align: center;
}
thead.r th,
thead.r td	{
	text-align: right;
}


tfoot th,
tfoot td,
.Tfoot th,
.Tfoot td	{
	text-align: right;
	white-space: nowrap;
	width: auto;
}
tfoot.l th,
tfoot.l td,
tfoot th.l,
tfoot td.l	{
	text-align: left;
}
tfoot.c th,
tfoot.c td,
tfoot th.c,
tfoot td.c	{
	text-align: center;
}



table table,
table table th	{
	width: auto;
}
table table td	{ padding-left: 0px; }



.ThAuto th	{
	width: auto;
}

th table,
td table	{
	border-collapse:inherit;
	background: none;
}
td th,
td td	{
	border-width: 0;
	background: none;
}


.ie6 th,
.ie7 th,
.ie8 th,
.ie9 th	{width: 13em;}
th span	{}


thead th,
thead td,
tfoot th,
tfoot td
	{
	border-style: solid;
}




.WAuto,
.WAuto table,
.WAuto th,
.WAuto td	{
	width: auto;
	min-width: initial;
}
.WAuto,
.WAuto table	{
}
.WAuto th	{
}

.WAutoC	{
	width: auto;
	margin-left: auto;
	margin-right: auto;
}
.WAutoC,
.WAutoC table,
.WAutoC th,
.WAutoC td	{
	width: auto;
	min-width: initial;
}

.WAutoL	{
	width: auto;
	margin-left: 0;
	margin-right: auto;
}
.WAutoL,
.WAutoL table,
.WAutoL th,
.WAutoL td	{
	width: auto;
	min-width: initial;
}

.WAutoR	{
	width: auto;
	margin-left: auto;
	margin-right: 0;
}
.WAutoR,
.WAutoR table,
.WAutoR th,
.WAutoR td	{
	width: auto;
	min-width: initial;
}

.NoLine,
.NoLine table,
.NoLine th,
.NoLine td,
.NoLine thead,
.NoLine thead th,
.NoLine thead td
.NoLine tfoot,
.NoLine tfoot th,
.NoLine tfoot td
	{ border-width: 0; }
.NoLine td	{ padding-left: 0px; }

.NoBg,
.NoBg table,
.NoBg th,
.NoBg td	{
	background-image: none;
	background-color: transparent;
	background-color: rgba(255,255,255,0);
}




.TableLayout,
.TableLayout table,
.TableLayout th,
.TableLayout td,
table.TableLayout,
table.TableLayout th,
table.TableLayout td,
#Admin .TableLayout table,
#Admin .TableLayout th,
#Admin .TableLayout td
{
	padding: 0px;
	border-width: 0;
	vertical-align: top;
	background-image: none;
	background-color: rgba(255,255,255,0);
	background-color: transparent;
	width: auto;
	height: auto;
	margin-top: 0px;
	margin-bottom: 0px;
	color: inherit;
}

.TableLayout,
.TableLayout table
{
	border-collapse: collapse;
	border-spacing: 0;
	width: auto;
	overflow: auto;
	border-radius: 0;
}

.TableLayout th:not([class]),
.TableLayout td:not([class])
{
	width: auto;
	min-width: initial;
}

.TableLayout th:first-child
{
	padding-left: 0px;
}




.Header table,
.Header th,
.Header td	{
	background: none;
	border-width: 0;
	padding: 0;
	width: auto;
}


.TateThAuto th	{
	vertical-align: middle;
	width: 8em;
}
.TateThAuto th.TateThAutoTitle	{
	width: 1em;
	line-height: 1.2;
	text-align: center;
	padding: 0 1em;
}


.ThAuto th	{
	width: auto;
	min-width: initial;
	max-width: initial;
}


.ThNoWrap th	{
	width: auto;
	white-space: nowrap;
}


.Solid1px th,
.Solid1px td
	{
	border-width: 1px;
}



.TableRequired tbody th	{

}
tbody th.Required	{

}
.Required::after	{
	display: inline-block;
	width: 1em;
	font-weight: normal;
	text-align:center;
	line-height:1;
	letter-spacing: 0;
	white-space: nowrap;
	text-indent:0;
	margin-right: 0.25em;

}
tbody th.Required::after	{
	font-size: 0.8em;
}


sup.Required	{
	vertical-align: super;
}
sup.Required::after	{
	float: none;
	margin-left: 0;
}

.all_require	{
	text-align: left;
	margin-top: 1em;
	margin-bottom: 1em;
}

.SupNavi	{
	text-align: left;
}
.SupNavi:before,
.SupNavi:after	{
}
.SupNavi:before	{
}
.SupNavi:after	{
}





.zebra>tr>th,
.zebra>tr>td
	{
}
.Stripe>tbody>tr>th,
.Stripe>tbody>tr>td,
.Stripe thead th,
.Stripe thead td,
.Stripe tfoot th,
.Stripe tfoot td	{
}





.TablePrice td	{
	text-align: center;
	vertical-align: middle;
}
.PriceCell,
thead .PriceCell,
tfoot .PriceCell	{
	white-space: nowrap;
	text-align: right;
}

.TimeCell	{
	white-space: nowrap;
	text-align: center;
}

.TdUnit	{
	padding-left: 0px;
	padding-right: 0px;
}

.QuantityCell	{
	width: 5em;

}
.Print .QuantityCell	{
	width: 3em;
}


.VerticalWriting	{
	width: 2em;
	padding-left: 0px;
	padding-right: 0px;
	letter-spacing: normal;
	white-space: normal;
}
.VerticalWriting>p	{
	width: 1em;
	line-height: 1.1;
	margin: auto;
	font-weight: inherit;
	text-align: center;
}


table.Fixed	{
	table-layout: fixed;
}
table.Fixed tbody th	{
	min-width: 8em;
	max-width: 13em;
}









form *	{
	color: inherit;
	font-family: inherit;
}
select,
fieldset,
input,
textarea,
button	{
	font-size: inherit;
	letter-spacing: inherit;
	margin: 0;
}

select,
input,
textarea,
button
	{
	border-style: solid;
	border-width: 1px;
	border-radius: 0.2em;
	margin: -1px;
	vertical-align:middle;

}
form,
button	{
	padding: 0px;
}
input,
textarea,
button	{
}
input,
textarea	{
	padding: 0.25em 0.5em;
}
textarea,
button	{
	font-size:0.95em;
}



select	{ }


option	{ padding: 1px; }



input	{}

input:is([type="submit"], [type="button"], [type="reset"]){
	-webkit-appearance: none;
	background: transparent;
	cursor: pointer;
}
input[type="submit"]	{
}
input[type="button"]	{
}
input[type="file"]	{
	border-width: 0;
	padding: 0;
	background: none;
}

thead input	{
	padding: 0 0.25em;
}

.Bg input	{
	background-color: rgba(255,255,255,1.0);
}
input.Marker	{ border-width: 0; }

input.InputSearch,
input.InputReset	{
	border-width: 0;
	padding: calc(0.5em - 1px) 0em;
	line-height: 1;
	width: 6em;
	color: rgba(255,255,255,1.0);
}
input.InputSearch	{
	background-color: rgba(80,170,100,1.0);
}
input.InputReset	{
	background-color: rgba(100,100,100,1.0);
}

input	{  }



button	{
	width: 100%;
	height: 5em;
	background: transparent;
	color: inherit;
	overflow: visible;
	cursor: pointer;
}


textarea	{
}



label:not(:last-child)	{
	display: inline-block;
	margin-right: 1em;

}
th label,
th label:not(:last-child)

	{
	margin-right: 0em;
}



@media screen and (-webkit-min-device-pixel-ratio:0) {

}





.BtnBg,
th.BtnBg,
td.BtnBg,
.BtnBg th,
.BtnBg td	{
	background: none;
	text-align: center;
	border-width: 0;
	margin-top: 2.5em;
	margin-bottom: 5em;

}


.InputL,
.TextareaL,
.TextareaL1,
.TextareaL2,
.TextareaL3,
.TextareaMax	{
	width: 100%;

}
.InputLM,
.TextareaLM	{
	width: 100%;

}
.InputM,
.TextareaM,
.TextareaM2,
.TextareaM3,
.TextareaM4	{ width: 50%; }

.InputS,
.TextareaS	{ width: calc(1.15em * 12); }
.InputSM,
.TextareaSM	{ width: calc(1.15em * 8); }
.InputMin,
.TextareaMin	{ width: calc(1.15em * 6); }
.InputC2,
.TextareaC2	{ width: calc(1.15em * 2); }
.InputC3,
.TextareaC3	{ width: calc(1.15em * 3); }
.InputC4,
.TextareaC4	{ width: calc(1.15em * 4); }
.InputC5,
.TextareaC5	{ width: calc(1.15em * 5); }



.BtnBg	{}
.BtnBg input[type="button"]:not(:first-child),
.BtnBg input[type="reset"]:not(:first-child),
.BtnBg input[type="submit"]:not(:first-child),
.InputRight input[type="submit"]:not(:first-child)	{
	margin-left:1em;
}
.BtnBg input[type="button"]:not(:last-child),
.BtnBg input[type="reset"]:not(:last-child),
.BtnBg input[type="submit"]:not(:last-child),
.InputRight input[type="submit"]:not(:last-child)	{
	margin-right:1em;
}

.BtnSubmit,
.BtnBack,
.BtnOk,
.BtnDel,
.BtnUpload	{
	padding-left: 0.5em;
	padding-right: 0.5em;

}


.BtnSubmit	{
	text-align: center;
	margin-top: 1rem;
}

.BtnDel	{
	background: transparent;
	height: auto;
	padding: 0.5em 1em;
	width: auto;
}


.BtnSubmit,
.BtnSubmit input,
.BtnBack,
.BtnOk	{
	min-width: 15em;
}

.BtnUpload	{
	vertical-align: middle;
	margin-right: 0.5em;
}


input[type="radio"]:not([class]),
.BtnRadio	{
	margin-right: 0.5em;
	vertical-align: middle;
}
td.c input[type="radio"]:not([class])
	{
	margin-right: 0em;
}

input[type="checkbox"]:not([class]),
.BtnCheck	{
	margin-right: 0.5em;
	vertical-align: middle;
}
td.c input[type="checkbox"]:not([class])
	{

}


.TextareaL,
.TextareaK	{ height: 8em; }

.TextareaL1,
.TextareaM1,
.TextareaS1	{ height: 2em; }
.TextareaL2,
.TextareaM2,
.TextareaC2,
.TextareaS2	{ height: 3.5em; }
.TextareaLM,
.TextareaM3,
.TextareaL3,
.TextareaC3,
.TextareaS3	{ height: 5em; }

.TextareaMax	{ height: 15em; }

.InputC2,
.TextareaC2,
.InputC3,
.TextareaC3,
.InputC4,
.TextareaC4,
.InputC5,
.TextareaC5,
td .BtnSubmit,
td .BtnSubmit input,
td .BtnBack,
td .BtnOk
	{

}



.InputK,
.TextareaK	{ width: 14em; }


.InputRight	{ zoom: 1; }
.InputRight:after
	{
	content: ""; 
	display: block; 
	clear: both;
}
.InputRight	{
	text-align: left;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
.InputRight input	{
	float: right;
	margin-left: 10px;
}

.InputUpload	{ width: auto; }


