@charset "utf-8";
/*************************************************************
 *
 * Copyright (c) 2021 ysrock Co., Ltd.	<info@ysrock.co.jp>
 * Copyright (c) 2021 Yasuo Sugano	<sugano@ysrock.co.jp>
 *
 * Version	: 1.0.0
 * Update	: 2021.06.01
 *
 *************************************************************/
html{
	height:100%;
}
body{
	overflow-y:scroll;
	margin:0;
	min-width:800px;
	background-color:#fff;
	font-size:16px;
	line-height:150%;
	color:#000000;
}
body, input, select, textarea{
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
}

main{
	display:block;
	min-height:100%;
}
#main{
	padding-right:10px;
	padding-bottom:10px;
}
.ns{
	user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-ms-user-select:none;
}
*{
	box-sizing:border-box;
}

input.error, textarea.error, select.error{
	border:2px solid red;
	background-color:rgba(255, 0, 0, 0.2);
}
select.error + div.chosen-container > a{
	border:2px solid red;
	background:rgba(255, 0, 0, 0.2);
}
textarea{
	display:block;
}

h2 + table{
	margin-top:10px;
}



/**************************************************
 *
 * ヘッダー
 *
 **************************************************/
header{
	position:fixed;
	top:0;
	left:0;
	z-index:9;
	width:100%;
	height:40px;
	background-color:#000;
}
header > a.name{
	box-sizing:border-box;
	display:inline-block;
	padding:8px 10px;
	font-size:16px;
	line-height:24px;
	color:#fff;
	text-decoration:none;
}
#navAccount{
	position:absolute;
	right:0;
	display:inline-block;
	width:45px;
	height:100%;
	background-color:#222;
	cursor:pointer;
}
#navAccount:hover{
	background-color:#444;
}
#navAccount > div.hamburger > div{
	position:absolute;
	top:19px;
	left:12px;
	width:20px;
	height:2px;
	background-color:#fff;
	opacity:1;
	transition:all 0.05s linear;
}
#navAccount > div.hamburger::before,
#navAccount > div.hamburger::after{
	content:"";
	position:absolute;
	left:0;
	width:20px;
	height:2px;
	background-color:#fff;
	transform-origin:left;
	transition:all 0.075s linear;
}
#navAccount > div.hamburger::before{
	top:12px;
	left:12px;
}
#navAccount > div.hamburger::after{
	top:26px;
	left:12px;
}
#navAccount > ul{
	position:absolute;
	right:0;
	top:40px;
	z-index:99;
	display:none;
	margin:0;
	padding:0;
	list-style-type:none;
}
#navAccount > ul > li{
	box-sizing:border-box;
	width:260px;
	height:40px;
	border-top:#333 1px solid;
	background-color:#222;
}
#navAccount > ul > li.name{
	height:35px;
	padding:10px 15px;
	font-size:10px;
	line-height:150%;
	color:#ccc;
	cursor:default;
}
#navAccount > ul > li:not(.name):hover{
	background-color:#0f84c7;
}
#navAccount > ul > li > a{
	position:relative;
	box-sizing:border-box;
	display:block;
	padding:10px 20px 10px 45px;
	font-size:12px;
	line-height:19px;
	color:#fff;
	text-decoration:none;
}
#navAccount > ul > li > a::after{
	content:"";
	position:absolute;
	top:8px;
	left:14px;
	width:22px;
	height:22px;
	background-image:url(/commons/imgs/icons_navi_account.png);
	background-repeat:no-repeat;
	background-size:22px 66px;
}
#navAccount > ul > li.account > a::after{
	background-position:0 -22px;
}
#navAccount > ul > li.logout > a::after{
	background-position:0 0;
}

#navAccount.active > div.hamburger > div{
	opacity:0;
}
#navAccount.active > div.hamburger::before{
	top:10px;
	width:27px;
	height:2.4px;
	transform:rotate(45deg);
}
#navAccount.active > div.hamburger::after{
	top:29px;
	width:27px;
	height:2.4px;
	transform:rotate(-45deg);
}
#navAccount.active > ul{
	display:block;
}
/***** END ヘッダー *****/



/**************************************************
 *
 * サイドメニュー
 *
 **************************************************/

/*----- 共通 -----*/
#navMenu ul{
	margin:0;
	padding:0;
	list-style-type:none;
}
#navMenu ul > li{
	line-height:0;
}
#navMenu ul > li.hasChild{
	transition:height 0.3s ease;
}
#navMenu ul > li.hasChild > a{
	position:relative;
}
#navMenu ul > li.hasChild > a::after{
	content:"";
	position:absolute;
	right:20px;
	top:0;
	bottom:0;
	margin:auto 0;
	display:inline-block;
	width:10px;
	height:10px;
	background-image:url(/commons/imgs/cursor.svg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:100%;
	transition:transform 0.3s;
	pointer-events:none;
}
#navMenu ul > li.hasChild.open > a::after{
	transform:rotate(90deg);
}
#navMenu ul > li > a{
	display:inline-block;
	box-sizing:border-box;
	width:270px;
	height:38px;
	padding:10px;
	font-size:13px;
	line-height:18px;
	color:#fff;
	text-decoration:none;
	transition:background-color 0.15s linear;
	overflow:hidden;
}
#navMenu ul > li > a.this,
#navMenu ul > li > a:hover{
	background-color:#00375f!important;
}
#navMenu li > ul{
	display:none;
}
/*----- END 共通 -----*/

