@charset "utf-8";

@font-face {
	font-family: 'FontAwesome';
	src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.eot');
	src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.eot') format('embedded-opentype'),
		url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2') format('woff2'),
		url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff') format('woff'),
		url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf') format('truetype'),
		url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.svg') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-size: 16px;
	text-align: center;
	background-color: #FF0066;
	background-image: url(https://rakuenstyle.com/img/base_bg.gif);
}

img {
	vertical-align: bottom;
}

.pure-img {
	max-width: 100%;
	height: auto;
}

.top-img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 480px !important;
	max-height: 202px !important;
	margin: 0 auto;
}

.asp {
	width: 100%;
	height: 0;
	position: relative;
	overflow: hidden;
}

.asp img {
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	object-fit: cover;
	object-position: center;
	position: absolute;
	box-sizing: border-box;
}

a {
	text-decoration: none;
	color: #FF0066;
}

a:hover {
	color: #06F;
}

header {
	margin-bottom: 20px;
}

footer {
	clear: both;
	text-align: center;
	border-top: 1px solid #CCC;
	padding: 40px 5px;
}

#wrapper {
	max-width: 1200px;
	#width: 1200px;
	min-width: 320px;
	background-color: #ffffff;
	padding: 0px 20px 10px;
	margin: 0 auto;
	text-align: left;
}

#container {
	float: left;
	width: 100%;
	margin-right: -250px;
	margin-bottom: 10px;
	overflow: hidden;
}

#content {
	float: right;
	width: 100%;
	margin-left: -200px;
	margin-bottom: 10px;
	overflow: hidden;
}

#sidemenu {
	float: right;
	width: 200px;
}

#sidemenu .ad li {
	display: block;
	margin-bottom: 5px;
}

#main .ad a img,
#sidemenu .ad a img {
	width: 100%;
	height: auto;
	display: block;
}

#side {
	float: left;
	width: 250px;
	text-align: center;
}

#content>div,
#content>* {
	margin-right: 270px;
	margin-left: 220px;
}

#main {
	border: 1px solid #CCC;
	padding: 20px;
	border-radius: 10px;
}

#pr h3,
aside h3.title {
	color: #333;
	font-size: 16px;
	padding: 5px 0;
	border-bottom: 3px double #333;
	margin-bottom: 3px;
}

#pr h3:before,
aside h3.title:before {
	font-family: "FontAwesome";
	content: "\f004";
	margin-right: 2px;
}

@media screen and (max-width:1140px) {
	#container {
		float: none;
		margin-right: 0;
	}

	#content>div,
	#content>* {
		margin-right: 0;
	}

	#side {
		float: none;
		width: auto;
	}
}

@media screen and (max-width:840px) {
	#wrapper {
		padding: 0;
	}

	#container, #content, #sidemenu {
		float: none;
		margin: 0;
		width: auto;
	}

	#content {
		padding: 0px;
		border: none;
	}

	#main {
		padding: 5px;
		border: none;
	}

	#content>div,
	#content>* {
		margin-right: 0;
		margin-left: 0px;
	}

	#sidemenu, #side {
		padding: 0 5px;
	}
}

/*---------------------------------------
  header
---------------------------------------*/
h1 {
	background-image: url(https://rakuenstyle.com/img/top.jpg);
	background-position: right bottom;
	background-repeat: no-repeat;
	margin-bottom: 5px;
	height: 200px;
	border-bottom: 4px solid #CCC;
	box-shadow: 1px 0px 1px #CCCCCC;
}

@media screen and (max-width:840px) {
	h1 {
		background-size: 85% auto;
	}
}

@media screen and (max-width:520px) {
	h1 {
		background-size: auto 100%;
	}
}

@media screen and (max-width:460px) {
	h1 {
		height: 160px;
		background-size: 100% auto;
	}
}

/*---------------------------------------
  menu
---------------------------------------*/
#menu ul {
	overflow: hidden;
	margin: 0 -2px 5px;
}

#menu li {
	float: left;
	width: 25%;
}

