/* ========================================================================

	TOP
  
======================================================================== */
/* ------------------------------------------------------------------------
	visual
------------------------------------------------------------------------ */

.visual img { width: 100%; }


.visual .days {
	position: fixed;
	top: 200px;
	right: 0;
	text-align: center;
	width: 80px;
	height: 330px;
	box-shadow: -10px 8px 17px -10px rgba(0,0,0,0.6), 8px 4px 7px 9px rgba(219,207,54,0);
	box-sizing: border-box;
	background: url(../../images/module/top/days.jpg) no-repeat ;
	background-size: contain;
	z-index: 3;
}

.visual .days dl { 
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	padding-right: 5px;
	
}
.visual .days dl span{
	text-combine-upright: all;
}

.visual .days dt {
	font-weight: bold;
	font-size: 17px;
	writing-mode: vertical-rl;
	padding-top: 10px;
	padding-right: 3px;
}

.visual .days dd {
	font-weight: bold;
	font-size: 19px;
	writing-mode: vertical-rl;
	padding-top: 140px;
	line-height: 1;
	padding-right: 5px;
}

.visual .days dd span,
.visual .days dt span {
	color: #ba3a2b;
	font-size: 138%;
}


/* ------------------------------------------------------------------------
	info
------------------------------------------------------------------------ */
.info {
	padding: 100px 0 80px;
	width: 100%;
	/* background: url(../../images/common/bg01.gif) repeat 0 0; */
	background-color: #fff;
	background-color: #fff;
	position: relative;
	z-index: 1;
	background: url(../../images/module/top/bg3.png) repeat 0 0; 
}
.info .inner{
	position: relative;
	z-index: 2;
	text-align: center;
}
.info .img{
	position: absolute;
	bottom: -100px;
	right: 0;
}
.info::after{
	position: absolute;
	content: "";
	background: url(../../images/module/top/cloud3.png) no-repeat 0 0;
	bottom: -100px;
	right: 0;
	width: 400px;
	height: 170px;
	background-size: contain;
}


.info h3 { text-align: center;
font-family: fot-tsukumin-pr6n, sans-serif;
font-size: 3rem; 
line-height: 0.8;
margin-bottom: 50px;
display: inline-block;
}


.info h3 span{
	font-size: 1rem;
	color: #ba3a2b;
	letter-spacing: 3px;
	font-family: yu-mincho-pr6n, sans-serif;
}
.info ul {
	margin-top: 45px;
	margin-bottom: 55px;
	border-top: solid 1px #ba3a2b;
}

.info li {
	overflow: hidden;
	padding: 20px 10px;
	color: #1a1a1a;
	line-height: 1.8;
	border-bottom: solid 1px #ba3a2b;
	/* background: url(../../images/module/top/line01.png) no-repeat bottom; */
}

.info li strong {
	float: left;
	margin-right: 20px;
}

.info li span {
	float: left;
	display: block;
	padding: 0 12px;
	color: #fff;
	text-align: center;
	width: 170px;
	background: #ba3a2b;
	border-radius:5px 5px 5px 5px ;
	-moz-border-radius:5px 5px 5px 5px ;
	-webkit-border-radius:5px 5px 5px 5px ;
}

.info li div {
	float: right;
	width: 65%;
	text-align: left;
}



/* ------------------------------------------------------------------------
	about
------------------------------------------------------------------------ */
#about {
	padding: 100px 0;
	width: 100%;
	background: url(../../images/module/top/bg02.png) repeat 0 0;  
	
	position: relative;
	
}

#about h3 {
	margin-bottom: 50px;
	text-align: center;
	font-family: fot-tsukumin-pr6n, sans-serif;
font-size: 3rem; 
line-height: 0.8;
color: #fff;
}
#about h3 span{
	font-size: 1rem;
	color: #000;
	letter-spacing: 3px;
	font-family: yu-mincho-pr6n, sans-serif;
}
.about-contents{
	display: flex;
	align-items: center;
	
	justify-content: space-around;
	position: relative;
	
	width: 100%;
	background-color: #fff;
	padding: 50px 10px;
	height: 400px;
	
}
#about p {
	writing-mode: vertical-rl;
	line-height: 2.4;
	max-width: 550px;
	font-size: 1rem;
	background: url(../../images/module/top/logo.gif) no-repeat center ;
	background-size: contain;
	
}
#about .about-contents img{
	width: calc(80%/2);
}

