@charset "utf-8";
/* CSS Document */

/* ======================================================
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
------------------------------------------------------ */
*	{
	-webkit-box-sizing: border-box; /* Webkit系用 */
	-moz-box-sizing: border-box;     /* Firefox用 */
	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;
/*
    font-size:100%;
*/
    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;
}

/*
body {
    line-height:1;
}
*/
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,
dl, dt, dd,
ul, ol, li,
fieldset, form, label, legend,
table, caption,
/*tbody, tfoot, thead, tr, */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;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
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;
}
/*
table {
    border-collapse:collapse;
    border-spacing:0;
}
*/

/* change border colour to suit your needs */
/*
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin: 1rem 0;
	padding:0;
	clear: both;
}
*/
input, select {
    vertical-align:middle;
}



/* データの途中で改ページ禁止 */
th,
td,
.PageBreakNo	{
	page-break-inside: avoid;
}





/* ======================================================
	下準備
------------------------------------------------------ */
body	{
	-webkit-text-size-adjust: 100%;
	word-break: normal;
	word-break: break-all;/*欧文が改行されるようになるが、句読点の追い込みも無視される*/
	word-wrap: break-word;
}

/* <img> */
img	{-ms-interpolation-mode: bicubic;}

/* <iframe> */
iframe	{
	overflow-x:hidden;
	background-color: transparent;
	width: 100%;
/* [180309]HTML5でiframeの下に隙間ができた。vertical-alignで消す。
http://blog.doli.jp/blog/2013/post670/ */
	vertical-align: bottom;
}

/* news<iframe>　※iPadスクロールバー表示用 */
#news iframe	{ border: 1px;}



/* ------------------------------------------------------
	<hr> */
hr	{
	border-style: solid;
	border-width: 0px;
	border-color:  rgba(255,255,255,1.0);
	height: 1px;
	margin-top: 2em;
	margin-bottom: 2em;
/*
	background-image: url(../img/line_dot.png);
	background-repeat: repeat-x;
	background-position: left center;
*/
}

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

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


/* ------------------------------------------------------
	<address> */
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;
}


.Column>ul>li>.Wrap>h2:first-child,
.Column>ul>li>.Wrap>h3:first-child,
.Column>ul>li>.Wrap>h4:first-child,
.Column>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: smaller;
	font-weight: normal;
}

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

.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 li	{
	list-style : none;
	text-indent: calc(0em - (1.15em * 1));
}
.kome	{
	padding-left: calc(1.15em * 1);
	text-indent: calc(0em - (1.15em * 1));
	text-align: left;
	display: inline-block;
	vertical-align: middle;
}
.kome * 	{
	padding-left: 0em;
	text-indent: -0em;
}
.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;
}


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

/* 等幅 */
.monospace	{
	font-family: monospace;
	font-size: 101%;
}


/* 段落を付ける */
.Indent	{
	text-align: left;
}
.Indent p,
.Indent>.Wrap	{
	text-indent: calc(1.15em * 1);
/*
	margin-top: 1rem;
	margin-bottom: 1rem;
*/
}



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

/* underline */
/*
.UnderLine	{
	display: inline-block;
	position: relative;
}
.UnderLine:after	{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -2.5px;
	width: 100%;
	height: 5px;
	border-radius: 100em;
	text-indent: 0;
	padding-left: 0;
}
*//*
u,
.UnderLineDouble	{
	white-space: nowrap;
}
.u,
.UnderLineDouble	{
	display: inline-block;
	line-height: 1.5em;
	min-height: calc(1.5em + 1px);
	margin-bottom: 1em;
}
.u	{
	border-bottom-width: 1px;
}
td>div.u	{
	display: block;
}

.UnderLineDouble	{
	border-bottom-width: 3px;
	border-bottom-style: double;
}
*/





/* ======================================================
	画像
------------------------------------------------------ */
img	{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
video	{
	max-width: 100%;
	height: auto;
}

/*
[IE hack]
	http://qiita.com/ShioTsugi/items/4edf6fae3329c4904f29
	http://qiita.com/syossan27/items/75348163b457154a19a9
*/
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	{ text-align: center; }
*/
.Snap img	{
	border-width: 0.4em;
	border-radius: 0.5em;
	box-shadow: 0.4em 0.4em 0.0em rgba(29,21,21,0.2);
	-moz-box-shadow: 0.4em 0.4em 0.0em rgba(29,21,21,0.2);
	-webkit-box-shadow: 0.4em 0.4em 0.0em rgba(29,21,21,0.2);
}


/* 画像無し */
.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%;
}






/* ------------------------------------------------------
	pic */
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; }


/*
.ErrorMessage	{ text-align: left; }
*/





