@charset "utf-8";


/* ============================================================================================
	外部フォント
============================================================================================= */
@import url("https://use.typekit.net/kjq3nfu.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@500;600;700&display=swap');

@font-face {
	font-family:'CGothic';
	src:url('../images/fonts/CGothic.ttf') format('truetype');
}
@font-face {
	font-family:'CSerif';
	src:url('../images/fonts/CSerif.ttf') format('truetype');
}

/*　右三角　\025b6　&#9654;　*/

/* ============================================================================================
	配色
	var(--xxx)で使用する
============================================================================================= */
:root {
	--body-bg:#f8fffc;
	--nav-bg:#f0f8f4;
	--h1-bg:#090;
	--h2-bg:#cfc;
	--arrow-nonactive:#999;
	--arrow-active:#090;
	--menu-bg-active:#cfc;
	--menu-bg-hover:#efe;
	--menu-page-div-bg:#0c6;
}

#sortable {
	background:#ffc;
}

.hide {
	background:#ddd;
}

.status-80 {
}
.status-81 {
	color:#f00;
}
.status-99 {
	color:#093;
}
/* ============================================================================================
	ＣＳＳ初期化
============================================================================================= */
*,*:before,*:after {
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
	margin:0;
	padding:0;
	border:0 none;
	color:inherit;
	line-height:inherit;
	font-size:inherit;
	font-style:inherit;
	font-weight:inherit;
	text-decoration:inherit;
}

ol,ul,li {
	display:block;
	list-style:none;
}
img {
	max-width:100%;
	vertical-align:top;
}

a {
	display:inline-block;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.linkHover a:hover {
	text-decoration:underline;
}
.anchorLink {
	cursor:pointer;
}

input ,textarea ,select{
	padding:0.5em;
	border:1px solid #999;
	border-radius:0.3em;
	font-family:'Noto Sans JP' ,sans-serif;
}
input[type="url"] ,textarea {
	width:100%;
	max-width:100%;
}
input[type="file"] {
	border:0 none;
}
input[type="submit"] ,
input[type="button"] {
	cursor:pointer;
}

*::placeholder {
	color:#ccc;
}

label.flex {
	display:flex;
	justify-content:center;
	align-items:center;
}
label > span {
	padding-left:0.2em;
}
label.w10 {
	display:inline-block;
	min-width:10%;
}
label.w20 {
	display:inline-block;
	min-width:20%;
}
label.w30 {
	display:inline-block;
	min-width:30%;
}

.imageFlex {
	display:flex;
	justify-content:flex-start;
	align-items:center;
}


.pt05 {
	padding-top:0.5em;
}
.pt1 {
	padding-top:1em;
}
.pt2 {
	padding-top:2em;
}

.pl05 {
	padding-left:0.5em;
}
.pl1 {
	padding-left:1em;
}
.pl2 {
	padding-left:2em;
}

.day_6 {
	background:#ddf;
}
.day_0 {
	background:#fdd;
}

details summary {
	cursor:pointer;
}
details summary + table {
	margin:1em auto;
}

.cke_editor_body {
	width:auto !important;
}

@media screen and (min-width:640px) { 
	.sp {
		display:none !important;
	}
}
@media screen and (max-width:639px) { 
	.pc {
		display:none !important;
	}
}


.dispMaster {
	display:none;
}
body[data-user="adminDisp"] .dispMaster {
	display:initial;
}



/* ============================================================================================
	基本設定
============================================================================================= */
body{
	font-size:15px;
	line-height:1.6;
	color:#000;
	background:var(--body-bg);
	font-family:'Noto Sans JP' ,sans-serif;
	padding-bottom:1em;
}


div#container{
	width:1200px;
	min-height:100vh;
	margin:0 auto;
	box-shadow:0 0 3px #000;
	display:flex;
	flex-direction:column;
	padding-bottom:2em;
}

.over {
	overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    -webkit-text-overflow:ellipsis;
}
.flex {
	display:flex;
	justify-content:space-around;
	align-items:center;
}
.nowrap {
	white-space:nowrap;
}
.wrap {
	white-space:initial !important;
}

#waitPanel {
	display:none;
	text-align:center;
}


