@charset "utf-8";
/* CSS Document */

/* NotoSans読込 */

@font-face {
  font-family: "GenJyuuGothic-Medium";
  font-style: normal;
  src: url("../font/GenJyuuGothic-Medium.woff") format("woff");
}

/* clearfix */

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

/* 画像センタリング */

.cr {margin:0 auto;}

/* FireFoxFadeブレ防止 */

img { display:block; box-shadow: #000 0 0 0; }

/* 全体・枠作り */

html,body {
}

html {
	font-size:62.5%;
}

img { display:block; }

/* ページロード */

#pageloading-wrap {
   background: #ffffff;
   width: 100%;
   height: 100%;
   position: fixed;
   top: 0;
   left: 0;
   text-align: center;
   display: table;
   z-index: 1000;
}

#pageloading-icon {
   display: table-cell;
   vertical-align: middle;
}

/* 点滅 */
.blinking{
    animation:blink 1s infinite alternate;
}

@keyframes blink{
  0% {opacity:1;}
100% {opacity:0.2;}
}


body {
	font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, sans-serif;
	text-align:center;
	min-width: 1140px;
	min-height: 100vh;
	font-size: 1.0rem;
	overflow-x: hidden;
}

#PageWrapper {
	min-width:1140px;
	min-height: 100%;
	height: auto !important;
	height: 100%;
	position: relative;
	width:100%;
	overflow-x:hidden;
}

#Sidebar {
	width:40px;
	height:100vh;
	background-color:#581c1c;
	position: fixed;
	left:0;
	top:0;
	z-index:500;
}

.sidebar_wrap {
	width:40px;
	height:100vh;
	position: relative;
	background:url("../img/sideline.png") center center no-repeat;
}

.menu-btn {
	display: block;
	width:40px;
	height:40px;
	position: absolute;
	left:0;
	top:0;
	background-color:#c20404;
	z-index:10;
	cursor: pointer;
	transition: all .5s;
}

.menu-btn:after {
	content: "";
	background:url("../img/smenu_1.png") left top no-repeat;
	width:40px;
	height:40px;
	position: absolute;
	left:0;
	top:0;
	transition: all .5s;
}

.open .menu-btn:after {
	background:url("../img/smenu_2.png") left top no-repeat;
	transition: all .5s;
}

#Slidemenu {
	width:290px;
	height:100vh;
	background-color:#2f2f2f;
	position: fixed;
	left:0;
	top:0;
	opacity: 0;
	visibility: hidden;
	transition: all .5s;
	z-index:400;
	margin-left:-250px;
}

.open #Slidemenu {
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility: visible;
	opacity: 1;
	margin:0;
}

#Slidemenu ul li {
	display: block;
	width:250px;
	height:100px;
	background:#fff;
	margin-left:40px;
}

#Slidemenu ul li a {
	display: block;
	width:250px;
	height:100px;
	transition: all 0.3s;
}

#Slidemenu ul li em {
	display: block;
	width:250px;
	height:100px;
}

#Slidemenu ul li a:hover {
	opacity: 0.6;
}

#Slidemenu ul li.smenu00 a {background:url("../img/smenu00.png") left top no-repeat; background-size:contain;}
#Slidemenu ul li.smenu01 a {background:url("../img/smenu01.png") left top no-repeat; background-size:contain;}
#Slidemenu ul li.smenu02 a {background:url("../img/smenu02.png") left top no-repeat; background-size:contain;}
#Slidemenu ul li.smenu03 em {background:url("../img/smenu03.png") left top no-repeat; background-size:contain;}
#Slidemenu ul li.smenu04 em {background:url("../img/smenu04.png") left top no-repeat; background-size:contain;}

.pageup {
	background:url("../img/scroll.png") left top no-repeat;
	width:40px;
	height:160px;
	position: absolute;
	left:0;
	bottom:0;
}

a.upbt {
	display: block;
	width:40px;
	height:40px;
	position: absolute;
	left:0;
	bottom:0;
	background-color:#c20404;
	z-index:10;
}