#navMenu{
	position:fixed;
	left:0;
	top:40px;
	z-index:10;
	display:flex;
	flex-direction:column;
	-webkit-box-pack:justify;
	justify-content:space-between;
	box-sizing:border-box;
	width:270px;
	height:calc(100% - 40px);
	min-height:calc(100% - 40px);
	max-height:calc(100% - 40px);
	padding:0;
	background-color:#005492;
	transition:width 0.2s cubic-bezier(0.23, 1, 0.32, 1);
}
#navMenu.contract{
	width:56px;
}
body.modal > main > #navMenu{
	top:0;
	height:100%;
	min-height:100%;
	max-height:100%;
}
#navMenu > div.main{
	flex-basis:auto;
	overflow-x:hidden;
	overflow-y:auto;
}
#navMenu > div.main > ul > li{
	box-sizing:border-box;
	border-bottom:1px solid #004b83;
}
#navMenu > div.main > ul > li > a{
	height:48px;
	padding:15px 10px 14px 55px;
	background-image:url(/commons/imgs/icons_navi_menu.png);
	background-repeat:no-repeat;
	background-size:48px 192px;
}
#navMenu.contract > div.main > ul > li > a{
	padding-left:56px;
}
#navMenu > div.main > ul > li.open > a{
	background-color:#00375f!important;
}
#navMenu > div.main > ul > li > ul > li > a{
	padding-left:75px;
}
#navMenu > div.main > ul > li > ul > li > ul > li > a{
	padding-left:95px;
	background-color:#02416f;
}
#navMenu > div.main > ul > li > ul > li > ul > li.open > a{
	background-color:#00375f!important;
}

#navMenu > div.ctrl{
	box-sizing:border-box;
	flex-basis:auto;
	height:48px;
	box-shadow:-5px -9px 19px -7px #022440;
}
#navExp{
	display:inline-block;
	width:100%;
	height:48px;
	background-color:#003d69;
	cursor:pointer;
	position:relative;
}
#navExp:hover{
	background-color:#00375f!important;
}
#navExp::before,
#navExp::after{
	content:"";
	position:absolute;
	right:20px;
	display:inline-block;
	width:15px;
	height:3px;
	background-color:#fff;
}
#navExp::before{
	top:18px;
	transform:rotate(-45deg);
}
#navExp::after{
	top:27px;
	transform:rotate(45deg);
}
#navMenu.contract > div.ctrl > #navExp::before{
	transform:rotate(45deg);
}
#navMenu.contract > div.ctrl > #navExp::after{
	transform:rotate(-45deg);
}

/*----- メニュー横 -----*/
#navMenu + #main{
	padding-left:280px;
	transition:padding-left 0.2s cubic-bezier(0.23, 1, 0.32, 1);
}
#navMenu.contract + #main{
	padding-left:66px;
}
/*----- END メニュー横 -----*/

/*----- 開発モード -----*/
#navMenu.develop{
	background-color:#920054;
}
#navMenu.develop > div.main > ul > li{
	border-bottom-color:#83004b;
}
#navMenu.develop > div.main > ul > li > a.this,
#navMenu.develop > div.main > ul > li > a:hover{
	background-color:#5f0037!important;
}
#navMenu.develop > div.main > ul > li.open > a{
	background-color:#5f0037!important;
}
#navMenu.develop > div.main > ul > li > ul > li > a{
	background-color:#6f0241;
}
#navMenu.develop > div.main > ul > li > ul > li > a.this,
#navMenu.develop > div.main > ul > li > ul > li > a:hover{
	background-color:#5f0037!important;
}
#navMenu.develop > div.main > ul > li > ul > li > ul > li > a{
	background-color:#6f0241;
}
#navMenu.develop > div.main > ul > li > ul > li > ul > li > a.this,
#navMenu.develop > div.main > ul > li > ul > li > ul > li > a:hover{
	background-color:#5f0037!important;
}
#navMenu.develop > div.ctrl{
	box-shadow:-5px -9px 19px -7px #400224;
}
#navMenu.develop > div.ctrl > #navExp{
	background-color:#69003d;
}
#navMenu.develop > div.ctrl > #navExp:hover{
	background-color:#5f0037!important
}
/*----- END 開発モード -----*/

