@charset "UTF-8";
/*
リセット
カスタム変数
フォントサイズ
*/

html,body,p,form,ul,ol,li,h1,h2,h3,h4{margin:0;padding:0;}
ol,ul{list-style: none;}
a{text-decoration: none;}

div,p,ol,ul,li{
	box-sizing: border-box;
}

/* cleafix */
.cf::after{
	display:block;
	content:"";
	clear:both;
}

.error{
	color:#ff0000!important;
	font-weight:800!important;
}

/* カスタム定数 */
:root{
	--sitecolor:#142958; /*サイト基本色*/
	--textcolor:#333333;
	--deepblue:#142958;
	--orange:#E69007;
	--red:#E02B00;
	--lightblue:#55A3E1;
	--lightgray:#F0F0F0;
	--bordergray:#DDDDDD;
	--fsl:120%;
	--fsxl:170%;
	--fsxxl:240%;
}

button{
	cursor:pointer!important;
}


/* スマホ・デスクトップの基本切り替え */
@media screen and (min-width:599px){
	.forsp{
		display:none;
	}
	:root{
		--fsbase:1.4rem;
		--container:1280px;
		--commonlist-itemwidth:240px;
		--commonlist-imgwidth:160px;
		--commonlist-imgheight:227px;
	}
	
	/* フォントサイズ */
	html{
		font-size:62.5%;
	}
	body,td{
		font-size:var(--fsbase);
		line-height:1.2em;
		background-color:var(--sitecolor);
	}
	.container{
		width:var(--container);
		margin: 0 auto;
	}
	.wrapper,th,td{
		background-color:#FFFFFF;
	}
	h2{
		font-size:var(--fsxl);
		line-height: 1em;
		font-weight: bold;
		margin-top:40px;
	}
}
@media screen and (max-width:599px){
	.fordt{
		display:none;
	}
	:root{
		--fsbase:1.4rem;
		--commonlist-width:850px;
		--commonlist-itemwidth:130px;
		--commonlist-imgwidth:120px;
		--commonlist-imgheight:170px;
	}
	/* フォントサイズ */
	html{
		font-size:62.5%;
		line-height:1.2em;
	}
	body,td{
		font-size:var(--fsbase);
		line-height:1.2em;
	}
	h2{
		font-size:var(--fsxl);
		line-height: 1em;
		font-weight: bold;
		margin-top:40px;
	}
}

/* 基本色 */
html,body,td{
	color:var(--textcolor);
	font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}
a, a:link, a:visited{
	color:var(--lightblue);
	cursor: pointer;
}
a:hover{
	color:blue;
}



