body,h1,h2,h3,h4,p{
	margin:0;
	padding:0;
}

body{
	min-width: 320px;
}

ul{
list-style-type: none; 
padding-left: 0;
}

a{
	text-decoration:none;
}

p{
	line-height:1.6em;
}

#loading {
	width: 100%;
	height: 100%;
	margin: auto; 
	background: #323232;
	position: fixed; 
	z-index:9999
}

#loading img{
	position:fixed;
	top:20px;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}

#loading .load_logo{
	
	position:fixed;
	top:0px;
	left:0;
	right:0;
	bottom:170px;
	margin:auto;
}

@font-face{ 
	font-family: "NotoSerif"; 
	src:	url('../font/NotoSerifCJKjp-Light_min.woff') format('woff'), /* モダンブラウザ用 */
		url('../font/NotoSerifCJKjp-Light_min.otf') format('opentype'); /* iOS, Android用 */
	font-weight: normal; 
	font-style: normal;
}


@font-face{ 
	font-family: "NotoSerif"; 
	src:	url('../font/NotoSerifCJKjp-SemiBold_min.woff') format('woff'), /* モダンブラウザ用 */
		url('../font/NotoSerifCJKjp-SemiBold_min.otf') format('opentype'); /* iOS, Android用 */
	font-weight: bold; 
	font-style: normal;
}

html{
	height:100%;
}

body{
	position:relative;
	overflow-x: hidden;
	width:100%;
	height:100%;
	background-color:#000;
	font-family:"NotoSerif","Times New Roman",  "游明朝", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro" ,"メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}  


/* サイドオープン時にメインコンテンツを覆う部分 */
.overlay {
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0);
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  z-index: 4;
}

