/*
  Theme Name: coil_2026
*/

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100..900&display=swap');


:root {
    --fontbase: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    --fontjp: 'Noto Serif JP', serif;
    --fontjp_yugothic: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    --fonten: 'Roboto', sans-serif;
    --color: #000;
}

html {
    font-family: var(--fontbase);
    color: var(--color);
    min-height: 100%;
}
body{
    min-height: 100%;
    background: #FFF;
}

.pc { display: block; }
.sp { display: none; }
@media (max-width: 750px) {
    .pc { display: none; }
    .sp { display: block; }
}

.link_range {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
}

img {
    width: 100%;
    height: auto;
    display: block;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media only screen and (max-width: 750px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}




/*------------------------------------*\
    共通
\*------------------------------------*/
/* inview用 */
.inview, .inview2, .inview_init {
  transition: all 800ms ease-in-out;
  opacity: 0;
}
.inview_up, .inview_up2 {
  transition: all 500ms ease-in-out;
  opacity: 0;
  transform: translate(0,10px);
}
.inview_action {
  opacity: 1.0;
}
.inview_up_action {
  opacity: 1.0;
  transform: translate(0,0);
}
@media only screen and (max-width:750px) {
}


/*------------------------------------*\
    header (logo)
\*------------------------------------*/
.header_logo_wrap {
    position: fixed;
    top: 32px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 940;
}
@media (max-width: 750px) {
  .header_logo_wrap {
      top: 25px;
  }
}
.header_logo {
    width: 75px;
}
@media (max-width: 750px) {
  .header_logo {
      width: 56px;
  }
}


/*------------------------------------*\
    header (nav)
\*------------------------------------*/
.header_nav_wrap {
  position: fixed;
  top: 40px;
  left: 5%;
  z-index: 920;
}
@media (max-width: 750px) {
  .header_nav_wrap {
    display: none;
  }
}

.header_nav {
}
.header_nav ul {
  display: flex;
  gap: 20px;
}
.header_nav li {
}
.header_nav_name_wrap {
}
.header_nav_name {
  font-family: var(--fonten);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--color);
  cursor: pointer;
  transition: all 300ms ease-in-out;
}
@media (hover: hover) {
    .header_nav_name:hover {
        opacity: 0.7;
    }
}


/*------------------------------------*\
    header language
\*------------------------------------*/

.header_lang_wrap {
  position: fixed;
  top: 36px;
  right: 5%;
  z-index: 920;
}
@media (max-width: 750px) {
  .header_lang_wrap {
    top: 29px;
  }
}
.header_lang_radio_wrap {
}
.header_lang_radio {
  display: flex;
  justify-content: center;
  gap: 14px;
}
.header_lang_radio input[type="radio"] {
  display:none; 
}
.header_lang_radio label {
  font-family: var(--fonten);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #9F9F9F;
  position: relative;
  cursor: pointer;
  padding-bottom: 12px;
  padding-left: 0;
  padding-right: 0;
  transition: all 150ms ease-in-out;
}
@media (max-width: 750px) {
  .header_lang_radio label {
    font-size: 15px;
    padding-bottom: 10px;
  }
}

.header_lang_radio label .header_lang_select {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9F9F9F;
  background: var(--color);
  position: absolute;
  bottom: 0px;
  left: calc(50% - 1px);
  transform: translate(-50%,0);
  display: none;
  opacity: 0;
  transition: all 150ms ease-in-out;
}
@media (max-width: 750px) {
  .header_lang_radio label .header_lang_select {
    width: 5px;
    height: 5px;
  }
}
.header_lang_radio input[type="radio"]:checked + label { 
  color: var(--color);
}
.header_lang_radio input[type="radio"]:checked + label .header_lang_select { 
  display: block;
  opacity: 1;
}

/* メニューの日英切り替え用 */
.lang_hidden {
  opacity: 0;
  position: absolute;
  top: 0;
  z-index: -1;
  transition: opacity 500ms ease-in-out;
}
.lang_visible {
  opacity: 1;
  position: relative;
  z-index: auto;
}

.jp {
  font-family: var(--fontjp);
  color: var(--color);
  font-weight: 400;
  letter-spacing: 0.05em;
}
.en {
  font-family: var(--fonten);
  color: var(--color);
  font-weight: 500;
  letter-spacing: 0.05em;
}

/*------------------------------------*\
    header (Reservation)
\*------------------------------------*/

.header_reservation_wrap {
  position: fixed;
  bottom: 36px;
  right: 0;
  z-index: 890;
  width: 258px;
  height: 60px;
  background-color: #000;
  border-top: 1px solid #FFF;
  border-left: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  cursor: pointer;
  opacity: 0;
  transition: opacity 800ms ease-in-out, background-color 800ms ease-in-out, border 800ms ease-in-out;
}
body.scroll_bottom .header_reservation_wrap {
  opacity: 0;       
  pointer-events: none;
}
@media (max-width: 750px) {
  .header_reservation_wrap {
    bottom: 1.5%;
    width: 218px;
    height: 44px;

  }
}
.header_reservation_wrap.top {
  opacity: 1;
}
@media (max-width: 750px) {
}
.header_reservation_wrap.nomal {
  opacity: 1;
}
.header_reservation_wrap.short {
  opacity: 1;
}
.header_reservation_wrap.nav_open {
  opacity: 0;
  pointer-events: none;
}
@media (hover: hover) {
    .header_reservation_wrap:hover {
      background-color: #FFF;
      border-top: 1px solid #000;
      border-left: 1px solid #000;
      border-bottom: 1px solid #000;
    }
    @media (max-width: 750px) {
      .header_reservation_wrap:hover {
        background-color: #FFF;
        border: none;
      }
    }
}

