@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ xxxxx */

.gallery .headBlock,
.greeting .headBlock,
.winner .headBlock,
.mail .headBlock{
	display: none;
}

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

	.gallery .headBlock,
	.greeting .headBlock,
	.winner .headBlock,
	.mail .headBlock{
		background: #377ebe;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 50px;
	}

	.gallery .headBlock .ttl_main,
	.greeting .headBlock .ttl_main,
	.winner .headBlock .ttl_main,
	.mail .headBlock .ttl_main{
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.5;
		text-align: center;
		color: #fff;
	}

	}/* --- max-width:768px */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ mainBlock */

.mainBlock{
	display: block;
	width: 1000px;
	min-height: 600px;
	padding: 20px;
	margin: auto;
	position: relative;
}

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

	.mainBlock{
		width: 100%;
		padding: 10px;
	}

	}/* --- max-width:768px */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ navSide */

.navSide{
	width: 180px;
	display: block;
	float: left;
	padding-right: 20px;
	background: #fff;
}

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

	.navSide{
		width: 70%;
		display: block;
		position: fixed;
		top: 90px;
		left: -70%;
		z-index: 9;
		padding: 0;
		transition: 0.5s;
		box-shadow: rgba(0,0,0,0.3) 2px 2px 1px 1px;
		border-radius: 0 0 5px 0;
		float: none;
	}

	.navSide.is_opened{
		left: 0;
	}

	}/* --- max-width:768px */

/* ############################### xxxxx */

.navSide .navBox{
	font-size: 1.6rem;
}

.navSide .navBox .num{
	font-size: 0.8em;
}

.navSide .navBox dt{
	margin-top: 20px;
	margin-bottom: 15px;
}

.navSide .navBox dd{
	margin-top: 10px;
	padding-left: 5px;
}

.navSide .navBox .ttl,
.navSide .navBox .sub,
.navSide .navBox .btn_sort{
	font-weight: bold;
}

.navSide .navBox .btn_sort.is_active{
	padding-left: 15px;
	position: relative;
}

.navSide .navBox .btn_sort.is_active:before{
	content: '';
	width: 5px;
	height: 5px;
	border-top: solid 2px #555;
	border-right: solid 2px #555;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -4px;
}

.navSide .btn_clear{
	display: block;
	border: 2px solid;
	padding: 5px 10px;
	font-weight: bold;
	font-size: 1.4rem;
	text-decoration: none;
	text-align: center;
	margin-top: 30px;
	opacity: 0.1;
	pointer-events: none;
}
.navSide .btn_clear:hover{background: #333;color: #fff;}
.is_sorted .navSide .btn_clear{opacity: 1;pointer-events: auto;}

.navSide .bttn_sp{
	display: none;
}

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

	.navSide .outer{
		position: relative;
	}

	.navSide .bttn_sp{
		display: block;
	}

	.navSide #btn_spmenu{
		position: absolute;
		display: block;
		background: #fff;
		top: 0;
		right: -39px;
		width: 40px;
		height: 40px;
		background-size: contain;
		border-radius: 0 0 5px 0;
		box-shadow: rgba(0,0,0,0.3) 2px 2px 1px 1px;
	}

	.navSide #btn_spmenu span{
		position: relative;
		display: table;
	}

	.navSide #btn_spmenu span:after{
		content: '';
		width: 10px;
		height: 10px;
		border-top: solid 2px #333;
		border-right: solid 2px #333;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 12px;
		right: -23px;
	}

	.navSide.is_opened #btn_spmenu span:after{
		-ms-transform: rotate(225deg);
		-webkit-transform: rotate(225deg);
		transform: rotate(225deg);
		right: -25px;
	}

	.navSide .navBox{
		font-size: 1.2rem;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: wrap;
		flex: auto;
		position: relative;
		padding: 20px 10px 0;
	}

	.navSide.is_opend .navBox:after{
		-ms-transform: rotate(225deg);
		-webkit-transform: rotate(225deg);
		transform: rotate(225deg);
	}

	.navSide .navBox dt{
		margin-top: 10px;
		margin-bottom: 10px;
		width: 100%;
		font-size: 1.4rem;
	}

	.navSide .navBox dd{
		margin-top: 0;
		display: block;
		width: 50%;
		text-align: center;
		padding: 1px;
	}

	.navSide .navBox .num{
		display: none;
	}

	.navSide .navBox .btn_sort{
		text-decoration: none;
		border: 1px solid #333;
		width: 100%;
		height: 100%;
		padding: 8px 5px;
		display: block;
	}

	.navSide .navBox .btn_sort.is_active{
		padding-left: 0;
		background: #377ebe;
		color: #fff;
	}

	.navSide .navBox .btn_sort.is_active:before{
		display: none;
	}

	.navSide .bttn{
		padding: 0 10px 20px;
	}

	.navSide .btn_clear{
		margin-top: 20px;
		font-size: 1.2rem;
	}

	}/* --- max-width:768px */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ mainBlock */

