/*! Writen  by SCSS */
body .wrap {
  padding-top: 0 !important; }

.main_wrap {
  background: url("../images/wedding/cuisine/main.jpg") no-repeat center;
  background-size: cover; }

.flex {
  display: flex;
  justify-content: space-between; }

.flex_wrap {
  flex-wrap: wrap; }

.main_wrap h2 {
  width: 3.125%; }
  @media screen and (max-width: 960px) {
    .main_wrap h2 {
      width: calc(60% / 9.6); } }

.cuisine_lead_wrap {
  text-align: center;
  padding: 0px 0 60px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .cuisine_lead_wrap {
      padding: 0 0 40px; } }
  .cuisine_lead_wrap:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 30px;
    bottom: 0;
    z-index: -1;
    background: url(../images/wedding/reception/stone_bg.jpg) center center repeat; }

.cuisine_head {
  font-size: 38px;
  letter-spacing: 0.2em;
  margin-bottom: 35px; }
  .cuisine_head > .text_min {
    font-size: 0.6em; }
  @media screen and (max-width: 960px) {
    .cuisine_head {
      font-size: 32px;
      letter-spacing: 0.1em; } }
  @media screen and (max-width: 767px) {
    .cuisine_head {
      font-size: 28px;
      letter-spacing: 0;
      margin-bottom: 20px; } }

.cuisine_lead_top {
  font-size: 24px;
  letter-spacing: 0.2em; }
  @media screen and (max-width: 960px) {
    .cuisine_lead_top {
      font-size: 20px;
      letter-spacing: 0.1em; } }
  @media screen and (max-width: 767px) {
    .cuisine_lead_top {
      font-size: 18px;
      letter-spacing: 0; } }

.cuisine_lead_text {
  margin-top: 35px; }
  @media screen and (max-width: 767px) {
    .cuisine_lead_text {
      margin-top: 20px; } }

.another_text {
  font-size: 14px;
  letter-spacing: 0.1em;
  max-width: 400px;
  margin: 25px auto 0;
  padding: 10px 20px;
  color: #830b12;
  border: 2px dotted #830b12; }
  .another_text > a {
    text-decoration: underline;
    transition: opacity 0.6s ease-in-out; }
    body:not(.mobile) .another_text > a:hover {
      opacity: 0.7; }

.cuisine_wrap_head {
  justify-content: center;
  align-items: center;
  line-height: 1;
  font-size: 24px; }
  .cuisine_wrap_head > .icon {
    max-width: 24px; }
  .cuisine_wrap_head > .cuisine_wrap_head_text {
    margin: 0 15px; }

@media screen and (max-width: 767px) {
  .cuisine_wrap_head2 {
    font-size: 20px; } }

.tab_item {
  position: relative;
  width: calc(400% / 12); }
  .tab_item::after {
    content: "";
    display: block;
    padding-top: calc(160% / 4); }
    @media screen and (max-width: 767px) {
      .tab_item::after {
        padding-top: 80%; } }
  .tab_item > button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1; }
    @media screen and (max-width: 960px) {
      .tab_item > button {
        font-size: 20px; } }
    @media screen and (max-width: 960px) {
      .tab_item > button {
        font-size: 14px;
        line-height: 1.4; } }
    .tab_item > button > .arrow {
      display: block;
      position: absolute;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 10px 14px 0 14px;
      border-color: #ffffff transparent transparent transparent;
      left: 50%;
      bottom: 30px;
      transform: translateX(-50%); }
      @media screen and (max-width: 960px) {
        .tab_item > button > .arrow {
          bottom: 10px; } }
      @media screen and (max-width: 960px) {
        .tab_item > button > .arrow {
          border-width: 5px 9px 0 9px; } }
    .tab_item > button::before, .tab_item > button::after {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; }
    .tab_item > button::before {
      z-index: -2;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center; }
    .tab_item > button::after {
      z-index: -1;
      background: rgba(0, 0, 0, 0.6);
      transition: background 0.5s ease-in-out; }
    .tab_item > button:hover::after, .tab_item > button.active::after {
      background: rgba(0, 0, 0, 0); }
  .tab_item:nth-of-type(1) > button::before {
    background-image: url("../images/wedding/cuisine/tab_01.jpg"); }
  .tab_item:nth-of-type(2) > button::before {
    background-image: url("../images/wedding/cuisine/tab_02.jpg"); }
  .tab_item:nth-of-type(3) > button::before {
    background-image: url("../images/wedding/cuisine/tab_03.jpg"); }