#about p span{
	color: #ba3a2b;
	font-size: 1.3rem;
	line-height: 1;
	display: block;
    font-weight: bold;}

/* ------------------------------------------------------------------------
	restaurant
------------------------------------------------------------------------ */
#restaurant {
	padding: 100px 0;
	width: 100%;
	/* background: url(../../images/module/top/img01.jpg) center center / cover no-repeat; */
	background: url(../../images/module/top/bg3.png) repeat 0 0; 
	position: relative;
	z-index: 1;
}

#restaurant .inner {
	padding: 0 5%;
	max-width: 1100px;
	position: relative;
	z-index: 3;
}
#restaurant::before{
	position: absolute;
	content: "";
	background: url(../../images/module/top/cloud4.png) no-repeat 0 0;
	top: -80px;
	left: 0;
	width: 400px;
	height: 170px;
	background-size: contain;
	z-index: 2;
}
#restaurant::after{
	position: absolute;
	content: "";
	background: url(../../images/module/top/cloud3.png) no-repeat 0 0;
	bottom: -100px;
	right: 0;
	width: 400px;
	height: 170px;
	background-size: contain;
	z-index: 1;
	
}
#restaurant h3 {
	margin-bottom: 50px;
	text-align: center;
	font-family: fot-tsukumin-pr6n, sans-serif;
font-size: 3rem; 
line-height: 0.8;
position: relative;
z-index: 3;
}
#restaurant h3 span{
	font-size: 1rem;
	color: #ba3a2b;
	letter-spacing: 3px;
	font-family: yu-mincho-pr6n, sans-serif;
}

#restaurant p {
	margin: 0 auto;
	line-height: 2.4;
	max-width: 1000px;
	background-color: #fffaf3;
	border: #ba3a2b solid 1px;
	padding: 20px 60px ;
	box-shadow: 10px 10px 0px 0 rgba(186,58,43,1);
	position: relative;
	font-size: 1.1rem;
}
#restaurant p::before{
	position: absolute;
	content: "";
	background: url(../../images/module/top/logoicon.png) no-repeat;
	background-size: contain;
	width: 100px;
	height: 100px;
	top: -40px;
	left: -50px;
}

/* ------------------------------------------------------------------------
	recipe
------------------------------------------------------------------------ */
#recipe {
	padding: 100px 0;
	width: 100%;
	background: url(../../images/module/top/bg02.png) repeat 0 0; 
}

#recipe h3 {
	margin-bottom: 50px;
	text-align: center;
	font-family: fot-tsukumin-pr6n, sans-serif;
font-size: 3rem; 
line-height: 0.8;
color: #fff;
position: relative;
}

#recipe h3 span{
	font-size: 1rem;
	color: #000;
	letter-spacing: 3px;
	font-family: yu-mincho-pr6n, sans-serif;
}

#recipe p {
	line-height: 2.4;
	color: #000;
	text-align: left;
	width: 92%;
	margin: 0 auto;
	font-size: 1rem;
	padding-bottom: 30px;
}
#recipe .btn{
	display: flex;
	text-align: center;
	justify-content: center;
}

#recipe .btn a{
	color: #fff;
	letter-spacing: 3px;
	font-size: 1.2rem;
	transition: all 0.3;
	display: block;
	padding: 10px 50px;
	border:  solid 2px #fff;
	position: relative;
	z-index: 5;
	
}

#recipe .btn a:hover{
	color: #ba3a2b;
	background-color: #fff;
	opacity: 1;
}
.contest {
	margin-bottom: 50px;
	padding: 60px 0 0;
	text-align: center;
	background-color: #fff;
	position: relative;
}

.contest::after{
	position: absolute;
	content: "";
	top: 8px;
	right: 8px;
	background: url(../../images/module/top/recipe.png) no-repeat  ;
	width: 70px;
	height: 70px;
}
.contest::before{
	position: absolute;
	content: "";
	top: 8px;
	left: 8px;
	background: url(../../images/module/top/recipe3.png) no-repeat  ;
	width: 70px;
	height: 70px;
}
.contest h4 { margin-bottom: 40px; }

