@charset "utf-8";
/*/////////////////////////////////////////////////////////////////////////
しゅくみねっと
/////////////////////////////////////////////////////////////////////////*/
* { margin:0; padding:0; box-sizing:border-box; -webkit-box-sizing:border-box;}
html, body { height:100%;}
html { font-family: "Noto Sans JP","YuGothic","SF Pro JP","SF Pro Text","SF Pro Icons","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Helvetica Neue","Helvetica","Arial",sans-serif;}
body { font-size:62.5%; line-height:1; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;}
h1, h2, h3, h4, h5, h6 { font-size:100%;}
article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary { display:block;}
audio,canvas,progress,video { display:inline-block;}
a,embed,object,button { outline:none;}
img { border:none; box-sizing:content-box; -webkit-box-sizing:content-box;}
hr { display:none;}
li { list-style:none;}
a { background-color:transparent; -webkit-text-decoration-skip:objects;}
th { font-weight:500; }
textarea { font-family: "Arial"; } /* テキストエリアだけリセット必要 */

/*＠common
/////////////////////////////////////////////////////////////////////*/
body { color:#202124; background:#fff; word-break: break-all;}
a { color:#0e79dd; transition:all 0.2s;}
a:hover { text-decoration:none;}
body.admin {
	min-width: 1280px;
}
#main { position:relative;}
#contents {
	width:90%;
	max-width:1280px!important;
	font-size:14px;
    font-weight:300;
	line-height:1.35;
	padding:40px 0;
	margin:0 auto 30%;
	min-height:70vh;
}
#contents p { line-height:1.8;}

.title1 { font-size:30px; margin-bottom:20px;}
.title2 { font-size:26px; margin-bottom:20px;}
.title3 { font-size:22px; margin-bottom:20px;}

.contents-inner {
	background: #fff;
	border-radius: 5px;
	padding: 50px 0;
}

.translucent_label {
	background-color: rgba( 255,255,255,0.7);
    border-radius: 5px;
}
/*header*/
#header { height:80px; background:#fff; position:relative;}
	#header:after { content:""; clear:both; display:block;}
	#header h1 {
		height:60px;
		position:absolute; top:50%; left:10px;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
		z-index: 100;
	}
	#header h1 img { display:block; height:100%;}
	#header .inner {
		width: 100%;
		text-align: right;
		padding:15px 15px 0 0;
	}
	#header .inner > div { display:inline-block; vertical-align:bottom; height:50px; /*padding-left:10px;*/}
	#header .inner .logo a { display:block; text-decoration:none;}
	#header .inner .logo img { display:block; height:30px;}
	#header .inner .logo span {
		display:block; font-size:12px; color:#0ea0dd;
		letter-spacing:0.02em; padding:6px 0 5px 2px;
	}
	#header .inner .logo span.mng-color {
		color:#005ca2;
	}
	#header .inner .icon,
	#header .inner .login { padding-top:25px;}
	#header .inner .icon a { display:inline-block;}
	#header .inner .icon .material-icons { color:#202124;}
	#header .inner .help-icon { position: relative; }
	#header .inner .help-detail {
		display: none;
		position: absolute;
		padding: 16px;
		-webkit-border-radius: 8px;
		-moz-border-radius: 8px;
		border-radius: 8px;
		box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.3);
		background: #fff;
		color: #202124;
		left: -170px;
    	right: -60px;
		top: 35px;
		z-index: 110;
		font-size: 12px;
	}
	#header .inner .help-detail > p { line-height: 1.3; }
	#header .inner .help-detail.left {
		left: -110px;
    	right: 0;
	}
	#header .inner .help-detail:after {
		position: absolute;
		bottom: 100%;
		left: 72%;
		width: 0;
		height: 0;
		margin-left: -10px;
		border: solid transparent;
		border-color: rgba(51, 51, 51, 0);
		border-bottom-color: #fff;
		border-width: 10px;
		pointer-events: none;
		content: " ";
	}
	#header .inner .help-detail.left:after {
		left: 90%;
		bottom: 95%;
	}
/*
	#header .inner .icon .help-icon:hover .help-detail {
		display: inline-block;
	}
*/
	#header .inner .login .btn { min-width:110px; font-size:13px; padding:5px 10px 4px; margin:0;}
	#header .inner .person { text-align:center; padding-top:0; position:relative;}
	#header .inner .person a {
		display:block; width:45px; height:45px;
		background:#005ca2; border-radius:50%;
		padding-top:2px; margin:0 auto; position:relative;
		overflow: hidden;
	}