/*---------------------------
	Div
---------------------------*/

/*------ Text-Align ------*/
.l { text-align:left; vertical-align:middle; }
.c { text-align:center; }
.r { text-align:right; }

/*------ BG-Color ------*/
.bg_f69 { background-color:#f69; }
.bg_fcf { background-color:#fcf; }
.bg_ffc { background-color:#ffc; }
.bg_ccf { background-color:#ccf; }
.bg_ccc { background-color:#ccc; }

.flag-none  { background-color:#fff; }
.flag-off   { background-color:#ddd; }
.flag-senko { background-color:#ffd; }
.flag-now   { background-color:#dfd; }
.flag-out   { background-color:#fdd; }

/*------ Font-Color ------*/
.c_fff { color:#fff; }
.c_ff0 { color:#ff0; }
.c_f00 { color:#f00; }
.c_f69 { color:#f69; }
.c_fcf { color:#fcf; }
.c_ccc { color:#ccc; }
.c_99f { color:#99f; }
.c_999 { color:#999; }
.c_666 { color:#666; }
.c_00f { color:#00f; }
.c_000 { color:#000; }

/*------ Font-Size ------*/
.size_ss { font-size:70%; }
.size_s  { font-size:85%; }
.size_n  { font-size:100%; }
.size_l  { font-size:120%; }
.size_ll { font-size:140%; }

/*------ Font-Weight ------*/
.bold    { font-weight:bold; }
.normal  { font-weight:normal; }

/*------ Decoration ------*/
.deco {
	padding:3px;
	border-top:3px double #FFF;
	border-bottom:3px double #FFF;
}

.icon {
	padding:0 3px;
}
.icon img {
	width:40px;
}

.prof-icons {
}
.prof-icons img {
	height:24px;
}

.noDisp {
	display:none;
}

table {
	width:95%;
	margin:0 auto;
	border-collapse:collapse;
	line-height:1.3;
	background:#fff;
}
table th ,
table td {
	padding:0.5em 1em;
	border:1px solid #666;
	vertical-align:middle;
}


.sortable-chosen {
	background:#fcc;
}

.flexCenter ,
.inlineBlock {
	display:inline-block;
}
.flexCenter > * {
	margin-right:1em;
}
.flexCenter > *:last-child {
	margin-right:0;
}

.flexCenter.castCheck {
	padding-left:0.5em;
}

.break-free {
	word-break:break-all;
}


.list_table .over {
	text-align:left;
}


.checkNotes {
	padding-top:0.5em;
	font-size:80%;
}

.panel-image {
	background:#fef;
}

.text-label {
	display:inline-block;
	padding:0.2em 0.5em;
	border:1px solid #999;
	border-radius:0.3em;
}


/*------ Size ------*/
input.width_ss ,
textarea.width_ss {
	width:4em;
}
input.width_s ,
textarea.width_s {
	width:8em;
}
input.width_m ,
textarea.width_m {
	width:12em;
}
input.width_l ,
textarea.width_l {
	width:24em;
}

textarea {
	height:10em;
}
textarea.h4 {
	height:4em;
}
textarea.h20 {
	height:20em;
}






/*---------------------------
	_header common
---------------------------*/
#h1-block {
	padding:0.5em;
	background:var(--nav-bg);
}
h1 {
	padding:0.7em 0.5em 0.5em;
	line-height:1;
	color:#fff;
	background:var(--h1-bg);
	display:flex;
	justify-content:flex-start;
	align-items:baseline;
	border-radius:0.5em;;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}
h1 > .main {
	letter-spacing:0.1em;
}
h1 > .sub {
	padding:0 0.5em;
}
h1:after {
	content:"";
	flex-grow:1;
	height:0;
	border-bottom:1px solid #fff;
}


.main-flex {
	flex-grow:1;
	height:100%;
	display:flex;
	justify-content:space-between;
}


.main-flex > #left_container {
	width:20em;
	padding-right:2em;
}
#left_inner {
	height:100%;
	background:var(--nav-bg);
}

.main-flex > #main_container {
	width:calc(100% - 20em);
	padding:1em 1.3em 1em 1em;
}


/*---------------------------
	_footer common
---------------------------*/
div#footer {
}



/*---------------------------
	login
---------------------------*/
div#login_container {
	width:100%;
	padding:1em;
}

.loginLogo {
	text-align:center;
}
.loginLogo img {
	width:20em;
	max-width:60%;
	padding-top:3em;
	filter:;
}

.loginFlex dl {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	align-items:center;
	padding-bottom:1em;
}
.loginFlex dt {
	width:45%;
	padding-top:2em;
	text-align:right;
}
.loginFlex dd {
	width:55%;
	padding-top:2em;
	text-align:left;
}



/*---------------------------
	menu list
---------------------------*/
ul.menu {
	height:100%;
	padding:0.5em 0;
}
ul.menu li {
	position:relative;
	padding-right:0.5em;
}

ul.menu li.title {
}
ul.menu li.title > div {
	padding-top:0.2em;
	color:#fff;
	background:#000;
	border-top:0.2em solid #f33;
	border-bottom:0.2em solid #f33;
	text-align:center;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}

ul.menu li.label {
	padding-top:0.7em;
	padding-right:2em;
}
ul.menu li.label > div {
	padding:0.4em 0.5em 0.2em 1em;
	color:#fff;
	background:#333;
	border-radius:0 0.5em 0.5em 0;
	font-family:'termina' ,'Noto Sans JP' ,sans-serif;
}


ul.menu li.link {
	padding:0.5em 1em 0 0.5em;
}
ul.menu li.link a {
	width:100%;
	padding:0.4em 0.5em 0.35em 0.8em;
	background:#fff;
	box-shadow:0.2em 0.25em 0 #666;
	border-radius:0.5em;
	display:flex;
	justify-content:space-between;
	align-items:center;
}

ul.menu li.link a:before {
	content:"●";
	color:var(--arrow-nonactive);
	font-size:90%;
	margin-right:0.2em;
}
ul.menu li.link a:after {
	content:"\025b6";
	margin-left:auto;
	width:1.6em;
	height:1.6em;
	padding-top:0.25em;
	line-height:1;
	font-size:80%;
	color:#fff;
	background:var(--arrow-nonactive);
	border-radius:0.3em;
	text-align:center
}


ul.menu li.link.sellink a {
	width:calc(100% + 2em);
	background:var(--menu-bg-active);
}
ul.menu li.link.sellink a:before {
	color:var(--arrow-active);
}
ul.menu li.link.sellink a:after {
	background:var(--arrow-active);
}


ul.menu li.link:not(.sellink) a:hover {
	width:calc(100% + 1.5em);
	background:var(--menu-bg-hover);
}
ul.menu li.link:not(.sellink) a:hover:before {
	color:var(--arrow-active);
}
ul.menu li.link:not(.sellink) a:hover:after {
	background:var(--arrow-active);
}


ul.menu li.link.home {
	padding:0.5em 0 0;
}
ul.menu li.link.home > div {
	padding:0.5em;
	color:#fff;
	background:var(--menu-page-div-bg);
}
ul.menu li.link.home a {
	background:var(--h1-bg);
}
ul.menu li.link.home a:before {
	color:#fff;
}
ul.menu li.link.home a:after {
	color:var(--arrow-active);
	background:#fff;
}

ul.menu li.link.home a:hover {
	color:var(--arrow-active);
}
ul.menu li.link.home a:hover:after {
	color:#fff;
}


ul.menu li.link.home > div .notes {
	padding:0.5em 0.5em 0;
	font-size:85%;
}


ul.menu li.logout {
	padding:1em 1em 0 0.5em;
}
ul.menu li.logout a {
	width:100%;
	padding:1.5em 0;
	color:#fff;
	background:#111;
	border-radius:0.3em;
	text-align:center;
}
ul.menu li.logout a:hover {
	background:#c00;
}



ul.menu li.notes {
}





/*---------------------------
	main container
---------------------------*/
h2 {
	padding:0.4em 1em;
	background:var(--h2-bg);
	box-shadow:0.2em 0.25em 0 #666;
	letter-spacing:0.1em;
	border-radius:0.5em;
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
h2:before {
	content:"\025b6";
	margin-right:0.5em;
	width:1.6em;
	height:1.6em;
	padding-top:0.25em;
	line-height:1;
	font-size:80%;
	letter-spacing:0;
	color:#fff;
	background:var(--arrow-active);
	border-radius:0.3em;
	text-align:center;
}


h3 {
	padding:0.5em 1.5em;
	margin-top:1em;
	font-weight:bold;
	background:#eef;
	border:2px dashed #00f;
	text-align:left;
}


/*---------------------------
	main container - table
---------------------------*/
ul.table {
	padding:2em 1em 1em;
}
ul.table li {
	padding:0.1em 1em;
}

ul.table li.link {
	font-weight:bold;
}

.sub-title ,
ul.table li.sub {
	padding:0.2em 1em 0.3em;
	margin-bottom:1.5em;
	background:#fff;
	border:1px solid #666;
	border-left-width:5px;
}
.sub-title {
	margin-bottom:0.5em;
}


div.table {
	padding:0 2em;
}

ul.table.data {
	padding-top:0;
}






/*---------------------------
	main container - table - detail_bloc
---------------------------*/
ul.table li table.detail_table {
	border-collapse:collapse;
	border:1px solid #666;
	padding:0;
	margin:5px auto;
}
ul.table li table.detail_table caption {
	border-collapse:collapse;
	border:1px solid #666;
	font-weight:bold;
	padding:6px 0;
	background: #ccf;
}
ul.table li table.detail_table tr {
	border-collapse:collapse;
	padding:3px 0;
	background: #ccc;
}
ul.table li table.detail_table th ,
ul.table li table.detail_table td {
	border-collapse:collapse;
	border-bottom:1px solid #666;
	width:100px;
	padding:3px;

	overflow:hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis; /* Safari */
    -o-text-overflow: ellipsis; /* Opera */

}
ul.table li table.detail_table td a {
	width:100%;
	overflow:hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis; /* Safari */
    -o-text-overflow: ellipsis; /* Opera */
}


/*---------------------------
	main container - table - detail_prof_table
---------------------------*/
.detail_prof_table th {
	text-align:right;
	white-space:nowrap;
}
.detail_prof_table td {
	text-align:left;
}

.detail_prof_table.th_wrap th {
	white-space:initial;
}

ul.table li table.detail_prof_table img ,
ul.table li table.detail_prof_table video {
	max-width:240px;
	margin-right:15px;
	border:1px solid #ccc;
}



ul.table li table.detail_prof_table .label {
	position:relative;
	display:inline-block;
	minwidth:24%;
	margin:2px 0;
}
ul.table li table.detail_prof_table .label.wAuto {
	width:auto;
}
ul.table li table.detail_prof_table .label input {
	position:relative;
	z-index:2;

	position:absolute;
	top:50%;
	left:0.5em;
	width:1em;
	height:1em;
	margin-top:-0.5em;
}
ul.table li table.detail_prof_table .label label {
	display:block;
	width:100%;
	height:100%;
	padding:0.5em 0.5em 0.5em 2em;
	border-radius:3px;
	z-index:1;
}
ul.table li table.detail_prof_table .label input:checked + label {
	background:#bdf;
}


@media screen and (max-width:639px){
	ul.table li table.detail_prof_table .label {
		width:48%;
	}
}



/*---------------------------
	main container - table - detail_image_table
---------------------------*/
table.detail_image_table tr.panel {
	background-color:#fef;
}
table.detail_image_table img {
	width:60px;
}


ul.table li table.schedule_table {
	width:auto;
}
ul.table li table.schedule_table tr {
}
ul.table li table.schedule_table th ,
ul.table li table.schedule_table td {
	background-color:#fff;
}


ul.table li table.schedule_table .day_1 ,
ul.table li table.schedule_table .day_2 ,
ul.table li table.schedule_table .day_3 ,
ul.table li table.schedule_table .day_4 ,
ul.table li table.schedule_table .day_5 {
}
ul.table li table.schedule_table .day_6 {
	background-color: #ccf;
}
ul.table li table.schedule_table .day_0 {
	background-color: #fcc;
}



/*---------------------------
	main container - image list
---------------------------*/

div.image_image{
	float:left;
	width:400px;
	min-height:200px;
	margin-left:10px;
	padding:5px;
	text-align:center;
}
div.image_image img{
	border:3px solid #999;
}
div.image_image span{
	color:#666;
}
div.image_text {
	float:left;
	margin-left:10px;
	padding:5px;
}
div.image_form {
	padding-top:10px;
	padding-bottom:10px;
	border-bottom:1px dotted #ccc;
	text-align:center;
}




/*---------------------------
	main container - table - detail_bloc
---------------------------*/
ul.table li details {
	margin-bottom:1.5em;
}
dl#past dt ,
ul.table li table.list_table caption ,
ul.table li details summary {
	border-collapse:collapse;
	border:1px solid #99f;
	font-weight:bold;
	padding:6px 0;
	background: #f8f8ff;
}
ul.table li details.memberOff summary {
	border:1px solid #999;
	background: #eee;
}

ul.table li details summary {
	text-align:left;
	padding-left:1em;
}

ul.table li details summary .count {
	padding-left:2em;
	align-self:flex-start;
}

@media screen and (max-width:639px){
	ul.table li details summary .count {
		padding-left:1em;
	}
}


table.list_table th ,
table.list_table td {
	max-width: 200px;
	padding:0.2em 0.5em;
	overflow:hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
}
table.list_table td a {
	width:100%;
	overflow:hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis; /* Safari */
    -o-text-overflow: ellipsis; /* Opera */
}

table.list_table th.w35per {
	width:35%;
}

table.list_table td img {
	max-height:40px;
}
table.list_table td img + img {
	margin-left:1px;
}
table.list_table td.h20 img {
	height:20px;
}
table.list_table td.h30 img {
	height:30px;
}
table.list_table td.h40 img {
	height:40px;
}

table thead ,
table.list_table tr.thead {
	background:#eef;
}

table.list_table tbody.sort {
	background:#ffe;
}

table.list_table tbody tr.type1 {
	background:#eef;
}

table.list_table a {
	color:#00f;
}
table.list_table a:hover {
	color:#f00;
	text-decoration:underline;
}


dl#past table.list_table a.image ,
ul.table li table.list_table a.image {
	display:block;
	width:30px;
	height:40px;
	background-position: center -20px;
	background-repeat: no-repeat;
}

ul.table li table.list_table th.panelBG ,
ul.table li table.list_table td.panelBG {
	background-color:rgba(255,204,204,0.6)
}


.move {
	width:54px !important;
	padding:3px;
}
.move img {
	max-height:40px;
	margin:auto !important;
	border:0 none !important;
}

.submit_button {
	display:none;
	text-align:center;
}
.submit_button > div.flex {
	display:flex;
	justify-content:center;
	align-items:center;
}
.submit_button > div.flex > span.bloc {
	padding:0.5em;
}

.testSend {
	display:inline-block;
	padding:2px 5px;
	letter-spacing:1px;
	cursor:pointer;
	text-align:center;
	color:#000;
	background-color:#eee;
	border-width:1px;
	border-style:outset;
	border-color:buttonface;
	border-image:initial;
	border-radius:3px;
}
.testSend:active {
	border-style:inset;
}
.testSend:hover {
	color:#fff;
	background-color:#999;
}





/* ============================================================================================
	SP
============================================================================================= */
@media screen and (min-width:640px){
	.sp {
		display:none!important;
	}
	.button:hover {
		border-style:inset;
	}

}
@media screen and (max-width:639px){
	* ,*:before ,*:after {
		max-width:100%;
	}
	.pc {
		display:none!important;
	}
	.button:active {
		border-style:inset;
	}

	body {
		font-size:15px;
	}
	div#container{
		width:480px;
		padding:5px;
	}

	h1 {
		font-size:16px;
		display:block;
	}

	.size_s {
		font-size:95%;
	}
	.size_ss {
		font-size:85%;
	}

	.loginFlex dt {
		width:35%;
	}
	.loginFlex dd {
		width:calc(100% - 35%);
	}


	.main-flex {
		padding:0;
		display:block;
	}
	ul.table {
		padding:1em 0.5em;
	}
	ul.table li {
		padding:0.3em 0.5em;
	}

	h2 span.mark {
		padding-left:0;
		padding-right:0.3em;
	}

	table {
		max-width:100%;
	}
	table th ,
	table td {
		padding:0.5em 0.3em;
	}

	table.mail_bloc ,
	table.mailer_bloc {
		font-size:90%;
	}

	table.list_table th ,
	table.list_table td {
		padding:0.2em;
	}

	.submit_button > div.flex {
		flex-direction:column;
	}


	.castCheck {
		padding-top:0.5em;
	}


	/* ============================================================================================
		side menu
	============================================================================================= */
	.main-flex > #left_container {
		margin:0 auto;
		position:fixed;
		left:-105%;
		top:0;
		bottom:100%;
		width:100%;
		height:100%;
		z-index:200;
		background:rgba(255,255,255,0.9);
		-webkit-transition: all 0.2s ease;
		transition: all 0.2s ease;
	}
	.main-flex > #left_container.on {
		left:0%;
	}

	#left_container ul.menu {
		width:400px;
		height:100%;
		padding-top:10px;
		margin:0;
		box-shadow:1px 1px 5px #666;
		overflow:auto;
		line-height:2;
	}

	#left_container div#close {
		position:absolute;
		top:5px;
		left:415px;
		width:60px;
		height:60px;
	}

	/* ============================================================================================
		menu icon
	============================================================================================= */
	.spIcon.menu {
		position:fixed;
		right:5px;
		top:5px;
		display:block;
		width:50px;
		height:50px;
		background:#296833;
		background:#333;
		border-radius:5px;
		border:1px solid #fff;
		box-shadow:1px 1px 3px #666;
		font-size:0;
	}
	.spIcon.menu > span {
		display:block;
		width:100%;
		height:100%;
		background:url(images/icon_menu.png) 50% 50% no-repeat;
		background-size:46px 46px;
		cursor:pointer;
	}

	.main-flex > #main_container {
		width:100%;
	}



	table.details {
		font-size:14px;
	}
	table.details th {
		white-space:nowrap;
	}



	.table-outer {
		position:relative;
		width:100%;
		overflow:hidden;
	}
	.table-outer th ,
	.table-outer td {
		height:4em;
	}
	.table-scroll {
		padding:10px 0;
		overflow-x:scroll;
		overflow-y:hidden;
		-webkit-overflow-scrolling:touch;
		background:#fff;
	}
	.table-scroll table tr > :nth-child(1) {
		position:sticky;
		left:0;
		min-width:100px;
		border-left:0 none;
		border-right:0 none;
		background:#ffe;
	}
	.table-scroll table tr > :nth-child(2) {
		border-left:0 none;
	}
	.table-scroll table tr > th:nth-child(1) {
		background:#eef;
	}
	.table-scroll table tr > :nth-child(1):before ,
	.table-scroll table tr > :nth-child(1):after {
		content:"";
		position:absolute;
		top:0;
		bottom:0;
		display:block;
		width:0;
		height:100%;
	}
	.table-scroll table tr > :nth-child(1):before {
		left:0;
		border-left:1px solid #666;
	}
	.table-scroll table tr > :nth-child(1):after {
		right:0;
		border-right:3px double #666;
	}

	.table-scroll + table {
		position:absolute;
		top:10px;
		bottom:10px;
		left:0;
		width:120px;
		z-index:2;
		height:calc(100% - 20px);
	}

	.table-scroll + table th ,
	.table-scroll + table td {
		height:4em;
	}

	/* ============================================================================================
		form parts
	============================================================================================= */
	table.list {
		width:100%;
	}

	.detail_prof_table th {
/*
		width:2em;
*/
		text-align:center;
	}

	.detail_prof_table td {
		line-height:2;
	}


	.list_table td ,
	.list_table td a {
		overflow:hidden;
	    white-space:nowrap;
	    text-overflow:ellipsis;
	    -webkit-text-overflow:ellipsis;
	}
	.list_table td {
		height:4em;
	}
	.list_table td a {
		padding:0 0.3em;
	}


	input[type="text"] ,
	textarea {
	}
	input[type="file"] {
		width:100%;
		font-size:100%;
	}

	.imageFlex {
		display:initial;
	}

/*------ Size ------*/
input.width_ss ,
textarea.width_ss {
	width:3em;
}
input.width_s ,
textarea.width_s {
	width:6em;
}
input.width_m ,
textarea.width_m {
	width:10em;
}
input.width_l ,
textarea.width_l {
	width:12em;
}

	/* ============================================================================================
		form parts
	============================================================================================= */
	input,textarea,select,option,textarea {
		max-width:12em;
		font-size:18px;
		line-height:1.6;
		padding:5px;
	}

	form .widthMail {
		width:100%;
	}




	/* ============================================================================================
		SP header menu
	============================================================================================= */
	body#page-login #spMenu {
		display:none;
	}

	#spMenu {
		position:fixed;
		top:5px;
		right:5px;
	}
	#spMenu-main {
		display:flex;
	}
	#spMenu-main > li {
		position:relative;
		width:60px;
		height:60px;
	}
	#spMenu-main > li {
		box-shadow:0 0 0 2px #fff;
		border-radius:5px;
	}
}


/* ============================================================================================
	fixed : scrollTop
============================================================================================= */
#scrollTop {
	position:fixed;
	bottom:15px;
	right:15px;
	display:block;
	width:50px !important;
	height:50px !important;
	background:#fff;
	border:2px solid #000;
	border-radius:50%;
	box-shadow:1px 1px 3px #666;
	cursor:pointer;
	overflow:hidden;

	display:block;
}
#scrollTop:not(.on) {
	display:none !important;
}
#scrollTopInner {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}



.th-nowrap > tbody > tr > th {
	white-space:nowrap;
}
#page-form_cate_detail .th-nowrap > tbody > tr > th {
	width:10em;
}
#checkNotes {
	padding-top:0.5em;
}
table.checkList {
	margin-left:2em;
	font-size:80%;
	width:auto;
}
.detail_prof_table table.checkList th ,
.detail_prof_table table.checkList td {
	line-height:1.6;
	padding:0.2em 0.5em;
}
table.w100 {
	width:100%;
}
table.w100 th {
	width:120px;
}


#mailSetting {
	display:inline-grid;
	min-width:90%;
	grid-template-columns:auto auto auto;
	grid-template-rows:auto;
	border-top:1px solid #666;
	border-left:1px solid #666;
	text-align:left;
}
#mailSetting > div {
	padding:0.5em;
	border-right:1px solid #666;
	border-bottom:1px solid #666;
}
#mailSetting > div.dbl {
	border-bottom:3px double #666;
}
#mailSetting .reciveHead {
	grid-column:1 / 2;
	grid-row:1 / 7;
}
#mailSetting .sendHead {
	grid-column:1 / 2;
	grid-row:7 / 10;
}

