@charset "UTF-8";
/*
	wp - hobbyjapanA
*/
#topicpath p{
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
#topicpath span{display: inline;}
#topicpath a{color: #666; display: inline-block;}
#topicpath a::after {content: ">"; margin: 0 .5rem;}

#content h1{
	font-size: 2.8rem;
}
/*メーカー一覧のタブメニュー*/
#maker-tab{
    position: relative;
    border-bottom: 1px solid #575757;
    margin-bottom: 2rem;
    font-size: 1.4rem;
}
#maker-tab ul{
    display: flex;
    justify-content: flex-end;
    margin-bottom: -1px;
}
#maker-tab li{
    margin-left: .5rem;
    padding-right: 1rem;
}
#maker-tab li a, #maker-tab li span{
    padding: 1rem 2rem;
    border: 1px solid #000;
    border-bottom: 1px solid #efefef;
    display: block;
    position: relative;
    z-index: 1;
}
#maker-tab li span{
    background: #efefef;
}
#maker-tab li a{
    background: #ccc;
    color: #000;
    border-bottom: 1px solid #575757;
}
/*メーカー一覧*/
#makers-list ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 1.4rem;
}
#makers-list li{
    width: 30%;
    margin-bottom: 2rem;
    text-align: center;
}
#makers-list li a{
    color: #575757;
}

/*イベント詳細*/

.editor + .custom-data, .custom-data + .custom-data{
    margin-top: 4rem;
}
.custom-data dl{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #ccc;
    border-bottom: 0;
    font-size: 1.4rem;
}
.custom-data dt{
    width: 30%;
    border-bottom: 1px solid #ccc;
    padding: 10px;
    background: #ededed;
}
.custom-data dd{
    width: 70%;
    border-bottom: 1px solid #ccc;
    padding: 10px;
}
.custom-data .image li{
    position: relative;
    height: 100%;
}
.custom-data .image figure{
    background: #f4f4f4;
    position: relative;
    overflow: hidden;
}
.custom-data .image figure::after{
    content: "";
    display: block;
    padding-top: 100%;
}
.custom-data .image a{
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.custom-data .image a::before{
    content: "";
    position: absolute;
    right: 1px;
    top: 1px;
    width: 30px;
    height: 30px;
    background-image: url(../hobbyjapan/css/img/icon-colorbox.png);
    background-size: 100%;
    z-index: 3;
}
.custom-data .image a::after{
    content: "";
    display: block;
    padding-top: 100%;
    z-index: 1;
}
.custom-data .image img{
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
}
.custom-data .image span{
    display: block;
    padding: 0 .5rem;
    font-size: 1.2rem;
}


#event-data ul, #shop-data ul{
    margin-top: 4rem;
    overflow: hidden;
}
#event-data li, #shop-data li{
    width: 49%;
    display: block;
}

#event-data li a, #shop-data li a{
    border-radius: 30px;
    display: block;
    background: #e60012;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    padding: 1rem;
}
#event-data li a:hover, #shop-data li a:hover{
    text-decoration: none;
    opacity: .85
}

.makermv{
    position: relative;
    width: 100%;
    height: 100vh;
    opacity: 0;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    overflow: hidden;
}
.makermv img{
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}
.makerhb{
    overflow-y: auto;
    border: 1px solid #f7f7f7;
    padding: 1rem;
}
#maker-data dl+dl{
    margin-top: 2rem;
}
#maker-data dl dt{
    width: 20%;
}
#maker-data dl dd{
    width: 80%;
}
#maker-data dl dd.name{
    background: #f7f7f7;
}
#maker-data ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#maker-data li{
    width: 48%;
    margin: 0 auto;
}
#maker-data li:nth-child(n + 3){
    margin: 1rem 1% 0
}
#maker-data li img{
    border: 1px solid #ccc;
    width: 100%;
}
@media (max-width: 600px) {
    #maker-data li:nth-child(n + 3){margin: 0;}
    #maker-data li{width: 100%; margin: 1rem 0 0 !important;}
}