/*	#header .inner .person .photo img {
		display: block;
		position: absolute;
		object-fit: cover;
		width: auto;
		height: auto;
		top: 50%;
		left: 50%;
		min-height: 100%;
		min-width: 100%;
		max-width: 100%;
		-ms-transform: translateX(-50%) translateY(-50%);
		-moz-transform: translateX(-50%) translateY(-50%);
		-webkit-transform: translateX(-50%) translateY(-50%);
		transform: translateX(-50%) translateY(-50%);
	}*/
	#header .inner .person .material-icons { font-size:37px; color:#fff; opacity:1;}
	#header .inner .person span { display:block; font-size:11px; margin-top:5px;}

	/*detail*/
#header .inner .admin-person-detail{
	padding: 20px;
}
#header .inner .admin-person-detail .user-photo,
#header .inner .admin-person-detail .person-btn-area{
	width: 100%!important;
}

#header .inner .admin-person-detail .user-info{
	display: inline-block;
	width: 120px!important;
}
#header .inner .admin-person-detail .photo{
	display: inline-block;
	width: 100px;
}
#header .inner .admin-person-detail .mail-info {
	width: 100%!important;
	margin: 0 auto;
}
#header .inner .admin-person-detail .info-child p{
	display: inline-block;
	width: 80px;
	vertical-align: top;
}
#header .inner .admin-person-detail .info-child p:last-child{
	display: inline-block;
	width: 150px;
	vertical-align: top;
}
#header .inner .admin-person-detail #logout {
	margin: 80px 0 0!important;
	display: block;
	float: right;
}
	#header .inner .person-detail {
		display:block; width:300px; height:auto;
		font-size:13px; text-align:left; word-break:break-all;
		background:#fff; border:1px solid #80868b;
		/*padding:15px 20px;*/
		position:absolute; top:87px; right:10px; z-index:9999;
	}
	#header .inner .person-detail:before {
		content:''; display:block; width:0; height:0;
		position:absolute; top:-14px; right:23px;
		border:8px transparent solid;
		border-bottom-color:#80868b;
		border-width:0 8px 14px 8px;
	}
	#header .inner .person-detail:after {
		content:''; display:block; width:0; height:0;
		position:absolute; top:-12px; right:23px;
		border:8px transparent solid;
		border-bottom-color:#fff;
		border-width:0 8px 14px 8px;
	}

#header .inner .person-detail .close{
	position: absolute;
	top: 10px;
	left: 10px;
	cursor: pointer;
	width: 20px;
	height: 20px;
}
.close span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	background-color: #202124;
}
.close span:nth-of-type(2) {
	-webkit-transform: translateY(9px) rotate(45deg);
	transform: translateY(9px) rotate(45deg);
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	background-color: #202124;
}
#header .inner .person-detail .photo {
	width: 90px;
	height: 90px;
	margin: 5px 10px 0 0;
}
#header .inner .person-detail .photo a {
	display:block;
	width:100%;
	height:100%;
	background:#005ca2;
	overflow:hidden;
	position:relative;
	border-radius:50%;
}
#header .inner .person a .photo-thumbnail {
	background-size: cover;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	background-position: center;
	position: absolute;
	top: 0;
}

#header .inner .person-detail a .photo-thumbnail {
	background-size: cover;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-position: center;
	position: absolute;
	top: 0;
}
	#header .inner .person-detail .photo .material-icons {
		width:100%;
		font-size:77px;
		color:#fff;
		text-align:center;
		opacity:1;
		position:absolute;
		top:0;
		left:0;
	}
