@charset "UTF-8";

/*----------------- リセット・共通基本設定 -----------------*/

html, body, div, span,
h1, h2, h3, h4, h5, h6,
p, ul, li, dl, dt, dd, ol,
table, tr, th, td, a, img, form,
header, footer, section, figure, figcaption {
	margin: 0;
	padding: 0;
	border: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
	min-width: 980px;
	font-size: 15px;
	background-color :#f3f3f3;
	line-height: 1.6;
	word-wrap: break-word;
}
body, button, input, select, textarea {
	color: var(--color_font_basic);
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
body.with_head {
	margin-top: 102px;
}
ul, ol {
	list-style-type:none;
}
table {
	border-collapse: collapse;
}
img {
	vertical-align: top;
}
input::-moz-focus-inner, button::-moz-focus-inner {
	border: 0;
	padding: 0;
}
/* css変数 */
:root {
	--color_bbred: #c60000;
	--color_danger: #c60000;
	--color_accent: #0078e3;
	--color_success: #00be9c;
	--color_blue: #1d3994;
	--color_link: #2984d6;

	--color_font_basic: #45454a;
	--color_gray_7: #73737a;
	--color_gray_c: #c6c6cf;
	--color_blog: #e64d3b;

	--hover_opacity: 0.7;
	--hover_transition: 0.3s;
}

/*----------------- 基本パーツ -----------------*/

/* ----- 基本リンク ----- */
a:link { color: #1d3994; text-decoration: none;}
a:visited { color: #1d3994; text-decoration: none;}
a:hover { color: #4a61a9; text-decoration: underline;}

/* ----- 矢印アイコン ----- */
.arrow_1 {
	background: url(/images/icon/icon_arrow_10_bk.svg) 0 center no-repeat;
	background-size: 5px 10px;
	text-indent: 9px;
}
a.arrow_1 {
	display: block;
}

/* 左カラム説明部分 */
.arrow_2 {
	float: left;
	margin: 8px 0 4px 12px;
}
.arrow_2:before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 10px;
	background: url(/images/icon/icon_arrow_10_bk.svg) 0 1px no-repeat;
	margin: 0 2px 0 -7px;
}
.arrow_3 {
	float: left;
	margin: 0 0 5px 12px;
}
.arrow_3:before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 10px;
	background: url(/images/icon/icon_arrow_10_bk.svg) 0 1px no-repeat;
	margin: 0 2px 0 -7px;
}
.arrow_4 {
	background: url(/images/icon/icon_arrow_10_bk.svg) 0 4px no-repeat;
	background-size: 5px 10px;
	text-indent:9px;
	float: left;
	color: #900;
	font-weight: bold;
}

.arrow_5 {
	background: url(/images/icon/icon_arrow_10.png) 0 -26px no-repeat;
	text-indent: 9px;
}

img.capture {
	border: 3px solid #ddd;
	box-sizing: border-box;
}

/* ----- リンクテキスト ----- */
.linktext {
	clear: both;
	text-align:right;
	font-size: 11px;
	display: block;
}
.linktext a:link {
	text-decoration: underline;
}

/* 左カラムのリンク他 */
.linktext_2 {
	padding: 10px;
	clear: both;
	font-size: 10px;
}
.linktext_2 a:link {
	text-decoration: underline;
}

/* gray_boxの外側リンク */
p.linktext_3 {
	text-align: right;
	margin: 10px 0 0 0;
}
p.linktext_3 a {
	text-decoration: underline;
}

/* 番号付きリスト */
ul.number, ol.number {
	padding-left: 1.8em;
	counter-reset: list_number;
}
ul.number li, ol.number li {
	position: relative;
	margin-bottom: 0.75em;
}
ul.number li::before, ol.number li::before {
	position: absolute;
	top: 0.1em;
	left: -1.8em;
	min-width: 1.3em;
	height: 1.3em;
	padding: 0 2px;
	border-radius: 2px;
	background: #555;
	content: counter(list_number);
	color: #fff;
	font-weight: 700;
	line-height: 1.3em;
	text-align: center;
	counter-increment: list_number;
	box-sizing: border-box;
}
ul.number.accent li::before, ol.number.accent li::before {
	background: var(--color_accent);
}

/* 通知 */
#notice {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	text-align: center;
	z-index: 9999;
	display: none;
}
#notice span {
	position: relative;
	display: inline-block;
}
#notice a {
	display: block;
	color: #ffde00;
	background-color: rgba(0, 0, 0, .65);
	padding: 13px 28px 13px 10px;
	border-radius: 0 0 8px 8px;
}
#notice a:hover {
	opacity: 0.9;
	text-decoration: none;
}
#notice img {
	vertical-align: middle;
	margin-right: 4px;
}
#notice button {
	position: absolute;
	top: 50%;
	right: 8px;
	cursor: pointer;
	background: url(/images/icon/icon_close.png) top left no-repeat;
	width: 18px;
	height: 0;
	padding-top: 18px;
	margin-top: -9px;
	border: 0;
	line-height: 1;
	overflow: hidden;
}
.note {
	font-size: 13px;
	color: var(--color_gray_7);
}
ul.notes li {
	position: relative;
	margin-left: 1em;
	font-size: 13px;
}
ul.notes li:before {
	content: "※";
	position: absolute;
	top: 0;
	left: -1em;
}
/* システムメッセージ */
.error_msg {
	text-align: center;
	color: #c60000;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
}
.system_msg {
	text-align: center;
	color: #c60000;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
}
/* 警告 */
.caution:before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url(/images/icon/icon_caution.png) 0 -68px no-repeat;
	vertical-align: -4px;
	margin-right: 3px;
}
.caution.weaker:before {
	background-position: 0 0;
}
.caution.stronger:before {
	background-position: 0 -34px;
}

/* ----- ↓PC・SP共通コンポーネント v2 ----- */
/* ボタン */
.button {
	position: relative;
	display: grid;
	place-items: center;
	width: 280px;
	border: none;
	margin: 16px auto;
	padding: 0 10px;
	color: #fff;
	background-color: #777;
	font-size: 16px;
	line-height: inherit;
	cursor: pointer;
	border-radius: 5px;
	font-weight: 700;
	transition: background-color var(--hover_transition);
	min-height: 48px;
	box-sizing: border-box;
	text-decoration: none;
}
a.button {
	color: #fff;
}
.button:hover {
	text-decoration: none;
}
.button:focus-visible {
	outline-offset: 2px;
	outline: 2px solid var(--color_link);
}
.button[class*="chevron-"]::after {
	content: "";
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	top: 50%;
	transform: translateY(-50%);
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h24v24h-24z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}
.button.chevron-right::after {
	right: 4px;
}
.button.chevron-left::after {
	left: 4px;
	transform: translateY(-50%) rotate(180deg);
}
.button.chevron-up::after {
	right: 4px;
	transform: translateY(-50%) rotate(-90deg);
}
.button.chevron-down::after {
	right: 4px;
	transform: translateY(-50%) rotate(90deg);
}
.button.primary {
	background-color: var(--color_bbred);
}
.button.primary:hover {
	background-color: #b20000;
	opacity: 1;
}
.button.primary:active {
	background-color: #9e0000;
}
.button.secondary {
	background-color: #fff;
	color: var(--color_bbred);
	border: 2px solid var(--color_bbred);
}
.button.secondary:hover {
	background-color: #f9e5e5;
	opacity: 1;
}
.button.secondary:active {
	background-color: #f4cccc;
}
.button.secondary[class*="chevron-"]::after {
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h24v24h-24z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%20stroke%3D%22%23c60000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}
.button.tertiary {
	background-color: #fff;
	color: var(--color_gray_7);
	border: 2px solid var(--color_gray_7);
}
.button.tertiary:hover {
	background-color: #f1f1f2;
	opacity: 1;
}
.button.tertiary:active {
	background-color: #e3e3e4;
}
.button.tertiary[class*="chevron-"]::after {
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h24v24h-24z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%20stroke%3D%22%2373737a%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}
.button.accent {
	background-color: #fff;
	color: var(--color_accent);
	border: 2px solid var(--color_accent);
}
.button.accent:hover {
	background-color: #e5f1fc;
	opacity: 1;
}
.button.accent:active {
	background-color: #cce4f9;
}
.button.accent[class*="chevron-"]::after {
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20fill%3D%22none%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20d%3D%22m0%200h24v24h-24z%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%20stroke%3D%22%230078e3%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}
.button.blog {
	background-color: var(--color_blog);
}
.button.blog:hover {
	background-color: #d44736;
	opacity: 1;
}
.button.blog:active {
	background-color: #c14132;
}
.button.short {
	width: 130px;
}
.button.short.chevron-right {
	width: 130px;
}
.button.size-s {
	width: 200px;
	min-height: 36px;
	font-size: 14px;
}
.button.size-s[class*="chevron-"]::after {
	width: 20px;
	height: 20px;
	background-size: 20px 20px;
}
.button.size-s.short {
	width: 90px;
	padding-right: 5px;
	padding-left: 5px;
}
.button.size-s.short.chevron-right::after, .button.size-s.short.chevron-up::after, .button.size-s.short.chevron-down::after {
	right: 2px;
}
.button.size-s.short.chevron-left::after {
	left: 2px;
}
.button.size-l {
	width: 300px;
	min-height: 60px;
	font-size: 18px;
}
.button.size-l[class*="chevron-"]::after {
	width: 28px;
	height: 28px;
	background-size: 28px 28px;
}
.button.size-l.short {
	width: 140px;
}
.button.fit {
	width: auto;
	display: inline-grid;
}
.button.disabled, .button:disabled {
	pointer-events: none;
	background-color: var(--color_gray_c);
	color: #fff;
	border: none;
}
.button-group {
	align-items: center;
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 16px 0;
}
.button-group .button {
	margin: 0;
}
.button-group.vertical {
	flex-direction: column;
}
.button-group:not(:has(.short)):not(:has(.size-s)):not(:has(.size-l)) {
	container: button-group / inline-size;
}
 .button-group:has(.size-s):not(:has(.short)) {
	container: button-group-size-s / inline-size;
}
 .button-group:has(.size-l):not(:has(.short)) {
	container: button-group-size-l / inline-size;
}
@container button-group (max-width: 579px) {
	.button-group .button.primary {
		order: -1;
	}
}
@container button-group-size-s (max-width: 419px) {
	.button-group .button.primary {
		order: -1;
	}
}
@container button-group-size-l (max-width: 619px) {
	.button-group .button.primary {
		order: -1;
	}
}