/***** END サイドメニュー *****/



/**************************************************
 *
 * タブメニュー
 *
 **************************************************/
ul.navTab{
	margin:0;
	padding:0;
	border-bottom:1px solid #ddd;
}
ul.navTab::before{
	content:"";
	box-sizing:border-box;
	display:table;
}
ul.navTab::after{
	content:"";
	box-sizing:border-box;
	display:table;
	clear:both;
}

ul.navTab > li{
	display:block;
	margin-bottom:-1px;
	float:left;
}
ul.navTab > li > a{
	display:block;
	margin-right:2px;
	border:1px solid #ddd;
	border-radius:4px 4px 0 0;
	padding:10px 15px;
	font-size:14px;
	text-decoration:none;
	line-height:1.5;
	color:#0083ce;
	transition:all 0.1s linear;
}


ul.navTab > li.active > a{
	color:#555;
	border-bottom-color:#fff;
	cursor:default;
}
ul.navTab > li.disabled > a{
	color:#bbb;
	cursor:not-allowed;
}

/***** END タブメニュー *****/





/*************************************************************
 *
 * パンクズ
 *
 *************************************************************/
body.modal > main > #main > #breadcrumb{
	margin-top:41px!important;
}
#breadcrumb{
	margin:40px 0 0;
	padding:8px 0;
	list-style-type:none;
}
#breadcrumb::after{
	content:"";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
#breadcrumb > li{
	float:left;
	font-size:12px;
	line-height:100%;
}
#breadcrumb > li:first-of-type > a > span{
	display:inline-block;
	width:20px;
	height:12px;
	background-image:url(/commons/imgs/icon_home.png);
	background-repeat:no-repeat;
	background-position:50% 50%;
	overflow:hidden;
	text-indent:-9999px;
}
#breadcrumb > li + li::before{
	content:"/ ";
	padding:0 5px;
	color:#ccc;
}
#breadcrumb > li > a{
	text-decoration:none;
	color:#0083ce;
}
/***** END パンクズ *****/





/*************************************************************
 *
 * ページネーション
 *
 *************************************************************/
#main > div.pagenationWrap{
	margin-top:20px;
	display:flex;
}
#main > div.pagenationWrap > div.pagenation{
	flex:1;
	font-size:0;
	line-height:0;
}
#main > div.pagenationWrap > div.pagenation > a{
	display:inline-block;
	padding:8px 12px;
	background-color:#fff;
	border:1px solid #ddd;
	border-left-width:0;
	font-size:14px;
	line-height:22px;
	text-decoration:none;
}
#main > div.pagenationWrap > div.pagenation > a:hover{
	background-color:#eee;
	border-color:#ddd;
	color:#005282;
}
#main > div.pagenationWrap > div.pagenation > a.active{
	background-color:#0084cf;
	border-color:#0084cf;
	color:#fff;
	cursor:default;
}
#main > div.pagenationWrap > div.pagenation > a:first-child{
	border-top-left-radius:4px;
	border-bottom-left-radius:4px;
	border-left-width:1px;
}
#main > div.pagenationWrap > div.pagenation > a:last-child{
	border-top-right-radius:4px;
	border-bottom-right-radius:4px;
}

#main > div.pagenationWrap > div.right{
	font-size:14px;
}
#main > div.pagenationWrap > div.right > select{
	margin-left:10px;
}

#main > div.pagenationWrap + #result{
	margin-top:10px;
}
/***** END ページネーション *****/



/**************************************************
 *
 * 見出し
 *
 **************************************************/
h1{
	margin:5px 0 0;
	padding:5px 5px 0;
	font-size:20px;
	font-weight:bold;
	line-height:150%;
}
h1 + *{
	margin-top:10px;
}
h2{
	margin:0;
	padding:25px 5px 0;
	font-size:18px;
	font-weight:bold;
	line-height:150%;
}
div.h2Wrap{
	box-sizing:border-box;
	margin-top:15px;
	padding:3px;
	border:1px solid #e5e5e5;
	background-color:#eee;
	overflow-x:auto;
	overflow-y:hidden;
}
div.h2Wrap > h2{
	margin:0;
	padding:2px 5px;
	background-color:#848484;
	font-size:14px;
	font-weight:normal;
	color:#fff;
}
div.h2Wrap > h2.blue{
	background-color:#0084cf;
}
div.h2Wrap > h2.red{
	background-color:#cf0084;
}
/***** END 見出し *****/



/**************************************************
 *
 * 検索窓
 *
 **************************************************/