/*	#header .inner .person-detail .photo img {
		display:block;
		position:absolute;
		object-fit: cover;
		width: auto;
		height: auto;
		top: 50%;
		left: 50%;
		min-height: 100%;
		min-width: 100%;
		max-width: 100%;
		-ms-transform: translateX(-50%) translateY(-50%);
		-moz-transform: translateX(-50%) translateY(-50%);
		-webkit-transform: translateX(-50%) translateY(-50%);
		transform: translateX(-50%) translateY(-50%);
	}*/

	#header .inner .person-detail .photo .flag {
		display:block; width:100%; height:30px;
		color:#fff; text-align:center; background:#202124;
		padding-top:8px;
		position:absolute; bottom:0; left:0;
	}

	#header .inner .person-detail .btn {
		color:#FFF;
		background:#f3b028;
		border-radius: 5px;
		margin-top: 15px;
		width: 120px;
		font-size: 12px;
		min-width: auto;
		padding: 10px;
	}
	#header .inner .person-detail .btn:hover {
		background:#f9d48d;
	}
	/*person追加*/
	#header .inner .person-detail .person-btn-area{
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: 90%;
		margin: 0 auto 10px;
	}
	#header .inner .person-detail .person-btn-area .btn{
		background: #005ca2;
		margin: 15px 0 10px;
	}
	#header .inner .person-detail .person-btn-area .btn:hover{
		background: #9fd6ff;
	}
	#header .inner .person-detail #logout {
		/*float: right;*/
		margin: 50px auto 20px;
		display: block;
	}
	#header .inner .person-detail .title {
		width: 100%;
		background-color: #0EA0DD;
		color: #FFFFFF;
		padding: 3px;
		text-align: center;
	}
	.user-photo{
		width: 80%;
		margin: 20px auto;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.user-photo div{
		width: 50%;
	}
	.user-photo .qr-code{

		width: 90px;
		height: 90px;
		overflow: hidden;
		background: #ebedf7;
		margin: 5px 0;

	}
	.user-photo .qr-code img{
		width: 100%;
	}
	#header .inner .person-detail .user-info {
		width: 80%;
		margin: 10px auto;
	}
	#header .inner .person-detail .user-info p {
		margin-bottom: 5px;
	}
	#header .inner .person-detail .user-info p span{
		margin-right: 10px;
		width: 5rem;
		display: inline-block;
	}
	#header .inner .person-detail p.user-name {
		margin-bottom: 20px;
	}

	#header .inner .person-detail p { line-height:1.3; padding-bottom:1px; }
	/* #header .inner .person-detail p.login_name {
		margin-bottom: 5px;
	}
	#header .inner .person-detail p.membership {}
	#header .inner .person-detail p.user-name { font-size: 1.3em; } */

	#header .inner .person-detail .member-info {
		display: inline-block;
		width: 100%;
		border-bottom: 1px solid #80868b;
	}
	#header .inner .person-detail .info-child {
		display: inline-block;
		width: 100%;
		vertical-align: top;
		padding: 10px;
		border-top: 1px solid #80868b;
		pointer-events : none;
	}
	#header .inner .person-detail .info-child p {
		line-height:1.8;
		position: relative;
	}
	#header .inner .person-detail .info-child p.link {
		cursor: pointer;
		pointer-events : auto;
	}
	#header .inner .person-detail .info-child p.link::after {
		position: absolute;
		font-family: 'Material Icons';
		content: "\e315";
		top: -15px;
		right: 0;
		font-size: 30px;
		color: #80868b;
		opacity: 0.7;
	}
	#header .inner .person-detail .info-child:hover {
		background-color:#e7f5ff;
	}



/*footer*/
#footer {
	background: #ffffff;
	color: #202124;
	position: relative;
	bottom: 0;
	width: 100%;
}
	#footer .inner {
		width: 100%;
		max-width: 800px;
		font-size: 12px;
		line-height: 1.35;
		text-align: center;
		padding: 25px 0 20px;
		margin: 0 auto;
	}
	#footer .inner a { color:#202124; text-decoration:none;}
	#footer .inner a:hover { color:#b3f2ff;}
	#footer .inner a:active { color:#69e5ff;}
	#footer .txtlink { margin-bottom:30px;}
	#footer .txtlink li { display:inline-block; vertical-align:middle;}
	#footer .txtlink li:not(:last-child):after { content:"｜"; margin:0 5px;}
	#footer .gmo { position:absolute; bottom:20px; right:30px;}
	#footer .copyright { font-size:11px; text-align: center;}

/*menu*/
#menu {
	border-top:1px solid #80868b;
	border-bottom:1px solid #80868b;
	position:relative;}
	#menu nav {
		height:90%;
		margin: 0 auto;
	}
	#menu ul li a {
		display:block; height:100%; text-decoration:none;
		font-size:16px; font-weight:500;color:#0156b1; line-height:1.35;
		background:#fff; padding:15px 0; position:relative;
	}
	#menu ul li a:hover{
		background: #e7f5ff;
	}
	/* #menu ul li a.current { background:#fff;} */

/*btn*/
.btn {
	display:inline-block; min-width:130px;
	font-weight:500; line-height:1.2;
	text-align:center; color:#fff; text-decoration:none;
	background:#005ca2; border:none; border-radius:5px;
	cursor:pointer; outline:none;
	margin:5px 3px;
	transition:all 0.2s;
	-webkit-appearance:none; -moz-appearance:none; appearance:none;
	/*width: 120px;*/
	font-size: 12px;
	padding: 10px;
	}
.btn:hover {
	background:#9fd6ff;
}

.btn.red {
	background:#f00;
	color: #fff;
}