/* アラート */
.alert {
	text-align: center;
	font-weight: 700;
	font-size: 16px;
	margin: 0.8em auto;
}
@media (max-width: 480px) {
	.alert {
		margin-right: 10px;
		margin-left: 10px;
	}
}
.alert.size-s {
	font-size: 14px;
}
.alert.size-l {
	font-size: 18px;
}
.alert.bbred, .alert.danger {
	color: var(--color_bbred);
}
.alert.accent {
	color: var(--color_accent);
}
.alert.success {
	color: var(--color_success);
}
.alert.outline {
	border: 2px solid #c1c1c2;
	background: #f6f6f6;
	padding: 0.5em 0.7em;
	border-radius: 5px;
}
.alert.outline:empty {
	padding-top: 0;
	padding-bottom: 0;
	border: none;
}
.alert.bbred.outline, .alert.danger.outline {
	border-color: #eca9a9;
	background: #fcf2f2;
}
.alert.accent.outline {
	border-color: #b5c5ed;
    background: #e5f1fc;
}
.alert.success.outline {
	border-color: #73dbc9;
	background: #e5f8f5;
}

/* ----- ↑PC・SP共通コンポーネント ----- */


/* 決定 */
.button.ok {
	background-color: #c60000;
}


/* 会員ボタン */
a.member_btn {
	display: block;
	background-image: url(/images/btn/btn_login_left@2x.png);
	background-repeat: no-repeat;
	background-size: 180px 210px;
	width: 180px;
	height: 0;
	padding-top: 39px;
	margin-bottom: 10px;
	overflow: hidden;
	box-shadow: 0 0 3px rgba(0, 0, 0, .3);
}
a.member_btn.join { background-position: 0 0; }
a.member_btn.join:hover { background-position: 0 -39px; }
a.member_btn.login { background-position: 0 -88px; }
a.member_btn.login:hover { background-position: 0 -127px; }

/* ----- フォーム関連 ----- */
input, textarea, select, .form-check {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	outline: 0;
}
input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], input[type="url"] {
	-webkit-appearance: none;
	appearance: none;
	width: 280px;
	height: 48px;
	font-size: 16px;
	padding: 0 5px;
	border: 1px solid var(--color_gray_c);
	border-radius: 0;
	box-sizing: border-box;
	transition: border-color 0.3s, box-shadow 0.3s;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="number"]:focus, select:focus, textarea:focus  {
	outline: none;
	border-color: var(--color_success); 
	box-shadow: 0 0 0 1px var(--color_success) inset;
	transition: border-color var(--hover_transition), box-shadow var(--hover_transition);
}
input[type="text"].size-s, input[type="password"].size-s, input[type="email"].size-s, input[type="number"].size-s, input[type="tel"].size-s, input[type="url"].size-s {
	font-size: 14px;
	height: 36px;
	width: 200px;
}
input::placeholder, textarea::placeholder {
	color: var(--color_gray_c);
}
textarea {
	box-sizing: border-box;
	width: 100%;
	height: 8em;
	font-size: 16px;
	border: 1px solid var(--color_gray_c);
	padding: 5px 8px;
}
label.form-check {
	border: none;
	padding: 0;
}
.form-check > label {
	border: none;
	cursor: pointer;
	padding: 0;
	line-height: inherit;
}
.form-check input[type="checkbox"], .form-check input[type="radio"] {
	display: none;
}
.form-check input[type="checkbox"] + *, .form-check input[type="radio"] + * {
	display: inline-block;
	transition: opacity var(--hover_transition);
	background-color: transparent;
	padding: 0 6px 0 38px;
	box-sizing: border-box;
	position: relative;
	line-height: inherit;
	font-size: 16px;
}
.form-check.ud input[type="checkbox"] + *, .form-check.ud input[type="radio"] + * {
	min-height: 48px;
	border-radius: 6px;
	border: 1px solid var(--color_gray_c);
	background-color: #fff;
	padding: 0 12px 0 38px;
	display: flex;
	align-items: center;
}
.form-check.ud input[type="checkbox"]:checked + *, .form-check.ud input[type="radio"]:checked + * {
	border-color: var(--color_success);
	box-shadow: 0 0 0 1px var(--color_success) inset;
}
.form-check input[type="checkbox"] + *::before, .form-check input[type="radio"] + *::before, .form-check input[type="checkbox"] + *::after, .form-check input[type="radio"] + *::after {
	display: block;
	position: absolute;
	content: "";
	box-sizing: border-box;
}
.form-check input[type="checkbox"] + *::before {
	top: 50%;
	left: 10px;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	border: 2px solid var(--color_gray_c);
	border-radius: 3px;
	background: #fff;
}
.form-check input[type="checkbox"]:checked + *::after {
	top: calc(50% - 9px);
	left: 15px;
	width: 10px;
	height: 15px;
	border-bottom: 3px solid var(--color_success);
	border-right: 3px solid var(--color_success);
	transform: rotate(45deg);
}
.form-check input[type="radio"] + *::before {
	top: 50%;
	left: 10px;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	border: 2px solid var(--color_gray_c);
	border-radius: 50%;
	background: #fff;
}
.form-check input[type="radio"]:checked + *::after {
	top: 50%;
	left: 15px;
	width: 10px;
	height: 10px;
	transform: translateY(-50%);
	border-radius: 50%;
	background: var(--color_success);
}
.form-check.size-s input[type="radio"] + *, .form-check.size-s input[type="checkbox"] + * {
	font-size: 14px;
}
.form-check.size-s input[type="radio"] + *::before, .form-check.size-s input[type="checkbox"] + *::before {
	width: 16px;
	height: 16px;
}
.form-check.size-s input[type="radio"]:checked + *::after {
	left: 14px;
	width: 8px;
	height: 8px;
}
.form-check.size-s input[type="checkbox"]:checked + *::after {
	top: calc(50% - 8px);
	left: 14px;
	width: 8px;
	height: 13px;
}
.form-check.size-s input[type="checkbox"] + *, .form-check.size-s input[type="radio"] + * {
	padding-left: 34px;
}
.select-group {
	position: relative;
	width: 280px;
}
.select-group::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 12px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #bbb;
	border-right: 2px solid #bbb;
	transform: rotate(135deg) translate(-60%, 40%);
	pointer-events: none;
}
.select-group select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	padding: 0 34px 0 5px;
	border: 1px solid var(--color_gray_c);
	background: #fff;
	height: 48px;
	line-height: 48px;
	border-radius: 6px;
	cursor: pointer;
	box-sizing: border-box;
	font-size: 16px;
}
.validation_msg {
	font-weight: 700;
    margin-top: 5px;
}
.validation_msg.valid {
	color: #00be9c;
}
.validation_msg.invalid {
	color: #c60000;
}

.form_container {
	container: form_width / inline-size;
}
form > dl {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 40px 20px;
	margin-top: 40px;
	margin-bottom: 40px;
}
form > dl > dt {
	padding: 0;
	box-sizing: border-box;
	line-height: 1.45;
	font-weight: bold;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: end;
	gap: 4px;
	font-size: 16px;
}
form > dl > dt.required::after, form > dl > dt.optional::after {
	position: relative;
	display: block;
	font-size: 11px;
	padding: 0 6px;
	border-radius: 2px;
	border: 1px solid;
	line-height: 18px;
}
form > dl > dt.required::after {
	content: "必須";
	color: #c60000;
	background: #fff;
	border-color: #c60000;
	bottom: auto;
	width: 2em;
}
form > dl > dt.optional::after {
	content: "任意";
	color: #999;
	background: #fff;
	border-color: #999;
	width: 2em;
}
form > dl > dd {
	box-sizing: border-box;
	padding: 0;
	line-height: 1.45;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
form > dl > dd label {
	display: inline-block;
	border: 1px solid #ccc;
	background-color: #fff;
	line-height: 32px;
	padding: 0 12px;
	cursor: pointer;
}
form > dl > dd ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	overflow: hidden;
}
form > dl > dd label:hover {
	opacity: 0.7;
	transition: opacity 0.3s;
}

@container form_width (max-width: 580px) {
	input[type="text"], input[type="password"], input[type="email"], input[type="number"] {
		width: 100%;
	}
	.select-group {
		width: 100%;
	}
	form > dl {
		display: flex;
		flex-wrap: wrap;
		gap: 5px 0;
		margin-top: 20px;
		margin-bottom: 20px;
	}
	form > dl > dt {
		align-items: center;
        flex-direction: row;
		width: 100%;
	}
	form > dl > dd {
		margin-bottom: 24px;
		width: 100%;
	}
	form > dl > dd ul {
		margin-top: 5px;
	}
}

/* ----- 基本テーブル ----- */

table.basic {
	width: 100%;
	margin: 15px 0;
}
table.basic caption {
	margin: 0 0 4px 6px;
	text-align: left;
	font-weight: bold;
}
table.basic th, table.basic td {
	border: 1px solid #ccc;
	padding: 8px;
 }
table.basic thead th {
	background: #999;
	color: #fff;
}
table.basic tbody th {
	background: #fafafa;
}


/*----------------- ヘッダー -----------------*/