.overlay::after {
  visibility: hidden;
  position: fixed;
  top: 40%;
  left: 0;
  display: block;
  width: 100%;
  height: 50px;
  color: rgba(255,255,255,0);
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.side-open .overlay {
  visibility: visible;
  cursor: pointer;
  background: rgba(0,0,0,.5);
}

.side-open .overlay::after {
  visibility: visible;
  color: rgba(255,255,255,.8);
}

/* サイドメニュー ※リストのスタイルは省略 */
.side-menu {
  position: fixed;
  top: 0;
  left:-260px;
  width: 258px;
  height: 100%;
  text-align: left;
  font-size: 13px;
  background: rgba(50,50,50,1);
  z-index: 0;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.side_bar{
  position: fixed;
  display: block;
  top: 0;
  left: -2px;
  width: 60px;
  height: 100%;
  border-left:2px solid #ccc;
  background: rgba(50,50,50,1);
  z-index: 0;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

/* 開閉用ボタン ※ボタンの細かいスタイルは省略 */
.side-menu-btn:before {
  position: absolute;
  content:"";
  top:-2px;
  left:-2px;
  width: 30px;
  height: 28px;
  padding: 5px;
  border: solid 1px #fff;
  z-index: 8;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.side-menu-btn {
  position: fixed;
  top: 11px;
  left: 9px;
  width: 28px;
  height: 26px;
  padding: 5px;
  border: solid 1px #000;
  cursor: pointer;
  z-index: 7;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.side-menu-btn:after{
	position: absolute;
	content:"MENU";
	color:#fff;
	font-size:13px;
	top:40px;
	left: -1px;
    text-shadow: 1px 1px 1px #000,
    -1px 1px 1px #000,
    1px -1px 1px #000,
    -1px -1px 1px #000;
	
}

.side-menu-icon {
  position: fixed;
  top: 23px;
  left: 9px;
  width: 28px;
  height: 3px;
  margin: 5px;
  background: #fff;
  border-radius:6px;
  border:1px solid #000;
  cursor: pointer;
  z-index: 8;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.side-menu-icon:before,
.side-menu-icon:after {
  position: fixed;
  content:"";
  left: 9px;
  width: 28px;
  height: 3px;
  margin: 5px;
  background: #fff;
  border-radius:6px;
  border:1px solid #000;
  cursor: pointer;
  z-index: 8;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.side-menu-icon:before{
	top:15px;
}

.side-menu-icon:after{
	top:31px;
}

/* サイドメニューオープン */
.side-open .wrapper,
.side-open .side-menu,
.side-open .side_bar,
.side-open .overlay,
.side-open .side-menu-btn{
  -webkit-transform: translate3d(260px, 0, 0);
  transform: translate3d(260px, 0, 0);
}

.side-open .side-menu-btn:after{
	content:"CLOSE";
	top:40px;
	left:-2px;
}


.side-open .side-menu-icon{
	background: transparent;
	border:none;
	left:269px;
}

.side-open .side-menu-icon:before,
.side-open .side-menu-icon:after{
	top:22px;
	left:269px;
}

.side-open .side-menu-icon:before{
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.side-open .side-menu-icon:after{
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
}

/*サイドメニュー判別用*/
.wrapper{
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 3;
	height:100%;
}

/*ナビリスト*/
nav ul {
	margin:0
}

nav ul li{
	top:0px;
	border-right:none;
	padding:10px;
}

nav ul li a{
	position: relative;
	display: inline-block;
	transition: .3s;
	color:#ccc;
	font-size:18px;
}

/* layout	*/
.mt-10{
	margin-top: 10px;
}


/*トップページ*/

.index_contents h2{
	text-align:center;
	font-weight:normal;
	line-height:1.1em;
	margin-bottom:40px;
	font-size:28px;
}

.index_contents p{
	margin-left: 30px;
	margin-right: 30px;
}

.index_contents img{
	display:block;
	margin:30px auto;
}

.indent{
	padding-left: 1em;
	text-indent: -1em;
}

.indent a{
	color: #fff;
	text-decoration: underline;
}

.notice{
	margin-bottom: 40px;
}

.notice__inner{
	display: flex;
	flex-direction: column;
	align-items: center;
}

.notice__image{
	display: flex;
	justify-content: center;
	align-items: center;
}

.notice__image img{
	width: 30%;
	margin: 0;
	margin-top: 10px;
}

.notice__price-list{
	display: grid;
	grid-template-columns: 50px 1fr;
}

.notice__price-list dd{
	margin: 0;
	margin-left: 1em;
	text-align: right;
}

.notice a{
	color: #fff;
	text-decoration: underline;
}

.notice .underline{
	text-decoration: underline;
}

.notice .sweets{
	display: flex;
	justify-content: center;
	align-items: center;
}

.notice .sweets img{
	display: block;
	width: 30%;
	padding: 20px;
	margin: 0;
}

.notice .henreihin{
	margin: 20px 30px;
}

.notice .henreihin a{
	display: block;
	width: 240px;
	margin: 0 10px;
}

.notice .sweets.henreihin img{
	width: 100%;
	padding: 0;
}

.notice .obon{
	font-size: 20px;
	padding: 10px 0;
}

.notice .detail-link{
	color: red;
}

/*お料理メニュー*/

.foods_contents h1{
	text-align:center;
	font-weight:normal;
	line-height:1.1em;
	font-size:28px;
}

.under {
	border-bottom:1px solid #fff;
	font-size: 22px;
	margin-top: 60px;
  	margin-right: 20px;
  	margin-bottom: 20px;
  	margin-left: 20px;
}

.under.online{
	border-bottom: none;
	border-top: 1px solid #ffffff;
	padding-top: 20px;
	margin-top: 40px;
	margin-bottom: 20px;
}

.foods_contents img{
	display:block;
	margin:30px auto;
}

.course1{
	margin:10px 0;
}

.course_text{
	text-align:center;
}

.course_text h3,.course_text p{
	font-size:22px;
}

.course_about{
	width: 80%;
	margin: 10px auto;
	padding: 10px;
	text-align: left;
	border: solid 1px #8e8e8e;
}

.course_about p{
	font-size: 16px !important;
}

.set_table{
	margin:0 auto;
	font-size:18px;
}

.set_table th,
.set_table td{
	vertical-align:top;
	padding:3px 2px;
}

.set_table .center{
    text-align: center;
}

.foods_contents ul li{
	font-size:18px;
}

.ala,
#dessert{
	margin-bottom:20px;
}

.ala,
#dessert ul,
.drink_list ul{
	text-align:center;
}

.ala h2 .small-text{
	display: block;
	font-size: 16px;
	font-weight: 400;
}

.food_table{
	font-size:18px;
	margin-left: auto;
	margin-right: auto;
	width: 80%;
}

.food_table:nth-of-type(n + 2){
	margin-top: 30px;
}

.food_table th{
	text-align:left;
	font-weight: 400;
	max-width: 400px;
	min-width: calc(100% - 160px);
	width: calc(100% - 160px);
}
.food_table td{
	padding-left:5px;
	min-width: 160px;
	text-align:right;
}

.food_table .center{
	text-align: center;
	font-weight: 700;
}

.food_small-table{
	width: auto;
}

.food_small-table th{
	min-width: 250px;
}

.food_small-table td{
	min-width:70px;
	vertical-align: middle;
}

/* お料理画像 */
.cource_box.okosama_box{
	margin: 30px auto;
}

/* お料理スライド */
.cource_box{
	width: 500px;
	margin: 0 auto;
}

.slick-dotted.slick-slider{
	margin: 30px auto 92px auto;
}

.cource_box img{
	object-fit: contain;
	width: 100%;
	margin: 0;
}

ul.slick-dots{
	bottom: -45px;
	height: 35px;
}

.slick-dots li{
	width: 62px;
	height: 35px;
	margin: 0 4px;
}

.slick-dots li button{
	width: 62px;
	height: 35px;
	background-size: 100%;
	background-repeat: no-repeat;
	padding: 0;
}

.cource_slide .slick-dots li:nth-of-type(1) button{
	background-image:  url('../images/foods/special-cource-hosizaki/cource1.jpg');
}
.cource_slide .slick-dots li:nth-of-type(2) button{
	background-image:  url('../images/foods/special-cource-hosizaki/cource2.jpg');
}
.cource_slide .slick-dots li:nth-of-type(3) button{
	background-image:  url('../images/foods/special-cource-hosizaki/cource3.jpg');
}
.cource_slide .slick-dots li:nth-of-type(4) button{
	background-image:  url('../images/foods/special-cource-hosizaki/cource4.jpg');
}
.cource_slide .slick-dots li:nth-of-type(5) button{
	background-image:  url('../images/foods/special-cource-hosizaki/cource5.jpg');
}
.cource_slide .slick-dots li:nth-of-type(6) button{
	background-image:  url('../images/foods/special-cource-hosizaki/cource6.jpg');
}
.cource_slide .slick-dots li:nth-of-type(7) button{
	background-image:  url('../images/foods/special-cource-hosizaki/cource7.jpg');
}

.cource_slide2 .slick-dots li:nth-of-type(1) button{
	background-image:  url('../images/foods/season-cource/cource1.jpg');
}
.cource_slide2 .slick-dots li:nth-of-type(2) button{
	background-image:  url('../images/foods/season-cource/cource2.jpg');
}
.cource_slide2 .slick-dots li:nth-of-type(3) button{
	background-image:  url('../images/foods/season-cource/cource3.jpg');
}
.cource_slide2 .slick-dots li:nth-of-type(4) button{
	background-image:  url('../images/foods/season-cource/cource4.jpg');
}
.cource_slide2 .slick-dots li:nth-of-type(5) button{
	background-image:  url('../images/foods/season-cource/cource5.jpg');
}

.slick-dots li button:before{
	color: transparent;
	width: 64px;
	height: 35px;
}

.slick-dots .slick-active{
	border: 3px solid #ffffff;
}

.slick-dots li.slick-active button::before{
	color: transparent;
}

@media screen and (max-width: 768px){
	.cource_box{
		width: 80%;
		min-width: 350px;
	}

	.slick-dotted.slick-slider{
		margin: 30px auto 140px auto;
	}

	.slick-dots li{
		width: 65px;
		margin: 4px;
	}

	.slick-dots li button{
		width: 65px;
	}

	.slick-dots li button:before{
		width: 65px;
	}
}

/*ドリンクメニュー*/

.drink_contents h1{
	text-align:center;
	font-weight:normal;
	line-height:1.1em;
	font-size:28px;
}

.drink_table_wrap{
	margin:0 8px;
}

.drink_table{
	margin:0 auto;
	font-size:16px;
	text-align:left;
}

.drink_table th{
	text-align:left;
	border-bottom:1px dashed #fff;

}

.drink_table td{
	padding-bottom:15px;
	min-width:100px;
	text-align:left;
}

.alcohol_table{
	font-size:16px;
}
.alcohol_table th{
	text-align:left;
}
.alcohol_table td{
	padding-left:5px;
	min-width:70px;
	text-align:center;
}
/*こだわりindex*/

.point_contents h1{
	text-align:center;
	font-size:26px;
	margin-bottom:15px;
}

.point_contents p{
	margin:0 30px;
}

#point_link{
	margin:50px auto;
	text-align:center;
}

#point_link a img{
	margin:2% auto ;
	width:83%;
	max-width:400px;
	min-width:200px;
}	

/*こだわり共通*/

.hitachi_contents img,
.wine_contents img,
.vegetable_contents img{
	max-width:450px;
	width:90%;
}

.recruit_contents img{
	max-width:400px;
	width:90%;
}

.hitachi_contents p,
.wine_contents p,
.vegetable_contents p,
.recruit_contents p{
	margin:20px 30px;
}

#wine_img,
#hitachi_img{
	text-align:center;
}

#wine_img img,
#hitachi_img img{
	width:45%;
	display:inline-block;
	margin:5px;
}	

#point_banner{
	width:100%;
	text-align:center;
	margin:50px auto 10px auto;
}

#point_banner a img{
	display:inline-block;
	width:45%;
	max-width:300px;
	margin:20px 10px;
}

/*店舗情報*/

.restaurant_contents h1{
	text-align:center;
	font-size:26px;
	margin-bottom:20px;
}

.restaurant_top{
	margin:0 30px;
}

#restaurant_img{
	text-align:center;
}
#restaurant_img ul li{
	display:inline-block;
	width:45%;
	vertical-align:middle;
	margin-bottom:30px;
	font-size:14px;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}


