/* CSS Document */
@media all and (max-width: 767px) {
	#slide-nav{
		display:block;
	}
	.owl-carousel .owl-item img{
    object-fit: cover;
	}
	.appear{
		display: block !important;
	}
	.disappear{
		display: none !important;
	}
	.txt_box p {
		font-size: 14px;
	}
	.txt_box, .seat .txt_box{
		margin: 0 3%;
	}
	.title_box h1, .home .news .title_box h2{
		font-size: 28px;
	}
	.pg .title_box h1::before, .home .news .title_box h2:before {
		top: 18px;
	}
	#header_left_box, #header_in_box{
		display: none;
	}
	.pg .right_box, .pg.seat .right_box {
		padding: 0 0 0 0;
	}
	.home .about {
		padding: 10px 0 20px;
	}
	#mv_box img {
		left: 0;
		right: 0;
		top: calc(50% - 13vw);
		text-align: center;
		display: block;
		width: 40vw;
		margin: 0 auto;
	}
	.welcome_img_box, .seat_img_box, .welcome_txt_box ul, .seat_txt_box ul, .info_txt_box ul {
		width: 96%;
		display: block;
		margin: 0 2%;
	}
	.home .right_box.welcome p{
		padding-top: 40px;
		padding-bottom: 40px;
		left: 0;
	}
	#footer_in_box{
		padding: 0;
	}
	.seat_txt_box {
		margin-bottom: 20px;
	}
	#r_text_box {
		padding-top: 0;
	}
	#r_img_box {
		margin-bottom: 0;
		padding-bottom: 0;
	}
	.r_title_img img{
		top:0;
	}
	.home .right_box.menu {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.menu .title_box p {
		margin-top: 0;
	}
	.r_title_img{
		height: 150px;
	}
	.welcome_txt_box ul li{
		font-size: 14px;
	}
	.welcome_txt_box ul{
		padding-top:20px;
		padding-bottom: 20px;
	}
	.welcome .cont-1 .welcome_img_box, .seat .cont-2 .seat_img_box{
		display: none;
	}
	.welcome_txt_box, .seat_txt_box{
		display:block;
	}
	.welcome .cont-3 {
		padding: 80px 0;
		width: 90%;
		margin: 0 auto;
	}
	.welcome .cont-1 .img_box_appear{
		display:block;
		width: 96%;
		margin: 0 auto;
	}
	.menu td span{
		display: block;
		font-size: 12px;
	}
	.menu td, .pg.about table tr td{
		font-size: 14px;
		line-height: 200%;
		margin: 4px 0;
		width: 100% !important;
		padding: 0 ;
	}
	.menu .caution {
		margin: 0 auto 0px;
	}
	.menu .caution.put {
		margin: 0 auto 30px;
	}
	.r_menutext_box, .r_abouttext_box{
		margin: 0 9%;
	}
	.r_menutext_box{
		padding-top: 10px;
	}
	.r_abouttext_box{
		padding-top: 0;
	}
	.about h3 {
		margin-bottom: 20px;
	}
	#r_text_box li, .welcome_txt_box ul li, .reserv_txt_box ul li{
		font-size: 14px;
	}
	.seat_img_box, .info_img_box{
		width: 96%;
		display: block;
		margin: 0 2%;
	}
	.info_txt_box ul li, .info_img_box p {
		text-align: center;
		margin: 20px 0;
		font-size: 14px;
		color: #fff;
		line-height: 160%
	}
	.info .cont-2 li {
		display: none;
	}
	.right_box.news dd, .right_box.news dt{
		display: block;
		line-height: 140%;
		width: 96%;
		margin: 0 2%;
		padding-bottom: 5px;
	}
	.right_box.news dt {
		font-size: 12px;
	}
	.right_box.news ul {
		width: 84%;
		margin: 0px 9%;
	}
	.right_box.news li{
		margin-bottom: 10px;
	}
	.right_box.news .reserv_txt_box.b li {
		margin-bottom: 0px;
	}
	.reserv_txt_box.b{
		width: 94%;
	}
	.reserv_txt_box ul{
		display: block;
	}
	.reserv_txt_box.b ul li{
		padding: 0;
	}
	.home .welcome p {
		-webkit-writing-mode: initial;
		-ms-writing-mode:initial;
		writing-mode: initial;
		-moz-writing-mode:initial;
		-o-writing-mode:initial;
		-webkit-writing-mode:initial;
		line-height: 220%;
		height: auto;
		letter-spacing: 0.1em;
		left: 0;
		padding: 20px 0;
		width: auto !important;
		text-align: center;
		margin: 0 4% !important;
	}
	.right_box.news {
		padding-top: 30px;
	}
	.home .title_txt_box {
		background-size: 50%;
	}
	.home .welcome p{
		font-size: 14px;
	}
	.seat_txt_box ul li, .reserv_txt_box ul li {
		color: #fff;
		font-size: 16px;
	}
	.reserv_txt_box.b ul li.reserv.tell {
		width: 260px;
		margin: 0 auto;
	}
	.reserv_txt_box.b ul li.reserv.tell::before{
		top: 16px;
		left: 5px;
	}
	.caution {
		padding: 10px 2%;
		max-width: 290px;
	}
	.caution.put {
		margin-top: 10px !important;
		margin-right: 0 !important;
		padding: 5px 10px;
		max-width: 150px;
		border: 1px solid #ccc;
		margin-bottom: 30px !important;
	}
	.reserv_txt_box.b ul.r li {
		position: relative;
		width: 140px;
		margin: 0 auto;
	}
	.reserv_txt_box.b ul.r li::before {
		top: 10px;
		left: 17px;
	}
	.home .right_box.welcome span.right {
		text-indent: 0px;
		display: inline-block;
		font-size: 16px;
		font-weight: bold;
		margin-top: 20px;
	}
	.right_box.reserv {
		padding: 0px;
	}
	.welcome_txt_box ul li {
		padding: 8px 25px;
	}
	.contacts #r_text_box li{
		padding: 10px 50px;
		line-height: 180%;
	}
	.seat_txt_box ul li.seat_intro {
		text-align: center;
		font-size: 16px;
		padding: 5px 0;
		line-height: 160%;
	}
	.seat .seat_txt_box ul li.small {
		padding: 0px;
		font-size: 12px;
	}
	.seat_txt_box ul li{
		padding: 0px;
	}
	.seat .seat_txt_box {
		margin-bottom: 0;
		padding-bottom: 20px;
		padding-top: 20px;
	}
	.info_txt_box.cont-1{
		padding-top: 33px;
		padding-bottom: 0;
	}
	.info_txt_box.cont-2{
		padding-top: 0px;
		padding-bottom: 3px;
	}
	.reserv_txt_box {
		padding-bottom: 10px;
	}
	.home .news .title_box h1::before {
		top: 18px;
	}
	.right_box.menu .menu_txt_box:nth-child(2) {
		flex-direction: column;
	}
	.menu .menu_img_box p{
		padding: 20px;
		max-width: none;
		margin: 0;
		letter-spacing: 2px;
    line-height: 140%;
		font-size: 13px;
	}
	.right_box.menu .menu_txt_box:nth-child(2) .menu_img_box {
		width: 100%;
	}
	.right_box.menu .menu_txt_box:nth-child(2)  .title_box {
		width: 100%;
	}
	.right_box.menu .menu_txt_box .title_box .a-reserve a, .a-reserve a{
		position: relative;
		display: block;
		bottom: inherit;
		margin-top: 20px;
    padding: 20px 20px 20px;
	}
	.right_box.menu .menu_txt_box .title_box .a-reserve a span, .a-reserve a span{
		bottom: -20px;
	}
	#about .info_gallery {
		margin-top: 30px;
	}
	#menu {
		padding-top: 0;
		padding-bottom: 0;
	}
	#menu ul {
		padding-top: 0;
		display: block;
		padding-bottom: 0;
	}
	#menu ul li{
		padding-top: 0;
		padding-bottom: 30px;
	}
	#menu ul.col1 li {
		padding-top: 0;
		padding-bottom: 30px;
	}
	#menu ul.col1 li .right p{
		padding-right: 0;
		font-size: 9vw;
    left: -10px;
	}
	#menu ul.col1 li .right:first-child p {
		font-size: 9vw;
		right: -10px;
	}
	#menu ul.col2, #menu ul.col3 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	#menu ul.col2 li .right p, #menu ul.col3 li .right p{
    font-size: 20px;
		letter-spacing: 2px;
    left: -4px;
		padding-right: 0;
	}
	#menu ul.col3 li {
		flex-basis: calc(50% - 15px);
		padding-top: 0;
	}
	#menu ul.col2 li .left img, #menu ul.col3 li .left img {
		margin-top: 10px;
	}
	#menu ul li .left p{
		line-height: 140%;
		margin: 0.5rem 0;
		font-size: 13px;
	}
	.menu .title_box h1{
		font-size: 22px;
	}
	#course h2, #reserve h2 {
		margin-bottom: 30px;
		font-size: 22px;
	}
	#course {
		padding: 40px 0;
	}
	#course p {
		padding: 0 20px;
		line-height: 160%;
		font-size: 14px;
	}
	.reserve-info {
		margin-bottom: 0;
	}
	#room .info_gallery {
		padding: 30px 0;
	}
	#reserve {
		padding: 30px 0 0;
	}
	#reserve ul{
		display: flex;
		flex-direction: column-reverse;
	}
	#reserve ul.col2 li:first-child{
		height: 300px;
		overflow: hidden;
	}
	footer {
		padding-top: 30px;
	}
	#slide-btn {
		top: 10px;
		right: 10px;
	}
	.page-top a {
		bottom: 10px;
		right: 10px;
	}
	#reserve p {
		line-height: 140%;
	}
	.menu_img_box .img_box {
		height: 200px;
	}
	#reserve .reserve-tell{
		margin-top: -140px;
		overflow: hidden;
	}
	#reserve .reserve-tell p{
		margin: 0;
		padding: 20px 20px 0;
		background: rgba(18,18,18,0.7);
		position: relative;
    margin: 20px 20px 0;
	}
	#reserve a.reserve.tell {
		margin: 0;
		background: rgba(18,18,18,0.7);
		padding: 0 20px 10px;
    margin: 0 20px 20px;
		border: none;
		max-width: none;
	}
	#announcement p{
		text-align: left;
	}
}
@media all and (max-width: 767px) and (orientation: landscape){
	.right_box.menu .menu_txt_box .title_box h2 span{
		font-size: 12px;
	}
	.contacts #r_text_box li span.scape, .pg .title_box h3{
		font-size: 14px;
	}
	.contacts #r_text_box li span.tell{
		line-height: 160%;
	}
	.menu td, .seat .seat_txt_box ul li.small{
		font-size: 10px;
		line-height: 160%;
	}
	.info_txt_box ul li, .info_img_box p{
		font-size: 12px;
		margin: 10px 0;
		line-height: 180%;
	}
	.seat_txt_box {
		padding-bottom: 40px !important;
		padding-top: 40px !important;
	}
	.seat_txt_box.cont-2{
		padding-top: 0!important;
	}
}
@media all and (max-width: 480px) {
	.home #info .title_box {
		width: auto;
		padding: 5px 0 5px 0;
		background: rgb(255,255,255);
		position: relative;
		z-index: 0;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		height: 250px;
	}
	.home #info .title_box {
		border: none;
		border-bottom: 1px solid #ddd;
	}
	.right_box.news {
		border-top: 1px solid #fff;
	}
	.reserv_txt_box.b {
		width: 81%;
	}
	.right_box.news {
		padding-bottom: 20px;
	}
}
