/* -------------------------------------------
全画面共通
style.css
---------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&display=swap');
@import url(https://use.fontawesome.com/releases/v5.10.0/css/all.css);

header{
	position: fixed;
	background-color: #1cc5b1;
	width: 100%;
	height: 35px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	z-index: 9;
}
header img{
	margin-left: 10px;
	height: 20px;
}
.all_wrap{
	padding-top: 35px;
	width: 100%;
	height: 100vh;
}
.menu{
	background-color: #26D3C0;
	width: 100px;
	height: 100vh;
	position: fixed;
}
.menu_list li{
	background-color: #26D3C0;
	height: 100px;
	padding: 10px;
	cursor: pointer;
	transition: 0.5s;
	border-bottom: 1px solid rgba(255, 255, 255, 0.747);
	color: #fff;
}
.menu_list li:nth-child(3) p{
	font-size: 12px;
}
.menu_list li:hover{
	background-color: #fff;
	color: #26D3C0;
}
.menu_list li i{
	margin: 5px auto;
	font-size: 45px;
	margin-bottom: 10px;
}

.menu_list p{
	text-align: center;
	font-size: 14px;
}

.main{
	margin-left: 150px;
	margin-top: 30px;
}
.pg_title{
	background-color: #26D3C0;
	padding: 10px 15px;
	border-radius: 20px 0 0 20px;
	color: #fff;
	font-weight: bold;
}
.pg_title i{
	margin-right: 5px;
	font-size: 20px;
}
.main{
	padding-bottom: 5%;
	margin-bottom: 40px;
}
.contents{
	margin: 20px;
}
/* TOPに戻るボタン */
#page_top{
	width: 50px;
	height: 50px;
	position: fixed;
	right: 0;
	bottom: 0;
	background: #26D3C0;
	opacity: 0.6;
	border-radius: 50%;
	}
