/* CSS Document */
/************************ common *****************************/

h2{
	text-align:center;
	font-size:30px;
	color:#262626;
	font-weight:500;
	letter-spacing:3px;
	position:relative;
}

h2:before{
	content:"";
	display:block;
	background:url(../images/common/bg_ttl.png) no-repeat left top;
	background-size:64px 9px;
	width:64px;
	height:9px;
	position:absolute;
	left:50%;
	margin-left:-32px;
	bottom:-22px;
	transform: scaleX(0);
	transition: all 0.4s;
}

h2.active:before{
	transform: scaleX(1);
}

.base_ttl:before{
	display:none;
}

.base_ttl{
	width:175px;
	height:175px;
	background:url(../images/common/bg_ttl2.png) no-repeat left top;
	background-size:cover;
	text-align:center;
	font-size:25px;
	color:#ffffff;
	font-weight:normal;
	box-sizing:border-box;
	padding-top:70px;
	position:absolute;
	left:50px;
	top:-90px;
}

.base_ttl.base_ttl_new{
	width:250px;
	height:80px;
	background:url(../images/common/bg_ttl2_new.png) no-repeat left top;
	background-size:cover;
	text-align:center;
	font-size:30px;
	color:#ffffff;
	font-weight:normal;
	box-sizing:border-box;
	padding-top:20px;
	position:absolute;
	left:50px;
	top:-110px;
}

.base_ttl.long{
	padding-top:55px;
	padding-left:30px;
	text-align:left;
	line-height: 1.48;
}

.base_ttl span{
	font-weight:bold;
}

.base_ttl2{
	text-align:center;
	margin-top:80px;
	font-size:20px;
	color:#ffffff;
	position:relative;
}

.base_ttl2.black2{
	color:#262626;
}

.base_ttl2:after{
	content:"";
	display:block;
	background:url(../images/common/bg_ttl.png) no-repeat left top;
	background-size:64px 9px;
	width:64px;
	height:9px;
	position:absolute;
	left:50%;
	margin-left:-32px;
	bottom:-15px;
	transform: scaleX(0);
	transition: all 0.4s;
}

.bold {
	font-weight: bold;
}

.base_ttl2.active:after{
	transform: scaleX(1);
}

.base_ttl2.black:after{
	background:url(../images/common/bg_ttl_b.png) no-repeat left top;
	background-size:64px 9px;
}

.base_ttl2.black2:after{
	background:url(../images/common/bg_ttl_b2.png) no-repeat left top;
	background-size:64px 9px;
}

.base_ttl2.futura,
.base_ttl.futura{
	letter-spacing:3px;
}

.menu_block01.menu_block02 h3:after{
	background:url(../images/menu/bg_ttl_white.png) no-repeat left top;
	background-size:64px 9px;
}

@media screen and (max-width: 768px) {
	h2{
		font-size:6.5vw;
	}

	h2:before{
		content:"";
		display:block;
		background:url(../images/common/bg_ttl.png) no-repeat left top;
		background-size:100% auto;
		width:15vw;
		height:8vw;
		position:absolute;
		left:50%;
		margin-left:-7.5vw;
		bottom:-11vw;
	}

	.base_ttl:before{
		display:none;
	}

	.base_ttl{
		width:30vw;
		height:30vw;
		background:url(../images/common/bg_ttl2.png) no-repeat left top;
		background-size:cover;
		font-size:5.8vw;
		box-sizing:border-box;
		padding-top:11vw;
		position:absolute;
		left:5vw;
		top:-15vw;
		/*margin-top:5% !important;*/
	}

	.base_ttl.base_ttl_new{
		width:40vw;
		height:15vw;
		background:url(../images/common/bg_ttl2_new.png) no-repeat right bottom;
		background-size:cover;
		font-size:6.5vw;
		color:#ffffff;
		font-weight:normal;
		box-sizing:border-box;
		padding-top:3%;
	}

	.base_ttl.long{
		padding-top:10vw;
		padding-left:2%;
		text-align:left;
		line-height: 1.48;
	}

	.base_ttl span{
		font-weight:bold;
	}

	.base_ttl2{
		text-align:center;
		margin-top:10%;
		font-size:7vw;
	}

	.base_ttl2:after{
		content:"";
		display:block;
		background:url(../images/common/bg_ttl.png) no-repeat left top;
		background-size:100% auto;
		width:15vw;
		height:8vw;
		position:absolute;
		left:50%;
		margin-left:-7.5vw;
		bottom:-11vw;
	}

	.base_ttl2.black:after{
		background:url(../images/common/bg_ttl_b.png) no-repeat left top;
		background-size:100% auto;
	}

	.base_ttl2.black2:after{
		background:url(../images/common/bg_ttl_b2.png) no-repeat left top;
		background-size:100% auto;
	}

	.base_ttl2.futura,
	.base_ttl.futura{
		letter-spacing:3px;
	}

	.menu_block01.menu_block02 h3:after{
		background:url(../images/menu/bg_ttl_white.png) no-repeat left top;
		background-size:100% auto;
	}
}

/************************ /common *****************************/

/************************ top *****************************/


#main{
	width:100%;
	height:calc(100vh - 80px);
	/*background:url(../images/top/main.png) no-repeat center top;
	background-size:cover;*/
	position:relative;
}

#main > ul > li{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	background:url(../images/top/top_mv01.jpg) no-repeat center top;
	background-size:cover;
	transition: all 1.5s;
	opacity:0;
}

#main > ul > li:nth-child(2){
	background:url(../images/top/top_mv02.jpg) no-repeat center top;
	background-size:cover;
}

#main > ul > li:nth-child(3){
	background:url(../images/top/top_mv03.jpg) no-repeat center top;
	background-size:cover;
}

#main > ul > li.active{
	opacity:1;
}

#main .news{
	position:absolute;
	right:30px;
	bottom:30px;
	width:490px;
}

#main .news h3{
	font-size:18px;
	color:#ffffff;
	font-weight:normal;
}

#main .news .inner{
	margin-top:10px;
	background:#FFF;
	padding:10px 25px;
	position:relative;
}

#main .news .inner ul{
	height:22px;
	overflow:hidden;
}

#main .news .inner .news_l{
	position:absolute;
	left:10px;
	top:14px;
}

#main .news .inner .news_r{
	position:absolute;
	right:10px;
	top:14px;
}


#main .news .inner a{
	text-decoration:none;
}

#main .news .inner a .date{
	width:100px;
	float:left;
	font-size:13px;
	color:#262626;
}

#main .news .inner a .ttl{
	width:340px;
	float:right;
	font-size:13px;
	color:#262626;
	overflow:hidden;
	height:20px;
}

.top_block01{
	padding:80px 0 160px;
	background:url(../images/top/tpo_block01_bg01.jpg) no-repeat center top;
	background-size:cover;
}

.top_block01 h3{
	text-align:center;
	font-size:23px;
	color:#950012;
	margin-top:55px;
}

.top_block01 .txt01{
	font-size: 17px;
	color: rgb(0, 0, 0);
	line-height: 1.882;
	text-align: center;
	margin-top:60px;
}

.top_block01 .txt01.txt02{
	margin-top:25px;
}

.top_block01 .txt01.txt02 span{
	/*font-size:23px;*/
	color:#950012;
	font-weight:bold;
}

.top_block02{
	padding-bottom:150px;
	background:url(../images/top/bg_block02.png) no-repeat center bottom #262626;
	background-size:contain;
	width:100%;
}

.top_block02 .top_block02_inner{
	width:100%;
	margin:0 auto;
	position:relative;
	padding-top:40px;
}

.top_block02 .txt01,
.top_block03 .txt01{
	font-size:18px;
	color:#FFF;
	text-align:center;
	line-height: 1.556;
	/*margin-left:250px;*/
}

.top_block03 .txt01{
	color:#262626;
}

.top_block02 .txt02{
	font-size: 14px;
	color: rgb(255, 255, 255);
	line-height: 1.571;
	text-align: center;
	margin-top:45px;
}

.top_block02 .txt02 span{
	font-weight:bold;
	display:block;
	font-size:16px;
	margin-bottom:5px;
}

.top_block02 ul{
	margin-top:30px;
	text-align:center;
}

.top_block02 ul li{
	display:inline-block;
	margin-right:20px;
}

.top_block02 ul li:last-child{
	margin-right:0;
}

.top_block02 ul li p{
	text-align:center;
	font-size:18px;
	color:#ffffff;
	margin-top:25px;
}

.top_block03{
	padding:35px 0 90px;
	background:#eeeeee;
}

.top_block03 .top_block03_inner{
	width:1190px;
	margin:0 auto;
	position:relative;
	padding-top:40px;
}

.top_block03_inner .inner{
	margin:80px auto 0;
	width:1100px;
	position:relative;
}

.top_block03_inner .inner.mt{
	margin-top:140px;
}

.top_block03_inner .inner .inner_l{
	margin-left:30px;
}

.top_block03_inner .inner .inner_l a,
.top_block03 ul li a{
	display:block;
	font-size:16px;
	color:#ffffff;
	font-weight:bold;
	width:260px;
	padding:13px 0 11px 28px;
	box-sizing:border-box;
	background:#262626;
	text-decoration:none;
	position:relative;
	margin-top:30px;
}

.top_block03 ul li a{
	text-align:center;
	padding-left:0;
	margin:30px auto 0;
}

.top_block03_inner .inner .inner_l a:before,
.top_block03 ul li a:before{
	content:"";
	display:block;
	background:url(../images/top/block03_icon01.png) no-repeat left top;
	background-size:8px 15px;
	width:8px;
	height:15px;
	position:absolute;
	left:11px;
	top:50%;
	margin-top:-7px;
	transition: all 0.4s;
}

.top_block03_inner .inner .inner_l a:hover:before{
	left:16px;
}

.top_block03 ul li a:before{
	left:50px;
}

.top_block03 ul li a:hover:before{
	left:55px;
}

.top_block03_inner .inner .inner_l h3{
	color:#950012;
	width:65px;
}


.top_block03_inner .inner .inner_l .txt_block{
	background-color: rgb(149, 0, 18);
	width: 600px;
	z-index: 178;
	box-sizing:border-box;
	padding:35px 85px 35px 45px;
	margin-top:60px;
}

.top_block03_inner .inner .inner_l .txt_block h4{
	font-size:18px;
	color:#ffffff;
}

.top_block03_inner .inner .inner_l .txt_block p{
	font-size: 14px;
	color: rgb(255, 255, 255);
	line-height: 1.571;
	margin-top:15px;
}

.top_block03_inner .inner .inner_r{
	position:absolute;
	right:0;
	top:-10px;
}

.top_block03_inner .inner.mt .inner_r{
	top:-60px;
}

.top_block03_inner .inner.right_box .inner_l{
	float:right;
}

.top_block03_inner .inner.right_box .inner_l .txt_block{
	width:670px;
	padding-left:110px;
	padding-right:60px;
}

.top_block03_inner .inner.right_box .inner_r{
	right:auto;
	left:0;
}

.top_block03_inner .inner.right_box .inner_l h3,
.top_block03_inner .inner.right_box .inner_l a{
	float:right;
}

.top_block03 ul{
	flex-wrap: wrap;
	margin-top: 130px;
    text-align: center;
    display: flex;
    justify-content: center;
}

.top_block03 ul li{
	display:inline-block;
	text-align:center;
}

.top_block03 ul li:nth-child(1){
	margin-right:55px;
}
.top_block03 ul li:nth-child(2){
	margin-right:45px;
}

.top_block03 ul li h4{
	color:#950012;
}

.top_block03 ul li .image{
	margin-top:50px;
}