#main > div.searchBar{
	box-sizing:border-box;
	padding:10px;
	border:1px solid #e8e8e8;
	border-radius:4px;
	background-color:#f8f8f8;
	font-size:0;
	line-height:0;
	color:#333;
}
#main > div.searchBar > form.main{
	display:inline-block;
	width:calc(100% - 150px);
}
#main > div.searchBar > form.option{
	display:none;
	box-sizing:border-box;
	width:100%!important;
	margin:10px 0 0;
	border-top:1px solid #ddd;
	padding:10px 0 0;
}
#main > div.searchBar > form.option > table{
	width:100%;
	border-spacing:0;
}
#main > div.searchBar > form.option > table > tbody > tr > th{
	box-sizing:border-box;
	width:12.5%;
	padding-left:10px;
	padding-top:15px;
	padding-bottom:15px;
	border-bottom:1px solid #eee;
	font-size:14px;
	line-height:150%;
	text-align:left;
}
#main > div.searchBar > form.option > table > tbody > tr > td{
	box-sizing:border-box;
	width:37.5%;
	padding-right:10px;
	padding-top:15px;
	padding-bottom:15px;
	border-bottom:1px solid #eee;
	font-size:14px;
	line-height:150%;
}
#main > div.searchBar > form.option > table > tbody > tr:last-of-type > th,
#main > div.searchBar > form.option > table > tbody > tr:last-of-type > td{
	padding-bottom:5px;
	border-bottom:0;
}
#main > div.searchBar > form.option > table > tbody > tr > td > input{
	width:100%;
}
/***** END 検索窓 *****/



/**************************************************
 *
 * インラインメッセージ
 *
 **************************************************/
#main > div.inlineMsg{
	box-sizing:border-box;
	margin-top:15px;
	padding:15px;
	border:1px solid #bce8f1;
	border-radius:4px;
	background-color:#d9edf7;
	font-size:14px;
	line-height:150%;
	color:#31708f;
}
#main > div.inlineMsg.red{
	border:1px solid #f1bcbc;
	background-color:#f4d9d9;
	color:#8f3131;
}
/***** END インラインメッセージ *****/



/**************************************************
 *
 * テーブル
 *
 **************************************************/
div.tableWrap{
	box-sizing:border-box;
	margin-top:15px;
	padding:3px;
	border:1px solid #e5e5e5;
	background-color:#eee;
	overflow-x:auto;
	overflow-y:hidden;
}

/*----- テーブル：ヘッダー -----*/
div.tableWrap > h2{
	margin:0 0 3px;
	padding:2px 5px;
	background-color:#848484;
	font-size:14px;
	font-weight:normal;
	color:#fff;
}
div.tableWrap > h2.blue{
	background-color:#0084cf;
}
div.tableWrap > h2.red{
	background-color:#cf0084;
}
div.tableWrap > h2 + table{
	margin-top:0;
}
/*----- END テーブル：ヘッダー -----*/

/*----- テーブル：リスト -----*/
table.list{
	width:100%;
	border-collapse:collapse;
	border:1px solid #d5d5d5;
	border-spacing:0;
	background-color:#fff;
}
table.list > * > tr > th{
	box-sizing:border-box;
	padding:10px;
	border:1px solid #d5d5d5;
	background-color:#f7f7f7;
	font-size:14px;
	line-height:120%;
	color:#333;
}
table.list > * > tr > td{
	box-sizing:border-box;
	padding:10px;
	border:1px solid #d5d5d5;
	background-color:#fff;
	font-size:14px;
	line-height:140%;
	color:#333;
}
table.list > tbody > tr:nth-child(even) > td{
	background-color:#fbfbfb;
}
table.list > tbody > tr:hover > td{
	background-color:#e8e8e8;
}
/*----- END テーブル：リスト -----*/

/*----- テーブル：フォーム -----*/
table.form{
	width:100%;
	background-color:#ddd;
	border-spacing:0 1px;
	margin-bottom:20px;
}
table.form > * > tr:first-of-type > th{
	width:200px;
	border-top:1px solid #eee;
}
table.form > * > tr:first-of-type > td{
	border-top:1px solid #eee;
}
table.form > thead > tr > th{
	box-sizing:border-box;
	padding:15px 10px;
	border-bottom:1px solid #eee;
	background-color:#f7f7f7;
	font-size:14px;
	line-height:120%;
	color:#333;
	text-align:left;
}
table.form > tbody > tr > th{
	position:relative;
	box-sizing:border-box;
	padding:0 10px;
	border-bottom:1px solid #eee;
	background-color:#fff;
	font-size:14px;
	line-height:150%;
	color:#333;
	text-align:left;
}
table.form > tbody > tr > td{
	box-sizing:border-box;
	padding:15px 0;
	border-bottom:1px solid #eee;
	background-color:#fff;
	font-size:14px;
	line-height:150%;
	color:#333;
}
table.form > tbody > tr.required > th::after{
	content:"必須";
	position:absolute;
	top:0;
	bottom:0;
	right:10px;
	box-sizing:border-box;
	height:18px;
	margin:auto 0;
	padding:2px 5px;
	font-size:11px;
	font-weight:bold;
	line-height:16px;
	background-color:#f00;
	color:#fff;
}
table.form > tbody > tr > th > span.note{
	font-size:11px;
	font-weight:normal;
}
/*----- END テーブル：フォーム -----*/

