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

/* NotoSans読込 */

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

/* 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;
	font-size: 1.0rem;
	overflow-x: hidden;
}

#PageWrapper {
	position: relative;
	width:100%;
}

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

.open .menu-btn {
	margin-left:250px;
}

.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:250px;
	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;
}

#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;}


a.upbt {
	display: block;
	width:40px;
	height:40px;
	position: fixed;
	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:100%;
	position: relative;
}

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

.share {
	position: absolute;
	bottom:-60px;
	right:50%;
	margin-right:-75px;
	width:150px;
	display: flex;
	justify-content: space-between;
}

.share a {
	width:40px;
	height:40px;
	border-left:1px solid #fff;
	border-right:1px solid #fff;
	border-bottom: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 {
	display: none;

}

#Greeting {
	width:100%;
	margin:0 auto;
	box-sizing: border-box;
	padding:20% 0 20%;
}

#Greeting h3 {
	background:url("../img/head_greeting.png") center top no-repeat;
	width:90%;
	padding-top:22.23%;
	background-size:contain;
	margin:0 auto 10%;
	text-indent: -9999px;
	overflow: hidden;
}

.greeting_topic {
	background:url("../img/greeting_topic_mb.png") left top no-repeat;
	width:100%;
	padding-top:18.3%;
	background-size:contain;
	margin-bottom:10%;
}

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

.next {
	background:url("../img/index_next_mb.jpg") center center no-repeat;
	width: 92%;
	margin:0 auto;
	background-size:contain;
}

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

#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") center top no-repeat;
	width:90%;
	padding-top:22.23%;
	background-size:contain;
	margin:0 auto 10%;
	text-indent: -9999px;
	overflow: hidden;
}

.topics_wrap ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width:92%;
	margin:0 auto;
}

.topics_wrap ul li {
	display: block;
	width:48%;
	margin-bottom:10%;
	position: relative;
}

.topics_wrap ul li figure a {
	width:100%;
	display: block;
	background-color:#fff;
}

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

.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 {
	background:url("../img/topics/tag01.png") left top no-repeat;
	width:110px;
	height:24px;
	display:block;
	position: absolute;
	left:8px;
	top:8px;
}

.tp_title em {
	font-weight: bold;
}

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

.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;
}

.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;
}

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

#Information h3 {
	background:url("../img/head_information.png") center top no-repeat;
	width:90%;
	padding-top:22.23%;
	background-size:contain;
	margin:0 auto 10%;
	text-indent: -9999px;
	overflow: hidden;
}

#Information ul {
	margin:0 auto;
}

#Information ul li {
	width:92%;
	background:#fff;
	display: block;
	box-sizing: border-box;
	padding:10px;
	margin:0 auto 3%;
	position: relative;
}

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

.infoblock {
	border:1px solid #5d0d0d;
	box-sizing: border-box;
	width:100%;
	padding:10px;
}

.day {
	border-bottom:1px solid #5d0d0d;
	text-align: center;
	font-size:1.8rem;
	font-weight: bold;
	color: #5d0d0d;
	padding-bottom:10px;
}

.day p {
	display: table-cell;
	vertical-align: middle;
}

.infotxt {
	margin-top:10px;
	text-align: left;
	box-sizing: border-box;
	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") center top no-repeat;
	width:90%;
	padding-top:22.23%;
	background-size:contain;
	margin:0 auto 10%;
	text-indent: -9999px;
	overflow: hidden;
}

.nextbanner {
	max-width:94%;
	margin:0 auto;
	position: relative;
}

.next_red {
	background:url("../img/next_red.jpg") center top no-repeat;
	width:100%;
	padding-top:14.6%;
	background-size:cover;
	position: relative;
}

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

.nextbanner ul li {
	width:50%;
	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 {
	display: none;
}