.contest ul {
	
	margin: 0 auto;
	width: 90%;
	display: flex;
	justify-content: space-between;
	position: relative;
	height: 100%;
	padding-bottom: 60px;
}
.contest ul::before{
	position: absolute;
	content: "";
	bottom: 8px;
	left: -4.7%;
	background: url(../../images/module/top/recipe2.png) no-repeat  ;
	width: 70px;
	height: 70px;
}
.contest ul::after{
	position: absolute;
	content: "";
	bottom: 8px;
	right: -4.7%;
	background: url(../../images/module/top/recipe4.png) no-repeat  ;
	width: 70px;
	height: 70px;
}
.contest li {
	float: left;
	width: calc(90%/3);
}

.contest li:nth-child(3n-1) { margin: 0 20px; }

.contest li img { margin-bottom: 10px; 
width: 100%;}
.contest li .rink{
	color: #ba3a2b;
	letter-spacing: 3px;
	border: #ba3a2b solid 1px;
	background-color: #fff;
	display: block;
	padding: 15px 0;
	line-height: 1;
	transition: all 0.3s;
}
.contest li .rink:hover{
	opacity: 1;
	background-color: #ba3a2b;
	color: #fff;
}
/* ------------------------------------------------------------------------
	definition
------------------------------------------------------------------------ */
#definition {
	padding: 100px 0 50px;
	width: 100%;
	background: url(../../images/common/bg01.gif) repeat 0 0;
	position: relative;
}
#definition::before{
	position: absolute;
	content: "";
	background: url(../../images/module/top/cloud4.png) no-repeat 0 0;
	top: -80px;
	left: 0;
	width: 400px;
	height: 170px;
	background-size: contain;
	z-index: 2;
}
#definition h3 {
	margin-bottom: 50px;
	text-align: center;
	font-family: fot-tsukumin-pr6n, sans-serif;
font-size: 3rem; 
line-height: 0.8;
}


#definition dl { margin-bottom: 100px; }

#definition dt {
	margin-bottom: 25px;
	padding-top: 2px;
	padding-left: 33px;
	color: #e50000;
	font-weight: bold;
	font-size: 138%;
	background: url(../../images/common/icon01.png) no-repeat 0 0;
}

#definition dd,
#definition dd li { line-height: 2; }

.group { width: 100%; }

.group img { float: left; }

#definition table {
	float: right;
	width: 50%;
}

#definition th,
#definition td {
	padding-bottom: 40px;
	line-height: 2.2;
}

#definition th {
	text-align: left;
	font-weight: bold;
}

/*----------------------------------------------------------------------------------------------------------------- SP ----*/
@media screen and (max-width: 960px) {
/* ------------------------------------------------------------------------
	info
------------------------------------------------------------------------ */
.info .inner{
	width: 94%;
}
.info ul {
	margin-top: 20px;
	margin-bottom: 20px;
	text-align: left;

}

.info li strong {
	display: block;
	float: none;
	margin-bottom: 5px;
	width: 100%;
}

.info li span { margin-bottom: 5px; }

.info li div {
	clear: both;
	float: none;
	width: 100%;
}

.info p img { width: 88%; }

/* ------------------------------------------------------------------------
	about
------------------------------------------------------------------------ */

.about-contents{
	flex-direction: column;
	height: auto;
	justify-content: center;
}
#about .about-contents img{
	width: 90%;
}
#about p {
	float: none;
	text-align: left;
	padding: 30px 0;
	width: 100%;
	max-height: 450px;
	background: url(../../images/module/top/logo.gif) center / contain no-repeat;
} 
}
@media screen and (max-width: 769px){
/* ------------------------------------------------------------------------
	visual
------------------------------------------------------------------------ */
.visual { text-align: center; }

.kv { width: 100%;
 }



.visual  .days {
	position: inherit;
	padding: 5px 0;
	text-align: center;
	top: 0;
	width: 100%;
	height: auto;
	background-image: none;
	background-color: #ba3a2b;
}

.visual  .days dl {
	margin: 0 auto;
	padding: 10px 0 ;
	width: 98%;
	background: #fff;
	border-radius:5px 5px 5px 5px ;
	-moz-border-radius:5px 5px 5px 5px ;
	-webkit-border-radius:5px 5px 5px 5px ;
	
	display: block;
	position: relative;
}

.visual  .days dt {
	font-weight: bold;
	font-size: 100%;
	writing-mode: inherit;
	display: block;
	padding-top: 0;
	padding-bottom: 7px;
}

.visual  .days dd {
	font-weight: bold;
	font-size: 123%;
	writing-mode:inherit;
	display: block;
	height: 30px;
	padding-top: 0;
}

.visual .days dd span {
	color: #cc0000;
	font-size: 139%;
}

}
/*----------------------------------------------------------------------------------------------------------------- SP ----*/
@media screen and (max-width: 767px) {


/* ------------------------------------------------------------------------
	info
------------------------------------------------------------------------ */
.info { padding: 40px 0; }
.info::after{
	display: none;
}
.info h3{
	font-size: 2rem;
	margin-bottom: 30px;
}
.info h3 span{
font-size: 1rem;
}
.info ul {
	margin-top: 20px;
	margin-bottom: 20px;
}

.info li strong {
	display: block;
	float: none;
	margin-bottom: 5px;
	width: 100%;
}

.info li span { margin-bottom: 5px; }

.info li div {
	clear: both;
	float: none;
	width: 100%;
}

.info p img { width: 88%; }


/* ------------------------------------------------------------------------
	about
------------------------------------------------------------------------ */
#about {
	padding: 40px 0;
	text-align: center;
}