.custom-data iframe{
    width: 100%;
    max-height: 300px;
    margin-top: 1rem;
}

.archive-item h3 span.date i{
    background: #c7c7c7;
    color: #fff;
    display: inline-block;
    padding: 0 1rem;
	margin-left: .5rem;
}
.archive-item h3 span.date i.lab{
    background: #424242;
}
/*イベント一覧*/
/*イベント一覧記事*/
.event-archive h2{
    margin-bottom: 1.5rem;
}
.archive-item .img{
    background-size: contain;
    background-position: center;
}
.archive-item .img span{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.8rem;
    font-weight: bold;
    color: #fff;
    text-shadow: black 0 0 5px;
    text-align: center;
}
.archive-event .archive-item .content{
    font-size: 1.4rem;
}
.archive-event .archive-item .content h3,
.archive-event .archive-item .content span,
.archive-event .archive-item .content p{
    display: block;
    width: 100%;
    font-size: 1.4rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.archive-event .archive-item .content span{
    font-weight: normal;
    margin-top: 0;
}
.archive-event .archive-item .content h3{
    font-size: 1.6rem;
    margin: 0;
}
.archive-event .archive-item .content p{
    font-weight: normal;
}
.archive-item strong{
    color: #464646 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
#sidebar .ranking li .title{
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	height: 50px;
}

#pagenation + #bottom-search{margin-top: 7rem !important;}
#type-search, .searchform{
    padding: 3rem;
    background: #fafafa;
    margin: 1rem 0 2rem;
}
#type-search h3{
    margin-top: 1rem;
    font-weight: bold;
    font-size: 1.4rem;
    color: #424242;
    position: relative;
    padding: .5rem;
    background: #434343;
    color: #efefef;
}
#type-search h3::after{
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: solid 2px #ccc;
    border-right: solid 2px #ccc;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: 2px;
    position: absolute;
    right: 1rem;
    top: .5rem;
    color: #efefef;
}
#type-search h3.open::after{
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
    top: 1rem;
}
#type-search h3:hover{
    cursor: pointer;
}
#type-search .search{
    position: relative;
}
#type-search select{
    margin: 0 1rem 1rem 0;
    border: 1px solid #424242;
}
#type-search select#areas{
    display: none;
}
#type-search .btn-line, .searchform .btn-line{
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}
#type-search button, .searchform button{
    background: #e60012;
    border: 0;
    color: #fff;
    text-align: center;
    padding: 1rem;
    display: flex;
    align-items: center;
    position: relative;
    justify-content: center;
    width: 100%;
    max-width: 300px;
}
#type-search button:hover, .searchform button:hover{
    opacity: .85;
}
#type-search button i, .searchform button i{
    position: absolute;
    height: 100%;
    display: flex;
    align-items: center;
    left: 1rem;
}
#type-search button span, .searchform button span{
    font-size: 1.6rem;
    line-height: 1;
    font-weight: bold;
}
#type-search-dropdown{
    display: none;
    background: #434343;
    margin: 0;
    padding: 1rem;
}
#type-search input[type="text"], .searchform input[type="text"]{
    padding: 13px 20px;
    border: 1px solid #424242;
    font-size: 1.6rem;
    width: 100%;
    color: #ccc;
}
#type-search input[type="text"]:focus, .searchform input[type="text"]:focus{
    color: #666
}

#type-search #area option:not(:first-child){
    display: none;
}
#type-search h2, .searchform h2{
    margin: -3rem 0 1.5rem -3rem;
    background: #323232;
    color: #fff;
    font-weight: bold;
    padding: 1.5rem;
    display: table;
}

#searchErr{display: none;}
.error404 #searchErr{display: block;}



#search_rule{
    padding: 3rem 0 0;
    margin: -3rem 0 5rem;
    font-size: 1.6rem;
}
#search_rule dl{
    display: flex;
    flex-wrap: wrap;
}
#search_rule dt{
    width: 30%;
    border-bottom: 1px solid #ccc;
    padding: .5rem 0;
    font-weight: bold;
}
#search_rule dd{
    width: 70%;
    padding: .5rem 2rem;
    border-bottom: 1px solid #fff;
}