.contentsSide{
	display: block;
	margin-left: 180px;
}

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

	.contentsSide{
		display: block;
		margin-left: 0;
	}

	}/* --- max-width:768px */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ indexArea */

#indexArea{
	font-size: 0;
	display: flex;
	align-items: top;
	justify-content: space-between;
	flex-wrap: wrap;
	flex: auto;
	position: relative;
}

	#indexArea:before{
		content: '';
		width: 180px;
		order:1;
	}

	#indexArea:after{
		content: '';
		width: 180px;
		height:0;
	}

#indexArea .imgBox{
	display: block;
	flex-basis: 180px;
	margin: 0 0 15px 0;
	vertical-align: top;
}

#indexArea .imgBox .img{
	display: block;
	width: 180px;
	height: 180px;
	overflow: hidden;
	background-position: center !important;
	background-size: cover !important;
	background-repeat: no-repeat;
	position: relative;
}

#indexArea .imgBox .artist,
#indexArea .imgBox .artist_en{
	display: block;
	font-size: 1.3rem;
	line-height: 1.5;
	font-weight: bold;
	margin-top: 5px;
}

#indexArea .imgBox .ttl,
#indexArea .imgBox .ttl_en{
	display: block;
	font-size: 1.1rem;
	line-height: 1.5;
	font-weight: bold;
}

#indexArea .sub{
	display: block;
	font-size: 1.0rem;
	margin-top: 5px;

}

#indexArea .sub span{
	text-decoration: underline;
}
#indexArea .sub:hover span{text-decoration: none;}

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

	#indexArea:after{
		content: '';
		width: 32%;
	}

	#indexArea .imgBox{
		display: inline-block;
		width: 32%;
		flex-basis: 32%;
		margin: 0;
		padding: 0 0 10px;
		position: relative;
	}

	#indexArea .imgBox .img{
		width: auto;
		height: auto;
		max-width: 100%;
	}

	}/* --- max-width:768px */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ btnArea */

.btnArea .bttn{
	text-align: center;
	margin-top: 15px;
	margin-top: 20px;
}

.btnArea .bttn .btn_nml{
	border: 1px solid #377ebe;
	color: #377ebe;
}
.btnArea .bttn .btn_nml:hover{background: #377ebe;color: #fff;}

.btnArea .bttn .btn_nml span{
	font-weight: bold;
}

.btnArea .bttn .btn_nml span:after{
	display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ detailArea */

#detailBlock > .detailArea{
	max-width: 1000px;
	padding: 20px 20px 40px;
	margin: auto;
}

#detailBlock > .detailArea .imgZone{
	position: relative;
}

#detailBlock > .detailArea .img{
	max-width: 800px;
	width: 100%;
	text-align: center;
	margin: auto;
}

#detailBlock > .detailArea .img .artist,
#detailBlock > .detailArea .img .artist_en{
	display: block;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	margin-top: 10px;
}

#detailBlock > .detailArea .img .ttl{
	display: block;
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
}

#detailBlock > .detailArea .sub{
	margin-top: 5px;
	display: block;
}

#detailBlock > .detailArea .sub span{
	text-decoration: underline;
}
#detailBlock > .detailArea .sub:hover span{text-decoration: none;}

#detailBlock .btn_slide{
	display: inline-block;
	cursor: pointer;
	position: relative;
}

#detailBlock .btnBox a{
	position: absolute;
	top: calc(50% - 60px);
	display: inline-block;
	width: 32px;
	height: 32px;
/*	display: none;*/
}

#slide_prev{left: 0;}
#slide_next{right: 0;}

#slide_prev:before{
	content: '';
	width: 20px;
	height: 20px;
	border-top: solid 3px #555;
	border-right: solid 3px #555;
	-ms-transform: rotate(225deg);
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -10px;
}