.pageup a:after {
	content: "";
	width:40px;
	height:40px;
	display: block;
	position: absolute;
	left:0;
	bottom:0;
	background:url("../img/upbt.png") left top no-repeat;
	z-index:15;
}

#Contents {
	width:calc(100% - 40px);
	margin-left:40px;
	position: relative;
}

#Mainvisual {
	background:url("../img/mainvisual.jpg") center top no-repeat;
	width:100%;
	padding-top:56.25%;
	position: relative;
	background-size:100%;
}

.share {
	position: absolute;
	top:12px;
	right:50%;
	margin-right:-500px;
	width:120px;
	height:32px;
	display: flex;
	justify-content: space-between;
}

.share a {
	width:30px;
	height:30px;
	border:1px solid #fff;
	display: block;
	transition: all 0.3s;
	background-color:#fff;
}

.share a img {
	width:100%;
	display: block;
	transition: all 0.3s;
}

.share a:hover img {
	opacity: 0.6;
}

#Menu {
	width:100%;
	height:100px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#c20404+0,9e0404+100 */
	background: #c20404; /* Old browsers */
	background: -moz-linear-gradient(top,  #c20404 0%, #9e0404 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #c20404 0%,#9e0404 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #c20404 0%,#9e0404 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c20404', endColorstr='#9e0404',GradientType=0 ); /* IE6-9 */

}

.menu_wrap {
	width:1000px;
	height:100px;
	margin:0 auto;
}

.menu_wrap ul {
	display: flex;
}

.menu_wrap ul li {
	display: block;
	width:250px;
	height:100px;
}

.menu_wrap ul li a {
	display: block;
	width:250px;
	height:100px;
	position: relative;
	transition: all 0.3s;
}

.menu_wrap ul li a:before {
	content: "";
	display: block;
	width:250px;
	height:100px;
	position: absolute;
	left:0;
	top:0;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ff5151+0,c40505+100 */
background: #ff5151; /* Old browsers */
background: -moz-linear-gradient(top,  #ff5151 0%, #c40505 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #ff5151 0%,#c40505 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #ff5151 0%,#c40505 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff5151', endColorstr='#c40505',GradientType=0 ); /* IE6-9 */
	opacity: 0;
	transition: all 0.3s;
}

.menu_wrap ul li a:hover:before {
	opacity: 1;
}

.menu_wrap ul li em {
	display: block;
	width:250px;
	height:100px;
	position: relative;
}

.menu_wrap ul li a:after {
	content: "";
	display: block;
	width:250px;
	height:100px;
	position: absolute;
	left:0;
	top:0;
}

.menu_wrap ul li em:after {
	content: "";
	display: block;
	width:250px;
	height:100px;
	position: absolute;
	left:0;
	top:0;
}

li.menu01 a:after {background:url("../img/menu01.png") left top no-repeat;}
li.menu02 a:after {background:url("../img/menu02.png") left top no-repeat;}
li.menu03 em:after {background:url("../img/menu03.png") left top no-repeat;}
li.menu04 em:after {background:url("../img/menu04.png") left top no-repeat;}

#Greeting {
	width:1000px;
	margin:0 auto;
	box-sizing: border-box;
	padding:60px 0 120px;
}

#Greeting h3 {
	background:url("../img/head_greeting.png") left top no-repeat;
	width:490px;
	height:121px;
	margin:0 auto 80px;
	text-indent: -9999px;
	overflow: hidden;
}

.greeting_topic {
	background:url("../img/greeting_topic.png") left top no-repeat;
	width:1000px;
	height:80px;
	margin-bottom:24px;
}

#Greeting p {
	width:1000px;
	margin:0 auto 80px;
	display: block;
	text-align: left;
	line-height: 1.8;
	color:#373737;
	font-size:2rem;
}

.next {
	background:url("../img/index_next.jpg") center center no-repeat;
	max-width: 1200px;
	min-width: 1000px;
	margin:0 auto;
	background-size:cover;
}

.next a {
	display:block;
	width:100%;
	padding-top:83.33%;
	background:#fff;
	opacity: 0;
	transition: all 0.3s;
}