#restaurant_img ul li img{
	width:100%;
}

#restaurant_img li:nth-child(2n+1){
	margin-right:10px;
}

#restaurant_img li:hover{
	opacity:0.7;
}

#booking{
	text-align:center;
	margin-top:20px;
}

.tabelog{
	display:inline-block;
	vertical-align:middle;
	margin-bottom:3px;
}

.tabelog1 {
	width:170px;
	margin-right:5px;
}

.tabelog1:hover {
	opacity:0.8;
}

.tabelog2{
	font-size:18px;
	text-align:left;
}


.card_img table{
	margin:0 auto;
	width:97%;
	max-width:650px;
}


.card_img table td img{
	width:100%;
}

/*採用情報*/
.recruit_contents h3{
	margin:30px;
	text-decoration: underline;
}

.recruit_contents table,
.reservation_contents table{
	margin: auto;
	border-collapse: collapse;
}

.recruit_contents tr,
.reservation_contents tr{
	border-bottom: 1px solid #fff;
}

.recruit_contents tr:nth-of-type(2),
.reservation_contents tr:nth-of-type(2){
	border-top: 1px solid #fff;
}

.recruit_contents tr:last-of-type,
.reservation_contents tr:last-of-type{
	border: none;
}

.recruit_contents table th{
	min-width:80px;
}

