.elementor-462 .elementor-element.elementor-element-7bb94c1{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:12px;--padding-bottom:12px;--padding-left:10px;--padding-right:10px;}.elementor-462 .elementor-element.elementor-element-7bb94c1:not(.elementor-motion-effects-element-type-background), .elementor-462 .elementor-element.elementor-element-7bb94c1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(174deg, var( --e-global-color-primary ) 0%, #FFC8AEEB 100%);}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-462 .elementor-element.elementor-element-372e050{text-align:center;}.elementor-462 .elementor-element.elementor-element-372e050 img{width:320px;}.elementor-462 .elementor-element.elementor-element-468c1e4{--display:flex;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-462 .elementor-element.elementor-element-7bb94c1{--flex-wrap:nowrap;--padding-top:15px;--padding-bottom:15px;--padding-left:10px;--padding-right:10px;}.elementor-462 .elementor-element.elementor-element-372e050{text-align:start;}.elementor-462 .elementor-element.elementor-element-372e050 img{width:80%;}.elementor-462 .elementor-element.elementor-element-0477e9b{padding:0px 10px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-0477e9b *//* ========================================
   SP MENU
======================================== */

.sd-spmenu-btn {
  width: 48px;
  height: 48px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;

  padding: 0;

  background: #fff;
  border: 0;
  cursor: pointer;

  position: relative;
  z-index: 100001;
}

.sd-spmenu-btn span {
  display: block;

  width: 28px;
  height: 1px;

  background: currentColor;

  transition:
    transform .35s ease,
    opacity .35s ease;
}


/* MENU
------------------------------ */

.sd-spmenu {
  position: fixed;
  inset: 0;

  width: 100%;
  height: 100dvh;

  background: #fff;

  z-index: 100000;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity .35s ease,
    visibility .35s ease;
}

.sd-spmenu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


/* INNER
------------------------------ */

.sd-spmenu__inner {
  position: relative;

  width: 100%;
  height: 100%;

  overflow-y: auto;

  transform: translateY(20px);

  transition: transform .45s ease;
}

.sd-spmenu.is-open .sd-spmenu__inner {
  transform: translateY(0);
}


/* CONTENT
------------------------------ */

.sd-spmenu__content {
  min-height: 100%;
}


/* CLOSE
------------------------------ */

.sd-spmenu__close {
  position: absolute;

  top: 20px;
  right: 20px;

  width: 48px;
  height: 48px;

  padding: 0;

  background: transparent;
  border: 0;

  cursor: pointer;

  z-index: 10;
}

.sd-spmenu__close span {
  position: absolute;

  top: 50%;
  left: 50%;

  width: 28px;
  height: 1px;

  background: #000;
}

.sd-spmenu__close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

.sd-spmenu__close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}


/* MENU OPEN
------------------------------ */

html.spmenu-open,
body.spmenu-open {
  overflow: hidden;
}


/* PCでは非表示
------------------------------ */