.content_item {
  display: none; }
  .content_item.active {
    display: block;
    opacity: 1; }

.cuisine_item_head {
  font-size: 24px;
  display: flex;
  align-items: center;
  line-height: 1;
  letter-spacing: 0.1em; }
  @media screen and (max-width: 960px) {
    .cuisine_item_head {
      font-size: 20px; } }
  @media screen and (max-width: 767px) {
    .cuisine_item_head {
      font-size: 16px;
      letter-spacing: 0; } }
  .cuisine_item_head > .icon {
    margin-right: 5px;
    line-height: 0; }
    @media screen and (max-width: 767px) {
      .cuisine_item_head > .icon {
        width: 24px; } }
  .cuisine_item_head > .text_min {
    font-size: 0.7em; }

.course_box .cap_r, .course_box .cap_l {
  font-size: 13px;
  line-height: 1.8; }
  @media screen and (max-width: 960px) {
    .course_box .cap_r, .course_box .cap_l {
      font-size: 11px; } }
  @media screen and (max-width: 767px) {
    .course_box .cap_r, .course_box .cap_l {
      font-size: 10px;
      line-height: 1.6; } }

.modal_item {
  width: 30%; }
  @media screen and (max-width: 960px) {
    .modal_item {
      max-width: 360px;
      width: 32%; } }
  .modal_item > button {
    position: relative;
    transition: opacity 0.6s ease-in-out; }
    body:not(.mobile) .modal_item > button:hover {
      opacity: 0.7; }
    .modal_item > button::after {
      content: "+";
      color: #fff;
      font-size: 18px;
      line-height: 1;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 18px;
      height: 18px;
      background: rgba(0, 0, 0, 0.7);
      position: absolute;
      right: 0;
      bottom: 0; }

.course_head {
  margin-bottom: 15px; }
  @media screen and (max-width: 767px) {
    .course_head {
      margin-bottom: 10px; } }
  .course_head > span {
    display: block;
    line-height: 1; }
  .course_head > .course_en {
    color: #916418;
    font-size: 13px;
    margin-bottom: 8px; }
    @media screen and (max-width: 767px) {
      .course_head > .course_en {
        font-size: 12px;
        margin-bottom: 5px; } }
  .course_head > .course_jp {
    font-size: 24px; }
    @media screen and (max-width: 767px) {
      .course_head > .course_jp {
        font-size: 18px; } }