.recruit_contents table td{
	max-width:600px;
}

.recruit_contents table th,
.reservation_contents table th{
	vertical-align: top;
	padding: 10px;
	border-right: 1px solid #fff;
}

.recruit_contents table td,
.reservation_contents table td{
	vertical-align: top;
	padding: 10px 5px;
}

/*予約*/

.dotted{
	border-bottom: 1px dotted #fff !important;
}

.reservation_contents h1{
	text-align:center;
	font-weight:normal;
	line-height:1.1em;
	font-size:28px;
}

.reservation_contents table{
	width: 100%;
	max-width: 600px;
}

.reservation_contents table th{
	min-width: 160px;
}

.reservation_contents table td{
	font-size: 14px;
}

.reservation_contents #formWrap p{
	max-width: 600px;
	width: 95%;
	margin: 15px auto;
}

.form_btn{
	text-align: center;
}

.reservation_contents .check-wrap{
	max-width: 540px;
	width: 85%;
	margin: 15px auto;
	border: 1px solid #FFFFFF;
	font-size: 14px;
}

.reservation_contents .check-wrap .check-text{
	text-align: center;
}

.reservation_contents .check-wrap a{
	color: red;
}

.reservation_contents .check-wrap label{
	display: block;
	text-align: center;
}

.reservation_contents .check-wrap label [type="checkbox"]{
	position: relative;
	margin: 0 5px 0 0;
	border-radius: 0;
	width: 15px;
	height: 15px;
	vertical-align: -3px;
	border: 1px solid #000000;
	background-color: #FFFFFF;
}