#header {
	min-width: 980px;
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
}
/* タイトル */
#header > h1 {
	margin:0 0 0 10px;
	float:left;
}
#header > h1 a {
	display:block;
	width: 571px;
	height: 0;
	padding-top: 50px;
	background: url(/images/header_logo_red@2x.png) left top no-repeat;
	background-size: 571px 53px;
	overflow: hidden;
}
body.event20th #header > h1 a {
	background-image: url(/images/header_logo_red_20th@2x.png);
}
body.halloween #header > h1 a {
	background-image: url(/images/header_logo_hw_a@2x.png);
}
body.xmas #header > h1 a {
	background-image: url(/images/header_logo_xm_a@2x.png);
}
body.newyear #header > h1 a {
	background-image: url(/images/header_logo_red_sg@2x.png?2025);
}
body.newyear #header {
	background-image: url(/images/header_bg_red_sg@2x.png);
	background-size: 344px 53px;
}
/* sutatus */
#header > ul.status {
	max-width: 380px;
	white-space: nowrap;
	float: right;
	text-align: center;
	margin-right: 10px;
	padding: 0 3px 1px;
	min-width: 300px;
	box-shadow: 0 0 3px #777;
	border-radius: 0 0 12px 12px;
	font-size: 10px;
	background: #eee;
	background: linear-gradient(#eee, #fff);
}
#header > ul.status li {
	display: inline-block;
	margin: 3px 2px 2px;
	background: url(/images/icon/icon_mem_info@2x.png) 0 50px no-repeat;
	background-size: 15px 65px;
	text-indent: 16px;
}
#header > ul.status li.name {
	text-indent: 0;
}
#header > ul.status li.name span a {
	color: #c60000;
	font-size: 12px;
	font-weight: bold;
}
#header > ul.status li.point {
	background-position: 0 2px;
}
#header > ul.status li.point a {
	color: #08c;
	font-size: 12px;
}
#header > ul.status li.mail {
	background-position: 0 -22px;
}
#header > ul.status li.mail a {
	color: #08c;
	font-size: 12px;
}
/* navi */
#header > ul.navi {
	clear: right;
	float: right;
	margin: 7px 10px 0;
	font-size: 11px;
}
#header > ul.navi li {
	float: left;
	border-left: 1px solid #555;
	padding: 0 6px;
	line-height: 1;
}
#header > ul.navi li:last-child {
	border-right: 1px solid #555;
}
#header > ul.navi li a[href$="mem-info.php"] {
	color: #fff;
	background-color: #08c;
	padding: 0 .5em;
}
#header > ul.navi li a[href$="mem-info.php"]:hover {
	opacity: 0.7;
	text-decoration: none;
}
/* menu */
#header .menu {
	clear: both;
	position: relative;
	background: #df0000;
	background: linear-gradient(#df0000, #980000);
	box-shadow: 0 3px 5px rgba(0,0,0,0.3);
}
#header .menu:before {
	content: "";
	position: absolute;
	display: block;
	top: -2px;
	left: 0;
	height: 1px;
	width: 100%;
	background: #df9f4d;
}
#header .menu ul {
	margin: 0 auto;
	padding: 0;
	width: 856px;
	overflow: hidden;
}
#header .menu ul li {
	float: left;
}
#header .menu ul li a {
	display:inline-block;
	width:104px;
	height: 0;
	padding-top: 40px;
	background: url(/images/btn/btn_gl_menu_red@2x.png) 0px 0px no-repeat;
	background-size: 856px 120px;
	vertical-align: top;
	overflow: hidden;
}
#header .menu ul li a:hover { background-position-y: -40px; }
#header .menu ul li a.selected { background-position-y: -80px; }
#header .menu ul li:nth-child(2) a { background-position-x: -104px; width:94px; }
#header .menu ul li:nth-child(3) a { background-position-x: -198px; width:105px; }
#header .menu ul li:nth-child(4) a { background-position-x: -303px; width:130px; }
#header .menu ul li:nth-child(5) a { background-position-x: -433px; width:97px; }
#header .menu ul li:nth-child(6) a { background-position-x: -530px; width:108px; }
#header .menu ul li:nth-child(7) a { background-position-x: -638px; width:108px; }
#header .menu ul li:nth-child(8) a { background-position-x: -746px; width:110px; }

/*----------------- コンテンツ -----------------*/

#contents {
	position: relative;
	z-index: 1;
	background-color:#f3f3f3;
}
.with_foot #contents {
	box-shadow: 0 0 3px #999;
}
#contents > div {
	padding:10px 10px 80px;
	width: 960px;
	margin: 0 auto;
	overflow: hidden;
}

/*----------------- 左カラム -----------------*/

.status_left {
	margin: 0 0 10px;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
	padding: 3px;
}
.status_left .inner {
	padding: 10px 8px 5px;
	border: 1px solid #08c;
	border-radius: 4px;
}
.status_left {
	font-size: 12px;
}
.status_left h2 {
	border-bottom: 1px dotted #555;
	text-align: center;
	padding-bottom: 6px;
	font-size: 12px;
}
.status_left h2 span {
	font-size: 15px;
}
.status_left h2 span {
	font-weight: bold;
}
.status_left h2 span a {
	color: #c60000;
}
.status_left dl {
	margin: 8px 0 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	row-gap: 2px;
}
.status_left dt {
	background: url(/images/icon/icon_mem_info@2x.png) 0 0 no-repeat;
	background-size: 15px 65px;
	text-indent: 17px;
	font-weight: bold;
}
.status_left dt.point {
	background-position-y: 2px;
}
.status_left dt.mail {
	background-position-y: -23px;
}
.status_left dt.news {
	background-position-y: -47px;
}
.status_left dd {
	font-weight: bold;
}
.status_left dd a {
	color: #08c;
}
.status_left dd span {
	font-size: 14px;
}
#side_menu {
	float: left;
	width: 180px;
	font-size: 11px;
}
/* ポータルサイト版ログイン */
#side_menu .isp_login {
	background: #FFF;
	padding: 5px;
	margin: 10px 0 10px 0;

	border-radius: 3px;
	box-shadow: 0 0 3px rgba(0,0,0,0.3);
}
#side_menu .isp_login div {
	text-align: center;
	margin: 6px auto 6px;
	width: 152px;
}
#side_menu .isp_login p {
	text-align: left;
}
#side_menu .isp_login a:hover {
	opacity: .7;
}
#side_menu .l_box {
	background: #c60000;
	background: linear-gradient(to bottom, #c60000 0%,#900 100%);
	padding: 5px;
	margin: 0 0 10px;
	border-radius: 4px;
	box-shadow: 0 0 3px rgba(0,0,0,0.3);
}

#side_menu .l_box .inner {
	padding: 5px 8px;
	background: #fff;
	box-shadow: 0 0 2px rgba(0,0,0,0.2) inset;
	border-radius: 3px;
}
#side_menu h3 {
	height: 0;
	padding-top: 16px;
	overflow: hidden;
	background: url(/images/tl_left_h3@2x.png) 0 0 no-repeat;
	background-size: 140px 42px;
	margin: 4px 5px 6px;
}
#side_menu .icon_ex h3 { background-position: 0 0; }
#side_menu .point_ex h3 { background-position: 0 -26px; }

#side_menu .icon_ex .inner p.icon_image_s {
	float: left;
	margin: 3px 0 5px;
}
#side_menu .icon_ex .inner p.icon_image {
	float: left;
	margin: 10px 0 8px;
}
#side_menu .banner_area img {
	display: block;
	margin: 0;
	border-radius: 4px;
	box-shadow: 0 0 3px rgba(0,0,0,0.3);
}
#side_menu .banner_area a {
	display: block;
	margin-bottom: 12px;
	line-height: 1.5;
	color: #555;
	text-decoration: none;
}
#side_menu .banner_area p {
	padding: 5px 3px 0;
	font-size: 0.75rem;
}
#side_menu .banner_area a:hover {
	opacity: 0.7;
}
#side_menu #online_view {
	margin-bottom: 10px;
}
#side_menu #online_view > div {
	overflow: hidden;
}
#side_menu #online_view .nick_name {
	display: block;
}
#side_menu #online_view .nick_name:before {
	content: url(/images/tl_display_name.png);
	vertical-align: bottom;
	line-height: 1;
	margin-right: 3px;
}
#side_menu #online_view .stream {
	width: 166px;
	height: 125px;
	background-color: #000;
}
#side_menu #online_view button {
	float:right;
	border: none;
	overflow: hidden;
	background: transparent url(/images/online_view_next.png) left 3px no-repeat;
	width: 53px;
	height: 0;
	padding: 17px 0 0;
	cursor: pointer;
}
#side_menu #online_view button:hover {
	opacity: .7;
}
#side_menu #online_view button:focus {
	outline: none;
}

/*--------- メインカラム ---------*/

#main {
	background-color: #fff;
	box-shadow: 0 0 3px rgba(0, 0, 0, .3);
	/* これをしておかないと、フロート解除（clear）でコンテンツがサイドカラム下部まで下がってしまう */
	overflow: hidden;
}
.with_side #main {
	margin-left: 190px;
	width: 770px;			/* safari 5.1 */
}
#main p {
	margin-bottom: 1.5em;
}
#main .title {
	border-bottom: 1px solid #c60000;
	height: 36px;
	background: url(/images/icon/icon_sub_h2@2x.png) 5px 4px no-repeat;
	background-size: 26px 638px;
	position: relative;
	color: #c60000;
}
body[id*="point_tsuika"] #main .title { background-position: 5px -32px }
#mem_account_top #main .title { background-position: 5px -175px }

body[id*="howto"] #main .title { background-position: 5px 5px }
body[id*="faq"] #main .title { background-position: 5px -355px }
#sitemap_top #main .title { background-position: 5px -391px }

body[id*="mem_regist"] #main .title,
#isp_join_top #main .title,
#rakuten_openid_login_top #main .title,
#rakuten_mail_toroku_top #main .title { background-position: 5px -428px }

#login_top #main .title,
#forget_top #main .title { background-position: 5px -463px }
body[id*="otoiawase"] #main .title { background-position: 5px -139px }
#girl_search_top #main .title { background-position: 5px -67px }
body[id*="m_tyokutuu"] #main .title { background-position: 5px -140px }
#main .comment .title  { background-position: 5px -211px }
#main .memo .title  { background-position: 5px -247px }
#main .recent .title  { background-position: 5px -283px }
#main .profile .title  { background-position: 5px -320px }

#privacy_top #main .title , #syotori_top #main .title , #kiyaku_top #main .title { background-position: 5px -499px }
#sugatami_top #main .title { background-position: 5px -535px }
#event_list_top #main .title { background-position: 5px -607px }

#main .title h2 {
	font-size: 14px;
	margin: -4px 0 0 38px;
}
#main .title p {
	font-size: 10px;
	margin: 0 0 0 38px;
	padding-top: 2px;
}
#main .title div {
	position: absolute;
	bottom: 2px;
	right: 10px;
	text-align: right;
	font-size: 11px;
}
#main h3 {
	font-size: 16px;
	background: url(/images/icon/icon_sub_h3.svg) 4px 6px no-repeat;
	text-indent: 20px;
	border-bottom: 2px solid #555;
	line-height: 1.5;
	display: inline-block;
	padding-right: 4px;
}
#main h3 + hr {
	border: none;
	border-top: 1px dotted #555;
	height: 1px;
	color: #fff;
	margin-top: -1px;
	margin-bottom: 24px;
}
/* プライバシーポリシー */
#main h4 + hr {
	border: none;
	border-top: 1px dotted #555;
	height: 1px;
	color: #fff;
	margin-top: -1px;
	margin-bottom: 24px;
}
#main > .body {
	padding: 50px;
}
#main > .body p.system_msg {
	font-size: 16px;
}
#main > .body p.regist_msg {
	font-size: 16px;
}

