@charset "utf-8";
/*==============================================================================================================================
	共通部分
	==============================================================================================================================*/

/* ====================================
	Box Sizing
	==================================== */
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* ====================================
	Clearfix
	==================================== */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/* ====================================
	要素
	==================================== */
html {
	font-size: 62.5%;
	/*1emが10pxになるように調整する (16px * 0.625 = 10px)　例えばフォントサイズを14pxにしたい場合は1.4remと指定する*/
	overflow: auto;
}

/* 1600px以上はフォントサイズを１つ上げる */
@media screen and (min-width: 1600px) {
	html {
		font-size: 68.75%;
	}
}

@media screen and (max-width : 1179px) {
	html {
		font-size: 56.25%;
	}
}

@media screen and (max-width: 800px) {
	html {
		font-size: 50%;
	}
}

body {
	font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	background: #fff;
	color: #231815;
	font-size: 1.0rem;
	line-height: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
	min-width: 120rem;
	-webkit-text-size-adjust: 100%;
}

input,
textarea {
	font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}


article,
section {}

a {
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
	text-decoration: none;
	color: #262626;

}

a,
a:link,
a:visited,
a:active,
a:hover,
a:focus {
	color: #262626;
	text-decoration: none;
	outline: none;
}

a:active,
a:hover {
	opacity: 0.6;
}

li {
	list-style-type: none;
}

img {
	vertical-align: text-bottom;
	line-height: 50%;
	max-width: 100%;
}



/* ====================================
	ページ全体
	==================================== */
#wrapper {
	width: 100%;
	height: 100%;
	position: relative;
}

/* ページ全体のエフェクト初期値 */
#wrapper {
	display: none;
}

/* ページの要素ごとのエフェクト初期値 */
.animated {
	opacity: 0;
}

#side {
	width: 25rem;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
}

@media screen and (max-width : 1179px) {
	#side {
		width: 24rem;
	}
}

/* 800px以下はサイドメニューを固定しない */
@media screen and (max-width: 800px) {
	#side {
		width: 23rem;
		position: absolute;
	}
}

#contents {
	margin-left: 25rem;
	width: auto;
	position: relative;
	z-index: 0;
}

@media screen and (max-width : 1179px) {
	#contents {
		margin-left: 24rem;
	}
}

@media screen and (max-width: 800px) {
	#contents {
		margin-left: 23rem;
		width: auto;
	}
}

/* ====================================
	ヘッダー、サイドバー
	==================================== */

#side {
	background: url(../img/side_bg.png) repeat left top;
	text-align: center;
}

#side .side-logo {
	display: inline-block;
	width: 100%;
	padding: 1rem 1.5rem 0;
}

#side .side-logo img {
	width: 100%;
}

#side .side-contact {
	width: 75%;
	margin: .5rem auto 0;
	padding-bottom: .5rem;
	border-bottom: 1px dashed #BA8C46;
}

#side .side-contact img {
	width: 100%;
}

#side .side-contact dl {
	display: inline-block;
	width: 100%;
	text-align: left;
	white-space: nowrap;
}

#side .side-contact dl dt,
#side .side-contact dl dd {
	display: inline-block;
	line-height: 2.5rem;
}

#side .side-contact dl dt {
	text-align: left;
	font-size: 1.9rem;
	width: 6.5rem;
}

#side .side-contact dl dd {
	text-align: right;
	font-size: 2rem;
	width: auto;
}

#side .side-contact dl:first-child dd {
	letter-spacing: .03rem;
}

#side .side-contact dl:last-child dd {
	letter-spacing: .1rem;
}

#side .side-nav ul {
	width: 75%;
	list-style: none;
	margin: .5rem auto;
	text-align: left;
}

#side .side-nav ul li {
	border-bottom: 1px dashed #BA8C46;
	width: 100%;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	overflow: hidden;
}

#side .side-nav ul li a {
	display: block;
	width: 100%;
	height: 3rem;
	line-height: 3rem;
}

#side .side-nav ul li a:hover {
	opacity: 0.8;
}

#side .side-nav ul li a .over,
#side .side-nav ul li a .out {
	display: block;
	width: 100%;
	position: absolute;
	margin: 0;
	-webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
	transition: opacity 0.6s, transform 0.6s;
}