/*各ページ共通*/
main{
	position: relative;
	display:block;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	width:100%;
	min-height:100%;
	z-index: 2;
}

#contents_wrap{
	max-width:800px;
	margin: 0px auto;
	padding:40px 0 30px 0;
	background: rgba(0,0,0,.7);
	color:#fff;
}


#top_logo {
	text-align:center;
	padding:20px 0;
}

#top_logo img{
	width:100%;
	max-width:330px;
}

.address h2{
	text-align:center;
	font-weight:normal;
	font-size:20px;
	margin:0 auto;
}

.address h3{
	text-align:center;
	font-weight:normal;
	font-size:18px;
	margin:0 auto;
}

.address p{
	text-align:center;
	font-weight:normal;
	font-size:20px;
	margin-bottom:20px;
	margin:0 30px;
}

#map{
	width:100%;
	height:300px;
	margin:0 auto -30px auto;
}


/* 予約・お問い合わせ	*/
.reservation{
	margin: 0 40px 70px 40px;
}

.reservation__itemWrap{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 50px 0 30px 0;
}

.reservation__itemWrap .notice{
	position: relative;
	padding-left: 18px;
}

.reservation__itemWrap .notice:before{
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

.reservation__item{
	width: 48%;
}

.reservation__item:first-of-type{
	margin-right: 2%;
}

.reservation__itemTitle{
	font-size: 18px;
	line-height: 30px;
	text-align: center;
	padding: 5px 10px;
	color: #303030;
	display: block;
	font-weight: 600;
	margin-bottom: 15px;
}

.reservation__itemTitle--white{
	background-color: #FFFFFF;
}

.reservation__itemTitle--gold{
	position: relative;
	background: rgb(181,131,52);
	background: linear-gradient(135deg, rgba(181,131,52,1) 0%, rgba(188,143,66,1) 4%, rgba(206,172,100,1) 15%, rgba(220,194,127,1) 23%, rgba(230,211,146,1) 33%, rgba(237,220,158,1) 43%, rgba(239,224,162,1) 51%, rgba(234,217,154,1) 58%, rgba(223,199,133,1) 72%, rgba(205,170,99,1) 84%, rgba(181,131,52,1) 100%);
}

.reservation__itemText{
	font-size: 18px;
}

.reservation__itemText--middle,
.reservation__itemText--large{
	display: inline-block;
	vertical-align: middle;
	line-height: 1em;
}

.reservation__itemText--small{
	position: relative;
	font-size: 13px;
	padding-left: 15px;
}

.reservation__itemText--small:before{
	content: '※';
	position: absolute;
	left: 0;
	top: 0;
}

.reservation__itemText--middle{
	margin-right: 15px;
}

.reservation__itemText--large{
	font-size: 28px;
}

.reservation__holiday{
	width: 100%;
	font-weight: 600;
	text-align: center;
	margin: 30px 0 0 0;
	padding: 10px 0;
	border-top: 1px solid #FFFFFF;
	border-bottom: 1px solid #FFFFFF;
}

.reservation__policy{
	border: 1px solid #FFFFFF;
	margin: 15px 0;
}

.reservation__policyTitle{
	width: 100%;
	line-height: 40px;
	font-size: 18px;
	background-color: #FFFFFF;
	color: #303030;
	text-align: center;
	margin-bottom: 15px;
}

.reservation__policyText{
	padding: 15px 10px;
	text-align: center;
	color: #FFFFFF;
}

.reservation__policyText--small{
	display: block;
	font-size: 14px;
	letter-spacing: -0.03em;
}

.reservation__policy--link{
	display: block;
	width: fit-content;
	margin: 0 auto;
	padding: 10px 30px;
	font-size: 18px;
	color: #FFFFFF;
	border: 1px solid #FFFFFF;
	transition: all .3s ease;
}

.reservation__policy--link:hover{
	background-color: #FFFFFF;
	color: #303030;
}

.line-break{
	display: inline-block;
}

/* お問い合わせ完了画面	*/
.completed__notice-text{
	font-weight: bold;
	color: red;
}

.decimal {
	width:calc( 100% - 45px );
	margin-left:35px;
	list-style-type:decimal;
	line-height:120%;
	letter-spacing:2px;
	font-size:0.9em;
}

.decimal dl dd {
	margin-left:5px;
}

.discWrap {
	width:90%;
	margin:20px auto;
	padding:20px 0px;
	border:solid 1px;
}

.disc {
	width:80%;
	margin:auto;
	list-style-type:disc;
}

.list_circle_num {
    padding: 0px;
    margin: 0px;
    list-style: none;
    counter-reset: list_circle_num_counter;
	font-size:0.9em;
}

.list_circle_num > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    counter-increment: list_circle_num_counter;
}
.list_circle_num > li::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 20%;
    left: 0px;
    transform: translateY(-50%);
    width: calc(1em);
    height: calc(1em);
    border: 1px solid #fff;
    font-weight: bold;
    border-radius: 50%;
    text-align: center;
    line-height: 1;
    content: counter(list_circle_num_counter);
}

