@charset "utf-8";
@import url("fmot_jquery_ui.css");
@import url("fmot_main.css");
@import url("fmot_color.css");
@import url("fmot_button.css");

/* ログイン、メニュー用BODY */
body {
	padding: 72px 0 40px;
}

/* ログインヘッダ */
div.header.login > .service {
	margin-left: 10px;
}

/* ログイン本体 */
div.login:not(.header) {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -150px 0 0 -320px;
	padding: 0 10px 10;
	width: 640px;
	height: 300px;
	background: rgb(240, 255, 240);
	border: solid 2px rgb(0, 128, 0);
	display: none;
}
div.browserErr {
	position: absolute;
	left: 50%;
	margin: 0 0 0 -80px;
	font-size:20px;
	font-weight: bold;
}
div.browserErr span.ua {
	display: none;
}
/* ヘッダ */
div.login .header {
	width:100%;
	height:40px;
	color: rgb(255, 255, 255);
	background: rgb(0, 128, 0);
	text-align: center;
	font-size:24px;
	font-weight: bold;
	line-height: 40px;
}
/* エラー表示 */
div.error {
	position: absolute;
	display: none;
	top: 50px;
	left: 10px;
	padding: 0 10px;
	height: 30px;
	width: 620px;
	color: rgb(255, 255, 255);
	background: rgb(220, 20, 60);
	font-size: 20px;
	line-height: 30px;
	text-align: center;
}
/* 入力欄 */
div.login ul {
	width: 600px;
	margin:60px auto 40px;
	padding:0;
}

div.login ul li {
	margin-left:0;
	margin-bottom: 5px;
	list-style-type: none;
}

div.login ul li:nth-child(1) {
	margin-bottom: 20px;
}

div.login ul li div {
	display:inline-block;
	height: 30px;
	line-height: 30px;
	font-size: 24px;
}

div.login ul li div.label {
	width:120px;
	text-align: left;
	color: rgb(0, 128, 0);
}

div.login ul li span.sp {
	margin: 0 5px;
	font-size: 24px;
	color: rgb(0, 128, 0);
}

ul.form_list {
	margin:0;
	padding:0;
	padding-top:5px;
}

ul.form_list li {
	margin-left:0;
	margin-bottom: 10px;
	list-style-type: none;
}

ul.form_list li > span:first-child {
	display:inline-block;
	width:180px;
	height:22px;
	line-height:22px;
	text-align:left;
	color:rgb(0,128,0);
}

ul.form_list li input {
	width: calc(100% - 180px);
}

/* テキストボックス */
div.login input[type="text"],
div.login input[type="email"],
div.login input[type="tel"],
div.login input[type="password"] {
	font-size: 24px;
	height: 30px;
	border: solid 1px rgb(0, 128, 0);
}
#login_name,
#customer_id {
	width: 215px;
	ime-mode: disabled;
}

#password {
	width: 470px;
}

button.login {
	display: block;
	width:150px;
	height:40px;
	margin: 0 auto;
}

button.login span:before {
	position: absolute;
	top:7px;
	left:20px;
	width:22px;
	height:24px;
	font-size:24px;
	line-height:24px;
}

button.login span:after {
	position: absolute;
	top:7px;
	left:50px;
	width:80px;
	height:24px;
	font-size:20px;
	line-height:24px;
}

/* メニュー画面 */
/* ヘッダ */

body > div.header .user_info {
	right:200px;
}

div.header {
	position: relative;
}

div.header button {
	width: 120px;
	height: 23px;
}

div.header button span:before {
	margin-right:2px;
}

/* 利用規約ボタン位置 */
div.header button.terms {
	margin-bottom: 10px;
	margin-right: 8px;
}

div.header button.manual {
	margin-bottom: 10px;
	margin-right: 8px;
}

div.header button.password {
	margin-bottom: 5px;
	margin-top: 10px;
}

div.header button.logout {
	right: 30px;
}

/* ハンバーガーメニューオープンボタン */
div.openbtn {
	position: absolute;
	top: 2px;
	right: 10px;
	background-color: rgb(42, 176, 0);
	cursor: pointer;
	width: 30px;
	height: 23px;
	border-radius: 4px;
}

div.openbtn span {
	display: inline-block;
	position: absolute;
	left: 7px;
	height: 2px;
	border-radius: 1px;
	background-color: #fff;
	width: 60%;
}

div.openbtn span:nth-of-type(1) {
	top: 7px;
}

div.openbtn span:nth-of-type(2) {
	top: 12px;
}

div.openbtn span:nth-of-type(3) {
	top: 17px;
}

/* ハンバーガーメニュー */
div.header nav.menu-container {
	display: none;
	width:180px;
	height: 130px;
	position: absolute;
	top: 26px;
	right: 0px;
	background-color: rgb(0, 100, 50);
	border-radius: 1px;
}

div.header nav.menu-container.open {
	width:180px;
	height: 130px;
	position: absolute;
	top: 26px;
	right: 0;
	background-color: rgb(0, 100, 50);
	border-radius: 1px;
}

div.header nav.menu-container ul {
	padding-left: 10px
}

div.header nav.menu-container li {
	display: flex;
	list-style: none;
	width: 200px;
	position: relative;
	left: -25px;
}

div.header nav.menu-container li:last-child {
	display: flex;
	list-style: none;
	width: 200px;
	position: relative;
	left: -5px;
}

div.header button.upload {
	width: 40px;
}

div.header button.upload span {
	font-size: 12px;
}