/***** END テーブル *****/



/**************************************************
 *
 * フォーム
 *
 **************************************************/

/*----- フォーム：テキスト -----*/
input.f{
	box-sizing:border-box;
	height:39px;
	padding:8px;
	background-color:#fff;
	border:1px solid #ccc;
	border-radius:4px;
	font-size:14px;
	line-height:150%;
	color:#333;
	box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
	transition:border-color ease-in-out 0.15s,
                   box-shadow ease-in-out 0.15s,
                  -webkit-box-shadow ease-in-out 0.15s;
}
input.f:focus{
	border-color:#41b2f2;
	outline:0;
	box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),
                   0 0 8px rgba(65, 178, 242, 0.6);
}
input.f[disabled]{
	background-color:#eee;
	cursor:default;
}
input.error{
	border:2px solid #f00!important;
	background-color:#fee!important;
}
/*----- END フォーム：テキスト -----*/

/*----- フォーム：テキストエリア -----*/
textarea.f{
	box-sizing:border-box;
	display:inline-block!important;
	padding:8px;
	background-color:#fff;
	border:1px solid #ccc;
	border-radius:4px;
	font-size:14px;
	line-height:150%;
	color:#333;
	box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
	transition:border-color ease-in-out 0.15s,
                   box-shadow ease-in-out 0.15s,
                  -webkit-box-shadow ease-in-out 0.15s;
}
textarea.f:focus{
	border-color:#41b2f2;
	outline:0;
	box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),
                   0 0 8px rgba(65, 178, 242, 0.6);
}
textarea.f[disabled]{
	background-color:#eee;
	cursor:default;
}
textarea.error{
	border:2px solid #f00!important;
	background-color:#fee!important;
}
/*----- END フォーム：テキストエリア -----*/

/*----- フォーム：ラジオ・チェック -----*/
input[type=radio].f,
input[type=checkbox].f{
	display:none;
}
input[type=radio].f + span,
input[type=checkbox].f + span{
	box-sizing:border-box;
	display:inline-block;
	padding:8px 12px;
	border:1px solid #bbb;
	border-radius:6px;
	background-color:#fff;
	font-weight:bold;
	font-size:14px;
	line-height:150%;
	color:#333;
	transition:all 0.1s linear;
	cursor:pointer;
}
input[type=radio].f:checked + span,
input[type=checkbox].f:checked + span{
	background-color:#0084cf;
	border-color:#00639c;
	color:#fff;
	box-shadow:inset 2px 2px 4px rgba(0, 0, 0, 0.2);
}
input[type=radio].f.red:checked + span,
input[type=checkbox].f.red:checked + span{
	background-color:#cf0084;
	border-color:#9c0063;
}
input[type=radio].f:disabled + span,
input[type=checkbox].f:disabled + span{
	opacity:0.4;
}
div.radioWrap{
	font-size:0;
	line-height:0;
}
div.radioWrap > label > input[type=radio].f + span,
div.radioWrap > label > input[type=checkbox].f + span{
	border-radius:0;
}
div.radioWrap > label:first-of-type > input[type=radio].f + span,
div.radioWrap > label:first-of-type > input[type=checkbox].f + span{
	border-top-left-radius:6px;
	border-bottom-left-radius:6px;
}
div.radioWrap > label:not(:first-of-type) > input[type=radio].f + span,
div.radioWrap > label:not(:first-of-type) > input[type=checkbox].f + span{
	border-left:0;
}
div.radioWrap > label:last-of-type > input[type=radio].f + span,
div.radioWrap > label:last-of-type > input[type=checkbox].f + span{
	border-top-right-radius:6px;
	border-bottom-right-radius:6px;
}
/*----- END フォーム：ラジオ・チェック -----*/

/*----- フォーム：検索フォーム -----*/
input.search{
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	border-right:0;
	padding-left:30px;
	background-image:url(/commons/imgs/icons_form.png);
	background-repeat:no-repeat;
	background-position:5px center;
	background-size:20px 20px;
	vertical-align:middle;
}
input.search + button{
	border-top-left-radius:0;
	border-bottom-left-radius:0;
	border-left:0;
	vertical-align:middle;
}
/*----- END フォーム：検索フォーム -----*/