.top_block04{
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

.top_block04_inner{
	width:100%;
	margin:100px auto 0;
}

.top_block04_inner h3,
.top_block05_inner h3{
	color:#262626;
	width:130px;
}

.top_block04_inner ul{
	margin-top:35px;
	width:500px;
}

.top_block04_inner ul li{
	padding:25px 0 10px 40px;
	border-bottom:solid 1px #262626;
}

.top_block04_inner ul li h4{
	font-size:16px;
	color:#262626;
	position:relative;
}

.top_block04_inner ul li p{
	font-size:16px;
	color:#262626;
}

.top_block04 #map{
	width:640px;
	height:450px;
	position:absolute;
	right:0;
	bottom:0;
}

.top_block04_inner ul li h4:before{
	content:"";
	display:block;
	left:-40px;
}

.top_block04_inner ul li:nth-child(1) h4:before{
	background:url(../images/top/block04_icon01.png) no-repeat left top;
	background-size:25px 18px;
	position:absolute;
	width:25px;
	height:18px;
}

.top_block04_inner ul li:nth-child(2) h4:before{
	background:url(../images/top/block04_icon02.png) no-repeat left top;
	background-size:30px 14px;
	position:absolute;
	width:30px;
	height:14px;
}

.top_block04_inner ul li:nth-child(3) h4:before{
	background:url(../images/top/block04_icon03.png) no-repeat left top;
	background-size:30px 15px;
	position:absolute;
	width:30px;
	height:15px;
}

.top_block04_inner ul li:nth-child(4) h4:before{
	background:url(../images/top/block04_icon04.png) no-repeat left top;
	background-size:30px 12px;
	position:absolute;
	width:30px;
	height:12px;
}

.top_block04_inner ul li:nth-child(5) h4:before{
	background:url(../images/top/block04_icon05.png) no-repeat left top;
	background-size:24px 16px;
	position:absolute;
	width:24px;
	height:16px;
}

.top_block05{
	background:#fbfbfb;
	padding:20px 0 100px;
	margin-top:80px;

}

.top_block05_inner{
	max-width:1100px;
	margin:0px auto 0;
	position:relative;
}

.top_block05 .top_block05_inner_l{
	position:absolute;
	left:-100px;
	bottom:0;
}

.top_block05_inner .top_block05_inner_r{
	width:590px;
	float:right;
	position:relative;
	right:-100px;
}

.top_block05_inner .top_block05_inner_r table{
	margin-top:50px;
}

.top_block05_inner .top_block05_inner_r table th,
.top_block05_inner .top_block05_inner_r table td{
	padding:13px 0 11px;
	font-size:14px;
	color:#000000;
	font-weight:normal;
	border-bottom:solid 1px #000;
	vertical-align:top;
	width:420px;
}

.top_block05_inner .top_block05_inner_r table td span
{
	margin-left: 4em;
}

.top_block05_inner .top_block05_inner_r table th{
	width:90px;
}
@media screen and (max-width: 768px) {
	.top_block05_inner .top_block05_inner_r table td span
	{
		margin-left: 0em;
	}
}

@media screen and (max-width: 1200px) {

	.top_block03 .top_block03_inner{
		width:100%;
	}

.top_block03_inner .inner{
	width: 100%;
}

.top_block03_inner .inner .inner_r{
	right: 2%;
}
	.top_block03_inner .inner.right_box .inner_r{
		left:2%;
	}

.top_block03_inner .inner .inner_l .txt_block{
	width: 680px;
}
	.top_block02_ttl01{
		top:-145px;
	}


	.top_block03_inner .inner.right_box .inner_l .txt_block{
		padding-left:200px;
	}

	.top_block04 {
    	max-width: 1200px;
    	margin: 0 auto;
		position: relative;
	}

	.top_block04_inner{
		width: 605px;
	}
	.top_block04_inner ul {
   		 margin-top: 8%;
  		 width: 605px;
		 text-align: left;
	}
	.top_block04_inner ul li {
    padding: 5% 0 3% 15%;
    border-bottom: solid 1px #262626;
	}
	.top_block04 #map {
    width: 605px;
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 10%;
	}
	/***************************
	.top_block04 {
    	max-width: 1200px;
    	margin: 0 auto;
		position: relative;
	}

	.top_block04_inner{
	text-align: -webkit-center;
	}
	.top_block04_inner ul {
   		 margin-top: 8%;
  		 width: 605px;
		 text-align: left;
	}
	.top_block04_inner ul li {
    padding: 5% 0 3% 15%;
    border-bottom: solid 1px #262626;
	}
	.top_block04 #map {
    width: 605px;
    height: 300px;
    position: relative;
    right: auto;
    bottom: auto;
    margin-top: 10%;
	}
	***********************************/


	.top_block05_inner .top_block05_inner_r {
	width: 510px;
    float: none;
    position: relative;
    right: auto;
		margin: 0 auto;
	}

	.top_block05 .top_block05_inner_l {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: 10%;
	text-align:center;
	}



}

@media screen and (max-width: 1040px) {
.top_block03_inner .inner .inner_l .txt_block{
	margin: 0 auto;
	text-align: center;
}

	.top_block03_inner .inner.right_box .inner_l .txt_block {
    	padding-left: 0;
		padding-right: 0;
	}

	.top_block03_inner .inner .inner_r {
    position: relative;
    right: auto !important;
    top: auto !important;
    margin-top: 0% !important;
    width: 50%;
    z-index: 0;
    left: 0% !important;
    margin: 0 auto;
}

	.top_block03_inner .inner .inner_l{
		    text-align: -webkit-center;
	}
	.top_block03_inner .inner.right_box .inner_l{
		float:inherit;
	}

}

@media screen and (max-width: 768px) {
	#main{
		/*background:url(../images/top/main.png) no-repeat center top;
		background-size:cover;*/
		height:80vw;
		position:relative;
	}

	#main > ul > li{
		background:url(../images/top/sp_mv01.jpg) no-repeat center top;
		background-size:cover;
	}

	#main > ul > li:nth-child(2){
		background:url(../images/top/sp_mv02.jpg) no-repeat center top;
		background-size:cover;
	}

	#main > ul > li:nth-child(3){
		background:url(../images/top/sp_mv03.jpg) no-repeat center top;
		background-size:cover;
	}


	#main .news{
		width:95%;
		position:absolute;
		right:auto;
		left:50%;
		margin-left:-47.5%;
		bottom:10%;
	}

	#main .news h3{
		font-size:4.4vw;
		color:#ffffff;
		font-weight:normal;
	}

	#main .news .inner{
		margin-top:2%;
		background:#FFF;
		padding:2% 10%;
		position:relative;
	}

	#main .news .inner ul{
		height:10.6vw;
		overflow:hidden;
	}

	#main .news .inner .news_l{
		position:absolute;
		left:2%;
		top:50%;
		margin-top:-2%;
		width:3%;
	}

	#main .news .inner .news_r{
		position:absolute;
		right:2%;
		top:50%;
		margin-top:-2%;
		width:3%;
	}

	#main .news .inner a .date{
		width:100%;
		float:none;
		font-size:3.4vw;
	}

	#main .news .inner a .ttl{
		width:100%;
		display:block;
		float:none;
		font-size:3.4vw;
		height:5vw;
	}

	.st-ani{
		display:none;
	}

	.top_block01{
		padding:10% 0 20%;
	}

	.top_block01 h3{
		font-size:5.5vw;
		margin-top:10%;
	}

	.top_block01 .txt01{
		font-size: 4.6vw;
		text-align: center;
		margin:10% auto 0;
		width:90%;
		text-align:left;
	}

	.top_block01 .txt01.txt02{
		margin-top:3%;
	}

	.top_block01 .txt01.txt02 span{
		font-size:5.5vw;
	}

	.top_block02{
		padding-bottom:20%;
		background:url(../images/top/bg_block02.png) no-repeat center bottom #262626;
		background-size:contain;
	}

	.top_block02 .top_block02_inner{
		width:90%;
		margin:0 auto;
		position:relative;
		padding-top:25%;
	}

	.top_block02 .txt01,
	.top_block03 .txt01{
		font-size:4.4vw;
		text-align:left;
		margin-left:0;
	}

	.top_block03 .txt01{
		color:#262626;
	}

	.top_block02 .txt02{
		font-size: 3.8vw;
		text-align: left;
		margin-top:15%;
	}

	.top_block02 ul{
		margin-top:8%;
		text-align:center;
	}

	.top_block02 ul li{
		display:block;
		width:47%;
		float:left;
		margin:0 auto 6% !important;
	}

	.top_block02 ul li:nth-child(2n){
		float:right;
	}

	.top_block02 ul li:last-child{
		margin-right:0;
	}

	.top_block02 ul li p{
		text-align:center;
		font-size:4.4vw;
		color:#ffffff;
		margin-top:5%;
	}

	.top_block03{
		padding:0% 0 15%;
		background:#eeeeee;
	}

	.top_block03 .top_block03_inner{
		width:90%;
		margin:0 auto;
		position:relative;
		padding-top:25%;
	}

	.top_block03_inner .inner{
		margin:10% auto 0;
		width:100%;
		position:relative;
	}

	.top_block03_inner .inner.mt{
		margin-top:10%;
	}

	.top_block03_inner .inner .inner_l{
		margin-left:0px;
	}

	.top_block03_inner .inner .inner_l a,
	.top_block03 ul li a{
		display:block;
		font-size:4.2vw;
		color:#ffffff;
		font-weight:bold;
		width:80%;
		padding:3% 0 2% 0;
		text-align:center;
		box-sizing:border-box;
		background:#262626;
		text-decoration:none;
		position:relative;
		margin:5% auto 0;
	}

	.top_block03_inner .inner .inner_l a{
		float:right;
		margin-right:10%;
	}

	.top_block03 ul li a{
		text-align:center;
		padding-left:0;
		margin:30px auto 0;
	}

	.top_block03_inner .inner .inner_l a:before,
	.top_block03 ul li a:before{
		content:"";
		display:block;
		background:url(../images/top/block03_icon01.png) no-repeat left top;
		background-size:100% auto;
		width:2vw;
		height:4vw;
		position:absolute;
		left:5%;
		top:50%;
		margin-top:-1.5vw;
	}

	.top_block03 ul li a:before{
		left:36px;
	}

	.top_block03_inner .inner .inner_l h3{
		color:#950012;
		width:30%;
		float:right;
		margin-top:-60vw;
	}

	.top_block03_inner .inner .inner_l .txt_block{
		background-color: rgb(149, 0, 18);
		width: 100%;
		z-index: 178;
		box-sizing:border-box;
		padding:5%;
		margin-top:-5%;
		float:right;
		z-index:20;
		position:relative;
	}

	.top_block03_inner .inner .inner_l .txt_block h4{
		font-size:4.4vw;
	}

	.top_block03_inner .inner .inner_l .txt_block p{
		font-size: 3.8vw;
		margin-top:3%;
	}

	.top_block03_inner .inner .inner_r{
		position:relative;
		right:auto !important;
		top:auto !important;
		margin-top:0% !important;
		width:80%;
		z-index:2;
		left:-13% !important;
	}

	.top_block03_inner .inner .inner_r.mt{
		margin-top:39%;
	}

	.top_block03_inner .inner.mt .inner_r{
		top:auto;
	}

	.top_block03_inner .inner.right_box .inner_l{
		float:none;
	}

	.top_block03_inner .inner.right_box .inner_l .txt_block{
		width:100%;
		padding:5%;
	}

	.top_block03_inner .inner.right_box .inner_r{
		right:auto;
		left:0;
	}

	.top_block03_inner .inner.right_box .inner_l h3,
	.top_block03_inner .inner.right_box .inner_l a{
		float:right;
	}

	.top_block03 ul{
		margin-top:20%;
		text-align:center;
	}

	.top_block03 ul li{
		display:block;
		margin-bottom:20%;
		text-align:center;
	}

	.top_block03 ul li:nth-child(1){
		margin-right:0;
	}
	.top_block03 ul li:nth-child(2){
		margin-right:0;
	}

	.top_block03 ul li h4{
		color:#950012;
	}

	.top_block03 ul li .image{
		margin-top:15%;
	}

	.top_block04{
		max-width:1200px;
		margin:0 auto;
		position:relative;
	}

	.top_block04_inner{
		width:90%;
		margin:10% auto 0;
	}

	.top_block04_inner h3,
	.top_block05_inner h3{
		color:#262626;
		width:100%;
	}

	.top_block04_inner ul{
		margin-top:15%;
		width:100%;
	}

	.top_block04_inner ul li{
		padding:5% 0 3% 15%;
		border-bottom:solid 1px #262626;
	}

	.top_block04_inner ul li h4{
		font-size:3.6vw;
	}

	.top_block04_inner ul li p{
		font-size:3.6vw;
		color:#262626;
	}

	.top_block04 #map{
		width:100%;
		height:300px;
		position:relative;
		right:auto;
		bottom:auto;
		margin-top:10%;
	}

	.top_block04_inner ul li h4:before{
		content:"";
		display:block;
		left:-15%;
		top:22%;
	}

	.top_block04_inner ul li:nth-child(1) h4:before{
		background:url(../images/top/block04_icon01.png) no-repeat left top;
		background-size:100% auto;
		position:absolute;
		width:6vw;
		height:5vw;
	}

	.top_block04_inner ul li:nth-child(2) h4:before{
		background:url(../images/top/block04_icon02.png) no-repeat left top;
		background-size:100% auto;
		position:absolute;
		width:7vw;
		height:4vw;
	}

	.top_block04_inner ul li:nth-child(3) h4:before{
		background:url(../images/top/block04_icon03.png) no-repeat left top;
		background-size:100% auto;
		position:absolute;
		width:7vw;
		height:4vw;
	}

	.top_block04_inner ul li:nth-child(4) h4:before{
		background:url(../images/top/block04_icon04.png) no-repeat left top;
		background-size:100% auto;
		position:absolute;
		width:7vw;
		height:4vw;
	}

	.top_block04_inner ul li:nth-child(5) h4:before{
		background:url(../images/top/block04_icon05.png) no-repeat left top;
		background-size:100% auto;
		position:absolute;
		width:6vw;
		height:5vw;
	}

	.top_block05{
		background:#fbfbfb;
		padding:5% 0 10%;
		margin-top:10%;

	}

	.top_block05_inner{
		width:90%;
		margin:0px auto 0;
		position:relative;
	}

	.top_block05 .top_block05_inner_l{
		position:relative;
		left:auto;
		bottom:auto;
		margin-top:10%;
	}

	.top_block05_inner .top_block05_inner_r{
		width:100%;
		float:none;
		position:relative;
		right:auto;
	}

	.top_block03 ul li a:before,
	.top_block03 ul li a:hover:before{
		left:15vw;
	}

	.top_block05_inner .top_block05_inner_r table{
		margin-top:15%;
	}

	.top_block05_inner .top_block05_inner_r table th,
	.top_block05_inner .top_block05_inner_r table td{
		padding:3% 0 2%;
		font-size:3.6vw;
	}

	.top_block05_inner .top_block05_inner_r table th{
		width:30%;
	}

}
/************************ /top *****************************/