/*ショップ一覧*/
.shop-list .archive-item .content h3{
    margin: 0 0 .5rem;
    font-size: 1.6rem;
}
.shop-list .archive-item .content span{
    font-size: 1.4rem;
    color: #767676;
}
.shop-list .archive-item .content ul{
    display: flex;
    margin-top: 1rem;
    flex-wrap: wrap;
}
.shop-list .archive-item .content ul img{
    height: 2.2rem;
    margin: 0;
}
.shop-list .archive-item .content ul li{
    margin: 0 .5rem .5rem 0!important;
    height: 2.2rem;
    display: flex;
    background: #424242;
}
.shop-list .archive-item .content ul a span{
    padding: 0 .5rem;
    display: flex;
    align-items: center;
    height: 100%;
    color: #fff;
    font-size: 1.2rem;
}
#maker-data dl dt{width: 80px;}
#maker-data dl dd{width: calc(100% - 80px);}

#relate-book-list{
    display: flex;
}
.relate-book-item{
    width: 33%;
    background: #fff;
    border: 1px solid #ccc;
    padding: 2rem 2rem 7rem;
    position: relative;
}
.relate-book-item:nth-child(2), .relate-book-item:nth-child(4){
    margin: 0 .5%;
}
.relate-book-item figure{
    width: 100%;
    position: relative;
    overflow: hidden;
}
.relate-book-item figure::after{
    content: "";
    display: block;
    padding-top: 100%;
}
.relate-book-item figure a{
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
.relate-book-item img{
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
}
.relate-book-item h4{
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: .5rem;
}
.relate-book-item a.red-btn{
    display: table;
    border-radius: .5rem;
    background: #e60012;
    color: #fff;
    text-align: center;
    padding: .5rem 2rem;
    width: 100%;
    max-width: 160px;
    font-size: 1.4rem;
    position: absolute;
    bottom: 2rem;
    transform: translateX(-50%);
    left: 50%;
}
.relate-book-item a.red-btn::before{
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -4px;
    left: .5rem;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


#pickup{
    padding: 1rem;
    margin: 1rem -1rem;
    background: #e2e2e2;
}
#pickup .archive-list{margin-bottom: 0; justify-content: space-between;}
#pickup h2{
    font-weight: bold;
    color: #e60012;
    margin-bottom: 1rem;
    font-size: 1.6rem;
}
#pickup .archive-list > .archive-item, #pickup .archive-list > div{width: 33%; margin-bottom: 0;}
@media (max-width: 600px){
	#pickup .archive-list > .archive-item, #pickup .archive-list > div{width: 49%;}
	#pickup .archive-pickup:last-child{display: none;}
}
#pickup .archive-list > div .archive-item{width: 100%; height: 100%; display: block; margin-bottom: 0;}

.single-movie-type #yarpp .archive-item .img::before{
	padding-top: 56.25%;
}
.archive-item span.date{color: #ccc !important; font-size: 1.2rem;}
#yarpp .archive-item strong{margin: 0;}


/*年齢制限*/
.archive-item-icon{
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	z-index: 10;
}
.archive-item-icon .cat{
	position: static;
}
.archive-item-icon u.rating{
	display: flex;
	align-items: center;
	padding: 0 .6rem;
	color: #fff;
	background: #000;
	font-size: 1.2rem;
}
#rating-wrap{
	background: rgba(0,0,0,.8);
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0;
}
#rating-inner{
	width: calc(100% - 2rem);
	max-width: 1000px;
	background: #fff;
	padding: 4rem;
	height: 80%;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
}
#rating-inner h2{
	display: none;
}
#rating-inner p{
	font-size: 1.8rem;
	font-weight: 700;
	width: 100%;
}
#rating-inner ul{
	display: flex;
	margin-top: 5rem;
	gap: 1rem;
	width: 100%;
}
#rating-inner li {
	display: flex;
	justify-content: center;
	width: 100%;
}
#rating-inner a, #rating-inner i{
	background: #e60012;
	color: #fff;
	font-size: 2rem;
	padding: 1rem;
	max-width: 30rem;
	width: 100%;
	text-align: center;
	font-weight: 700;
	display: block;
	border-radius: 1rem;
	cursor: pointer;
}
#rating-inner a{
	background: #424242;
}

