@charset "UTF-8";
/* CSS Document */

/*ALL
--------------------------------------------------*/
div,p,h1,h2,h3,h4,ul,li,dl,dt,dd,ol,table,th,td,form,fieldset,a{
	margin:0;
	padding:0;
	/*-webkit-tap-highlight-color:rgba(0, 0, 0, 0);*/
	/*-webkit-touch-callout:none;*/
	box-sizing:border-box;
}
fieldset{
	border:none;
}
.clear{
	clear:both;
}
.clearfix{
	height:1%;
	overflow:hidden;
}
.clearfix:after{
	content:" ";
	display:block;
	clear: both;
}
li{
	list-style:none;
}
a{
	font-weight:bold;
	color:#e75b5e;
}
a img{
	border:none;
}
img{
	width:100%;
	height:auto;
}
#footer{
	color:#fff;
	background: #80463a;
}
/*LAYOUT---------------------------*/
body{
	font-family: 'Lucida Grande','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,sans-serif;
	line-height:1.4;
	text-align:center;
	margin:0;
	padding:0;
	font-size-adjust:100%;
	width:100%;
    position: relative;
	box-sizing:border-box;
	background-color:#fff;
	background-image: url("../images/bk_images.gif");
	background-repeat: repeat;
	background-position: top center;
	background-size: 30px auto;
    overflow-x: hidden;
}
body:before,
body:after{
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
	z-index: -1;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
}
body:before{
    background-image: url("../images/left_girls.png");
}
body:after{
    background-image: url("../images/right_girls.png");
}
/*LOGO*/
#header{
	position: relative;
}
#header .logo,
#header .pc_text,
#header .sp_text{
	font-size: 0;
	position: relative;
	line-height: 1;
	display:inline-block;
	width: 100%;
	margin:0 auto;
}
#header .logo img:nth-child(1),
#header .pc_text img:nth-child(1),
#header .sp_text img:nth-child(1){
	position: relative;
	z-index: 3;
}
#header .logo img:nth-child(2),
#header .pc_text img:nth-child(2),
#header .sp_text img:nth-child(2){
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	mix-blend-mode: hard-light;
	z-index: 2;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