.switch_mobile {
	display: block;
	text-align: center;
	width: calc(100% - 10px);
	padding-top:5px;
}
.switch_mobile > a {
	z-index: 2;
	color:rgb(0, 100, 255);
	border-bottom: 1px solid rgb(0, 100, 255);
	cursor: pointer;
}

.switch_pc {
	display: block;
	text-align: right;
	width: calc(100% - 10px);
}
.switch_pc > a {
	z-index: 2;
	color:rgb(0, 100, 255);
	border-bottom: 1px solid rgb(0, 100, 255);
	cursor: pointer;
}

body > .content .switch_mobile {
	display:none;
}
body > .content.admin .switch_mobile {
	display:block;
	padding-top:25px;
}
body > .content + .switch_mobile {
	display:block;
}
body > .content.admin + .switch_mobile {
	display:none;
}

body > .content > .notice > .switch_pc {
	display:none;
}
body > .content.admin > .notice > .switch_pc {
	display:block;
}
body > .content > .system_menu > .switch_pc {
	display:block;
}
body > .content.admin > .system_menu > .switch_pc {
	display:none;
}

@media screen {
	#upload_manual, #upload_terms{display: none;}
}

/* メニュー本体 */
body > div.content {
	width: 965px;
	height: 100%;
	min-height: 445px;
	padding: 0;
	margin: 0 auto;
}

/* 各ブロック */
body > .content > div.notice,
body > .content > div.system_menu,
body > .content > div.admin_menu {
	position: relative;
	width: 100%;
	margin:0 0 20px;
	border: solid 2px rgb(0, 128, 0);
	border-radius: 4px;
	padding: 40px 5px 15px 15px;
	text-align: center;
}

body > .content > div.notice {
	height: calc(59% - 20px);
	padding-bottom: 15px;
}
body > .content > div.system_menu {
	height: calc(41% - 20px);
	display: none;
}
body > .content > div.admin_menu {
	position: relative;
	display: none;
	margin: 0;
	height: 100px;
}

/* 各ブロックのヘッダ */
body > .content > div.notice div.header,
body > .content > div.system_menu div.header,
body > .content > div.admin_menu div.header{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 30px;
	color: rgb(255, 255, 255);
	background: rgb(0, 128, 0);
	font-size: 20px;
	text-align: center;
	line-height: 30px;
}
/* ボタンブロック */
div.menu_group {
	position: relative;
	max-width: 100%;
	height: 100%;
	margin: 0 auto;
	overflow:auto;
	text-align: left;
}

body > .content > div.admin_menu div.menu_group {
	overflow: hidden;
}
/* メニューボタン */
div.menu_group button {
	display: block;
	width: 225px;
	height: 40px;
	margin: 0 5px 10px 0;
	float: left;
}

div.menu_group button.s {
	width: 180px;
}

div.menu_group button.w {
	width: 305px;
}

div.menu_group button:last-child:after {
	content:'';
	clear: both;
}

/* ボタン内文字 */
div.menu_group button > span {
	display: block;
	width: 100%;
	font-size: 16px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
/* お知らせ */
body > .content > div.notice > ul {
	width: 100%;
	height: calc(100% - 15px);
	overflow: auto;
	border: solid 1px rgb(0, 128, 0);
	padding: 5px 0;
}

body > .content > div.notice > ul > li {
	position: relative;
	list-style-type: none;
	margin: 0 15px 0 10px;
	padding: 5px 0 5px 30px;
	font-size: 16px;
	text-align: left;
	line-height: 20px;
	border-bottom: dotted 1px rgb(0, 128, 0);
}
/* お知らせ 管理者表示 */
body > .content > div.notice > ul > li.sp {
	background: rgb(255, 192, 203);
}
/* お知らせ欄アイコン */
body > .content > div.notice > ul > li:before {
	position: absolute;
	top: 10px;
	left: 5px;
	font: normal normal normal 12px/1 FontAwesome;
	content: "\f005";
	color: rgb(0, 128, 0);
}
/* お知らせ欄 */
body > .content > div.notice > ul > li > span {
	display: inline-block;
	vertical-align: top;
}
/* 日付 */
body > .content > div.notice > ul > li > span.date {
	width: 105px;
}
/* 内容 */
body > .content > div.notice > ul > li > span.notice {
	width: calc(100% - 105px);
}

/* 顧客メインメニュー (標準設定を上書き) */
body > div.customer {
	padding: 0 0 100px;
}
body > .customer > div.notice {
	height: calc(48% - 20px);
}
body > .customer > div.system_menu {
	height: calc(52% - 20px);
}
body > .customer > div.admin_menu {
	position: absolute;
	display: block;
	bottom:0;
	left:0;
}
body > .customer > div.admin_menu button.admin {
	display: none;
}
body > .customer > div.admin_menu button.customer {
	display: inline-block;
}
/* 管理者メニュー (標準設定を上書き) */
body > .admin > div.notice {
	height: calc(60% - 20px);
}
body > .admin > div.system_menu {
	display: none;
}
body > .admin > div.admin_menu {
	display: block;
}
body > .admin > div.admin_menu button.admin {
	display: inline-block;
}
body > .admin > div.admin_menu button.customer {
	display: none
}

body > .user > div.system_menu,
body > .customer > div.system_menu {
	display: block;
}

body > .user > nav.menu-container  label,
body > .customer > nav.menu-container  label {
	display: none;
}

@media screen
and (max-device-height:700px) {
	div.login {
		top: 0;
		margin-top: 80px;
	}
}