.btn.red:hover { background:#ff9f9f;}
.action-area .btn {
	min-width: 100px!important;
}
/*icon*/
.material-icons { opacity:0.6;}
.notification {
	display:inline-block; min-width:20px; min-height:20px;
	font-size:11px; font-weight:500; color:#fff; line-height:20px;
	text-align:center; background:#f00;
	position:absolute; top:0; right:0; transition:all 0.2s;
}
.notification.large { min-width:24px; min-height:24px; line-height:24px; font-size:13px;}
.category {
	display:inline-block; min-width:80px;
	font-size:13px; text-align:center; color:#fff;
	letter-spacing:0.1em; padding:2px 10px 1px 12px;
	}
	.category.important { background:#ffa800;}
	/*.category.new { background:#00b050;}*/
	.category.new { background:#005ca2;}
/* プッシュ通知 icon*/
div.is_icon{
	margin-top:5px;
	margin-bottom:5px;
}
i.icons{
	font-size: 30px!important;
	color: #0e79dd;
}
i.icons.off{
	color: #8e8e8e;
	position: relative;
}
i.icons.off::before {
	position: absolute;
	content: "";
	display: block;
	transform: rotate(42deg);
	background-color: #8e8e8e;
	width: 100%;
	height: 2px;
	top: 50%;
	left: -2px;
	border: 1.4px solid;
	border-bottom: transparent;
	border-color: #ffffff;
}
i.icons.off.phone_type::before {
	display: none;
}

/*step*/
.step {
	display:table;; table-layout:fixed;
	text-align:center; overflow:hidden;
	width: 90%;
	margin: 30px auto 0;
}
.step li {
	display:table-cell; height:60px; font-size:13px; font-weight:500;
	; padding:0 10px; position:relative;
	z-index: 0;
	vertical-align: top;
}

.step li span{
	display: inline-block;
}
.step li span.flow-marker{
	width: 26px;
	height: 26px;
	border-radius: 30px;
	display: block;
	background: #fff;
	border: solid 2px #80868b;
	margin: 30px auto 10px;
}
.step li span.flow-marker:after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	position: absolute;
	/*top: 39%;*/
	top: 40px;
	z-index: -1;
	background: #80868b;
}
.step li.current span.flow-marker{
	background: #1856b1;
}
.step li:last-child span.flow-marker:after{
	content: none;
}
.step li span.flow-marker:before {
	content: 'STEP';
	display: block;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.step li:first-child span.flow-marker:before {
	content: 'STEP1';
}
.step li:nth-child(2) span.flow-marker:before {
	content: 'STEP2';
}
.step li:nth-child(3) span.flow-marker:before {
	content: 'STEP3';
}
.step li:nth-child(4) span.flow-marker:before {
	content: 'STEP4';
}
.step li:nth-child(5) span.flow-marker:before {
	content: 'STEP5';
}
.step li:nth-child(6) span.flow-marker:before {
	content: 'STEP6';
}

	/*.step li:before {
		content:""; display:block; width:60px; height:60px;
		border-top:1px solid #333; border-right:1px solid #333;
		position:absolute; top:0; right:-8px; z-index:20;
		transform:rotate(45deg);
		-webkit-transform:rotate(45deg);
	}
	.step li:after {
		content:''; display:block; width:0; height:0;
		position:absolute; top:50%; left:calc(100% - 10px);
		margin-top:-30px;
		border:8px transparent solid;
		border-left-color:#bfdeff;
		border-width:31px 0 31px 30px; z-index:10;
	}
	.step li > span {
		display:block; width:100%; height:100%;
		background:#bfdeff;
		position:relative;
	}
	.step li > span span {
		display:block; width:100%; padding:0 5px;
		position:absolute; top:50%; left:3px;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
	}

	.step li:last-child:before,
	.step li:last-child:after { display:none;}
	.step li.current > span { background:#fff;}
	.step li.current:after { border-left-color:#fff;}*/

/*loading*/
.loader,
.loader:after { width:60px; height:60px; border-radius:50%;}
.loader {
	border-radius:50%; margin:60px auto; position:relative;
	border:3px solid #ddd; border-left-color:#000;
	-webkit-transform:translateZ(0);
	-ms-transform:translateZ(0);
	transform:translateZ(0);
	-webkit-animation:load 1s infinite linear;
	animation:load 1s infinite linear;
}

.loader2 {
	display:inline-block; width:60px; height:60px;
	border:2px solid transparent; border-top-color:#bbb;
	border-radius:50%;
	margin:60px 12.5%; position:relative;
	-webkit-animation:load 0.75s infinite linear;
	animation:load 0.75s infinite linear;
	}
	.loader2::before,
	.loader2::after {
		position:absolute; top:-2px; left:-2px;
		content:''; width:inherit; height:inherit;
		border:inherit; border-radius:inherit;
		box-sizing:border-box;
		display:none;
	}
	.loader2::before {
		display:inline-block;
		-webkit-animation:load 1.5s infinite ease;
		animation:load 1.5s infinite ease;
	}

@-webkit-keyframes load {
	0% { -webkit-transform:rotate(0deg); transform:rotate(0deg);}
	100% { -webkit-transform:rotate(360deg); transform:rotate(360deg);}
}
@keyframes load {
	0% { -webkit-transform:rotate(0deg); transform:rotate(0deg);}
	100% { -webkit-transform:rotate(360deg); transform:rotate(360deg);}
}


/*パンくず*/
.breadcrumb-list { padding-bottom:20px;}
	.breadcrumb-list li { display:inline-block; vertical-align:middle; position:relative;}
	.breadcrumb-list li:after { content:"＞"; display:inline-block; vertical-align:middle; margin:0 6px 0 10px;}
	.breadcrumb-list li:last-child:after { display:none;}

/*ページネーション*/
.pagination { padding-bottom:20px;}
	.pagination ul { font-size:0;}
	.pagination ul li {
		display:inline-block !important;
		margin:0 1px !important;
		position:relative !important;
		padding-bottom: 0 !important;
		text-align: unset !important;
	}
	.pagination ul li a,
	.pagination ul li span {
		display:inline-block; min-width:28px; height:28px; line-height:28px;
		font-size:16px; color:#202124; text-decoration:none; text-align:center;
		border-radius:50px; vertical-align:middle; padding: 0px 2px;
	}
	.pagination ul li.num a:hover { background:#eee;}
	.pagination ul li.num span { color:#fff; background:#80868b;}
	.pagination ul li.left a,
	.pagination ul li.right a { width:20px; height:20px; line-height:20px;}
	.pagination ul li.left a:before,
	.pagination ul li.right a:before {
		content:""; display:block; width:10px; height:10px;
		border-top:1px solid #282426; border-right:1px solid #282426;
		position:absolute; top:50%; margin-top:-5px;
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(45deg);
		-ms-transform:rotate(45deg);
		transform:rotate(45deg);
	}
	.pagination ul li.left a:before {
		border:none; left:3px;
		border-bottom:1px solid #282426;
		border-left:1px solid #282426;
	}
	.pagination ul li.right a:before { right:3px;}
	.pagination ul li.left a:hover,
	.pagination ul li.right a:hover { opacity:0.5;}

	.pagination ul li.dot { margin:0;}
	.pagination ul li.dot span { font-size:13px; border:none; padding-top:4px; width:auto; min-width:15px;}

/*action-btn*/
.action-btn {
	display:inline-block; vertical-align:top;
	min-width:90px; height:32px; line-height:33px;
	font-size:13px; color:#202124; text-align:center; text-decoration:none;
	background:#fff; border:1px solid #80868b; border-radius:6px;
	padding: 0 10px;
	}
	.action-btn .material-icons { vertical-align:middle; margin-top:-3px;}
	.action-btn.csv .material-icons { margin:-4px 5px 0 -10px;}


/*＠side-menu
/////////////////////////////////////////////////////////////////////*/
#side-menu {
	width:60px; height:calc(100% - 80px);
	position:fixed; top:81px; left:0; z-index:200;
	transition:all 0.3s;
	}
	#side-menu nav {
		width:100%; height:calc(100vh - 80px);
		background:#f5f5f5; border-right:1px solid #80868b;
		position:absolute; top:0; left:0; z-index:90;
		z-index: 90;
		border-top: 1px #f5f5f5 solid;
		overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width:none;
	}
#side-menu nav::-webkit-scrollbar{
	display: none;
}

	#side-menu li { border-bottom:1px solid #80868b;}
	#side-menu li a {
		display:block; width:100%; height:50px;
		font-size:15px; font-weight:500; color:#202124;
		text-decoration:none; text-align:center; line-height:1.2;
		position:relative;
	}
	#side-menu li a:hover,
	#side-menu li a.current { background:#e7f5ff;}
	#side-menu li.current a { background:#e7f5ff;}
    #side-menu ul li.current_staff {
        background:#e7f5ff;
    }
    #side-menu ul li.current_staff:nth-child(2) {
        background: none;
    }