/*ENTER BTN*/
.enter_area p a{
	position: relative;
	display: inline-block;
	width: 100%;
	font-size: 0;
	overflow: hidden;
	box-sizing: border-box;
	-webkit-transition:all 0.3s;
	-moz-transition:all 0.3s;
	-ms-transition:all 0.3s;
	-o-transition:all 0.3s;
	transition:all 0.3s;
	line-height: 1;
	cursor: pointer;
}
.enter_area p a img{
	display:inline-block;
}
.enter_area p a .trg_off{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.enter_area .enter_btn a{
	background: transparent;
}
.enter_area .enter_btn a:hover{
	background: transparent;
}
.enter_area .enter_btn a:hover .trg_off,
.enter_area .leave_btn a:hover .trg_off{
	display: none;
}
.enter_area .leave_btn a{
	background: transparent;
}
.enter_area .leave_btn a:hover{
	background: transparent;
}
/*LINK*/
.link_area div{
    width: 100%;
    max-width: 545px;
    margin: 0 auto;
	margin-top: 15px;
}
.link_area div a{
	display: block;
	font-size: 0;
}
.link_area .frame_wrap{
	background: #fff000;
}
/*R*/
.r18_area{
	color: #fff;
}
.r18_area .text{
	background: #411212;
	font-size: 15px;
}
.r18_area .text a{
    display: inline-block;
	color:#db846c;
	text-decoration: none;
}
.r18_area .icon img{
	font-size:0;
	line-height:1;
	display: none
}
.r18_area .annotation{
	display: none
}
/*FOOTER*/
#footer{
    font-family:'Lucida Grande','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,sans-serif;
}
#footer .sp_text{
    display: none;
}
/*MEDIA QUERIES
--------------------------------------------------*/
/*smartphone*/
@media (max-width: 640px) {
	/*LAYOUT---------------------------*/
	body{
		text-align:center;
		min-width:320px;
		max-width:640px;
	}
    body:before{
        left: calc(50% - 298px);
		width:309px;
		height:420px;
    }
    body:after{
        right: calc(50% - 265px);
        width: 223px;
        height: 467px;
    }
	/*LOGO*/
	#header .logo{
		margin: 10% 0 12%;
	}
    #header .logo img:nth-child(1){
        max-width: 192px;
		width: 44%;
    }
    #header .logo img:nth-child(2){
        max-width: 342px;
		width: 77%;
    }
	#header .pc_text{
		display: none;
	}
    #header .sp_text img:nth-child(1){
        max-width: 794px;
		width: 74%;
    }
    #header .sp_text img:nth-child(2){
        max-width: 915px;
		width: 85%;
    }
	/*ENTER BTN*/
	.enter_area{
		margin-top: 10%;
	}
	.enter_area .sp_btn{
        background: rgb(219,132,108);
        background: -moz-linear-gradient(top,  rgba(219,132,108,1) 0%, rgba(75,26,24,1) 80%);
        background: -webkit-linear-gradient(top,  rgba(219,132,108,1) 0%,rgba(75,26,24,1) 80%);
        background: linear-gradient(to bottom,  rgba(219,132,108,1) 0%,rgba(75,26,24,1) 80%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#db846c', endColorstr='#4b1a18',GradientType=0 );
		font-size: 0;
		border: 1px #4f1d1b solid;
	}
	.enter_area .sp_btn a{
		border-top: 1px #f5ded8 solid;
		border-left: 1px #f5ded8 solid;
		border-right: 1px #320706 solid;
		border-bottom: 1px #320706 solid;
		background-image: url("../images/enter_btn_sp.png");
		background-repeat: no-repeat;
		background-position: center;
		background-size: 40% auto;
		width: 100%;
	}
	.enter_area .sp_btn a img{
		visibility: hidden;
	}
	.enter_btn,
	.leave_btn{
		display: none;
	}
    /*LINK*/
	.link_area{
		padding: 0 5px;
	}
	/*R*/
	.r18_area{
		padding-top: 10px;
	}
	.r18_area .text{
		font-size: 3.7vw;
		padding: 5px 0;
	}
	.r18_area .text span{
		display: inline-block;
	}
	.r18_area .text a{
		color: #fff;
	}
	.r18_area .icon img{
		margin-bottom:10px;
		display: inline-block;
		width:20%;
		max-width:50px;
	}
	.r18_area .annotation{
		display: block;
		font-size: 12px;
		padding-bottom:10px;
	}
	/*footer*/
	#footer .sp_text{
		font-size:12px;
		width:90%;
		margin:0 auto;
		padding: 5px 0;
		display: block;
	}
	#footer .text,
	#footer .pc_text{
		display: none;
	}
}
/*tablet*/
@media (min-width: 641px) and (max-width: 893px) {
	/*LAYOUT---------------------------*/
	body{
		font-size:14px;
		min-width:641px;
		max-width:893px;
	}
	.wrapper{
		display: inline-block;
		max-width: 700px;
	}
    body:before{
        left: calc(50% - 590px);
        width: 574px;
        height: 781px;
    }
    body:after{
        right: calc(50% - 550px);
        width: 447px;
        height: 936px;
    }
	/*LOGO*/
	#header .logo{
		margin: 7% 0;
	}
    #header .logo img:nth-child(1){
        max-width: 192px;
		width: 20%;
    }
    #header .logo img:nth-child(2){
        max-width: 342px;
		width: 36%;
    }
    #header .pc_text img:nth-child(1){
        max-width: 689px;
		width: 81%;
    }
    #header .pc_text img:nth-child(2){
        max-width: 790px;
		width: 92%;
    }
    #header .sp_text{
        display: none;
    }
	/*ENTER BTN*/
	.enter_area p{
		margin: 10% 2% 0 2%;
		display:inline-block;
	}
	.enter_area .enter_btn{
		margin-right: 2.5%;
	}
	.enter_area .leave_btn{
		margin-left: 2.5%;
	}
	.enter_area .sp_btn {
		display: none;
	}
	/*R*/
	.r18_area{
		margin: 5% 0 30% 0;
	}
	.r18_area .text{
		display: inline-block;
		padding: 5px 0;
		width: 100%;
		max-width: 520px;
	}
	/*FOOTER*/
	#footer .wrapper{
		padding: 10px 0;
	}
	#footer p{
		font-size:12px;
	}
}
/*PC*/
@media (min-width: 894px) {
	/*LAYOUT---------------------------*/
	.wrapper{
		display: inline-block;
		max-width: 1130px;
	}
    body:before{
        left: calc(50% - 620px);
        width: 574px;
        height: 781px;
    }
    body:after{
        right: calc(50% - 590px);
        width: 447px;
        height: 936px;
    }
	/*LOGO*/
	#header .logo{
		margin: 60px 0;
	}
    #header .logo img:nth-child(1){
        max-width: 192px;
    }
    #header .logo img:nth-child(2){
        max-width: 342px;
    }
    #header .pc_text img:nth-child(1){
        max-width: 689px;
    }
    #header .pc_text img:nth-child(2){
        max-width: 790px;
    }
    #header .sp_text{
        display: none;
    }
	/*ENTER BTN*/
	.enter_area p{
		margin:45px 0 0 0;
		display:inline-block;
	}
	.enter_area .enter_btn{
		margin-right: 30px;
	}
	.enter_area .leave_btn{
		margin-left: 30px;
	}
	.enter_area .sp_btn {
		display: none;
	}
	/*R*/
	.r18_area{
		padding: 30px 0 190px 0;
	}
	.r18_area .text{
		display: inline-block;
		padding: 5px 0;
		width: 100%;
		max-width: 545px;
	}
	/*FOOTER*/
	#footer .wrapper{
		padding: 10px 0;
	}
	#footer p{
		font-size:12px;
	}
}