.header_reservation_text_wrap {
  width: 100%;
  height: 100%;
}
.header_reservation_text_wrap .com_lang_wrap {
  width: 100%;
  height: 100%;
}
.header_reservation_text {
  width: 100%;
  height: 100%;
  color: #FFF;
  white-space: nowrap;
  transition: all 800ms ease-in-out;
}
.header_reservation_text a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
@media (hover: hover) {
    .header_reservation_wrap:hover .header_reservation_text {
        color: #000;
    }
}
.header_reservation_text .text_en {
  font-family: 'Oswald', sans-serif;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.05em;
  margin-right: 13px;
}
.header_reservation_text .text_jp {
  font-family: 'Noto Serif JP', serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
}



/*------------------------------------*\
    header (navigation)
\*------------------------------------*/
.header_background_wrap {
  display: block;
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  visibility: hidden;
  transition: all 500ms ease-in-out;
  z-index: 898;
}
body.nav_short .header_background_wrap {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 750px) {
  .header_background_wrap {
    height: 73px;
  }
}


/*------------------------------------*\
    top (共通)
\*------------------------------------*/
.com_top_title_wrap {
}
.com_top_title {
  font-family: var(--fonten);
  color: var(--color);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media only screen and (max-width:750px) {
  .com_top_title {
    font-size: 20px;
  }
}

/*------------------------------------*\
    top 
\*------------------------------------*/
.top_wrap {
}
@media (max-width: 750px) {
}
.top_fv_wrap {
}
.top_fv_inner {
}
.top_fv_content_wrap {
    /* height: 100vh; */
}


/*------------------------------------*\
    top FV ギャラリー
\*------------------------------------*/
.top_fv_slider_wrap {
    visibility: hidden;
    opacity: 0;
    transition: all 800ms ease-in-out;
}
.top_fv_slider_wrap.visible {
    visibility: visible;
    opacity: 1;
    position: relative;
}
.top_fv_slider {
    position: relative;
    width: 100%;
    height: 100svh;
}
.top_fv_slider .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  pointer-events: none;
}
.top_fv_slider .slide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}
.top_fv_slider_img_wrap {
    width: 100%;
    height: 100svh;
}
.top_fv_slider_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top_fv_dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  /* display: flex; */
  display: none; /* 非表示 */
  gap: 8px;
  z-index: 10;
}
.top_fv_dot {
  width: 10px;
  height: 10px;
  background: #cfcfcf;
  cursor: pointer;
  transition: background 0.3s ease;
}
.top_fv_dot.is-active {
  background: #000;
}
@media (max-width: 750px) {
}