/************************ floor *****************************/

#main.sub_main{
	width:100%;
	height:350px;
	background-size:cover;
	position:relative;
	padding-top:265px;
	box-sizing:border-box;
}

#main.sub_main > ul > li{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	background:url(../images/common/second_mv01.jpg) no-repeat center top;
	background-size:cover;
	transition: all 1.5s;
	opacity:0;
}

#main.sub_main > ul > li:nth-child(2){
	background:url(../images/common/second_mv02.jpg) no-repeat center top;
	background-size:cover;
}

#main.sub_main > ul > li:nth-child(3){
	background:url(../images/common/second_mv03.jpg) no-repeat center top;
	background-size:cover;
}

#main.sub_main > ul > li.active{
	opacity:1;
}

#main.floor h2{
	position:relative;
	margin:45px auto 0;
	top:auto;
	left:auto;
}

.floor_block01{
	padding:150px 0 100px;
	background:#f7f7f7;
}

.floor_block01 p{
	font-size: 18px;
	color: rgb(34, 34, 34);
	line-height: 1.778;
	text-align: center;
}

.floor_block02{
	margin:50px auto 0;
	width:1200px;
	position:relative;
}


.barrier {
	width: 600px;
	font-size: 18px;
	color: rgb(34, 34, 34);
	line-height: 1.778;
	text-align: center;
	border:double 6px #950013;
	margin: 100px auto 0;
	padding: 50px 30px ;
}

.barrier h2{
	font-size: 22px;
	font-weight: bold;
	color: #950013;
}

.barrier p{
	margin-top: 40px;
}

.floor_block03{
	width:1200px;
	margin:100px auto 100px;
	background:#950013;
}

.floor_block03 .floor_block03_l{
	width:600px;
	float:left;
	padding-top:0;
}

.floor_block03 .floor_block03_r{
	width:600px;
	float:left;
}

.floor_block03 .floor_block03_r h3{
	font-size:25px;
	color:#ffffff;
	text-align:center;
	padding-top:50px;
	position:relative;
}

.floor_block03 .floor_block03_r h3:before{
	content:"";
	display:block;
	background:url(../images/floor/icon.png) no-repeat left top;
	background-size:64px 9px;
	width:64px;
	height:9px;
	position:absolute;
	left:50%;
	margin-left:-32px;
	bottom:-22px;
}

.floor_block03 .floor_block03_r p{
	width:500px;
	margin:40px auto 0;
	font-size: 18px;
	color: rgb(255, 255, 255);
	line-height: 1.778;
	text-align: left;
}

/********************/
.floor_block02 a{
	display:block;
	position:absolute;
	background:rgba(0,0,0,0.2);
    transition:all 0.3s;
	z-index:2;
}

.floor_block02 a:hover:after,
.floor_block02 a:active:after {
    width:100%;
}

.floor_block02 a:after {
    width:0%;
    height:100%;
    background:rgba(149,0,19,0.6);
    content:"";
    position:absolute;
    top:0;
    left:0;
    transition:all 0.3s;
    z-index:-1;
}

.floor_block02 .link01{
	left:70px;
	top:49px;
    width:415px;
    height:68px;
}

.floor_block02 .link02{
	left:500px;
	top:49px;
    width:160px;
    height:54px;
}

.floor_block02 .link03{
	left:683px;
	top:49px;
    width:150px;
    height:57px;
}

.floor_block02 .link04{
	right:50px;
	top:49px;
    width:240px;
    height:442px;
}

.floor_block02 .link05{
	left:50px;
	top:127px;
    width:65px;
    height:310px;
}

.floor_block02 .link06{
	left:140px;
	top:146px;
    width:252px;
    height:177px;
}

.floor_block02 .link07{
	left:395px;
	top:146px;
    width:27px;
    height:74px;
}

.floor_block02 .link08{
	left:461px;
	top:159px;
    width:112px;
    height:50px;
}

.floor_block02 .link09{
	left:606px;
	top:157px;
    width:48px;
    height:54px;
}

.floor_block02 .link10{
	left:691px;
	top:160px;
    width:108px;
    height:50px;
}

.floor_block02 .link11{
	left:155px;
	top:327px;
    width:125px;
    height:120px;
}

.floor_block02 .link12{
	left:398px;
	top:247px;
    width:445px;
    height:33px;
}

.floor_block02 .link13{
	left:698px;
	top:337px;
    width:201px;
    height:156px;
}

	/*----------------floor1200px-768px------------------*/

@media screen and (max-width: 1200px) {
	.floor_block03{
		width:90%;
		margin:10% auto 10%;
		background:#950013;
		padding-bottom:10%;
	}

	.floor_block03 .floor_block03_l{
		width:100%;
		float:none;
		text-align: center;
    	padding-top: 50px;
	}

	.floor_block03 .floor_block03_r{
		width:100%;
		float:none;
	}

	.floor_block03 .floor_block03_r h3{
		font-size:2.8vw;
		color:#ffffff;
		text-align:center;
		padding-top:8%;
		position:relative;
	}

	.floor_block03 .floor_block03_r h3:before{
		content:"";
		display:block;
		background:url(../images/floor/icon.png) no-repeat left top;
		background-size:100% auto;
		width:6vw;
		height:8vw;
		position:absolute;
		left:50%;
		margin-left:-3vw;
		bottom:-8vw;
	}

	.floor_block03 .floor_block03_r p{
		width:90%;
		margin:5% auto 0;
		font-size:1.4vw;
		color: rgb(255, 255, 255);
		line-height: 1.778;
		text-align: center;
	}
}

@media screen and (max-width: 768px) {
	#main.floor{
		width:100%;
		height:50vw;
		background:url(../images/floor/bg.png) no-repeat center top;
		background-size:cover;
		position:relative;
		padding-top:30vw;
		box-sizing:border-box;
	}

	#main.floor h2{
		position:relative;
		margin:0 auto;
		top:7vw;
		left:auto;
	}

	.floor_block01{
		padding: 20% 0 10%;
		background:#f7f7f7;
	}

	.floor_block01 p{
		width:90%;
		margin:0 auto;
		font-size:4.4vw;
		color: rgb(34, 34, 34);
		line-height: 1.778;
		text-align: left;
	}

	.floor_block02{
		margin:8% auto 0;
		width:90%;
	}

	.barrier {
	width: 90%;
	font-size: 15px;
	color: rgb(34, 34, 34);
	line-height: 1.778;
	text-align: center;
	border:double 6px #950013;
	margin: 40px auto 0;
	padding: 20px 10px ;
	box-sizing: border-box;
}

.barrier h2{
	font-size: 18px;
	font-weight: bold;
	color: #950013;
}

.barrier p{
	margin-top: 40px;
}

	.floor_block03{
		width:90%;
		margin:10% auto 10%;
		background:#950013;
		padding-bottom:10%;
	}

	.floor_block03 .floor_block03_l{
		width:100%;
		float:none;
	}

	.floor_block03 .floor_block03_r{
		width:100%;
		float:none;
	}

	.floor_block03 .floor_block03_r h3{
		font-size:5.8vw;
		color:#ffffff;
		text-align:center;
		padding-top:8%;
		position:relative;
	}

	.floor_block03 .floor_block03_r h3:before{
		content:"";
		display:block;
		background:url(../images/floor/icon.png) no-repeat left top;
		background-size:100% auto;
		width:15vw;
		height:8vw;
		position:absolute;
		left:50%;
		margin-left:-7.5vw;
		bottom:-11vw;
	}

	.floor_block03 .floor_block03_r p{
		width:90%;
		margin:10% auto 0;
		font-size:4.4vw;
		color: rgb(255, 255, 255);
		line-height: 1.778;
		text-align: left;
	}



	.floor_block02 a{
		display:block;
		position:relative;
		background:none;
		transition:none;
		z-index:2;
		left:auto !important;
		top:auto !important;
		bottom:auto !important;
		right:auto !important;
		width:auto !important;
		height:auto !important;
		margin-top:2%;
		font-size:4.4vw;
		color:#950013;
	}

	.floor_block02 a:hover:after,
	.floor_block02 a:active:after {
		width:100%;
		display:none;
	}
	#map{
    position:relative;
    width:100%;
    height:0;
    padding-top:75%;
}
#map iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}


}
/************************ /floor *****************************/

/************************ menu *****************************/