@media screen and (max-width:639px){
	#mailSetting {
		grid-template-columns:auto auto;
		grid-template-rows:auto;
		font-size:90%;
	}
	#mailSetting .reciveHead {
		grid-column:1 / 3;
		grid-row:1 / 2;
		background:#eef;
	}
	#mailSetting .sendHead {
		grid-column:1 / 3;
		grid-row:8 / 9;
		background:#eef;
	}
	#mailSetting .reciveHead:before ,
	#mailSetting .sendHead:before {
		content:"▼";
	}
}


#schedule input[type='text'] ,
#schedule select {
	width:5em;
	padding:0 0.1em;
}







/* ============================================================================================
	panel
============================================================================================= */
/*---------------------------
	panel
---------------------------*/
ul.menu li.panel {
	background:#f09;
}
ul.menu li.panel.title {
	text-align:left;
	padding-right:0.5em;
}
ul.menu li.panel a {
	color:#fff;
	font-weight:bold;
}
ul.menu li.panel a:hover {
	color:#ff0;
	font-weight:bold;
}


#priceTable {
}

#priceTable th {
	text-align:center;
}
#priceTable td input.r {
	text-align:right;
}

.delRow {
	font-size:90%;
	cursor:pointer;
}
.delRow:hover {
	font-size:90%;
	color:#f00;
}