#menu li a {
	display: block;
	padding: 8px 2px;
	margin: 2px;
	text-align: center;
	background-color: #FFFF00;
	font-weight: bold;
	background: -moz-linear-gradient(top, #FFCC00 0%, #FF3);
	background: -webkit-gradient(linear, left top, left bottom, from(#FF3), to(#FFCC00));
	border: 2px solid #FFF;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-box-shadow: 1px 1px 1px rgba(000, 000, 000, 0.3);
	-webkit-box-shadow: 1px 1px 1px rgba(000, 000, 000, 0.3);
	text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.5);
	padding: 10px 0;
	word-break: keep-all;
	overflow: hidden;
}

#menu li a:hover {
	color: #0066FF;
}

@media screen and (max-width:840px) {
	#menu ul {
		margin: 0 0px 5px;
	}
}

@media screen and (max-width:640px) {
	#menu li a {
		font-size: 11px;
		margin: 1px;
		border: 1px solid #FFF;
	}
}


/*改行・区切り用*/
@media screen and (min-width:510px) {
	.br:after {
		content: "・";
	}
}

@media screen and (max-width:509px) {
	.br {
		display: block;
		padding: 2px 0;
	}
}

/*---------------------------------------
  スクロールトップ
---------------------------------------*/
#page-top {
	position: fixed;
	bottom: 50px;
	right: 20px;
}

/*---------------------------------------
  サイドメニュー
---------------------------------------*/
#sidemenu h2,
#side h2 {
	font-size: 16px;
	font-weight: bold;
	color: #000066;
	line-height: 26px;
	height: 26px;
	border-bottom: 2px solid #BBBCBE;
	margin-bottom: 5px;
	text-align: right;
}

#sidemenu .menu_list {
	margin-bottom: 10px;
	font-size: 14px;
}

#sidemenu .menu_list li a:before {
	font-family: "FontAwesome";
	content: "\f0da";
	margin-right: 5px;
	font-size: 16px;
	color: #323480;
	line-height: 2em;
}

#sidemenu .menu_list li {
	border-bottom: 1px dotted #CCCCCC;
}

@media screen and (max-width:840px) {
	#sidemenu h2 {
		text-align: left;
	}

	.menu_list {
		overflow: hidden;
	}

	.menu_list li {
		float: left;
		width: 50%
	}

	.menu_list li a {
		display: block;
	}
}

@media screen and (max-width:1140px) {
	#side h2 {
		text-align: left;
	}
}

@media screen and (min-width:601px) and (max-width:840px) {
	.ad ul {
		overflow: hidden;
	}

	.ad li {
		float: left;
		width: 50%;
	}

	.ad li a {
		display: block;
		margin: 5px;
	}
}

/*---------------------------------------
  メインコンテンツ
---------------------------------------*/
#content p {
	line-height: 1.8em;
	margin-bottom: 1em;
}

.cc_title {
	background-color: #333280;
	border-right: 3px solid #e1b725;
	border-left: 3px solid #e1b725;
	border-radius: 5px;
	margin-bottom: 10px;
}

.cc_title:before,
.cc_title:after {
	content: "";
	display: block;
	height: 3px;
	background: linear-gradient(to right, #e1b725 0%, #fdfa03 48%, #e1b725 100%);
}

.cc_title h2 {
	font-size: 18px;
	padding: 7px 10px;
	color: #FFFFFF;
	line-height: 1.3em;
}

.cc_sent .image {
	text-align: center;
	margin: 20px auto;
}

/*---------------------------------------
  cate_box
---------------------------------------*/
#cate_box {
	overflow: hidden;
	margin: 0 -5px;
}

#cate_box>li {
	float: left;
	width: 25%;
}

#cate_box dl {
	margin: 10px;
	overflow: hidden;
}

#cate_box li dt {
	margin-bottom: 5px;
	padding: 3px;
}

#cate_box li dt a {
	display: block;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
	box-shadow: 2px 2px 2px #CCCCCC;
}

