@charset "utf-8";

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

共通、既存上書き

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

.small { font-size: 1.2rem; }
.p_rel { position: relative; }
.m_top { margin-top:20px; }
.m_bottom { margin-bottom:20px; }
.orange { color:#f97703;font-weight: bold; }
.green { color:#3b8716;font-weight: bold; }
.tx_right{text-align: right;}
strong{font-weight: bold;}

br.sp { display: block; }


img.imgRight {
	float: right;
	margin: 0 0 0 10px;
	padding: 0;
}
img.imgRight:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix {
	zoom: 1;
}

.l-main {
	width: 100%;
	padding: 0;
}

.dining,
.dining p {
font-size: 1.7rem;
line-height: 1.6;
}

.dining * {
position: relative;
box-sizing: border-box;
}

section {
  margin: 0 !important;
}

.dining h3 {
  font-weight: bold !important;
}

.vsm-tile {
	box-sizing: border-box;
  margin: 0 10px;
  padding: 1px 0 0 0;
  background-color: #ffffff;
  border-radius: 30px;
	width: calc(100% - 20px);
}


/*===========================================================================*/
/*FV*/



.fv {
  margin: 0;
  padding: 0 0 80px 0;
  width: 100%;
  position: relative;
  background: url(../img/fv_bg_seaimage.jpg) top 280px center repeat-x;
  background-size: auto 50%;
}

.fv .fv_header {
  height: 300px;
  background: url(../img/fv_image.jpg) center center no-repeat;
  background-size: cover;
}

.fv .fv_header h1 {
  position: absolute;
  top: 230px;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, 0);
  display: block;
  overflow: hidden;
  margin: 0;
  padding-top: 200px;
  height: 0 !important;
  line-height: 250%;
  max-width: 1200px;
  width: 100%;
  background: url(../img/fv_text1.svg) top left no-repeat;
  background-size: 70%;
}

.fv .fv_header h1::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	right: 10px;
	width: 60%;
	height: 120px;
	background: url(../img/fv_sp_text2.svg) center center no-repeat;
  background-size: 100%;
}


/*レストラン内の風景*/

.location_images {
  margin: 150px auto 0 auto;
  padding: 0;
  max-width: 1500px;
  width: 100%;
}

.location_images .main_photo {
  margin: 0;
	padding: 0px 10px 10px 10px;
  height: auto;
}

.location_images2 .main_photo {
  width: auto;
  max-height: 450px;
  height: 100%;
}

.location_images h2 {
  margin: 0;
  padding: 10px 0 0 10px;
  font-size: 1.5em;
  list-style: 1.7;
  font-weight: normal;
}

.location_images .thumb {
	padding: 0px 10px 0px 10px;
}

.location_images .thumb img {
	width: 30%;
}


/*ページ内リンク*/

.fv ul {
  margin-top: 30px;
  padding: 0;
  width: calc(100% - 40px);
  display: grid;
  grid-template-columns: .7fr 1fr .7fr;
  font-size: 1.4em;
}

.fv ul li {
  position: relative;
  margin: 0;
  padding: 0;
  text-align: center;
}

.fv li a {
  display: block;
  margin: 0;
  padding: 0;
	padding-top: 15px;
	padding-bottom: 20px;
  text-decoration: none;
	color: #000;
		transition: all 0.2s;
	-webkit-transition: all 0.2s;
}

.fv li a:hover,
.fv li a:visited {
	color: #000;
}

.fv li a::before {
  content: attr(data-en);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  font-size: 40%;
}

.fv li a::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: calc(50% - 10px);
	width: 20px;
	height: 20px;
	transform: rotate(45deg);
	border-bottom:2px solid #000;
	border-right:2px solid #000;
	transition: all 0.2s;
	-webkit-transition: all 0.2s;
}

.fv li a:hover::after {
	bottom: 5px;
}


/*お知らせ枠*/

.fv .info {
  margin: 50px 10px 0 10px;
  padding: 0px;
}

