@charset "utf-8";


/* ============================================================================================
	外部フォント
============================================================================================= */
//@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Noto+Serif+JP:wght@400;700&family=Noto+Sans+JP:wght@400;700&display=swap');
/*
font-family:'Kosugi Maru' ,sans-serif;
font-family:'Noto Serif JP' ,serif;
font-family:'Noto Sans JP' ,sans-serif;
*/

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


/* ============================================================================================
	ＣＳＳ初期化
============================================================================================= */
*,*:before,*:after {
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
	margin:0;
	padding:0;
	border:0 none;
	vertical-align:inherit;
	color:inherit;
	line-height:inherit;
	font-size:inherit;
	font-style:inherit;
	font-weight:inherit;
	text-decoration:inherit;
}

ol,ul,li {
	list-style:none;
}
img {
	max-width:100%;
}

a {
	display:inline-block;
}
.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="text"] ,textarea {
	width:100%;
	max-width:100%;
}
input[type="file"] {
	border:0 none;
}
input[type="submit"] ,
input[type="button"] {
	cursor:pointer;
}

input.readonly ,
textarea.readonly ,
select.readonly {
	color:#666;
	background:#ddd;
}


*::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;
}
.imageFlex.column {
	flex-direction:column;
	align-items:flex-start;
}
.imageFlex img {
	max-width:300px;
}
.pt1 {
	padding-top:1em;
}

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

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

.addButton {
	padding:1em 0;
	text-align:right;
}
.addButton a {
	font-size:90%;
	color:#999;
}
.addButton a:hover {
	color:#f00;
}


.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:14px;
	line-height:1.6;
	color:#333;
	font-family:'Noto Sans JP' ,sans-serif;
}


div#container{
	width:1200px;
	padding:5px 10px;
	margin:0 auto;
	box-shadow:1px 1px 4px #000 ,-1px -1px 4px #000;
}

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

