html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; color: inherit; text-decoration: none; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, button, textarea, select { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

html, body { -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-family: "Montserrat", Arial, sans-serif; color: #040000; }

img, video { vertical-align: bottom; max-width: 100%; height: auto; }

img[src$=".svg"] { width: 100%; }

li { list-style: none; }

/* --------------------------------------------------
Common
-------------------------------------------------- */
html, body { height: 100%; font-family: "Montserrat", Arial, sans-serif; font-size: 5px; color: #040000; font-weight: 700; }
@media screen and (min-width: 768px) { html, body { font-size: 10px; } }

@media screen and (max-width: 767px) { .pc { display: none !important; } }
@media screen and (min-width: 768px) { .sp { display: none !important; } }
.zigzag { position: relative; }
.zigzag::after { display: block; content: ""; background-image: url("../images/line.svg"); position: absolute; left: 0; right: 0; bottom: 0; width: 30px; height: 7px; margin: 0 auto; background-size: 100% auto; background-repeat: no-repeat; }
@media screen and (min-width: 768px) { .zigzag::after { width: 72px; height: 17px; } }

.hidden { font-size: 0 !important; margin: 0 !important; padding: 0 !important; visibility: hidden; }

.obj-fit { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; font-family: "object-fit: cover;"; }

.button { font-size: 3.7rem; letter-spacing: .05em; text-align: center; background-image: url("../images/line.svg"); background-position: left 10px center; background-size: 30px auto; background-repeat: no-repeat; border: solid 2px #040000; border-radius: 6px; width: 285px; margin: 0 auto; }
.button a { display: block; padding: 17px 0 14px; background-image: url("../images/line.svg"); background-position: right 10px center; background-size: 30px auto; background-repeat: no-repeat; }
.button a span { display: block; font-size: 2.1rem; letter-spacing: .325em; margin: 5px 0 0; }
@media screen and (min-width: 768px) { .button { width: 960px; max-width: 90%; border-width: 3px; border-radius: 15px; font-size: 5rem; background-size: 72px auto; background-position: left 14% center; transition: background .4s ease 0s,color .4s ease 0s; }
  .button a { padding: 32px 0 33px; background-position: right 14% center; background-size: 72px auto; transition: background .4s ease 0s; }
  .button a span { font-size: 2.2rem; margin: 17px 0 0; }
  .button:hover { background-color: #040000; background-image: url("../images/line-white.svg"); color: #fff; }
  .button:hover a { background-image: url("../images/line-white.svg"); } }

body.site-front h3:not(.button) { font-size: 6rem; letter-spacing: .05em; padding: 0 0 22px; text-align: center; }
body.site-front h3:not(.button) span { display: block; margin: 5px 0 0; font-size: 2.1rem; letter-spacing: .2em; }
@media screen and (min-width: 768px) { body.site-front h3:not(.button) { font-size: 8rem; padding: 0 0 40px; }
  body.site-front h3:not(.button) span { margin: 22px 0 0; font-size: 1.9rem; letter-spacing: .325em; } }
body:not(.site-front) h3 { font-size: 6rem; letter-spacing: .05em; padding: 0 0 18px; text-align: center; }
body:not(.site-front) h3 span { display: block; margin: 5px 0 0; font-size: 2rem; letter-spacing: .2em; }
@media screen and (min-width: 768px) { body:not(.site-front) h3 { font-size: 8rem; padding: 0 0 40px; }
  body:not(.site-front) h3 span { margin: 15px 0 0; font-size: 1.9rem; letter-spacing: .325em; } }

.wp-pagenavi { display: flex; justify-content: center; }
.wp-pagenavi a, .wp-pagenavi span { border: none; padding: 0; font-size: 2.4rem; margin: 0 .8em; }
.wp-pagenavi a.current, .wp-pagenavi span.current { text-decoration: underline; }
.wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink { display: none; }
@media screen and (min-width: 768px) { .wp-pagenavi a, .wp-pagenavi span { font-size: 2.3rem; }
  .wp-pagenavi a { transition: opacity .4s ease 0s; }
  .wp-pagenavi a:hover { opacity: .6; } }

article .text-content { line-height: 1.375; }
article .text-content img { display: block; margin: 15px 0; }
article .text-content p { font-size: 2.4rem; }

@media screen and (min-width: 768px) { article .text-content { line-height: 1.5; }
  article .text-content img { margin: 30px 0; }
  article .text-content p { font-size: 1.8rem; } }
/* --------------------------------------------------
Header
-------------------------------------------------- */
body #wrapper header { position: fixed; top: 0; left: 0; right: 0; z-index: 999; background: #fff; }
body #wrapper header .header-promotion { background: #000; padding: 7px 0 5px; text-align: center; color: #fff; font-size: 1.6rem; letter-spacing: .075em; z-index: 9; position: relative; }
body #wrapper header .header-promotion h2 br { display: none; }
body #wrapper header .header-main { position: relative; z-index: 1; padding: 9px 0 15px; }
body #wrapper header .header-main .inner { position: relative; }
body #wrapper header .header-main .inner h1 { margin: 0 auto; width: 220px; font-size: 0; position: relative; transition: all .7s ease 0s; z-index: 9; }
body #wrapper header .header-main .inner h1 .cls-1 { fill: currentColor; }
body #wrapper header .header-main .inner #menu-toggle { position: absolute; top: 50%; transform: translate(0, -50%); left: 18px; width: 28px; height: 28px; z-index: 9; }
body #wrapper header .header-main .inner #menu-toggle a { display: block; height: 100%; }
body #wrapper header .header-main .inner #menu-toggle a::before, body #wrapper header .header-main .inner #menu-toggle a::after { display: block; content: ""; position: absolute; top: 5px; left: 0; right: 0; height: 4px; background: #040000; transition: transform 0.4s cubic-bezier(0.64, -0.36, 0.1, 1) 0s; }
body #wrapper header .header-main .inner #menu-toggle a::after { top: auto; bottom: 5px; }
body #wrapper header .header-main .inner nav { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #fff; padding: 65px 0 0; transform: translate(-101%, 0); transition: transform 0.7s cubic-bezier(0.64, -0.36, 0.1, 1) 0s; z-index: -1; overflow: scroll; -webkit-overflow-scrolling: touch; z-index: 1; }
body #wrapper header .header-main .inner nav ul.main { position: relative; }
body #wrapper header .header-main .inner nav ul.main > li { font-size: 3.4rem; letter-spacing: .05em; position: relative; }
body #wrapper header .header-main .inner nav ul.main > li a { display: block; padding: 17px 23px; position: relative; }
body #wrapper header .header-main .inner nav ul.main > li a span { display: block; font-size: 2.2rem; letter-spacing: .2em; margin: 5px 0 0; }
body #wrapper header .header-main .inner nav ul.main > li i { position: absolute; top: 20px; right: 12px; padding: 5px; transition: transform .4s ease 0s; z-index: -1; }
body #wrapper header .header-main .inner nav ul.main > li .level-2 { display: none; }
body #wrapper header .header-main .inner nav ul.main > li .level-2 li a { padding: 25px 0; margin: 0 45px; border-top: solid 1px #040000; }
body #wrapper header .header-main .inner nav ul.main > li .level-2 li:nth-child(1) { border-top: solid 1px #040000; }
body #wrapper header .header-main .inner nav ul.main > li .level-2 li:nth-child(1) a { border: none; }
body #wrapper header .header-main .inner nav ul.main > li:nth-child(n+2) { transform: translate(-101%, 0); }
body #wrapper header .header-main .inner nav ul.main > li::after { display: block; content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: #040000; transform: translate(-101%, 0); }
body #wrapper header .header-main .inner nav ul.main > li.is-show { transform: none; transition: transform 0.7s cubic-bezier(0.64, -0.36, 0.1, 1) 0s; }
body #wrapper header .header-main .inner nav ul.main > li.is-show::after { transform: none; transition: transform 0.7s cubic-bezier(0.64, -0.36, 0.1, 1) 0.05s; }
body #wrapper header .header-main .inner nav ul.main > li.is-open i { transform: scale(1, -1); }
body #wrapper header .header-main .inner nav ul.sub { padding: 0 23px; display: flex; transform: translate(-101%, 0); }
body #wrapper header .header-main .inner nav ul.sub li { flex: 1; font-size: 2.4rem; letter-spacing: .05em; }
body #wrapper header .header-main .inner nav ul.sub li a { padding: 17px 0; display: block; }
body #wrapper header .header-main .inner nav ul.sub li a span { display: block; font-size: 1.6rem; letter-spacing: .2em; margin: 5px 0 0; }
body #wrapper header .header-main .inner nav ul.sub li:nth-child(1) { flex-grow: 1.2; }
body #wrapper header .header-main .inner nav ul.sub.is-show { transform: none; transition: transform 0.7s cubic-bezier(0.64, -0.36, 0.1, 1) 0s; }
body #wrapper header .header-main .inner .instagram { position: absolute; right: 18px; top: 50%; transform: translate(0, -50%); width: 28px; height: 28px; transition: all .7s ease 0s; z-index: 9; }
body #wrapper header .header-main .inner .instagram .cls-1 { fill: currentColor; }
body #wrapper header .header-main::before { display: block; content: ""; position: absolute; top: 0; left: 0; right: 0; height: 65px; background: #fff; transform: translate(-101%, 0); z-index: 2; }
body #wrapper header .header-main::after { display: block; content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: #040000; transform: translate(-101%, 0); z-index: 9; }
body #wrapper header .reservation { position: fixed; right: 50px; bottom: 55px; background: #040000; color: #fff; text-align: center; font-size: 2.4rem; letter-spacing: .05em; padding: 10px 20px 23px; transform: rotate(90deg); transform-origin: bottom right; border: solid 1px transparent; transition: border .4s ease 0s; }
body #wrapper header .reservation span { display: block; font-size: 2.8rem; letter-spacing: .325em; position: absolute; top: 24px; left: 50%; transform: translate(-50%, 0) scale(0.5); white-space: nowrap; }
body #wrapper header .reservation.abbey { bottom: 154px; padding: 10px 24px 23px; }
body #wrapper header .reservation.change { border-color: #fff; }
body #wrapper header.no-bg { background: none; }
body #wrapper.menu-open header .header-main .inner h1 { transform: scale(0.8); }
body #wrapper.menu-open header .header-main .inner #menu-toggle a::before { transform: rotate(-135deg); top: 12px; }
body #wrapper.menu-open header .header-main .inner #menu-toggle a::after { transform: rotate(135deg); bottom: 12px; }
body #wrapper.menu-open header .header-main .inner nav { transform: none; }
body #wrapper.menu-open header .header-main .inner .instagram { transform: translate(0, -50%) scale(0); }
body #wrapper.menu-open header .header-main::before, body #wrapper.menu-open header .header-main::after { transform: none; transition: transform 0.7s cubic-bezier(0.64, -0.36, 0.1, 1) 0s; }
body.is-scrolled #wrapper header .header-main .inner h1 { transform: scale(0.8); }
body.is-scrolled #wrapper header .header-main .inner .instagram { transform: translate(0, -50%) scale(0.8); }

@media screen and (min-width: 768px) { body #wrapper header { position: fixed; top: 0; left: 0; right: 0; z-index: 999; }
  body #wrapper header .header-promotion { background: none; padding: 0; text-align: left; color: #040000; font-size: 1rem; letter-spacing: .05em; line-height: 1.2; position: absolute; top: 122px; left: calc((100vw - 960px) * 0.5); transition: transform 0.7s ease 0s; } }
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 960px) { body #wrapper header .header-promotion { left: 10px; } }
@media screen and (min-width: 768px) { body #wrapper header .header-promotion h2 br { display: block; }
  body #wrapper header .header-main { width: 960px; max-width: 100%; margin: 0 auto; padding: 80px 0 0; }
  body #wrapper header .header-main .inner h1 { width: 570px; transform-origin: top; }
  body #wrapper header .header-main .inner h1 a { padding: 18.1% 0 0; position: relative; display: block; }
  body #wrapper header .header-main .inner h1 a svg { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
  body #wrapper header .header-main .inner #menu-toggle { display: none; }
  body #wrapper header .header-main .inner nav { bottom: auto; background: #040000; transform: none; padding: 0; overflow: hidden; }
  body #wrapper header .header-main .inner nav ul.main { display: flex; justify-content: space-between; width: 960px; max-width: 100%; margin: 0 auto; }
  body #wrapper header .header-main .inner nav ul.main > li { font-size: 1.5rem; color: #fff; }
  body #wrapper header .header-main .inner nav ul.main > li a { padding: 13px 0 12px; }
  body #wrapper header .header-main .inner nav ul.main > li a span { display: none; }
  body #wrapper header .header-main .inner nav ul.main > li i { display: none; }
  body #wrapper header .header-main .inner nav ul.main > li .level-2 { display: none; }
  body #wrapper header .header-main .inner nav ul.main > li .level-2 li a { padding: 25px 0; margin: 0 45px; border-top: solid 1px #040000; }
  body #wrapper header .header-main .inner nav ul.main > li .level-2 li:nth-child(1) { border-top: solid 1px #040000; }
  body #wrapper header .header-main .inner nav ul.main > li .level-2 li:nth-child(1) a { border: none; }
  body #wrapper header .header-main .inner nav ul.main > li:nth-child(n+2) { transform: none; }
  body #wrapper header .header-main .inner nav ul.sub { display: none; }
  body #wrapper header .header-main .inner .instagram { right: -30px; width: 60px; height: 60px; transform-origin: top; } }
@media screen and (min-width: 768px) and (max-width: 960px) { body #wrapper header .header-main .inner .instagram { right: 0; } }
@media screen and (min-width: 768px) { body #wrapper header .header-main .inner .instagram a { padding: 100% 0 0; position: relative; display: block; }
  body #wrapper header .header-main .inner .instagram a svg { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
  body #wrapper header .header-main::before, body #wrapper header .header-main::after { display: none; }
  body #wrapper header .reservation { right: 80px; bottom: 90px; font-size: 1.8rem; padding: 15px 21px 14px; background: none; overflow: hidden; }
  body #wrapper header .reservation span { font-size: 1rem; position: static; transform: none; margin: 13px 0 0; }
  body #wrapper header .reservation span::before, body #wrapper header .reservation span::after { display: block; content: ""; position: absolute; top: 0; bottom: 0; left: 0; background: #040000; right: 25px; z-index: -1; transition: background .3s linear 0s; }
  body #wrapper header .reservation span::after { left: auto; right: 0; bottom: 25px; width: 25px; }
  body #wrapper header .reservation::before, body #wrapper header .reservation::after { display: block; content: ""; position: absolute; bottom: 0; right: 0; transition: all .3s linear 0s; border-top: solid 25px #040000; border-right: solid 25px transparent; }
  body #wrapper header .reservation::after { height: 0; width: 0; border: none; border-bottom: solid 26px #040000; border-left: solid 26px transparent; background: none; }
  body #wrapper header .reservation.abbey { bottom: 263px; padding: 15px 20px 14px; }
  body #wrapper header .reservation.change { border-color: transparent; color: #040000; }
  body #wrapper header .reservation.change span::before, body #wrapper header .reservation.change span::after { background: #fff; }
  body #wrapper header .reservation.change::before { border-top-color: #fff; }
  body #wrapper header .reservation.change::after { border-bottom-color: #fff; }
  body #wrapper header .reservation.change:hover { color: #fff; }
  body #wrapper header .reservation.change:hover span::before, body #wrapper header .reservation.change:hover span::after { background: #e60911; }
  body #wrapper header .reservation.change:hover::before { border-top-color: #e60911; }
  body #wrapper header .reservation.change:hover::after { border-bottom-color: #cc0e1d; }
  body #wrapper header .reservation:hover span::before, body #wrapper header .reservation:hover span::after { background: #e60911; }
  body #wrapper header .reservation:hover::before { border-top-color: #e60911; }
  body #wrapper header .reservation:hover::after { transform: scale(-1, -1); border-bottom-color: #cc0e1d; }
  body.is-scrolled #wrapper header { height: 160px; }
  body.is-scrolled #wrapper header .header-promotion { transform: translate(0, -35px); }
  body.is-scrolled #wrapper header .header-main .inner h1 { transform: scale(0.48) translate(0, -10px); }
  body.is-scrolled #wrapper header .header-main .inner .instagram { transform: translate(0, -90%) scale(0.642); } }
/* --------------------------------------------------
Wrapper
-------------------------------------------------- */
/* --------------------------------------------------
Contents
-------------------------------------------------- */
body.site-front #wrapper #content { padding: 60px 0; }
@media screen and (min-width: 768px) { body.site-front #wrapper #content { padding: 140px 0 110px; } }
body:not(.site-front) #wrapper #content { padding: 115px 0 60px; }
@media screen and (min-width: 768px) { body:not(.site-front) #wrapper #content { padding: 255px 0 110px; } }

/* --------------------------------------------------
Footer
-------------------------------------------------- */
body #wrapper footer { background: #040000; color: #fff; padding: 50px 0 25px; position: relative; }
body #wrapper footer .inner { width: 75.7%; margin: 0 auto; }
body #wrapper footer .inner h3 { font-size: 3.7rem; letter-spacing: .05em; padding: 0; margin: 0 0 10px; text-align: left; }
body #wrapper footer .inner #schedule { margin: 0 0 37px; }
body #wrapper footer .inner #schedule .calender-wrap h3 { display: none; }
body #wrapper footer .inner #schedule .calender-wrap #biz_calendar { max-width: 100%; }
body #wrapper footer .inner #schedule .calender-wrap #biz_calendar .bizcal { margin: 0; background: none; border: solid 1px #fff; }
body #wrapper footer .inner #schedule .calender-wrap #biz_calendar .bizcal tr td { color: #fff; padding: 5px 0; font-size: 3rem; }
body #wrapper footer .inner #schedule .calender-wrap #biz_calendar .bizcal tr td.holiday { background: #fff; color: #040000; }
body #wrapper footer .inner #schedule .calender-wrap #biz_calendar .bizcal tr td.calmonth { padding: 5px 10px; }
body #wrapper footer .inner #schedule .calender-wrap #biz_calendar .bizcal tr:nth-child(2) { display: none; }
body #wrapper footer .inner #schedule .calender-wrap #biz_calendar p { font-size: 2.5rem; }
body #wrapper footer .inner #schedule .calender-wrap #biz_calendar p span.boxholiday { background: #fff; padding-left: 13px; }
body #wrapper footer .inner #open { margin: 0 0 37px; }
body #wrapper footer .inner #open p { font-size: 2.4rem; letter-spacing: .025em; line-height: 1.2; }
body #wrapper footer .inner #staff-schedule { margin: 0 0 70px; }
body #wrapper footer .inner #staff-schedule p { font-size: 2.4rem; letter-spacing: .025em; line-height: 1.2; }
body #wrapper footer .inner #staff-schedule p.link { font-size: 2.8rem; letter-spacing: .05em; text-align: center; height: 35px; line-height: 35px; border: solid 1px #fff; margin: 10px 0 0; }
body #wrapper footer .inner nav { margin: 0 0 45px; }
body #wrapper footer .inner nav ul { display: flex; justify-content: space-between; }
body #wrapper footer .inner nav ul li { font-size: 2.4rem; letter-spacing: .05em; }
body #wrapper footer .inner nav ul li a { text-decoration: underline; }
body #wrapper footer small { display: block; text-align: center; font-size: 1.6rem; letter-spacing: .05em; padding: 0 50px 0 0; }
body #wrapper footer #to_top { position: absolute; bottom: 5px; right: 5px; width: 45px; height: 45px; background: #fff; color: #040000; font-size: 2.2rem; letter-spacing: .05em; text-align: center; }
body #wrapper footer #to_top a { display: flex; height: 100%; justify-content: center; align-items: center; }
body #wrapper footer #to_top a i { display: block; font-size: 3rem; margin: 0 0 5px; }

@media screen and (min-width: 768px) { body #wrapper footer { padding: 90px 0 85px; }
  body #wrapper footer .inner { width: 800px; max-width: 90%; }
  body #wrapper footer .inner h3 { font-size: 2.5rem; letter-spacing: .05em; margin: 0 0 20px; }
  body #wrapper footer .inner #schedule { float: left; width: calc(100% - 300px); margin: 0; }
  body #wrapper footer .inner #schedule h3 { font-size: 2.7rem; }
  body #wrapper footer .inner #schedule .calender-wrap #biz_calendar { width: 435px; margin: 0; }
  body #wrapper footer .inner #schedule .calender-wrap #biz_calendar .bizcal tr td { font-size: 2rem; padding: 10px 0; }
  body #wrapper footer .inner #schedule .calender-wrap #biz_calendar p { margin: 13px 0 0; font-size: 1.7rem; }
  body #wrapper footer .inner #schedule .calender-wrap #biz_calendar p span.boxholiday { padding-left: 17px; }
  body #wrapper footer .inner #open { float: right; width: 256px; margin: 55px 0 60px; }
  body #wrapper footer .inner #open p { font-size: 1.5rem; line-height: 1.28; }
  body #wrapper footer .inner #staff-schedule { float: right; width: 256px; margin: 0; }
  body #wrapper footer .inner #staff-schedule p { font-size: 1.5rem; line-height: 1.28; }
  body #wrapper footer .inner #staff-schedule p.link { font-size: 1.5rem; height: 39px; line-height: 39px; margin: 15px 0 0; transition: all .4s ease 0s; }
  body #wrapper footer .inner #staff-schedule p.link:hover { background: #fff; color: #040000; }
  body #wrapper footer .inner nav { padding: 80px 0 0; margin: 0 auto 30px; width: 545px; clear: both; }
  body #wrapper footer .inner nav ul li { font-size: 2.7rem; }
  body #wrapper footer .inner nav ul li a { transition: opacity .4s ease 0s; }
  body #wrapper footer .inner nav ul li a:hover { opacity: .6; }
  body #wrapper footer small { font-size: 1rem; padding: 0; }
  body #wrapper footer #to_top { width: 70px; height: 70px; font-size: 1.8rem; right: 10px; bottom: 10px; }
  body #wrapper footer #to_top a i { font-size: 2.5rem; } }
/*Add 20200420 */
body #wrapper header .reservation { width: 80px; height: 38px; padding: 0; }
body #wrapper header .reservation a { display: block; height: 100%; }
body #wrapper header .reservation.text { bottom: 325px; width: 56px; line-height: 1.4; white-space: nowrap; }
body #wrapper header .reservation.text .inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.6); }
body #wrapper header .reservation.abbey { line-height: 38px; padding: 0; bottom: 235px; }
body #wrapper header .reservation.abbey2 { line-height: 38px; padding: 0; bottom: 145px; }
body #wrapper header .reservation.ginza { bottom: 55px; }
body #wrapper header .reservation.ginza a .inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
body #wrapper header .reservation.ginza a .inner span { position: static; transform: scale(0.5); }

@media screen and (min-width: 768px) { body #wrapper header .reservation { width: 140px; height: 66px; font-size: 2rem; }
  body #wrapper header .reservation.text { bottom: 555px; width: 98px; font-size: 1.2rem; background: #000; }
  body #wrapper header .reservation.text .inner { transform: translate(-50%, -50%); }
  body #wrapper header .reservation.text .inner span { margin: 0; }
  body #wrapper header .reservation.text .inner span::before, body #wrapper header .reservation.text .inner span::after { display: none; }
  body #wrapper header .reservation.text::before, body #wrapper header .reservation.text::after { display: none; }
  body #wrapper header .reservation.abbey { line-height: 66px; bottom: 400px; }
  body #wrapper header .reservation.abbey2 { line-height: 66px; bottom: 245px; }
  body #wrapper header .reservation.ginza { bottom: 90px; }
  body #wrapper header .reservation.ginza a .inner span { transform: none; font-size: 1rem; margin: 7px 0 0; }
  body #wrapper header .reservation.change.text { background: #fff; color: #000; } }