.fv .info .info_area {
  margin: 0;
  padding: 0;
}

.fv .info .info_area .photo {
  margin-bottom: 5px;
}

.fv .info h3 {
  margin: 0;
  padding: 10px 0;
  text-align: center;
  font-size: 2.7rem;
  color: #ffffff;
  text-shadow: 1px 0 10px #5d5350;
}

.fv .info h4 {
  margin: 0;
  padding-bottom: 10px;
  font-size: 2rem;
	font-weight: bold;
	color: #4a270f;
}

.fv .info .info_area img {
  width: 100%;
}

.fv .info .info_area .text {
  margin: 0;
  padding: 20px 20px 80px 20px;
  background-color: #e1b4a6;
}

.fv .info .link {
	position: absolute;
	bottom: 20px;
	right: 0;
  display: block;
	width: 80%;
	margin: 20px 0 0 0;
	padding: 10px 20px 10px 40px;
	background-color:#71401f;
	color: #ffffff;
	font-weight: bold;
	text-decoration: none;
}

.fv .info .link::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 6px);
  left: 10px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: rotate(45deg);
	transition: all 0.2s;
	-webkit-transition: all 0.2s;
}

.fv .info .link:hover::before {
  left: 15px;
}



/*===========================================================================*/
/*章ごとのタイトル画像*/

.content_main_image {
  margin: 0;
  padding: 0;
  height: 300px;
}

.content_main_image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}



/*===========================================================================*/
/* 期間限定／専用プラン */

.limited_time_plan {
	position: relative;
  margin: 330px 0 50px 0;
  padding: 100px 0;
  background: url(../img/ja_pattern_D.jpg);
  background-size: 400px;
}

.limited_time_plan::after {
  content: '';
  display: block;
  position: absolute;
  top: -10px;
  left: 10px;
  width: 200px;
  height: 40px;
	background: url(../img/limited_time_plan/limited_time_plan_text.svg) center center no-repeat;
	background-size: 70%;
	background-color:#f2b217;
}

.limited_time_plan .inner {
  margin: 0 auto;
  max-width: 1800px;
}

.limited_time_plan h2 {
  margin: 0 0 20px 0;
  padding: 10px 0 10px 20px;
	font-family: 'Yu Mincho', '游明朝', 'YuMincho', '游明朝体' !important;
  font-size: clamp(150%, 7.5vw, 250%);
  font-weight: bold;
  color: #f9c038;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #f1d84d 70%, #DAAF08 85%, #B67B03 90% 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	z-index: 1;
	border-left:3px solid #f9c038;
}

.limited_time_plan h2[data-codingmemo="sp用のタイトルです。pc用と同じものを入れてください。"] {
  margin: 0 10px 20px 10px;
}
.limited_time_plan h2[data-codingmemo="pc用のタイトルです。sp用と同じものを入れてください。"] {
  display: none;
}

.limited_time_plan .image_content {
  margin: 0;
  padding: 0;
}

.limited_time_plan img {
  width: 100%;
	border:1px solid #000000;
	box-shadow:0px 1px 12px 0px #000000;
}

/*一つ目*/
.limited_time_plan .image_content:nth-of-type(1) {
	display: grid;
	grid-template-columns: 1fr;
}

.limited_time_plan .image_content .cel:nth-of-type(1) {
	margin-left: 20px;
	margin-right: 20px;
	margin-top: 20px;
	order: 2;
}

.limited_time_plan .image_content:nth-of-type(1) p {
	position: relative;
  margin: 0;
  padding: 20px;
	margin-bottom: 40px;
  background: rgba(255, 255, 255, 0.9);
  z-index: 1;
}

.limited_time_plan .image_content:nth-of-type(1) p strong {
	display: block;
	margin-top: 10px;
	font-size: 170%;
	color: #cd950e;
}