/* ======================================================
	<ul><ol><li> */
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.Column>ul,
td.Column>ul>li
	{
	margin-top: 0;
	margin-bottom: 0;
}


/* <ul>選択肢の頭を揃えて並べる */
.ListTable ul	{
	list-style: none;
	margin-left: 0px;
	width: 100%;
}
.ListTable li	{
	display: block;
	float: left;
	padding: 0;
	width: 49.5%;	/* 1列2個 */
/*	width: 33%;	 1列3個 */
/*	width: 24.5%;	 1列4個 */
}
.ListTable li p	{	/* 字下げ */
	text-indent: -1.5em;
	padding-left: 1.5em;
}

/* <ul>選択肢の頭を揃えて並べる・幅自由 */
.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;
}


/* ------------------------------------------------------
	<li>〓文字数indent */
.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));
}



/* ------------------------------------------------------
	<li>○数字 */
.LiAnyCh	{
	list-style-type: none;
	margin-left: 0px;
}
.LiAnyCh li	{
	text-indent: -1em;
	padding-left: 1em;
}


/* ------------------------------------------------------
	<li>■ */
.LiSquare	{ list-style-type: square; }




/* ------------------------------------------------------
	[190323]ナンバリング
	「olタグのナンバリングをカッコつきにする」
	https://qiita.com/zoker/items/dc50dc0123210373428f
*/
.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;
}




/* ======================================================
	<dl> */
dt	{
	font-weight: bold;
	margin-bottom: 1em;
}
dt:not(:first-child)	{
	margin-top: 2em;
}
dd	{
	margin-left:2em;
}





/* ======================================================
	<table>
------------------------------------------------------ */
table,
th,
td	{
}

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

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

tr	{ }

th,
td	{
/* データの途中で改ページ禁止 */
	page-break-inside: avoid;
}

/* <thead> */
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> */
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,
table table th	{
	width: auto;
}
table table td	{ padding-left: 0px; }


/* 幅自由の<th> */
.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;
}



/* 幅自由の<table> */
.WAuto,
.WAuto table,
.WAuto th,
.WAuto td	{ width: auto; }
.WAuto,
.WAuto table	{
}
.WAuto th	{
}
/* 幅自由の<table>・中揃え */
.WAutoC	{
	width: auto;
	margin-left: auto;
	margin-right: auto;
}
.WAutoC,
.WAutoC table,
.WAutoC th,
.WAutoC td	{ width: auto; }
/* 幅自由の<table>・左揃え */
.WAutoL	{
	width: auto;
	margin-left: 0;
	margin-right: auto;
}
.WAutoL,
.WAutoL table,
.WAutoL th,
.WAutoL td	{ width: auto; }
/* 幅自由の<table>・右揃え */
.WAutoR	{
	width: auto;
	margin-left: auto;
	margin-right: 0;
}
.WAutoR,
.WAutoR table,
.WAutoR th,
.WAutoR td	{ width: auto; }
/* 線を消す */
.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);
}


/* 線を入れる 
.TableLine,
.TableLine table,
.TableLine th,
.TableLine td
	{ border-width: 1px; }
.TableLine thead th,
.TableLine thead td,
.TableLine tfoot th,
.TableLine tfoot td
	{
	border-width: 2px 1px;
}
*//* 線を入れる・破線
.TableLine.BorderStyleDashed th,
.TableLine.BorderStyleDashed td
	{ border-style: solid dashed; }
 *//* 線を入れる・点線 
.TableLine.BorderStyleDotted th,
.TableLine.BorderStyleDotted td
	{ border-style: solid dotted; }

*//* 装飾は引き継ぎつつ 
.TableSimple,
.TableSimple table,
.TableSimple th,
.TableSimple td	{
}
*/
/* レイアウトとして使う */
.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;		
}


/* 等幅 
.TableNameList tbody td	{
	font-family: monospace;
	font-size: 101%;
}
*/
/* <header><table> */
.Header table,
.Header th,
.Header td	{
	background: none;
	border-width: 0;
	padding: 0;
	width: auto;
}

/* <tbody>縦複数列の<th> */
.TateThAuto th	{
	vertical-align: middle;
	width: 8em;
}
.TateThAuto th.TateThAutoTitle	{
	width: 1em;
	line-height: 1.2;
	text-align: center;
	padding: 0 1em;
}

/* <th>幅auto */
.ThAuto th	{
	width: auto;
	min-width: initial;
	max-width: initial;
}

/* <th>幅auto+自動改行禁止 */
.ThNoWrap th	{
	width: auto;
	white-space: nowrap;
}

/* <thead>1px */
.Solid1px th,
.Solid1px td
	{
	border-width: 1px;
}