#menu li a.current { background:#e7f5ff;}
#menu li.current a { background:#e7f5ff;}
	#side-menu li a span:nth-child(1) {
		display:block; width:100%; padding:0 30px 0 50px;
		position:absolute; top:50%; left:0; white-space:nowrap;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
		transition:all 0.2s; visibility:hidden; opacity:0;
	}
	#side-menu li a .material-icons {
		position:absolute; top:50%; left:18px;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
	}
	#side-menu li a .notification {
		min-width:10px; min-height:10px;
		font-size:0; color:transparent; line-height:10px;
	}
#side-mOpen {
	width:60px; height:80px; background:#fff; cursor:pointer;
	border-right:1px solid #80868b; border-bottom:1px solid #80868b;
	position:absolute; top:-80px; left:0;
	}
	#side-mOpen .material-icons {
		font-size:38px; transition:all 0.3s;
		position:absolute; top:50%; left:50%;
		-webkit-transform:translate(-50%, -50%);
		transform:translate(-50%, -50%);
	}
/*active*/
#side-menu.active { width:220px;}
#side-menu.active li a span:nth-child(1) { visibility:visible; opacity:1;}
#side-menu.active li a .notification {
	min-width:20px; min-height:20px;
	font-size:11px; color:#fff; line-height:20px;
}
#side-mOpen.active .material-icons {
	-webkit-transform:translate(-50%, -50%) rotate(180deg);
	transform:translate(-50%, -50%) rotate(180deg);
}