#side .side-nav ul li a .over {
	top: 2px;
	font-size: 1.5rem;
	color: #231815;
	opacity: 0;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}

#side .side-nav ul li a .out {
	letter-spacing: .2rem;
	font-size: 2rem;
	color: #262626;
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

#side .side-nav ul li a:hover .over,
#side .side-nav ul li a:focus .over,
#side .side-nav ul li a:active .over {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

#side .side-nav ul li a:hover .out,
#side .side-nav ul li a:focus .out,
#side .side-nav ul li a:active .out {
	opacity: 0;
	transform: translateY(-100%);
	-webkit-transform: translateY(-100%);
}

#side .side-btn {
	display: table;
	border-collapse: separate;
	border-spacing: 1rem .5rem;
	width: 90%;
	margin: 0 auto;
	text-align: center;
	padding: .25rem .5rem 0;
}

#side .side-btn .btn {
	cursor: pointer;
	display: table-cell;
	vertical-align: middle;
	height: 6rem;
	font-size: 1.5rem;
	color: #fff;
	border-radius: .4rem;
}

#side .side-btn .btn:hover {
	opacity: 1;
}

#side .side-btn .icon {
	display: block;
	line-height: 2.2rem;
	padding: 0 .8rem .8rem;
	font-size: 2.2rem;
}

.side-btn-login {
	background: #B9C33C;
}

.side-btn-member {
	background: #F9AE6D;
}

#side .side-btn .btn:hover>.icon,
#side .side-btn .btn:focus>.icon,
#side .side-btn .btn:active>.icon {
	display: block;
	position: relative;
	-webkit-animation: icon-push .3s linear;
	animation: icon-push .3s linear;
}

@-webkit-keyframes icon-push {
	50% {
		-webkit-transform: scale(0.5);
	}
}

@keyframes icon-push {
	50% {
		transform: scale(0.5);
	}
}

#side .side-bnr {
	width: 75%;
	padding: .5rem 0;
	margin: 0 auto;
}

#side .side-bnr img {
	width: 100%;
}


/* ====================================
	メインコンテンツ
	==================================== */

#contents {
	background: #fff;
}

#main {
	width: 100%;
	margin: 5rem 0;
	text-align: center;
	min-height: calc(100vh - 77rem);
}


/* ====================================
	メインタイトル(トップ以外)
	==================================== */
#ttl_main {
	height: 14rem;
	border-bottom: 4px solid #BA8C46;
}

#ttl_main h1 {
	height: 100%;
	text-align: left;
}

#ttl_main h1 img {
	height: 100%;
}

/* ====================================
	リスト
	==================================== */
.girl-cell {
	display: inline-block;
	margin: 1rem 1.5rem 5rem;
	width: 18.5rem;
}

.girl-cell a {
	display: inline-block;
	text-align: center;
	color: #262626;
	text-decoration: none;
}

.girl-cell .girl-photo {
	display: block;
	width: 18.5rem;
	padding-bottom: .3rem;
}

.girl-cell .girl-info {
	font-size: 1.7rem;
	line-height: 2.2rem;
}

.girl-cell .girl-name,
.girl-cell .girl-shop {
	display: inline-block;
	vertical-align: middle;
	padding: .5rem 0;
}

.girl-cell .girl-shop {
	background: #B9C33C;
	padding: .2rem 2rem;
	color: #fff;
	margin-left: 1rem;
	border-radius: .5rem;
	font-size: 1.3rem;
	letter-spacing: .2rem;
}

.girl-cell .girl-3size {
	font-size: 1.6rem;
	vertical-align: top;
	display: block;
}

.girl-cell.is-empty {
	height: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
}

.time {
	font-size: 18px;
	margin-bottom: 10px;
	letter-spacing: 1px;
	color: #B48646;
}

/* ====================================
	フッター
	==================================== */
#footer {
	width: 100%;
	clear: both;
	margin-top: 10rem;
	text-align: left;
	background: #231815;
}

#foot_nav {
	width: 100%;
	text-align: center;
}

#foot_nav ul {
	font-size: 0;
	display: inline-block;
}

#foot_nav ul li {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	box-shadow: 0 0 1px transparent;
	position: relative;
	z-index: 1;
}