.float_btn{
	position:fixed;
	background:url(../images/menu/bg_float_btn.png) no-repeat left top;
	background-size:169px auto;
	width:169px;
	height:169px;
	box-sizing:border-box;
	font-size:18px;
	color:#222222;
	text-decoration:none;
	padding:80px 0 0 55px;
	box-sizing:border-box;
	line-height: 1.167;
	right:30px;
	top:350px;
	z-index:100;
	font-weight:bold;
	text-decoration: none !important;
}
/*
.float_btn:before{
	content:"";
	display:block;
	background:url(../images/menu/icon_right.png) no-repeat left top;
	background-size:8px 15px;
	width:8px;
	height:15px;
	position:absolute;
	left:35px;
	top:50%;
	margin-top:-7px;
	transition: all 0.4s;
}

.float_btn:hover:before{
	left:40px;
}
*/
.menu_block01{
	padding-top:70px;
}

.menu_block01 h3{
	font-size:25px;
	color:#950012;
}

.menu_block01 h3.mt{
	margin-top:50px;
}

.menu_block01 .txt01{
	font-size: 18px;
	color: rgb(34, 34, 34);
	line-height: 1.778;
	text-align: center;
	margin-top:50px;
}

.menu_block01.menu_block02 .txt01{
	color:#FFF;
}

.menu_block01 .menu_block01_inner1{
	width:100%;
	height:370px;
	position:relative;
	background:url(../images/menu/bg01.jpg?v202508) no-repeat center top;
	background-size:cover;
	margin-top:45px;
}

.menu_block01.menu_block02 .menu_block01_inner1{
	background:url(../images/menu/bg03_r2.png) no-repeat center top;
	background-size:cover;
}

.menu_block01.menu_block03 .menu_block01_inner1{
	background:url(../images/menu/bg04_r2.png) no-repeat center top;
	background-size:cover;
}

.menu_block01 .menu_block01_inner1 .inner{
	width:700px;
	background:#950013;
	position:absolute;
	left:50%;
	margin-left:-350px;
	top:325px;
	padding-bottom:35px;
}


.menu_block01.menu_block03 .menu_block01_inner1 .inner{
	width:940px;
	margin-left:-470px;
}

.menu_block01.menu_block02 .inner{
	background:#FFF;
}

.menu_block01 .menu_block01_inner1 .inner h4{
	font-size:17px;
	color:#ffffff;
	text-align:center;
	padding-top:35px;
	position:relative;
}

.menu_block01.menu_block02 .inner h4{
	color:#950013;
}

.menu_block01 .menu_block01_inner1 .inner h4:before{
	content:"";
	display:block;
	height:1px;
	width:400px;
	position:absolute;
	left:50%;
	margin-left:-200px;
	bottom:-20px;
	background:#FFF;
}

.menu_block01.menu_block02 .inner h4:before{
	background:#950013;
}

.menu_block01 .menu_block01_inner1 .inner p{
	margin-top:35px;
	font-size: 14px;
	color: rgb(255, 255, 255);
	line-height: 1.571;
	text-align: center;
}

.menu_block01.menu_block02 .menu_block01_inner1 .inner p{
	color:#950013;
}

.menu_block01 ul{
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	text-align:center;
	width:100%;
	margin:0 auto;
	/*
	position:relative;
	z-index:2;
	*/
}
/*
.menu_block01 ul.mt_min2{
	margin-top:0px !important;
	top:-380px;
}
*/

.menu_block01 ul.mt_min2{
	margin-top:0px !important;
}

.menu_block01 ul.mt_min{
	margin-top:15px;
}

.menu_block01 ul li{
	display:block;
	width:300px;
	margin-right:70px;
	float:left;
	text-align:center;
	margin-top:40px;
}

.menu_block01 ul li h5{
	margin-top:25px;
	text-align:left;
	font-size:18px;
	color:#950012;
	border-bottom:solid 1px #950012;
	padding-bottom:10px;
}

.menu_block01 ul li h5 span{
	display:inline-block;
	margin-left:20px;
	font-size:13px;
}

.menu_block01 ul li p{
	margin-top:20px;
	font-size:15px;
	color:#950012;
	line-height:2;
	text-align:left;
}

.menu_block01 ul li p span{
	display:block;
	text-align:center;
	font-size:13px;
	margin-top:20px;
}

.menu_block01 ul li p span.caution{
	margin-top:0;
	font-size:12px;
	text-align:left;
	line-height:1;
}

.menu_block01 ul li .list_inner_l{
	width:160px;
	float:left;
	text-align:left;
}
.menu_block01 ul li .list_inner_r{
	width:140px;
	float:right;
	text-align:left;
}

.menu_block01 ul li .list_inner p,
.menu_block01 ul li .list_inner p span{
	text-align:left !important;

}

.menu_block01 ul li p span span{
	margin-top:0;
	text-align:left;
}

.menu_block01 ul li .list_inner p span{
	margin-top:0;
}

.menu_block01.menu_block02 ul li p{
	color:#FFF;
}

.menu_block01 ul li:last-child{
	margin-right:0;
}

.menu_block01 .more,
.menu_block04 .more{
	text-align:center;
	margin-top:75px;
	font-size:18px;
	color:#950012;
}

.menu_block01.menu_block02 .more{
	color:#FFF;
}

.menu_block02{
	background:#950013;
	margin-top:60px;
	padding-top:0;
	position:relative;
}

.menu_block01.menu_block02 h3{
	color:#FFF;
}

.menu_block01.menu_block02 .bg02{
	margin-top:50px;
}

.menu_block01.menu_block02 ul li h5{
	color:#FFF;
	border-bottom:solid 1px #FFF;
}

.menu_block01 h3.mt_min{
	margin-top:-20px;
}




.menu_block01 h3 span{
	display:inline-block;
	font-size:30px;
	position:relative;
	top:2px;
	transform:rotate(20deg);
}

.menu_block01.menu_block03{
	margin-bottom:90px;
}

@media screen and (max-width: 768px) {
	.float_btn{
		position:fixed;
		background:url(../images/menu/bg_float_btn.png) no-repeat left top;
		background-size:100% auto;
		width:30vw;
		height:30vw;
		box-sizing:border-box;
		font-size:3.8vw;
		text-decoration:none;
		padding:15% 0 0 9%;
		box-sizing:border-box;
		line-height: 1.167;
		right:auto;
		left:10px;
		top:auto;
		bottom:10px;
		z-index:10;
		font-weight:bold;
		text-decoration: none !important;
	}

	/*
	.float_btn:before{
		content:"";
		display:block;
		background:url(../images/menu/icon_right.png) no-repeat left top;
		background-size:100% auto;
		width:2vw;
		height:4vw;
		position:absolute;
		left:16%;
		top:50%;
		margin-top:-2vw;
	}
	*/
	.menu_block01{
		padding-top:20%;
	}

	.menu_block01 h3{
		font-size:5.8vw;
	}

	.menu_block01 h3.mt{
		margin-top:10%;
	}

	.menu_block01 .txt01{
		font-size:4.4vw;
		color: rgb(34, 34, 34);
		line-height: 1.778;
		text-align:left;
		width:90%;
		margin:15% auto 0;
	}

	.menu_block01 .menu_block01_inner1{
		width:100%;
		height:70vw;
		position:relative;
		background:url(../images/menu/bg01_sp.jpg?v202508) no-repeat center top;
		background-size:cover;
		margin-top:13%;
	}

	.menu_block01.menu_block02 .menu_block01_inner1{
		background:url(../images/menu/bg02_sp_r2.jpg) no-repeat center top;
		background-size:cover;
	}

	.menu_block01.menu_block03 .menu_block01_inner1{
		background:url(../images/menu/bg03_sp_r2.jpg) no-repeat center top;
		background-size:cover;
	}

	.menu_block01 .menu_block01_inner1 .inner{
		width:90% !important;
		background:#950013;
		position:absolute;
		left:50%;
		margin-left:-45% !important;
		top:40vw;
		padding-bottom:5%;
	}

	.menu_block01.menu_block02 .inner{
		background:#FFF;
	}

	.menu_block01 .menu_block01_inner1 .inner h4{
		width:90%;
		margin:0 auto;
		font-size:4.2vw;
		color:#ffffff;
		text-align:center;
		padding-top:5%;
		position:relative;
	}

	.menu_block01.menu_block02 .inner h4{
		color:#950013;
	}

	.menu_block01 .menu_block01_inner1 .inner h4:before{
		content:"";
		display:block;
		height:1px;
		width:90%;
		position:absolute;
		left:50%;
		margin-left:-45%;
		bottom:-3vw;
		background:#FFF;
	}

	.menu_block01.menu_block02 .inner h4:before{
		background:#950013;
	}

	.menu_block01 .menu_block01_inner1 .inner p{
		margin:8% auto 0;
		font-size: 3.8vw;
		text-align: left;
		width:90%;
	}

	.menu_block01.menu_block02 .menu_block01_inner1 .inner p{
		color:#950013;
	}

	.menu_block01 ul{
		text-align:center;
		margin-top:5%;
		width:100%;
	}
	/*
	.menu_block01 ul.mt_min2{
		margin-top:0px !important;
		top:-0px;
	}
	*/
	.menu_block01 ul li{
		display:block;
		width:80% !important;
		margin:0 auto 10% !important;
		float:none;
	}

	.menu_block01 ul li img{
		width:80%;
	}

	.menu_block01 ul.mt_min{
		margin-top:15px;
	}


	.menu_block01 ul li h5{
		margin-top:5%;
		text-align:left;
		font-size:4.4vw;
		color:#950012;
		border-bottom:solid 1px #950012;
		padding-bottom:3%;
	}

	.menu_block01 ul li h5 span{
		display:inline-block;
		margin-left:5%;
		font-size:3.4vw;
	}

	.menu_block01 ul li p{
		margin-top:5%;
		font-size:3.8vw;
	}

	.menu_block01 ul li p span{
		display:block;
		text-align:center;
		font-size:3.4vw;
		margin-top:5%;
	}

	.menu_block01 ul li p span.caution{
		margin-top:0;
		font-size:3.2vw;
		text-align:left;
		line-height:1;
	}

	.menu_block01.menu_block02 ul li p{
		color:#FFF;
	}

	.menu_block01 ul li:last-child{
		margin:0 auto 0%;
	}

	.menu_block01 .more,
	.menu_block04 .more{
		text-align:center;
		margin-top:60px;
		font-size:15px;
		color:#950012;
	}

	.menu_block01.menu_block02 .more{
		color:#FFF;
	}

	.menu_block02{
		background:#950013;
		margin-top:8%;
		padding-top:0;
		position:relative;
	}

	.menu_block02 .bg01{
		position:relative;
		top:-1px;
		margin-bottom:5%;
	}

	.menu_block01.menu_block02 h3{
		color:#FFF;
	}

	.menu_block01.menu_block02 .bg02{
		margin-top:10%;
		position:relative;
		bottom:-2vw;
		z-index:1;
	}

	.menu_block01 h3.mt_min{
		margin-top:-20px;
	}

	.menu_block01.menu_block03{
		margin-bottom:90px;
	}
	.menu_block01 h3 span{
		font-size:6.5vw;
		position:relative;
		top:0px;
	}

}
/************************ /menu *****************************/

/************************ news *****************************/

.news_block{
	width:1100px;
	margin:95px auto;
}

.news_block li{
	width:350px;
	float:left;
	margin: 0 25px 25px 0;
}

.news_block li.mr0{
	margin-right:0;
}

@media screen and (max-width: 768px) {
	.news_block{
		width:90%;
		margin:15% auto;
	}

	.news_block li{
		width:100%;
		float:left;
		margin: 0 0 8% 0;
	}

	.news_block li:nth-child(3n){
		margin-right:0;
	}
}
/************************ /news *****************************/

.disnon2{
	display:none;
}

.modal{
	width:1000px;
	margin:0 auto;
	text-align:right;
}
.modal.show .modal-dialog {
  max-width: 768px;
}
.modal .image{
	margin-top:10px;
}