/*side-search*/
#side-search {
	width:260px; height:calc(100% + 1px);
	background:#fff; border-right:1px solid #80868b; border-top:1px solid #80868b;
	position:absolute; top:-1px; left:100%; z-index:80;
	transition:all 0.3s;
	-webkit-transform:translateX(-260px);
	transform:translateX(-260px);
	}
#side-mSearch {
	width:45px; height:120px; background:#fff; cursor:pointer;
	border:1px solid #80868b; border-left-color:#fff; border-radius:0 8px 8px 0;
	position:absolute; top:168px; right:-45px; z-index:80;
	}
	#side-mSearch .material-icons {
		font-size:32px; transition:all 0.3s;
		position:absolute; top:50%; left:50%;
		-webkit-transform:translate(-50%, -50%);
		transform:translate(-50%, -50%);
		transition:all 0.2s;
	}
	#side-mSearch .material-icons:nth-child(2) { display:none;}
/*active*/
#side-search.active {
	-webkit-transform:translateX(0);
	transform:translateX(0);
}
#side-mSearch.active .material-icons:nth-child(1) { display:none;}
#side-mSearch.active .material-icons:nth-child(2) { display:block;}
/*コンテンツ横スライド*/
#side-mOpen,.material-icons,#footer{
	transition: all 0.3s;
}
#side-mOpen.active{
	width: 220px;
}
#side-mOpen.active .material-icons{
	left: 90%;
}
#container.active-move,
#footer.active-move{
	margin-left: 220px!important;
	max-width: calc(100% - 220px);
}
/*＠local-menu
/////////////////////////////////////////////////////////////////////*/
#local-menu { width:100%; height:50px; background:#f5f5f5; border-bottom:1px solid #80868b;}
	#local-menu nav { height:100%;}
	#local-menu ul {
		width:100%; height:100%; max-width:1020px;
		font-size:0; padding:0 20px 0 90px; margin:0 auto;
	}
	#local-menu ul li { display:inline-block; height:100%; vertical-align:top;}
	#local-menu ul li a {
		display:block; width:100%; min-width:140px; height:100%;
		font-size:15px; color:#202124; text-align:center; text-decoration:none;
		background:#f5f5f5; border-right:1px solid #80868b;
		padding:17px 15px 0;
	}
	#local-menu ul li:first-child a { border-left:1px solid #80868b;}
	#local-menu ul li a:hover,
	#local-menu ul li a.current { background:#fff;}

/*＠管理画面
/////////////////////////////////////////////////////////////////////*/
/*.admin-settings-top #contents { padding:40px 0;}*/
.admin-top-title {
	display:inline-block; width:28%;
	font-size:18px; text-align:center;
	vertical-align:middle; position:relative;
	}
	.admin-top-title span {
		display:block; width:100%; padding-left:30px;
		position:absolute; top:50%; left:0;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
	}
	.admin-top-title span > a {
		color: #202124;
		text-decoration: none;
	}
	.admin-top-title .material-icons {
		font-size:34px;
		position:absolute; top:50%; left:10%;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
	}