/*----- フォーム：セレクト -----*/
select.f{
	box-sizing:border-box;
	height:39px;
	padding:8px;
	border:1px solid #ccc;
	border-radius:4px;
	font-size:14px;
	line-height:150%;
	color:#333;
	box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
	transition:border-color ease-in-out 0.15s,
                   box-shadow ease-in-out 0.15s,
                  -webkit-box-shadow ease-in-out 0.15s;
}
select.f[disabled]{
	pointer-events:none;
	opacity:0.4;
	cursor:default;
	box-shadow:none;
}
select.f:focus{
	border-color:#41b2f2;
	outline:0;
	box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),
                   0 0 8px rgba(65, 178, 242, 0.6);
}
select.error{
	border:2px solid #f00!important;
	background-color:#fee!important;
}
/*----- END フォーム：セレクト -----*/

/*----- フォーム：セレクト：chosen -----*/
select.f + div.chosen-container > a.chosen-single{
	box-sizing:border-box;
	height:39px;
	padding:8px;
	border:1px solid #ccc;
	border-radius:4px;
	font-size:14px;
	line-height:150%;
	color:#333;
}
select.f + div.chosen-container > a.chosen-single > abbr{
	top:13px;
}
select.f + div.chosen-container > a.chosen-single > div > b{
	background-position-y:10px;
}
/*----- END フォーム：セレクト：chosen -----*/

/*----- フォーム：ボタン -----*/
button{
	box-sizing:border-box;
	display:inline-block;
	border:0;
	border-radius:8px;
	padding:16px;
	font-size:16px;
	line-height:1em;
	cursor:pointer;
}
button[type=submit],
button.positive{
	background-color:#4e7ec0;
	color:#fff;
}
/*----- END フォーム：ボタン -----*/

/*----- フォーム：ボタン：ボーター -----*/
button.border{
	display:inline-block;
	box-sizing:border-box;
	padding:8px 12px;
	border:1px solid #848484;
	border-radius:4px;
	background-color:#fff;
	font-size:14px;
	line-height:150%;
	color:#747474;
	cursor:pointer;
	outline:none;
	white-space:nowrap;
	vertical-align:middle;
	transition:background-color 0.1s linear,
                   color 0.1s linear;
}
button.border.blue{
	border-color:#0084cf;
	color:#0074b6;
}
button.border.red{
	border-color:#cf0084;
	color:#b60074;
}
button.border.big{
	padding:10px 16px;
	font-size:18px;
	line-height:133%;
}
button.border[disabled]{
	pointer-events:none;
	opacity:0.4;
	cursor:default;
	box-shadow:none;
}
button.border:hover:not([disabled]){
	background-color:#dadada;
}
button.border:active:not([disabled]){
	color:#fff;
}
button.border:active.blue:not([disabled]){
	background-color:#4c7d98;
}
button.border:active.red:not([disabled]){
	background-color:#984c7d;
}
button.border.plus,
button.border.minus{
	position:relative;
	padding-left:36px;
}
button.border.plus::before,
button.border.plus::after,
button.border.minus::after{
	content:"";
	position:absolute;
	left:12px;
	top:17px;
	width:14px;
	height:2px;
	background-color:#848484;
}
button.border.plus.blue::before,
button.border.plus.blue::after,
button.border.minus.blue::after{
	background-color:#0084cf;
}
button.border.plus.red::before,
button.border.plus.red::after,
button.border.minus.red::after{
	background-color:#cf0084;
}
button.border.plus::before{
	transform:rotate(90deg);
}
/*----- END フォーム：ボタン：ボーター -----*/

/*----- フォーム：ボタン：べた塗 -----*/
button.background{
	display:inline-block;
	box-sizing:border-box;
	padding:8px 12px;
	border:1px solid #747474;
	border-radius:4px;
	background-color:#848484;
	font-size:14px;
	line-height:150%;
	color:#fff;
	cursor:pointer;
	outline:none;
	white-space:nowrap;
	vertical-align:middle;
	transition:background-color 0.1s linear;
}
button.background.blue{
	border-color:#0074b6;
	background-color:#0084cf;
}
button.background.red{
	border-color:#b60074;
	background-color:#cf0084;
}
button.background.big{
	padding:10px 16px;
	border-radius:6px;
	font-size:18px;
	line-height:133%;
}

button.background[disabled]{
	pointer-events:none;
	opacity:0.4;
	cursor:default;
	box-shadow:none;
}
button.background:hover:not([disabled]){
	border-color:#4d4d4d;
	background-color:#636363;
	color:#fff;
}
button.background.blue:hover:not([disabled]){
	border-color:#004d78;
	background-color:#00639c;
	color:#fff;
}
button.background.red:hover:not([disabled]){
	border-color:#78004d;
	background-color:#9c0063;
	color:#fff;
}
button.background:active:not([disabled]){
	border-color:#222222;
	background-color:#4d4d4d;
	color:#fff;
}
button.background.blue:active:not([disabled]){
	border-color:#002236;
	background-color:#004d78;
	color:#fff;
}
button.background.red:active:not([disabled]){
	border-color:#360022;
	background-color:#78004d;
	color:#fff;
}
div.buttonWrap{
	display:inline-block;
	box-sizing:border-box;
	padding:3px;
	border:1px solid #e5e5e5;
	border-radius:8px;
	background-color:#eee;
}
/*----- END フォーム：ボタン：べた塗 -----*/