.list_circle_num > li + li {
    margin: 0.8em 0px 0px;
}

@media(max-height:480px){	
	.side-menu{
		overflow: scroll;
		bottom:0;
	}
}

@media (min-width:1px) and (max-width: 1000px) {

	.side_bar{
		background:transparent;
	}

}
@media (max-width: 850px) {
	
	#contents_wrap{
		margin:0 8px;
	}
	
	.course_text h3,.course_text p{
		font-size:20px;
	}

	.foods_contents span{
		font-size:14px;
	}

	.foods_contents ul li,
	.set_table{
		font-size:16px;
	}

	.drink_table{
		font-size:14px;
	}

	.reservation_contents table,
	.recruit_contents table{
		width: 95%;
	}

	.reservation_contents table th,
	.reservation_contents table td,
	.recruit_contents table th,
	.recruit_contents table td{
		display: block;
		width: 100%;
		box-sizing: border-box;
	}	
	
	.recruit_contents table tr:first-of-type,
	.recruit_contents table tr:first-of-type th,
	.recruit_contents table tr:last-of-type,
	.recruit_contents table tr:last-of-type th{
		border: none;
	}
	
	.recruit_contents table th{
		border-right: none;
		border-bottom: 1px solid #fff;
	}
	
	.reservation_contents table th{
		padding: 8px 0 0 5px;
		text-align: left;
		border: none !important;
	}
	
	.reservation_contents table td{
		padding-top:5px;
	}
	
	#myInput{
		width: 98%;
	}
	
	.reservation_contents input{
		font-size: 16px;
	}
	
	.reservation_contents textarea{
		width: 98% !important;
	}
}

