@charset "UTF-8";
/*
@import url(//fonts.googleapis.com/css?family=Lato:400,700);
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);
*/
/*―――――――――――――――――――――――――――――
	独自リセット
―――――――――――――――――――――――――――――*/



/*―――――――――――――――――――――――――――――
	全体レイアウト
―――――――――――――――――――――――――――――*/
html, body {
}
hr {
	color: #5D639E;
}
.disabled {
	display: none !important;
}

/*―――――――――――――――――――――――――――――
	body
―――――――――――――――――――――――――――――*/
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;

	width: 100%;
	font-size: 100%;
	background-color: #ECEDF6;
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

/*―――――――――――――――――――――――――――――
	header
―――――――――――――――――――――――――――――*/
header {
/*
	position: fixed;
	width: 100%;
	top: 0px;
	left: 0px;
	z-index: 9999;
*/
	background-color: #5D639E;
}
header div {
	display: flex;
}
header div p.logo {
	padding: 5px;
	color: #FFF;
	font-size: 18px;
}
header div p.logo a {
	color: #FFF;
}
header div p.user {
	display: inline-block;
	margin-left: auto;
	padding: 8px 5px 5px 5px;
	color: #FFF;
	font-size: 12px;
}
header div p.user strong {
	font-size: 16px;
	font-weight: normal;
	color: #FFE600;
}
header div p.user i {
	padding-right: 5px;
	font-size: 16px;
}

/* ナビゲーション */
header nav.global {

}
header nav.global ul {
	display: flex;
}
header nav.global ul li {
	width: calc(100% / 3);
	text-align: center;
	border: 1px solid #5D639E;
	border-width: 1px 0px 1px 1px;
	background-color: #FFF;
	height: 35px;
	line-height: 35px;
	font-size: 14px;
}
header nav.global ul li:last-child {
	border-width: 1px 1px 1px 1px;
}
header nav.global ul li a {
	display: block;
	color: #5D639E;
}
header nav.global ul li i {
	margin-right: 3px;
}

/* パンくずリスト */
div.rcrumbs {
	padding: 5px 5px 0px;
	background-color: #ECEDF6;
	width: 100%;
}
div.rcrumbs ul {
	width: 100%;
}
div.rcrumbs ul li {
	height: 25px;
	line-height: 25px;
}
div.rcrumbs ul li a {
	
}
div.rcrumbs ul li a:hover {
	
}
div.rcrumbs ul li span {
	padding: 0px 3px;
}

/*―――――――――――――――――――――――――――――
	footer
―――――――――――――――――――――――――――――*/
footer {
	margin-top: auto;
	background-color: #5D639E;
	padding: 5px;
	text-align: center;
	color: #FFF;
	position: relative;
}

/*―――――――――――――――――――――――――――――
	ページの先頭に戻る
―――――――――――――――――――――――――――――*/
div.to_top {
	display: none;
	position: fixed;
	bottom: 15px;
	right: 20px;
}
div.to_top a {
	display: block;
	height: 50px;
	width: 50px;
	text-align: center;
	background-color: #5D639E;
	line-height: 50px;
	color: #FFF;
	font-size: 20px;
	border-radius: 25px;
	box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.1);
}


/*―――――――――――――――――――――――――――――
	main
―――――――――――――――――――――――――――――*/
main {
/*
	margin: 70px auto 0px;
*/
	margin: 0px auto 40px;
	padding-top: 5px;
	width: 100%;
}
main > section {
	margin: 0px auto 10px;
	width: calc(100% - 20px);
	padding: 5px;
	background-color: #F9F9F9;
}

/* セクションタイトル */
main section > p.title {
	padding: 5px 0px 15px 5px;
	font-size: 16px;
	color: #333;
}
main section > p.title span {
	display: inline-block;
	margin-left: 10px;
	padding: 0px 8px;
	text-align: center;
	background-color: #FFF;
}

@media screen and (max-width:480px) {
	main section > p.title {
		font-size: 16px;
	}
	main section > p.title span {
		font-size: 13px;
	}
}
@media screen and (min-width:481px) {
	main section > p.title {
		font-size: 24px;
	}
	main section > p.title span {
		font-size: 16px;
	}
}