.next a:hover {
	opacity: 0.4;
}

#Topics {
	width:100%;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#400707+0,360000+100 */
	background: #400707; /* Old browsers */
	background: -moz-linear-gradient(top,  #400707 0%, #360000 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #400707 0%,#360000 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #400707 0%,#360000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#400707', endColorstr='#360000',GradientType=0 ); /* IE6-9 */
}

.topics_wrap {
	width:100%;
	padding:60px 0 120px;
	background:url("../img/topics_pt.png") left top repeat;
}

#Topics h3 {
	background:url("../img/head_topics.png") left top no-repeat;
	width:490px;
	height:121px;
	margin:0 auto 80px;
	text-indent: -9999px;
	overflow: hidden;
}

.topics_wrap ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width:1240px;
	min-width:1140px;
	margin:0 auto;
	box-sizing: border-box;
	padding:0 20px;
}

.topics_wrap ul::before{
  content:"";
  display: block;
  width:250px;
  order:1;
}

.topics_wrap ul::after{
  content:"";
  display: block;
  width:250px;
}

.topics_wrap ul li {
	display: block;
	width:250px;
	margin-bottom:80px;
}

.topics_wrap ul li:nth-last-child(-n+4) {
	margin-bottom:0!important;
}

.topics_wrap ul li figure a {
	width:250px;
	display: block;
	background-color:#fff;
	cursor: pointer;
}

.topics_wrap ul li figure a img {
	transition: all 0.3s;
}

.topics_wrap ul li figure a:hover img {
	opacity: 0.6;
}

.topics_wrap ul li figure figcaption {
	width:100%;
	box-sizing:border-box;
	padding:8px;
	background:#fff;
	border-radius: 0 0 5px 5px;
}

.tp_title {
	border-bottom:1px solid #390606;
	text-align: left;
	font-size:1.6rem;
	color:#390606;
	height:24px;
	padding-bottom:8px;
}

.tp_title span {
	width:110px;
	height:24px;
	display:block;
	float:left;
	margin-right:8px;
}

.tag01 {background:url("../img/topics/tag01.png") left top no-repeat;}
.tag02 {background:url("../img/topics/tag02.png") left top no-repeat;}

.tp_title em {
	font-weight: bold;
}

.izimodal_wrap {
	width:100%;
	padding-bottom:24px;
	position: relative;
}

.izimodal_wrap img {
	width:100%;
}

.izimodal_wrap p {
	width:100%;
	font-size:1.5rem;
	color:#390606;
	text-align: left;
	box-sizing: border-box;
	padding:24px;
}

.izimodal_wrap a {
	display: block;
	width:250px;
	line-height: 40px;
	border:1px solid #390606;
	font-size:1.5rem;
	margin:0 auto;
	text-decoration: none;
	color:#390606;
	transition: all 0.3s;
}

.izimodal_wrap a:hover {
	background-color:#390606;
	color:#fff;
}

.topics_wrap ul li figure figcaption p {
	font-size:1.5rem;
	color:#390606;
	background:url("../img/topics/topics_line.png") left top repeat;
	text-align: left;
	line-height: 28px;
	min-height: 168px;
}

#Information {
	background-color:#f7f7f7;
	padding:60px 0 120px;
}

#Information h3 {
	background:url("../img/head_information.png") left top no-repeat;
	width:490px;
	height:121px;
	margin:0 auto 80px;
	text-indent: -9999px;
	overflow: hidden;
}

#Information ul {
	width:1000px;
	margin:0 auto;
}

#Information ul li {
	width:1000px;
	height:100px;
	background:#fff;
	display: block;
	box-sizing: border-box;
	padding:10px;
	margin-bottom:24px;
}

#Information ul li:last-child {
	margin-bottom:80px!important;
}

.infoblock {
	border:1px solid #5d0d0d;
	box-sizing: border-box;
	width:980px;
	height:80px;
	display: flex;
}

.day {
	width:190px;
	height:50px;
	margin-top:15px;
	border-right:1px solid #5d0d0d;
	text-align: center;
	font-size:1.8rem;
	font-weight: bold;
	color: #5d0d0d;
}