#page_top a{
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}
#page_top a::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f102';
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: -5px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}
/* --------------------------------------------
共通:フォーム
----------------------------------------------- */
.form_controll{
	text-align: left;
	border: 1px solid #e6c035;
	padding: 8px 12px;;
	border-radius: 3px;
	width: 250px;
}
.form_max{
	width: 100%;
}
.form_harf{
	width: 50%;
}
.form_small{
	width: 20%;
}
.form_vsmall{
	width: 10%;
}
/*チェックボックス*/
input[type="checkbox"] {
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

input[type="checkbox"] + label,
input[type="checkbox"] + input[type="hidden"] + label {
	display: block;
	position: relative;
	padding-left: 35px;
	margin-bottom: 20px;
	font: 14px/20px 'Open Sans', Arial, sans-serif;
	color: #ddd;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

input[type="checkbox"] + label:last-child { margin-bottom: 0; }

input[type="checkbox"] + label:before,
input[type="checkbox"] + input[type="hidden"] + label:before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border: 2px solid #e6c035;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: 0;
	opacity: .6;
	-webkit-transition: all .12s, border-color .08s;
	transition: all .12s, border-color .08s;
}

input[type="checkbox"]:checked + label:before,
input[type="checkbox"]:checked + input[type="hidden"] + label:before {
	width: 10px;
	top: -5px;
	left: 5px;
	border-radius: 0;
	opacity: 1;
	border-top-color: transparent;
	border-left-color: transparent;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
/*ラジオボタン*/
input[type="radio"] {
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
input[type="radio"] + label {
	display: block;
	position: relative;
	padding-right: 10px;
	font: 14px/20px 'Open Sans', Arial, sans-serif;
	color: #ddd;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

input[type="radio"] + label:last-child { margin-bottom: 0; }

input[type="radio"] + label:before {
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	border: 2px solid #e6c035;
	background-color: #fff;
	border-radius: 50%;
	margin: 0;
	opacity: .6;
	-webkit-transition: all .12s, border-color .08s;
	transition: all .12s, border-color .08s;
}

input[type="radio"]:checked + label:before {
	width: 10px;
	width: 16px;
	height: 16px;
	border: 2px solid #e6c035;
	background-color: #e6c035;
	border-radius: 50%;
	opacity: 1;
}
/* ラジオ・チェック共通 */
.label_area{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-top: 5px;
}
.label{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-right: 20px !important;
}
/* セレクトボックス */
.select_wrap{
	position: relative;
	width: 250px;
}
.select_wrap::before{
	z-index: 1;
	position: absolute;
	right: 19px;
	top: -2px;
	content: '\f13a';
	font-weight: 900;
	font-family: 'Font Awesome 5 Free';
	line-height: 43px;
	color: #e6c035;
	pointer-events: none;
}
.select_wrap select{
	border-radius: 3px;
	border: 1px solid #e6c035;
	padding: 8px 12px;
	width: 250px;
}

/*ファイル*/
input[type="file"] {
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
/* --------------------------------------------
共通:テーブル
----------------------------------------------- */
.side_table{
	width: 100%;
}
.side_table tr th,
.side_table tr td{
	padding: 5px 15px;
	vertical-align: middle;
	border: 1px solid #ececec;
}
.side_table tr th{
	background-color: #26D3C0;
	color: #fff;
}
.vertical_table{
	width: 100%;
}
.vertical_table tr th,
.vertical_table tr td{
	padding: 5px 15px;
	vertical-align: middle;
	border: 1px solid #ececec;
}
.vertical_table tr th{
	background-color: #26D3C0;
	color: #fff;
	text-align: center;
}
/* --------------------------------------------
共通:ボタン
----------------------------------------------- */
.btn_area{
	text-align: center;
	margin: 10px 0;
}
.btn_area_r{
	text-align: right;
	margin: 10px 0;
}
.btn_area_l{
	text-align: left;
	margin: 10px 0;
}
.normal_btn1,.normal_btn2{
	border-radius: 5px;
	padding: 8px 20px;
	border: 2px solid #26D3C0;
	transition: 0.5s;
	margin: 0 3px;
	white-space: nowrap;
}
.normal_btn1{
	background-color: #26D3C0;
	color: #fff;
}
.normal_btn2{
	background-color: #fff;
	color: #26D3C0;
}
.normal_btn1:hover,.normal_btn2:hover{
	opacity: 0.7;
}

.big_btn{
	border-radius: 5px;
	padding: 13px 60px;
	font-size: 20px;
	border: 2px solid #e6c035;
	transition: 0.5s;
	margin: 0 10px;
	background-color: #e6c035;
	transition: 0.5s;
	color: #fff;
	font-weight: bold;
	margin: 10px 0;
}
.big_btn:hover{
	opacity: 0.7;
}
.big_btn2{
	border-radius: 5px;
	padding: 13px 60px;
	font-size: 20px;
	border: 2px solid #e6c035;
	transition: 0.5s;
	margin: 0 10px;
	background-color: #fff;
	transition: 0.5s;
	color: #e6c035;
	font-weight: bold;
	margin: 10px 0;
}
.big_btn2:hover{
	opacity: 0.7;
}
.detail_btn{
	border-radius: 5px;
	padding: 13px 60px;
	font-size: 20px;
	border: 2px solid #e6c035;
	transition: 0.5s;
	margin: 0 10px;
	background-color: #e6c035;
	transition: 0.5s;
	color: #fff;
	font-weight: bold;
	margin: 10px 0;
}
.detail_btn{
	border-radius: 15px;
	padding: 5px 50px;
	font-size: 14px;
	border: 2px solid #e6c035;
	transition: 0.5s;
	margin: 0 10px;
	background-color: #e6c035;
	transition: 0.5s;
	color: #fff;
	font-weight: bold;

}
.detail_btn:hover{
	opacity: 0.8;
}
.del_btn{
	padding: 5px 10px;
	border: 2px solid #e6c035;
	color: #e6c035;
	background-color: #fff;
	transition: 0.5s;
	display: inline-block;
}
.del_btn:hover{
	opacity: 0.8;
	cursor: pointer;
}
.del_btn i{
	margin-right: 3px;
}
.add_btn{
	padding: 5px 10px;
	border: 2px solid #e6c035;
	color: #fff;
	background-color: #e6c035;
	transition: 0.5s;
	display: inline-block;
}
.add_btn:hover{
	opacity: 0.8;
	cursor: pointer;
}
.add_btn i{
	margin-right: 3px;
}
/* --------------------------------------------
共通：外部リンク
----------------------------------------------- */
.external_link{
	color: #008777;
	font-weight: bold;
	word-break: break-all;
}
.external_link:hover{
	opacity:0.7;
}
/* --------------------------------------------
ログイン画面
----------------------------------------------- */
.login{
	background-color: #26D3C0;
}
.login_table_area{
	width: 30%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
.login_area{
	position: relative;
	width: 100%;
	height: 100vh;

}
.login_table{
	margin: 0 auto;
}
.login_table tr td{
	padding: 10px;
	text-align: center;
}
.login_table .form_controll{
	border: none;
	background-color: #fff;
	padding: 12px 10px;
	width: 300px;
}
.login .label{
	width: 300px;
	margin: 0 auto;
}
.login .label p{
	margin-left: 10px;
	font-size: 16px;
	color: #fff;
}
.login input[type="checkbox"] + label,
.login input[type="checkbox"] + input[type="hidden"] + label{
	margin-bottom: 0;
}
.login input[type="checkbox"] + label:before,
.login input[type="checkbox"] + input[type="hidden"] + label:before {
	position: static;
	border: 2px solid #fff;
}
.login input[type="checkbox"]:checked + label:before,
.login input[type="checkbox"]:checked + input[type="hidden"] + label:before{
	border-top-color: transparent;
	border-left-color: transparent;
	margin-right: 10px;
}
.logo_area{
	text-align: center;
}
.logo_area img{
	width: 400px;
}
/* --------------------------------------------
企業検索
----------------------------------------------- */
.search_form_table_area{
	max-width: 900px;
	margin: 0 auto;
}
.search_form_table tr th{
	width: 100px;
	font-size: 14px;
}
.rank_col{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.rank_ttl{
	width: 100px;
	font-size: 12px;
}
.rank_breakdown{
	font-size: 12px;
	color: #0e9181;
	line-height: 1.5;
	margin-left: 50px;
}
.search_form_table .label_area{
	width: 300px;
}
.search_result_top{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	border-bottom: 1px solid #e6c035;
	padding: 5px 0;
}
.display_number_l p span{
	font-weight: bold;
	font-size: 22px;
}
.display_number_r{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.display_number_r p{
	margin-right: 5px;
}
.search_result_table{
	width: 95%;
	margin: 10px auto;
	margin-bottom: 30px;
}
.search_result_table_area{
	margin: 30px auto;
}
.search_result_table tr th{
	width: 150px;
}
.search_result_table tr td{
	min-width: 400px;
	width: 40%;
	word-break: break-all;
}
.search_result_table tr th,
.search_result_table tr td{
	padding: 8px 15px;
}
.tb_top{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.search_result_table tr:first-child td{
	background-color: #1cc5b1;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}
.ng_mark{
	border-radius: 10px;
	padding: 3px 5px;
	margin-left: 5px;
	font-size: 12px;
	background-color: #c5271c;
	color: #fff;
}
.rank_mark{
	border-radius: 15px;
	padding: 3px 5px;
	margin-right: 5px;
	font-size: 12px;
	font-weight: bold;
	border: 1px solid #707070;
	background-color: #fff;
	color: #707070;
}
.rank_mark2{
	padding: 5px;
	font-size: 18px;
	font-weight: bold;
	margin-right: 15px;
}

/* ランク：S */
.orange{
	color: orange;
}
/* ランク：A */
.red{
	color: red;
}
/* ランク：B */
.blue{
	color: blue;
}
/* ランク：C */
.green{
	color: green;
}
/* ランク：D */
.purple{
	color: purple;
}
.saler_memo_area{
	margin: 40px auto;
	border-top: 2px dotted #e6c035;
	border-bottom: 2px dotted #e6c035;
	padding: 25px;
}
.saler_memo_table tr th{
	padding: 10px 15px;
}
.saler_memo_table tr th:first-child{
	width: 150px;
}
.saler_memo_table tr th:nth-child(2){
	width: 100px;
}
.saler_memo_table tr th:nth-child(3){
	width: 400px;
}
.saler_memo_table tr th:last-child{
	width: 110px;
}
.saler_memo_table tr td{
	padding: 5px;
}
.saler_memo_ttl{
	font-size: 18px;
	/* font-weight: bold; */
	margin-bottom: 3px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.saler_memo_ttl i{
	/* border-bottom: 1px solid #e6c035; */
	color: #e6c035;
	margin-right: 5px;
	font-size: 28px;
}

/* --------------------------------------------
企業登録
----------------------------------------------- */
.regist_company{
	max-width: 1200px;
}
.cnt_sub_ttl{
	font-weight: bold;
	margin: 3px 0;
}
.cnt_sub_ttl i{
	color: #1cc5b1;
	margin-left: 3px;
	margin-right: 5px;
}
.regist_company_top_table tr th,
.regist_company_top_table tr td{
	padding: 5px 10px;
}
.regist_company_table_area{
	margin: 40px auto;
}
.regist_company_table div{
	margin: 5px 0;
}
.regist_company_table th{
	width: 90px;
	font-size: 14px;
	text-align: center;
}
.regist_company_table div span{
	padding: 0 5px;
}
.business td span{
	padding-right: 10px;
}
.business td .form_small{
	margin-right: 15px;
}
.business tr th{
	white-space: nowrap;
}
.business td .form_vsmall{
	margin-right: 3px;
}
.business .label_area{
	width: 300px;
}
.department tr th{
	width: 300px;
}
.department .del_btn{
	margin-left: 15px;
}
.charge_person tr th{
	width: 150px;
}
.charge_person input[type="checkbox"] + label:before{
	border: 2px solid #fff;
}
.charge_person input[type="checkbox"]:checked + label:before{
	border-top-color: transparent;
	border-left-color: transparent;
}
.charge_person input[type="checkbox"] + label{
	padding-left: 20px;
	margin-left: 20px;
}
.charge_person .label{
	margin: 10px auto 20px auto;
}
.charge_person .del_btn{
	margin-bottom: 5px;
}
.charge_tables{
	margin-bottom: 30px;
}
.invoice_info tr th{
	width: 150px;
}
.notes_table th{
	width: 150px;
}
.td_flex{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.td_flex span{
	display: block;
	font-size: 12px;
	width: 50px;
	padding-left: 5px;
}
.image_file{
	padding: 5px 8px 5px 5px;
	background-color: #EFEFEF;
	cursor: pointer;
	border-radius: 3px;
	border: #d0d0d0 0.5px solid;
	margin: 15px 15px 10px 15px;
	display: inline-block;
}

.image_flg{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-left: 15px !important;
}
.file_up_area{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

input#registButton2:disabled{
	background-color: #ddd;
	cursor : default;
}
.upload_file_error_area{
	display:none;
}
.upload_file_error_area p{
	color: #d32626;
}
/* --------------------------------------------
企業詳細　companyDetail
----------------------------------------------- */
.company_detail {
	max-width: 1200px;
}

.company_detail_table_corporateinformation th{
	width: 180px;
	font-size: 14px;
	text-align: center;
}

.company_detail_table_businessinformation {
	margin-bottom: 50px;
}

.company_detail_table_businessinformation th{
	width: 180px;
	font-size: 14px;
	text-align: center;
}

.company_detail_table_businessinformation {
	margin-bottom: 50px;
}

.company_detail_table_person {
	margin-bottom: 30px;
}
.company_detail_table_person tr:first-child th{
	width: 180px;
}
.company_detail_table_person th {
	width: 90px;
	font-size: 14px;
	text-align: center;
}

.company_detail_table_person td {
	width: 35%;
	word-break: break-all;
}

.company_detail_table_alert th {
	width: 180px;
	font-size: 14px;
	text-align: center;
}
.company_detail_table_alert textarea{
	height: 80px;
}
.company_detail_table_correspondence th {
	width: 90px;
	font-size: 14px;
	text-align: center;
}
.company_detail_table_correspondence textarea{
	height: 80px;
}
.company_detail_table_addition th {
	height: 50px;
	text-align: center;
}

.company_detail_table_addition tr {
	font-size: 14px;
	text-align: center;
}
.company_detail_table_addition td {
	max-width: 250px;
	word-break: break-all;
}

.company_detail_table_addition td:nth-child(6) {
	text-align: left;
}

.company_detail_btn_area {
	margin-bottom: 30px;
}
.company_detail_table_corporateinformation {
	margin-bottom: 40px;
}

.company_detail_table_corporateinformation tr th {
	font-size: 14px;
	padding: 8px 15px;
}

.company_detail_table_businessinformation {
	margin-bottom: 40px;
}

.company_detail_table_businessinformation tr th {
	font-size: 14px;
	padding: 8px 15px;
}

.companyinformation_detail{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.companyinformation_detail p {
	margin-right: 20px;
}


.businessinformation_detail{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}


.businessinformation_detail p {
	margin: 0 15px;
}

.company_detail_table_person tr th {
	font-size: 14px;
	padding: 8px 15px;
}

#person_plus_btn {
	background-color: #fff;
	transition: 0.5s;
	color: #e6c035;
}

#person_plus_btn:hover {
	opacity: 0.6;
	cursor:pointer;
}

#alert_plus_btn {
	background-color: #fff;
	transition: 0.5s;
	color: #e6c035;
}

#alert_plus_btn:hover {
	opacity: 0.6;
	cursor:pointer;
}

.call_history_result{
	background-color: #ddd;
	color:#999999;
}
.company_detail_table_invoice_info th {
	width: 180px;
	font-size: 14px;
	padding: 8px 15px !important;
	text-align: center;
}

.company_detail_table_invoice_info {
	margin-bottom: 40px;
}
/* --------------------------------------------
	ユーザー管理　userManagement
----------------------------------------------- */
.user_management {
	max-width: 900px;
}

.user_management_title {
	margin-bottom: 30px;
}

.user_management_table th {
	height: 50px;
	font-size: 16px;
}

.user_management_table td {
	font-size: 16px;
}

.user_management_table_name {
	width: 120px;
}

.user_management_btn_registration {
	width: 120px;
}

/* --------------------------------------------
	登録完了　completion
----------------------------------------------- */
.completion {
	font-size: 18px;
}
/* --------------------------------------------
エラーメッセージ
----------------------------------------------- */
.error_area{
	text-align: center;
	margin: 10px auto;
}
.error_area p{
	color: #d32626;
	font-weight: bold;
	line-height: 2;
}
.error_area p i{
	margin-right: 5px;
}
.error_ms{
	text-align: center;
}
.error_ms img{
	text-align: center;
	width: 400px;
	margin: 0 auto;
}
/*重複企業エラーメッセージ*/
.regist_company .error_area{
	text-align: left;
	padding: 0 10px;
}
.error_scroll{
	background-color: #E5FAF7;
	border-radius: 15px;
}
.error_scroll_area{
	height: 100px;
	overflow: hidden;
	padding: 10px;
}
.error_scroll_area p{
	color: #666666;
}
.slick-arrow{
	width: 100%;
	margin: 0 auto;
	font-weight: bold;
	color: #fff;
	background: #26D3C0;
	padding: 5px 30px 3px;
	transition: .3s;
	text-align: center;
	opacity: 0;
	font-size: 14px;
	border-radius: 0 0 15px 15px;
}
.prev_arrow{
	display: none;
}
.next_arrow{
	margin-top: 10px;
}
.prev_arrow:hover:not(.slick-disabled),
.next_arrow:hover:not(.slick-disabled){
	opacity: 0.5;
	cursor: pointer;
}
/* --------------------------------------------
完了メッセージ
----------------------------------------------- */
.success_area{
	text-align: center;
	margin: 10px auto;
}
.success_area p{
	font-weight: bold;
	line-height: 2;
}
/* --------------------------------------------
共通:モーダルウィンドウ
*画像のみライブラリ(lity)使用
----------------------------------------------- */
/* https://www.tipdip.jp/tips_posts/production/2090/ */
.modal_bg{
	position: fixed;
	width: 100%;
	height: 120%;
	background-color: #000;
	opacity: 0.8;
	top: 0;
	left: 0;
	display: none;
	z-index: 6666;
}

.modal_box {
	position: fixed;
	z-index: 7777;
	display: none;
	width: 80%;
	max-width: 840px;
	margin: 0;
	padding: 60px 2vw;
	border-radius: 5px;
	text-align: center;
	background: #fff;
	box-sizing: border-box;
	margin: 0 auto;
	max-height: 70vh;
	min-height: 50vh;
	overflow-y: scroll;
	overflow-x: hidden;
}
.modal_box p{
	text-align: left;
}
.modal_box p i{
	margin-right: 5px;
}
.modal_box iframe{
	height: 100%;
	min-height: 300px;
	width: 100%;
	border: 1px solid #707070;
	border-radius: 5px;
}
.modal_close{
	position: absolute;
	top: 5px;
	right: 5px;
	color: #707070;
	opacity: 0.8;
	font-size: 30px;
}

/* --------------------------------------------
入力フォームのキーボード操作
----------------------------------------------- */
input[type="radio"]:focus-visible ~ label:before,
input[type="reset"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
input[type="file"]:focus-visible,
button:focus-visible,
select:focus-visible,
.focus_elm{
	outline: #707070 solid 3px;
	outline-offset: 1px;
}