/* CSS Document */
#catch{
	background-size: contain;
	position: relative;
}
#catch .inner{
	width: 100%;
	margin: auto;
	position: relative;
}
#catch .inner img {
    width: 100%;
    margin: 0 auto 0;
    list-style-type: none;
}
#catch .inner ul{
	width: 100%;
	margin: 30px auto 0;
	list-style-type: none;
	display: flex;justify-content:space-around;flex-wrap: wrap;
}
#catch .inner h2{
    text-align: center;
    font-size: 8vw;
    line-height: 1;

    font-weight: 300;
    color: #FFF;
    position: absolute;
    top: 43vw;
    margin: auto;
    left: 0;
    right: 0;
	
}
	#catch .inner h2::after{
	width: 0;
    content: "";
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 9vw;
    border-top: 40px solid #f6ac1a;
    border-right: 50px solid transparent;
    border-bottom: 50px solid transparent;
    border-left: 50px solid transparent;
    z-index: 1;
	}

#catch .inner ul li{
	width: 50%;
	z-index: 3;
}

#catch .inner ul li a{
	text-align: center;
	display: block;
	width: 90%;
	margin: auto;
	
}
#catch .inner ul li a img{
	width: 100%;
	display: block;
}
#catch .inner ul li a span{
	color: #666;
	font-size: 2rem;
	text-align: center;
	position: relative;
	display: inline-block;
}

#catch .inner ul li a span::before{
    content: "";
    width: 1.8rem;
    height: 1.8rem;
    background: url(/img/arrow.png);
    background-size: cover;
    color: #000;
    font-size: 1.6rem;
    text-align: center;
    position: absolute;
    display: block;
    margin: auto;
    left: -2.1rem;
    top: 0;
    bottom: 0;
}
.svg #catch .inner ul li a span::before{
    content: "";
    width: 1.8rem;
    height: 1.8rem;
    background: url(/img/arrow.svg);
    background-size: cover;
}

	#contents .inner{
		width: 100%;
		margin: auto;
		background: #fff;
		position: relative;
		padding: 30px 0;
	}

	#contents .inner .news{
		margin: 20px 10px;
		position: relative;
		border: 1px solid #505050;
	}
	#contents .inner .news h2{
		position: relative;
		background:#2b5796;
		color: #fff;
		padding:5px;
	}
	#contents .inner .news h2 span{
		height: 1em;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 2em;
		font-size: 1.8rem;
		line-height: 1;
	}
	#contents .inner .news dl{
		font-size: 1.4rem;
		display: inline-block;
		width: 90%;
		margin: 10px;
	}
	#contents .inner .news dt{
		width: 8em;
		display: inline-block;
		float: left;
		clear: left;
		line-height: 2;
	}
	#contents .inner .news dd.category{
		line-height: 2;
		float: left;
		clear: none;
	}
	#contents .inner .news dd{
		line-height: 2;
		float: left;		clear: left;
	}
	#contents .inner .news dd span{
		display: inline-block;
		width: 5em;
		line-height:1.25;
		font-size: 1.2rem;
		padding: 0.25rem;
		text-align: center;
		color: #fff;
		margin:0 .5em;
		border-radius: 2px;
	}
	#contents .inner a.frozen_bana{
	clear: both;
	display: block;
	margin: 10px;
}

	#contents .inner a.frozen_bana img{

	display: block;
	width: 100%;
}


#contents .blue{
	background: #2b5796;
    margin: 0 0;
}

#contents .blue .inner{
	width: 100%;
	margin: auto;
	background: #fff url(/img/map_bg.jpg) no-repeat center center;
	position: relative;
	padding: 0 0 0;
		background-size: 100% auto;
	height: 35vw;
}

#contents .blue .inner img{
	margin: auto;
	padding: 0;
	display: block;
	position: absolute;
	bottom: 0;
	top: 0;
	width: 100%;
}
#contents .blue .inner img.flow{
	margin: auto;
	padding: 0;
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	top: 0;
	width: 40%;
}
#contents .blue .inner img.text{
	margin: auto;
	padding: 0;
	display: block;
	position: absolute;
	bottom: auto;
	left: 1vw;
	top: 5vw;
	width: 65%;
}
.headline{
	display: flex;
	border: 1px solid #222;
	border-radius: 4px;margin: 0px 10px 10px;
}
.headline h2{
	width: 35%;
	flex-basis: 35%;
	max-width: 10em;
    border-radius: 4px 0 0 4px;
    color: #fff;
    background-color: #e3010c;
	position: relative;
}
.headline h2 span{
    position: absolute;
    height: 1em;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    font-size: 1.6rem;
    line-height: 1;
    right: 0;
    display: inline-block;
    text-align: center;
}
.headline div{
	flex-basis: 65%;
	padding: 10px;
	font-size: 1.4rem;
}