/* 必須項目 */
.TableRequired tbody th	{
/*
	padding-left: calc((1.5em * 0.8) * 1.5);
*/
}
tbody th.Required	{
/*
	text-indent: calc(0em - (1.5em * 0.8));
*/
}
.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;
/*
	margin-left: 0.5em;
	margin-right: 0.5em;
	font-size: smaller;
	font-size: 0.8em;
	vertical-align: super;
*/
}
tbody th.Required::after	{
	font-size: 0.8em;
}

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

.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	{
}


/* ぴったり2段組み 
.TableColumn2L	{}
.TableColumn2L>ul	{
	margin: 0;
	list-style: none;
	width: 100%;
}
.TableColumn2L>ul>li	{
	margin: 0;
	display: block;
	vertical-align: top;
	margin: 0;
}
.TableColumn2L>ul>li:last-child table	{
	margin-left: -1px;
	width: calc(100% + 1px);
}
*//* 直前の<table>にぴったり 
.FitH	{
	margin-top: -1.5em;
	border-top-width: 0px;
}
*/

/* 価格 のセル*/
.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;
}

/* 1行の縦書き風のセル */
.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> */
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;/* <textarea>の下に出る正体不明の余白を消す */
/*
	margin: -1px;
	background-color: #3a7dda;
	color: #fff;
	border-color: #dcdddd;
	background-color: #fff;
*/
}
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[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);
}
/* IE */
input	{  }

/*
input[type="submit"]:not([class]),
input[type="reset"]:not([class]),
input[type="button"]:not([class])	{
	background-image: linear-gradient(-10deg, rgba(29,21,21,0.1), rgba(29,21,21,0.025));
	background-color: rgba(29,21,21,0.025);
	border-width: 1px;
}
input[type="submit"]:not([class]):hover,
input[type="reset"]:not([class]):hover,
input[type="button"]:not([class]):hover	{
	background-color: rgba(29,21,21,0.1);
	background-image: linear-gradient(-10deg, rgba(29,21,21,0.15), rgba(29,21,21,0.1));
	color: inherit;
}
*/

button	{
	width: 100%;
	height: 5em;
/*
	border-width: 1px;
*/
}


textarea	{
}



label:not(:last-child)	{
	display: inline-block;
	margin-right: 1em;
/*
	margin-left: 1em;
	display: block;
*/
}
th label,
th label:not(:last-child)
/*,
br+label,
br+label:not(:last-child)
*/
	{
	margin-right: 0em;
}
/*
label:first-child,
br>label:first-child	{
	margin-left: 0em;
}
label:last-child	{
	margin-right: 0em;
}
*/

/* Google */
@media screen and (-webkit-min-device-pixel-ratio:0) {
/*
	input,
	select	{ padding:2px; }
	textarea	{ 
		font-size: 1em;
		padding: 5px;
		}
*/
}

/*[200116]未決
https://coliss.com/articles/build-websites/operation/css/css-only-floating-label.html
	<label for="userName" class="placeholder userName">
		<input type="text" name="new_child_student_name" id="userName" class="InputL l" style="ime-mode: active;" placeholder="&nbsp;" />
		<span class="label">受講生名 漢字</span>
	</label>


.placeholder	{
}
// 入力済み
.placeholder input:not(:placeholder-shown) + span	{
	transform: translateY(2em) scale(0.8);
	opacity: 0;
}
// 未入力
.placeholder .label	{
	position: absolute;
	top: -0em;
	left: 0.5em;
	display: block;
	opacity: 0.8;
}
// 未入力・focus
.placeholder input:focus + span {
	transform: translateY(2em) scale(0.8);
}
*/


/* ------------------------------------------------------ */
.BtnBg,
th.BtnBg,
td.BtnBg,
.BtnBg th,
.BtnBg td	{
	background: none;
	text-align: center;
	border-width: 0;
	margin-top: 2.5em;
	margin-bottom: 5em;
/*
	padding: 1.5em 1em;
*/
}

/* 入力エリア */
.InputL,
.TextareaL,
.TextareaL1,
.TextareaL2,
.TextareaL3,
.TextareaMax	{
	width: 100%;
/*	width: auto\9;	 IE hack */
}
.InputLM,
.TextareaLM	{
	width: 100%;
/*	width: auto\9;	 IE hack */
}
.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;
/*
	border-width: 0;
*/
}

/* ボタン・リセット、確認画面へ */
.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])
	{
/*
	margin-right: 0em;
*/
}

/* <textarea> */
.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
	{
	min-width: initial;
}


/* ------------------------------------------------------
	携帯用・14文字分 */
.InputK,
.TextareaK	{ width: 14em; }

/* ------------------------------------------------------
	<Input>を横に並べる */
.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; }