.modal p{
	margin-top:30px;
	font-size: 18px;
	color: rgb(255, 255, 255);
	line-height: 1.278;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.modal{
		width:90%;
		margin:0 auto;
		text-align:right;
	}

	.modal .close img{
		width:10%;
	}

	.modal .image{
		margin-top:10px;
	}

	.modal p{
		margin-top:5%;
		font-size:4.4vw;
	}
}

#cboxPrevious{
	display:none !important;
}

#cboxNext{
	display:none !important;
}

/*******   chara_top   *******/

.chara01,
.chara02,
.chara03,
.chara04{
	position:absolute;
	z-index:20;
}

.chara01{
	position:absolute;
	right:0;
	top:339px;
	z-index:20;
	/*animation: scroll 1s step-end infinite;*/
	/*animation: finish 1s ease infinite;*/
}
/*
@keyframes finish {
  0% {
    transform:rotate(0deg);

  }

  50% {
    transform:rotate(15deg);
  }

  100% {
    transform:rotate(0deg);
  }
}
*/
.chara02{
	position:absolute;
	/*left:267px;*/
	top:540px;
	z-index:20;
	/*animation: finish2 2s ease infinite;*/
}
/*
@keyframes finish2 {
  0% {
    transform:rotate(0deg);

  }

  25% {
    transform:rotate(15deg);
  }

  50% {
    transform:rotate(0deg);
  }

  75% {
    transform:rotate(-15deg);
  }

  100% {
    transform:rotate(0deg);
  }
}
*/
.chara03{
	position:absolute;
	/*left:900px;*/
	bottom:80px;
}

.chara04{
	position:absolute;
	/*left:550px;*/
	right:0;
	bottom:30px;
}

.chara05{
	position:absolute;
	left:430px;
	top:220px;
}
.chara06{
	position:absolute;
	left:565px;
	top:780px;
}
.chara07{
	position:absolute;
	left:400px;
	top:1660px;
	z-index:10;
}

.rev{
	position:relative;
	width:100%;
	margin:0 auto;
}

.floor_chara1,
.floor_chara2,
.floor_chara3,
.floor_chara4,
.floor_chara5,
.floor_chara6,
.floor_chara7{
	position:absolute;
}

.floor_chara1{
	z-index:-1;
	top:-30px;
	left:45px;
}

.floor_chara2{
	z-index:10;
	right:-10px;
	bottom:-180px;
}

.floor_chara3{
	z-index:1;
	right:50px;
	top:-60px;
}

.floor_chara4{
	left:0;
	bottom:-220px;
}

.floor_chara5{
	right:0px;
	top:-60px;
}

.floor_chara6{
	left:-50px;
	top:380px;
}

.floor_chara7{
	right:0px;
	bottom:-200px;
}

@media screen and (max-width: 1040px) {

	.chara05 {
		left:auto;
		right: 6%;
		z-index: 1;
	}

	.chara06 {
		left: 6%;
		top: 1375px;
	}

	.chara07 {
		right: 0;
		left: auto;
		top: 2460px;
	}
}

@media screen and (max-width: 768px) {


	.chara01{
		right:0;
		top:auto;
		bottom:-17vw;
		width:20%;
	}

	.chara02{
		/*left:50%;
		right:auto;
		top:205vw;*/
        left: auto;
        right: 15%;
        top: 49.5%;
		width:15%;
		margin-left:-7.5%;
	}

	.chara03{
		top:680vw;
		left:0;
		width:20%;
		display:none;
	}

	.chara04{
		top:880vw;
		right:0;
		left:auto;
		width:20%;
		bottom:auto;
		display:none;
	}

	.chara05{
		position:absolute;
		/*right:0px;*/
		right:-20px;
		left:auto;
		/*top:30vw;*/
		top:40vw;
		width:40%;
		z-index:2;
	}
	.chara06{
		position:absolute;
		right:0;
		left:auto;
		top:30vw;
		width:40%;
		z-index:2;

	}
	.chara07{
		position:absolute;
		right:-9vw;
		left:auto;
		top:35vw;
		width:55%;
		z-index:2;
	}

	.rev{
		position:relative;
		width:100%;
		margin:0 auto;
	}

	.floor_chara1,
	.floor_chara2,
	.floor_chara3,
	.floor_chara4,
	.floor_chara5,
	.floor_chara6,
	.floor_chara7{
		position:absolute;
	}

	.floor_chara1{
		z-index:-1;
		top:0vw;
		left:5%;
		width:15%;
	}

	.floor_chara2{
		display: none;
		z-index:10;
		right:5%;
		bottom:-37vw;
		width:15%;
	}

	.floor_chara3{
		z-index:1;
		top:3vw;
		right:5%;
		width:15%;
	}

	.floor_chara4{
		display: none;
		left:5%;
		bottom:-46vw;
		width:15%;
		z-index:10;
	}

	.floor_chara5{
		top:0;
		right:5%;
		width:15%;
	}

	.floor_chara6{
		left:5%;
		top:130vw;
		width:15%;
	}

	.floor_chara7{
		display: none;
		right:5%;
		bottom:-55vw;
		width:15%;
	}

	.menu_block02 .rev{
		margin-top:0%;
	}

	.menu_block03 .rev{
		margin-top:0%;
	}

	.menu_block01 ul li .list_inner_l{
		width:50%;
		float:left;
		text-align:left;
	}
	.menu_block01 ul li .list_inner_r{
		width:50%;
		float:left;
		text-align:left;
	}
}

/*******   /chara_top   *******/

