/*=================================================
 * CSS for PC
 * ================================================= */

body{
	background: url(/img/all/pc_bg.jpg) no-repeat top center #000 fixed;
	background-size: cover;
}

.page_title span{ padding-top: 20px;}

.page_title span img{
	width: 445px;
	height: auto;
}

.page_title em{ margin-top: -70px;}

/** top_slider **/

.top_slider_bg{
	width: 100%;
	margin: 0 auto 80px auto;
}
.top_slider{
	width: 1200px;
	font-size: 0;
	line-height: 0;
	text-align: center;
	margin: 0 auto;
}
.top_slider img{
	width: 100%;
	height: auto;
	margin: 0;
}
.top_slider .slick-slide{
	width: 1200px;
}
.slick-slide:focus{	outline: none;}

.top_slider .slick-prev,
.top_slider .slick-next{
	width: 35px;
	height: 55px;
	border: 0;
	outline: 0;
	background: none;
	position: absolute;
	z-index: 2;
	bottom: -55px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.top_slider .slick-prev{
	background: url(img/l.png) no-repeat;
	background-size: 35px auto;
}
.top_slider .slick-next{
	background: url(img/r.png) no-repeat;
	background-size: 35px auto;
}

.top_slider .slick-prev{	left: 0;}
.top_slider .slick-next{	right: 0;}
@media screen and (max-width: 650px) {
	.top_slider_bg{
		margin: 0 0 50px 0;
	}
	.top_slider .slick-prev,
	.top_slider .slick-next{
		width: 17px;
		height: 27px;
		bottom: -27px;
	}
	.top_slider .slick-prev{
		background: url(img/l.png) no-repeat;
		background-size: 17px auto;
	}
	.top_slider .slick-next{
		background: url(img/r.png) no-repeat;
		background-size: 17px auto;
	}
}

.top_slider_bg .slick-dots{
	width: 100%;
	font-size: 0;
	line-height: 0;
	text-align: center;
	position: absolute;
	z-index: 2;
	bottom: -25px;
	left: 0;
}
.top_slider_bg .slick-dots li{
	display: inline-block;
	vertical-align: top;
	margin: 0 5px;
}
.top_slider_bg .slick-dots li button{
	width: 15px;
	height: 15px;
	border: none;
	outline: none;
	border-radius: 50%;
	background: #333;
	border-radius: 50%;
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.top_slider_bg .slick-dots li.slick-active button{	background: #fff;}

@media screen and (max-width: 650px) {
	.top_slider_bg .slick-dots{
		bottom: -20px;
	}
	.top_slider_bg .slick-dots li{
		display: inline-block;
		vertical-align: top;
		margin: 0 5px;
	}
	.top_slider_bg .slick-dots li button{
		width: 10px;
		height: 10px;
	}
}


/** news **/

#news{
	color: #fff;
	margin: 0 0 80px 0;
	padding: 50px 0;
	background: url(../img/all/stone_bg.png) no-repeat top center;
	background-size: cover;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#news h3{
	width: 1100px;
	margin: 0 auto;
}
#news .news_in{
	width: 1100px;
	height: 450px;
	text-align: left;
	margin: 0 auto;
	padding: 50px 0 0 0;
	overflow-y		: auto;
	overflow-scrolling: touch;
	-webkit-overflow-scrolling: touch;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.news_in .nbox{
	display: table;
	width: 100%;
	font-size: 0;
	line-height: 0;
	padding: 0;
	margin: 0 0 30px 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.news_in .nbox:first-of-type{	padding-top: 0;}
.news_in .nbox:last-of-type{	border: none; margin-bottom: 0;}

.news_in .n_img,
.news_in .n_main{
	display: table-cell;
	vertical-align: top;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.news_in .n_img{
	width: 200px;
}

.n_img .cbox{
	display: inline-block;
	vertical-align: top;
	width: 180px;
	color: #fff;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.n_img .cbox:hover{
	text-decoration: none;
}

.n_img .cbox .img_bg{
	position: relative;
	display: block;
	z-index: 3;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.n_img .cbox .img{
	display: block;
	width: 180px;
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
}

.n_img .cbox .img > img{
	width: 180px;
	height: auto;
	-webkit-transition	: 0.4s ease-in-out;
	-moz-transition	: 0.4s ease-in-out;
	-o-transition	: 0.4s ease-in-out;
	transition		: 0.4s ease-in-out;
}

.news_in .nbox .n_main h4{
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 28px;
}

.news_in .nbox .n_main .date{
	font-size: 11px;
	line-height: 22px;
	color: #c09475;
}

.news_in .nbox .n_main .txt{
	font-size: 14px;
	line-height: 1.8;
}

.news_in .nbox .n_main .txt img{
	max-width: 100%;
	width: auto;
	height: auto !important;
}
.news_in .nbox .n_main .txt i{	font-style: italic; font-family: 'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic UI', Meiryo, sans-serif;}
.news_in .nbox .n_main .txt u{	text-decoration: underline;}


/** list **/

.list{
	text-align: center;
	margin: 0 0 50px 0;
}
.list h3{	margin-bottom: 20px;}

.list ul{
	font-size: 0;
	line-height: 0;
	padding: 0 115px;
}

.list li{
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: calc(100% / 4 - 50px);
	margin: 0 25px 60px 25px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.list li .class{
	font-size: 0;
	line-height: 0;
	text-align: center;
}
.list li .class img{
	width: auto;
	height: 25px;
}

.list li .photo{
	position: relative;
}

.list li .photo a{
	display: block;
}

.list li .photo img{
	width: 100%;
	height: auto;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
}
.list li .photo img:nth-of-type(1){
	position: relative;
	z-index: 2;
}
.list li .photo a:hover img:nth-of-type(1){
	opacity: 0;
	filter: alpha(opacity=0);
}
.list li .photo img:nth-of-type(2){
	position: absolute;
	top: 0;
	left: 0;
}

.list li .today{
	display: inline-block;
	vertical-align: top;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 11px;
	line-height: 18px;
	color: #fff;
	background: #ea102b;
	padding: 0 4px;
	position: absolute;
	z-index: 3;
	bottom: 10px;
	left: 10px;
}
.list li .icon{
	display: inline-block;
	vertical-align: top;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 11px;
	line-height: 18px;
	color: #fff;
	background: #000;
	padding: 0 4px;
	position: absolute;
	z-index: 3;
	bottom: 10px;
	right: 10px;
}

.list .txt{
	width: 100%;
	height: 110px;
	color: #fff;
	text-align: left;
	background: #000;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.list .txt .come{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 30px;
	border-bottom: 1px solid #c09475;
	padding: 0 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.list .txt > div{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	height: 80px;
	padding: 0 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

.list .txt .name{
	width: 100%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 24px;
}
.list .txt .name a{	color: #fff;}

.list .txt .size{
	width: 100%;
	font-size: 12px;
	line-height: 16px;
	margin: 5px 0 0 0;
}


/** bt_more **/

.bt_more{	display: none;}

.bt_more + label.bt1{
	cursor: pointer;
	order: 2;
	margin: 40px auto 20px auto;
	/*
	position: absolute;
	z-index: 2;
	bottom: 40px;
	left: calc(50% - 165px);
	*/
}
.bt_more + label.bt1:hover{
	cursor			: pointer;
	text-decoration: none;
	opacity: 0.8;
	filter: alpha(opacity=80);
}

.bt_more + label.bt1 + ul{
	width: 100%;
	min-height: 400px;
	height: 33vw;
	overflow: hidden;
}
.bt_more:checked + label.bt1{	display: none;}
.bt_more:checked + label.bt1 + ul{	height: auto;}

#newface .newface_in{
	display: flex;
	flex-wrap: wrap;
}
#newface .newface_in ul{
	order: 1;
	padding-bottom: 20px;
}


/** blog **/

#blog{
	color: #fff;
	padding: 50px 0 30px 0;
	background: url(../img/all/stone_bg.png) no-repeat top center;
	background-size: cover;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#blog h3{
	width: 1100px;
	margin: 0 auto;
}

#rss_r{
	width: 1100px;
	font-size: 0;
	line-height: 0;
	margin: 0 auto;
	padding: 30px 0 0 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

#rss_r a{
	display: inline-block;
	width: calc(50% - 30px);
	text-align: left;
	line-height: 20px;
	margin: 0 0 20px 0;
}
#rss_r a:nth-of-type(odd){	margin-right: 30px;}
#rss_r a:nth-of-type(even){	margin-left: 30px;}

#rss_r a em{
	display: inline-block;
	vertical-align: top;
	width: 170px;
	font-size: 14px;
	color: #c09475;
}

#rss_r a span{
	display: inline-block;
	vertical-align: top;
	width: calc(100% - 170px);
	font-size: 14px;
	color: #fff;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
}


/*=================================================
 * CSS for SP
 * ================================================= */

@media screen and (max-width: 650px) {
	body:before{
		background: url(/img/all/sp_bg.jpg) no-repeat top center;
		background-size: cover;
	}
	.page_title span{ padding-top: 0;}

	.page_title span img{
		width: 180px;
		height: auto;
	}
	
	.page_title em{ margin-top: -30px;}

	.top_slider_bg img{
		width: 100%;
		height: auto;
	}
	.top_slider{	width: auto;}



	/** news **/
	#news{
		width: auto;
		margin: 0 0 30px 0;
		padding: 30px 10px 0 10px;
		background: url(../img/all/stone_bg.png) no-repeat top center;
		background-size: cover;
	}
	#news h3{
		width: auto;
		margin: 0;
	}
	#news .news_in{
		width: auto;
		height: 65vh;
		padding: 0;
	}
	.news_in .nbox{
		margin-bottom: 0;
		padding: 15px 0;
	}
	.news_in .nbox:first-of-type{	padding-top: 15px;}
	.news_in .nbox:last-of-type{	border: none; padding-bottom: 15px; margin-bottom: 0;}
	.news_in .n_img{
		width: 85px;
		text-align: left;
	}
	.n_img .cbox{
		display: inline-block;
		vertical-align: top;
		width: 70px;
		color: #fff;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.n_img .cbox:hover{
		text-decoration: none;
	}
	.n_img .cbox .img_bg{
		position: relative;
		display: block;
		z-index: 3;
		background-size: cover !important;
	}
	.n_img .cbox .img{
		display: block;
		width: 70px;
		height: 105px;
	}
	.n_img .cbox .img > img{
		width: 70px;
		height: auto;
	}
	.n_img .cbox .img:hover > img{
	    -webkit-transform: scale(1);
	    -moz-transform: scale(1);
	    -o-transform: scale(1);
	    -ms-transform: scale(1);
	    transform: scale(1);
	}
	.news_in .nbox .n_main h4{
		font-size: 16px;
		line-height: 18px;
		margin: 0 0 3px 0;
	}
	.news_in .nbox .n_main .date{
		font-size: 10px;
		line-height: 14px;
		margin: 0 0 10px 0;
	}
	.news_in .nbox .n_main .txt{
		font-size: 13px;
	}


	/** list **/
	.list{
		text-align: center;
		padding: 0 5px;
		margin: 0 0 30px 0;
	}
	.list h3{	margin-bottom: 0;}
	.list ul{	padding: 0;}
	.list li{
		width: calc(100% / 2 - 10px);
		height: auto;
		margin: 0 5px 20px 5px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.list li .class img{
		width: auto;
		height: 15px;
	}

	.list li .photo a:hover img:nth-of-type(1){
		opacity: 1;
		filter: alpha(opacity=100);
	}
	.list li .photo img:nth-of-type(2){	display: none;}

	.list li .today{
		font-size: 10px;
		line-height: 15px;
		padding: 0 2px;
		bottom: 5px;
		left: 5px;
	}
	.list li .icon{
		font-size: 10px;
		line-height: 15px;
		padding: 0 2px;
		bottom: 5px;
		right: 5px;
	}
	.list .txt{
		height: auto;
	}
	.list .txt .come{
		font-size:min(3vw, 13px);
		line-height: 1.5;
		padding: 5px 5px;
	}
	.list .txt .come:empty{ padding: 0;}
	.list .txt > div{
		height: auto;
		padding: 5px 5px;
	}
	.list .txt .name{
		width: 100%;
		font-family: 'Noto Serif JP', serif;
		font-weight: 600;
		font-size:min(8vw, 18px);
		line-height: 1.2;
	}
	.list .txt .name a{	color: #fff;}
	.list .txt .size{
		width: 100%;
		font-size:min(2.5vw, 11px);
		line-height: 1.4;
		margin: 2px 0 0 0;
	}
	/** bt_more **/
	.bt_more{	display: none;}
	.bt_more + label.bt1{	display: none;}
	#newface ul{
		height: auto;
		white-space: nowrap;
		overflow-x: scroll;
	}
	#newface ul::-webkit-scrollbar{
		display: none;
	}
	#newface{	padding: 0;}
	#newface .newface_in{
		display: block;
		padding-bottom: 10px;
	}
	#newface .newface_in ul{
		width: auto;
		min-height: auto;
		display: flex;
		font-size: 0;
		line-height: 0;
		margin: 0;
		padding: 0 5px;
	}


	/** rss **/
	#blog{
		width: auto;
		padding: 30px 10px;
		background: url(../img/all/stone_bg.png) no-repeat top center;
		background-size: cover;
	}
	#blog h3{
		width: auto;
		margin: 0;
	}
	#rss_r{
		width: auto;
		padding: 10px 0 0 0;
	}
	#rss_r a{
		display: block;
		width: 100%;
		line-height: 20px;
		margin: 0 0 10px 0;
	}
	#rss_r a:nth-of-type(odd){	margin-right: 0;}
	#rss_r a:nth-of-type(even){	margin-left: 0;}
	#rss_r a em{
		display: block;
		width: auto;
		font-size: 11px;
		line-height: 18px;
	}
	#rss_r a span{
		width: auto;
		max-width: 100%;
		font-size: 16px;
		line-height: 20px;
	}

}