/*----- フォーム：ボタン：プラス -----*/
button.plus{
	position:relative;
	padding-left:35px;
}
button.plus::before,
button.plus::after{
	content:"";
	position:absolute;
	width:16px;
	height:2px;
	top:17px;
	left:12px;
	background-color:#fff;
}
button.plus::before{
	transform:rotate(90deg);
}

button.plus.blue::before,
button.plus.blue::after{
	background-color:#0084cf;
}
/*----- END フォーム：ボタン：プラス -----*/

/*----- フォーム：ボタン：左向き -----*/
button.lt{
	position:relative;
	padding-left:35px;
}
button.lt::before,
button.lt::after{
	content:"";
	position:absolute;
	width:12px;
	height:2px;
	left:14px;
	background-color:#fff;
}
button.lt::before{
	top:14px;
	transform:rotate(35deg);
}
button.lt::after{
	top:20px;
	transform:rotate(-35deg);
}

button.lt.blue::before,
button.lt.blue::after{
	background-color:#0084cf;
}
/*----- END フォーム：ボタン：左向き -----*/

/*----- フォーム：ボタン：右向き -----*/
button.gt{
	position:relative;
	padding-left:35px;
}
button.gt::before,
button.gt::after{
	content:"";
	position:absolute;
	width:12px;
	height:2px;
	left:14px;
	background-color:#fff;
}
button.gt::before{
	top:14px;
	transform:rotate(-35deg);
}
button.gt::after{
	top:20px;
	transform:rotate(35deg);
}

button.gt.blue::before,
button.gt.blue::after{
	background-color:#0084cf;
}
/*----- END フォーム：ボタン：右向き -----*/

/*----- フォーム：ボタン：ハンバーガー -----*/
button.hamburger{
	position:relative;
	padding-left:35px;
}
button.hamburger::before,
button.hamburger::after,
button.hamburger > div:first-child{
	content:"";
	position:absolute;
	width:16px;
	height:2px;
	left:12px;
	background-color:#fff;
	transform-origin:left;
	transition:all 0.075s linear;
}
button.hamburger::before{
	top:10px;
}
button.hamburger::after{
	top:24px;
}
button.hamburger > div:first-child{
	top:17px;
}

button.hamburger.blue::before,
button.hamburger.blue::after,
button.hamburger.blue > div:first-child{
	background-color:#0084cf;
}
/*----- END フォーム：ボタン：ハンバーガー -----*/

/*----- フォーム：ボタンをフッターに固定する -----*/
#main > div.footBtnFixed{
	position:fixed;
	bottom:0;
	left:0;
	z-index:9;
	width:100%;
	padding-left:280px;
	padding-top:5px;
	padding-bottom:5px;
	border-radius:0;
	background-color:#fff;
	box-shadow:0 0 10px rgba(0, 0, 0, 0.3);
	transition:padding-left 0.2s cubic-bezier(0.23, 1, 0.32, 1);
}
#navMenu.contract + #main > div.footBtnFixed{
	padding-left:66px;
}
/*----- END フォーム：ボタンをフッターに固定する -----*/

/***** END フォーム *****/



/**************************************************
 *
 * ポップアップメッセージ
 *
 **************************************************/
body.modal{
	overflow:hidden;
	height:100%;
}
body.modal > *{
	filter:blur(5px);
}
body > div.popup{
	position:fixed;
	top:1000%;
	left:1000%;
	z-index:501;
	filter:none;
}
body.modal > div.popup{
	top:0;
	left:0;
	width:100%;
	height:100%;
}
body > div.popup::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(128, 128, 128, 0.6);
}
body.modal > div.popup > div.popupWrap{
	position:absolute;
	top:50%;
	left:50%;
	transform:translateY(-50%) translateX(-50%);
	width:452px;
	background-color:#ffffff;
	border:1px solid #3b3138;
	box-shadow:0 0 15px rgba(0, 0, 0, 0.3);
}
body.modal > div.popup > div.popupWrap > div.header{
	position:relative;
	box-sizing:border-box;
	width:100%;
	height:30px;
	background-color:#0060AB;
	padding:0 10px;
}
body.modal > div.popup > div.popupWrap > div.header > div.subject{
	font-weight:bold;
	font-size:14px;
	line-height:30px;
	color:#fff;
}
body.modal > div.popup > div.popupWrap > div.header > div.close{
	position:absolute;
	top:0;
	right:0;
	width:70px;
	height:30px;
	padding-right:5px;
	font-weight:bold;
	font-size:14px;
	line-height:30px;
	color:#fff;
	cursor:pointer;
}
body.modal > div.popup > div.popupWrap > div.header > div.close::before,
body.modal > div.popup > div.popupWrap > div.header > div.close::after{
	content:"";
	position:absolute;
	top:13px;
	right:8px;
	display:inline-block;
	width:20px;
	height:3px;
	background-color:#fff;
}
body.modal > div.popup > div.popupWrap > div.header > div.close::before{
	transform:rotate(45deg);
}
body.modal > div.popup > div.popupWrap > div.header > div.close::after{
	transform:rotate(-45deg);
}
body.modal > div.popup > div.popupWrap > div.body{
	box-sizing:border-box;
	width:100%;
	height:160px;
	padding:20px;
	font-size:14px;
	line-height:21px;
	color:#000;
	overflow-y:auto;
}
body.modal > div.popup > div.popupWrap > div.footer{
	box-sizing:border-box;
	width:100%;
	height:60px;
	text-align:right;
	background-color:#f8f8f8;
}
body.modal > div.popup > div.popupWrap > div.footer > div.buttons{
	padding:15px 10px;
}
body.modal > div.popup > div.popupWrap > div.footer > div.buttons > button{
	box-sizing:border-box;
	margin-left:5px;
	padding:0 30px;
	border-style:none;
	border-radius:5px;
	font-size:16px;
	line-height:30px;
	cursor:pointer;
}
body.modal > div.popup > div.popupWrap > div.footer > div.buttons > button:disabled{
	cursor:not-allowed;;
}
/***** END ポップアップメッセージ *****/