@media screen and (max-width:639px){
	.detail_prof_table .scroll {
		width:auto;
		overflow-x:auto;
		white-space:nowrap;
	}
	#priceTable input ,
	#priceTable select {
		font-size:90%;
		width:100%;
		padding:5px 1px;
	}
	#priceTable input.width_m {
		width:7em;
	}
	#priceTable input.width_s {
		width:6em;
	}
	#priceTable input.width_ss {
		width:4em;
	}
}


#addRow {
	background:#def;
	padding:0.5em;
	cursor:pointer;
	-webkit-transition:all 0.2s ease;
	transition:all 0.2s ease;

}
@media screen and (min-width:640px){
	#addRow:hover {
		color:#f00;
		background:#fde;
	}
}
@media screen and (max-width:639px){
	#addRow:active {
		color:#f00;
		background:#fde;
	}
}

.historyRegistLink {
	margin-top:-1.6em;
	text-align:right;
}


#csvDownload {
	display:inline-block;
	cursor:pointer;
	-webkit-transition:all 0.2s ease;
	transition:all 0.2s ease;
}
#csvDownload:hover {
	color:#fff;
	text-shadow:1px 1px 0 #000;
	background:#ccc;
}


#switch:not(:checked) + .table .memberOff {
	display:none;
}

#switch:not(:checked) + .table .memberOff {
	display:none;
}
#switch:not(:checked) + .table #switchLabel > span:nth-child(2) {
	display:none;
}
#switch:checked + .table #switchLabel > span:nth-child(1) {
	display:none;
}