.limited_time_plan .image_content:nth-of-type(1) p i {
	margin-right: 10px;
	font-size: 70%;
	font-style: normal;
	display: inline-block;
	margin-top: .5em;
}

.limited_time_plan .image_content:nth-of-type(1) p::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -2px;
  left: -2px;
  width: 30px;
  height: 30px;
  border-left: 4px solid #f9c038;
  border-bottom: 4px solid #f9c038;
}

.limited_time_plan .image_content:nth-of-type(1) p::before {
  content: '';
  display: block;
  position: absolute;
  top: -2px;
  right: -2px;
  width: 30px;
  height: 30px;
  border-right: 4px solid #f9c038;
  border-top: 4px solid #f9c038;
}


/*2つ目*/
.limited_time_plan .image_content:nth-of-type(2) .cel:nth-of-type(1) img {
	margin-left: -2%;
	width: 90%;
}

.limited_time_plan .image_content:nth-of-type(2) .cel:nth-of-type(2) {
	text-align: right;
}

.limited_time_plan .image_content:nth-of-type(2) .cel:nth-of-type(2) img {
	margin-top: 10px;
	margin-right: 2%;
	width: 80%;
}

/*最後*/
.limited_time_plan .image_content:last-of-type{
  /* padding-bottom: 0; */
}

/*ボタン*/
.limited_time_plan .planbtn {
  display: block;
  margin: 40px 20px 0px 20px;
  padding: 20px 60px;
  max-width: 500px;
  border: 2px solid #ffffff;
  border-radius: 20px;
  text-align: center;
  font-weight: bold;
  font-size: 150%;
  color: #ffffff;
  text-decoration: none;
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #f1d84d 70%, #DAAF08 85%, #B67B03 90% 100%);
}







/*===========================================================================*/
/* 海鮮ディナーバイキング */

.dinner_buffet {
  margin: 30px 0 50px 0;
  padding: 100px 0 1px 0;
  background: url(../img/ja_pattern_A.jpg);
  background-size: 400px;
}

.dinner_buffet::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 90px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.title_block {
  margin: 0;
  padding: 20px 0 20px 20px;
  width: 95%;
  color: #ffffff;
  background-color: #b15c65;
}

.title_block h1 {
  margin: 0;
  padding: 0;
  font-size: 2.5em;
	line-height: 1.2;
  font-weight: normal;
}

.title_block .reed {
  display: none;
}

.reed.sp_obj {
  margin: 40px 20px 0 20px;
  padding: 0;
}

.title_block .contents_logo {
  position: absolute;
  right: 20px;
  bottom: 10px;
  font-size: 1em;
  text-align: center;
}

.title_block .contents_logo::after {
  content: attr(data-en);
  position: absolute;
  left: 0;
  top: -10px;
  width: 100%;
  font-size: 40%;
}


/*個別商品の紹介枠*/

.photos {
  margin: 140px 10px;
  padding: 0;
}

.photos.start {
  margin: 80px 10px;
}

.photos.rightitem::before {
  content: "";
  position: absolute;
  left: -20px;
  top: -40px;
  width: 100%;
  height: calc(100% + 80px);
  border-top: 1px solid #b15c65;
  border-right: 1px solid #b15c65;
  border-bottom: 1px solid #b15c65;
  background-color: #ffffff;
}

.photos.leftitem::before {
  content: "";
  position: absolute;
  right: -20px;
  top: -40px;
  width: 100%;
  height: calc(100% + 60px);
  border-top: 1px solid #b15c65;
  border-left: 1px solid #b15c65;
  border-bottom: 1px solid #b15c65;
  background-color: #ffffff;
}

.photos.rightitem .main_photo {
  width: 100%;
}

.photos.leftitem .main_photo {
  width: 100%;
}

.photos .main_photo img {
  width: 100%;
}

.photos.leftitem .inner {
  margin: 0;
  padding: 30px 10px 0 50px;
}

.photos.rightitem .inner {
  margin: 0;
  padding: 30px 50px 0 10px;
}