@media (min-width: 768px) {
.headline{
	display: flex;
	border: 1px solid #222;
	border-radius: 4px;margin: 20px 10px;
}
	#catch{
		position: relative;
		background-size: contain;
	}
	#catch .inner ul{
		width: 100%;
		margin: 30px auto 0;
		list-style-type: none;
		display: flex;justify-content:space-around;
	}
	#catch .inner h2{
		position: relative;
		text-align: center;
		font-size: 4rem;
		line-height: 1;
		margin: 10px 0;
		font-weight: 300;
		color: #a7a7a7;
		top: auto;

	}
	#catch .inner h2::after{
	width: 0;
    content: "";
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 4rem;
    border-top: 40px solid #f6ac1a;
    border-right: 50px solid transparent;
    border-bottom: 50px solid transparent;
    border-left: 50px solid transparent;
    z-index: 1;
	}
	#contents .inner a.frozen_bana{
	clear: both;
	display: block;
	margin: 10px 10px 30px;
}

	#catch .inner ul li{
		width: 25%;
	}

	#catch .inner ul li a{
		text-align: center;
		display: block;
	}
	#catch .inner ul li a img{
		display: block;
	}

	#catch .inner ul li a span::before{
		content: "";
		width: 1.8rem;
		height: 1.8rem;
		background: url(/img/arrow.png);
		background-size: cover;
		color: #000;
		font-size: 1.6rem;
		text-align: center;
		position: absolute;
		display: block;
		margin: auto;
		left: -2.1rem;
		top: 0;
		bottom: 0;
	}
	.svg #catch .inner ul li a span::before{
		content: "";
		width: 1.8rem;
		height: 1.8rem;
		background: url(/img/arrow.svg);
		background-size: cover;
	}

.frame {
  position: relative;
  width: 100%;
	height: 56.67vw;
}