/**************************************************
 *
 * ツールチップ
 *
 **************************************************/
span.tooltip{
	box-sizing:border-box;
	margin:0 0 0 5px;
	display:inline-block;
	vertical-align:middle;
	width:19px;
	height:19px;
	background-color:#fff;
	border-color:#848484;
	border-width:1px;
	border-style:solid;
	border-radius:15px;
	line-height:18px;
	font-size:9px;
	text-align:center;
	color:#747474;
	overflow:hidden;
	transition:background 0.1s linear;
	cursor:pointer;
}
span.tooltip:hover{
	color:#fff;
	background-color:#747474;
}

span.tooltip.blue{
	color:#0084cf;
	border-color:#0084cf;
}
span.tooltip.blue:hover{
	color:#fff;
	background-color:#0084cf;
}

body > div.tooltip{
	box-sizing:border-box;
	position:absolute;
	z-index:9999;
	display:block;
	max-width:400px;
	background-color:#333;
	border-radius:4px;
	padding:5px 8px;
	box-shadow:2px 2px 8px rgba(0, 0, 0, 0.5);
	font-size:12px;
	line-height:1.5;
	line-break:auto;
	text-align:start;
	color:#fff;
	opacity:0;
	transition:opacity 0.15s linear;
	white-space:normal;
	word-break:normal;
	word-spacing:normal;
	word-wrap:normal;
}
body > div.tooltip.in{
	opacity:1;
}


body > div.tooltip::before{
	content:"";
	position:absolute;
	bottom:-7px;
	left:50%;
	margin-left:-5px;
	width:0;
	height:0;
	border-width:7px 7px 0;
	border-color:transparent;
	border-top-color:#000;
	border-style:solid;
}
/***** END ツールチップ *****/



/**************************************************
 *
 * トップへ戻る
 *
 **************************************************/
#btnReturnTop{
	position:fixed;
	bottom:-100px;
	right:20px;
	width:50px;
	height:50px;
	z-index:99999;
	opacity:0.5;
	cursor:pointer;
}
#btnReturnTop:hover{
	opacity:1;
}
/***** END トップへ戻る *****/



/**************************************************
 *
 * ラッパー：中央寄せ
 *
 *	要親要素
 *		position:fixed;
 *		top:0;
 *		left:0;
 *		width:100%;
 *		height:100%;
 *
 **************************************************/
div.wrapCenter{
	position:absolute;
	top:50%;
	left:50%;
	transform:translateY(-50%) translateX(-50%);
	-webkit-transform:translateY(-50%) translateX(-50%);
	box-sizing:border-box;
	background-color:#f3f3f3;
	padding:40px;
	cursor:default;
}
/***** END ラッパー：中央寄せ *****/



/***** 閉じるボタン *****/
div.btnClose{
	position:absolute;
	top:5px;
	right:5px;
	margin:0;
	width:25px;
	height:25px;
	border:0;
	padding:0;
	background-color:#2784AB;
	border-radius:20px;
	cursor:pointer;
}
div.btnClose::before,
div.btnClose::after{
	content:"";
	position:absolute;
	top:4px;
	left:11px;
	width:3px;
	height:16px;
	border:0;
	margin:0;
	padding:0;
	background-color:#fff;
}
div.btnClose::before{
	transform:rotate(45deg);
}
div.btnClose::after{
	transform:rotate(-45deg);
}
/***** END 閉じるボタン *****/