/*個別商品の紹介枠　共通部分*/

.photos .main_photo .thumb {
  margin-top: 10px;
}

.photos .main_photo .thumb img {
  width: 20%;
}

.photos h3 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', '游明朝体' !important;
  font-size: 2em;
	font-weight: normal;
  margin-bottom: 10px;
}


/*焼きたてを味わう鉄板焼き*/

.photos.special {
  margin: 0 10px;
  padding: 20px;
  border: 2px solid #b15c65;
  background-color: #ffffff;
}


.photos.special .main_photo {
  margin: 10px 0;
  padding: 0;
}

.photos.special .point {
	margin-top: 10px;
  padding: 15px;
  color: #9c5454;
  font-size: .9em;
  border: 1px solid #d6b8b8;
}

.photos.special .point::after {
  content: "";
  position: absolute;
  top: -20px;
  right: 20px;
  width: 20px;
  height: 25px;
  background: url(../img/dinner/point_arrow.svg) center center no-repeat;
  background-size: 100%;
	transform: rotate(180deg);
}


/*林ポークを使用したメニュー*/

.pork {
  margin: 60px 10px 100px 10px;
  padding: 20px;
  background-color: #ffeaea;
}

.pork h3 {
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', '游明朝体' !important;
  font-size: 2em;
	font-weight: normal;
  margin-bottom: 10px;
}

.pork ul {
  margin: 20px 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 10px;
}

.pork ul li {
  margin: 0;
  padding: 0;
}

.pork ul img {
  width: 100%;
}

/*タイトル*/

.dinner_title_1 {
  display: block;
  overflow: hidden;
  margin: 70px auto 0 auto;
  padding-top: 70px;
  height: 0 !important;
  line-height: 250%;
  max-width: 850px;
  width: calc(100% - 20px);
  background: url(../img/dinner/c_sp_title_1.svg) center center no-repeat;
  background-size: 100%;
}

.dinner_title_2 {
  display: block;
  overflow: hidden;
  margin: 0px auto 20px auto;
  padding-top: 70px;
  height: 0 !important;
  line-height: 250%;
  max-width: 850px;
  width: calc(100% - 20px);
  background: url(../img/dinner/c_sp_title_2.svg) center center no-repeat;
  background-size: 100%;
}

.dinner_title_3 {
  display: block;
  overflow: hidden;
  margin: 70px auto 50px auto;
  padding-top: 100px;
  height: 0 !important;
  line-height: 250%;
  max-width: 850px;
  width: calc(100% - 20px);
  background: url(../img/dinner/c_sp_title_3.svg) center center no-repeat;
  background-size: 100%;
}

.dinner_title_4 {
  display: block;
  overflow: hidden;
  margin: 0px auto 20px auto;
  padding-top: 70px;
  height: 0 !important;
  line-height: 250%;
  max-width: 850px;
  width: calc(100% - 20px);
  background: url(../img/dinner/c_sp_title_4.svg) center center no-repeat;
  background-size: 100%;
}

.dinner_title_5 {
  display: block;
  overflow: hidden;
  margin: 0px auto 20px auto;
  padding-top: 70px;
  height: 0 !important;
  line-height: 250%;
  max-width: 850px;
  width: calc(100% - 20px);
  background: url(../img/dinner/c_sp_title_5.svg) center center no-repeat;
  background-size: 100%;
}

.dinner_title_6 {
  display: block;
  overflow: hidden;
  margin: 0px auto 20px auto;
  padding-top: 70px;
  height: 0 !important;
  line-height: 250%;
  max-width: 850px;
  width: calc(100% - 20px);
  background: url(../img/dinner/c_sp_title_6.svg) center center no-repeat;
  background-size: 100%;
}

.dinner_title_7 {
  display: block;
  overflow: hidden;
  margin: 0px auto 20px auto;
  padding-top: 70px;
  height: 0 !important;
  line-height: 250%;
  max-width: 850px;
  width: calc(100% - 20px);
  background: url(../img/dinner/c_sp_title_7.svg) center center no-repeat;
  background-size: 100%;
}