.day p {
	width:190px;
	height:50px;
	display: table-cell;
	vertical-align: middle;
}

.infotxt {
	width:789px;
	height:50px;
	margin-top:15px;
	text-align: left;
	box-sizing: border-box;
	padding-left:40px;
	padding-right:40px;
	font-size:1.6rem;
	color: #5d0d0d;
}

.infotxt p {
	width:709px;
	height:50px;
	display: table-cell;
	vertical-align: middle;
}

.infotxt p a {
	color:#ef637c;
	text-decoration: none;
}

.infotxt p a:hover {
	text-decoration: underline;
}

.more {
	background:url("../img/more_a.png") left top no-repeat;
	width:300px;
	height:60px;
	margin:0 auto;
}

.more a {
	display: block;
	background:url("../img/more_b.png") left top no-repeat;
	width:300px;
	height:60px;
	opacity: 0;
	transition: all 0.3s;
}

.more a:hover {
	opacity: 1;
}

footer {
	width:100%;
	height:360px;
	background:url("../img/foot_bg.jpg") center center repeat;
	box-sizing: border-box;
	padding-top:36px;
}

.foot_logo {
	background:url("../img/foot_logo.png") left top no-repeat;
	width:213px;
	height:179px;
	margin:0 auto 40px;
}

.foot_banner {
	width:200px;
	height:40px;
	background-color:#fff;
	margin:0 auto 16px;
}

.foot_banner a img {
	transition: all 0.3s;
}

.foot_banner a:hover img {
	opacity: 0.6;
}

.copyright {
	color:#fff;
	text-align: center;
	font-size:1.4rem;
}

#Next {
	width:100%;
	margin:0 auto;
	box-sizing: border-box;
	padding:60px 0 120px;
	min-height: 75vh;
}

#Next h3 {
	background:url("../img/head_next.png") left top no-repeat;
	width:490px;
	height:121px;
	margin:0 auto 80px;
	text-indent: -9999px;
	overflow: hidden;
}

.nextbanner {
	max-width:1240px;
	min-width: 1040px;
	box-sizing: border-box;
	padding:0 20px;
	margin:0 auto;
	position: relative;
}

.next_red {
	background:url("../img/next_red.jpg") center top no-repeat;
	width:960px;
	height:140px;
	position: absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	z-index:50;
}

.nextbanner ul {
	width:100%;
	display: flex;
}

.nextbanner ul li {
	width:25%;
	position: relative;
	overflow: hidden;
}

.nextbanner ul li a {
	width:100%;
	display: block;
	text-decoration: none;
}

.nextbanner ul li em {
	width:100%;
	display: block;
}

.nextbanner ul li figure {
	width:100%;
	padding-top:200%;
	position: relative;
}

.nextbanner ul li.next01 figure {background:url("../img/next01.jpg") left top no-repeat;background-size:contain;}
.nextbanner ul li.next02 figure {background:url("../img/next02.jpg") left top no-repeat;background-size:contain;}
.nextbanner ul li.next03 figure {background:url("../img/next03.jpg") left top no-repeat;background-size:contain;}
.nextbanner ul li.next04 figure {background:url("../img/next04.jpg") left top no-repeat;background-size:contain;}
.nextbanner ul li.next05 figure {background:url("../img/next05.jpg") left top no-repeat;background-size:contain;}
.nextbanner ul li.next06 figure {background:url("../img/next06.jpg") left top no-repeat;background-size:contain;}
.nextbanner ul li.next07 figure {background:url("../img/next07.jpg") left top no-repeat;background-size:contain;}
.nextbanner ul li.next08 figure {background:url("../img/next08.jpg") left top no-repeat;background-size:contain;}

.nextbanner ul li a figcaption {
	width:100%;
	background-color:rgba(0,0,0,0.7);
	color:#fff;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	font-size:1.7rem;
	line-height: 1.8;
	text-align: left;
	transition: all .3s;
	margin-top:0;
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
	padding:20px;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
}

.nextbanner ul li a:hover figcaption {
	opacity: 1;
	visibility: visible;
}