#slide_next:before{
	content: '';
	width: 20px;
	height: 20px;
	border-top: solid 3px #555;
	border-right: solid 3px #555;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -10px;
}

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

	#detailBlock > .detailArea{
		padding: 20px 10px 30px;
	}

	#detailBlock > .detailArea .img{
		max-width: 800px;
		width: calc(100% - 80px);
	}

	#detailBlock > .detailArea .img .artist{
		font-size: 1.4rem;
	}

	#detailBlock > .detailArea .img .ttl{
		font-size: 1.8rem;
	}

	#detailBlock .btnBox a{
		top: calc(50% - 40px);
	}

	}/* --- max-width:768px */

#detailBlock .btnZone{
	text-align: center;
	margin-top: 20px;
}

#detailBlock .btnZone .snsBox{
	display: flex;
	align-items: center;
	justify-content: center;
}

#detailBlock .btnZone .snsBox li{
	margin: 0 10px;
}

#detailBlock .btnZone .snsBox li a{
	display: inline-block;
	padding: 10px 10px 10px 40px;
	border-radius: 3px;
	font-size: 1.4rem;
	text-decoration: none;
	color: #fff;
	position: relative;
}
#detailBlock .btnZone .snsBox li.facebook a{background: #4676ed;}
#detailBlock .btnZone .snsBox li.twitter a{background: #1da1f2;}
#detailBlock .btnZone .snsBox li.line{display: none;}
#detailBlock .btnZone .snsBox li.line a{background: #00b900;}

#detailBlock .btnZone .snsBox li.facebook a:before{
	content: '';
	position: absolute;
	display: block;
	background: url(/2020/common/img/sns_facebook.png) no-repeat center;
	top: 50%;
	margin-top: -12px;
	left: 8px;
	width: 23px;
	height: 22px;
	background-size: contain;
}

#detailBlock .btnZone .snsBox li.twitter a:before{
	content: '';
	position: absolute;
	display: block;
	background: url(/2020/common/img/sns_twitter.png) no-repeat center;
	top: 50%;
	margin-top: -10px;
	left: 8px;
	width: 23px;
	height: 19px;
	background-size: contain;
}

#detailBlock .btnZone .snsBox li.line a:before{
	content: '';
	position: absolute;
	display: block;
	background: url(/2020/common/img/sns_line.png) no-repeat center;
	top: 50%;
	margin-top: -15px;
	left: 8px;
	width: 31px;
	height: 28px;
	background-size: contain;
}

#detailBlock .btn_back{
	display: inline-block;
	border: 2px solid;
	padding: 10px 30px 10px;
	font-weight: bold;
	font-size: 1.6rem;
	text-decoration: none;
	margin-top: 40px;
}
.btn_back:hover{background: #333;color: #fff;}

.btn_img{
	cursor: pointer;
}

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

	#detailBlock .btnZone .snsBox{
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#detailBlock .btnZone .snsBox li{
		margin: 0 5px;
	}

	#detailBlock .btnZone .snsBox li a{
		display: inline-block;
		padding: 5px 5px 5px 20px;
		font-size: 1.2rem;
	}
	#detailBlock .btnZone .snsBox li.line{display: block;}

	#detailBlock .btnZone .snsBox li.facebook a:before{
		margin-top: -6px;
		left: 5px;
		width: 12px;
		height: 11px;
		background-size: contain;
	}

	#detailBlock .btnZone .snsBox li.twitter a:before{
		top: 50%;
		margin-top: -6px;
		left: 5px;
		width: 12px;
		height: 10px;
		background-size: contain;
	}

	#detailBlock .btnZone .snsBox li.line a:before{
		top: 50%;
		margin-top: -7px;
		left: 5px;
		width: 15px;
		height: 14px;
		background-size: contain;
	}

	#detailBlock .btn_back{
		display: inline-block;
		border: 2px solid;
		padding: 10px 40px 10px;
		font-weight: bold;
		font-size: 1.4rem;
		text-decoration: none;
		margin-top: 40px;
	}

	}/* --- max-width:768px */

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ etc */

/* 一覧表示 */
.is_index #indexBlock{display: block;}
.is_index #detailBlock{display: none;}

/* 詳細表示 */
.is_detail #indexBlock{display: none;}
.is_detail #detailBlock{display: block;}
.is_detail .headBlock{display: none;}

/* ソート中 */
.is_sorted .detailArea .btn_slide{opacity: 0.1 !important;pointer-events: none;cursor: default;}

.is_shown{display: block !important;}
.is_hidden{display: none !important;}
.is_transparent{opacity: 0.1 !important;pointer-events: none;cursor: default;}
.detailArea .img{width: 200px;}
.detailArea .img span{display: none;}