#switchLabel-li {
}
#switchLabel ,
button {
	display:inline-block;
	width:10em;
	padding:0.3em 0;
	text-align:center;
	background:#eee;
	border:1px solid #999;
	border-radius:0.3em;
	cursor:pointer
}


table.list_table#csvTable tbody {
	background:initial;
}
table.list_table#csvTable tfoot tr {
	background:#fef;
}

.search-flex {
	display:flex;
	justify-content:space-around;
	align-items:center;
}

@media screen and (max-width:639px){
	.search-flex {
		align-items:flex-end;
	}
}




/*---------------------------
	upload panel
---------------------------*/
#uploadPanel {
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:10;
	background:rgba(255,255,255,0.8);
	display:flex;
	justify-content:center;
	align-items:center;
}
#uploadPanel.off {
	display:none;
}
#uploadPanel > #progPanel {
	width:600px;
	text-align:center;
}
#uploadPanel > #progPanel #barFrame {
	width:80%;
	margin:0 auto;
	height:5px;
	background:#fff;
	border:1px solid #999;
}
#uploadPanel > #progPanel #barFrame > #bar {
	width:0%;
	height:100%;
	background:#666;
}




/* ============================================================================================
	content type
============================================================================================= */
table td.type {
	padding:0.3em;
}
.type > .flex {
	justify-content:flex-start;
	flex-wrap:wrap;
}
.type > .flex > .type-cell {
	position:relative;
	width:calc(100% / 3);
	padding:0.3em;
}
.type > .flex > .type-cell > input {
	position:absolute;
	left:0.8em;
	top:50%;
}