@media (max-width: 768px) {
	.reservation__item{
		width: 100%;
	}
	
	.reservation__item:first-of-type{
		margin-right: 0;
		margin: 15px 0;
	}

	.reservation__policy{
		margin-top: 0;
		margin-bottom: 15px;
	}
}


@media (min-width: 600px) {
	nav ul li a::after {
		position: absolute;
		bottom: 0;
		left: 0;
		content: '';
		width: 0;
		height: 1px;
		background-color: #ccc;
		transition: .3s;
	}
	nav ul li a:hover::after {
		width: 100%;
	}

}

@media (max-width: 530px) {
	.under{
		font-size:20px;
	}

	.drink_table th{
		padding-top:10px;
	}

	.drink_table td{
		display:block;
		padding-bottom:0;
	}

	.foods_contents.h1,
	.drink_contents.h1,
	.point_contents h1,
	.restaurant_contents h1,
	.reservation_contents h1{
		font-size:23px;
	}

	.point_contents h2,
	.hitachi_contents h2,
	.wine_contents h2,
	.vegetable_contents h2{
		font-size:20px;
		margin:0 10px;
	}
	
	.recruit_contents h3{
		font-size: 18px;
		margin: 10px;
	}
	.index_contents p,
	.point_contents p,
	.hitachi_contents p,
	.wine_contents p,
	.vegetable_contents p,
	.restaurant_top,
	.recruit_contents p{
		font-size:15px;
		margin:15px 10px;
	}

	.address p{
		font-size:18px;
	}

	.address h2{
		font-size:17px;
	}

	#map{
		width:100%;
	}

	.index_contents img{
		width:85%
	}


	.course_text{
		display:block;
		margin:20px;
	}

	#point_banner a img{
		display:block;
		margin:15px auto;
		width:80%;
	}

	.course_about p{
		font-size: 14px !important;
		line-height: 18px;
	}

	.alcohol_table{
		font-size:14px;
	}

	/*採用情報*/
	.recruit_contents table{
		font-size: 15px;
	}
}

@supports (-ms-ime-align:auto) {

    html{
        height: 100% !important;
        overflow: auto !important;
    }
    body{
        height: 100% !important;
        overflow: auto !important;
    }
}

@media all and (-ms-high-contrast:none) {
    /*IE11用*/
    *::-ms-backdrop,html{
        height: 100% !important;
        overflow: auto !important;
    }
    *::-ms-backdrop,body{
        height: 100% !important;
        overflow: auto !important;
    }

    /*IE10用*/
    html{
        height: 100% !important;
        overflow: auto !important;
    }
    body{
        height: 100% !important;
        overflow: auto !important;
    }
}

/* スタイル */
.fs-14{font-size: 14px!important;}
.fs-16{font-size: 16px!important;}

.w-80{width: 80%;}
.w-max-450{
	max-width: 450px;
}

.w-content{width: fit-content;}
.w-max{width: max-content;}

.mt-2{margin-top: 0.5em;}
.mt-4{margin-top: 1em;}

.mx-auto{margin-left: auto; margin-right: auto;}
.mx-20px{margin-left: 20px; margin-right: 20px;}

.color--red{color: red;}