.course_price {
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #6a6a6a; }
  @media screen and (max-width: 960px) {
    .course_price {
      font-size: 18px; } }
  @media screen and (max-width: 767px) {
    .course_price {
      line-height: 1.4;
      font-size: 16px; } }
  .course_price > .text_min {
    display: inline-block;
    margin-left: 5px;
    font-size: 0.8em; }

.course_list > .course_item {
  padding: 10px 10px 10px 30px;
  font-size: 14px; }
  @media screen and (max-width: 960px) {
    .course_list > .course_item {
      padding: 10px 20px; } }
  @media screen and (max-width: 767px) {
    .course_list > .course_item {
      font-size: 13px;
      padding: 10px 15px; } }
  .course_list > .course_item:nth-of-type(odd) {
    background: #f3f3f3; }

.drinlk_table_wrap {
  max-width: 800px; }
  @media screen and (max-width: 767px) {
    .drinlk_table_wrap {
      display: block; } }
  .drinlk_table_wrap > .cap_r {
    width: 100%;
    margin-top: 20px; }
    @media screen and (max-width: 767px) {
      .drinlk_table_wrap > .cap_r {
        margin-top: 10px; } }

.drinlk_table {
  width: 50%;
  border-spacing: 0;
  border-bottom: 1px solid #cacaca; }
  @media screen and (max-width: 767px) {
    .drinlk_table {
      width: 100%; } }
  .drinlk_table:first-of-type {
    border-right: 1px solid #cacaca; }
    @media screen and (max-width: 767px) {
      .drinlk_table:first-of-type {
        border-right: none;
        border-bottom: none; } }
    .drinlk_table:first-of-type > thead th:last-of-type {
      border-right: none; }
  @media screen and (max-width: 767px) {
    .drinlk_table:last-of-type > thead {
      display: none; }
    .drinlk_table:last-of-type > tbody > tr:nth-of-type(even) > th, .drinlk_table:last-of-type > tbody > tr:nth-of-type(even) > td {
      background: none; }
    .drinlk_table:last-of-type > tbody > tr:nth-of-type(odd) > th, .drinlk_table:last-of-type > tbody > tr:nth-of-type(odd) > td {
      background: #f3f3f3; } }
  .drinlk_table th, .drinlk_table td {
    padding: 12px 10px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1; }
    @media screen and (max-width: 767px) {
      .drinlk_table th, .drinlk_table td {
        padding: 10px;
        font-size: 13px; } }
    @media screen and (max-width: 767px) {
      .drinlk_table th:empty, .drinlk_table td:empty {
        padding: 0; } }
    .drinlk_table th:empty::after, .drinlk_table td:empty::after {
      content: "";
      display: block;
      width: 1em;
      height: 1em; }
      @media screen and (max-width: 767px) {
        .drinlk_table th:empty::after, .drinlk_table td:empty::after {
          height: 0; } }
  .drinlk_table th, .drinlk_table td:not(:last-of-type) {
    border-right: 1px solid #cacaca; }
  .drinlk_table > thead th {
    background: #f2d2d2; }
  .drinlk_table > tbody > tr:nth-of-type(even) > th, .drinlk_table > tbody > tr:nth-of-type(even) > td {
    background: #f3f3f3; }
  .drinlk_table > tbody th {
    width: 50%;
    text-align: left;
    padding-left: 7.5%; }
    @media screen and (max-width: 767px) {
      .drinlk_table > tbody th {
        padding-left: 10px; } }
  .drinlk_table > tbody td {
    width: 25%;
    text-align: center; }

.eclectic_head {
  margin-bottom: 30px; }
  @media screen and (max-width: 767px) {
    .eclectic_head {
      line-height: 1.4; } }
  .eclectic_head > .text_min {
    font-size: 16px;
    margin-left: 20px; }
    @media screen and (max-width: 767px) {
      .eclectic_head > .text_min {
        font-size: 14px;
        margin-left: 10px; } }

.price_wrap {
  align-items: baseline;
  margin-top: 20px; }
  @media screen and (max-width: 767px) {
    .price_wrap {
      display: block; }
      .price_wrap > .cap_r {
        text-align: left;
        margin-top: 10px; } }

.iziModal {
  background: transparent;
  box-shadow: none; }

.iziModal-content {
  position: relative; }
  @media screen and (max-width: 767px) {
    .iziModal-content {
      position: absolute; }
      .iziModal-content::after {
        content: "";
        display: block;
        width: 100%;
        padding-top: 73.49%; } }

@media screen and (max-width: 767px) {
  .modal_image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0; } }

.modal_close {
  position: absolute;
  width: 32px;
  height: 32px;
  font-size: 24px;
  line-height: 1;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  right: 0; }

.modal_prev, .modal_next {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 28px;
  width: 100%;
  height: 100%;
  top: 0; }
  @media screen and (max-width: 767px) {
    .modal_prev, .modal_next {
      max-width: none;
      width: 50px;
      height: 50px;
      top: calc(100% + 20px); }
      .modal_prev > img, .modal_next > img {
        height: 100%; } }

.modal_prev {
  right: calc(100% + 20px); }
  @media screen and (max-width: 767px) {
    .modal_prev {
      right: auto;
      left: 50px; } }

.modal_next {
  left: calc(100% + 20px); }
  @media screen and (max-width: 767px) {
    .modal_next {
      left: auto;
      right: 50px; } }

.iziModal-navigate {
  display: none; }