#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_fdf { background-color:#fdf; }
.bg_ffc { background-color:#ffc; }
.bg_ccf { background-color:#ccf; }
.bg_ccc { background-color:#ccc; }
.bg_999 { background-color:#999; }
.bg_666 { background-color:#666; }

/*------ Font-Color ------*/
.c_fff { color:#fff; }
.c_ff0 { color:#ff0; }
.c_f00 { color:#f00; }
.c_c00 { color:#c00; }
.c_f69 { color:#f69; }
.c_fcf { color:#fcf; }
.c_ccc { color:#ccc; }
.c_99f { color:#99f; }
.c_999 { color:#999; }
.c_00f { color:#00f; }
.c_06f { color:#06f; }
.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:30px;
}

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

.noDisp {
	display:none;
}

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


.sortable-chosen {
	background:#fcc;
}

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

/*------ 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{
	padding:10px;
	color:#fff;
	background:#000;
	font-weight:bold;
	text-align:center;
}

.main-flex {
	padding:20px;
	display:flex;
	justify-content:space-between;
}


div#left_container{
	width:260px;
}

div#main_container{
	width:860px;
	padding-top:10px;
}


/*---------------------------
	_footer common
---------------------------*/
div#footer {
	margin:10px;
	padding:10px;
	border-bottom:2px dotted #CCC;
}



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

.loginFlex {
}	
.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 {
	padding-right:20px;
}
ul.menu li {
	width:calc(100% - 0.5em);
	position:relative;
	color:#fff;
	background:#333;
	border-top:1px solid #fff;
}
ul.menu li.title  {
	padding:0.5em 1em;
	border:5px double #fff;
	text-align:center;
}
ul.menu li.link {
	padding-left:0.5em;
	border-left:5px solid #999;
}
ul.menu li.link.head {
	padding:0.3em 1em;
	background:#666;
}

ul.menu li.sellink {
	padding-left:0.2em;
	color:#000;
	background:#ccc;
	font-weight:bold;
	border-left:5px solid #f00;
}

ul.menu li.home {
	background:#039;
}
ul.menu li.home a {
	font-weight:bold;
}
ul.menu li.home a:hover {
	color:#ff0;
}


ul.menu li.blank {
	background:inherit;
}


ul.menu li.child {
	margin-left:0.5em;
}
ul.menu li.child.c2 {
	width:calc(100% - 1em);
	margin-left:1em;
}

ul.menu li a {
	display:block;
	padding:0.2em 0.5em;
}
ul.menu li a:hover {
	color:#f00;
}

ul.menu li a {
	background:url(images/arrow.gif) calc(100% - 10px) 50% no-repeat;
}

ul.menu li.notes {
	padding:0.3em 0.5em;
	font-size:90%;
	line-height:1.4;
}
ul.menu li.notes a {
	display:inline;
	color:#ff0;
	background:none;
}
ul.menu li.notes a:hover {
	color:#f00;
}


ul.menu li.bg_panel ,
ul.menu li.bg_panel.link.head {
	background-color:#906;
}


ul.menu li.logout {
	height:auto;
	background-color:#990033;
	color:#FFF;
	text-align:left;
	padding-left:10px;
	margin-top:6px;
}
ul.menu li.logout a {
	line-height:2.4;
	color:#FFF;
	font-weight:bold;
}
ul.menu li.logout a:hover {
	color:#FF0;
	font-weight:bold;
}




/*---------------------------
	main container
---------------------------*/

h2 {
	padding:0.5em 1em;
	font-weight:bold;
	text-align:left;
	color:#000;
	background:#eee;
	border-left:5px solid #f00;
	border-bottom: 1px solid #666;
}

h2 span.mark {
	font-weight:normal;
	padding:0 1em;
}
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:1em;
}
ul.table li {
	padding:0.1em 1em;
}

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

.sub-title ,
ul.table li.sub {
	color:#000;
	background:#eee;
	border-left:3px solid #000;
	border-bottom: 1px solid #666;
	margin-bottom:1.5em;
}
.sub-title {
	margin-bottom:0.5em;
}


div.table {
	padding:0 2em;
}







/*---------------------------
	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 {
	width:80px;
	margin-right:15px;
	border:1px solid #ccc;
}
ul.table li table.detail_prof_table td.move {
	margin:0 auto;
	width:54px;
	padding:3px;
}





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



ul.table li table.today {
	width:auto;
	min-width:600px;
}
ul.table li table.today tr {
}
ul.table li table.today th ,
ul.table li table.today td {
	padding:1em 0.3em;
}

ul.table li table.today tr > :nth-child(3) {
	border-left:3px double #000;
}
@media screen and (max-width:639px){
	ul.table li table.today {
		width:100%;
		min-width:auto;
	}
}


span.check {
	position:relative;
	display:inline-block;
}
span.check input {
	position:absolute;
	left:0.3em;
	width:1em;
	height:1em;
	z-index:2;
}
span.check input + label {
	position:relative;
	padding:5px 0.5em 5px 1.5em;
	border-radius:0.3em;
	transition:all 0.1s ease;
	-webkit-transition:all 0.1s ease;
	cursor:pointer;
}
span.check input + label > span {
	padding-left:0.3em;
}
span.check input:checked {
	accent-color:#fff;
}
span.check input:checked + label {
	color:#fff;
	background:#06f;
}
span.check.red input:checked + label {
	background:#f06;
}

@media screen and (max-width:639px){
	span.check input {
		top:3px;
	}
}


.checkBlock {
	padding-top:2px;
}

.checkBlock span.check input + label {
	padding:1px 0.5em 0 1.5em;
}


.flex.allButtons {
	max-width:600px;
	margin:0 auto;
	padding:0.5em 0 1.5em;
}
.flex.allButtons .allButton {
	background:#eee;
	padding:0.3em 1em;
	border:1px solid #666;
	border-radius:0.5em;
	cursor:pointer;
}
.flex.allButtons .allButton:hover {
	background:#ddd;
}

.todayButton{
	color:#fff;
	background:#06f;
	padding:0.3em 1em;
	border:1px solid #666;
	border-radius:0.5em;
	cursor:pointer;
}



/*---------------------------
	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 {
	position:relative;
	border-collapse:collapse;
	border:1px solid #99f;
	font-weight:bold;
	padding:6px 0;
	background: #f8f8ff;
}

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.schedule th ,
table.list_table.schedule td {
	padding:0.2em 0.3em;
}
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 td img {
	height:30px;
}
table.list_table td img + img {
	margin-left:2px;
}
table.list_table td img.h20 {
	max-height:20px;
}
table.list_table td img.h40 {
	max-height:40px;
}

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

table.list_table tbody {
	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)
}


table.list_table td.move {
	width:54px;
	padding:3px;
}

.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 {
	padding:2px 5px;
	letter-spacing:1px;
	cursor:pointer;
	text-align:center;
	color:buttontext;
	background-color:buttonface;
	border-width:1px;
	border-style:outset;
	border-color:buttonface;
	border-image:initial;
	border-radius:3px;
}
#testSend:active {
	border-style:inset;
}







/* ============================================================================================
	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:14px;
		line-height:1.6;
	}
	div#container{
		width:480px;
		padding:5px;
	}

	h1 {
		font-size:16px;
	}

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

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


	.main-flex {
		padding:0;
	}
	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 {
		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
	============================================================================================= */
	div#left_container {
		float:none;
		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;
	}
	#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;
	}

	div#main_container {
		float:none;
	}



	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 th > div {
/*
		writing-mode:vertical-rl;
		letter-spacing:0.2em;
		text-orientation:upright;
*/
	}

	.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 {
		max-width:15em;
	}
	input[type="file"] {
		width:100%;
		font-size:100%;
	}

	.imageFlex {
		display:initial;
	}


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

	form .widthMail {
		width:100%;
	}

	input.width_l ,
	textarea.width_l ,
	select {
		max-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
============================================================================================= */
aside#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;
}
aside#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 table {
	width:100%;
}
#schedule table .flex {
	gap:0 0.2em;
}
#schedule input[type='text'] ,
#schedule select {
	width:5em;
	padding:0;
}


@media screen and (min-width:700px){
	#schedule table tr:hover > * {
		background:#fe0;
	}
}



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



/*---------------------------
	panel
---------------------------*/
body.panel {
	background:#fffcff;
}
body.panel div#container {
	box-shadow:1px 1px 4px #f9c, -1px -1px 4px #f9c;
}
body.panel h1 {
	background:#f09;
}

body.panel ul.menu li {
	background:#f6c;
}
body.panel ul.menu li.sellink {
	background:#fcf;
}
body.panel ul.menu li.panel.title {
	background:#000;
}
body.panel ul.menu li.home {
	background:#c00;
}
body.panel ul.menu li.blank {
	background:transparent;
}

body.panel ul.menu li.link a:hover {
	color:#00f;
}


.panelTable {
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
	text-align:center;
}
.panelTable > .panelCell {
	width:100%;
	height:100%;
	border:1px solid #333;
	padding:3px;
}
.panelTable.col5 > .panelCell {
	width:calc(100% / 5);
}

.panelTable.all > .panelCell {
	width:calc(100% / 10);
}
.panelTable.all > .panelCell span ,
.panelTable.all > .panelCell select {
	display:none;
}

.panelTable span {
	display:block;
	font-size:80%;
	padding-top:0.5em;
}
.panelTable select {
	padding:2px;
}

.panelCell.sortable-chosen {
	background:transparent;
	box-shadow:0 0 0 5px #f06 inset;
}



.googleLink {
	display:inline-block;
	padding:0 0.5em;
	color:#00f;
	background:#ccf;
	border-radius:0.3em;
}
.googleLink:hover {
	color:#f00;
	background:#fcc;
}




/* ============================================================================================
	login form
============================================================================================= */
div#login_container {
	width:100%;
}

.loginResult {
	margin:1em auto;
	text-align:center;
}

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

.notice {
	padding:0.5em 0;
	color:#333;
	background:#eee;
	text-align:center;
}
@media screen and (min-width:800px){
	.loginFlex {
		font-size:120%;
	}
}
@media screen and (max-width:799px){
	.loginResult {
		font-size:100%;
	}
	.loginFlex dt {
		width:30%;
	}
	.notice {
		font-size:80%;
	}
}


.updateTime {
	padding-right:1em;
	padding-bottom:0.3em;
	text-align:right;
	color:#999;
	font-size:80%;
}

.pageLinks {
	font-size:110%;
}
.pageLinks a {
	font-size:120%;
	display:inline-block;
}
.pageLinks a.active {
	font-size:150%;
	color:#f00;
}




/*---------------------------
	price tabel
---------------------------*/
#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;
	}
}

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




/* ==============================================
	panel
=============================================== */
div#panelData table {
	width:auto;
	margin:auto;
	box-sizing:border-box;
}
div#panelData table th {
	background-color:#ffe;
}
div#panelData table td {
	width:auto;
	padding:0;
	height:48px;
	overflow:hidden;
}
div#panelData table td div {
	width:80px;
	height:64px;
	border:3px none;
}
div#panelData table td div span {
	display:block;
	font-size:13px;
	height:32px;
	line-height:16px;
	overflow:hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
}
div#panelData select {
	padding:0 3px;
	font-size:11px;
}