/* メッセージ */
div#msg {
	display: none;
	margin: 20px auto 40px;
	max-width: 600px;
}
div#msg p {
	width: calc(100% - 20px);
	background-color: #ECEDF6;
	padding: 10px 10px 10px 20px;
	border-radius: 10px;
	color: #5D639E;
}

/* NOTICE */
p.notice {
	color: #D00000;
	padding-left: 10px;
	font-size: 13px;
}
p.notice i {
	margin-right: 3px;
}

/* エラー表示 */
div#error {
	display: none;
	margin: 20px auto 40px;
	max-width: 600px;
}
div#error ul {
	width: calc(100% - 20px);
	background-color: #FCF0F1;
	padding: 10px 10px 10px 20px;
	border-radius: 10px;
}
div#error ul li {
	color: #D04255;
	font-size: 14px;
}
div#error ul li i.fas {
	padding-right: 5px;
}


/* ボタン共通 */
main section span.btn {
	display: inline-block;
	padding: 2px 10px;
	border: 1px solid #999;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	transition: 0.2s;
	background-color: #F3F3F3;
	color: #666;
}
main section span.btn:hover,
main section span.btn:focus {
	border-color: #999;
	background-color: #999;
	color: #FFF;
}
main section span.btn i {
	padding-right: 3px;
}

/* 実行ボタン */
main section span[data-type='submit'] {
	padding: 5px 20px;
	background-color: #F3F3F3;
	border-color: #999;
}
main section span[data-type='submit']:hover,
main section span[data-type='submit']:focus {
	border-color: #D04255;
	border-width: 2px;
	background-color: #FFF;
	color: #D04255;
}

/* 編集ボタン */
main section span[data-type='edit'] {
	background-color: #F3F3F3;
}
main section span[data-type='edit']:hover,
main section span[data-type='edit']:focus {
	border-color: #0086AB;
	background-color: #0086AB;
	color: #FFF;
}

/* 検索ボタン */
main section span[data-type='search'] {
	background-color: #F3F3F3;
}
main section span[data-type='search']:hover,
main section span[data-type='search']:focus {
	border-color: #0086AB;
	background-color: #0086AB;
	color: #FFF;
}

/* 選択ボタン */
main section span[data-type='select'] {
	background-color: #F3F3F3;
}
main section span[data-type='select']:hover,
main section span[data-type='select']:focus {
	border-color: #5D639E;
	background-color: #5D639E;
	color: #FFF;
}

/* 非表示ボタン */
main section span[data-type='delete'] {
	padding: 2px 5px !important;
	border-color: #C7243A;
	background-color: #FFAEAE;
	color: #C7243A;
}
main section span[data-type='delete']:hover,
main section span[data-type='delete']:focus {
	border-color: #C7243A;
	background-color: #C7243A;
	color: #FFF;
}

/* 再掲載ボタン */
main section span[data-type='restart'] {
	padding: 2px 5px !important;
	border: 1px solid #AC9A00;
	background-color: #FFE502;
	color: #796D00;
}
main section span[data-type='restart']:hover,
main section span[data-type='restart']:focus {
	border-color: #AC9A00;
	background-color: #AC9A00;
	color: #FFF;
}

/* 新規投稿ボタン */
main section span[data-type='new'] {
	background-color: #F3F3F3;
	padding: 2px 5px;
}
main section span[data-type='new']:hover,
main section span[data-type='new']:focus {
	border-color: #0086AB;
	background-color: #0086AB;
	color: #FFF;
}

/* トグルボタン */
main section span.toggle {
	display: inline-block;
	padding: 2px 10px;
	border: 1px solid #999;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	transition: 0.2s;
	background-color: #F3F3F3;
	color: #666;
}
main section span.toggle.enabled {
	border-color: #5D639E;
	background-color: #5D639E;
	color: #FFF;
}

/* 入力フォームの選択用ボタンスタイル */
main section ul.input_toggle_btn {
	display: flex;
}
main section ul.input_toggle_btn li {
	margin-right: 5px;
}
main section ul.input_toggle_btn li:last-chiled {
	margin-right: 0px;
}
main section ul.input_toggle_btn li span {
	display: block;
	padding: 2px 10px;
	text-align: center;
	border: 1px solid #666;
	border-radius: 4px;
	background-color: #FFF;
	color: #333;
	transition: 0.1s linear;
	cursor: pointer;
	font-size: 14px;
}
main section ul.input_toggle_btn li span.selected {
	border: 1px solid #208DC3;
	background-color: #208DC3;
	color: #FFF;
}