#cate_box li dt a em {
	position: absolute;
	top: 0%;
	left: 0%;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .6);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 1;
	padding: 40% 5px 0;
	text-align: center;
	font-size: 130%;
	line-height: 1.2em;
	border-radius: 50%;
	font-weight: bold;
	color: #FFF;
}

@media screen and (min-width:901px) {
	#cate_box li dt a em {
		padding-top: 38%;
		font-size: 110%
	}
}

@media screen and (min-width:841px) and (max-width:900px) {
	#cate_box li dt a em {
		font-size: 100%
	}
}

@media screen and (max-width:620px) {
	#cate_box li dt a em {
		font-size: 100%
	}
}

#cate_box li dt a em:hover {
	opacity: 0;
}

#cate_box li dd p {
	margin-bottom: 5px !important;
	text-align: center;
	font-weight: bold;
	color: #F60;
	white-space: nowrap;
	text-shadow: 1px 1px 1px #ccc;
}

@media screen and (min-width:461px) and (max-width:520px) {
	#cate_box li {
		width: 33.3%;
	}
}

@media screen and (max-width:460px) {
	#cate_box li {
		width: 50%;
	}
}

/*---------------------------------------
  town_cotegory
---------------------------------------*/
#town_cotegory {
	overflow: hidden;
}

#town_cotegory li {
	float: left;
	width: 25%;
}

#town_cotegory dl {
	text-align: center;
	margin: 20px 10px;
}

#town_cotegory dt {
	font-size: 14px;
	margin-bottom: 5px;
	white-space: nowrap;
	color: #FF3300;
	text-shadow: 1px 1px 1px #ccc;
}

#town_cotegory dd a:after {}

#town_cotegory dd a {
	display: block;
	overflow: hidden;
	border-radius: 50%;
	box-shadow: 2px 0px 3px #666666;
	position: relative;
}

#town_cotegory dd a em {
	font-size: 110%;
	text-align: center;
	padding-top: 40%;
	color: #fff;

	width: 100%;
	height: 100%;
	position: absolute;
	/* 絶対位置指定 */
	top: 0;
	left: 0;
	opacity: 1;
	/* マスクを表示しない */
	background-color: rgba(0, 0, 0, 0.5);
	/* マスクは半透明 */
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	line-height: 1.2em;
	border-radius: 50%;
}

#town_cotegory dd a em:hover {
	opacity: 0;
	/* マスクを表示しない */
}

@media screen and (max-width:600px) {
	#town_cotegory li {
		width: 33.3%
	}
}

@media screen and (max-width:420px) {
	#town_cotegory li {
		width: 50%
	}
}

/*---------------------------------------
  data
---------------------------------------*/
.data_box {
	overflow: hidden;
	padding: 5px;
	margin-bottom: 20px;
}

.data_pic {
	float: left;
	width: 200px;
	margin-right: 10px;
	margin-bottom: 5px;
	box-shadow: 2px 2px 2px #CCCCCC;
	border-radius: 10px;
	overflow: hidden;
}

.data_box strong {
	display: block;
	font-size: 115%;
	font-weight: bold;
	color: #FF0066;
	line-height: 1.5em;
	margin-bottom: 10px;
}

.data_box dl {
	text-shadow: 1px 1px 1px #CCCCCC;
}

.data_box dt {
	float: left;
	width: 75px;
	height: 2em;
}

.data_box dt i {
	margin-right: 3px;
}

.data_box dd:before {
	content: "：";
}

.data_box dd {
	height: 2em;
}

.data_box h3 {
	font-size: 16px;
	border-bottom: 1px dotted #06F;
	color: #111;
	padding: 5px 0;
	margin-bottom: 5px;
}

.data_box h3:before {
	font-family: "FontAwesome";
	content: "\f046";
	margin-right: 5px;
	color: #06F;
}

.site_link {
	padding: 3px;
	background-color: #F09;
	border-radius: 15px;
	overflow: hidden;
}

.site_link a {
	display: block;
	padding: 10px;
	/*
	background-image: url(https://rakuenstyle.com/img/icon.png);
	background-repeat: no-repeat;
	background-position: 5px 50%;
	text-indent: -9999px;*/
	box-shadow: 1px 1px 1px #999999;
	border-radius: 15px;
	border: 2px solid #FFFFFF;
}

