@charset "utf-8";
@media (max-width: 1280px) {
	.container{
		padding: 0 30px;
	}
	
	/**footer**/
	footer .container .footer-left .footer-logo{
		width: 90px;
	}
	footer .container .footer-left .footer-information{
		width: calc(100% - 120px);
	}

}
@media (max-width: 1050px) {
	#information .news-container h2{
		left: 30px;
		top: 20px;
	}
	#concept .concept-image01,#concept .concept-image02{
		width:250px;
	}
}

@media (min-width: 781px) {
	.sp-only{
		display: none !important;
	}
	header .menu-container .head-menu ul li ul li a{
		transition: .3s;
	}
	header .menu-container .head-menu ul li ul li a:hover{
		background: #d7cfc3;
	}
	header .menu-container .head-menu ul#menu-header-menu li a.menu-hover{
		pointer-events: none;
	}
	/**hover**/	
	#mainmenu ul.mainmenu-ul li a:hover .mainmenu-image img{
		-webkit-filter: sepia(70%);
		filter: sepia(70%);
	}
	#mainmenu ul.mainmenu-ul li a:hover .mainmenu-text{
		border-bottom: 3px solid #524332;
	}
	.btn a:hover{
		background:#524332;
		color: #fff;
	}
	.btn a:hover::after{
		background: #fff;
		right: 295px;
	}
	#information .news-container .btn a:hover{
		background:#524332;
	}
	header .menu-container .head-menu ul#menu-header-menu li.logo_sp{
		display:none;
	}
	
}
@media (max-width: 780px) {
	.pc-only{
		display: none !important;
	}
	
	
	body{
		font-size: 14px;
	}
	.pc{
		display: none !important;
	}
	header .container {
		padding: 0;
    }
	header .container h1{
		float:none;
		padding-left:30px;
	}
	header .menu-container {
		width: auto;
		margin:auto;
		float:none;
    }
    header .menu-mobile {
		position:absolute;
      display: block;
		width:50px;
		height:50px;
		background:#fff;
		padding:0;
		right:5px;
		top:5px;
		z-index: 999;
    }
	header .menu-mobile:after {
		content: "\f394";
		font-family: "Ionicons";
		font-size: 2.5rem;
		padding: 0;
		position: absolute;
		top: 9px;
		left: 10px;
		color:#524332;
	}

    header .menu-dropdown-icon:before {
        display: block;
    }
	header .container .menu-container {
		float: none;
		width: 100% ;
	}
	header .container .menu-container ul#menu-header-menu{
		position: relative;
		background: #cec6bd;
		z-index: 200;
		top: -60px;
	}
	header .menu-container .head-menu ul#menu-header-menu li{
		font-size:16px;
	}
	header .menu-container .head-menu ul#menu-header-menu li.logo_sp{
		padding-bottom:15px;
	}
	header .menu-container .head-menu ul#menu-header-menu li.logo_sp img{
		width:200px;
	}
	
    header .menu-container .head-menu ul {
      display: none;
		background:rgba(248,248,248,1.0);
		padding:0 10px;
		width:100%;
		height: 100vh;
		box-sizing:border-box;
    }
	header .container .menu-container ul#menu-header-menu{
		text-align:center;
		padding-top:100px;
	}
    header .menu-container .head-menu ul#menu-header-menu li {
		width: 100%;
		display: block;
		height:auto;
		text-align:center;
    }
    header .menu-container .head-menu ul#menu-header-menu li a {
      width: 100%;
      display: block;
		height:50px;
		line-height:50px;
		box-sizing:border-box;
    }
    header .menu-container .head-menu ul#menu-header-menu li ul {
		position: relative;
		top:0;
		background:none;
    }
    header .menu-container .head-menu ul#menu-header-menu li ul.normal-sub {
      width: 100%;
		padding:0 10px;
		display:none;
		box-sizing:border-box;
		height:auto;
    }
	header .menu-container .head-menu ul li ul.normal-sub li a{
		height:50px;
		line-height:50px;
		padding:0 0 0 20px;
		box-sizing:border-box;
	}
    header .menu-container .head-menu ul li ul li {
        float: none;
        width: 100%;
        margin-top: 20px;
    }
    header .menu-container .head-menu ul li ul li:first-child {
        margin: 0;
    }
	
    header .menu-container .head-menu .show-on-mobile {
        display: block;
    }
	header .menu-container .head-menu ul#menu-header-menu li{
		display:block;
		text-align:center;
	}
	header .menu-container .head-menu ul#menu-header-menu li a{
		color:#524332;
		padding:0;
	}
	header .menu-container .head-menu ul#menu-header-menu li a::before{
		width:0;
		height:0;
		margin:auto;
	}
	header .menu-dropdown-icon::before{
		width:50px;
		height:49px;
		line-height:49px;
		text-align:center;
		padding:0;
		position:absolute;
	}
	header .menu-container .head-menu ul#menu-header-menu li.lang-en,header .menu-container .head-menu ul#menu-header-menu li.lang-jp{
		display:inline-block;
		width:30px;
		height:30px;
		margin-top:30px;
		margin-left:auto;
	}
	header .menu-container .head-menu ul#menu-header-menu li.lang-jp a, header .menu-container .head-menu ul#menu-header-menu li.lang-en a{
		margin:auto;
		display:block;
	}
	header .menu-container .head-menu ul#menu-header-menu li.lang-jp span, header .menu-container .head-menu ul#menu-header-menu li.lang-en span{
		margin:auto;
		border:none;
	}
	header .menu-container .head-menu ul#menu-header-menu li ul.normal-sub{
		display:block !important;
	}
	header .menu-dropdown-icon::before {
		display:none;
	}
	#mv h2{
		bottom:15px;
	}
	#mv .slick-dots{
		display:none !important;
	}
	/**.border-left-bottom{
		width:100px;
	}
	#concept .border-left-bottom.border01{
		left: 50px;
		bottom:0;
	}
	#concept .border-left-bottom.border02{
		right: 50px;
		top:0;
	}**/
	#concept .concept-title h2{
		font-size:130%;
	}
	#concept .concept-title h2 span.large{
		font-size:150%;
	}
	#wedding ul#wedding-header li{
		height:200px;
	}
	#wedding ul#wedding-header li:nth-child(2){
		width:200px;
		background-size:200px;
	}
	#wedding ul#wedding-header li:first-child,#wedding ul#wedding-header li:last-child{
		width:calc(50% - 100px);
	}
	#concept .concept-title .en,#mainmenu h2.en,#wedding .wedding-container .wedding-title .en,#special h2,#information h2,#information .news-container h2,.menu-content h2,.catering-content .catering-en{
		font-size:45px;
	}
	#wedding .wedding-container .wedding-title h2{
		font-size:120%;
	}
	footer{
		padding-bottom: 50px;
	}
	footer .container .footer-left{
		width: 120px;
	}
	footer .container .footer-right{
		width: calc(100% - 120px);
	}
	footer .container .footer-right .footer-menu ul#menu-footer-menu{
		text-align: left;
		margin: auto;
	}
	footer .container .footer-right .footer-menu ul#menu-footer-menu li{
		display: block;
		margin: auto auto 10px;
	}
	footer .container .footer-right .footer-menu ul#menu-footer-menu li a{
		padding: 0;
		border: none;
	}
	footer .container .footer-right .footer-menu ul#menu-footer-menu li a::before{
		content: '';
		display: inline-block;
		vertical-align: middle;
		margin-right: 10px;
		width: 20px;
		height: 1px;
		background: #fff;
	}
	footer #copyright{
		padding-bottom: 10px;
	}
	#floationg-footer{
		position: fixed;
		z-index: 999;
		left: 0;
		bottom: 0;
		height: 50px;
		width: 100%;
		padding: 0;
	}
	#floationg-footer a{
		display: block;
		height: 50px;
		line-height: 50px;
		text-align: center;
	}
	#floationg-footer .floating-reservation{
		float: left;
		width: calc(100% - 50px);
		background: #a99a86;
	}
	#floationg-footer .floating-pagetop{
		float: right;
		width: 50px;
		line-height: 50px;
		background: #706559;
	}
	#floationg-footer .floating-pagetop img{
		width: 15px;
		height: 15px;
		line-height: 50px;
		vertical-align: middle;
	}
	.drink-content ul.drinkcourse-menu li .drinkcourse-menu-title{
		width:100%;
		float:none;
	}
	.drink-content ul.drinkcourse-menu li ul.drinkcourse-menu-ul{
		width:100%;
		float:none;
		border-top:1px solid #524332;
		border-left:0;
		margin-top:5px;
		padding:5px 0 0;
	}
	.recruit-content .recruit-encatch{
		font-size:45px;
	}
}