.dinner_title_8 {
  display: block;
  overflow: hidden;
  margin: 0px auto 20px auto;
  padding-top: 80px;
  height: 0 !important;
  line-height: 250%;
  max-width: 850px;
  width: calc(100% - 20px);
  background: url(../img/dinner/c_sp_title_8.svg) center center no-repeat;
  background-size: auto 100%;
}



/*===========================================================================*/
/* レストランでオーダーできる別注料理 */

.special_dinner {
  margin: 30px 0 50px 0;
  padding: 50px 0 1px 0;
  background: url(../img/ja_pattern_B.jpg);
  background-size: 400px;
}

.special_dinner h12 {
  margin: 0px auto;
  padding: 0;
  max-width: 1000px;
  width: calc(100% -20px);
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', '游明朝体' !important;
  font-size: 2em;
	font-weight: normal;
	text-align: center;
}

.specialdinner_photo {
  margin: 20px 10px 100px 10px;
  padding: 0;
}

.specialdinner_photo p {
  margin: 0;
  padding: 10px;
}

.photo_area {
  margin: 20px 10px 100px 10px;
  padding: 0;
}

.photo_area .thumb_area a {
  display: block;
  margin: 0 0 5px 0;
  padding: 0;
}

.photo_area img {
  width: 100%;
}

.photo_area .thumb_area {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap:5px;
	margin-top: 5px;
}

.photo_area .thumb_area img {
  width: 100%;
}

.photo_area .main_image::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 30%;
  width: 65%;
  height: 80%;
  background-color: #ffffff;
}

.photo_area .main_image p {
  margin-top: 10px;
}

.pc_comment {
  display: none;
}



/*ディナー　一般メニュー*/

h2.dinner_other_menu {
  margin: 0px auto;
  padding: 0;
  max-width: 1000px;
  width: calc(100% -20px);
  font-family: 'Yu Mincho', '游明朝', 'YuMincho', '游明朝体' !important;
  font-size: 2em;
	font-weight: normal;
	text-align: center;
}

div.dinner_other_menu {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: 60px 40px;
  margin: 20px 20px 100px 20px;
  padding: 0;
}

div.dinner_other_menu.kids {
  grid-gap: 10px 40px;
}

div.dinner_other_menu h3 {
  margin-bottom: 5px;
  font-weight: bold;
}

div.dinner_other_menu_main {
  margin: 20px 0 50px 0;
  padding: 0;
}

.dinner_other_menu_comment {
  margin: 0px 10px;
  padding: 0;
}

div.dinner_other_menu.third {
  grid-template-columns: repeat(2, 1fr);
	grid-gap: 60px 20px;
}

div.dinner_other_menu img {
  position: relative;
  width: 100%;
  z-index: 1;
}

div.dinner_other_menu .text {
  z-index: 0;
  margin-top: 10px;
  margin-left: 10px;
	padding-right: 50px;
}

div.dinner_other_menu.third .text {
  font-size: .8em;
}

div.dinner_other_menu .text::before {
  content: "";
  position: absolute;
  left: -20px;
  top: -30px;
  width: 100%;
  height: calc(100% + 40px);
  z-index: 0;
  background-color: #ffffff;
	border:1px solid #f4f4f3;
}

div.dinner_other_menu.third .text::before {
  content: "";
  position: absolute;
  left: -20px;
  top: -30px;
  width: calc(100% + 10px);
  height: calc(100% + 40px);
  z-index: 0;
  background-color: #ffffff;
	border:1px solid #f4f4f3;
}





/*===========================================================================*/
/* 朝食バイキング */

.breakfast_buffet {
  margin: 30px 0 50px 0;
  padding: 100px 0 1px 0;
  background: url(../img/ja_pattern_C.jpg);
  background-size: 400px;
}