.archive-block h2 a::after{display: none;}
.archive-block h2 a::before{display: none;}
.archive-block .btn-red-arrow::after{
	display: none;
}
.archive-block .btn-red-arrow::before{
	display: inline-block;
	width: .8em;
	height: .8em;
	margin: 0;
	margin-top: 0px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
	content: "";
	margin-top: -.4em;
}
.archive-block .btn-red-arrow span{
	padding: 1rem 2rem;
}
.archive-block .btn-red-arrow{
	max-width: 200px;
}
.home .archive-block .archive-list{
	margin-bottom: 5rem;
}

.front-btn-area{
	text-align: center;
}
.btn-red-front{
	width: 80%;
	font-size: 1.6rem;
	display: block;
	position: relative;
	background: #e60012;
	transition: .5s all;
	margin: 0 auto 120px;
	border-radius: .5rem;
}
.btn-red-front span{
	display: inline-block;
	color: #fff !important;
	padding: 2rem 4rem;
	text-align: center;
	position: relative;
	z-index: 2;
	transition: .3s all;
}
.btn-red-front span::after{
	content: "＞";
	color: #fff !important;
	position: absolute;
	right: 1em;
	top: 50%;
	margin-top: -.85em;
	z-index: 3;
}
.btn-red-front:hover{
	background: #7c7c7c;
	text-decoration: none !important;
	opacity: .85 !important;
}
.btn-gray-front{
	width: 80%;
	font-size: 1.6rem;
	display: block;
	position: relative;
	background: #45413e;
	transition: .5s all;
	margin: 0 auto 120px;
	border-radius: .5rem;
}
.btn-gray-front span{
	display: inline-block;
	color: #fff !important;
	padding: 2rem 4rem;
	text-align: center;
	position: relative;
	z-index: 2;
	transition: .3s all;
}
.btn-gray-front span::after{
	content: "＞";
	color: #fff !important;
	position: absolute;
	right: 1em;
	top: 50%;
	margin-top: -.85em;
	z-index: 3;
}
.btn-gray-front:hover{
	background: #7c7c7c;
	text-decoration: none !important;
	opacity: .85 !important;
}

.split-page-arrow{
	margin: 6rem 0 3rem;
	text-align: center;
}
.split-page-arrow a.post-page-numbers{
	background: #323232 !important;
	color: #fff !important;
}
.split-page-arrow a.post-page-numbers:hover{
	background: #c7c7c7 !important;
	color: #323232 !important;
}
.split-page-arrow .page-arrow i::before{
	content: "";
	width: .8rem;
    height: .8rem;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
	display: inline-block;
}
.split-page-arrow .page-arrow:hover i::before{
	border-color: #323232 !important;
}
.split-page-arrow .page-arrow i.next::before{
    transform: rotate(135deg) translate(-50%, -40%);
    -webkit-transform: rotate(135deg) translate(-50%, -40%);
	margin-left: 1rem;
}
.split-page-arrow .page-arrow i.prev::before{
    transform: rotate(-45deg) translate(-40%, -50%);
    -webkit-transform: rotate(-45deg) translate(-40%, -50%);
	margin-right: 1rem;
}
.split-page-nav{
	margin: 0 0 6rem;
	text-align: center;
}
.split-page-nav .next-page-link{
	margin-bottom: 2rem;
}
.post-page-numbers{
	background: #c7c7c7;
	padding: 1rem 2rem;
	color: #323232;
	display: inline-block;
	margin: 1rem .5rem 0;
}
a.post-page-numbers{
	color: #323232 !important;
}
a.post-page-numbers:hover{
	text-decoration: none !important;
	background: #323232;
	color: #fff !important;
}
span.post-page-numbers{
	background: transparent;
	border: 1px solid #323232;
	color: #323232;
}
.split-page-nav .next-page-link a{
	border: 1px solid #323232;
	background: #323232;
	padding: 1rem 3rem;
	color: #fff !important;
}
.split-page-nav .next-page-link a:hover{
	background: #fff !important;
	color: #323232 !important;
	text-decoration: none !important;
}