/*------ パンくずリスト ------*/

#main ul.topic_path {
	border-bottom: 1px dotted #ccc;
	padding: 8px 7px 7px;
	margin-bottom: 2px;
	line-height: 1.0;
	background: #fafafa;
	font-size: 12px;
}
#main ul.topic_path li {
	display: inline;
}
#main ul.topic_path li a:after {
	content: "";
	display: inline-block;
	background-image: url(/images/icon/icon_arrow_10.png);
	width: 5px;
	height: 10px;
	margin-left: 5px;
}


/*----- オンライン一覧 -----*/
/*
	#mainにoverflow:visibleを指定しておかないと、高さが足りなかった場合に
	プルダウンメニューが隠れてしまいます！
*/
#online_girls {
	background: #fff;
	margin: 0;
}

#online_girls .title {
	display: flex;
	justify-content: space-between;
}
#online_girls .title, #main .pickup .title, #main .blog_posts .title, #information .title {
	background-image: none;
}
#online_girls .title.other {
	display: none;
}
#online_girls .title.offlines {
	display: none;
}
#online_girls .title h2, #main .pickup .title h2, #main .blog_posts .title h2, #information .title h2 {
	background: url(/images/tl_top_h2@2x.png) 0 0 no-repeat;
	background-size: 240px 576px;
	width: 240px;
	height: 0;
	padding-top: 36px;
	margin: 0;
	overflow: hidden;
}
/* 新人絞り込み表示 */
#online_girls.newgirl .title.main h2 {
	background-position: 0 -144px;
}
#online_girls.newgirl .title.offlines h2 {
	background-position: 0 -180px;
}
/* お気に入り絞り込み表示 */
#online_girls.favgirl .title.main h2 {
	background-position: 0 -216px;
}
#online_girls.favgirl .title.offlines h2 {
	background-position: 0 -324px;
}
/* BB専属絞り込み表示 */
#online_girls.bbonly .title.main h2 {
	background-position: 0 -360px;
}
#online_girls.bbonly .title.offlines h2 {
	background-position: 0 -396px;
}
#online_girls .title.offlines.recent h2 {
	background-position: 0 -468px;
}
#online_girls .title.planned h2 {
	background-position: 0 -504px;
}
#online_girls .title.offline_standby h2 {
	background-position: 0 -540px;
}
#online_girls .title.offline_standby {
	justify-content: flex-start;
	align-items: flex-end;
}
#online_girls .title.offline_standby a {
	text-decoration: underline;
	font-size: 13px;
	transform: translate(-30px, -2px);
}

/* 分割表示 */
#online_girls.room .title.main h2 {
	background-position: 0 -288px;
}

/* イベント用スタイル */
#online_girls.summer .title.main {
	border-bottom-color: #069756;
}
#online_girls.summer .title.main h2, #index_top #main #online_girls.summer .title.main h2 {
	background-position: 0 -288px;
}
#online_girls.summer .title.main + .body {
	background: #c3ffea url(/event/images/bg_minna_body.png);
	background: url(/event/images/bg_minna_body.png), linear-gradient(#c3ffea 30%, #fff 100%);
}
#online_girls.summer ul.controller li {
	background-image: url(/images/btn/btn_function_green@2x.png);
}
#online_girls.summer.newgirl .title.other h2 {
	background-position: 0 -144px !important;
}
#online_girls.summer.favgirl .title.other h2 {
	background-position: 0 -216px !important;
}
#online_girls.summer.bbonly .title.other h2 {
	background-position: 0 -360px !important;
}

#online_girls.minnato .title.main {
	border-bottom-color: #069756;
}
#online_girls.minnato .title.main h2, #index_top #main #online_girls.minnato .title.main h2 {
	background-position: 0 -288px;
}
#online_girls.minnato .title.main + .body {
	background: #c3ffea url(/event/images/bg_minna_body.png);
	background: url(/event/images/bg_minna_body.png), linear-gradient(#c3ffea 30%, #fff 100%);
}
#online_girls.minnato ul.controller li {
	background-image: url(/images/btn/btn_function_green@2x.png);
}
#online_girls.minnato.newgirl .title.other h2 {
	background-position: 0 -144px !important;
}
#online_girls.minnato.favgirl .title.other h2 {
	background-position: 0 -216px !important;
}
#online_girls.minnato.bbonly .title.other h2 {
	background-position: 0 -360px !important;
}

#online_girls ul.controller {
	float: right;
	margin-right: 6px;
}
#online_girls ul.controller li {
	float: left;
	background: url(/images/btn/btn_function@2x.png) 0 0 no-repeat;
	background-size: 673px 236px;
	height: 0;
	padding-top: 31px;
	margin: 3px 10px 0 0;
	overflow: hidden;
	vertical-align: top;
	cursor: pointer;
}
#online_girls ul.controller li:last-child {
	margin-right: 0;
}
#online_girls ul.controller li:hover {
	opacity: .7;
}
#online_girls ul.controller li ul {
	display: none;
}
#online_girls ul.controller li.to_online {			/* オンライン一覧へ */
	background-position: 0 0;
}
#online_girls ul.controller li.to_online a {
	display: inline-block;
	width: 87px;
	height: 0;
	padding-top: 31px;
	margin-top: -31px;
	overflow: hidden;
	vertical-align: top;
}
#online_girls ul.controller li.photo_size {			/* 画像サイズ */
	background-position: -97px 0;
	width: 97px;
}
#online_girls.large ul.controller li.photo_size {
	background-position: -97px -41px;
}
#online_girls ul.controller li.auto_reload {		/* 自動リロード */
	background-position: -204px 0;
	width:104px;
}
#online_girls ul.controller li.auto_reload.on {
	background-position: -204px -41px;
}
#online_girls ul.controller li.reload {				/* リロード */
	background-position: -318px 0;
	width: 74px;
}
#online_girls ul.controller li.filtering {			/* 絞り込み */
	background-image: none;
	width: 120px;
	height: auto;
	padding: 0;
	margin-top: 6px;
}
#online_girls ul.controller li.filtering::after {
    right: 9px;
    width: 7px;
    height: 7px;
}
#online_girls ul.controller li.filtering:hover {
	opacity: 1;
}
#online_girls ul.controller li.filtering select {
	white-space: nowrap;
	height: 24px;
	line-height: 24px;
	padding: 0 26px 0 5px;
	border-radius: 4px;
	font-size: 14px;
}
#online_girls ul.controller li.filtering select:focus {
	outline: none;
	border-color: #00be9c;
	box-shadow: 0 0 0 1px #00be9c inset;
	transition: border-color 0.3s, box-shadow 0.3s;
}
#online_girls .body {
	padding: 15px 11px 10px;
	overflow: hidden;
}
#online_girls .body > .button_wrapper {
	clear: both;
	position: relative;
	top: 18px;
	margin-bottom: 36px;
}
#online_girls.disabled {
	opacity: .5;
}
#online_girls.disabled ul.controller li {
	cursor: auto;
}

a.girls_box {
	position: relative;
	display: block;
	float: left;
	width: 111px;
	border: 1px solid #ddd;
	margin: 0 5px 8px 4px;
	background: #fff;
	z-index: 1;
	border-radius: 3px;
	box-shadow: 0 0 3px rgba(0,0,0,0.1);
}
a.girls_box:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	margin: auto;
	background-image: url(/images/spacer.gif);
}
a.girls_box:hover {
	opacity: 0.7;
	text-decoration: none;
}
a.girls_box span {
	display: block;
}
a.girls_box .status {
	width: 115px;
	height: 0;
	padding-top: 22px;
	margin: 5px 0 0 -4px;
	overflow: hidden;
	background: url(/images/icon/icon_status@2x.png?2) 0 0 no-repeat;
	background-size: 160px 392px;
}
a.girls_box.sp .photo:before {
	content: url(/images/icon/icon_spapp.gif);
	position: absolute;
	left: -4px;
	bottom: -6px;
	line-height: 0;
	content: "";
	background: url(/images/icon/icon_spapp@2x.gif) top left no-repeat;
	width: 25px;
	height: 33px;
	background-size: 25px 33px;
}
a.girls_box.today {
	background-color: #f2ffeb;
}
a.girls_box.new {
	background-color: #fff8d1;
}
a.girls_box.around_birth_day .status {
	background-image: url(/images/icon/icon_status_p@2x.gif);
	background-size: 160px 325px;
}
a.girls_box.pickup .status {
	background-image: url(/images/icon/icon_status_y@2x.gif);
	background-size: 160px 325px;
}
a.girls_box.pickup .status.appear_time {
	background-image: url(/images/icon/icon_status.png);
	background-size: 160px 325px;
}
a.girls_box.medal .nick_name:after {
	content: url(/img/medaru_h1_3.gif);
	vertical-align: bottom;
	margin-left: 4px;
}
a.girls_box.top_medal .nick_name:after {
	content: url(/img/medaru_h1.gif);
	vertical-align: bottom;
	margin-left: 4px;
}
a.girls_box .online {
	background-position: 0 0;
	background-image: url(/images/icon/icon_status_anime@2x.gif);
	background-size: 160px 258px;
}
a.girls_box .chat { background-position: 0 -32px; }
a.girls_box .wait { background-position: 0 -64px; }
a.girls_box .offline { background-position: 0 -96px; }