@media (min-width: 768px) {

  .sd-spmenu-btn,
  .sd-spmenu {
    display: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-06fcb26 *//* =========================
   MENU SETTING
========================= */
.menu-area{
  /* color */
  --menu-color: #fff;
  --menu-line: rgba(255,255,255,.28);
  --menu-hover-bg: rgba(255,255,255,.08);

  --reserve-bg: #fff;
  --reserve-color: #0453AF;
  --reserve-hover-bg: #0453AF;
  --reserve-hover-color: #fff;

  /* pc size */
  --menu-height: 54px;
  --menu-item-min-width: 150px;
  --menu-item-padding-x: 22px;

  --menu-en-size: 18px;
  --menu-ja-size: 11px;
  --menu-gap: 3px;

  --reserve-width: 170px;
  --reserve-padding-x: 22px;

  /* tablet / sp size */
  --sp-menu-height: 64px;
  --sp-menu-padding-x: 10px;
  --sp-menu-en-size: 25px;
  --sp-menu-ja-size: 11px;
  --sp-reserve-padding-x: 20px;

  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  width:100%;

  border-top:none;
  border-bottom:none;
}

/* =========================
   MENU GRID
========================= */
.menu-grid{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  flex:1;
  gap:0;
  margin-left:auto;
  border-top:none;
}

.menu-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:var(--menu-gap);

  min-width:var(--menu-item-min-width);
  min-height:var(--menu-height);
  height:var(--menu-height);
  padding:0 var(--menu-item-padding-x);

  color:var(--menu-color);
  text-decoration:none;
  border-right:1px solid var(--menu-line);
  border-bottom:none;

  box-sizing:border-box;

  transition:
    background .3s ease,
    opacity .3s ease;
}

.menu-item:nth-child(odd),
.menu-item:nth-child(even){
  padding:0 var(--menu-item-padding-x);
  border-right:1px solid var(--menu-line);
}

/* Accessの右線を消す */
.menu-grid .menu-item:last-child,
.menu-grid .menu-item:last-child:nth-child(odd),
.menu-grid .menu-item:last-child:nth-child(even){
  border-right:none !important;
}

.menu-item:hover{
  background:var(--menu-hover-bg);
}

/* =========================
   TEXT
========================= */
.menu-en{
  display:block;

  font-family:"Cormorant Garamond", serif;
  font-size:var(--menu-en-size);
  font-weight:400;
  line-height:1;
  letter-spacing:.06em;
  color:var(--menu-color);
  text-align:center;
}

.menu-ja{
  display:block;

  font-family:"Shippori Mincho", serif;
  font-size:var(--menu-ja-size);
  font-weight:400;
  line-height:1.5;
  color:var(--menu-color);
  letter-spacing:.5px;
  opacity:.72;
  text-align:center;
  white-space:nowrap;
}

/* =========================
   RESERVATION BUTTON
========================= */
.reservation-btn{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:var(--menu-gap);

  width:var(--reserve-width);
  flex:0 0 var(--reserve-width);

  min-height:var(--menu-height);
  height:var(--menu-height);
  margin-top:0;
  margin-left:0;
  padding:0 var(--reserve-padding-x);

  background:var(--reserve-bg);
  color:var(--reserve-color);
  text-decoration:none;

  box-sizing:border-box;

  transition:
    background .3s ease,
    color .3s ease,
    opacity .3s ease;
}

.reservation-btn:hover{
  background:var(--reserve-hover-bg);
  color:var(--reserve-hover-color);
  opacity:1;
}

.reservation-en{
  display:block;

  font-family:"Cormorant Garamond", serif;
  font-size:var(--menu-en-size);
  font-weight:400;
  line-height:1;
  letter-spacing:.06em;
  color:inherit;
  text-align:center;
}

.reservation-ja{
  display:block;

  font-family:"Shippori Mincho", serif;
  font-size:var(--menu-ja-size);
  font-weight:400;
  line-height:1.5;
  letter-spacing:.5px;
  opacity:.86;
  color:inherit;
  text-align:center;
  white-space:nowrap;
}

/* =========================
   TABLET
========================= */
@media (max-width:1024px){
  .menu-area{
    flex-direction:column;
    justify-content:flex-start;
  }

  .menu-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    justify-content:initial;
    margin-left:0;
    border-top:none;
  }

  .menu-item{
    min-width:0;
    height:var(--sp-menu-height);
    min-height:var(--sp-menu-height);
    border-right:1px solid var(--menu-line);
    border-bottom:none;
  }

  .menu-item:nth-child(3n){
    border-right:none;
  }

  .menu-grid .menu-item:last-child{
    border-right:none !important;
  }

  .reservation-btn{
    width:100%;
    flex:initial;
    flex-direction:row;
    justify-content:space-between;

    height:var(--sp-menu-height);
    min-height:var(--sp-menu-height);
    padding:0 var(--sp-reserve-padding-x);
  }

  .reservation-en,
  .reservation-ja{
    text-align:left;
  }
}

/* =========================
   SP
========================= */
@media (max-width:767px){
  .menu-area{
    flex-direction:column;
    border-top:none;
    border-bottom:none;
  }

  .menu-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    margin-left:0;
  }

  .menu-item,
  .menu-item:nth-child(odd),
  .menu-item:nth-child(even){
    min-width:0;
    height:var(--sp-menu-height);
    min-height:var(--sp-menu-height);
    padding:0 var(--sp-menu-padding-x);
    border-right:1px solid var(--menu-line);
    border-bottom:none;
  }

  .menu-item:nth-child(even){
    border-right:none;
  }

  .menu-grid .menu-item:last-child{
    border-right:none !important;
  }

  .menu-en{
    font-size:var(--sp-menu-en-size);
  }

  .menu-ja{
    font-size:var(--sp-menu-ja-size);
  }

  .reservation-btn{
    width:100%;
    margin-top:0;
    height:var(--sp-menu-height);
    min-height:var(--sp-menu-height);
    padding:0 var(--sp-reserve-padding-x);
    flex-direction:row;
  }

  .reservation-en{
    font-size:var(--sp-menu-en-size);
  }
}/* End custom CSS */