@import url('https://fonts.googleapis.com/css?family=Barlow+Condensed:700');


/* ----------------------------------------------
　1.  common
---------------------------------------------- */

html,
body {
    height: 100%;
    background: #EFEFEF;
}
*,
*:before,
*:after {
    box-sizing: border-box;
}

::selection {
	background: #FFFF33;
	color:#000;
}
::-moz-selection {
	background: #FFFF33; 
	color:#000;
}

input , textarea {
	-webkit-appearance: none;
}
p {
	word-break: break-all;
}

/*------------------------------------*\
    BORDERS
\*------------------------------------*/
 
/* Create a series of empty pseudo-elements... */
html:before,html:after,body:before,body:after{
    content:"";
    background:#FF0;
    position:fixed;
    display:block;
    z-index:10000;
}
 
/* ...and position them! */
html:before{
    height:10px;
    left:0;
    right:0;
    top:0;
}
html:after{
    width:10px;
    top:0;
    right:0;
    bottom:0;
}
body:before{
    height:10px;
    right:0;
    bottom:0;
    left:0;
}
body:after{
    width:10px;
    top:0;
    bottom:0;
    left:0;
}

@media screen and (max-width: 767px) {
html:after ,
body:after {
    width:8px;
}
html:before ,
body:before{
    height:8px;
}
}

@media screen and (min-width: 768px) {
	.pc_none { display: none;}
}
@media screen and (max-width: 767px) {
	.sp_none { display: none;}
}


/* ----------------------------------------------
　2. template
---------------------------------------------- */

/* header
--------------------------------------------- */
header {
	padding: 30px 0;
	background-color: #FFF;
	text-align: center;
	width: 100%;
	z-index: 9999;
	
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}

header .logo a {
	display: inline-block;
	position: relative;
	overflow: hidden;
}
header .logo a:before {
	content: '';
	animation: logo 1.0s cubic-bezier(1, .15, .02, .89) forwards;
	background: #FF0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}
@keyframes logo {
	0% {transform: translateX(-100%)}
	30% {transform: translateX(0)}
	70% {transform: translateX(0)}
  100% {
    transform: translateX(101%);
  }
}

header .logo a span {
	font-size: 42px;
	font-family: 'Barlow Condensed', sans-serif;
	padding: 0 5px;
	overflow: hidden;
	position: relative;
	display: block;
	line-height: 1.4;
	z-index: 1;
	opacity: 0;
	
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
	animation: logo_text 1.0s cubic-bezier(1, .15, .02, .89) forwards;
}
@keyframes logo_text {
  100% {
    opacity:1.0;
  }
}

header.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 15px 0 0;
	

}
header.is-fixed .logo a span {	
	font-size: 30px;
	
}
header.is-fixed .catch {
	display: none;
}

header .logo a:hover {
	color: #000;
	z-index: 1;
}
header .logo a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  background-color: #FF0;
  transition: .2s;
  z-index: 0;
  transform: translateX(101%);
}
header .logo a:hover::after {
  transform: translateX(0%);
}



/*header .logo a span {
	font-size: 56px;
	font-family: 'Allura', cursive;
	margin-left: 5px;
}*/


header .catch {
	display: inline-block;
	overflow: hidden;
	position: relative;
	font-weight: bold;
}

header .catch:before {
	content: '';
	animation: catch 1s cubic-bezier(1, .15, .02, .89) forwards;
	animation-delay: 0.3s;
	background: none;
	bottom: 0;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}