/* スライドメニュー */
.shader{
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.4);
	position:absolute;
	top:0;
	left:0;
	z-index:299;
	display:none;
}
.slidemenu{
	position:absolute;
	top:0;
	left:-300px;
	width:270px;
	z-index:300;
	background-color:#FFFFFF;
	height:100%;
	overflow:scroll;
}
.slidemenu a{
	display:block;
}
.slidemenu .header{
	height:110px;
	background-color:var(--sitecolor);
	background-image:url("/static/img/common/arrow_wl.png");
	background-repeat: no-repeat;
	background-position:15px 75px;
	position:relative;
}
.slidemenu .header h1{

	bottom:8px;
	right:8px ;
}
.slidemenu .usermenu ul li{
	width:100%;
}
.slidemenu .usermenu ul li a{
	display:block;
	position:relative;
	padding:13px;
	line-height: 1em;
	border-bottom:1px solid var(--bordergray)
}
.slidemenu .usermenu ul li a::after{
	content:"▶";
	display: block;
	position: absolute;
	right:13px;
	top:13px;
}
.slidemenu .contentsmenu{
	padding:1em;
}
.slidemenu h2{
	font-size:1.4rem;
	margin-top:0;
}
.slidemenu .contentsmenu ul li{
	padding:1em 0 0 1em;
}
.slidemenu .genremenu{
	padding-left:1em;
}
.slidemenu .genremenu h3{
	margin-top:1em;
}
.slidemenu .showall{
	text-align: right;
	padding-top:1em;
}
.slidemenu .showall::after{
	content:"▶";
}
.slidemenu .age{
	border-top:1px solid var(--bordergray);
	border-bottom:1px solid var(--bordergray);
	margin-top:1em;
	padding:1em;
	
}
.slidemenu .age ul li{
	padding:1em 0 0 1em;
}
.wrapper{
	posititon:relative;
	width:100%;
}
/* ヘッダー */
.header{
	min-width:1280px;
}
.header .logolinedt{
background-color:var(--sitecolor);
	min-width:
}
.header .openmenu{
	display:block;
	width:60px;
	height:30px;
	margin:15px 0;
	border-right:1px solid #FFF;
	float:left;
	background-image:url("/static/img/common/menu.png");
	background-repeat: no-repeat;
	background-position: center;
	border:none;
	background-color: transparent;
}
.header .login{
	display:block;
	float:left;
	width:80px;
	height:60px;
	text-indent:-9999px;
	background-image:url("/static/img/common/login_btn.png");
	background-repeat: no-repeat;
	background-position: center;
}
.header .guide{
	display:block;
	float:left;
	width:80px;
	height:60px;
	text-indent:-9999px;
	background-color:var(--orange);
	background-image:url("/static/img/common/register_btn.png");
	background-repeat: no-repeat;
	background-position: center;
}
.header h1{
	display:block;
	float:left;
	width:173px;
	height:36px;
	text-indent:-9999px;
	margin-top:12px;
	margin-left:24px;
	background-image:url("/static/img/common/rebecca_logo.png");
	background-repeat: no-repeat;
	background-position: center;
}
.header .searchbox{
	float:left;
	padding-left:50px;
}
.header .searchbox form{
	display:flex;
	padding-top:12px;
}
.header .searchbox input[type=text]{
	background-color:#FFFFFF;
	padding:0 10px;
	border-radius:17px 0 0 17px;;
	font-size:1.4rem;
	width:220px;
	border:none;
}
.header .searchbox button[type=submit]{
	width:40px;
	height:34px;
	border-radius:0 17px 17px 0;
	background-color:var(--orange);
	background-image:url("/static/img/common/search_btn.png");
	background-repeat: no-repeat;
	background-position: center;
	border:none;
}
.headermenu{
	background-color:var(--orange);
}
.headermenu ul{
	display:flex;
	justify-content: center;
	padding:10px 0;
}
.headermenu ul li{
	padding:0 30px;
	line-height:1em;
}
.headermenu ul li a{
	color:#FFFFFF;
}

/* ログイン後ヘッダー */