.breakfast_buffet .title_block {
  background-color: #006284;
}

.breakfast_title_1 {
  display: block;
  overflow: hidden;
  margin: 40px auto 0px auto;
  padding-top: 70px;
  height: 0 !important;
  line-height: 250%;
  max-width: 850px;
  width: calc(100% - 20px);
  background: url(../img/breakfast/c_sp_title_1.svg) center center no-repeat;
  background-size: 100%;
}

.special_dinner .main_image {
  position: relative;
}

.breakfast_menu {
  margin: 20px 10px 100px 10px;
  padding: 0;
}

.breakfast_menu .item {
  margin-bottom: 50px;
}

.breakfast_menu img {
  position: relative;
  width: 100%;
  z-index: 1;
}

.breakfast_menu .text {
  z-index: 0;
  margin-top: 10px;
  margin-left: 10px;
}

.breakfast_menu .text::before {
  content: "";
  position: absolute;
  left: -20px;
  top: -40px;
  width: 80%;
  height: calc(100% + 50px);
  z-index: 0;
  background-color: #ffffff;
	border-top:1px solid #006284;
	border-right:1px solid #006284;
	border-bottom:1px solid #006284;
}


/*その他メニュー一*/

.other_menu {
  margin: 20px 10px 100px 10px;
  padding: 20px;
  border: 1px solid #006284;
  background-color: #ffffff;
}

.other_menu h3 {
  margin: 0 0 40px 0;
  padding: 0;
  font-size: 1.5em;
  text-align: center;
  color: #006284;
}

.other_menu .other_menu_item {
  margin-bottom: 40px;
}

.other_menu .other_menu_item:last-of-type {
  margin-bottom: 0px;
}


.other_menu_list h4 {
  margin: 10px 0 0 0;
  padding: 0;
  font-size: 1.2em;
}

.other_menu_list h4::before {
  content: "";
  display: block;
  position: absolute;
  top: -10px;
  left: 0;
  height: 1px;
  width: 100px;
  background-color: #006284;
}

.other_menu_list ul {
  margin: 0 0 30px 0;
  padding: 0;
  list-style: none;
  color: #006284;
}

.other_menu_list li {
  margin: 0;
  padding: 0 0 4px 1.2em;
}

.other_menu_list li::before {
  content: "●";
  display: block;
  position: absolute;
  top: 1em;
  left: 4px;
  height: 30px;
  font-size: 50%;
}



/*===========================================================================*/
/*バナー*/

.page_banner_area {
  margin: 100px auto 50px auto !important;
  padding: 20px;
  max-width: 1000px;
  width: calc(100% -20px);
	text-align: center;
}



/*アレルギーメモ*/
.memo {
  margin: 100px auto 0 auto;
  padding: 20px;
  max-width: 900px;
  width: calc(100% - 20px);
  border: 1px solid #d1d5d3;
}

.memo h2 {
  margin: 0;
  margin-bottom: 20px;
  padding-bottom: 10px;
  font-size: 1.3em;
  text-align: center;
  border-bottom: 1px solid #d1d5d3;
}

.memo h3 {
  margin: 30px 0 20px 0;
  padding: 10px 0 10px 20px;
  font-size: 1.1em;
  border-left: 3px solid #a2a8a1;
}

.memo h4 {
  margin: 30px 0 15px 0;
}

.memo h4 i {
  padding: 10px 20px;
  font-size: .9em;
  font-style: normal;
  color: #ffffff;
  background-color: #a2a8a1;
  border-radius: 999px;
}


/*===========================================================================*/
/*===========================================================================*/
/*===========================================================================*/
/*===========================================================================*/
/*スマホ・PC向けの調整*/


/*PCのみ*/

@media all and (min-width: 767px) {



}





/*===========================================================================*/
/*スマホ調整*/

@media all and (max-width: 767px) {


/*共通、既存上書き*/
.sp_none{display: none;}



}/*スマホ向け設定　ここまで*/