#foot_nav ul li:before {
	pointer-events: none;
	position: absolute;
	z-index: -1;
	content: '';
	border-style: solid;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: transform;
	transition-property: transform;
	left: calc(50% - 20px);
	bottom: 0;
	border-width: 20px 20px 0 20px;
	border-color: #231815 transparent transparent transparent;
}

#foot_nav ul li:hover:before,
#foot_nav ul li:focus:before,
#foot_nav ul li:active:before {
	-webkit-transform: translateY(18px);
	transform: translateY(18px);
}


#foot_nav ul li a {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	padding: 2.5rem 1.5rem;
	margin: 0 auto;
	color: #fff;
	font-size: 1.4rem;
}

#foot_wrap {
	background: #BA8C46;
	width: 100%;
	margin: 0 auto;
	padding: 5rem 0;
	text-align: center;
	position: relative;
}

#foot_in {
	width: 100%;
}

#foot_area_l,
#foot_area_r {
	width: auto;
	padding: 1rem;
	display: inline-block;
	vertical-align: middle;
}

#footer_contact img {
	height: 11rem;
}

#footer_logo img {
	height: 17.5rem;
}

#foot_wrap .btn_footer {
	display: table-cell;
	vertical-align: middle;
}

#foot_wrap .btn_footer p {
	margin-bottom: 10px;
}

#foot_wrap .btn_footer .btn {
	display: inline-block;
	margin: 2rem .5rem;
	border: .2rem solid #fff;
	border-radius: 50%;
	background-color: #fff;
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;

}

#foot_wrap .btn_footer .btn:hover,
#foot_wrap .btn_footer .btn:focus,
#foot_wrap .btn_footer .btn:active {
	border: .2rem outset #503c1e;
	-webkit-animation: scale .3s ease-in-out;
	animation: scale .3s ease-in-out;
}

#foot_wrap .btn_footer .btn a {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 9rem;
	height: 9rem;
	color: #BA8C46;
	font-size: 1.5rem;
	line-height: 2rem;
	letter-spacing: .2rem;
}

@-webkit-keyframes scale {
	50% {
		-webkit-transform: scale(1.1);
	}
}

@keyframes scale {
	50% {
		transform: scale(1.1);
	}
}

#foot_wrap .pagetop {
	display: inline-block;
	padding: 1.5rem;
	background: #231815;
	position: absolute;
	right: 4rem;
	top: -10rem;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
}

footer #foot_wrap .pagetop:hover,
footer #foot_wrap .pagetop:focus,
footer #foot_wrap .pagetop:active {
	top: -11rem;
	padding-bottom: 2.5rem;
}

footer #foot_wrap .pagetop a {
	font-size: 1.2rem;
	padding: 1.5rem;
	color: #fff;
}

#foot_wrap .pagetop a:hover {
	opacity: 1;
}

#foot_copy {
	background: #231815;
	width: 100%;
}

#foot_copy p {
	width: 100%;
	padding: 1rem 0;
	display: inline-block;
	text-align: center;
}

#foot_copy small {
	color: #fff;
	font-size: .7rem;
	letter-spacing: 1px;
}

.link-banner {
	width: 810px;
	margin: 50px auto;
	padding: 30px;
	text-align: left;
	border: 1px solid #fff;
}

/* ====================================
	ログインフォーム
	==================================== */
.subLogin {
	width: 100%;
	margin: 0 auto;
	padding: 0px 40px 20px;
	text-align: center;
	border: 4px solid #b5bf3c;
	background: #fff;
}

.subLogin .title {
	font-size: 2.6rem;
	padding: 20px 0 8px;
	color: #231815;
	width: 100%;
	margin: 1rem auto;
}

.subLogin dt {
	font-size: 1.5rem;
	margin: 10px 0;
	color: #231815;
}

.subLogin .text {
	font-size: 1.4rem;
	color: #231815;
	margin: 10px 0;
	text-align: center;
}

.subLogin .signup {
	font-size: 1.2rem;
	color: #231815;
	margin-top: 10px;
	line-height: 1.5;
	letter-spacing: 1px;
}

.submit li a {
	background: #b5bf3c;
	color: #fff;
	padding: 10px 30px;
	border-radius: 5px;
	margin: 10px auto;
	display: inline-block;
	width: auto;
	font-size: 2rem;
}