@charset "UTF-8";

/****************************************トップページ関係の設定*/
@media screen {
hr.hr_content {
	opacity: 0;
	height: 20px;
}
}

@media only screen and (max-width: 959px) {
/****************************************トップページ関係の設定*/
/*上段キャッチコピー*/
#top_main_visual {
	font-family: "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", serif;
	height: auto;
	text-align: right;
	margin: auto;
	padding: 10% 2%;
}
#top_main_visual .main_catch {
	margin-top: 10%;
	font-size: 30pt;
	line-height: 1.2;
	font-weight: bold;
}
#top_main_visual .sub_catch {
	margin-top: 5%;
	font-size: 11pt;
}
#top_main_visual .sub_catch span {
	display: block;
}
/*ニュースマーキー欄の設定（内部のリスト設定込み）*/
.news_marquee {
	background-color: rgba(0,0,0,0.3);
	padding: 5px;
	width: 95%;
	height: auto;
	margin: 15px auto;
	border-radius: 0.2em;
}
.news_marquee .news_title {
	font-weight: bold;
	padding-bottom: 4px;
}
.news_marquee marquee {
	height: 30px;
	background-color: rgba(0,0,0,0.4)
}
.news_marquee marquee>ul {
	display: flex;
	width: 100%;
}
.news_marquee marquee>ul>li {
	display: flex;
	flex: 1 0 auto;
	margin-right: 5%;
	padding: 4px;
}
.news_marquee marquee>ul>li a {
	display: block;
	min-width: 600px;
}
.news_marquee>a {
	display: block;
	text-align: right;
}
/*フレックスボックス*/
#contents > p > a > img {
	width: 100%;
	margin: auto;
	padding-left: 5px;
}
.top_contents_box {
	width: 95%;
	display: flex;
	flex-flow: row wrap;
	margin: auto;
	font-size: 105%;
	justify-content: center;
}
.top_contents_box > div {
	position: relative;
	flex: 1 0 200px;
	height: 125px;
	margin: 5px;
	box-shadow: 0px 0px 2px 2px rgba(0,0,0,0.1);
	border-radius: 0.2em;
	overflow: hidden;
}
.top_contents_box > div > img {
	min-width: 100%;
	min-height: 100%;
	width: 100%;
	z-index: 0;
}
.top_contents_box > div > div {
	position: absolute;
	top: 0;
	background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0));
	width: 100%;
	height: 100%;
	padding: 1px;
	z-index: 2;
}
.top_contents_box > div:hover > div {
	background: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.1));
}
.top_contents_box > div:hover > div.product_box {
	background: rgba(0,0,0,0)
}
.top_contents_box > div > div > a {
	display: block;
	width: 100%;
	height: 100%;
	z-index: 3;
	color: #fff;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.top_contents_box > div > div > a > div {
	margin-top: -9px;
	padding: 0 10px;
	font-size: 70%;
	z-index: 3;
}
.top_contents_box > a {
	flex: 1 1 95%;
	height: 74px;
	margin: 5px;
	overflow: hidden;
	text-align: center;
	background-color: rgba(255,255,255,1.00);
}
.top_contents_box > a > img {
	height: 74px;
}
.top_contents_box h2 {
	border-left: none;
}
}

@media screen and (min-width: 960px) {
/*上段キャッチコピー*/
#top_main_visual {
	font-family: "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", serif;
	height: 45vh;
	text-align: right;
	padding-top: 9vh;
	margin: auto;
}
#top_main_visual .main_catch {
	font-size: 36pt;
	line-height: 1.2;
	font-weight: bold;
}
#top_main_visual .sub_catch {
	margin-top: 35px;
	font-size: 13pt;
}
/*ニュースマーキー*/
.news_marquee {
	display: flex;
	flex-flow: row wrap;
	background-color: rgba(0,0,0,0.3);
	padding: 5px;
	width: 950px;
	height: auto;
	margin: 15px auto;
}
.news_marquee .news_title {
	flex: 0 0 17%;
	text-align: center;
	font-weight: bold;
}
.news_marquee marquee {
	height: 30px;
	flex: 0 0 83%;
	background-color: rgba(0,0,0,0.4)
}
.news_marquee marquee>ul {
	display: flex;
	width: 100%;
}
.news_marquee marquee>ul>li {
	display: flex;
	flex: 1 0 auto;
	min-width: 600px;
	margin-right: 20%;
	padding: 4px;
}
	.news_marquee marquee>ul>li:last-child {
	padding-right: 600px;
}
.news_marquee marquee>ul>li a {
	display: block;
}
.news_marquee>a {
	flex: 0 0 100%;
	text-align: right;
}
/*フレックスボックス*/
#contents > p > a > img {
	width: 960px;
	margin: auto;
	padding-left: 5px;
}
.top_contents_box {
	width: 960px;
	display: flex;
	flex-flow: row wrap;
	margin: auto;
	font-size: 105%;
}
.top_contents_box > div {
	position: relative;
	flex: 0 0 230px;
	height: 125px;
	margin: 5px;
	box-shadow: 0px 0px 2px 2px rgba(0,0,0,0.1);
	overflow: hidden;
	background-color: #000;
}
.top_contents_box > div:hover {
	flex: 0 0 240px;
	height: 135px;
	margin: 0px;
	border-radius: 0.6em;
}
.top_contents_box > div > img {
	min-width: 100%;
	min-height: 100%;
	width: 100%;
	z-index: 0;
}
.top_contents_box > div > div {
	position: absolute;
	top: 0;
	background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0));
	width: 100%;
	height: 100%;
	padding: 1px;
	z-index: 2;
}
.top_contents_box > div:hover > div {
	background: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.1));
}
.top_contents_box > div:hover > div.product_box {
	background: rgba(0,0,0,0)
}
.top_contents_box > div > div > a {
	display: block;
	width: 100%;
	height: 100%;
	z-index: 3;
	color: #fff;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.top_contents_box > div > div > a > div {
	margin-top: -9px;
	padding: 0 10px;
	font-size: 70%;
	z-index: 3;
}
.top_contents_box > a {
	flex: 1 1 32%;
	min-width: 32%;
	height: 74px;
	margin: 5px;
	overflow: hidden;
	text-align: center;
	background-color: rgba(255,255,255,1.00);
}
	.top_contents_box > a > img {
		height: 74px;
	}
.top_contents_box h2 {
	border-left: none;
}
}