#about h3 { margin-bottom: 30px;
font-size: 2rem; }
#about h3 span{
	font-size: 1rem;
}
#about h3 img { width: 80%; }

#about .right {
	float: none;
	margin-bottom: 20px;
	width: 60%;
}

#about p {
	writing-mode: inherit;
	float: none;
	text-align: left;
	padding: 30px 0;
	width: 100%;
	background: url(../../images/module/top/logo.gif) center / contain no-repeat;
}


/* ------------------------------------------------------------------------
	restaurant
------------------------------------------------------------------------ */
#restaurant { padding: 40px 0; }
#restaurant::before{
	display: none;
}
#restaurant::after{
	display: none;
}
#restaurant .inner {
	padding: 20px 4%;
	width: 90%;
}

#restaurant h3 { margin-bottom: 30px;
font-size: 2rem; }
#restaurant h3 span{
font-size: 1rem;
}
#restaurant h3 img { width: 60%; }

#restaurant p { width: 100%;
	padding: 20px 30px;
	font-size: 15px;
}
#restaurant p::before{
	width: 70px;
height: 70px;
top: -30px;
left: -30px;}

/* ------------------------------------------------------------------------
	recipe
------------------------------------------------------------------------ */
#recipe { padding: 40px 0 ; }

#recipe h3 { margin-bottom: 30px;
font-size: 2rem; }
#recipe h3 span{
	font-size: 1rem;
}
#recipe h3 img { width: 80%; }

.contest {
	margin-bottom: 30px;
	padding: 40px 0 0;
}

.contest h4 { margin-bottom: 30px; }
.contest h4 img { width: 80%; }

.contest ul{
	flex-wrap: wrap;
}

.contest li {
	float: none;
	margin-bottom: 15px;
	width: calc(90%/2)
}

.contest li:nth-child(3n-1) { margin: 0 0 15px; }

#recipe p img { width: 88%; }


/* ------------------------------------------------------------------------
	definition
------------------------------------------------------------------------ */
#definition { padding: 40px 0 50px; }
#definition::before{
	display: none;
}
#definition h3 { margin-bottom: 30px;
font-size: 2rem; }
#definition h3 img { width: 80%; }
#definition h3.mb50 img { width: 50%; }

#definition dl { margin-bottom: 50px; }


}
@media screen and (max-width: 1000px){
	.group { text-align: center; }

	.group img {
		float: none;
		margin-bottom: 30px;
		width: 90%;
	}
	
	#definition table {
		float: none;
		width: 90%;
		margin: 0 auto;
	}
	
	#definition th,
	#definition td {
		padding-bottom: 40px;
		line-height: 2.2;
		text-align: left;
	}
	
	#definition th {
		width: 28%;
	}
}

@media screen and (max-width: 428px){
.contest{
	background-size: 50px;
	background-color: #fff;
}
.contest::before{
	width: 50px;
	height: 50px;
	background-size: contain;
}
.contest::after{
	width: 50px;
	height: 50px;
	background-size: contain;
}
.contest ul::after{
	width: 50px;
	height: 50px;
	background-size: contain;
}
.contest ul::before{
	width: 50px;
	height: 50px;
	background-size: contain;
}
.contest li{
	width: 90%;
	margin: 0 auto 20px;
}
.contest li:nth-child(3n-1){
	margin: 0 auto 20px;
}
#recipe .btn a{
	
	padding: 10px 35px;
	
	
}
}