/*******   loading   *******/
.loader {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #ffffff;
  background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  position:absolute;
  text-align:center;
  top:50%;
  left:50%;
  margin-left:-5.5em;
  margin-top:-5.5em;
}
.loader:before {
  width: 50%;
  height: 50%;
  background: #ffffff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #262626;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/*******   /loading   *******/



/************************ add20171227 *****************************/

.menu_txt_box {
	width: 58%;
	margin: 0 auto;
}
.menu_txt_box > p {
	margin-top: 0;
}
.menu_txt_new{
	font-size:14px;
	color:#222222;
	text-align:center;
	margin-top:170px;
}

.menu_block01.menu_block02 .menu_txt_new{
	color:#FFF;
}

.menu_block04{
	margin-bottom:120px;
}

.menu_block04_inner{
	width:750px;
	margin:55px auto 0;
}

.menu_block04_inner .menu_block04_inner_l{
	width:300px;
	float:left;
}

.menu_block04_inner .menu_block04_inner_r{
	width:300px;
	float:right;
}

.menu_block04_inner h4{
	font-size:18px;
	color:#222222;
	border-bottom:solid 2px #222222;
	padding-bottom:10px;
}


.menu_block04_inner ul{
	margin-top:15px;
}

.menu_block04_inner ul li{
	width:50%;
	float:left;
	font-size:15px;
	color:#222222;
	margin-bottom:5px;
}

.menu_block04_inner ul li:nth-child(2n){
	float:right;
}

.menu_block04 p{
	width:750px;
	margin:30px auto 0;
	font-size:12px;
	color:#222222;
}

.menu_block04_inner{
	position:relative;
}

.menu_block04_inner .image01{
	position:absolute;
	left:-205px;
	top:50px;
}

.menu_block04_inner .image02{
	position:absolute;
	right:-235px;
	top:-140px;
}

@media screen and (max-width: 768px) {
	.menu_txt_new{
		margin: 25% auto 0;
		font-size: 3.8vw;
		text-align: left;
		width: 90%;
	}
	.menu_block04{
		margin-bottom:25%;
	}

	.menu_block04_inner{
		width:90%;
		margin:15% auto 0;
	}

	.menu_block04_inner .menu_block04_inner_l{
		width:100%;
		float:none;
	}

	.menu_block04_inner .menu_block04_inner_r{
		width:100%;
		float:none;
		margin-top:10%;
	}

	.menu_block04_inner h4{
		font-size:4.4vw;
		color:#222222;
		border-bottom:solid 2px #222222;
		padding-bottom:10px;
	}


	.menu_block04_inner ul{
		margin-top:3%;
	}

	.menu_block04_inner ul li{
		width:50%;
		float:left;
		font-size:3.8vw;
		color:#222222;
		margin-bottom:5px;
	}

	.menu_block04_inner ul li:nth-child(2n){
		float:right;
	}

	.menu_block04 p{
		width:90%;
		margin:5% auto 0;
		font-size:3.2vw;
		color:#222222;
	}

	.menu_block04_inner{
		position:relative;
	}

	.menu_block04_inner .image01{
		width:20%;
		position:absolute;
		left:-5px;
		top:100vw;
	}

	.menu_block04_inner .image02{
		position:absolute;
		width:20%;
		right:-0px;
		top:-20vw;
	}
}

.top_block02_ttl01{
	position:absolute;
	left:30px;
	top:-90px;
}

.top_block02_ttl01.top_block03_ttl01{
	top:-125px;
}

.top_block02_ttl01:after,
.top_block02_ttl01:before{
	display:none !important;
}

.top_block02 .icon01:before{
	content:"";
	display:block;
	background:url(../images/top/top_block02_icon01.png) no-repeat left top;
	background-size:25px 25px;
	width:25px;
	height:25px;
	position:absolute;
	left:50%;
	margin-left:-12px;
	top:-39px;
}

.top_block02 .icon02:before{
	content:"";
	display:block;
	background:url(../images/top/top_block02_icon02.png) no-repeat left top;
	background-size:78px 25px;
	width:78px;
	height:25px;
	position:absolute;
	left:50%;
	margin-left:-39px;
	top:-39px;
}

.top_block03 .clock{
	font-weight:bold !important;
}

.top_block03 .clock:before{
	position:absolute;
	left:50%;
	margin-left:-13px;
	top:-28px;
	background:url(../images/top/clock01.png) no-repeat left top;
	background-size:24px 24px;
}

.top_block03 .clock.clock2:before{
	background:url(../images/top/clock02.png) no-repeat left top;
	background-size:24px 24px;
}

.top_block03 .clock.clock3:before{
	background:url(../images/top/clock03.png) no-repeat left top;
	background-size:24px 24px;
}

@media screen and (max-width: 768px) {
	.top_block02_ttl01{
		position:absolute;
		width:30%;
		left:0px;
		top:-3%;
	}


	.top_block02_ttl01.top_block03_ttl01{
		top:-1.5%;
	}

	.top_block02 .icon01:before{
		background:url(../images/top/top_block02_icon01.png) no-repeat left top;
		background-size:100% auto;
		width:4vw;
		height:4vw;
		margin-left:-2vw;
		top:-5vw;
	}

	.top_block02 .icon02:before{
		background:url(../images/top/top_block02_icon02.png) no-repeat left top;
		background-size:100% auto;
		width:14vw;
		height:4vw;
		margin-left:-7vw;
		top:-5vw;
	}

	.top_block03 .clock:before{
		position:absolute;
		left:50%;
		margin-left:-2.7vw;
		top:-8vw;
	}

	.top_block03 .clock:before{
		background:url(../images/top/clock01.png) no-repeat left top;
		background-size:100% auto;
	}

	.top_block03 .clock.clock2:before{
		background:url(../images/top/clock02.png) no-repeat left top;
		background-size:100% auto;
	}

	.top_block03 .clock.clock3:before{
		background:url(../images/top/clock03.png) no-repeat left top;
		background-size:100% auto;
	}
}

.kani_block{
	background:url(../images/top/bg_kani.png) repeat;
	background-size:147px 148px;
	padding:100px 0;
}

.kani_block .inner{
	background-color: rgb(255, 255, 255);
	box-shadow: 0px 6px 11.64px 0.36px rgba(4, 0, 0, 0.14);
	position: absolute;
	width: 1100px;
	margin:0 auto;
	position:relative;
}

.kani_block .inner .kani_image{
	position:absolute;
	right:-45px;
	bottom:25px;
}

.kani_block .inner .kani_txt01{
	padding:90px 0 0 50px ;
	font-size:23px;

}

.kani_block .inner .kani_txt02{
	padding:20px 0 0 50px ;
	font-size: 14px;
	color: rgb(0, 0, 0);
	line-height: 1.786;
	text-align: left;
	width:470px;
}

.kani_block .inner .kani_txt03{
	padding:10px 0 30px 50px ;
	font-size: 12px;
}

.kani_block .inner table{
	margin:15px 0  0 50px;
	width:520px;
}

.kani_block .inner table td{
	font-size:15px;
	font-weight:bold;
	background:#fff5f5;
	padding:8px 0 5px;
}

.kani_block .inner table tr:nth-child(2n) td{
	background:#f5f5f5;
}

.kani_block .inner table td.td1{
	width:235px;
	padding-left:15px;
}

.kani_block .inner table td.td2{
	width:150px;
}

.kani_block h2{
	position:absolute;
	left:50%;
	margin-left:-520px;
	top:-40px;
}

.kani_block .inner .kani_txt01 .red_area{
	display:inline-block;
	font-size:14px;
	background:"";
	color:#ffffff;
	background:#d41920;
	padding:2px  20px 0;
	margin-right:35px;
	position:relative;
	top:-2px;
}

.kani_block .inner .kani_txt01 .futura{
	font-size:15px;
}

.kani_block .inner h2:before{
	display:none;
}

@media screen and (max-width: 768px) {
	.kani_block{
		background:url(../images/top/bg_kani.png) repeat;
		background-size:147px 148px;
		padding:10% 0;
	}

	.kani_block .inner{
		background-color: rgb(255, 255, 255);
		box-shadow: 0px 6px 11.64px 0.36px rgba(4, 0, 0, 0.14);
		position: absolute;
		width: 90%;
		margin:0 auto;
		position:relative;
	}

	.kani_block .inner .kani_image{
		position:relative;
		right:auto;
		bottom:auto;
		margin-top:5%;
	}

	.kani_block .inner .kani_txt02{
		padding:5% 5% 0  ;
		font-size: 3.4vw;
		color: rgb(0, 0, 0);
		line-height: 1.786;
		text-align: left;
		width:auto;
	}

	.kani_block .inner .kani_txt03{
		padding:5% 5% 0  ;
		font-size: 3.2vw;
	}

	.kani_block .inner table{
		margin:5% 5% 0 ;
		width:90%;
		box-sizing:border-box;
	}

	.kani_block .inner table td{
		font-size:3vw;
		font-weight:bold;
		background:#fff5f5;
		padding:2% 0 1%;
	}

	.kani_block .inner table td span{
		font-size:2.5vw;
	}

	.kani_block .inner table tr:nth-child(2n) td{
		background:#f5f5f5;
	}

	.kani_block .inner table td.td1{
		width:40%;
		padding-left:3%;
		box-sizing:border-box;
	}

	.kani_block .inner table td.td2{
		width:30%;
	}

	.kani_block h2{
		position:absolute;
		left:50%;
		margin-left:-50%;
		top:-3%;
	}

	.kani_block .inner .kani_txt01{
		padding:13% 5% 0  ;
		font-size:5vw;
	}

	.kani_block .inner .kani_txt01 .sp_block{
		display:block;
		margin-top:3%;
	}

	.kani_block .inner .kani_txt01 .red_area{
		display:inline-block;
		font-size:3.6vw;
		background:"";
		color:#ffffff;
		background:#d41920;
		padding:1%  4% 0;
		margin-right:0;
		position:relative;
		top:-0;
	}

	.kani_block .inner .kani_txt01 .futura{
		font-size:4vw;
	}

	.kani_block .inner h2:before{
		display:none;
	}
}

/************************ /add20171227 *****************************/


.niku_block{
	background-image: url(../images/campaign/niku_bg.jpg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}

.niku_block .inner{
	width: 100%;
	margin: 0 auto;
	padding: 80px 0;
}

.niku_block .inner .contents03{
	display:flex;
	width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.niku_block .inner h2{
	text-align: center;
}

.niku_block .inner h2:before{
	display: none;
}

.niku_block .inner .contents01{
	width: 94%;
	margin: 35px auto;
}

.niku_block .inner .contents01 h3{
	border-bottom: solid 2px #000000;
	border-top: solid 2px #000000;
	font-size: 20px;
	padding: 10px 0;
	margin-bottom: 45px;
}

.niku_block .inner .contents01 p{
	font-size: 18px;
	line-height: 1.8;
}

.niku_block .inner .copy{
	font-size: 20px;
	line-height: 1.8;
	font-weight: bold;
	text-shadow: 1px 1px 2px rgba(255, 255, 255, 1),
				-1px -1px 2px rgba(255, 255, 255, 1);
	text-align: center;
}

.niku_block .inner .contents02{
	width: 950px;
	margin: 55px auto 30px;
	background-color: #FFFFFF;
	box-shadow: 0px 6px 11.64px 0.36px rgba(4, 0, 0, 0.14);
	padding: 30px 0;
}

.niku_block .inner .contents02 .left{
	width: 640px;
	text-align: center;
	position: relative;
}

.niku_block .inner .contents02 .right{
	width: 308px;
	text-align: center;
	position: relative;
}

.niku_block .inner .contents02 .left{
	border-right: 1px solid #e2e1d9;
}

.niku_block .inner .contents02 .left h4,
.niku_block .inner .contents02 .right h4{
	font-size: 25px;
	color: #950012;
	text-align: center;
	margin-bottom: 10px;
	font-weight: 500;
}

.niku_block .inner .contents02 .time{
	font-size: 15px;
	color: #000000;
	text-align: center;
	border-bottom: solid 2px #000000;
	border-top: solid 2px #000000;
	padding: 3px 0 0;
	display: inline-block;
	margin-bottom:20px;
	font-weight: 500;
}

.niku_block .inner .contents02 .left p,
.niku_block .inner .contents02 .right p{
	font-size: 13px;
}

.niku_block .inner .contents02 .left .lunch_image{
	position: absolute;
	top:120px;
	left:-120px;
}

.niku_block .inner .contents02 .right .dinner_image{
	position: absolute;
	top:-90px;
	right:-135px;
}

.niku_block .inner .contents03 .left,
.niku_block .inner .contents03 .right{
	width: 470px;
	/*height: 450px;*/
	background-color: #FFFFFF;
	box-shadow: 0px 6px 11.64px 0.36px rgba(4, 0, 0, 0.14);
	padding: 25px 25px 25px;
	margin: 0 15px;
	box-sizing: border-box;
	position: relative;
}

.niku_block .inner .contents03 .left h4,
.niku_block .inner .contents03 .right h4{
	font-size: 20px;
	color: #950012;
	text-align: center;
	margin-bottom: 10px;
	font-weight: bold;
}

.niku_block .inner .contents03 .left .sub_ttl{
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 15px;
}

.niku_block .inner .contents03 .left h5,
.niku_block .inner .contents03 .right h5{
	width: 275px;
	height: 25px;
	font-size: 13px;
	color: #FFFFFF;
	text-align: center;
	margin-bottom: 10px;
	font-weight: bold;
	background-image: url(../images/campaign/ribbon.gif);
	background-size: 100%;
	box-sizing: border-box;
	padding-top: 3px;
}


.niku_block .inner .contents03 .left .new{
	width: 320px;
	background-image: url(../images/campaign/ribbon02.gif);
	background-size: 100%;
	color: #1D1D1D;
}

.niku_block .inner .contents03 .left h5 span{
	color:#980002;
}

.niku_block .inner .contents03 .left p{
	font-size: 13px;
}

.niku_block .inner .contents03 .left .attention,
.niku_block .inner .contents03 .right .attention{
	font-size: 10px;
	margin-bottom: 20px;
	font-weight: 100;
	text-align: left;
}

.niku_block .inner .contents03 .right .txt01{
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	padding-right: 0px;
	margin: 10px 0 0px;
}

.niku_block .inner .contents03 .right .btn a{
	display:block;
	width:260px;
	margin:5px auto 10px;
}

.niku_block .inner .contents03 .right .beel{
	position: absolute;
	width: 80px;
	right:10px;
	top:272px
}

.niku_block .inner .contents03 .left .red{
	color: #950012;
}

.niku_block .inner .contents03 .left .coupon_image{
	position: absolute;
	bottom: 245px;
	right:25px;
}

.niku_block .inner .contents03 .right table{
	margin:20px 0;
	width:100%;
}

.niku_block .inner .contents03 .right table td span{
	font-size: 10px;
}

.niku_block .inner .contents03 .right table td{
	font-size: 12px;
	font-weight:bold;
	background:#fff5f5;
	padding:8px 0 5px;
}

.niku_block .inner .contents03 .right table tr:nth-child(2n) td{
	background:#f5f5f5;
}

.niku_block .inner .contents03 .right table td.td1{
	width:40%;
	padding-left:15px;
}

.niku_block .inner .contents03 .right table td.td2{
	width:45%;
}

.niku_block .inner a{
	display:block;
	font-size:16px;
	color:#ffffff;
	font-weight:bold;
	width:260px;
	padding:13px 0 11px ;
	box-sizing:border-box;
	background:#950012;
	text-decoration:none;
	position:relative;
	margin-top:30px;
}

.niku_block .inner a{
	text-align:center;
	padding-left:10px;
	margin:30px auto 0;
}

.niku_block .inner a:before{
	content:"";
	display:block;
	background:url(../images/top/top_arrow.png) no-repeat left top;
	background-size:8px 15px;
	width:8px;
	height:15px;
	position:absolute;
	left:20px;
	top:50%;
	margin-top:-7px;
	transition: all 0.4s;
}

.niku_block .inner a:hover:before{
	left:25px;
}

.left_inner{
	float: left;
	margin: 0 0 0 60px;
}

.right_inner{
	float: right;
	margin: 0 30px 0 0;
}


@media screen and (max-width: 768px) {

	.niku_block{
		background-image: url(../images/campaign/niku_bg.jpg);
	}

	.niku_block .inner{
		width: 90%;
		margin: 0 auto;
		padding: 10vw 0;
	}

	.niku_block .inner h2{
		width: 100%;
		margin: 3vw auto 0;
	}

	.niku_block .inner h2 img{
		width: 100%;
	}

	.niku_block .inner .contents01{
		width: 100%;
		margin: 5vw auto;
		text-align: center;
	}

	.niku_block .inner .contents01 .left,
	.niku_block .inner .contents01 .right{
		float: none;
	}

	.niku_block .inner .contents01 h3{
		font-size: 4vw;
		padding: 10px 0;
		display: inline;
	}

	.niku_block .inner .contents01 p{
		font-size: 4vw;
		line-height: 1.8;
		margin: 5vw 0;
	}

	.niku_block .inner .copy{
		font-size: 4.5vw;
		text-align: center;
		padding: 5vw 0 0;
	}

	.niku_block .inner .contents02{
		width: 100%;
		margin: 10vw auto 0;
		padding: 0 ;
	}

	.niku_block .inner .contents02 .left,
	.niku_block .inner .contents02 .right{
		width: 100%;
		float: none;
		padding: 5vw 0;
	}

	.niku_block .inner .contents02 .left{
		border-right: none;
		border-bottom: 1px solid #e2e1d9;
	}

	.niku_block .inner .contents02 .left h4,
	.niku_block .inner .contents02 .right h4{
		font-size: 8vw;
		margin-bottom: 10px;
		font-weight: 500;
		line-height: 1;
	}

	.niku_block .inner .contents02 .time{
		font-size: 5vw;
		padding: 3px 0 0;
		margin-bottom:4vw;
	}

	.niku_block .inner .contents02 .left p,
	.niku_block .inner .contents02 .right p{
		font-size: 3vw;
	}

	.niku_block .inner .contents02 .left .lunch_image{
		position: absolute;
		top:105vw;
		left:-8vw;
		width: 32vw;
	}

	.niku_block .inner .contents02 .right .dinner_image{
		position: absolute;
		top:-3vw;
		right:-13vw;
		width: 32vw;
	}

	.niku_block .inner .contents03 .left,
	.niku_block .inner .contents03 .right{
		width: 100%;
		height: auto;
		padding: 5% 3%  ;
		margin: 5vw 0 0;
		float: none;
	}

	.niku_block .inner .contents03 .left h4,
	.niku_block .inner .contents03 .right h4{
		font-size: 6vw;
	}

	.niku_block .inner .contents03 .left .sub_ttl{
		font-size: 4vw;
		font-weight: bold;
		text-align: center;
		margin-bottom: 15px;
	}

	.niku_block .inner .contents03 .left h5,
	.niku_block .inner .contents03 .right h5{
		width: 275px;
		height: 25px;
		font-size: 13px;
		color: #FFFFFF;
		text-align: center;
		margin-bottom: 10px;
		font-weight: bold;
		background-image: url(../images/campaign/ribbon.gif);
		background-size: 100%;
		padding: 0.7vw 0 0;
		box-sizing: border-box;
	}

	.niku_block .inner .contents03 .left .new{
	width: 320px;
	background-image: url(../images/campaign/ribbon02.gif);
	background-size: 100%;
}


	.niku_block .inner .contents03 .left p{
		font-size: 13px;
		margin: 5px 0;
	}

	.niku_block .inner .contents03 .left .attention,
	.niku_block .inner .contents03 .right .attention{
		font-size: 10px;
		margin-bottom: 20px;
		font-weight: 100;
		text-align: left;
	}

	.niku_block .inner .contents03 .right .txt01{
		font-size: 3vw;
		font-weight: bold;
		text-align: center;
		padding-right: 0;
		margin: 10px 0 15px;
	}

	.niku_block .inner .contents03 .right .beel{
		position: absolute;
		right: 2vw;
		bottom: auto;
		top:44%;
		width: 12vw;
	}

	.niku_block .inner .contents03 .right .btn a{
		width:90%;
		font-size:4vw;
	}

	.niku_block .inner .contents03 .right .beel img{
		width: 100%;
	}

	.niku_block .inner .contents03 .left .red{
		color: #950012;
	}

	.niku_block .inner .contents03 .left .coupon_image{
		bottom:auto;
		top:35vw;
		right:4vw;
		width: 25vw;
	}

	.niku_block .inner .contents03 .right table{
		margin:0;
		width:100%;
	}

	.niku_block .inner .contents03 .right table td span{
		font-size: 10px;
	}

	.niku_block .inner .contents03 .right table td{
		font-size: 12px;
		font-weight:bold;
		background:#fff5f5;
		padding:8px 0 5px;
	}

	.niku_block .inner .contents03 .right table td.td1{
		width:45%;
		padding-left:15px;
	}

	.niku_block .inner .contents03 .right table td.td2{
		width:34%;
	}

	.niku_block .inner a{
		display:block;
		font-size:4.2vw;
		color:#ffffff;
		font-weight:bold;
		width:80%;
		padding:3% 0 2% 0;
		text-align:center;
		box-sizing:border-box;
		text-decoration:none;
		position:relative;
		margin:5% auto 0;
	}

	.niku_block .inner a{
		text-align:center;
		padding-left:0;
		margin:30px auto 0;
	}

	.niku_block .inner a:before{
		content:"";
		display:block;
		background:url(../images/top/top_arrow.png) no-repeat left top;
		background-size:100% auto;
		width:2vw;
		height:4vw;
		position:absolute;
		left:8%;
		top:50%;
		margin-top:-1.5vw;
	}

	.left_inner{
	float: none;
	margin: auto;
	}

	.right_inner{
	float: none;
	}

}

/************************ add20180920 *****************************/

.niku_block{
	background-image: url(../images/201809/bg_one_year.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	width:100%;
}

.niku_block h2{
	padding-top:45px;
}

.niku_block h2:before,
.niku_block h2:after{
	display:none;
}

.main_list{
	width:100%;
	text-align:center;
}

.main_list li{
	display:inline-block;
	width:300px;
	position:relative;
	/*float:left;*/
	margin-right:30px;
	background:#FFF;
	padding:25px 10px;
	box-sizing:border-box;
	height:450px;
	margin-top:30px;
}

.main_list li:nth-child(1):before{
	content:"";
	display:block;
	background:url(../images/201809/icon.png) no-repeat left top;
	background-size:100% auto;
	width:120px;
	height:120px;
	position:absolute;
	left:-90px;
	top:90px;

}

.main_list li:last-child{
	margin-right:0;
}

.main_list li h3{
	text-align:center;
}

.main_list li .image{
	margin-top:20px;
	text-align:center;
}

.main_list li p{
	margin-top:20px;
	text-align:center;
	font-size: 12px;
	color: rgb(0, 0, 0);
	line-height: 1.667;
}

.niku_block .inner{
	margin-top:30px;
	padding-top:0;
}

.niku_block .inner .contents03 .right .attention{
	margin:0px;
}

.niku_block .inner .contents03 .right table{
	margin-bottom:10px;
}

.niku_block .inner .contents03 .right .year_ttl07{
	text-align:center;
	margin-top:20px;
	background:none;
	width:100%;
}

.niku_block .inner .contents03 .right .year_txt07{
	text-align:center;
	margin-top:6px;
	font-size: 13px;
	color: rgb(0, 0, 0);
	line-height: 1.769;
	text-align: center;
}

.niku_block .inner .contents03 .right .year_txt07 span{
	display:block;
	font-size:10px;
	color:#950012;
}

.niku_block .inner .contents03 .left h5, .niku_block .inner .contents03 .right h5 {
    width: 100%;
    height: auto;
    margin-bottom: 0;
    background-image: none;
    background-size: 100%;
    box-sizing: border-box;
    padding-top: 0;
	text-align:left;
}

.niku_block .inner .contents03 .left h5, .niku_block .inner .contents03 .left h5.mt {
	margin-top:20px;
}

.year_txt05{
	margin-top:10px;
	font-size:13px;
	font-weight:bold;
}

.year_txt05 span,
.year_txt06 li span{
	display:inline-block;
	position:relative;
	color:#950012;
	text-indent:0 !important;
}

.year_txt06 li span{
	line-height:1.2;
}

.year_txt05 span:before,
.year_txt05 span:after{
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#950012;
	position:absolute;
	left:0;
	bottom:0;
}

.year_txt05 span:after{
	bottom:-2px;
}

.year_txt06{
	margin-top:10px;
}

.year_txt06 li{
	font-size:13px;
	font-weight:bold;
	margin-bottom:5px;
	padding-left:1em;
	text-indent:-1em;
}

.year_txt06 li.min{
	color:#000;
	font-weight:normal;
	font-size:10px;
	line-height:1.2;
}

.year_txt06 li.min2{
	font-weight:normal;
	font-size:10px;
	color:#950012;
}

.year_txt06 li span.min3{
	font-weight:normal;
	font-size:10px;
}

@media screen and (max-width: 768px) {

	.niku_block{
		background-image: url(../images/201809/bg_one_year_sp.png);
		background-repeat: repeat-y;
		background-size:100% auto;

	}

	.niku_block h2{
		padding-top:10vw;
	}

	.niku_block h2 img{
		width:100%;
	}

	.niku_block h2:before,
	.niku_block h2:after{
		display:none;
	}

	.main_list{
		width:80%;
		margin:8vw auto 0px;
	}

	.main_list li{
		width:100%;
		position:relative;
		float:none;
		margin-right:0px;
		background:#FFF;
		padding:5vw ;
		box-sizing:border-box;
		height:auto;
		margin-bottom:5vw;
	}

	.main_list li:nth-child(1):before{
		content:"";
		display:block;
		background:url(../images/201809/icon.png) no-repeat left top;
		background-size:100% auto;
		width:25vw;
		height:25vw;
		position:absolute;
		left:-10vw;
		top:35vw;

	}

	.main_list li h3{
		text-align:center;
	}

	.main_list li .image{
		margin-top:5vw;
		text-align:center;
	}

	.main_list li p{
		margin-top:4vw;
		text-align:center;
		font-size: 3.2vw;
	}

	.niku_block .inner{
		margin-top:0;
		padding-top:0;
		width:80%;
	}

	.niku_block .inner .contents03 .right .attention{
		margin:0px;
		font-size:3vw;
	}

	.niku_block .inner .contents03 .right table{
		margin-bottom:2vw;
	}

	.niku_block .inner .contents03 .right .year_ttl07{
		text-align:center;
		margin-top:6vw;
		background:none;
		width:100%;
	}

	.niku_block .inner .contents03 .right .year_txt07{
		text-align:center;
		margin-top:3vw;
		font-size: 3.2vw;
		color: rgb(0, 0, 0);
		line-height: 1.769;
		text-align: center;
	}

	.niku_block .inner .contents03 .right .year_txt07 span{
		display:block;
		font-size:3vw;
		color:#950012;
	}

	.niku_block .inner .contents03 .left h5, .niku_block .inner .contents03 .right h5 {
		width: 50%;
		height: auto;
		margin-bottom: 0;
		background-image: none;
		background-size: 100%;
		box-sizing: border-box;
		padding-top: 0;
		text-align:left;
	}

	.niku_block .inner .contents03 .left h5, .niku_block .inner .contents03 .left h5.mt {
		margin-top:5vw;
	}

	.year_txt05{
		margin-top:2vw !important;
		font-size:3.2vw !important;
		font-weight:bold;
	}

	.year_txt05 span,
	.year_txt06 li span{
		display:inline-block;
		position:relative;
		color:#950012;
		text-indent:0 !important;
	}

	.year_txt06 li span{
		line-height:1.2;
	}

	.year_txt05 span:before,
	.year_txt05 span:after{
		content:"";
		display:block;
		width:100%;
		height:1px;
		background:#950012;
		position:absolute;
		left:0;
		bottom:0;
	}

	.year_txt05 span:after{
		bottom:-2px;
	}

	.year_txt06{
		margin-top:2vw !important;
	}

	.year_txt06 li{
		font-size:3.2vw !important;
		font-weight:bold;
		margin-bottom:1vw;
		padding-left:1em;
		text-indent:-1em;
	}

	.year_txt06 li.min{
		color:#000;
		font-weight:normal;
		font-size:3vw !important;
		line-height:1.2;
	}

	.year_txt06 li.min2{
		font-weight:normal;
		font-size:3vw !important;
		color:#950012;
	}

	.year_txt06 li span.min3{
		font-weight:normal;
		font-size:10px;
	}
}
/************************ /add20180920 *****************************/


/************************ add20181112 *****************************/

.menu_block04 .txt01{
	font-size: 13px;
	color: rgb(38, 38, 38);
	line-height: 1.769;
	text-align: center;
}

.menu_block04 .txt01 span{
	display:inline-block;
	margin-top:20px;
	background:#222222;
	font-size:14px;
	color:#FFF;
	padding:8px 25px 6px;
	font-weight:bold;
}

.menu_block04 .txt01 span .ib{
	margin: 0;
	padding: 0;
}

.menu_block04 .inner1{
	margin:0px auto 0;
	width:100%;
	position:relative;
}

.menu_block04 .inner1_b{
	width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
	margin:0 auto;
}

.menu_block04 .inner1:before{
	content:"";
	display:block;
	width:163px;
	height:201px;
	background:url(../images/20181112/icon_b01.png)	 no-repeat left top;
	background-size:100% auto;
	position:absolute;
	right:-160px;
	top:-50px;
}

.menu_block04 .inner1:after{
	content:"";
	display:block;
	width:158px;
	height:191px;
	background:url(../images/20181112/icon_b02.png)	 no-repeat left top;
	background-size:100% auto;
	position:absolute;
	left:-170px;
	bottom:-130px;
}

.menu_block04 .inner2.min{
	position:relative;
}

.menu_block04 .inner2.min:before{
	content:"";
	display:block;
	width:160px;
	height:223px;
	background:url(../images/20181112/icon_b03.png)	 no-repeat left top;
	background-size:100% auto;
	position:absolute;
	right:-160px;
	bottom:-110px;
}

.menu_block04 .inner1_b .inner1_bl{
	margin-right: 40px;
    margin-top: 140px;
	width:390px;
	float:left;
	position:relative;
}

.menu_block04 .inner1_b .inner1_bl:before{
	content:"";
	display:block;
	width:106px;
	height:104px;
	background:url(../images/20181112/bg01.png)	 no-repeat left top;
	background-size:100% auto;
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	top:-110px;
}
.menu_block04 .inner1_b .inner1_br:before{
	content:"";
	display:block;
	width:118px;
	height:282px;
	background:url(../images/20181112/bg02.png)	 no-repeat left top;
	background-size:100% auto;
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	top:-125px;
}

.menu_block04 .inner1_b .inner1_br{
	margin-top: 140px;
	width:390px;
	float:right;
	position:relative;
}

.menu_block04 .inner1_b .l{
	width:170px;
	float:left;
}

.menu_block04 .inner1_b .r{
	width:170px;
	float:right;
}

.menu_block04 .inner1_b ul,
.menu_block04 .inner2 ul{
	margin-top:15px;
}

.menu_block04 .inner1_b ul li,
.menu_block04 .inner2 ul li{
	margin-bottom:8px;
	font-size:15px;
	color:#222222;
}

.menu_block04 .inner1_b ul li span,
.menu_block04 .inner2 ul li span{
	font-size:12px;
}

.menu_block04 .inner1_b h4,
.menu_block04 .inner2 h4{
	border-bottom:solid 2px #222222;
	padding:0 0 10px 35px;
	font-size:18px;
	color:#222222;
	position:relative;
}

.menu_block04 .inner1_b h4:before{
	content:"";
	display:block;
	width:26px;
	height:26px;
	position:absolute;
	left:0;
	top:0;
	background-size:100% auto !important;
}

.menu_block04 .inner1_b h4.icon01:before{
	background:url(../images/20181112/icon_m01.png)	 no-repeat left top;
}
.menu_block04 .inner1_b h4.icon02:before{
	background:url(../images/20181112/icon_m02.png)	 no-repeat left top;
}
.menu_block04 .inner1_b h4.icon03:before{
	background:url(../images/20181112/icon_m03.png)	 no-repeat left top;
}
.menu_block04 .inner1_b h4.icon04:before{
	background:url(../images/20181112/icon_m04.png)	 no-repeat left top;
}

.menu_block04 .more_new{
	text-align:center;
	font-size:15px;
	color:#222222;
	font-weight:bold;
}

.menu_block04 .inner2{
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	max-width:890px;
	margin:40px auto 0;
}



.menu_block04 .inner2 .inner2_l{
	width:260px;
	float:left;
	margin-right: 40px;
    margin-top: 40px;
}
.menu_block04 .inner2 .inner2_lm{
	width:260px;
	float:left;
	margin-right: 10px;
    margin-top: 40px;
}

.menu_block04 .inner2 .inner2_c{
	width:260px;
	float:left;
	margin-right: 40px;
    margin-top: 40px;
}

.menu_block04 .inner2 .inner2_r{
	width:260px;
	float:right;
    margin-top: 40px;
}

.menu_block04 .inner2 h4:before{
	content:"";
	display:block;
	position:absolute;
	left:0;
	bottom:10px;
	background-size:100% auto !important;
}

.menu_block04 .inner2 h4.icon05:before{
	width:17px;
	height:47px;
	background:url(../images/20181112/icon_m05.png)	 no-repeat left top;
}
.menu_block04 .inner2 h4.icon06:before{
	width:19px;
	height:46px;
	background:url(../images/20181112/icon_m06.png)	 no-repeat left top;
}
.menu_block04 .inner2 h4.icon07:before{
	width:26px;
	height:31px;
	background:url(../images/20181112/icon_m07.png)	 no-repeat left top;
}
.menu_block04 .inner2 h4.icon08:before{
	width:19px;
	height:52px;
	background:url(../images/20181112/icon_m08.png)	 no-repeat left top;
}
.menu_block04 .inner2 h4.icon09:before{
	width:19px;
	height:45px;
	background:url(../images/20181112/icon_m09.png)	 no-repeat left top;
}
.menu_block04 .inner2 h4.icon10:before{
	width:18px;
	height:40px;
	background:url(../images/20181112/icon_m10.png)	 no-repeat left top;
}

/*----------------------menu------------------------*/


@media screen and (max-width: 986px) {

	.top_block03 ul li:nth-child(2){
		margin-right:0;
	}

		.menu_block01 ul .li2{
		margin-right:0;
	}

	.menu_block04 .inner1_b .inner1_bl{
		margin-right:0;
	}

}

@media screen and (max-width: 768px) {

	.niku_block .inner .contents03{
		display: inherit;
	}

	.menu_block04 .txt01{
		font-size: 4.4vw;
		margin:15% auto 0;
		text-align:left;
	}

	.menu_block04 .txt01 span{
		margin-top:5vw;
		background:#222222;
		font-size:4vw;
		padding:2vw 4vw 1.5vw;
		display:block;
		margin:5vw auto 0;
		width:90%;
		box-sizing:border-box;
	}

	.menu_block04 .inner1{
		margin:0px auto 0;
		width:100%;
		position:relative;
	}

	.menu_block04 .inner1_b{
		margin:15vw auto 0;
	}

	.menu_block04 .inner1:before{
		content:"";
		display:block;
		width:20vw;
		height:28vw;
		right:-0px;
		top:-5vw;
	}

	.menu_block04 .inner1:after{
		content:"";
		display:block;
		width:20vw;
		height:28vw;
		left:-0px;
		bottom:-30vw;
	}

	.menu_block04 .inner2.min{
		position:relative;
	}

	.menu_block04 .inner2.min:before{
		content:"";
		display:block;
		width:20vw;
		height:30vw;
		position:absolute;
		right:-10vw;
		bottom:-20vw;
	}

	.menu_block04 .inner1_b .inner1_bl{
		width:80%;
		float:none;
		margin:0 auto;
		position:relative;
	}

	.menu_block04 .inner1_b .inner1_bl:before{
		content:"";
		display:block;
		width:30vw;
		height:30vw;
		background:url(../images/20181112/bg01.png)	 no-repeat left top;
		background-size:100% auto;
		position:absolute;
		left:50%;
		transform:translateX(-50%);
		top:0vw;
	}
	.menu_block04 .inner1_b .inner1_br:before{
		content:"";
		display:block;
		width:30vw;
		height:80vw;
		background:url(../images/20181112/bg02.png)	 no-repeat left top;
		background-size:100% auto;
		position:absolute;
		left:50%;
		transform:translateX(-50%);
		top:0vw;
	}

	.menu_block04 .inner1_b .inner1_bl{
		margin-right:auto;
	}

	.menu_block04 .inner1_b .inner1_br{
		width:80%;
		float:none;
		margin:0 auto;
		position:relative;
		margin-top:10%;
	}

	.menu_block04 .inner1_b .l{
		width:100%;
		float:none;
		margin-top:40vw;
	}

	.menu_block04 .inner1_b .r{
		width:100%;
		float:none;
		margin-top:10%;
	}

	.menu_block04 .inner1_b ul,
	.menu_block04 .inner2 ul{
		margin-top:5%;
	}

	.menu_block04 .inner1_b ul li,
	.menu_block04 .inner2 ul li{
		margin-bottom:2vw;
		font-size:3.8vw;
	}

	.menu_block04 .inner1_b ul li span,
	.menu_block04 .inner2 ul li span{
		font-size:3.4vw;
	}

	.menu_block04 .inner1_b h4,
	.menu_block04 .inner2 h4{
		border-bottom:solid 2px #222222;
		padding:0 0 3% 8vw;
		font-size:4.4vw;
	}

	.menu_block04 .inner1_b h4:before{
		content:"";
		display:block;
		width:6vw;
		height:6vw;
		position:absolute;
		left:0;
		top:0;
		background-size:100% auto !important;
	}

	.menu_block04 .inner1_b h4.icon01:before{
		background:url(../images/20181112/icon_m01.png)	 no-repeat left top;
	}
	.menu_block04 .inner1_b h4.icon02:before{
		background:url(../images/20181112/icon_m02.png)	 no-repeat left top;
	}
	.menu_block04 .inner1_b h4.icon03:before{
		background:url(../images/20181112/icon_m03.png)	 no-repeat left top;
	}
	.menu_block04 .inner1_b h4.icon04:before{
		background:url(../images/20181112/icon_m04.png)	 no-repeat left top;
	}

	.menu_block04 .more_new{
		text-align:center;
		font-size:18px;
		color:#222222;
		font-weight:bold;
	}

	.menu_block04 .inner2{
		width:80%;
		margin:15vw auto 0;
	}



	.menu_block04 .inner2 .inner2_l{
		width:100%;
		float:none;
	}

	.menu_block04 .inner2 .inner2_c{
		width:100%;
		float:none;
		margin-left:0;
		margin-top:8vw;
	}

	.menu_block04 .inner2 .inner2_r{
		width:100%;
		float:none;
		margin-top:8vw;
	}

	.menu_block04 .inner2 h4:before{
		content:"";
		display:block;
		position:absolute;
		left:0;
		bottom:1vw;
		background-size:100% auto !important;
	}

	.menu_block04 .inner2 h4.icon05:before{
		width:4vw;
		height:12vw;
		background:url(../images/20181112/icon_m05.png)	 no-repeat left top;
	}
	.menu_block04 .inner2 h4.icon06:before{
		width:4vw;
		height:12vw;
		background:url(../images/20181112/icon_m06.png)	 no-repeat left top;
	}
	.menu_block04 .inner2 h4.icon07:before{
		width:6vw;
		height:9vw;
		background:url(../images/20181112/icon_m07.png)	 no-repeat left top;
	}
	.menu_block04 .inner2 h4.icon08:before{
		width:4vw;
		height:12vw;
		background:url(../images/20181112/icon_m08.png)	 no-repeat left top;
	}
	.menu_block04 .inner2 h4.icon09:before{
		width:4vw;
		height:11vw;
		background:url(../images/20181112/icon_m09.png)	 no-repeat left top;
	}
	.menu_block04 .inner2 h4.icon10:before{
		width:4vw;
		height:11vw;
		background:url(../images/20181112/icon_m10.png)	 no-repeat left top;
	}
}
/************************ /add20181112 *****************************/
.st-ani{
	max-width:1000px;
	width: 100%;
}

/*
@media screen and (max-width: 1200px) {

	.top_block03 .top_block03_inner{
		width:100%;
	}

.top_block03_inner .inner{
	width: 100%;
}

.top_block03_inner .inner .inner_r{
	right: 2%;
}
	.top_block03_inner .inner.right_box .inner_r{
		left:2%;
	}

.top_block03_inner .inner .inner_l .txt_block{
	width: 680px;
}
	.top_block02_ttl01{
		top:-145px;
	}


	.top_block03_inner .inner.right_box .inner_l .txt_block{
		padding-left:200px;
	}



}
*/
.dinner-fee{
	margin-left: 90px;
}
@media screen and (max-width: 876px) {

	.menu_block04 .inner2 .inner2_c2{
		margin-right:0;
	}

	.menu_block04 .inner2 .inner2_r2{
		margin-right:40px;
	}

	.menu_block04 .inner2 .inner2_l2{
		margin-right:0;
	}
	.dinner-fee{
	margin-left: 64px;
  }
}