a.girls_box .status.appear_time {
	background-position: 0 -268px;
	color: #555;
	background-color: transparent;
	vertical-align: middle;
	height: 22px;
	padding-top: 0;
	font-weight: bold;
	font-size: 10px;
	line-height: 22px;
	text-indent: 4px;
}
.title.offline_standby + div a.girls_box .offline {
	background-position: 0 -335px;
}
.title.offline_standby + div a.girls_box.pickup .status {
	background-image: url(/images/icon/icon_status@2x.png);
	background-size: 160px 392px;
}
.title.offline_standby + div a.girls_box.around_birth_day .status {
	background-image: url(/images/icon/icon_status@2x.png);
	background-size: 160px 392px;
}
a.girls_box .status.appear_time:before {
	content: "IN：";
	font-size: 90%;
}
a.girls_box .status.appear_time + .icon .mic {
	position: relative;
}
a.girls_box .status.appear_time + .icon .mic:before {
	content: url(/images/icon/icon_mic_g.svg);
	display: inline-block;
	width: 15px;
	height: 13px;
	line-height: 1;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 14px;
}
a.girls_box .status.appear_time + .icon .mic img {
	display: none;
}
#online_girls:not(.large) a.girls_box.today .status.appear_time {
	letter-spacing: -0.4px;
}
a.girls_box .icon {
	position: absolute;
	top: 8px;
	right: 3px;
}
a.girls_box .icon .mic {
	float: right;
}
a.girls_box .icon .today {
	float: right;
	margin: 1px 0 0 3px;
}
a.girls_box .icon .new {
	float: right;
	margin: 1px 0 0 3px;
}
a.girls_box .hd {
	display: none;
}
a.girls_box .photo {
	position: relative;
	width: 100px;
	height: 75px;
	background:#fff url(/images/now_loading_thumb.gif) center center no-repeat;
	margin: 2px 0 0 5px;
}
a.girls_box .nick_name {
	text-align: center;
	color: #1b3993;
	font-weight: bold;
	margin: 4px 0 1px;
	font-size: 13px;
}
a.girls_box .age {
	float: right;
	margin: 3px 0;
	color: #333;
	font-size: 11px;
	text-align: center;
	width: 50%;
}
a.girls_box .area {
	float: left;
	margin: 3px 0;
	color: #333;
	font-size: 11px;
	text-align: center;
	width: 50%;
}
a.girls_box hr {
	border-top: 1px dotted #ddd;
}

.planned + div a.girls_box .status.appear_time:before {
    content: "";
}
.offlines + div a.girls_box .status.appear_time:before {
	content: "";
}
.planned + div span.month {
	display: inline;
}
.planned + div span.day {
	display: inline;
}
.planned + div span.month::after{
	content: "/";
}
.planned + div span.day::after{
	content: "";
}
.large .planned + div span.month::after{
	content: "月";
	font-size: 11px;
}
.large .planned + div span.day::after{
	content: "日";
	font-size: 11px;
}

/* イベント用スタイル */
/* #online_girls から指定しておかないと、ヘッダ装飾用に指定されているbody.xmasとバッティングしてしまう！ */
/* バッティングしないなら .xmas .main + .body a.girls_box.event でいい */
#online_girls.xmas .main + .body a.girls_box.event {
	background-image: linear-gradient(#e22500, #910000);
	border: 1px solid #f1ba00;
}
#online_girls.xmas .main + .body a.girls_box.event .photo img {
	border: 1px solid;
	box-sizing: border-box;
	border-image: linear-gradient(135deg, #f1ba00, #fff1c3 20%, #deac00 50%, #ffeaa3 70%, #f1ba00 100%) 1;
}
#online_girls.xmas .main + .body a.girls_box.event .nick_name {
	position: relative;
	color: #ff0;
}
#online_girls.xmas .main + .body a.girls_box.event .nick_name:after {
	content: "";
	display: block;
	position: absolute;
	top: -86px;
	left: -7px;
	background: transparent url(/sp/img/icon_bell_xm@2x.png) left top no-repeat;
	background-size: 30px 30px;
	width: 30px;
	height: 30px;
	animation: bell_swing 3s infinite;
}
#online_girls.large.xmas .main + .body a.girls_box.event .nick_name:after {
	top: -118px;
	left: -7px;
	background: transparent url(/sp/img/icon_bell_xm@2x.png) left top no-repeat;
	background-size: 36px 36px;
	width: 36px;
	height: 36px;
}
@keyframes bell_swing {
	0% {
		transform: rotate(0deg);
	}
	3% {
		transform: rotate(8deg);
	}
	6% {
		transform: rotate(0deg);
	}
	9% {
		transform: rotate(8deg);
	}
	12% {
		transform: rotate(0deg);
	}
}

#online_girls.xmas .main + .body a.girls_box.event hr {
	border-top-color: rgba(255, 255, 255, 0.3);
}
#online_girls.xmas .main + .body a.girls_box.event .area {
	color: #fff;
}
#online_girls.xmas .main + .body a.girls_box.event .age {
	color: #fff;
}

/* ladys_fes */
#online_girls.ladys_fes .title.main {
	border-bottom-color: #f36e9c;
}
#online_girls.ladys_fes .title.main h2, #index_top #main #online_girls.ladys_fes .title.main h2 {
	background-position: 0 -432px;
}
#online_girls.ladys_fes .title.main + .body {
	background-image: url(/event/images/bg_ladys_fes_body.png), linear-gradient(#ffa8c1 30%,#fff 100%);
}
#online_girls.ladys_fes ul.controller li {
	background-image: url(/images/btn/btn_function_pink@2x.png);
}
#online_girls.ladys_fes ul.controller li.filtering {
	background-image: none;
}
#online_girls.ladys_fes.newgirl .title.other h2 {
	background-position: 0 -144px;
}
#online_girls.ladys_fes.favgirl .title.other h2 {
	background-position: 0 -216px;
}
#online_girls.ladys_fes.bbonly .title.other h2 {
	background-position: 0 -360px;
}
#online_girls.ladys_fes a.girls_box:hover {
	opacity: 0.85;
}

/* ienomi */
#online_girls.ienomi .title.main {
	border-bottom-color: #e88000;
}
#online_girls.ienomi .title.main h2, #index_top #main #online_girls.ienomi .title.main h2 {
	background: url(/images/tl_top_h2_ienomi@2x.png) 0 0 no-repeat;
    background-size: 240px 36px;
}
#online_girls.ienomi ul.controller li {
	background-image: url(/images/btn/btn_function_yellow@2x.png);
}
#online_girls.ienomi ul.controller li.filtering {
	background-image: none;
}
#online_girls.ienomi .title.main + .body {
	background-image: url(/event/images/bg_ienomi_body.png), linear-gradient(#f2bc00 30%,#fff 100%);
}
#online_girls.ienomi a.girls_box:hover {
	opacity: 0.85;
}

body.bbonly a.girls_box.bbonly {
	background-image: url(/event/images/bg_ladys_fes_body.png), linear-gradient(#ffa8c1 30%,#ffebf1 100%);
	background-size: 160px auto;
}

.large a.girls_box {
	width: 150px;
	margin: 0 6px 10px 5px;
}
.large a.girls_box .status {
	width: 154px;
	padding-top: 25px;
}
.large a.girls_box .online { background-position: 0 -128px; }
.large a.girls_box .chat { background-position: 0 -163px; }
.large a.girls_box .wait { background-position: 0 -198px; }
.large a.girls_box .offline { background-position: 0 -233px; }

.large a.girls_box .status.appear_time {
	background-position: 0 -300px;
	height: 25px;
	padding-top: 0;
	line-height: 25px;
	font-size: 12px;
	text-indent: 6px;
}
.large .title.offline_standby + div a.girls_box .offline {
	background-position: 0 -367px;
}

.large a.girls_box .icon {
	top: 10px;
	right: 5px;
}
.large a.girls_box .hd {
	top: 35px;
}
.large a.girls_box .photo {
	width: 140px;
	height: 105px;
}
.large a.girls_box .photo img {
	width: 140px;
	height: 105px;
}
.large a.girls_box .nick_name {
	font-size: 14px;
}
.large a.girls_box .age {
	font-size: 12px;
}
.large a.girls_box .area {
	font-size: 12px;
}

/* イベント用スタイル */
body.bbonly .large a.girls_box.bbonly {
	background-size: 210px auto;
}

#to_top a {
	display: block;
	visibility: hidden;
	opacity: 0;
	position:fixed;
	width: 60px;
	height: 22px;
	padding-top: 38px;
	bottom: 15px;
	right: 15px;
	background-color:#fff;
	border-radius: 10px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	font-size: 11px;
	color: #777;
	z-index:99999;
	transition: opacity 0.5s, visibility 0.5s;
	border: 2px solid #ccc;
}
#to_top a:after {
	content:"";
	display: block;
	position: absolute;
	top: calc(50% - 24px);
	left: calc(50% - 18px);
	width: 36px;
	height: 36px;
	transform:rotate(-90deg);
	background: url(data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2040%2040%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%3E%3Cpath%20d%3D%22m13.83%2034.17%2014.17-14.17-14.17-14.17%22%20stroke%3D%22%23999%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%224%22%2F%3E%3Cpath%20d%3D%22m0%200h40v40h-40z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
}
#to_top a.is-show {
	visibility: visible;
	opacity: 0.8;
	transition: opacity 0.5s, visibility 0.5s;
}
#to_top a:hover {
	opacity: 1.0;
}

/*----------------- フッター -----------------*/

#footer {
	clear: both;
	margin: 0 auto;
	position: relative;
	font-size: 11px;
	background: #fff;
}

#footer ul.social_menu {
	position: absolute;
	bottom: 48px;
	left: 244px;
	z-index: 20;
	box-shadow: 1px 1px 0 #fff;
}

#footer ul.social_menu li {
	float: left;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

#footer ul.social_menu li:last-child { border-right: 1px solid #ccc }

#footer ul.social_menu li a {
	display: block;
	width: 29px;
	height: 0;
	padding-top: 29px;
	overflow: hidden;
	background: #fff url(/images/btn_social_29px.svg) 0 0 no-repeat;
	background-size: 29px 87px;
}
#footer ul.social_menu li a:hover { opacity: .7; }

#footer ul.social_menu li.tw a {
	background-position: 0 -58px;
}
#footer .upper {
	width: 980px;
	clear: both;
	margin: 0 auto;
	padding: 30px 0;
	position: relative;
}
#footer .upper .f_box {
	width: 146px;
	min-height: 314px;
	background: #fafafa;
	float: left;
	margin: 0 0 0 15px;
	box-shadow: 0 0 3px #999;
}

