@charset "UTF-8";
*, *::before, *::after { box-sizing: border-box; }

body { color: #555; background: #fff; font-size: 1.45vw; letter-spacing: .08em; line-height: 1.6; font-weight: 400; font-style: normal; font-family: "Shippori Mincho", BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, serif; font-feature-settings: "palt"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@media screen and (max-width: 599px) { body { font-size: 2.9vw; } }

_:lang(x)::-ms-backdrop, .selector { font-family: "Segoe UI", Meiryo, sans-serif; }

.fnt-Forum { font-family: "Forum", serif; font-weight: 400; font-style: normal; }

p { line-height: 1.7; }

img { border: 0; vertical-align: top; }

input, select { position: relative; top: 1px; }

table, th, td { border-collapse: collapse; border-spacing: 0; }

ul, li { list-style: none; }

a:link, a:visited { color: #555; text-decoration: none; transition: opacity 0.5s; }
a:hover, a:active { opacity: .6; }

#cover { width: 100%; height: 100%; position: fixed; background: #fff; top: 0; left: 0; z-index: 10000; }

#loader { opacity: 0; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 300px; height: 250px; }
#loader img { width: 100%; height: auto; }
@media screen and (max-width: 599px) { #loader { width: 210px; height: 175px; } }

#wrapper { overflow: hidden; position: relative; }

#page-top { opacity: 0; position: fixed; bottom: 20px; right: 20px; z-index: 9000; width: 40px; pointer-events: none; }
#page-top img { width: 100%; height: auto; }
#page-top.fade { opacity: 1; transition: opacity .5s; pointer-events: auto; }

.dd599 { display: none; }
@media screen and (max-width: 599px) { .dd599 { display: block !important; } }

@media screen and (max-width: 599px) { .nn599 { display: none !important; } }

.fadeinS, .fadein1, .fadein2, .fadein3, .fadein4, .fadein5, .fadein6, .fadeinF { opacity: 0; transition: opacity 1s ease-in; }
.fadeinS.active, .fadein1.active, .fadein2.active, .fadein3.active, .fadein4.active, .fadein5.active, .fadein6.active, .fadeinF.active { opacity: 1; }

#header { overflow: hidden; position: fixed; z-index: 900; display: flex; justify-content: space-between; width: 100%; padding: 1em 1em 0; }
#header h1 { position: relative; }
#header h1 img { width: 100%; height: auto; }
#header nav .gMenu { position: fixed; display: block; top: 0; left: 0; width: 100%; margin: 0 auto; z-index: 999; opacity: 0; height: 0; max-height: 0; overflow: hidden; transition: max-height 0s, opacity .4s; }
#header nav .gMenu.active { opacity: 1; height: 100%; max-height: 100%; background: rgba(255, 255, 255, 0.8); }
#header nav .gMenu ul { position: relative; width: 100%; text-align: center; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); }
#header nav .gMenu ul li { padding: 0 .5em; width: 100%; }
#header nav .gMenu ul li a { display: block; width: 100%; font-size: 2vw; padding-bottom: 2vw; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li a { font-size: 7vw; padding-bottom: 5vw; } }
#header nav .menu-trigger { display: inline-block; transition: all .4s; position: fixed; z-index: 9999; width: 40px; height: 34px; top: 20px; right: 20px; }
#header nav .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; position: absolute; width: 100%; height: 2px; background-color: #555; border-radius: 2px; box-shadow: 1px 1px 0 1px rgba(255, 255, 255, 0.6); }
#header nav .menu-trigger span:nth-of-type(1) { top: 0; }
#header nav .menu-trigger span:nth-of-type(2) { top: 16px; }
#header nav .menu-trigger span:nth-of-type(3) { bottom: 0; }
#header nav .menu-trigger.active span:nth-of-type(1) { transform: translateY(16px) rotate(-45deg); }
#header nav .menu-trigger.active span:nth-of-type(2) { opacity: 0; }
#header nav .menu-trigger.active span:nth-of-type(3) { transform: translateY(-16px) rotate(45deg); }

main { position: relative; }
main section { position: relative; }
main section#topMainSct .mainB { position: relative; }
main section#topMainSct .mainB .mainPic { width: 100%; }
main section#topMainSct .mainB .mainPic img { width: 100%; height: auto; }
main section#topMainSct .mainB h1 { position: absolute; right: 8%; top: 50%; transform: translateY(-10%); width: 37%; }
@media screen and (max-width: 599px) { main section#topMainSct .mainB h1 { width: 55%; right: 3%; transform: translateY(190%); } }
main section#topMainSct .mainB h1 img { width: 100%; height: auto; }
main section#topMainSct .infoB { position: relative; display: block; padding: 3.5em 8% 4em; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB { display: block; padding: 3.5em 6% 4em; } }
main section#topMainSct .infoB .ttl { display: block; font-size: 240%; font-weight: 600; margin-bottom: .6em; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB .ttl { display: block; margin-bottom: .7em; } }
main section#topMainSct .infoB ul { display: block; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul { font-size: 120%; } }
main section#topMainSct .infoB ul li { display: flex; padding: 1em 5%; border-top: 1px solid rgba(0, 0, 0, 0.3); font-weight: 600; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li { display: block; } }
main section#topMainSct .infoB ul li .data { padding-right: 1em; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li .data { margin-bottom: .3em; } }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li .detail { text-align: center; } }
main section#topMainSct .infoB ul li .detail .innerB { display: block; font-size: 80%; margin-top: .5em; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li .detail .innerB { text-align: left; } }
main section#topMainSct .infoB ul li .detail .innerB .txt { display: block; margin-bottom: .8em; }
main section#topMainSct .infoB ul li .detail .innerB .txt strong { font-size: 110%; }
main section#topMainSct .infoB ul li .detail .innerB .event { display: inline-block; border: 1px solid rgba(0, 0, 0, 0.3); border-radius: 1em; padding: .5em 1em; font-size: 110%; line-height: 1.6; text-align: center; margin: .4em 5% .8em; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li .detail .innerB .event { display: block; width: 70%; margin: .6em auto .8em; } }
main section#topMainSct .infoB ul li .detail .innerB .profileB { position: relative; display: flex; align-items: center; margin-top: .8em; background: #a8a8a8; color: #fff; }
main section#topMainSct .infoB ul li .detail .innerB .profileB .pImg { width: 21%; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li .detail .innerB .profileB .pImg { width: 25%; } }
main section#topMainSct .infoB ul li .detail .innerB .profileB .pImg img { width: 100%; height: auto; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li .detail .innerB .profileB .pImg img { object-fit: cover; height: 33vw; object-position: left center; } }
main section#topMainSct .infoB ul li .detail .innerB .profileB .pTxt { width: 79%; padding: 0 5%; line-height: 1.5; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li .detail .innerB .profileB .pTxt { width: 75%; font-size: 70%; line-height: 1.4; } }
main section#topMainSct .infoB ul li .detail .innerB .profileB .pTxt strong { display: block; font-size: 140%; font-weight: 600; margin-bottom: .4em; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li .detail .innerB .profileB .pTxt strong { font-size: 120%; margin-bottom: .3em; } }
main section#topMainSct .infoB ul li .detail .innerB .profileB .pTxt small { display: block; letter-spacing: .05em; margin-top: 1em; }
@media screen and (max-width: 599px) { main section#topMainSct .infoB ul li .detail .innerB .profileB .pTxt small { letter-spacing: .03em; margin-top: .7em; } }
main section#topMainSct .infoB .eventB { width: 100%; }
main section#topConceptSct div .bgPic { width: 100%; }
main section#topConceptSct div .bgPic img { width: 100%; height: auto; }
main section#topConceptSct .box1 { position: relative; }
main section#topConceptSct .box1 .txtB { position: absolute; left: 55%; top: 50%; transform: translateY(-67%); }
@media screen and (max-width: 599px) { main section#topConceptSct .box1 .txtB { left: 38%; width: 56%; transform: translateY(-50%); } }
main section#topConceptSct .box1 .txtB .head { display: block; font-size: 140%; letter-spacing: .2em; margin-bottom: 1.2em; }
@media screen and (max-width: 599px) { main section#topConceptSct .box1 .txtB .head { text-align: center; font-size: 200%; line-height: 1.3; font-weight: 600; padding-left: 20%; margin-bottom: 1em; } }
main section#topConceptSct .box1 .txtB .txt { display: block; line-height: 1.9; margin-bottom: .8em; }
@media screen and (max-width: 599px) { main section#topConceptSct .box1 .txtB .txt { font-size: 120%; text-align: right; } }
main section#topConceptSct .box2 { position: relative; }
main section#topConceptSct .box2 .txtB { position: absolute; right: 63%; top: 50%; transform: translateY(-58%); color: #fff; text-align: right; }
@media screen and (max-width: 599px) { main section#topConceptSct .box2 .txtB { right: inherit; left: 8%; width: 50%; text-align: left; transform: translateY(-53%); }
  main section#topConceptSct .box2 .txtB p { display: block; font-size: 130%; line-height: 2; } }
main section#topChefSct { padding: 6em 5%; }
@media screen and (max-width: 599px) { main section#topChefSct { padding: 0; } }
main section#topChefSct .innerB { background: #a8a8a8; color: #fff; display: flex; }
@media screen and (max-width: 599px) { main section#topChefSct .innerB { flex-wrap: wrap; justify-content: center; padding: 5em 0; } }
main section#topChefSct .innerB .txtB { width: 60%; padding: 2em 2em 2.3em 2.6em; }
@media screen and (max-width: 599px) { main section#topChefSct .innerB .txtB { width: 100%; order: 2; padding: 3em 8% 0; } }
main section#topChefSct .innerB .txtB h2 { display: block; font-size: 220%; font-weight: 700; margin-bottom: 1em; }
main section#topChefSct .innerB .txtB .name { display: block; margin-bottom: 1.8em; }
main section#topChefSct .innerB .txtB .name .en { display: block; font-size: 140%; letter-spacing: .1em; line-height: 1.4; }
main section#topChefSct .innerB .txtB .name .jp { display: block; font-size: 180%; letter-spacing: .12em; line-height: 1.4; }
main section#topChefSct .innerB .txtB .hist tr th { font-size: 110%; font-weight: 400; padding: 0 1.2em .5em 0; }
main section#topChefSct .innerB .txtB .hist tr td { font-size: 110%; padding: 0 0 .5em 0; }
main section#topChefSct .innerB .picB { width: 40%; background: url("../img/top_ownerchef.webp") no-repeat center top/cover; }
@media screen and (max-width: 599px) { main section#topChefSct .innerB .picB { width: 84%; height: 110vw; order: 1; } }
main section#topGallerySct { padding-bottom: 6em; }
main section#topGallerySct .gallery li img { width: 100%; height: auto; }
main section#topMenuSct { text-align: center; }
main section#topMenuSct .bgPic { position: relative; display: block; }
main section#topMenuSct .bgPic img { width: 100%; height: auto; }
main section#topMenuSct .txtB { position: absolute; display: inline-block; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); background: rgba(255, 255, 255, 0.7); padding: 1.5em 5em 2em; }
@media screen and (max-width: 599px) { main section#topMenuSct .txtB { display: block; width: 100%; padding: 1.5em 8% 2em; } }
main section#topMenuSct .txtB h2 { display: block; font-size: 260%; font-weight: 700; border-bottom: 1px solid #555; margin-bottom: .7em; }
@media screen and (max-width: 599px) { main section#topMenuSct .txtB h2 { font-size: 300%; } }
main section#topMenuSct .txtB table { margin: 0 auto; }
main section#topMenuSct .txtB table tr th { font-size: 110%; font-weight: 400; text-align: left; white-space: nowrap; padding: 0 1em .8em 2em; }
@media screen and (max-width: 599px) { main section#topMenuSct .txtB table tr th { font-size: 140%; padding: 0 2em .8em 0; } }
main section#topMenuSct .txtB table tr td { font-size: 110%; text-align: left; white-space: nowrap; padding: 0 2em .8em 0; }
@media screen and (max-width: 599px) { main section#topMenuSct .txtB table tr td { font-size: 140%; padding: 0 0 .8em 0; } }
main section#topReservSct { padding: 6em 8% 3em; background: #e1e1e1; }
@media screen and (max-width: 599px) { main section#topReservSct { padding: 5em 8% 1em; } }
main section#topReservSct h2 { display: block; font-size: 300%; font-weight: 700; letter-spacing: 0; margin-bottom: 1.6em; }
@media screen and (max-width: 599px) { main section#topReservSct h2 { text-align: center; margin-bottom: .8em; } }
main section#topReservSct .innerB { position: relative; display: flex; justify-content: center; text-align: center; flex-wrap: wrap; }
@media screen and (max-width: 599px) { main section#topReservSct .innerB { flex-wrap: wrap; } }
main section#topReservSct .innerB div { position: relative; width: 40%; height: 28vw; background: rgba(255, 255, 255, 0.8); border: 2px solid #fff; box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.1); padding-top: 6em; margin: 0 .5em 1em; }
@media screen and (max-width: 599px) { main section#topReservSct .innerB div { width: 100%; height: 63vw; margin: 0 auto 1.6em; } }
main section#topReservSct .innerB div p { font-size: 120%; letter-spacing: .18em; padding-left: .18em; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#topReservSct .innerB div p { font-size: 140%; } }
main section#topReservSct .innerB div.telB a { font-size: 240%; font-weight: 700; letter-spacing: .03em; }
@media screen and (max-width: 599px) { main section#topReservSct .innerB div.telB a { font-size: 320%; } }
main section#topReservSct .innerB div.webB { padding-top: 3em; }
main section#topReservSct .innerB div.webB p { margin-bottom: 1.2em; }
main section#topReservSct .innerB div.webB a { display: inline-block; color: #fff; font-size: 120%; font-weight: 700; letter-spacing: 0; background: #555; width: 70%; border-radius: 2em; padding: .2em 0; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#topReservSct .innerB div.webB a { font-size: 160%; } }
main section#topAccessSct { padding: 6em 8%; background: #e1e1e1; }
@media screen and (max-width: 599px) { main section#topAccessSct { padding: 5em 8% 7em; } }
main section#topAccessSct h2 { display: block; font-size: 300%; font-weight: 700; letter-spacing: 0; margin-bottom: .7em; }
@media screen and (max-width: 599px) { main section#topAccessSct h2 { text-align: center; margin-bottom: .8em; } }
main section#topAccessSct .add { position: relative; display: block; padding-left: 2em; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topAccessSct .add { padding-left: 0; text-align: center; font-size: 130%; margin-bottom: 2.6em; } }
main section#topAccessSct .add a { position: absolute; display: inline-block; font-size: 90%; background: #fff; padding: .3em 3em .1em; border-radius: 2em; top: .6em; right: 0; box-shadow: 1px 1px 5px 0 rgba(0, 0, 0, 0.1); }
@media screen and (max-width: 599px) { main section#topAccessSct .add a { position: relative; top: inherit; right: inherit; display: block; width: 70%; margin: 1em auto 0; } }
main section#topAccessSct .traffic { position: relative; display: block; padding-left: 2em; margin-bottom: 3em; }
@media screen and (max-width: 599px) { main section#topAccessSct .traffic { padding-left: 0; text-align: center; font-size: 130%; margin-bottom: 5em; } }
@media screen and (max-width: 599px) { main section#topAccessSct .traffic span::before { content: "【"; display: inline-block; padding: 0 .3em; } }
main section#topAccessSct .traffic span::after { content: "−"; display: inline-block; padding: 0 .5em; }
@media screen and (max-width: 599px) { main section#topAccessSct .traffic span::after { content: "】"; padding: 0 .3em; } }

#footer { position: relative; }
#footer .shopB .pic { display: block; width: 100%; }
#footer .shopB .pic img { width: 100%; height: auto; }
#footer .shopB .inBox { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 6em 5% 4em; }
@media screen and (max-width: 599px) { #footer .shopB .inBox { display: block; padding: 8em 0 7em; } }
@media screen and (max-width: 599px) { #footer .shopB .inBox .infoB { text-align: center; width: 100%; font-size: 140%; } }
#footer .shopB .inBox .infoB .logo { display: block; width: 16vw; margin-bottom: 1.5em; }
@media screen and (max-width: 599px) { #footer .shopB .inBox .infoB .logo { width: 64vw; margin: 0 auto 1.5em; } }
#footer .shopB .inBox .infoB .logo img { width: 100%; height: auto; }
#footer .shopB .inBox .infoB .name { display: block; font-size: 170%; letter-spacing: .1em; margin-bottom: .8em; }
@media screen and (max-width: 599px) { #footer .shopB .inBox .infoB .name { font-size: 150%; } }
#footer .shopB .inBox .infoB .add { display: block; margin-bottom: .8em; }
#footer .shopB .inBox .infoB .tel { display: block; }
#footer .shopB .inBox .infoB .tel small { display: block; letter-spacing: .01em; }
#footer .shopB .inBox .menuB { text-align: right; }
@media screen and (max-width: 599px) { #footer .shopB .inBox .menuB { display: none; } }
#footer .shopB .inBox .menuB ul li a { display: block; margin-bottom: 1em; }
#footer .cpr { text-align: center; font-size: 60%; background: #a8a8a8; color: #fff; padding: 2em 0; }
@media screen and (max-width: 599px) { #footer .cpr { font-size: 80%; } }