@media (max-width: 600px) {
	.post-page-numbers{
		padding: .5rem 1.5rem;
		margin: 1rem .3rem 0;
	}
	#relate-books{
		margin-top: 20px;
	}
	.archive-block .btn-red-arrow{
		margin: 2rem auto 4rem;
	}
	.btn-gray-front span, .btn-red-front span{
		padding: 1rem;
	}
	.btn-gray-front span::after, .btn-red-front span::after{
		position: static;
		padding-left: .5em;
	}
}
@media (min-width: 1000px) {
	#rating-inner p{
		line-height: 3;
		text-align: center;
		font-size: 2.2rem;
	}
}
@media (max-width: 600px) {
	#rating-inner ul{flex-wrap: wrap;}
	#rating-inner{padding: 4rem 2rem;}
	#rating-inner p{font-size: 1.6rem;}
}

@media (max-width: 1000px) {
    .archive-item .img span{
        font-size: 2rem;
    }
}
@media (max-width: 600px) {
	#content h1{font-size: 2rem;}
    .custom-data li{
        width: 100%;
        margin-bottom: 1rem;
    }
    .archive-item .img span{font-size: 4vw;}
    #type-search, .searchform{padding: 1rem;}
    #event-calendar .calendar h4{
        padding-bottom: 0;
    }
    #event-calendar .calendar h4 span{
        width: calc(100% - 140px);
        font-size: 2rem;
    }
    #event-calendar .calendar h4 a{
        width: 70px;
        font-size: 1.4rem;
    }
    #event-calendar .calendar li{
        font-size: 1.4rem;
    }
    #event-calendar .calendar li span, #event-calendar .calendar li p{
        padding: .3rem;
    }
    #event-calendar .calendar li p{
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 3rem;
    }
    #event-calendar .calendar li a{
        padding: 0;
        font-size: 1.2rem;
        width: 2rem;
        height: 2rem;
        padding: .2rem;
    }
    .custom-data dt{
        border: 0;
        padding: .5rem 1rem;
        border-bottom: 1px solid #ccc;
	}
	.custom-data dd{
        border: 0;
        border-bottom: 1px solid #ccc;
        padding: .5rem 1rem;
    }
    #type-search h2, .searchform h2{margin: -1rem 0 .5rem -1rem; padding: 1rem;}
    #type-search-dropdown{display: none;}
    #search_rule{font-size: 1.2rem; margin-bottom: 2rem;}
    #search_rule dt,#search_rule dd{width: 100%;}
    #search_rule dt{
        padding-bottom: .5rem;
    }
    #search_rule dd{
        padding: .5rem 0
    }
    #event-data li, #shop-data li{width: 100%;}
    #event-data{margin: 2rem 0;}
    #event-data dt{width: 110px;}
    #event-data dd{width: calc(100% - 110px);}
    #type-search button, .searchform button{font-size: 1.4rem;}
    #type-search select {
        border: 1px solid #666;
        padding: 8px 30px 8px 20px;
        font-size: 12px;
        background-size: 16px;
        margin: 1.5rem 0 0;
        width: 100%;
        font-size: 1.6rem;
    }
    .relate-book-item{width: 49%;}
    .relate-book-item:nth-child(3){display: none;}
	#maker-recently .btn-red-arrow, #news-recently .btn-red-arrow, #photo-recently .btn-red-arrow, #movie-recently .btn-red-arrow{display: block;}
}