#footer .upper .f_box ul {
	padding: 10px;
	font-size: 10px;
}
#footer .upper .f_box.menu ul {
	font-size: 10.5px;
}
#footer .upper .f_box ul li a {
	margin:0 0 7px 0;
	display: block;
}
#footer .upper .f_box ul li a span {
	font-weight: bold;
	font-size: 12px;
}
/*#footer .upper .f_box ul li a:before {
	content: "";
	display: inline-block;
	width: 5px;
	height: 10px;
	background: url(/images/icon/icon_arrow_10.png) 0 0 no-repeat;
	margin: 0 2px 0 -7px;
}*/
#footer .upper .menu .f_box ul {
	padding: 12px;
	font-size: 11px;
}
#footer .upper .menu ul li a {
	padding-left: 20px;
	position: relative;
}
#footer .upper .menu ul li a::before {
	background: url(/images/icon/icon_footer_menu@2x.png) 0 -20px no-repeat;
	background-size: 15px 415px;
	content: "";
	width: 15px;
	height: 15px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

#footer .upper .menu ul li a[href*="/mem-regist.php"]::before { background-position: 0 -40px; }
#footer .upper .menu ul li a[href*="/point-tsuika.php"]::before { background-position: 0 -60px; }
#footer .upper .menu ul li a[href*="/girl-online.php"]::before { background-position: 0 -120px; }
#footer .upper .menu ul li a[href*="/girl-search.php"]::before { background-position: 0 -80px; }
#footer .upper .menu ul li a[href*="/mem-mail_inbox.php"]::before { background-position: 0 0; }
#footer .upper .menu ul li a[href*="/mem-account.php"]::before { background-position: 0 -100px; }
#footer .upper .menu ul li a[href*="/girl-search.php?reg_date=new"]::before { background-position: 0 -160px; }
#footer .upper .menu ul li a[href*="/event/today_50off.html"]::before { background-position: 0 -340px; }
#footer .upper .menu ul li a[href*="/event_list.php"]::before { background-position: 0 -360px; }
#footer .upper .menu ul li a[href*="/faq_index.php"]::before { background-position: 0 -180px; }
#footer .upper .menu ul li a[href*="/kiyaku.php"]::before { background-position: 0 -200px; }
#footer .upper .menu ul li a[href*="/syotori.php"]::before { background-position: 0 -220px; }
#footer .upper .menu ul li a[href*="/privacy.php"]::before { background-position: 0 -240px; }
#footer .upper .menu ul li a[href*="/sitemap.php"]::before { background-position: 0 -260px; }
#footer .upper .menu ul li a[href*="/otoiawase.php"]::before { background-position: 0 -280px; }
#footer .upper .menu ul li a[href*="/agent_otoiawase.php"]::before { background-position: 0 -300px; }
#footer .upper .menu ul li a[href*="https://www.chat-ladys.com"]::before { background-position: 0 -320px; }
#footer .upper .menu ul li a[href*="/blog/"]::before { background-position: 0 -380px; }
#footer .upper .menu ul.right_column li a[href*="http://alert.bb-chat.tv"]::before { background-position: 0 -400px; }


#footer .upper .menu ul li.girls_login {
	background: #fdd;
	width: 80%;
	margin-left: -3px;
}
#footer .upper .menu ul li.girls_login a {
	padding-left: 23px;
}
#footer .upper .menu ul li.girls_login a::before {
	left: 3px;
	background-position: 0 -140px;
}
#footer .upper .f_box ul li a:link { color: #555;}
#footer .upper .f_box ul li a:visited { color: #555;}
#footer .upper .f_box ul li a:hover { color: #888; text-decoration: none;}

#footer .upper .f_box.double {
	width: 307px;
	}
#footer .upper .f_box.double ul {
	width: 128px;
	float: left;
	line-height: 1.5;
	}
#footer .upper .f_box.double ul.right_column {
	padding-left: 0;
	padding-right: 0;
	width: 153px;
	}

#footer .upper .f_box div.payment {
	padding: 15px 0 12px 10px;
}
#footer .upper .f_box div.payment a:hover img {
	opacity: .7;
}
#footer .upper .f_box div.payment img {
	margin: 0 4px 18px 0;
	display: block;
	float:left;
}
#footer .upper .f_box div.environment {
	padding: 14px 10px;
}
#footer .upper .f_box div.environment p {
	margin: 10px 0 0 0;
	font-size: 10px;
}
#footer .upper .f_box div.environment p.tl_env {
	margin: 14px 0 0 0;
	background: url(../images/icon/icon_arrow_10.png) 0 3px no-repeat;
	text-indent: 9px;
	font-size: 11px;
}
#footer .upper .f_box div.environment a img {
	margin: 0 8px 0 0;
}

#footer .upper .f_box div.environment a:hover img {
	opacity: .7;
}

#footer .upper .f_box h3 {
	height: 0;
	padding-top: 35px;
	border-bottom: 1px solid #e2e2e2;
	width:100%;
	overflow: hidden;
}
#footer .upper .menu h3 {
	background: url(/images/tl_footer_h3@2x.png) 0 0 no-repeat;
	background-size: 252px 210px;
}
#footer .upper h3.pr {
	background: url(/images/tl_footer_h3.png) 0 -35px no-repeat;
}
#footer .upper h3.payment {
	background: url(/images/tl_footer_h3@2x.png) 0 -70px no-repeat;
	background-size: 252px 210px;
}
#footer .upper h3.environment {
	background: url(/images/tl_footer_h3@2x.png) 0 -105px no-repeat;
	background-size: 252px 210px;
}

#footer .upper .f_box_2 {
	position: relative;
	width: 313px;
	float: left;
	margin: 0 10px 0 18px;
}

#footer .upper .f_box_2 h3 {
	height: 0;
	padding-top: 16px;
	margin: 0 0 6px 0;
	overflow: hidden;
}
#footer .upper .f_box_2 h3.apli {
	background: url(/images/tl_footer_h3@2x.png) 0 -140px no-repeat;
	background-size: 252px 210px;
}
#footer .upper .f_box_2 h3.mobile {
	background: url(/images/tl_footer_h3@2x.png) 0 -190px no-repeat;
	background-size: 252px 210px;
}
#footer .upper .f_box_2 h3.mobile_isp {
	background: url(/images/tl_footer_h3@2x.png) 0 -190px no-repeat;
	background-size: 252px 210px;
}
#footer .upper .f_box_2 img.store_google {
	display: block;
	position: absolute;
	top: -3px;
	left: 254px;
}
#footer .upper .f_box_2 img.store_apple {
	display: block;
	position: absolute;
	top: -3px;
	left: 328px;
}
#footer .upper .f_box_2 a:hover img {
	opacity: .7;
}

#footer .upper .f_box_2 img.qr {
	display: block;
	float: left;
	border: 1px solid #ddd;
	width: 90px;
	height: 90px;
}

#footer .upper .f_box_2 div {
	width: 190px;
	background: #fafafa;
	float: left;
	margin: 2px 0 8px 15px;
	padding: 8px;
	position: relative;
	box-shadow: 0 0 3px #999;
}
#footer .upper .f_box_2 p {
	margin: 0 0 6px 0;
}
#footer .upper .f_box_2 .badge {
	display: block;
}
#footer .upper .f_box_2 .badge img {
	display: inline-block;
	margin-right: 5px;
}
/*----- 左吹き出し -----*/
#footer .upper .f_box_2 div:after, #footer .upper .f_box_2 div:before {
	right: 100%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
#footer .upper .f_box_2 div:after {
	border-color: rgba(250, 250, 250, 0);
	border-right-color: #fafafa;
	border-width: 9px;
	top: 50%;
	margin-top: -9px;
}
#footer .upper .f_box_2 div:before {
	border-color: rgba(194, 225, 245, 0);
	border-right-color: #ccc;
	border-width: 10px;
	top: 50%;
	margin-top: -10px;
}
/*----- 左吹き出し -----*/

#footer .upper .f_box_2 p {
	clear: both;
	margin: 0 0 15px 0;
}

#footer .middle {
	width: 980px;
	height: 210px;
	margin: 0 auto 20px;
	background: #fff url(/images/footer_logo.png) 175px 43px no-repeat;
}
#footer .middle p {
	width: 860px;
	margin: 0 auto;

	color: #999;
	line-height: 1.8;
}
#footer .lower {
	clear: both;
	background: #900;
	color: #fff;
	padding: 10px 0;
}
#footer .lower .inner {
	min-width: 980px;
	margin: 0 auto;
}

#footer .lower .inner ul {
	margin-left: 20px;
}

#footer .lower .inner ul li {
	float: left;
	margin: 0 15px 0 0;
	background: url(/images/icon/icon_arrow_10_wt.svg) 0 4px no-repeat;
	text-indent: 9px;
	background-size: 5px 10px;
}

#footer .lower p.copy {
	float: right;
	margin-right: 15px;
}

#footer .lower a:link { color: #fff;}
#footer .lower a:visited { color: #fff;}
#footer .lower a:hover { color: #ffd800; text-decoration: none;}

#footer .page_top {
	position:absolute;
	top:3px;
	right:50px;
}


/*----------------- 会員用 -----------------*/

body.member #header > h1 a {
	background-image: url(/images/header_logo_blue@2x.png);
}
body.member.event20th #header > h1 a {
	background-image: url(/images/header_logo_blue_20th@2x.png);
}
body.member.halloween #header > h1 a {
	background-image: url(/images/header_logo_hw_a@2x.png);
}
body.member.xmas #header > h1 a {
	background-image: url(/images/header_logo_xm_a@2x.png);
}
body.member.newyear #header > h1 a {
	background-image: url(/images/header_logo_blue_sg@2x.png?2025);
}
body.member.newyear #header {
	background-image: url(/images/header_bg_blue_sg@2x.png);
	background-size: 344px 53px;
}

body.member #header .menu ul li a {
	background-image: url(/images/btn/btn_gl_menu_blue@2x.png);
}
body.member #header .menu {
	background-color: #416ed6;
	background-image: linear-gradient(to bottom, #416ed6 0, #1f4893 100%);
}
body.member #header > ul.navi li:first-child {
	border-left: none;
}


/*----------------- 動画ディスプレイ -----------------*/
.stream_display {
	padding: 3px;
	box-shadow: 0 0 3px rgba(0, 0, 0, .4);
}
.stream_display > div {
	border: 1px solid #980000;
	background-color: #1a0000;
	padding: 3px;
}
.stream_display > div .stream {
	vertical-align: top;
	margin-bottom: 3px;
}
.stream_display > div .nick_name {
	font-size: 15px;
	color: #ffb608;
	background-color: transparent;
	font-weight: bold;
	text-align: center;
	margin-bottom: 3px;
}