.site_link:hover,
.site_link a:hover {
	background-color: #06F;
}

.site_link a span {
	display: block;
	border-radius: 8px;
	/*padding: 5px;*/
	margin-left: 17px;
	background-image: url(https://rakuenstyle.com/img/btn_site.png);
	background-repeat: no-repeat;
	background-position: center 50%;
	text-indent: -9999px;
}

@media screen and (max-width:480px) {
	.data_pic {
		float: none;
		width: auto;
		height: 200px;
		margin-right: 0;
	}

	.data_box strong {
		font-size: 120%;
	}
}

/*---------------------------------------
  area
---------------------------------------*/
.area_box {
	overflow: hidden;
	border-bottom: 1px dotted #bbbcbe;
	margin-bottom: 10px;
}

.area_box dt {
	float: left;
	width: 100px;
	height: 100px;
	font-size: 24px;
}

.area_box dt a {
	display: block;
	width: 85px;
	height: 85px;
	line-height: 80px;
	text-align: center;
	background: #fff;
	border-radius: 50%;
	border: 3px solid #FC0;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #ff0), color-stop(0.00, #ffc800));
	background: -webkit-linear-gradient(#ffc800, #ff0);
	background: -moz-linear-gradient(#ffc800, #ff0);
	background: -o-linear-gradient(#ffc800, #ff0);
	background: -ms-linear-gradient(#ffc800, #ff0);
	background: linear-gradient(#ffc800, #ff0);
}

.area_box dt a:hover {
	color: #FFF;
	border: 3px solid #F6C;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #ff7ad7), color-stop(0.00, #fbe8fc));
	background: -webkit-linear-gradient(#fbe8fc, #ff7ad7);
	background: -moz-linear-gradient(#fbe8fc, #ff7ad7);
	background: -o-linear-gradient(#fbe8fc, #ff7ad7);
	background: -ms-linear-gradient(#fbe8fc, #ff7ad7);
	background: linear-gradient(#fbe8fc, #ff7ad7);
}

.area_box dd {
	line-height: 1.5em;
	padding-top: 5px;
}

.area_box dd strong {
	font-size: 16px;
}

@media screen and (max-width:640px) {
	.area_box dd strong {
		font-size: 14px;
	}
}

/*---------------------------------------
  外部読み込み広告
---------------------------------------*/

/*feed*/
#feedItem {
	margin: 20px 0 0;
	padding: 10px 0;
}

#feedItem h3 {
	color: #333;
	font-size: 16px;
	padding: 5px 0;
	border-bottom: 3px double #333;
}

#feedItem h3:before {
	font-family: "FontAwesome";
	content: "\f004";
	margin-right: 2px;
}

/*map*/
#maplink {
	margin: 10px auto;
	text-align: center;
}

@media screen and (max-width:560px) {
	#maplink {
		display: none;
	}
}

/*pr_girl*/
#pr_girl {
	text-align: center;
	margin: 20px auto;
}

#pr_girl .title {
	font-weight: bold;
	color: #06F;
}

/*　480*100ロングバナー　*/
.iframe-long {
	width: 480px;
	height: 100px;
	margin: 10px auto;
}

@media screen and (max-width:499px) {
	.iframe-long {
		width: 300px;
		height: 250px;
	}
}

.iframe-long iframe {
	width: 100%;
	height: 100%;
}

/*ad banner*/
#ad_banner {
	overflow: hidden;
	margin-bottom: 20px;
}

@media screen and (min-width:841px) {
	#ad_banner li {
		margin-bottom: 10px;
	}
}

@media screen and (min-width:461px) and (max-width:840px) {
	#ad_banner {
		margin: 0 -2px;
	}

	#ad_banner li {
		float: left;
		width: 50%;
	}

	#ad_banner li a {
		display: block;
		margin: 0 2px;
	}
}