.header .logout{
	display:block;
	float:left;
	width:80px;
	height:60px;
	text-indent:-9999px;
	background-image:url("/static/img/common/logout_btn.png");
	background-repeat: no-repeat;
	background-position: center;
}
.header .mypage{
	display:block;
	float:left;
	width:80px;
	height:60px;
	text-indent:-9999px;
	background-color:var(--orange);
	background-image:url("/static/img/common/mypage_btn.png");
	background-repeat: no-repeat;
	background-position: center;
}
.currentpoint{
	height:60px;
	border-left:1px dotted #FFFFFF;
	float:right;
	padding-right:5px;
}
.currentpoint .pointlabel{
	font-size:1.8rem;
	line-height:1em;
	padding:20px 5px 0 20px;
	display:inline-block;
	color:#FFFFFF;
}
.currentpoint .ammount{
	font-size:1.8rem;
	line-height:1em;
	padding:20px 20px 0;
	display:inline-block;
	color:#FFFFFF;
}
.currentpoint a{
	display:inline-block;
	color:var(--textcolor);
	background: rgb(211,211,211);
	background: -moz-linear-gradient(0deg, rgba(211,211,211,1) 0%, rgba(255,255,255,1) 70%);
	background: -webkit-linear-gradient(0deg, rgba(211,211,211,1) 0%, rgba(255,255,255,1) 70%);
	background: linear-gradient(0deg, rgba(211,211,211,1) 0%, rgba(255,255,255,1) 70%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#d3d3d3",endColorstr="#ffffff",GradientType=1);
	position: relative;
	padding:12px 12px 12px 40px; 
	border: 1px solid var(--bordergray);
	border-radius:5px;
	font-weight: bold;
}

.currentpoint a::before{
	position:absolute;
	content:url("/static/img/common/point_ico.png");
	left:10px;
	top:10px;
}
/* フッター */

.footerannounce{
	text-align: center;
	padding-top:0;
}
.footer{
	background-color:var(--sitecolor);
	color:#FFFFFF;
	margin-top:50px;
}
.footer a,
.footer a:link,
.footer a:hover,
.footer a:visited{
	color:#FFFFFF;
}
.footermenu{
	display:flex;
	justify-content: center;
}
.footermenu div{
	padding:0 50px;
}
.footermenu h2{
	font-size:1.4rem;
}
.footermenu ul{
	padding-top:5px;
}
.footermenu ul li{
	padding-top: 5px;
	padding-left:5px;
}
.footermenu ul li::before{
	content:"・";
}
.copyrightsbox{
	border-top:1px solid #535F7C;
	margin-top:60px;
	padding:20px 0 60px 0;
	text-align: center;
	color:#535F7C;
	line-height:1.5em;
}

/* 作品サムネイルのリスト */
.filterbox .container{
	border-top:1px solid var(--bordergray);
	margin-top:30px;
}
.filterwrap{
	background-color:var(--lightgray);
	border-radius: 8px;
	display:flex;
	justify-content: center;
	margin-top:var(--fsbase);
}
.filterwrap select{
	border-color:var(--bordergray);
	border-radius: 3px;
	background-color: #FFFFFF;
	margin:10px;
}
.filterwrap option{
	padding:3px;
	box-sizing: border-box;
}
.commonlist{
	display:flex;
	width:100%;
	flex-wrap: wrap;
	justify-content: left;
	margin-top:30px;
}

.commonlist li{
	width:var(--commonlist-itemwidth);
	padding-bottom:30px;
}
.commonlist li a{
	display:block;
}
.commonlist li .place{
	font-size:var(--fsl);
	font-weight: bold;
	text-align: center;
	height:30px;
	padding-top:10px;
}
.commonlist li .first{
	text-align:left;
	text-indent:-99999px;
	background-image:url("/static/img/common/crown1.png");
	background-position: top center;
	background-repeat: no-repeat;
}
.commonlist li .second{
	text-align:left;
	text-indent:-99999px;
	background-image:url("/static/img/common/crown2.png");
	background-position: center;
	background-repeat: no-repeat;
	
}
.commonlist li .third{
	text-align:left;
	text-indent:-99999px;
	background-image:url("/static/img/common/crown3.png");
	background-position: center;
	background-repeat: no-repeat;
	
}
.commonlist li .thumb{
	text-align: center;
	
}
.commonlist li .thumb img{
	width:var(--commonlist-imgwidth);
	height:var(--commonlist-imgheight);
}
.modelbox .commonlist li .thumb img{
	width:130px;
	height:130px;
}
.commonlist li .date{
	padding-top:5px;
	text-align:center;
	color:var(--textcolor);
}
.commonlist li .title{
	padding-top:5px;
	
}
.commonlist li .actress{
	text-align:center;
	padding-top:5px;
}
.commonlist li .genre{
	text-align:center;
	color:var(--orange);
	padding-top:5px;
}
.commonlist li .price{
	text-align:center;
	color:var(--orange);
	padding-top:5px;
}
.commonlist li .rating{
	text-align:center;
	color:var(--orange);
	padding-top:5px;
}

/* MOREボタン */
.showallbox{
	text-align: center;
}
.showallbox a {
	display:inline-block;
	padding:10px;
	text-align: center;
	border:1px solid var(--lightblue);
	font-weight:bold;
	border-radius: 8px;
}

/* ページ移動 */
	.pagenation{
		width: 100%;
	}
	.pagenation ul{
		display:flex;
		flex-wrap: wrap;
/*
		justify-content: space-between;
*/
		justify-content: center;
		margin-top:30px;
		max-width:70%!important;
		margin:30px auto;
	}
	.pagenation ul li{
		padding:5px;
		margin:3px;
		width:40px;
		text-align:center;
	}
	.pagenation ul li.current{
		background-color:var(--lightgray);
		border-radius: 5px;
	}

/* 通常ページタイトル */
.titlebox h1{
    font-size: var(--fsxl);
    line-height: 1em;
    font-weight: bold;
    margin-top: 50px;
	line-height:1.1em;
}

/* フォーム系 */
.centerformbox{
	width:600px;
	margin:30px auto;
	padding:30px;
	margin-top:30px;
	background-color:var(--lightgray);
}
.centerformbox .formline{
	display:block;
	padding:0;
	border-bottom:none;
}
.centerformbox .formline button[type=submit]{
	margin-top:30px;
	width:100%;
	
}
.centerformbox .formline .elemlabel{
	font-weight: bold;
	padding-top:20px;
}
.centerformbox .formline:first-child .elemlabel{
	padding-top:0;
	width:100%;
}
.centerformbox .formline .elem{
	padding-top:5px;
	width:100%;
}
.centerformbox .formline .one{
	text-align:left;
}
.formline input[type=text],.formline input[type=password]{
	border:1px solid var(--bordergray);
	padding:2px;
	width:100%;
}

.formline textarea{
	border:1px solid var(--bordergray);
	padding:2px;
	width:100%;
	height:6em;
}
.formline button[type=submit]{
	padding:10px 1em;
	background-color:var(--orange);
	border:none;
	border-radius: 8px;
	font-size:2.4rem;
	line-height:1em;
	font-weight: bold;
	color:#FFFFFF;
}

.centereditbox{
	width:800px;
	margin:30px auto;	
}
.formline{
	display:flex;
	padding:30px 1em;
	border-bottom:1px solid var(--bordergray);
}
.formline:last-child{
	border-bottom:none;
}
.formline .elemlabel{
	width:30%;
	font-weight: bold;
}
.formline .elem{
	width:70%;
}

.formline .one{
	width:100%;
	text-align: center;
}
.formline .caution{
	color:red;
}


/* メッセージ */
.centermessagebox{
	width:800px;
	margin:30px auto;
	padding:30px;
	margin-top:30px;
	background-color:var(--lightgray);
}

/* 情報リスト */

.infomationlist{
	margin-top:30px;
}
.infomationlist li{
	display:flex;
	padding:10px 1em;
	border-bottom:1px dotted var(--bordergray);
	line-height:1.6em;
}
.infomationlist li:first-child{
	border-top:1px dotted var(--bordergray);
}
.infomationlist li .elemlabel{
	width:30%;
}
.infomationlist li .elem{
	width:70%;
}

/* 装飾 */
.alertbg{
	background-color:#FDEBEB;
}
.normalbg{
	background-color:#FFFFFF;
}
.tcenter{
	text-align:center;
}
.torange{
	color:var(--orange);
}

/* スマホデザイン */

@media screen and (max-width:599px){
	
/* フッターフロートボタン */
	.floatbutton{
		position:fixed;
		bottom:22px;
		left:0;
		z-index:298;
		background-color:var(--lightblue);
		width:100%;
	}
	.floatbutton a,
	.floatbutton a:link,
	.floatbutton a:visited{
		color:#FFFFFF;
	}
	.floatbutton ul{
		display:flex;
		width:100%;
	}
	.floatbutton li{
		width:20%;
		border-right:1px solid #FFF;
		height:50px;
	}
	.floatbutton li:last-child{
		border-right: none;
	}
	.floatbutton li a{
		display:block;
		width:100%;
		height:100%;
		background-position: center;
		background-repeat: no-repeat;
		text-indent:-9999px;
	}
	.floatbutton li a.ranking{
		background-image: url("/static/img/common/footer_ranking_btn.png");
	}
	.floatbutton li a.sale{
		background-image: url("/static/img/common/footer_sale_btn.png");
	}
	.floatbutton li a.coupon{
		background-image: url("/static/img/common/footer_coupon_btn.png");
	}
	.floatbutton li a.home{
		background-image: url("/static/img/common/footer_home_btn.png");
	}
	.floatbutton li a.ranking{
		background-image: url("/static/img/common/footer_ranking_btn.png");
	}
	.floatbutton li a.favorite{
		background-image: url("/static/img/common/footer_favorite_btn.png");
	}
	.floatbutton li a.login{
		background-image: url("/static/img/common/footer_login_btn.png");
	}
	.floatbutton li a.logout{
		background-image: url("/static/img/common/footer_logout_btn.png");
	}
	
/* ヘッダー */
	.header{
		min-width:260px;
	}
	.logolinesp{
		background-color:var(--sitecolor);
		position:relative;
		height:60px;
	}

	.userBtn{
		float:right;
		margin-top:15px;
		margin-right:15px;
		margin-left:5px;
	}

	.logolinesp .openmenu {
    	border-right: none;
	}
	.logolinesp h1{
		width:100px;
		height:21px;
		background-size:contain;
		margin-top:20px;
		margin-left:0;
	}
	.logolinesp .login{
		display:block;
		float:right;
		width:30px;
		height:30px;
		margin-right:15px;
		margin-top:15px;
		background-image:url("/static/img/common/login_btn_sp.png");
	}
	.logolinesp .opensearch{
		display:block;
		float:right;
		width:30px;
		height:30px;
		margin-right:25px;
		margin-top:15px;
		background-image:url("/static/img/common/search_btn_sp.png");
		background-repeat: no-repeat;
		background-position: center;
		border:none;
		background-color:transparent;
	}
	.headermenu ul{	
	    justify-content: space-around;
		width:100%;
	}
	.headermenu ul li{
		padding:0;
	}
	.logolinesp .slidesearchbox{
		position:absolute;
		z-index:297;
		width:100%;
		height:60px;
		top:-60px;
		background-color:var(--sitecolor);
	}

/* フッター */

.footermenu{
	display:block;
}
.footermenu div{
	padding:30px var(--fsbase) 0  var(--fsbase);
}
.footermenu div h2{
	margin-top:0;
}
.copyrightsbox{
	border-top:1px solid #535F7C;
	margin-top:30px;
	padding:20px  var(--fsbase) 60px  var(--fsbase);
	text-align: center;
	color:#535F7C;
	line-height:1.5em;
	font-size:1.2rem;
}

	
/* スマホ用検索ボックス */
	.slidesearchbox form{
		display:flex;
		padding-top:12px;
	}
	.slidesearchbox input[type=text]{
		background-color:#FFFFFF;
		padding:0 10px;
		border-radius:17px 0 0 17px;;
		font-size:1.6rem;
		width:270px;
		border:none;
	}
	.slidesearchbox button[type=submit]{
		width:40px;
		height:34px;
		border-radius:0 17px 17px 0;
		background-color:var(--orange);
		background-image:url("/static/img/common/search_btn.png");
		background-repeat: no-repeat;
		background-position: center;
		border:none;
	}
	button.closesearch {
		width: 30px;
		height: 30px;
		background-image: url(/static/img/common/arrow_wl.png);
		background-position: center;
		display: block;
		float: left;
		background-repeat: no-repeat;
		margin: 15px;
		border:none;
		background-color:transparent;
	}
	
/* 作品サムネイルのリスト */
.filterbox .container{
	border-top:none;
	margin-top:0;
}
.filterwrap{
	margin-left:var(--fsbase);
	margin-right:var(--fsbase);
	display:block;
	box-sizing: border-box;
	padding:0 1rem 1rem 1rem;
}
.filterwrap select{
	border-color:var(--bordergray);
	border-radius: 3px;
	width:100%;
	margin:0;
	margin-top:1rem;
}
.filterwrap option{
	padding:3px;
}
.commonlist{
	display:block;
	width:100%;
	margin:30px 0 0 0;
	padding:0 var(--fsbase);
}
	.commonlist li{
		width:100%;
		padding-bottom:30px;
	}

	.commonlist li a::after{
		display:block;
		clear: both;
		content:'';
	}
.commonlist li .thumb{
	width::var(--commonlist-imgwidth);
	float:left;
	padding:0 var(--fsbase) 0 0;
}
.commonlist li .date{
	text-align:left;
}
.commonlist li .actress{
	text-align:left;
}
.commonlist li .genre{
	text-align:left;
}
.commonlist li .rating{
	text-align:left;
}
.commonlist li .price{
	text-align:left;
}
/* MOREボタン */
.showallbox{
	text-align: right;
}
.showallbox a{
	border:none;
}
.showallbox a::after{
	content:" ▶";
}

/* 通常ページタイトル */
.titlebox h1{
    padding-left:var(--fsbase);
    padding-right:var(--fsbase);
}

	
/* フォーム系 */
.centerformbox{
	width:auto;
	margin:30px var(--fsbase);
}
.centerformbox .formline{
}
.centerformbox .formline .elemlabel{
	font-weight: bold;
	padding-top:20px;
}
.centerformbox .formline:first-child .elemlabel{
	padding-top:0;
}
.centerformbox .formline .elem{
	padding-top:5px;
}
.formline{
	display:block;
	padding:15px 1em;
	border-bottom:none;
}
.formline:last-child{
	border-bottom:none;
}
.formline .elemlabel{
	width:100%;
	font-weight: bold;
}
.formline .elem{
	width:100%;
}

.formline .one{
	width:100%;
	text-align: center;
}
.formline .caution{
	color:red;
}
.formline button[type=submit]{
	width:100%;
	text-align: center;
}
	.centereditbox{
		width:100%;
	}
	
/*  */
.infomationlist li{
	display:block;
	padding:15px 1em;
}
.infomationlist li .elemlabel{
	width:100%;
	font-weight: bold;
}
.infomationlist li .elem{
	width:100%;
}
/* メッセージ */
.centermessagebox{
	width:auto;
	margin:30px var(--fsbase);

}
