@charset "utf-8";
/* ===================================================================
	style.css
=================================================================== */
/*----------------------------------------------------
	メインビジュアル 
----------------------------------------------------*/
.main {
	display: flex;
	height: 100%;
	flex-wrap: wrap;
}
.main .firstview {
	width: 55%;
	background: url(../img/main_img_01.jpg) left top / cover no-repeat;
	order: 0;
	position: relative;
}
.main .firstview h2 {
	position: absolute;
	right: 3%;
	bottom: 3%;
	max-width: 464px;
}
.main .explanation {
	position: relative;
	width: 45%;
	padding: 3% 0 3% 4%;
	order: 1;
}
.main .explanation h1 {
	width: 80%;
	max-width: 450px;
}
.main .explanation h2 {
	margin: 6% 0 5% -20px;
	font-size: clamp(18px, 2.6vw, 30px);
	font-weight: bold;
}
.main .explanation p {
	margin: 3% 0 0;
	font-size: clamp(13px, 1.7vw, 21px);
	line-height: 2;
}
.main .explanation::after {
	display: block;
	content: "";
	background: url(../img/main_text_02.png) left bottom / 100% auto no-repeat;
	width: 10%;
	max-width: 61px;
	height: 607px;
	position: absolute;
	right: 2%;
	bottom: 4%;
}
@media only screen and (max-width: 1500px) {
.main {
	height: auto;
}
.main .firstview {
	width: 46%;
}
.main .explanation {
	width: 54%;
}
.main .firstview h2 {
	right: 1%;
	bottom: 1%;
}
}
@media only screen and (max-width: 1250px) {
.main .explanation::after {
	display: none;
}
}
@media only screen and (max-width: 748px) {
.main .firstview {
	width: 100%;
	min-height: 400px;
}
.main .firstview h2 {
	right: 0;
	bottom: 0;
	width: 60%;
}
.main .explanation {
	width: 100%;
	padding: 3% 3% 4%;
}
.main .explanation h1 {
	width: 60%;
	max-width: 350px;
	margin: 0 auto;
}
.main .explanation h2 {
	margin: 6% 0 2% -10px;
	font-size: clamp(17px, 3.6vw, 30px);
}
.main .explanation p {
	margin: 3% 0 0;
	font-size: clamp(13px, 2.6vw, 21px);
	line-height: 1.8;	
}
}
@media only screen and (max-width: 420px) {
.main .firstview h2 {
	width: 85%;
}
.main .explanation p br {
	display: none;
}
}
/*----------------------------------------------------
	about 
----------------------------------------------------*/
.about .nature {
	position: relative;
	background: url(../img/about_back_01.jpg) center bottom / 100% auto no-repeat #f4fafe;
	border-top: solid 1px #b3c2cb;	
	padding: 5% 3% 430px;
	text-align: center;
}
.about .nature p {
	margin-top: 3%;
	font-size: clamp(13px, 2.2vw, 21px);
	line-height: 2;
}
.about .nature p span {
	font-weight: bold;
}
.about .nature::after {
	display: block;
	content: "";
	background: url(../img/about_text_02.png) left bottom / 100% auto no-repeat;
	width: 47px;
	height: 230px;
	position: absolute;
	left: 3%;
	top: 100px;
}
.about h3 {
	padding: 2% 2% 2%;
	font-size: clamp(13px, 2.2vw, 30px);
	text-align: center;
}
.about .food {
	position: relative;
	height: 645px;
	background: url(../img/about_back_02.jpg) center bottom / 100% auto no-repeat #b6b7bb;
	padding: 3% 0 0;
	text-align: center;
}
.about .food h4 img {
	object-fit: cover;
	height: 100%;
}
@media only screen and (max-width: 1800px) {
.about .nature {
	background: url(../img/about_back_01.jpg) center bottom / 1800px auto no-repeat #f4fafe;
}
.about .food {
	background: url(../img/about_back_02.jpg) center bottom / 1800px auto no-repeat #b6b7bb;
}
}
@media only screen and (max-width: 1100px) {
.about .nature::after {
	display: none;
}
.about .food {
	height: 400px;
	background: url(../img/about_back_02.jpg) center bottom / cover no-repeat #b6b7bb;
	padding: 2% 0 0;
	text-align: center;
}
.about .food h4 {
	height: 90%;
	margin: auto;
}
}
@media only screen and (max-width: 748px) {
.about .nature {
	position: relative;
	background: url(../img/about_back_01.jpg) center bottom / 1000px auto no-repeat #f4fafe;
	padding: 7% 3% 250px;
	text-align: center;
}
.about .nature h2 {
	max-width: 290px;
	margin: 0;
}
.about .nature p {
	margin-top: 5%;
	text-align: left;
	line-height: 1.8;
}
.about h3 {
	margin-bottom: 1%;
	text-align: left;
}
.about .food {
	height: 300px;
	padding: 15px 0 0;
}
}
/*----------------------------------------------------
	utility
----------------------------------------------------*/
.utility {
	display: flex;
	flex-wrap: wrap;
}
.utility h3 {
	font-size: clamp(24px, 4.8vw, 60px);
	letter-spacing: 1px;
}
.utility h3 span {
	font-size: clamp(13px, 2.3vw, 32px);
}
.eating {
	width: 45%;
	background-image: url(../img/eating_back_02.jpg) , url(../img/eating_back_03.jpg) , url(../img/eating_back_01.jpg) ;
	background-repeat:  no-repeat , no-repeat , repeat;
	background-position: 20px 10px , 50px 96% , left top;
	padding: 2% 4% 3% 3%;
}
.eating ul {
	display: flex;
	margin: 0 -4%;
}
.eating ul li {
	width: 50%;
	padding: 0 4%;
}
.eating ul li figure {
	box-shadow: 15px 15px 0 0 rgba(255, 255, 255, 0.4);
}
.eating ul li:nth-child(1) {
	margin-top: 24%;
}
.eating ul li a {
	display: block;
	position: relative;
}
.eating ul li figure a::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 34%;
	height: 34%;
	background: url(../img/common/icon_play.png) center center / 100% auto no-repeat;
}
.fancybox-content {
	width: auto !important;
	height: 100% !important;
}
.eating ul li a:hover::before {
	width: 37%;
	height: 37%;
}
.eating ul li figure.pic {
	margin-top: 8%;
}
.eating dl {
	margin: 35px 0 0;
}
.eating dl dd {
	margin: 10px -4% 0 0;
	font-size: clamp(13px, 1.6vw, 17px);
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ",Meiryo, sans-serif;
}
.eating .button {
	margin: 12% -4% 0 0;
}
.eating .button a {
	background: url(../img/common/icon_arrow_01.png) 91% center / 6% auto no-repeat #423230;
	border: solid 1px #423230;
	padding: 2% 10% 3% 0;
	font-size: clamp(13px, 1.6vw, 18px);
	color: #ffffff;
	line-height: 1.3;
}
.eating .button a span {
	margin: 0 2px;
	font-size: clamp(12px, 1.2vw, 14px);
}
.eating .button a:hover {
	background: url(../img/common/icon_arrow_02.png) 93% center / 6% auto no-repeat #ffffff;
	color: #423230;
}
.lineup {
	width: 55%;
	background: url(../img/lineup_back_01.png) 98% 15px / 20% auto no-repeat;	
	padding: 2% 3%;
}
.lineup .text1 {
	margin-top: 1%;
	font-size: clamp(13px, 1.5vw, 22px);
	line-height: 2;
}
.lineup ul {
	display: flex;
	margin: 0 -2%;
}
.lineup ul li {
	width: calc( 100% / 3);
	padding: 3% 2%;
}
.lineup h4 {
	text-align: center;
}
.lineup h4 span {
	display: inline-block;
	background: url(../img/lineup_back_02.gif) left top repeat #ffeec5;
	padding: 3px 5px;
	color: #7e420d;
	font-size: clamp(22px, 2.8vw, 33px);
	font-weight: bold;
	line-height: 1;
}
.lineup figure {
	margin: 7% 0 7%;
}
.lineup .button a{
	background: url(../img/common/icon_arrow_01.png) 91% center / 8% auto no-repeat #d56f2b;
	border: solid 1px #d56f2b;
	padding: 2% 5% 2% 0;
	font-size: clamp(15px, 1.5vw, 20px);
	color: #ffffff;
}
.lineup .button a:hover {
	background: url(../img/common/icon_arrow_01.png) 93% center / 8% auto no-repeat #a42323;
	border: solid 1px #a42323;
	color: #ffffff;
}
.lineup .button a span {
	margin: 0 3px;
	font-size: clamp(12px, 1.3vw, 17px);
}
.lineup .text2 {
	margin-top: 5%;
	font-size: clamp(13px, 1.4vw, 17px);
}
.lineup .attention {
	color: #a94a0b;
	font-size: clamp(13px, 1.5vw, 22px);
	line-height: 1.6;
}
@media only screen and (max-width: 1100px) {
.eating {
	background-position: 20px 10px , 50px 96% , left top;
}
}
@media only screen and (max-width: 900px) {
.eating {
	width: 100%;
	padding: 4% 4% 6% 3%;
}
.eating ul li figure {
	max-width: 310px;
	box-shadow: 8px 8px 0 0 rgba(255, 255, 255, 0.4);
}
.eating dl {
	margin: 15px 0 0;
}
.lineup {
	width: 100%;
}
.lineup .text1 br {
	display: none;
}
}
@media only screen and (max-width: 520px) {
.eating {
	background-position: 10px -120px , 10px 105% , left top;
	padding: 4% 6% 6% 4%;
}
.eating .button a {
	font-size: clamp(13px, 2.1vw, 22px);
	min-width: 180px;
}
.lineup {
	background: none;
	padding: 4% 3% 6%;
}
.lineup ul {
	margin: 0;
	display: block;
}
.lineup ul li {
	width: 100%;
	padding: 7% 0 0;
}
.lineup h4 {
	margin: 0 0 -46px 10px;
	text-align: left;
    z-index: 1;
    position: relative;
}
.lineup figure {
	margin: 2% 0 3%;
}
.lineup .text2 {
	margin-top: 2%;
}
.lineup .attention {
	margin-top: 3%;
}

}