@media screen and (max-width:460px) {
	#ad_banner {
		margin: 0;
	}

	#ad_banner li {
		margin-bottom: 5px;
	}
}

/* mztv バナー*/
.banner-side {
	width: 240px;
	height: 940px;
	margin: auto;
}

.banner-bottom {
	display: none;
}

@media screen and (max-width:1140px) {
	.banner-side {
		display: none;
	}

	.banner-bottom {
		display: block;
		width: 100%;
		height: 210px;
		margin-bottom: 10px;
	}

	.banner-bottom iframe {
		width: 100%;
		height: 100%;
	}
}

@media screen and (max-width:960px) {
	.banner-bottom {
		width: 100%;
		height: 100%;
		position: relative;
		padding: 23% 0 0;
	}

	.banner-bottom iframe {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0
	}
}

@media screen and (max-width:508px) {
	.banner-bottom {
		padding: 83% 0 0;
	}
}

/*パンくずリスト*/
.breadcrumbs {
	white-space: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 10px 0;
	padding-bottom: 10px;
}

.breadcrumbs ol {
	padding: 5px;
}

.breadcrumbs li {
	display: inline-block;
	vertical-align: top;
}

.breadcrumbs li:first-child::before {
	padding: 0 1px 0 0;
	font-family: FontAwesome;
	content: "\f015";
	font-size: 14px;
}

.breadcrumbs li:before {
	padding: 0 4px 0 2px;
	content: "\f105";
	font-family: FontAwesome;
	font-size: 14px;
}

.breadcrumbs a {
	color: #09F;
}

.breadcrumbs a.disabled {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	color: #000000;
}

/***************************
 ダブルレクタング広告
****************************/
.ads-flexbox .item {
  flex-basis: auto;
  padding: 5px;
  margin: 0px;
  text-align: center;
}
.ads-flexbox .item img {
  max-width: 100%;
  height: auto;
  border: 1px solid #CCC;
  border-radius: 5px;
}
@media ( min-width : 600px ){
  .ads-flexbox {
    display: flex;
    flex-wrap: wrap;
  }
  .ads-flexbox .item {
    width: 50%;
  }
}
.inner300 {
	max-width: 300px;
	width: 100%;
	height: 100%;
	aspect-ratio: 300/250;
	margin: auto;
}
.inner728{
	width: 100%;
	height: 100%;
	margin: auto;
	max-width: 728px;
	aspect-ratio: 728/200;
}
.inner600{
	width: 100%;
	height: 100%;
	margin: auto;
	max-width: 600px;
	aspect-ratio: 600/315;
}
/*広告表示*/
header::after {
	content: url(https://rakuenstyle.com/img/ad_display_header.png);
	display: flex;
	justify-content: center;
	margin: 10px 0;
}

.data_box.ad_display::before {
	content: url(https://www.zeppin.biz/img/ad_display_post.png);
	display: flex;
	justify-content: center;
    margin:1em 0 2em;
}
a.pr-txt-link {
	position: relative;
}
a.pr-txt-link::before {
	position: absolute;
	content: "PR";
	font-size: 12px;
	border: 1px solid;
	border-radius: 5px;
	padding: 5px;
	font-weight: bold;
	vertical-align: middle;
	margin-right: 5px;
    left: 5px;
    top: 5px;
}
.site_link a.pr-txt-link::before {
background-color:#fff;
}

a.pr-img-link {
	position: relative;
	display: inline-block;
}

a.pr-img-link::before {
	content: "PR・18禁";
	background-color: #FFF;
    border: 1px solid #f00;
	padding: 0 3px;
	color: #FF0000;
	font-weight: bold;
	font-size: 11px;
	vertical-align: middle;
	position: absolute;
	right: 5px;
	top: 5px;
	z-index: 1;
}

.label_ad {
	position: relative;
}
.label_ad::after{
    content: "AD";
    font-size: 11px;
    background-color: #000;
    border-radius: 3px;
    color: #fff;
    padding: 0 5px;
    position: absolute;
    top: 5px;
    right: 6px;
    height:20px;
    line-height:20px;
}