div#panelData table#panel0 td {
	width:calc(100% / 6);
}
div#panelData table#panel0 td div ,
div#panelData table#panel1 td div {
	width:110px;
	text-align:center;
}

div#panelData #panelPrice {
	padding-bottom:1em;
}
div#panelData #panelPrice select {
	font-size:16px;
}

.redips-drag select.selectCast {
	width:90px;
}


.redips-nodrag {
	background:#eee;
}

.datePicker {
	position:relative;
}
.datePicker > input {
	width:14em;
}
.datePicker:after {
	content:"";
	position:absolute;
	top:50%;
	right:0.5em;
	display:block;
	width:1.6em;
	aspect-ratio:1/1;
	background:url(images/icon_calendar.png) 50% 50% no-repeat;
	background-size:100%;
	transform:translateY(-50%);
	opacity:0.6;
}

[data-handler="today"]{
	display:none;
}

table.list_table td.casticon img {
	max-height:24px;
}
table.list_table td.casticon .new img {
	max-height:20px;
}

.prof-image.NG > * {
	background:#cfc;
}




.noimages {
	display:flex;
	flex-wrap:wrap;
}
.noimages > * + * {
	padding-left:1em;
}
.noimage .radio-button {
	display:flex;
	align-items:center;
}
.radio-button {
	position:relative;
}
.radio-button input {
	position:absolute;
	top:3em;
	left:0.5em;
	margin-top:0.5em;
	width:1em;
	aspect-ratio:1/1;
}
.radio-button label {
	padding:0.5em 0.8em 0 1.8em;
	border:1px solid #ccc;
	border-radius:0.5em;
	display:flex;
	justify-content:center;
	flex-direction:column;
	text-align:center;
	cursor:pointer;
}
.radio-button label img {
	margin:0 auto !important;
	width:5em !important;
}
.radio-button label span {
	padding:0;
	font-size:80%;
}

.radio-button input:checked + label {
	border-color:#06f;
	background:#ccf;
}