.type > .flex > .type-cell label {
	display:block;
	padding:0.3em;
	border-radius:0.3em;
}
.type > .flex > .type-cell input:checked + label {
	background:#bdf;
}

.type > .flex > .type-cell label .image {
	padding-top:0.5em;
	padding-left:1.5em;
}
.type > .flex > .type-cell label .image img {
	margin:0;
	width:200px;
	max-width:100%;
}

@media screen and (max-width:639px){
	.type > .flex > .type-cell {
		width:100%;
	}
}


hr {
	border-bottom:2px solid #ccc;
}


.move-off .move {
	display:none;
}


.status-91 {
	color:#f00;
	font-weight:bold;
}



/* ==============================================
	shop label
=============================================== */

.label .cate {
	color:#fff;
	border-radius:0.3em;
	line-height:1.5;
	padding:0 1em 0.1em;
}
.label .cate.bg-1{
	background:#f60;
}
.label .cate.bg-2{
	background:#0c6;
}
.label .cate.bg-3{
	background:#00f;
}
.label .cate.bg-4{
	background:#f06;
}




.table.data table.list_table th {
	width:35%;
}
.table.data table.list_table th ,
.table.data table.list_table td {
	white-space:initial;
}
.valign-bottom {
	vertical-align:bottom;
}