/* フォーム用レイアウト */
section.form {
}
section.form div {
	
}
section.form div dl {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
}
section.form div dl dt {
	color: #FFB10A;
	font-size: 13px;
	font-weight: normal;
}
section.form div dl dd {
	position: relative;
}
@media screen and (max-width:480px) {
	section.form div dl {
		margin-bottom: 15px;
	}
	section.form div dl dt {
		margin-bottom: 3px;
		width: 100%;
	}
	section.form div dl dt:before {
		padding-right: 2px;
		content: "■";
	}
	section.form div dl dd {
		width: 100%;
	}
}
@media screen and (min-width:481px) {
	section.form div {
		margin: 0px auto;
		max-width: 900px;
	}
	section.form div dl {
		margin-bottom: 20px;
	}
	section.form div dl dt {
		margin-right: 10px;
		min-width: 110px;
		max-width: calc(50% - 10px);
		font-weight: bold;
		text-align: right;
		align-self: center;
	}
	section.form div dl dd {
		min-width: calc(100% - 160px);
		max-width: 50%;
	}
}

/* フォーム基本スタイル */
form input[type='text'],
form input[type='password'],
form input[type='date'],
form input[type='time'],
form textarea,
form select {
	margin: 0px 1px;
	padding: 3px 3px 3px 5px;
	border: 1px solid #999;
	border-radius: 4px;
	font-size: 16px;
	background-color: #FFF;
}
form input[type='text']:focus,
form input[type='password']:focus,
form input[type='date']:focus,
form input[type='time']:focus,
form textarea:focus,
form select:focus {
	border: 1px solid #FF9451;
	outline: none;
	box-shadow: 0 0 5px 1px rgba(255,177,10, 0.5);
	background-color: #FFFDFA;
}

/* 業種アイコン */
span.job_icon {
	display: inline-block;
	border: 1px solid #CCC;
	border-radius: 4px;
	padding: 1px 1px;
	text-align: center;
	font-size: 10px;
	color: #FFF;
	letter-spacing: -1px;
	width: 36px;
}
span.job_icon[data-type='icon_job_01'] {
	background-image: linear-gradient(top,#CC0000,#BC0000);
	background-image: -webkit-linear-gradient(top,#CC0000,#BC0000);
	border-color: #990000;
}
span.job_icon[data-type='icon_job_11'] {
	background-image: linear-gradient(top,#2B63C1,#1E45AE);
	background-image: -webkit-linear-gradient(top,#2B63C1,#1E45AE);
	border-color: #2929A3;
}
span.job_icon[data-type='icon_job_21'] {
	background-image: linear-gradient(top,#669966,#477A47);
	background-image: -webkit-linear-gradient(top,#669966,#477A47);
	border-color: #295200;
}
span.job_icon[data-type='icon_sexual_01'] {
	background-image: linear-gradient(top,#2DAC2D,#1F931F);
	background-image: -webkit-linear-gradient(top,#2DAC2D,#1F931F);
	border-color: #175617;
}
span.job_icon[data-type='icon_sexual_11'] {
	background-image: linear-gradient(top,#FF4280,#ED3D77);
	background-image: -webkit-linear-gradient(top,#FF4280,#ED3D77);
	border-color: #BA3B57;
}
span.job_icon[data-type='icon_shop_01'],
span.job_icon[data-type='icon_shop_11'],
span.job_icon[data-type='icon_shop_21'],
span.job_icon[data-type='icon_shop_31'],
span.job_icon[data-type='icon_shop_41'] {
	background-image: linear-gradient(top,#FFCC00,#FFBC00);
	background-image: -webkit-linear-gradient(top,#FFCC00,#FFBC00);
	border-color: #A35200;
	color: #333333;
}
span.job_icon[data-type='icon_job_99'],
span.job_icon[data-type='icon_sexual_99'],
span.job_icon[data-type='icon_shop_99'] {
	background-image: linear-gradient(top,#FFFFFF,#FFFFFF);
	background-image: -webkit-linear-gradient(top,#FFFFFF,#FFFFFF);
	color: #666;
}

/*―――――――――――――――――――――――――――――
	aside
―――――――――――――――――――――――――――――*/
aside {
	
}