/*----------------- 動く告知メッセージ -----------------*/
.animated_info {
	border: 1px solid #ccc;
	line-height: 26px;
	background-color: #fff;
	box-shadow: 0 1px 0 #fff;
	overflow: hidden;
	white-space: nowrap;
	font-weight: bold;
	font-size: 12px;
}
.animated_info:before {
	content: "インフォメーション";
	float: left;
	width: 68px;
	height: 0;
	padding-top: 26px;
	background: url(/images/bb_info.png) center center no-repeat;
	overflow: hidden;
}
.animated_info > div {
	height: 26px;		/* IE10対策 */
	word-wrap: normal;	/* IE10対策 */
	box-shadow: 1px 1px 0 #eee inset;
	overflow: hidden;
}
.animated_info > div > span {
	position: relative;
}


/*----------------- コンテンツ内サブメニュー -----------------*/
#main ul.sub_menu li {
	float: left;
	text-align: center;
	font-size: 11px;
	z-index: 2;
}
#main ul.sub_menu li a {
	display: block;
	color: #999;
	background-color: #fafafa;
	text-decoration: none;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	padding: 9px 14px 2px;
	margin-right: -1px;
	cursor: pointer;
}
#main ul.sub_menu li:hover a {
	background-color: #fff;
	color: #08c;
}
#main ul.sub_menu li a:before {
	content: "";
	display: block;
	background-repeat: no-repeat;
	width: 48px;
	height: 48px;
	margin: 0 auto;
}
#main ul.sub_menu li.selected {
	position: relative;
	top: 1px;
}
#main ul.sub_menu li.selected:before {
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: 0;
	width: 100%;
	border-top: 5px solid #08c;
	border-right: 1px solid #08c;
}
#main ul.sub_menu li.selected a {
	position: relative;
	color: #08c;
	background-color: #fff;
	border-top: 0;
	cursor: auto;
}
#main ul.sub_menu li.selected a:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	border-top: 1px solid #fff;
}
#main .sub_body {
	clear: left;
	position: relative;
	border: 1px solid #ccc;
}


/*----------------- アクション行 -----------------*/
#main .sub_body .actions_line {
	background-color: #eee;
	border-top: 1px solid #ccc;
	padding: 5px 10px;
	overflow: hidden;
	font-size: 14px;
}
#main .sub_body .actions_line:first-child {
	position: relative;
	z-index: 3;
	margin-top: -1px;
	border-bottom: 1px solid #ccc;
}
#main .sub_body .actions_line button,
#main .sub_body .actions_line a {
	display: inline-block;
	margin-left: .5em;
	color: inherit;
	text-decoration: none;
	background-color: #fff;
	border: 1px solid #ccc;
	font-size: 13px;
	line-height: 2;
	padding: 0 5px 0 0;
	border-radius: 3px;
	cursor: pointer;
}
#main .sub_body .actions_line button:hover,
#main .sub_body .actions_line a:hover {
	background-color: #fafafa;
}
#main .sub_body .actions_line button:before,
#main .sub_body .actions_line a:before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	vertical-align: middle;
	background-image: url(/images/icon/icon_mail_submenu.png);
	background-repeat: no-repeat;
}
#main .sub_body .actions_line a.back {
	letter-spacing: 5px;
	padding-right: 0;
	margin-right: 1.5em;
}
#main .sub_body .actions_line a.back:before {
	background-position: 0 -170px;
}
#main .sub_body .actions_line a[href*="res="] {
	letter-spacing: 5px;
	padding-right: 0;
}
#main .sub_body .actions_line a[href*="res="]:before {
	background-position: 0 0;
}
#main .sub_body .actions_line button[value="del"] {
	letter-spacing: 5px;
	padding-right: 0;
}
#main .sub_body .actions_line button[value="del"]:before {
	background-position: 0 -34px;
}
#main .sub_body .actions_line button[value="empty"]:before {
	background-position: 0 -68px;
}
#main .sub_body .actions_line button[value="recover"]:before {
	background-position: 0 -102px;
}
#main .sub_body .actions_line button[value="spam"]:before, #main .sub_body .actions_line button[value="set_spam"]:before, #main .sub_body .actions_line button[value="spam_del"]:before {
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23555%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%227.5%22%2F%3E%3Cpath%20d%3D%22m17.3%206.7-10.6%2010.6%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');
	background-size: 24px 24px;
}
/* 検索フォーム */
#main .sub_body .actions_line .search {
	display: inline;
	float: right;
	container: revert;
}
#main .sub_body .actions_line .search input[type=checkbox] {
	vertical-align: middle;
}
#main .sub_body .actions_line .search input[name=k] {
	border-radius: 3px 0 0 3px;
	margin-left: 1em;
	width: 12em;
	height: 26px;
	line-height: 26px;
	font-size: 14px;
}
#main .sub_body .actions_line .search button.submit {
	letter-spacing: 5px;
	padding-right: 0;
	float: right;
	border-left: none;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	margin: 0;
}
#main .sub_body .actions_line .search button.submit:before {
	background-position: 0 -272px;
}
#main .sub_body .result {
	margin: 2em 0 0;
	padding: 0 1.5em;
	border-bottom: 1px solid #ccc;
}
#main .sub_body .not_found {
	color: #c60000;
	font-weight: bold;
	font-size: 15px;
	text-align: center;
}
#main .sub_body .not_found td {
	padding-top: 2em;
}

/*----------------- ページ移動リンク -----------------*/
ul.page_link {
	text-align: center;
	white-space: nowrap;
	word-wrap: normal;	/* IE10 */
	line-height: 1;
	font-size: 0;
}
ul.page_link li {
	display: inline;
	font-size: 14px;
}
ul.page_link li a {
	display: inline-block;
	width: 34px;
	padding: 10px 0;
	margin: 0 2px;
	border: 1px solid #ccc;
	color: #555;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 700;
}
ul.page_link li a:hover {
	background-color: #eee;
}
ul.page_link li.selected a {
	background-color: #ddd;
}
ul.page_link li.prev a,
ul.page_link li.next a {
	position: relative;
	height: 0;
	padding: 34px 0 0;
	overflow: hidden;
	vertical-align: top;
}
ul.page_link li.prev a:after,
ul.page_link li.next a:after {
	content: "";
	display: block;
	position: absolute;
	top: 12px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #555;
	border-right: 2px solid #555;
}
ul.page_link li.prev a:after {
	left: 14px;
 	transform: rotate(225deg);
}
ul.page_link li.next a:after {
	right: 14px;
 	transform: rotate(45deg);
}


/*----------------- 汎用の女の子一覧 -----------------*/
ul.my_girls a {
	text-decoration: none;
}
ul.my_girls > li {
	border-bottom: 1px solid #ccc;
	padding-top: 16px;
	padding-bottom: 12px;
}
ul.my_girls > li:nth-child(2n) {
	background-color: #fafafa;
}
ul.my_girls > li > table {
	table-layout: fixed;
	width: 100%;
}
ul.my_girls > li > table tr:first-child td:first-child {
	width: 120px;
}
ul.my_girls > li > table tr:first-child td:last-child {
	width: 240px;
}
ul.my_girls > li > table .thumbnail {
	display: inline-block;
	position: relative;
	width: 92px;
	overflow: hidden;
	border: 1px solid #ccc;
	margin-left: 10px;
}
ul.my_girls > li > table .thumbnail img {
	position: relative;
	left: -16px;
	height: 92px;
	background: #fff url(/images/now_loading_thumb.gif) center center no-repeat;
}
ul.my_girls > li > table .thumbnail:hover {
	opacity: 0.7;
}
ul.my_girls > li > table .thumbnail:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	margin: auto;
	background-image: url(/images/spacer.gif);
}
ul.my_girls > li > table .nick_name {
	font-size: 16px;
	line-height: 1;
	margin-right: .5em;
	vertical-align: middle;
}
ul.my_girls > li > table ul.icon {
	display: inline;
}
ul.my_girls > li > table ul.icon li {
	display: inline;
}
ul.my_girls > li > table ul.icon img {
	vertical-align: middle;
}
ul.my_girls > li > table ul.buttons {
	margin-bottom: .5em;
}
ul.my_girls > li > table ul.buttons li {
	display: inline;
}
ul.my_girls > li > table ul.buttons li > * {
	display: inline-block;
	width: 112px;
	height: 0;
	border: none;
	padding: 26px 0 0;
	margin: .2em .12em .2em 0;
	overflow: hidden;
	background: url(/images/btn/btn_member.png) -132px 0 no-repeat;
	vertical-align: middle;
	cursor: pointer;
}
ul.my_girls > li > table ul.buttons li > *:hover {
	background-position: -132px -36px;
}
ul.my_girls > li > table ul.buttons li > *.mark_this {
	background-position: 0 0;
}
ul.my_girls > li > table ul.buttons li > *.mark_this:hover {
	background-position: 0 -36px;
}
ul.my_girls > li > table ul.buttons li > *.mark_this.faved {
	background-position: 0 -72px;
}
ul.my_girls > li > table ul.buttons li > *.mark_this.faved:hover {
	background-position: 0 -108px;
}
ul.my_girls > li > table ul.buttons li > *.prof {
	background-position: -396px 0;
}
ul.my_girls > li > table ul.buttons li > *.prof:hover {
	background-position: -396px -36px;
}
ul.my_girls > li > table ul.buttons li > *.memo {
	background-position: -264px 0;
}
ul.my_girls > li > table ul.buttons li > *.memo:hover {
	background-position: -264px -36px;
}
ul.my_girls > li > table ul.buttons li > *.spam_this {
	background-position: -132px -72px;
}
ul.my_girls > li > table ul.buttons li > *.spam_this:hover {
	background-position: -132px -108px;
}
ul.my_girls > li > table ul.buttons li > *.spam_this.is_spam {
	background-position: -264px -72px;
}
ul.my_girls > li > table ul.buttons li > *.spam_this.is_spam:hover {
	background-position: -264px -108px;
}
ul.my_girls > li > table dl.personal {
	display: inline;
}
ul.my_girls > li > table dl.personal dt {
	display: inline;
}
ul.my_girls > li > table dl.personal dt:after {
	content: "：";
}
ul.my_girls > li > table dl.personal dd {
	display: inline;
	margin-right: .5em;
}
ul.my_girls > li > table .memo {
	border-top: 1px dotted #ccc;
}
ul.my_girls > li > table .memo a {
	display: block;
	height: 18px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
ul.my_girls > li > table .memo a:before {
	content: "メモ：";
}

/* メディアファイル投稿サービス関連 */
.blog_posts {
	font-size: 13px;
	word-wrap: break-word;
	line-height: normal;
}

.blog_posts ul {
	display: flex;
	flex-wrap: wrap;
	padding: 6px;
	gap: 12px;
}
.blog_posts li {
	background-color: #fff;
	border: 1px solid #ccc;
	box-sizing: border-box;
	width: 250px;
}
.blog_posts li a {
	color: inherit;
	text-decoration: none;
}
.blog_posts li a.summary {
	display: block;
	padding-bottom: 1em;
}
.blog_posts li a.summary:hover {
	opacity: .7;
}
.blog_posts li .media {
	position: relative;
	margin-bottom: 12px;
	overflow: hidden;
}
.blog_posts li .media:before {
	content: "";
	display: block;
	padding-top: 75%;
}
.blog_posts li .media img {
	position: absolute;
	top: -100%;
	left: -100%;
	right: -100%;
	bottom: -100%;
	width: auto;
	max-width: 140%;
	height: auto;
	margin: auto;
}
.blog_posts li .date {
	color: #e74c3c;
	font-size: 12px;
	line-height: 2;
	margin: 0 10px;
}
#main .blog_posts p.date {
	margin-bottom: 0;
}
.blog_posts p.date.is_new {
	display: flex;
	align-items: center;
}
.blog_posts p.date.is_new:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 13px;
	margin-right: .5em;
	background: url(/images/icon/icon_info_new.svg) 0 0 no-repeat;
	border-radius: 2px;
}
.blog_posts li .comment {
	margin: 0 1em;
	line-height: 1.5;
	height: 4.5em;
	overflow: hidden;
}
.blog_posts li .blog_title {
	margin: 2px 10px 2px !important;
	line-height: 1.5;
	height: 1.5em;
	overflow: hidden;
	color: #fe392e;
	font-weight: bold;
	font-size: 15px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.blog_posts li .s_comment {
	margin: 0 10px;
	line-height: 1.5;
	height: 3em;
	overflow: hidden;
	margin-bottom: 0em !important;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

#main .blog_posts p.comment {
	margin-bottom: 7px;
}
.blog_posts li .girl {
	display: block;
	color: #e74c3c;
	border-top: 1px dotted #ccc;
	overflow: hidden;
	position: relative;
	font-weight: bold;
}
.blog_posts li .girl:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	width: 9px;
	height: 9px;
	margin-top: -4px;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	transform: rotate(45deg);
}
.blog_posts li .girl:hover {
	opacity: .7;
}
.blog_posts li .girl .thumbnail {
	float: left;
	width: 44px;
	overflow: hidden;
	margin: 8px 12px 8px 8px;
	border-radius: 22px;
}
.blog_posts li .girl .thumbnail img {
	position: relative;
	width: 44px;
	height: 44px;
	background: url(/images/now_loading_thumb.gif) center center no-repeat;
	object-fit: cover;
}
.blog_posts li .girl .online_status {
	margin: 9px 0 3px;
}
.blog_posts li .girl .online_status:after {
	display: inline-block;
	padding: 2px 5px;
	border-width: 1px;
	border-style: solid;
	border-radius: 3px;
	font-size: 12px;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}
