@charset "UTF-8";
@font-face {
    font-family: "GaramondPremrPro";
    src: url("https://restaurant-monk.com/font/GaramondPremrPro") format("opentype");
}
html {
    -webkit-font-smoothing: antialiased;
    color: #000;
    height: 100%;
    text-align: left;
    position: relative;
    background: #e9e7e2;
    font-family: 'GaramondPremrPro', "ヒラギノ明朝 Pro", 'Hiragino Mincho Pro', 'HiraMinProN-W3', "ＭＳ Ｐ明朝", "MS PMincho", serif;
    -webkit-text-size-adjust: 100%;
    letter-spacing: 0.06em;
	font-feature-settings: "palt";		
	overscroll-behavior: none;
}
body {
	max-width: 1800px;
	height: 100%;
	margin: auto;
    font-family: 'GaramondPremrPro', "ヒラギノ明朝 Pro", 'Hiragino Mincho Pro', 'HiraMinProN-W3', "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
a {
    color: #000;
    text-decoration: none;
}
li {
    list-style: none;
}
p {
    margin-block-start: 0em;
    margin-block-end: 0em;
}
/* loading */
.start {
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 9000;
}
.start img {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: none;
    z-index: 9999;
	width: 100%;
	height: 100vh;
    object-fit: cover;
}
.start_logo {
    position: fixed;
    top: 0;
    left: 0;
    height: auto;
    width: 155px;
    z-index: 9001;
}
.start_logo img {
    position: fixed;
    left: 50%;
    bottom: 5%;
    transform: translate(-50%, -50%);
    display: none;
    z-index: 9999;
	width: 155px;
	height: auto;
    object-fit: cover;
}
.start_sp {
    display: none;
}
/* header */
#header_sp {
    display: none;
}
#header_pc {
	position: fixed;
    width: calc(100% - 100px);
	left: 50px;
    top: 0;
	padding-top: 16px;
	transition: transform 0.6s ease-out;
	background-color: #e9e7e2; 
}
#header_pc.hide {
    transform: translateY(-175px);
}
.global {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#header_pc h1 {
    width: 155px;
}
#header_pc h1 img {
    width: 100%;
}
#header_pc ul {
    display: flex;
    align-items: flex-end;
    font-size: 18px;
}
#header_pc ul li {
    padding-left: 40px;
}
.navright {
    width: 18px;
    height: auto;
}
.navright img {
    width: 100%;
}
/* content */
#content {
    width: calc(100% - 100px);
    margin: auto;
	margin-top: 235px;
}
.contentWrap {
    display: flex;
    gap: 0px 25%;
    margin-bottom: 150px;
}
.content_title {
    font-size: 27px;
    width: 135px;
}
.textWrap p {
    font-size: 15px;
    line-height: 2em;
}
.text_jp {
    margin-bottom: 65px;
}
/* Menu */
.contentWrap_menu {
    display: flex;
    gap: 0px 25%;
    margin-bottom: 50px;
}
.menu_right {
    width: 100%;
	margin-bottom: 40px;
}
.textWrap_left{
	float: left;
	width: 43%;
	margin-right: 7%;
}
.textWrap_right{
	float: right;
	width: 50%;
}
.textWrap_course{
	clear: both;
	padding-top: 70px;
}
p.menu_title {
    font-size: 17px;
	line-height: 30px;
	margin-bottom: 20px;
}
p.menu_caption {
    font-size: 14px;
    line-height: 2.6em;
}
p.menu_caption_right, p.menu_caption_right_en {
    font-size: 14px;
    line-height: 2.6em;
}
p.menu_course{
	font-size: 17px;
}
p.menu_course span{
	font-size: 13px;
}
.contentWrap_menu_en {
    display: flex;
    gap: 0px 25%;
    margin-bottom: 150px;
}
.menu_right_en {
    width: 100%;
}
/* Access */
p.text_add_jp, p.text_add_jp2 ,p.text_add_en {
    font-size: 14px;
    margin-bottom: 40px;
}
p.text_add_small {
    font-size: 13px;
    margin-bottom: 75px;
}
#map {
    width: 100%;
    height: 70vh;
    background-color: grey;
    margin-top: 80px;
}
p.viewmap{
	padding-top: 20px;
	font-size: 12px;
	text-align: right;
}
/* Reservation */
.contentWrap_book {
    display: flex;
    gap: 0px 25%;
    margin-bottom: 50px;
}
.booking_btn {
    margin-top: 15px;
    width: 230px;
    margin-bottom: 45px;
}
.booking_btn img {
    width: 100%;
}
.booking_btn_en {
    width: 230px;
    margin-top: 87px;
    margin-bottom: 45px;
}
.booking_btn_en img {
    width: 100%;
}
.text_book, .text_book_en {
    margin-bottom: 35px;
}
p.text_book, p.text_book_en {
    font-size: 13px;
    line-height: 2em;
    text-indent: -1em;
    padding-left: 1em;
}
/* footer */
#footer {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    padding-bottom: 50px;
}
p.copyright {
    font-size: 11px;
}
@media screen and (max-width:768px) {
    .contentWrap, .contentWrap_menu, .contentWrap_menu_en, .contentWrap_book {
        gap: 0px 5%;
        margin-bottom: 100px;
    }
    .contentWrap_menu {
        margin-bottom: 60px !important;
    }
    .booking_btn {
        margin-top: 5px;
    }
    .booking_btn_en {
        margin-top: 90px;
    }
}
@media screen and (max-width:468px) {
    .pc-only {
        display: none;
    }
	.start, .start_logo {
        display: none;
    }
	.start_sp{
		display: block;
	}
    .start_sp {
        background: #FFF;
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: 9000;
    }
    .start_sp img {
        position: fixed;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        display: none;
        z-index: 9999;
		width: 100%;
		height: 100vh;
        object-fit: cover;
    }
    #header_pc {
        display: none;
    }
    #header_sp {
        display: block;
    }
	#header_sp {
        position: fixed;
		width: 100%;
		height: 80px;
        left: 0;
        top: 0;
        transition: transform 0.6s ease-out;
	    background-color: #e9e7e2; 
		z-index: 900;
    }
    #header_sp.hide {
        transform: translateY(-80px);
    }
    .head-logo {
        position: absolute;
        top: 15px;
        left: 20px;
        width: 120px;
        z-index: 2;
    }
    .head-logo img {
        width: 100%;
    }
    .navToggle {
        position: fixed;
        top: 30px;
        right: 25px;
        height: 30px;
        width: 30px;
        cursor: pointer;
    }
    .navToggle > div {
        position: relative;
        width: 30px;
    }
    .navToggle span {
        width: 100%;
        height: 1px;
        left: 0;
        display: block;
        mix-blend-mode: difference;
        background: #000000;
        position: absolute;
        transition: top .5s ease, -webkit-transform .6s ease-in-out;
        transition: transform .6s ease-in-out, top .5s ease;
        transition: transform .6s ease-in-out, top .5s ease, -webkit-transform .6s ease-in-out;
    }
    .navToggle span:nth-child(1) {
        top: 0;
    }
    .navToggle span:nth-child(2) {
        top: 8px;
    }
    .navToggle span:nth-child(3) {
        top: 16px;
    }
    .navToggle.active span:nth-child(1) {
        top: 8px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
        background: #000000;
    }
    .navToggle.active span:nth-child(2) {
        top: 8px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
        background: #000000;
    }
    .navToggle.active span:nth-child(3) {
        display: none;
    }
    /* z-index */
    .navToggle {
        z-index: 9999;
    }
    .global_sp {
        background: #4c4948;
        color: #fff;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
        display: flex;
        visibility: hidden;
        font-size: 18px;
        opacity: 0;
        -webkit-transition: opacity .8s ease; /* アニメーション時間は 0.8秒 */
        -ms- transition: opacity .8s ease;
        -moz- transition: opacity .8s ease;
        transition: opacity .8s ease, visibility .8s ease;
    }
    .global_sp a {
        color: #fff !important;
    }
	body.open {
		overflow: hidden;
	}
    .open .global_sp {
        visibility: visible;
        opacity: 1;
    }
    .logo_on {
        width: 100px;
    }
    ul.nav {
        transition-delay: .3s;
        transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
        color: #000;
        font-size: 18px;
        text-align: center;
        width: calc(100% - 50px);
        height: 60vh;
        /*margin: 20vh 25px;*/
        padding-left: 25px;
        margin-top: 50%;
    }
    ul.nav a {
        color: #000;
        transition-delay: .3s;
        transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
    }
    ul.nav a:hover {
        color: #ccc;
    }
    li.deley {
        opacity: 0;
        -webkit-transition: translateY(-10px);
        transform: translateY(-10px);
        transition: opacity .2s ease, -webkit-transform .6s ease;
        transition: transform .6s ease, opacity .2s ease;
        transition: transform .6s ease, opacity .2s ease, -webkit-transform .6s ease;
        color: #000;
        letter-spacing: 0.05em;
    }
    .open li.deley {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        transition: opacity .3s ease, -webkit-transform .5s ease;
        transition: transform .5s ease, opacity .3s ease;
        transition: transform .5s ease, opacity .3s ease, -webkit-transform 1s ease;
    }
    li.deley:nth-child(2) {
        top: 20px;
        position: relative;
    }
    li.deley:nth-child(3) {
        top: 38px;
        position: relative;
    }
    li.deley:nth-child(4) {
        top: 56px;
        position: relative;
    }
    li.deley:nth-child(5) {
        top: 74px;
        position: relative;
    }
    li.deley:nth-child(6) {
        top: 92px;
        position: relative;
    }
    li.deley:nth-child(7) {
        top: 110px;
        position: relative;
    }
    li.deley:nth-child(8) {
        top: 128px;
        position: relative;
    }
    .sns {
        width: 18px;
    }
    .head-logo {
        position: absolute;
        top: 15px;
        left: 20px;
        width: 120px;
        z-index: 0;
    }
    .head-logo {
        width: 100px;
    }
    #content {
        width: calc(100% - 50px);
        margin-top: 100px;
	    padding-top:80px;
    }
    .contentWrap, .contentWrap_menu, .contentWrap_menu_en, .contentWrap_book, .menu_right, .menu_right_en {
        display: block;
    }
    .content_title {
        font-size: 20px;
        margin-bottom: 35px;
    }
    .textWrap p {
        font-size: 13px;
    }
    .text_jp {
        margin-bottom: 45px;
    }
    .textWrap p {
        font-size: 13px;
    }
    p.menu_title {
        font-size: 15px;
		line-height: 30px;
        margin-top: 30px;
    }
	.textWrap_left{
	    float: none;
	    width: 100%;
	    margin-right: 0%;
    }
   .textWrap_right{
	    float: none;
	    width: 100%;
    }
	.textWrap_course {
		padding-top: 20px;
	}
	.menu_right{
		margin-bottom: 70px;
	}
	p.menu_caption{
		line-height: 2.5em;
	}
    p.menu_caption_right {
		line-height: 2.5em;
    }
    p.menu_caption_right_en {
		line-height: 2.5em;
    }
	p.menu_course{
		font-size: 15px;
	}
	p.menu_course span{
		font-size: 12px;
	}
	#map {
		width: 100%;
        height: 75vh;
        /*margin-left: -25px;*/
    }
	p.viewmap{
	    padding-top: 10px;
	    font-size: 10px;
	    text-align: left;
    }
    p.text_add_jp, p.text_add_en {
		font-size: 15px;
        margin-bottom: 30px;
    }
	p.text_add_jp2{
		font-size: 13px;
        margin-bottom: 30px;
	}
    .booking_btn, .booking_btn_en {
        width: 200px;
        margin-bottom: 25px;
    }
    .text_book, .text_book_en {
        margin-bottom: 25px;
    }
    #footer {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        padding-bottom: 30px;
    }
    p.copyright {
        font-size: 9px;
    }
}