@keyframes catch {
	0% {transform: translateX(-100%); background-color: #000;}
	30% {transform: translateX(0); background-color: #000;}
	70% {transform: translateX(0); background-color: #000;}
	100% {transform: translateX(101%); background-color: #000;}
}

header .catch span {
	opacity: 0;
	animation: catch_text 1s cubic-bezier(1, 0, 1, 0) forwards;
}
@keyframes catch_text {
  100% {
    opacity:1.0;
  }
}

@media screen and (max-width: 767px) {
header {
	padding: 20px 15px 15px;
}
}

@media screen and (min-width: 600px) {
header .catch br { display: none;}
}



/* layout
--------------------------------------------- */
#contents {
	padding-bottom: 80px;
}

/* footer
--------------------------------------------- */
footer {
	margin-top: 40px;
	padding: 15px 0 20px;
	background-color: #FFF;
	text-align: center;
	display: block;
	clear: both;
	position: fixed;
	bottom: 0;
	width: 100%;
}
#pageTop {
	width:auto;
	position: fixed;
	bottom: 15px;
	right: 15px;
	font-size: 20px;
	text-decoration: none;
	color: #fff;
	width: 40px;
	height: 40px;
	line-height: 2;
	text-align: center;
	display: none;
	cursor:pointer;
	z-index:10;
	background-color:#000;
	
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
	
}
#pageTop:hover {
	background-color: #FF0;
	color: #000;
	
}
/* ----------------------------------------------
　3. home
---------------------------------------------- */

/* contents
--------------------------------------------- */

.container {
	display: block;
	position: relative;
	margin: 0 10px;
}


/* Controls
--------------------------------------------- */
.controls {
    padding: 1rem 15px;
}
.controls ul {
	margin: 20px auto 10px;
	text-align: center;
}
.controls ul li {
	border-radius: 50px;
	margin-right: 2px;
	margin-bottom: 5px;

    position: relative;
    display: inline-block;
    /*width: 2.7rem;
    height: 2.7rem;*/
    background: #000;
	border: 1px solid #000;
    cursor: pointer;
    color: white;
    transition: background 150ms;
	padding:3px 0;
	font-size: 14px;
	width: 11em;
	text-align: center;
}
.controls ul li.sort {
	padding:5px 15px 5px 15px;
}

.controls ul li:hover {
    background: #FFF;
	color:#000;
}

.controls ul li.control[data-filter]:after,
.controls ul li.control[data-toggle]:after {
    content: "\f0c8  ";
    font-family: FontAwesome;
    font-weight: normal;
	position: absolute;
    top: calc(50% - 12px);
    left: 15px;
    transition: background-color 150ms, border-color 150ms;
}

.controls ul li.mixitup-control-active {
    background: #FF0;
	color: #000;
}

.controls ul li.mixitup-control-active[data-filter]:after,
.controls ul li.mixitup-control-active[data-toggle]:after {
    content: "\f14a  ";
	font-family: FontAwesome;
}


@media screen and (max-width: 767px) {
.controls ul {
	text-align: left;
}
.controls ul li {
	width: 33%;
	margin-right: 0.5%;
}
.controls ul li:first-child {
	width: 100%;
	margin-right: 0;
}

.controls ul li:nth-child(3n+1) {
	margin-right: 0%;
}
.controls ul li a {
	display: block;
}
}

/* Target Elements
--------------------------------------------- */

.mix ,
.gap {
    /*display: inline-flex;*/
	display: block;
    /*vertical-align: top;*/
	/*width: 300px;*/
	/*max-width: 500px;*/
	/*min-width: 300px;*/
	float: left;
	position: relative;
	font-size: 14px;
	min-height: 50px;
	box-sizing: border-box;
	margin: 10px 0 0 1%;
}

.mix a {
	background: #fff;
	border-radius: 2px;
	position: relative;
	margin: 10px 0 0 10px;
	padding-top: 10px;
	
	box-shadow:0px 0px 6px 3px #d7d8d8;
	
	
}



.mix a .box_image {
	margin: -20px 10px 0 -10px;
	padding-top: -10px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;

}
.mix a .box_image div {
	overflow: hidden;
	position: relative;
}

.mix a .box_image div:after {
	content: '';
	animation: img 1.0s cubic-bezier(1, .15, .02, .89) forwards;
	animation-delay: 0.5s;
	bottom: 0;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 100;
}
@keyframes img {
	0% {transform: translateX(-100%);background: #000;}
	30% {transform: translateX(0);background: #000;}
	70% {transform: translateX(0);background: #000;}
	100% {transform: translateX(101%);background: #000;}
}

.mix a .box_image div img {
	opacity:0;
	animation: img2 1s cubic-bezier(1, 0, 1, 0) forwards;
	animation-delay: 0.5s;
}

@keyframes img2 {
	100% {opacity:1.0;}
}



.mix a .box_title {
	margin: 5px 10px 0;
	font-size: 16px;
}
.mix a .box_cat {
	margin-left: 5px;
}
.mix a .box_cat li {
	margin: 0 0 10px 5px;
	font-size: 10px;
	font-weight: normal;
	background-color: #000;
	color: #FFF;
	border-radius: 30px;
	padding: 0 15px;
	display: inline-block;
}

.mix a:hover {
	z-index: 2;
	color: #000;
}
.mix a:hover .box_image {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
	z-index: 100;
}
.mix a:hover .box_title {
   
}

@media screen and (max-width: 540px) {

.mix a {
	/*margin: 10px 0 0 10px;
	padding-top: 10px;*/
}

.mix.ad {
	/*margin: 10px 0 0 10px;
	padding-top: 10px;*/
	padding-left: 10px;
}


.mix a .box_image {
	margin: -18px 8px 0 -8px;
	/*padding-top: -5px;*/
}

}

/* Grid Breakpoints
--------------------------------------------- */

/* 2 Columns */

.mix,
.gap {
    /*width: calc(100%/2 - (((2 - 1) * 1rem) / 2));*/
	width: calc((100% - ((2 + 1) * 1%)) / 2 );
}

.home .mix:first-child,
.home .gap:first-child {
	width: 98%;
}

/* 3 Columns */

@media screen and (min-width: 541px) {
    .mix,
    .gap {
        /*width: calc(100%/3 - (((3 - 1) * 1rem) / 3));*/
		width: calc((100% - ((3 + 1) * 1%)) / 3 );
    }

	.home .mix:first-child,
    .home .gap:first-child {
        /*width: calc(100%/4 - (((4 - 1) * 1rem) / 4));*/
		width: calc((((100% - ((3 + 1) * 1%)) / 3 ) * 2 ) + 1%);
    }

}

/* 4 Columns */

@media screen and (min-width: 961px) {
    .mix,
    .gap {
        /*width: calc(100%/4 - (((4 - 1) * 1rem) / 4));*/
        width: calc((100% - ((4 + 1) * 1%)) / 4 );
    }
	
	.home .mix:first-child,
    .home .gap:first-child {
        /*width: calc(100%/4 - (((4 - 1) * 1rem) / 4));*/
        width: calc((((100% - ((4 + 1) * 1%)) / 4 ) * 2 ) + 1%);
    }
	
}

/* 5 Columns */

@media screen and (min-width: 1381px) {
    .mix,
    .gap {
        /*width: calc(100%/5 - (((5 - 1) * 1rem) / 5));*/
		width: calc((100% - ((5 + 1) * 1%)) / 5 );
    }
	
	.home .mix:first-child,
    .home .gap:first-child {
        /*width: calc(100%/4 - (((4 - 1) * 1rem) / 4));*/
		width: calc((((100% - ((5 + 1) * 1%)) / 5 ) * 2 ) + 1%);
    }
	
}
/* 6 Columns */
@media screen and (min-width: 2001px) {
    .mix,
    .gap {
		width: calc((100% - ((6 + 1) * 1%)) / 6 );
    }
}


.mix img {
	width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
	margin: 0 auto;
	display: block;
	/*margin: -10px 0 0 -10px;*/
}

.mix dl , .mix ul {
	display: block;
}


.mix a {
	display: block;
}
.mix a:hover {
	/*background-color: aquamarine;*/
	background-color:#FF0;
}

/*.mix > div::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  width: 100%;
  height:50px;
}*/

/* ----------------------------------------------
　4. single
---------------------------------------------- */

/* contents
--------------------------------------------- */

.single_container {
	display: block;
	position: relative;
	padding: 30px 10px 10px;
}

.single_wrap {
	border-radius: 2px;
	background-color: #FFF;
	padding: 20px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 30px;
	box-sizing: border-box;
}
.single_image {
	float:left;
	width: 60%;
	max-width: 60%;
	height: auto;
	margin-right: 25px;
}
.single_detail {
	overflow: hidden;
}

/*image*/
.swiper-wrapper {
	
}
.single_image .movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.single_image .movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.single_image {
	overflow: hidden;
	position: relative;
}

.single_image:after {
	content: '';
	animation: img 1.0s cubic-bezier(1, .15, .02, .89) forwards;
	animation-delay: 0.5s;
	
	bottom: 0;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 100;
}
@keyframes img {
	0% {transform: translateX(-100%);background: #000;}
	30% {transform: translateX(0);background: #000;}
	70% {transform: translateX(0);background: #000;}
	100% {transform: translateX(101%);background: #000;}
}

.single_image .single_image_wrap {
	opacity:0;
	animation: single_image_wrap 0.8s cubic-bezier(1, 0, 1, 0) forwards;
	animation-delay: 0.5s;
}

@keyframes single_image_wrap {
	100% {opacity:1.0;}
}



.single_image .swiper-container.gallery-top  {
	background-color: #EEE;
	margin-bottom: 10px;
}
.single_image .swiper-container .swiper-slide {
	text-align: center;
	
	
}
.single_image .gallery-thumbs .swiper-slide img {
	border: 2px solid #FFF;
}
.single_image .gallery-thumbs .swiper-slide.swiper-slide-active img {
	border-color: #000;
}
.single_image .gallery-thumbs .swiper-slide ,
.single_image .gallery-thumbs .swiper-slide img {
	width: auto;
	max-width: 300px;
	max-height:120px;
	object-fit: cover;
}
.swiper-button-prev, .swiper-button-next {
	display: none;
}

/*detail*/
.single_detail .single_detail_date {
	font-weight: bold;
	float: left;
	margin-right: 10px;
	padding-top: 3px;
}
.single_detail .single_detail_cat li {
	float: left;
}
.single_detail .single_detail_cat li a {
	margin: 0 3px 10px;
	font-size: 10px;
	font-weight: normal;
	background-color: #000;
	border: 1px solid #000;
	color: #FFF;
	border-radius: 30px;
	padding: 0 15px;
	display: inline-block;
}
.single_detail .single_detail_cat li a:hover {
	background-color: #FF0;
	color: #000;
}
.single_detail .single_detail_title {
	overflow: hidden;
	position: relative;
	display: inline-block;
}

.single_detail .single_detail_title:before {
	content: '';
	animation: title 1s cubic-bezier(1, .15, .02, .89) forwards;
	animation-delay: 0.5s;
	background: none;
	bottom: 0;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}
@keyframes title {
	0% {transform: translateX(-100%); background-color: #FF0;}
	30% {transform: translateX(0); background-color: #FF0;}
	70% {transform: translateX(0); background-color: #FF0;}
	100% {transform: translateX(101%); background-color: #FF0;}
}

.single_detail .single_detail_title span {
	font-size: 20px;
	opacity: 0;
	animation: catch_text 1.5s cubic-bezier(1, 0, 1, 0) forwards;
}
@keyframes catch_text {
  0% {    opacity:0;  }
  71% {    opacity:0;  }
  72% {    opacity:1.0;  }
  100% {    opacity:1.0;  }
}

.single_detail .single_detail_text {
	font-size: 16px;
}
.single_detail .single_detail_anime {
	opacity: 0;
	animation: detail_text 0.5s cubic-bezier(.71, .31, .49, .76) forwards;
	animation-delay: 1.3s;
}
@keyframes detail_text {
  100% {
    opacity:1.0;
  }
}

.single_detail .quote {
    position: relative;
    padding: 5px 15px 10px 20px;
    box-sizing: border-box;
    font-style: italic;
    color: #555;
	font-size: 18px;
	font-weight: normal;
	margin:5px 0 15px;
}

.single_detail .quote:before{
    display: inline-block;
    position: absolute;
    top: 10px;
    left: 0;
    vertical-align: middle;
    content: "\f10d";
    font-family: FontAwesome;
    color: #cfcfcf;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
}

.single_detail .quote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7;
}

.single_detail .quote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

.single_detail .single_detail_text_hide {
	padding: 15px;
	background-color: #EEE;
	margin-bottom: 20px;
}

.single_detail_link {
	border: 1px solid #CCC;
	padding: 10px;
}
.single_detail_link li a:hover {
    background-color: #000;
}
.single_detail_link li a:before {
    content: "\f0da";
    font-family: FontAwesome;
    font-weight: normal;
    padding-right: 5px;
}
.single_detail_link li a:after {
    content: "\f14c ";
    font-family: FontAwesome;
    font-weight: normal;
    padding-left: 5px;
	padding-right: 5px;
}






.single_detail .good_btn {
	margin-top: 10px;
	padding: 10px 0;
}




/* relation */
.relation_wrap {
	
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 40px;
	box-sizing: border-box;
}

/* ranking */
.ranking_wrap {
	border-radius: 2px;
	background-color: #FFF;
	padding: 20px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 20px;
	box-sizing: border-box;
}
.ranking_wrap li {
	float: left;
	width: 19.2%;
	margin-right: 1%;
}
.ranking_wrap li a .attachment-thumbnail {
	display: block;
	max-width: 100%;
	margin-bottom: 5px;
}
.ranking_wrap li:last-child {
	margin-right:0;
}
.ranking_wrap li p {
	font-weight: bold;
	margin-bottom: 5px;
}
.ranking_wrap li a img {
    -webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}
.ranking_wrap li a:hover {
	z-index: 2;
}
.ranking_wrap li a:hover img {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}
.post-ratings-loading {
	margin-top: -25px !important;
}




.back_top a {
	border-radius: 2px;
	background-color: #FFF;
	padding: 20px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: block;
	text-align: center;
	box-sizing: border-box;
	background-color: #000;
	font-size: 16px;
	color: #FFF;
	margin-top: 10px;
	border: 1px solid #000;
	
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all  0.2s ease;
}
.back_top a:hover {
	background-color: #FFFF;
	color: #000;
}
@media screen and (max-width: 767px) {
.single_container {
	padding: 10px 18px 10px;
}
.single_wrap {
	padding: 10px;
	margin-bottom: 10px;
}
.single_image {
	float:none;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin-right: 0;
}
.single_image .gallery-thumbs {
	margin-bottom: 10px;
}
.single_image .swiper-container .swiper-slide img {
	max-height: 350px;
}
.single_image .gallery-thumbs .swiper-slide ,
.single_image .gallery-thumbs .swiper-slide img {
	width: auto;
	max-width: 160px;
	max-height:60px;
	object-fit: cover;
}
.single_detail {
	margin-top: 10px;
}
.single_detail .single_detail_title {
	font-size: 18px;
}
.single_detail .single_detail_banner {
	margin: 10px 0 0;
}
.single_detail .banner_detail dt {
	font-size: 10px;
	margin-top: 7px;
}

.single_detail .banner_detail dd {
	font-size: 18px;
}
/* relation */
.relation_wrap {
	padding: 0 10px;
	margin-bottom: 10px;
}
.relation_wrap .mix {
	margin-top: 5px;
}
.relation_wrap .mix a {
	/*padding: 2px;
	margin: 10px 5px 0;*/
}
.ranking_wrap {
	padding: 10px;
}
.ranking_wrap ul {
	padding: 0 10px;
}
.ranking_wrap li {
	float: none;
	width: 100%;
	margin-right: 0;
	display: block;
}
.ranking_wrap li {
	margin-top: 10px;
}
.ranking_wrap li:first-child {
	margin-top: 0;
}
.ranking_wrap li a {
	float: left;
	max-width: 40%;
	height: auto;
	margin-right: 10px;
	display: block;
}
.ranking_wrap li a .attachment-thumbnail {
	margin-bottom: 0px;
}
.back_top a {
	padding: 10px 0;
	font-size: 16px;
}

}

/* ad */
.ad_box_single {
    width: 98%;
    max-width: 1200px;
    margin: 0 auto 30px;
}
@media screen and (max-width: 767px) {
.ad_box_single {
	margin: 0 1% 20px;
}
}