.blog_posts li .girl.online .online_status:after {
	content: "ONLINE";
	color: #fff;
	background-color: #c60000;
	border-color: #c60000;
}
.blog_posts li .girl.chat .online_status:after {
	content: "2SHOT";
	color: #1b3994;
	border-color: #1b3994;
}
.blog_posts li .girl.wait .online_status:after {
	content: "待ち合わせ";
	color: #f94709;
	border-color: #f94709;
}
.blog_posts li .girl.offline .online_status:after {
	content: "OFFLINE";
	color: #999;
	border-color: #999;
}
.blog_posts li .girl.standby .online_status:after {
	content: "STANDBY";
	color: #085948;
	border-color: #085948;
}
.blog_posts .button_wrapper {
	clear: both;
	position: relative;
	top: 18px;
	margin-bottom: 36px;
}
.blog_posts .button_wrapper a {
	color: #fff;
	background-color: #e64d3b;
}


/*----------------- モーダルウインドウ -----------------*/
body.modal-open {
	overflow: hidden;
}
.modal, .modal * {
	box-sizing: border-box;
}
.modal {
	visibility: hidden;
	z-index: 1050;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 744px;
	padding: 0 24px 24px;
	transform: translate(-50%, -60%);
	border-radius: 8px;
	outline: none;
	background: #fff;
	opacity: 0;
	transition: 0.3s;
}

.modal.is-active {
	visibility: visible;
	transform: translate(-50%, -50%);
	opacity: 1;
}

.modal.size-s {
	width: 448px;
}

.modal.size-l {
	width: 944px;
}

.modal.scroll {
	top: 50px;
	height: calc(100vh - 100px);
	overflow-y: scroll;
	transform: translate(-50%, -20px);
}

.modal.scroll.is-active {
	transform: translate(-50%, 0);
}
.modal_header {
	position: relative;
	padding: 13px 0;
	border-bottom: 1px solid #d5d5d9;
}
.modal_title {
	margin: 0;
	padding: 0 28px;
	color: #c60000;
	font-size: 20px;
	text-align: center;
	line-height: 1.45;
}
.modal_close {
	z-index: 1050;
	position: absolute;
	top: 8px;
	right: 16px;
	width: 36px;
	height: 36px;
	padding: 0;
	border: none;
	outline: none;
	background: transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2036%2036%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23919199%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m27%209-18%2018%22%2F%3E%3Cpath%20d%3D%22m9%209%2018%2018%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
	text-indent: -9999px;
	cursor: pointer;
}
.modal_inner {
	padding: 36px;
}
.modal_inner p, #main .modal_inner p {
	line-height: 1.65;
	margin-bottom: 0;
}
.modal_footer {
	padding: 0 24px;
}
.modal_footer .button {
	margin: 0 auto;
	display: block;
	text-align: center;
}
.modal_footer .form-check {
	text-align: center;
	margin-top: 20px;
}
.modal_footer .form-check [type="checkbox"] {
	display: none;
}
.modal_footer .form-check [type="checkbox"] + label {
	position: relative;
	padding-left: 1.9em;
	color: #919199;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.modal_footer .form-check [type="checkbox"] + label::before {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	border: 1px solid #919199;
	border-radius: 4px;
	background: #fff;
	content: "";
	box-sizing: border-box;
}
.modal_footer .form-check [type="checkbox"]:checked + label::after {
	display: block;
	position: absolute;
	top: 40%;
	left: 6px;
	width: 8px;
	height: 14px;
	transform: translateY(-50%) rotate(45deg);
	border-right: 3px solid #c60000;
	border-bottom: 3px solid #c60000;
	content: "";
	box-sizing: border-box;
}
.modal_bg {
	z-index: 1040;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(21, 27, 38, 0.5);
	transition: 0.3s;
}
.modal.imagePreview {
	width: auto;
	padding: 20px;
}
.modal.imagePreview .modal_inner {
	padding: 0;
}
.modal.imagePreview .modal_inner img {
	max-width: 76vw;
	max-height: 76vh;
	border: 1px solid #d5d5d9;
}
.modal.imagePreview .modal_close {
	top: -16px;
	right: -16px;
	border: 2px solid #d5d5d9;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2036%2036%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23919199%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m27%209-18%2018%22%2F%3E%3Cpath%20d%3D%22m9%209%2018%2018%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}
[data-toggle="modal"] {
	cursor: pointer;
}

/*----------------- イメージアップロード、プレビュー -----------------*/
.imageUpload * {
	box-sizing: border-box;
}
.imageUpload_button {
	display: block;
	position: relative;
	width: 180px;
	height: 40px;
	border: none;
	padding: 0;
	margin-bottom: 24px;
}
.imageUpload_button input {
	z-index: 9999;
	width: 100%;
	height: 100%;
	cursor: pointer;
	opacity: 0;
}
.imageUpload_button div {
	position: absolute;
	top: 50%;
	width: 100%;
	height: 100%;
	transform: translateY(-50%);
	border: 1px solid #ccc;
	border-radius: 20px;
	line-height: 38px;
	text-align: center;
	cursor: pointer;
	box-sizing: border-box;
	text-indent: 1em;
}
.imageUpload_button div:hover {
	opacity: 0.7;
}
.imageUpload_button div::before {
	display: block;
	position: absolute;
	top: calc(50% - 1px);
	left: 20px;
	width: 13px;
	height: 2px;
	background: #919199;
	content: "";
}
.imageUpload_button div::after {
	display: block;
	position: absolute;
	top: calc(50% - 1px);
	left: 20px;
	width: 13px;
	height: 2px;
	transform: rotate(90deg);
	background: #919199;
	content: "";
}
.imageUpload_button small {
	display: block;
	margin: 4px 0 0 0;
	font-size: 11px;
	line-height: 1;
}
.imageUpload_preview {
	display: none;
	margin-top: 4px;
}
.imageUpload_preview .imgWrap {
	display: inline-block;
	position: relative;
}
.imageUpload_preview .imgWrap img {
	max-width: 100px;
	height: auto;
	max-height: 200px;
	margin: 0 auto;
	object-fit: cover;
	border: 2px solid #d5d5d9;
	border-radius: 8px;
}
.imageUpload_preview .imgWrap .fileSize {
	margin-top: 6px;
	color: #73737a;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}
.imageUpload_preview .clearButton {
	position: absolute;
	top: -10px;
	right: -10px;
	width: 28px;
	height: 28px;
	border: 2px solid #d5d5d9;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
}
.imageUpload_preview .clearButton::before {
	display: block;
	position: absolute;
	top: calc(50% - 1px);
	left: 5px;
	width: 14px;
	height: 2px;
	transform: rotate(45deg);
	background: #45454a;
	content: "";
}
.imageUpload_preview .clearButton::after {
	display: block;
	position: absolute;
	top: calc(50% - 1px);
	left: 5px;
	width: 14px;
	height: 2px;
	transform: rotate(-45deg);
	background: #45454a;
	content: "";
}