@media (max-width: 600px) {
	/**common**/
	body {
		font-size:13px;
	}
	header{
		background: #706559;
	}
	
	header .container h1{
		padding-left:15px;
	}
	.container{
		padding: 0 10px;
	}
	header.front-header .container h1 img.logo_normal{
		display:none;
	}
	header.front-header .container h1 img.logo_white{
		display:block;
	}
	header .container .menu-container ul#menu-header-menu{
		padding-top:30px;
	}
	header .menu-container .head-menu ul#menu-header-menu li ul li img{
		width:80px;
		display:block;
	}
	header .menu-container .head-menu ul#menu-header-menu li a{
		height:40px;
		line-height:40px;
		padding:0;
	}
	#mv .slick-prev,#mv .slick-next,#mv .slick-prev::before,#mv .slick-next::before{
		display:none !important;
	}
	#mv .container{
		padding:0;
	}
	#mv .mv-slide .slide-wrap{
		height: calc(100vh - 170px);
	}
	#mv h2{
	  -webkit-writing-mode: vertical-rl;
		  -ms-writing-mode: tb-rl;
			  writing-mode: vertical-rl;
		left:0;
		top:0;
		height: calc(100vh - 170px);
		width:2.0rem;
		padding:10px 5px;
		box-sizing:border-box;
		background:#eee8e6;
		color:#524332;
	}
	#mv .mv-logo{
		height:150px;
		margin-top:-105px;
	}
	#mv .mv-logo img{
		width:150px;
		height:150px;
	}
	.concept-image01,.concept-image02{
		display:none;
	}
	#concept{
		margin-top:90px;
	}
	#concept .concept-title{
		text-align:center;
	}
	#concept .concept-title,#concept .concept-text{
		float:none;
		width:100%;
		position:inherit;
	}
	#concept .concept-text{
		margin-top:15px;
}
	.border-left-bottom{
		display:none;
	}
	#mainmenu h2.en,#special h2{
	}
	#mainmenu ul.mainmenu-ul li{
		width:50%;
	}
	#mainmenu .coursemenu-container .coursemenu-image{
		width:100%;
	}
	#mainmenu .coursemenu-container .coursemenu-textarea{
		width:auto;
		margin-left:auto;
		margin-top:150px;
		padding:15px;
		box-shadow:none;
	}
	#mainmenu .coursemenu-container .coursemenu-textarea h2{
		text-align:center;
	}
	#wedding ul#wedding-header li:first-child{
		width:100%;
	}
	#wedding ul#wedding-header li:nth-child(2),#wedding ul#wedding-header li:nth-child(3){
		display:none;
	}
	
	#wedding .wedding-container .wedding-title{
		display:block;
		width:100%;
		text-align:center;
	}
	#wedding .wedding-container .wedding-text{
		display:block;
		width:100%;
		padding:0;
		border:none;
		font-size:13px;
	}
	#wedding .wedding-container .wedding-text::after{
		width:0;
		height:0;
	}
	#special ul.special-bnr li{
		float:none;
		width:80%;
		margin:10px auto;
	}
	#information .instagram-container{
		padding:10px 0;
		margin:auto;
	}
	.instagram-inner .ig-item{
		min-width: calc(100% / 3) !important;
		width:calc(100% / 3) !important;
	}
	.instagram-inner .ig-item:last-child{
		display:none;
	}
	#information .news-container h2{
		position:static;
	}
	.news-container ul.news-archives{
		background:none;
		padding:0;
	}
	ul.news-archives li a{
		padding:10px;
	}
	ul.news-archives li a .update{
		float:none;
		width:100%;
		display:block;
		border:none;
	}
	ul.news-archives li a h3{
		float:none;
		width:100%;
	}
	#information .news-container .btn a{
		margin:auto;
	}
	.btn a::after{
		width:30px;
		right:-15px;
	}
	#breadcrumb{
		padding:15px 0;
	}
	.menu-content h2{
		padding-top:15px;
		margin:auto auto 15px;
	}
	.menu-content .menu-subarea{
		margin-top:20px;
		padding:20px;
	}
	.menu-subarea .menulunch-common-ul{
		margin-top:15px;
	}
	.menu-subarea .menulunch-common-ul li{
		width:100%;
		margin:5px auto;
	}
	.lunch-content ul.lunch-images{
		display:block;
		width:100%;
	}
	.lunch-content ul.lunch-images li{
		float:left;
		width:49%;
		margin:5px 2% 5px auto;
	}
	.lunch-content ul.lunch-images li:nth-child(even){
		margin-right:0;
	}
	.lunch-content .lunch-menu{
		width:100%;
		margin:15px auto auto;
		font-size:12px;
	}
	.lunch-content .lunch-menu ul.lunchcourse-menu li .lunch-menu-title,.lunch-content .lunch-menu .lunchoption-title,.lunchparty-menu .lunchparty-menu-inner .lunchparty-menu-title h3,.lunchparty-menu .lunchparty-menu-inner .lunchparty-row .lunchparty-menu-sub-title{
		font-size:14px;
	}
	.lunch-content .lunch-menu ul.lunchoption-menu li,.lunch-content .lunch-menu ul.lunchcourse-menu li .lunchdrink-menu ul.lunchdrink-menu-ul li,.lunchparty-menu .lunchparty-menu-inner .lunchparty-row .lunchparty-menu-ul li{
		font-size:12px;
	}
	.lunch-content .lunch-menu .lunchoption-title{
		margin-top:60px;
	}
	.lunch-content .lunch-menu ul.lunchcourse-menu li .lunchdrink-menu ul.lunchdrink-menu-ul{
		width:calc(100% - 120px);
		padding-left:15px;
	}
	.lunch-content .lunch-menu ul.lunchcourse-menu li .lunchdrink-menu ul.lunchdrink-menu-ul li{
		width:100%;
		margin:auto auto 5px;
	}
	.lunchparty-menu{
		margin-top:60px;
		padding:5px;
	}
	.lunchparty-menu .lunchparty-menu-inner{
		padding:15px;
	}
	.lunchparty-menu .lunchparty-menu-inner .lunchparty-menu-title .lunchparty-menu-text{
		font-size:13px;
		margin:auto auto 15px;
	}
	.lunchparty-menu .lunchparty-menu-inner .lunchparty-row .lunchparty-menu-ul li{
		width:100%;
		margin:auto auto 5px;
	}
	.menu-content .menudinner-ul li{
		margin:auto auto 10px;
		font-size:12px;
	}
	.menu-content .menudinner-ul li:nth-child(odd){
		width:80%;
	}
	.menu-content .menudinner-ul li:nth-child(even){
		width:20%;
	}
	.menu-content .menudinner-ul li:nth-child(4n-2){
		margin-right:0;
	}
	.drink-content ul.drinkcourse-menu li{
	}
	.drink-content ul.drinkcourse-menu li ul.drinkcourse-menu-ul li{
		margin:auto auto 10px;
	}
	.drink-content ul.drinkcourse-menu li ul.drinkcourse-menu-ul li:nth-child(odd){
		width:80%;
	}
	.drink-content ul.drinkcourse-menu li ul.drinkcourse-menu-ul li:nth-child(even){
		width:20%;
	}
	.drink-content ul.drinkcourse-menu li ul.drinkcourse-menu-ul li:nth-child(4n-2){
		margin-right:0;
	}
	.drink-content ul.drinkcourse-menu li ul.drinkcourse-menu-ul li{
		font-size:12px;
	}
	.access-content .access-right ul.access-information {
		border-bottom:none;
	}
	.access-content .access-right ul.access-information li:nth-child(odd){
		width:100%;
		font-size:12px;
		margin:auto auto 1px;
	}
	.access-content .access-right ul.access-information li:nth-child(even){
		width:100%;
		font-size:12px;
		margin:auto auto 5px;
		padding-bottom:5px;
		border-bottom: 1px solid #e7e2db;
	}
	#recruit-requirement{
		padding:30px 5px;
	}
	#recruit-requirement .requirement-container{
		padding:15px;
	}
	#recruit-requirement .requirement-container .requirement-image{
		margin:auto auto 15px;
	}
	#recruit-requirement .requirement-container ul.requirement-ul li:nth-child(odd){
		width:30%;
		font-size:12px;
	}
	#recruit-requirement .requirement-container ul.requirement-ul li:nth-child(even){
		width:70%;
		font-size:12px;
	}
	.catering-content{
		padding-bottom: 45px;
	}
	.catering-content .catering-description{
		text-align: left;
	}
	.catering-content .catering-en{
		letter-spacing: 0.05em;
	}
	.catering-content h2.catering-title{
		margin: auto auto 15px;
	}
	.catering-content .catering-block{
		padding: 5px;
	}
	.catering-content .catering-block-inner h3{
		margin: auto auto 15px;
	}
	.catering-content .catering-block-inner{
		padding: 15px;
	}

	.catering-photo-ul li{
		margin:5px 2% 5px auto;
	}
	
	section#page-visual{
		padding:45px 0;
		margin-top:60px;
	}
}

@media (max-width: 480px) {
	section#page-visual{
		padding:30px 0;
	}
}
@media (max-width: 767px) {
div#instafeed div {
    margin: 2%;
    width: 46%;
    float: left;
}
	div#instafeed {
    display: inherit;
    width: 94%;
    margin: 0 auto 20px;
    overflow: hidden;
}
	}