/*------------------------------------*\
    top (store)
\*------------------------------------*/
.top_store_wrap {
    padding-top: 140px;
    padding-bottom: 140px;
}
@media (max-width: 750px) {
  .top_store_wrap {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.top_store_inner {
    width: 89%;
    margin: 0 auto;
}
@media (max-width: 750px) {
  .top_store_inner {
      width: 90%;
  }
}
.top_store_text_wrap {
  text-align: center;
}
.top_store_text {
  font-size: 16px;
  line-height: 36px;
}
.top_store_text.en {
  font-size: 16px;
  line-height: 36px;
}
@media (max-width: 750px) {
  .top_store_text {
    font-size: 15px;
    line-height: 32px;
  }
  .top_store_text.en {
    font-size: 15px;
    line-height: 32px;
  }
}
.top_store_img_wrap {
    max-width: 1500px;
    margin: 0 auto;
    margin-top: 140px;
}
@media (max-width: 750px) {
  .top_store_img_wrap {
    margin-top: 70px;
  }
}
.top_store_img {
}
@media (max-width: 750px) {
}


/*------------------------------------*\
    top (exp)
\*------------------------------------*/
.top_exp_wrap {
    padding-top: 50px;
}
@media (max-width: 750px) {
  .top_exp_wrap {
      padding-top: 30px;
  }
}
.top_exp_inner {
    margin-top: 70px;
}
@media (max-width: 750px) {
  .top_exp_inner {
      margin-top: 40px;
  }
}
.top_exp_content_wrap {
    display: flex;
    background-color: #F7F7F7;
}
.top_exp_content_wrap.reverse {
    flex-direction: row-reverse;
}
@media (max-width: 750px) {
  .top_exp_content_wrap {
    flex-direction: column-reverse;
  }
  .top_exp_content_wrap.reverse {
    flex-direction: column-reverse;
  }
}
.top_exp_img_wrap {
    width: 50%;
}
@media (max-width: 750px) {
  .top_exp_img_wrap {
      width: 100%;
  }
}
.top_exp_img {
}
.top_exp_text_wrap {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
@media (max-width: 750px) {
  .top_exp_text_wrap {
      width: 100%;
      aspect-ratio: 375 / 270;
  }
}
.top_exp_text_inner {
    width: 95%;
    margin: 0 auto;
}
.top_exp_text {
    font-size: 16px;
    line-height: 40px;
    letter-spacing: 0.15em;
}
.top_exp_text.en {
    font-size: 18px;
    line-height: 40px;
    letter-spacing: 0.05em;
}
@media (max-width: 750px) {
  .top_exp_text {
      font-size: 14px;
      line-height: 34px;
  }
  .top_exp_text.en {
      font-size: 16px;
      line-height: 32px;
  }
}


/*------------------------------------*\
    menu set
\*------------------------------------*/
.top_menu_wrap {
  padding-top: 150px;
}
@media (max-width: 750px) {
  .top_menu_wrap {
    padding-top: 100px;
  }
}

.top_set_list {
}
.top_set_list li {

}

.top_menu_set_wrap {
  width: 89%;
  margin: 0 auto;
}
.top_set_title_wrap {
  text-align: center;
  margin-top: 100px;
  margin-bottom: 50px;
}
@media (max-width: 750px) {
  .top_set_title_wrap {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}
.top_set_title {
  font-size: 28px;
  line-height: 30px;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.top_set_title.jp {
  font-family: var(--fontjp_yugothic);
  letter-spacing: 0.013em;
}
@media (max-width: 750px) {
  .top_set_title {
    font-size: 26px;
  }
}

.top_set_wrap {
  display: flex;
}
@media (max-width: 750px) {
  .top_set_wrap {
    flex-direction: column;
  }
}
.top_set_detail_wrap {
  width: 45%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-right: 5%;
}
@media (max-width: 750px) {
  .top_set_detail_wrap {
    width: 100%;
  }
}
.top_set_detail_content_list {
    display: flex;
    flex-direction: column;
    gap: 60px;
}
@media (max-width: 750px) {
  .top_set_detail_content_list {
      gap: 40px;
  }
}
.top_set_detail_content {
    padding-bottom: 56px;
    border-bottom: 1px solid #000;
}
@media (max-width: 750px) {
  .top_set_detail_content {
      padding-bottom: 40px;
  }
}
.top_set_detail_title_and_price_wrap {
}
@media (max-width: 750px) {
  .top_set_detail_title_and_price_wrap {
    display: flex;
    align-items: center;
  }
}
.top_set_detail_title_wrap {
}
.top_set_detail_title {
  font-size: 28px;
  line-height: 28px;
  letter-spacing: 0.013em;
  font-weight: 700;
}
.top_set_detail_title.jp {
  font-family: var(--fontjp_yugothic);
  padding-bottom: 4px;
}
@media (max-width: 750px) {
  .top_set_detail_title {
    font-size: 24px;
  }
  .top_set_detail_title.jp {
    padding-bottom: 0px;
  }
}
.top_set_detail_title .title_note {
  display: block;
  font-style: italic;
  font-size: 16px;
  line-height: 28px;
  margin-top: 3px;
}
@media (max-width: 750px) {
  .top_set_detail_title .title_note {
    display: block;
    font-size: 13px;
    margin-top: 6px;
  }
}

.top_set_detail_price_wrap {
  margin-top: 16px;
}
@media (max-width: 750px) {
  .top_set_detail_price_wrap {
    margin-top: 0;
    margin-left: auto;
  }
}
.top_set_detail_price {
  font-family: var(--fonten);
  font-size: 24px;
  line-height: 24px;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media (max-width: 750px) {
  .top_set_detail_price {
    font-size: 20px;
  }
}
.top_set_detail_text_wrap {
  margin-top: 30px;
}
@media (max-width: 750px) {
  .top_set_detail_text_wrap {
    margin-top: 22px;
  }
}
.top_set_detail_text {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.05em;
  font-weight: 400;
}
/* .top_set_detail_text.en {
  font-size: 14px;
} */
@media (max-width: 750px) {
  .top_set_detail_text {
    font-size: 14px;
    line-height: 30px;
  }
  .top_set_detail_text.en {
    font-size: 13px;
    line-height: 23px;
  }
}

.top_set_detail_link_wrap {

}
.top_set_detail_link_text_wrap {
  margin-top: 30px;
}
@media (max-width: 750px) {
  .top_set_detail_link_text_wrap {
    margin-top: 22px;
  }
}
.top_set_detail_link_text {
  font-size: 16px;
  line-height: 22px;
  letter-spacing: 0.05em;
  font-weight: 400;
  margin-bottom: 16px;
}
.top_set_detail_link_text.en {
  font-size: 16px;
}
@media (max-width: 750px) {
  .top_set_detail_link_text {
    font-size: 14px;
    line-height: 20px;
  }
  .top_set_detail_link_text.en {
    font-size: 14px;
  }
}
.top_set_detail_link_text a {
  display: inline-block;
  text-decoration: underline;
}



.top_set_img_wrap {
  width: 50%;
  /* aspect-ratio: 3 / 2; */
  /* overflow: hidden; */
}
@media (max-width: 750px) {
  .top_set_img_wrap {
    width: 100%;
    margin-top: 30px;
    aspect-ratio: auto;
    overflow: visible;
  }
}
.top_set_img {
  /* position: relative;
  top: 47%;
  left: 52%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  width: 146%;
  max-width: none; */
}
@media (max-width: 750px) {
  .top_set_img {
    top: 0;
    left: 0;
    transform: none;
    object-fit: contain;
    width: 100%;
  }
}


.top_set_option_wrap {
  display: flex;
  gap: 65px;
  background-color: #F7F7F7;
  max-width: 1200px;
  margin: 0 auto;
  padding: 33px 5% 33px 45px;
  margin-top: 36px;
}
@media only screen and (max-width:1024px) {
  .top_set_option_wrap {
    flex-direction: column;
    gap: 30px;
    padding: 30px 30px 40px 24px;
  }
}
.top_set_option_title_wrap {
  min-width: 110px;
}
@media only screen and (max-width:1024px) {
  .top_set_option_title_wrap {
    text-align: center;
  }
}
.top_set_option_title {
  font-size: 20px;
  line-height: 20px;
  letter-spacing: 0.013em;
  font-weight: 700;
}
.top_set_option_title.jp {
  font-family: var(--fontjp_yugothic)
}
@media only screen and (max-width:1024px) {
  .top_set_option_title.jp {
    font-size: 18px;
    line-height: 18px;
  }
}
.top_set_option_title .title_note {
  display: block;
  font-style: italic;
  font-size: 14px;
  line-height: 26px;
  margin-top: 2px;
}
@media only screen and (max-width:1024px) {
  .top_set_option_title .title_note {
    display: block;
    font-size: 13px;
    margin-top: 6px;
  }
}

.top_set_option_list_wrap {
}
.top_set_option_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 50px;
}
@media only screen and (max-width:1024px) {
  .top_set_option_list {
    gap: 10px;
    max-width: 400px;
    margin: 0 auto;
  }
}
/* body.lang_en .top_set_option_list_wrap {
  width: 50%;
  margin-left: auto;
}
@media only screen and (max-width:1024px) {
  body.lang_en .top_set_option_list_wrap {
    width: 100%;
  }
} */
/* body.lang_en .top_set_option_list {
  flex-direction: column;
} */
.top_set_option_detail_wrap {
  display: flex;
  align-items: center;
  /* min-width: 215px; */
  gap: 16px;
}
body.lang_en .top_set_option_detail_wrap {
  align-items: flex-start;
  flex-direction: column;
  gap: 4px;
}
@media only screen and (max-width:1024px) {
  .top_set_option_detail_wrap {
    width: 100%;
    /* min-width: auto; */
    gap: 20px;
  }
  body.lang_en .top_set_option_detail_wrap {
    flex-direction: row;
    gap: 10px;
  }
}

.top_set_option_text_wrap {
}
.top_set_option_text {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.013em;
  font-weight: 400;
}
.top_set_option_text .nowrap {
  white-space: nowrap;
}
@media only screen and (max-width:1024px) {
  .top_set_option_text {
    font-size: 13px;
    line-height: 18px;
  }
}
.top_set_option_price_wrap {
  margin-left: auto;
}
body.lang_en .top_set_option_price_wrap {
  margin-left: 0;
}
@media only screen and (max-width:1024px) {
  body.lang_en .top_set_option_price_wrap {
    margin-left: auto;
  }
}
.top_set_option_price {
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  letter-spacing: 0.013em;
  font-weight: 400;
  position: relative;
}
.top_set_option_price span {
  position: absolute;
  top: 0;
  left: calc(100% + 3px);
}
@media only screen and (max-width:1024px) {
  .top_set_option_price {
    font-size: 14px;
  }
}


/*------------------------------------*\
    menu toppings
\*------------------------------------*/
.top_menu_food_wrap {
  width: 89%;
  margin: 0 auto;
}
.top_food_title_wrap {
  text-align: center;
  margin-top: 100px;
  margin-bottom: 50px;
}
@media (max-width: 750px) {
  .top_food_title_wrap {
    margin-top: 70px;
    margin-bottom: 30px;
  }
}
.top_food_title {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.top_food_title.jp {
  font-family: var(--fontjp_yugothic);
  letter-spacing: 0.013em;
}
@media (max-width: 750px) {
  .top_food_title {
    font-size: 26px;
  }
}
.top_food_wrap {
}

/*------------------------------------*\
    tabs
\*------------------------------------*/
.tabs_wrap {
}
.tabs_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
}
@media (max-width: 750px) {
}
.tabs_nav .tab {
    padding: 17px 50px;
    text-align: center;
    background-color: transparent;
    transition: all 500ms ease-in-out;
    border: 1px solid #F7F7F7;
    /* border-radius: 20px 20px 0 0; */
    /* border: 3px solid var(--colorRed); */
}
@media (max-width: 750px) {
    .tabs_nav .tab {
        min-width: calc(100% / 3 - 3px);
        padding: 11px 8px;
        /* border-radius: 12px 12px 0 0; */
    }
    body.lang_en .tabs_nav .tab {
      width: 100%;
    }
}
.tabs_nav .tab:hover {
  background-color: #FAF1EC;
}
@media (max-width: 750px) {
}
.tabs_nav .tab_label {
    font-family: var(--fontjp_yugothic);
    font-size: 20px;
    line-height: 20px;
    letter-spacing: 0.013em;
    font-weight: 700;
    /* padding: 2px 10px; */
    /* border-radius: 9px; */
    /* border: 1px solid var(--colorRed); */
    /* white-space: nowrap; */
    /* display: inline-block; */
    transition: all 500ms ease-in-out;
}
.tabs_nav .tab_label.en {
    font-size: 16px;
    line-height: 20px;
}
@media (max-width: 750px) {
  .tabs_nav .tab_label {
      font-size: 16px;
  }
  .tabs_nav .tab_label.en {
      font-size: 15px;
  }
}

.tabs_nav .tab.is-active {
    background-color: #F7F7F7;
    /* box-shadow: 0 8px 8px rgba(0, 0, 0, 0.16); */
}
.tabs_nav .tab.is-active .tab_label {
    /* color: #fff; */
    /* border: 1px solid #fff; */
}

.tabs_contents {
    position: relative;
    /* border: 3px solid var(--colorRed); */
    /* margin-top: -3px; */
    background-color: #F7F7F7;
    padding-top: 40px;
    padding-bottom: 50px;
    overflow: hidden;
}
@media (max-width: 750px) {
    .tabs_contents {
        padding-bottom: 35px;
    }
}
.tab_panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 500ms ease-in-out;
}
.tab_panel.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
}
.tabs_content_wrap {
  width: 90%;
  margin: 0 auto;
}
.tabs_content_inner {
}

/*------------------------------------*\
    tabs toppings 
\*------------------------------------*/
.top_food_list_wrap {
}
.top_food_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 0;
}
@media (max-width: 750px) {
}
.top_food_list li {
  width: 20%;
}
@media (max-width: 1100px) {
  .top_food_list li {
    width: 25%;
  }
}
@media (max-width: 900px) {
  .top_food_list li {
    width: calc(100% / 3);
  }
}
@media (max-width: 750px) {
  .top_food_list li {
    width: 50%;
  }
}
.top_food_content_img_wrap {
  width: 90%;
  margin: 0 auto;
}
@media (max-width: 750px) {
  .top_food_content_img_wrap {
    width: 100%;
  }
}
.top_food_content_img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.top_food_content_detail_wrap {
  margin-top: 5px;
}
@media (max-width: 750px) {
  .top_food_content_detail_wrap {
    margin-top: 0px;
  }
}
.top_food_content_text_wrap {
  text-align: center;
}
.top_food_content_text {
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 0.013em;
}
.top_food_content_text.jp {
  font-family: var(--fontjp_yugothic);
}
@media (max-width: 750px) {
  .top_food_content_text {
    font-size: 12px;
    line-height: 14px;
  }
}
.top_food_content_note_wrap {
  text-align: center;
  margin-top: 7px;
}
@media (max-width: 750px) {
  .top_food_content_note_wrap {
    margin-top: 5px;
  }
}
.top_food_content_note {
  font-size: 12px;
  line-height: 14px;
  letter-spacing: 0.013em;
}
.top_food_content_note.jp {
  font-family: var(--fontjp_yugothic);
}
@media (max-width: 750px) {
  .top_food_content_note {
    font-size: 10px;
    line-height: 12px;
  }
}


/*------------------------------------*\
    menu text  
\*------------------------------------*/
.top_menu_note_wrap {
  padding-top: 70px;
}
.top_menu_note_inner {
  width: 89%;
  margin: 0 auto;
  border: 1px solid #003;
}
.top_menu_note_content_wrap {
  position: relative;
  width: 90%;
  margin: 0 auto;
  padding-top: 70px;
  padding-bottom: 50px;
}
@media (max-width: 750px) {
  .top_menu_note_content_wrap {
    padding-top: 40px;
    padding-bottom: 36px;
  }
}
.top_menu_note_title_wrap {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translate(-50%, 0);
  display: inline-block;
  background-color: #FFF;
  padding: 0 25px;
  min-width: 344px;
}
@media (max-width: 750px) {
  .top_menu_note_title_wrap {
    top: -11px;
    padding: 0 10px;
    min-width: 280px;
  }
}
@media (max-width: 380px) {
  .top_menu_note_title_wrap {
    min-width: 94%;
  }
}
.top_menu_note_title {
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  letter-spacing: 0.013em;
}
.top_menu_note_title.jp {
  font-family: var(--fontjp_yugothic);
}
.top_menu_note_title.en {
  font-family: var(--fontjp_yugothic);
}
@media (max-width: 750px) {
  .top_menu_note_title {
    font-size: 16px;
    line-height: 20px;
  }
  .top_menu_note_title.en {
    font-size: 18px;
  }
}
.top_menu_note_text_wrap {
}
.top_menu_note_text {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.05em;
}
@media (max-width: 750px) {
  .top_menu_note_text {
    font-size: 14px;
    line-height: 26px;
  }
  .top_menu_note_text.en {
    font-size: 15px;
    line-height: 28px;
    font-weight: 500;
  }
}
.top_menu_note_biko_wrap {
  margin-top: 46px;
}
@media (max-width: 750px) {
  .top_menu_note_biko_wrap {
    margin-top: 30px;
  }
}
.top_menu_note_biko {
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.05em;
}
@media (max-width: 750px) {
  .top_menu_note_biko {
    font-size: 12px;
    line-height: 22px;
  }
  .top_menu_note_biko.en {
    font-size: 13px;
    line-height: 23px;
    font-weight: 500;
  }
}


/*------------------------------------*\
    menu À LA CARTE
\*------------------------------------*/
.top_ala_wrap {
  width: 89%;
  margin: 0 auto;
}
.top_ala_title_wrap {
  text-align: center;
  margin-top: 100px;
  margin-bottom: 50px;
}
@media (max-width: 750px) {
  .top_ala_title_wrap {
    margin-top: 75px;
    margin-bottom: 30px;
  }
}
.top_ala_title {
  font-family: var(--fonten);
  font-size: 24px;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.013em;
}
@media (max-width: 750px) {
  .top_ala_title {
    font-size: 20px;
  }
}
.top_menu_ala_wrap {
}
.top_menu_ala_text_wrap {
  text-align: center;
}
@media (max-width: 750px) {
  .top_menu_ala_text_wrap {
    width: 90%;
    margin: 0 auto;
    text-align: left;
  }
}
.top_menu_ala_text {
  font-size: 14px;
  line-height: 24px;
  font-weight: 400;
}
@media (max-width: 750px) {
  .top_menu_ala_text {
    font-size: 13px;
    line-height: 24px;
  }
  .top_menu_ala_text.en {
    font-size: 13px;
    line-height: 25px;
  }
}


.top_ala_list_wrap {
  margin-top: 60px;
}
@media (max-width: 750px) {
  .top_ala_list_wrap {
    margin-top: 30px;
  }
}
.top_ala_list {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 0;
}
@media (max-width: 750px) {
  .top_ala_list {
    gap: 50px 0;
  }
}
.top_ala_content {
  width: 50%;
}
@media (max-width: 750px) {
  .top_ala_content {
    width: 100%;
  }
}
.top_ala_img_and_detail_wrap {
  display: flex;
  gap: 24px;
}
@media (max-width: 750px) {
  .top_ala_img_and_detail_wrap {
    flex-direction: column;
  }
}
.top_ala_img_wrap {
  width: 50%;
}
@media (max-width: 750px) {
  .top_ala_img_wrap {
    width: 100%;
  }
}
.top_ala_img {
}
@media (max-width: 750px) {
}
.top_ala_detail_wrap {
  width: 50%;
}
@media (max-width: 750px) {
  .top_ala_detail_wrap {
    width: 100%;
  }
}
.top_ala_detail_inner {
}
.top_ala_detail_title_wrap {
}
@media (max-width: 750px) {
  .top_ala_detail_title_wrap {
    text-align: center;
  }
}
.top_ala_detail_title {
  font-size: 20px;
  line-height: 24px;
  font-weight: 700;
  letter-spacing: 0.013em;
}
.top_ala_detail_title.jp {
  font-family: var(--fontjp_yugothic);
}
.top_ala_detail_title.en {
  font-size: 16px;
  line-height: 20px;
}
@media (max-width: 750px) {
  .top_ala_detail_title {
    font-size: 18px;
    line-height: 22px;
  }
  .top_ala_detail_title.en {
    font-size: 15px;
    line-height: 19px;
  }
}
.top_ala_detail_text_wrap {
  margin-top: 24px;
}
@media (max-width: 750px) {
  .top_ala_detail_text_wrap {
    margin-top: 12px;
    text-align: center;
  }
}
.top_ala_detail_text {
  font-size: 14px;
  line-height: 30px;
  letter-spacing: 0.013em;
}
.top_ala_detail_text.en {
  font-size: 13px;
  line-height: 30px;
}
@media (max-width: 750px) {
  .top_ala_detail_text {
    font-size: 13px;
    line-height: 28px;
  }
  .top_ala_detail_text.en {
    font-size: 12px;
    line-height: 24px;
  }
}


.top_menu_ala_note_wrap {
  text-align: center;
  margin-top: 80px;
}
@media (max-width: 750px) {
  .top_menu_ala_note_wrap {
    text-align: left;
    margin-top: 70px;
  }
}
.top_menu_ala_note {
  font-size: 14px;
  line-height: 30px;
  font-weight: 400;
}
.top_menu_ala_note.en {
  font-size: 14px;
  line-height: 30px;
}
@media (max-width: 750px) {
  .top_menu_ala_note {
    font-size: 13px;
    line-height: 24px;
  }
  .top_menu_ala_note.en {
    font-size: 13px;
    line-height: 24px;
  }
}



/*------------------------------------*\
    top FV 映像
\*------------------------------------*/
.top_kv_video_wrap {
    margin-top: 80px;
    margin-bottom: 80px;
}
@media only screen and (max-width:750px) {
  .top_kv_video_wrap {
    margin-top: 60px;
    margin-bottom: 30px;
  }
}
/* .top_kv_video_wrap { */
    /* width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    transition: all 500ms cubic-bezier(1, 0.04, 0.47, 0.9); */
/* } */
.top_kv_video {
  width: 100%;
    /* max-width: none;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1; */

    /* opacity: 0; */
    /* transition: all 1200ms ease-in-out; */
}
/* .top_kv_video.js_action {
    opacity: 1;
}
.top_kv_video.width_max {
    width: calc(100% + 2px);
}
.top_kv_video.height_max {
    height: calc(100% + 2px);
} */

.top_kv_video_overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background-color: #212121;
    opacity: 0;
}




/*------------------------------------*\
    top (movie)
\*------------------------------------*/
/* .top_kv_video_wrap {
    margin-top: 80px;
    margin-bottom: 80px;
}
@media only screen and (max-width:750px) {
  .top_kv_video_wrap {
    margin-top: 60px;
    margin-bottom: 30px;
  }
}
.top_kv_video_inner {
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width:750px) {
  .top_kv_video_inner {
    width: 100%;
  }
}
.top_kv_video_inner:before {
  content: "";
  display: block;
  padding-top: calc(100% * (9 / 16));
}
@media (max-width: 750px) {
  .top_kv_video_inner:before {
    display: none;
  }
}
.top_kv_video {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media (max-width: 750px) {
  .top_kv_video {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
  }
}
.top_kv_video_overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #212121;
  opacity: 0;
}
@media only screen and (max-width:750px) {
} */




/*------------------------------------*\
    FAQ
\*------------------------------------*/

.top_faq_wrap {
    padding-top: 70px;
    padding-bottom: 150px;
}
@media (max-width: 750px) {
  .top_faq_wrap {
      padding-top: 40px;
      padding-bottom: 50px;
  }
}
.top_faq_inner {
    width: 80%;
    max-width: 1000px;
    margin: 0 auto;
}
@media (max-width: 750px) {
  .top_faq_inner {
      width: 87%;
  }
}
.top_faq_title_wrap {
  text-align: center;
}

.faq_list_wrap{
  margin-top: 60px;
}
.faq_list {
    display: flex;
    flex-direction: column;
    border-top: 1px solid #000;
}
.faq_list li {
    padding: 25px 0 26px;
    border-bottom: 1px solid #000;
}
@media (max-width: 750px) {
    .faq_list li {
        padding: 19px 0 20px;
    }
}
.faq_detail {
}
.faq_q_wrap {
    width: 100%;
    position: relative;
}
.faq_q_detail {
    display: flex;
    align-items: flex-start;
    gap: 55px;
}
@media (max-width: 750px) {
    .faq_q_detail {
        gap: 10px;
    }
}
.faq_q_text_wrap {
    text-align: left;
    padding-right: 45px;
}
.faq_q_text {
    font-family: var(--fontjp);
    color: #000;
    font-size: 15px;
    line-height: 22px;
    letter-spacing: 0.05em;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.faq_q_text.en {
    font-family: var(--fonten);
    font-size: 16px;
    line-height: 22px;
}
@media (max-width: 750px) {
    .faq_q_text {
        font-size: 13px;
        line-height: 22px;
    }
    .faq_q_text.en {
        font-size: 15px;
        line-height: 22px;
    }
}

.com_accordion {
  overflow: hidden;
  height: 0;
  transition: height 300ms ease;
}
.faq_a_wrap {
    padding-top: 34px;
}
@media (max-width: 750px) {
    .faq_a_wrap {
        padding-top: 12px;
    }
}
.faq_a_detail {
    display: flex;
    align-items: flex-start;
    gap: 55px;
}
@media (max-width: 750px) {
    .faq_a_detail {
        gap: 10px;
    }
}
.faq_a_text_wrap {
}
.faq_a_text {
    font-family: var(--fontjp);
    font-size: 14px;
    line-height: 30px;
    letter-spacing: 0.05em;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.faq_a_text.en {
    font-family: var(--fonten);
    font-size: 15px;
    line-height: 22px;
}
@media (max-width: 750px) {
    .faq_a_text {
        font-size: 12px;
        line-height: 22px;
    }
    .faq_a_text.en {
        font-size: 13px;
        line-height: 24px;
    }
}

.faq_arrow_wrap {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translate(0, -50%);
}
@media (max-width: 750px) {
  .faq_arrow_wrap {
      right: 10px;
  }
}
.faq_arrow {
    width: 20px;
	  position: relative;
    cursor: pointer;
    transition: transform 300ms ease;
}
@media (max-width: 750px) {
    .faq_arrow {
        width: 14px;
    }
}
.faq_q_wrap.accordion_open .faq_arrow {
    transform: rotate(180deg);
}
@media (max-width: 750px) {
}
.faq_arrow .cls-1 {
    fill: none;
    stroke: var(--color);
    stroke-width: 1px;
}


/*------------------------------------*\
    location
\*------------------------------------*/
.top_coil_img_wrap {
}
.top_coil_img {
}
@media (max-width: 750px) {
}

.top_location_wrap {
    padding-top: 100px;
    padding-bottom: 100px;
}
@media (max-width: 750px) {
  .top_location_wrap {
      padding-top: 50px;
      padding-bottom: 50px;
  }
}
.top_location_inner {
  width: 94%;
  margin: 0 auto;
  display: flex;
}
@media (max-width: 750px) {
  .top_location_inner {
    width: 90%;
    flex-direction: column;
    gap: 60px;
  }
}
.top_location_detail_wrap {
  width: 50%;
}
.top_location_detail_wrap:first-child {
  border-right: 1px solid #000;
}
@media (max-width: 750px) {
  .top_location_detail_wrap {
    width: 100%;
  }
  .top_location_detail_wrap:first-child {
    border-right: none;
  }
}
.top_location_detail_inner {
  width: 85%;
  margin: 0 auto;
}
@media (max-width: 750px) {
  .top_location_detail_inner {
    width: 100%;
  }
}
.top_location_title_wrap {
  display: flex;
  gap: 50px;
  margin-bottom: 32px;
}
@media (max-width: 750px) {
  .top_location_title_wrap {
    margin-bottom: 25px;
  }
}
.top_location_title {
    font-family: var(--fonten);
    font-size: 20px;
    line-height: 30px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
@media (max-width: 750px) {
  .top_location_title {
      font-size: 18px;
      line-height: 24px;
  }
}
.top_location_map {
    font-family: var(--fonten);
    font-size: 14px;
    line-height: 30px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
@media (max-width: 750px) {
  .top_location_map {
      font-size: 13px;
      line-height: 24px;
  }
}
.top_location_map a {
  text-decoration: underline;
}

.top_location_text_list {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
@media (max-width: 750px) {
  .top_location_text_list {
    gap: 35px;
  }
}
.top_location_text_list li {
}

.top_location_text_wrap {
}
.top_location_text {
  font-family: var(--fontjp_yugothic);
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  letter-spacing: 0.013em;
}
@media (max-width: 750px) {
  .top_location_text {
    font-size: 13px;
    line-height: 23px;
  }
}
.top_location_text .link_text {
  display: block;
  margin-top: 15px;
}
.top_location_text .link_text a {
  text-decoration: underline;
}

.top_location_img_wrap {
  max-width: 300px;
  margin-top: 30px;
}
@media (max-width: 750px) {
  .top_location_img_wrap {
    margin-top: 23px;
  }
}
.top_location_img {
}
.top_location_link_text_wrap {
  margin-top: 8px;
}
@media (max-width: 750px) {
  .top_location_link_text_wrap {
    margin-top: 5px;
  }
}
.top_location_link_text {
  font-family: var(--fontjp_yugothic);
  font-size: 12px;
  line-height: 24px;
  font-weight: 700;
  letter-spacing: 0.013em;
  text-decoration: underline;
}
@media (max-width: 750px) {
  .top_location_link_text {
    font-size: 11px;
  }
}


/*------------------------------------*\
    FOOTER
\*------------------------------------*/
.footer_wrapper {
  background-color: #FAF1EC;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media (max-width: 750px) {
  .footer_wrapper {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.footer_inner_wrapper {
  width: 90%;
  margin: 0 auto;
}

@media (max-width: 750px) {
  .footer_inner_wrapper {
    width: 85%;
  }
}

.footer_left_and_right_wrapper {
  display: flex;
}
@media (max-width: 750px) {
  .footer_left_and_right_wrapper {
    display: block;
  }
}
.footer_left_wrapper {
  display: flex;
  flex-direction: column;
}
@media (max-width: 750px) {
  .footer_left_wrapper {
    flex-direction: row;
  }
}

.footer_logo_and_sns_wrapper {
}
.footer_logo_wrapper {
  width: 55px;
}
.footer_logo {
}

/* .footer_barrier_wrapper {
}
.footer_barrier_logo_wrapper {
  text-align: center;
}
.footer_barrier_logo {
  width: 75px;
  height: auto;
}
@media only screen and (max-width:750px) {
  .footer_barrier_logo_wrapper {
    text-align: left;
  }
  .footer_barrier_logo {
    width: 60px;
    height: auto;
  }
}
.footer_barrier_text_wrapper {
  margin-top: 40px;
}
.footer_barrier_text_lang {
  position: relative;
}
.footer_barrier_text {
  font-family: var(--fontjp);
  font-size: 10px;
  line-height: 16px;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.footer_barrier_text.en {
  font-family: var(--fonten);
  letter-spacing: 0.07em;
}
.footer_barrier_url {
  font-family: var(--fonten);
  font-size: 10px;
  line-height: 16px;
  font-weight: 400;
  letter-spacing: 0.07em;
  margin-top: 5px;
}
@media only screen and (max-width:750px) {
} */


.footer_sns_wrapper {
  margin-top: 30px;
}
@media (max-width: 750px) {
}
.footer_sns_name_wrapper {
}
.footer_sns_name {
  font-family: var(--fonten);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media (max-width: 750px) {
  .footer_sns_name {
    font-size: 13px;
  }
}

.footer_bnr_wrapper {
  margin-top: auto;
}
@media (max-width: 750px) {
  .footer_bnr_wrapper {
    margin-top: -5px;
    margin-left: auto;
  }
}
.footer_bnr_img_wrapper {
  width: 180px;
}
.footer_bnr_img {
}

.footer_right_wrapper {
  display: flex;
  gap: 50px;
  margin-left: auto;
}
@media (max-width: 750px) {
  .footer_right_wrapper {
    flex-direction: column;
    gap: 0;
    margin-top: 60px;
  }
}
.footer_sister_wrapper {
  width: 230px;
}
@media (max-width: 750px) {
  .footer_sister_wrapper {
    width: 100%;
  }
}
.footer_com_title_wrapper {
  margin-bottom: 26px;
}
@media (max-width: 750px) {
  .footer_com_title_wrapper {
    margin-bottom: 24px;
  }
}
.footer_com_title {
  font-family: var(--fonten);
  font-size: 14px;
  line-height: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media (max-width: 750px) {
  .footer_com_title {
    font-size: 13px;
    line-height: 13px;
  }
}

.footer_tile_wrapper {
}
.footer_barrier_wrapper {
  margin-top: 40px;
}

.footer_com_logo_and_text_wrapper {
}
@media (max-width: 750px) {
}
.footer_com_logo_wrapper {
}
@media (max-width: 750px) {
}
.footer_tile_logo {
  width: 89px;
}
.footer_barrier_logo {
  width: 127px;
}


.footer_com_text_wrapper {
  margin-top: 16px;
}
@media (max-width: 750px) {
  .footer_com_text_wrapper {
  }
}
.footer_com_text {
  font-size: 12px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: 0.013em;
}
.footer_com_text.en {
  font-weight: 400;
}
@media (max-width: 750px) {
  .footer_com_text {
    font-size: 11px;
    line-height: 18px;
  }
}
.footer_com_text.jp {
  font-family: var(--fontjp_yugothic);
}
.footer_com_url_wrapper {
}
.footer_com_url {
  font-family: var(--fontjp_yugothic);
  font-size: 12px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: 0.013em;
}
.footer_com_url a {
  text-decoration: underline;
}



.footer_management_wrapper {
  width: 240px;
}
@media (max-width: 750px) {
  .footer_management_wrapper {
    width: 100%;
    margin-top: 44px;
  }
}
.footer_subee_wrapper {
}
.footer_com_name_wrapper {
}
.footer_com_name {
  font-family: var(--fonten);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.07em;
  padding-top: 3px;
}
@media (max-width: 750px) {
}



.footer_com_note_wrapper {
  margin-top: 27px;
}
@media (max-width: 750px) {
  .footer_com_note_wrapper {
    margin-top: 22px;
  }
}
.footer_com_note {
  font-size: 11px;
  line-height: 16px;
  font-weight: 500;
  letter-spacing: 0.013em;
}
.footer_com_note.jp {
  font-family: var(--fontjp_yugothic);
}
.footer_com_note.en {
  font-weight: 400;
}
@media (max-width: 750px) {
  .footer_com_note {
    font-size: 10px;
    line-height: 15px;
  }
}


.footer_copyright_wrap {
  width: 95%;
  margin: 0 auto;
  text-align: right;
  margin-top: -14px;
}
@media (max-width: 750px) {
  .footer_copyright_wrap {
    width: 90%;
    margin-top: 43px;
    text-align: center;
  }
}
.footer_copyright {
  font-family: var(--fonten);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.013em;
}
@media (max-width: 750px) {
  .footer_copyright {
    font-size: 10px;
  }
}