.admin-settings-top .block { margin-bottom:20px;}
	.admin-settings-top .block dl,
	.admin-settings-top .block ul { display:inline-block; width:69%; line-height:1.5; vertical-align:middle;}
	.admin-settings-top .block dl { padding:20px 0;}
	.admin-settings-top .block dt { font-weight:500; padding:0 130px 3px 15px; position:relative;}
	.admin-settings-top .block dt:after {
		content:''; display:block; width:0; height:0;
		position:absolute; top:50%; left:0; margin-top:-8px;
		border:5px transparent solid;
		border-left-color:#80868b;
		border-width:5px 0 5px 8px;
	}
	.admin-settings-top .block dd + dt { margin-top:15px;}
	.admin-settings-top .block dd { border-bottom:2px solid #ddd; padding:0 130px 10px 15px; position:relative;}
	.admin-settings-top .block dd:last-child { border-bottom:none; padding-right:0; padding-bottom:0; text-align: right;}
	.admin-settings-top .block dl .date { font-size:13px; font-weight:300; position:absolute; top:-35px; right:0;}
	.admin-settings-top .block dl .category { position:absolute; top:-15px; right:0;}
	.admin-settings-top .block dl .category.important { top:8px;}
	.admin-settings-top .block dl .notification_more { font-size:13px; font-weight:300; position:absolute; right:0;}
	.admin-settings-top .block ul { padding:15px 0;}
	.admin-settings-top .block ul li { padding-right:130px; position:relative;}
	.admin-settings-top .block ul li + li { margin-top:10px;}
	.admin-settings-top .block ul li .category { position:absolute; top:0; right:0;}
	.admin-settings-top .block ul .filesize { font-size:13px;}
.admin-settings-top .others { /*width:calc(100% + 20px);*/ font-size:0; /*margin-left:-10px;*/}

.others ul {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.others ul:after {
	content: "";
	display: block;
	width: 30%;
	height: 0;
	margin: 1%;
}

.admin-settings-top .others .block {
	display:inline-block; width:calc(33.6% - 20px); height:120px;
	vertical-align:top; position:relative;
}
	.admin-settings-top .others .block a {
		display:block; width:100%; height:100%;
		position:absolute; top:0; left:0;
		color:#202124; font-weight:500; text-decoration:none;
	}
	.admin-settings-top .others .block a:hover { background:#e7f5ff;}
	.admin-settings-top .others .admin-top-title { width:100%; height:100%;}

/*下層*/
/*.admin-settings-sub #header h1 { left:70px;}*/
.admin-sub-title { background:#f5f5f5; border:1px solid #80868b; border-top:none; padding:20px;}
.admin-sub-main { padding:40px 20px 0;}
.admin-sub-main .headings { margin-bottom:30px; position:relative;}
	.admin-sub-main .headings p { font-size:18px; padding:0 130px 10px 0; position:relative;}
	.admin-sub-main .headings h2 {
		font-size:20px; line-height:1.5;
		border-top:1px solid #80868b;
		border-bottom:1px solid #80868b;
		padding:20px 130px 20px 0; position:relative;
	}
	.admin-sub-main .headings .date { font-size:14px; position:absolute; top:5px; right:0;}
	.admin-sub-main .headings .category { font-weight:300; position:absolute; top:22px; right:10px;}
.admin-sub-main .inner p { padding-bottom:30px;}
.admin-sub-main .inner img { display:block; max-width:100%; margin:0 auto;}


/*＠入力フォーム
/////////////////////////////////////////////////////////////////////*/
.red { color:#f00;}
.blue { color:#005ca2;}
input, button, textarea, select {
	border:none; border-radius:0; outline:none;
	background:none; vertical-align:baseline; padding:0;
	-webkit-appearance:none; -moz-appearance:none; appearance:none;
	-webkit-transition:all 0.2s; transition:all 0.2s;
}
select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%666666'><polygon points='0,0 100,0 50,50'/></svg>");
	background-repeat: no-repeat, repeat;
	background-position: right .7em top 50%, 0 0;
	background-size: .65em auto, 100%;
}

.form-header { font-size:18px; text-align:center; padding:40px 0 30px;}
.form-main {
	width:900px; border:1px solid #80868b;
	padding:40px 60px;  margin:0 auto 40px;
	}
	.form-main form dl {
		display:table; width:100%; table-layout:fixed;
		border-bottom:1px solid #ddd; padding:1.5em 1em;
	}
	.form-main form dt,
	.form-main form dd { display:table-cell; vertical-align:middle; line-height:1.5; position:relative;}
	.form-main form dt { width:300px; font-size:16px;}
	.form-main form dd > div {
		display:inline-block; vertical-align:top;
		margin-right:10px; position:relative;
	}
	.form-main form dd > div:last-child { margin-right:0;}
	.form-main form p { text-align:center; padding:30px 0;}

	.form-main input,
	.form-main textarea,
	.form-main select {
		width:100%; font-size:16px;
		background:#fff; border:1px solid #80868b;
		position:relative;
	}
	.form-main input { height:40px; padding:9px 1em;}
	.form-main textarea { height:200px; line-height:1.35; padding:10px;}
	.form-main select { height:40px; color:#202124; background:none; padding:7px 1em; cursor:pointer;}
	.form-main select::-ms-expand { display:none;}
	.form-main input:focus,
	.form-main textarea:focus,
	.form-main select:focus { border:1px solid #005ca2;}

	.form-main .name { width:47%;}
	.form-main .selectgp .inner { display:inline-block; position:relative;}
	.form-main .selectgp .inner.year { width:120px;}
	.form-main .selectgp .inner.month,
	.form-main .selectgp .inner.day { width:70px;}
	.form-main .selectgp .inner:after {
		content:''; display:block; width:0; height:0;
		position:absolute; top:50%; right:10px; margin-top:-3px;
		border:5px transparent solid;
		border-top-color:#ccc;
		border-width:8px 5px 0 5px;
		z-index:10;
	}

	/*btn*/
	.form-btn { text-align:center; padding:20px 0;}
	.form-btn button {
		display:inline-block; width:50%; height:46px;
		line-height:47px; font-size:18px; color:#fff;
		border-radius:10px; background:#005ca2;
		cursor:pointer; margin:0 1%; position:relative; z-index:10;
	}
	.form-btn button#back,
	.form-btn button#cancel { width:30%; background:#aaa;}
	.form-btn button:hover { opacity:0.8;}
	/*error*/
	.form-err, .form-error {
		color:#f00;
		padding:20px 25px;
	}

	.form-err p, .form-error p { font-size:18px;}
	.form-err p .material-icons, .form-error p .material-icons { font-size:28px; vertical-align:middle; margin:-5px 5px 0 0; opacity:1;}
	.form-err ul, .form-error ul { padding:5px 0 0 25px;}
	.form-err ul li, .form-error ul li { list-style:disc; margin:5px 0;}
	.form-main input.err,
	.form-main textarea.err,
	.form-main select.err { background:#ffeeee; border-color:#f00;}
	.form-main .err_txt {
		display:block; font-size:14px; font-weight:500;
		color:#f00; padding-top:10px;
		display:none;
	}
	.form-main .material-icons { font-size:22px; vertical-align:middle; margin-top:-3px; opacity:1;}

	.search-form-error {
		color: #f00;
		padding-top: 10px;
	}
	.search-form-error .material-icons, .form-success .material-icons, .form-message .material-icons {
		opacity:1;
		vertical-align: middle;
	}
	.search-form-error strong, .form-success strong {
		vertical-align: middle;
	}
	.search-form-error p, .form-success p {
		margin-bottom: 10px;
	}

	#side-menu .date_connect_wrap {
		position: relative;
		width: 100%;
		height: 100%;
		padding: 5px 0;
	}
	#side-menu .date_connect_inner {
		position: absolute;
		top: 50%;
		left: 50%;
		display: inline;
		transform: translate(-50%, -50%);
		writing-mode: vertical-rl;
	}

	.form-warning {
		color: #f00;
		padding-top: 10px;
	}
	.form-warning .material-icons{
		opacity:1;
		vertical-align: middle;
	}
	.form-warning strong{
		vertical-align: middle;
	}
	.form-warning p{
		margin-bottom: 10px;
	}
	.form-info {
		color: #202124;
	}

	/*＠modal
/////////////////////////////////////////////////////////////////////*/
.modal {
	display:none;
	width:100%; height:100%;
	background:rgba(0, 0, 0, 0.5);
	position:fixed; top:0; left:0; z-index:9000;
}
.modal-close { width:42px; height:42px; position:absolute; top:0; right:0; cursor:pointer;}
	.modal-close .material-icons {
		font-size:32px; opacity:0.4;
		position:absolute; top:50%; left:50%;
		-webkit-transform:translate(-50%, -50%);
		transform:translate(-50%, -50%);
		transition:all 0.2s;
	}
.modal-box {
	width:700px; min-height:450px;
	font-size:16px; line-height:1.8; text-align:center;
	background:#fff; border-radius:10px; padding-bottom:30px;
	position:absolute; top:50%; left:50%;
	-webkit-transform:translate(-50%, -50%);
	transform:translate(-50%, -50%);
	min-height:auto !important;
	}
	.modal-box .modal-inner { padding:40px 30px 20px; min-height:auto; }
	/* h1 + p */
	.modal-box .modal-inner h1 { font-size:22px; margin-bottom:10px;}
	.modal-box .modal-inner p { min-height:40px; font-size: 15px;}
	/* h1のみ */
	.modal-box .modal-inner h1:last-child { font-size:22px; margin-bottom:50px;}
	.modal-box .modal-btnarea .btn { min-width:180px; margin:5px 10px;}

/*＠PC
/////////////////////////////////////////////////////////////////////*/

@media screen and (min-width:768px) {
	.sp-banner { display:none;}
	.sp_only { display:none;}
	#container { padding-right:184px; position:relative;}
	#container.side-none { padding-right:0;}
	#side {
		width:184px; height:100%; border-left:1px solid #80868b;
		background:#fff; padding:12px;
		position:fixed; top:0; right:0;
	}

	/*menu*/
	/*#menu { padding:0 20px;}*/
	#menu ul {
		display:table; table-layout:fixed;
		width:90%; height:100%;
		max-width: 1280px;
		background:#fff; margin:0 auto;
	}
	#menu ul li { display:table-cell; vertical-align:middle; text-align:center; border-left:1px solid #80868b;}
	#menu ul li:last-child { border-right:1px solid #80868b;}
	#mOpen { display:none;}

	.col2 { display:-webkit-flex; display:flex;}
	.col2 > div { min-height:600px;}
	.col2 > div:nth-child(1) { -webkit-flex-grow:1; flex-grow:1;}
	.col2 > div:nth-child(2) { width:300px; margin-left:20px;}

}
/*firefox赤枠削除*/
input:required {
	box-shadow: none;
}