#video {
  left: 0;

  width: 100%;
  position: absolute;
  top: 0;

  z-index: 1;
}





	#contents .inner{
		width: 100%;
		margin: auto;
		background: #fff;
		position: relative;
		padding: 30px 0;
	}

	#contents .inner .news{
		margin: 20px 10px;
		position: relative;
		border: 1px solid #505050;
		display: flex;
	}
	#contents .inner .news h2{
		width: 150px;
		position: relative;
		background: url(/img/news_h2.png) no-repeat left center;
		color: #fff;
		flex-basis:180px;
		background-size: 150px 100%;
		font-weight: 300;
	}
	#contents .inner .news h2 span{
		position: absolute;
		height: 1em;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 2em;
		font-size: 1.8rem;
		line-height: 1;
	}
	#contents .inner .news dl{
		font-size: 1.4rem;
		display: inline-block;
		width: 90%;
		margin: 10px;
	}
	#contents .inner .news dt{
		width: 8em;
		display: inline-block;
		float: left;
		clear: left;
		line-height: 2;
	}
	#contents .inner .news dd.category{
		line-height: 2;
		float: left;
		clear: none;
		width: 6em;
	}
	#contents .inner .news dd{
		line-height: 2;
		float: left;
		clear: none;
		width: -webkit-calc(100% - 14em);
		width: calc(100% - 14em);
	}
	#contents .inner .news dd span{
		display: inline-block;
		width: 5em;
		line-height:1.25;
		font-size: 1.2rem;
		padding: 0.25rem;
		text-align: center;
		color: #fff;
		margin:0 .5em;
		border-radius: 2px;
	}
	#contents .blue .inner{
		width: 100%;
		margin: auto;
		background: #fff url(/img/map_bg.jpg) no-repeat center center;
		position: relative;
		padding: 0 0 0;
		
		height: 38vw;
	}

	#contents .blue .inner img{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		top: 0;
	}
	#contents .blue .inner img.flow{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		right: 0;
		top: 0;
		width: 48%;
	}
	#contents .blue .inner img.text{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		left: 20px;
		top: 0;
		width: 55%;
	}



}
@media (min-width: 1040px) {
	.headline{
		
		display: flex;
		border: 1px solid #222;
		border-radius: 4px;margin: 20px;
	}
	#catch{
		position: relative;
		height: 875px;
				background: url(/img/catch/index/index.jpg) no-repeat center top;
	}
	#catch.video{
		position: relative;
		height: 875px;
		background: url(/img/catch/index/index_bg.png) no-repeat center top;
		z-index: 1;
	}
	#catch .inner{
		width: 1040px;
		margin: auto;
		height: 300px;
		background: rgba(255,255,255,0.90);
		position: absolute;
		bottom: 0;
		left: 0;right: 0;
		padding: 0;
	}
	#catch .inner ul{
		width: 1040px;
		margin: 30px auto 0;
		list-style-type: none;
		display: flex;justify-content:space-around;
	}
	#catch .inner h2{
		position: relative;
		text-align: center;
		font-size: 5rem;
		line-height: 1;
		margin: 10px 0 0;
		font-weight: 300;
		color: #a7a7a7;
		top: auto;
	}
	#catch .inner h2::after{
	width: 0;
    content: "";
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: 6rem;
    border-top: 40px solid #f6ac1a;
    border-right: 50px solid transparent;
    border-bottom: 50px solid transparent;
    border-left: 50px solid transparent;
    z-index: 1;
	}
	#contents .inner a.frozen_bana{
	clear: both;
	display: block;
	margin: 10px 20px 30px;
}

	#catch .inner ul li{
		width: auto;
	}

	#catch .inner ul li a{
		text-align: center;
		display: block;
	}
	#catch .inner ul li a img{
		display: block;
	}

	#catch .inner ul li a span::before{
		content: "";
		width: 1.8rem;
		height: 1.8rem;
		background: url(/img/arrow.png);
		background-size: cover;
		color: #000;
		font-size: 1.6rem;
		text-align: center;
		position: absolute;
		display: block;
		margin: auto;
		left: -2.1rem;
		top: 0;
		bottom: 0;
	}
	.svg #catch .inner ul li a span::before{
		content: "";
		width: 1.8rem;
		height: 1.8rem;
		background: url(/img/arrow.svg);
		background-size: cover;
	}








	#contents .inner{
		width: 1040px;
		margin: auto;
		background: #fff;
		position: relative;
		padding: 30px 0;
	}

	#contents .inner .news{
		width: 1000px;
		margin: 20px auto;
		position: relative;
		border: 1px solid #505050;
		display: flex;
	}
	#contents .inner .news h2{
		width: 150px;
		position: relative;
		background: url(/img/news_h2.png) no-repeat left center;
		color: #fff;
		flex-basis:180px;
		background-size: 150px 100%;
		font-weight: 300;
	}
	#contents .inner .news h2 span{
		position: absolute;
		height: 1em;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 2em;
		font-size: 1.8rem;
		line-height: 1;
	}
	#contents .inner .news dl{
		font-size: 1.4rem;
		display: inline-block;
		width: 90%;
		margin: 10px;
	}
	#contents .inner .news dt{
		width: 8em;
		display: inline-block;
		float: left;
		clear: left;
		line-height: 2;
	}
	#contents .inner .news dd{
		line-height: 2;
		float: left;
	}
	#contents .inner .news dd span{
		display: inline-block;
		width: 5em;
		line-height:1.25;
		font-size: 1.2rem;
		padding: 0.25rem;
		text-align: center;
		color: #fff;
		margin:0 .5em;
		border-radius: 2px;
	}
	#contents .blue{
		background: #2b5796;
		margin: 0 0;
	}

	#contents .blue .inner{
		width: 1040px;
		margin: auto;
		background: #fff url(/img/map_bg.jpg) no-repeat center center;
		position: relative;
		padding: 0 0 0;
		height: 380px;
	}

	#contents .blue .inner img{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		top: 0;
	}
	#contents .blue .inner img.flow{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		right: 0;
		top: 0;
		width: 445px;
	}
	#contents .blue .inner img.text{
		margin: auto;
		padding: 0;
		display: block;
		position: absolute;
		bottom: 0;
		left: 20px;
		top: 0;
		width: 550px;
	}
}
#video2{
	margin: auto;
	width: 100%;
	max-width: 1680px;
	position: absolute;	
	top: 0;
	left: 0;
overflow: hidden;
height: 874px;	right: 0;
}
#video2 video{
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	right: 0;
	position: absolute;
	margin: auto;
	z-index: -1;
	width: 1680px !important;
	height: 874px !important;
}
#video2 iframe{
	top: -103px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	right: 0;
	position: absolute;
	margin: auto;
	z-index: -1;
	width: 1680px !important;
	height: 974px !important;
}
