@charset "UTF-8";
/* ===================================================================
CSS information

file name  : homepage.css
author     : Abilive
style info : トップページ
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
body, #contents {
  background: #fff;
}

@keyframes infiniteScrollDown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(calc( -1 * (100% / var(--_infinite-scroll-clone-length)) - var( --_infinite-scroll-gap, var(--scroll-gap) ) / var(--_infinite-scroll-clone-length) ));
  }
}
@keyframes infiniteScrollUp {
  0% {
    transform: translateY(calc( -1 * (100% / var(--_infinite-scroll-clone-length)) - var( --_infinite-scroll-gap, var(--scroll-gap) ) / var(--_infinite-scroll-clone-length) ));
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes infiniteScrollRTL {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc( -1 * (100% / var(--_infinite-scroll-clone-length)) - var( --_infinite-scroll-gap, var(--scroll-gap) ) / var(--_infinite-scroll-clone-length) ));
  }
}
@keyframes infiniteScrollLTR {
  0% {
    transform: translateX(calc( -1 * (100% / var(--_infinite-scroll-clone-length)) - var( --_infinite-scroll-gap, var(--scroll-gap) ) / var(--_infinite-scroll-clone-length) ));
  }
  100% {
    transform: translateX(0);
  }
}
.ttl {
  color: #333;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 178%;
  font-style: normal;
  font-weight: 300;
  font-feature-settings: 'palt' on, 'pkna' on;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .ttl {
    font-size: 267%;
  }
}
@media only screen and (max-width: 767px) {
  .ttl {
    font-size: 178%;
  }
}

.txt {
  color: #333;
  font-family: "Hiragino Kaku Gothic Pro",'Noto Sans JP',"メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  font-size: 89%;
  font-style: normal;
  font-weight: 300;
  line-height: 2;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .txt {
    font-size: 112%;
  }
}
@media only screen and (max-width: 767px) {
  .txt {
    font-size: 89%;
  }
}

.conp-ttl {
  display: flex;
  flex-direction: column;
  justify-items: stretch;
  align-items: flex-start;
  gap: 50px;
  width: inherit;
}
@media only screen and (max-width: 767px) {
  .conp-ttl {
    gap: 25px;
  }
}
.conp-ttl .line span {
  display: block;
  width: 75px;
  height: 1px;
  background: #333;
  transform: rotate(-45deg);
}
@media only screen and (max-width: 767px) {
  .conp-ttl .line span {
    width: 50px;
  }
}
.conp-ttl > .ttl {
  color: #333;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 312%;
  font-style: normal;
  font-weight: 300;
  font-feature-settings: 'palt' on, 'pkna' on;
  line-height: 1.35;
  text-align: left;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .conp-ttl > .ttl {
    font-size: 312%;
  }
}
@media only screen and (max-width: 767px) {
  .conp-ttl > .ttl {
    font-size: 178%;
  }
}
.conp-ttl > .ttl .l {
  font-size: 128.5%;
}
.conp-ttl > .ttl .s {
  font-size: 75%;
}
.conp-ttl > .sub-ttl {
  color: #333;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 134%;
  font-style: normal;
  font-weight: 300;
  font-feature-settings: 'palt' on, 'pkna' on;
  line-height: 1.5;
  letter-spacing: .1rem;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .conp-ttl > .sub-ttl {
    font-size: 200%;
  }
}
@media only screen and (max-width: 767px) {
  .conp-ttl > .sub-ttl {
    font-size: 134%;
  }
}
.conp-ttl > .txt {
  color: #333;
  font-family: "Hiragino Kaku Gothic Pro",'Noto Sans JP',"メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  font-size: 100%;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .conp-ttl > .txt {
    font-size: 134%;
  }
}
@media only screen and (max-width: 767px) {
  .conp-ttl > .txt {
    font-size: 100%;
  }
}

.btn-outline {
  position: relative;
  width: fit-content;
  margin: auto;
  z-index: 5;
}
.btn-outline:hover svg {
  right: -15%;
}
.btn-outline .btn {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding: 10px 75px;
  border: 1px solid #333;
  background: transparent;
  backdrop-filter: blur(10px);
  color: #333;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  text-decoration: none;
}
.btn-outline svg {
  position: absolute;
  top: 0;
  right: -10%;
  bottom: 0;
  margin: auto;
  stroke-width: 1px;
  stroke: #333;
  transition: .3s ease;
}

.gastronomy-mainvisual {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual {
    height: 90vh;
  }
}
.gastronomy-mainvisual .gastronomy-mv-bg {
  position: relative;
  width: 100%;
  height: 100vh;
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual .gastronomy-mv-bg {
    height: 90vh;
  }
}
.gastronomy-mainvisual .gastronomy-mv-bg .gastronomy-mv-img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  display: block;
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual .gastronomy-mv-bg .gastronomy-mv-img {
    height: 90vh;
  }
}
.gastronomy-mainvisual .gastronomy-mv-bg .gastronomy-scroll-indicator {
  position: absolute;
  right: 40px;
  bottom: 40px;
  width: 40px;
  height: 100px;
}
.gastronomy-mainvisual .gastronomy-mv-logo {
  position: absolute;
  top: 50px;
  left: 50px;
  width: 200px;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual .gastronomy-mv-logo {
    top: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual .gastronomy-mv-logo {
    left: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual .gastronomy-mv-logo {
    width: 150px;
  }
}
.gastronomy-mainvisual .gastronomy-mv-logo img {
  width: 100%;
  height: auto;
}
.gastronomy-mainvisual .gastronomy-mv-mainimg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 480px;
  margin: auto;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual .gastronomy-mv-mainimg {
    width: 80%;
  }
}
.gastronomy-mainvisual .gastronomy-mv-mainimg img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}
.gastronomy-mainvisual #navArea {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.gastronomy-mainvisual #navArea nav {
  position: fixed;
  top: 0;
  right: -300px;
  bottom: 0;
  display: block;
  width: 300px;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: .5s;
  z-index: 3;
}
.gastronomy-mainvisual #navArea nav .inner {
  padding: 25px;
}
.gastronomy-mainvisual #navArea nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gastronomy-mainvisual #navArea nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333;
}
.gastronomy-mainvisual #navArea nav .inner ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}
.gastronomy-mainvisual #navArea nav .inner ul li a:hover {
  background: #e4e4e4;
}
.gastronomy-mainvisual #navArea.open nav {
  right: 0;
}
.gastronomy-mainvisual #navArea.open .btn-trigger {
  right: 20em;
}
.gastronomy-mainvisual #navArea.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 1;
  cursor: pointer;
  transition: all .3s;
}
.gastronomy-mainvisual #navArea .btn-trigger {
  position: relative;
  right: 0;
  width: 50px;
  height: 44px;
  cursor: pointer;
  transition: all .3s;
}
.gastronomy-mainvisual #navArea .btn-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
  border-radius: 4px;
}
.gastronomy-mainvisual #navArea .btn-trigger span:nth-of-type(1) {
  top: 0;
}
.gastronomy-mainvisual #navArea .btn-trigger span:nth-of-type(2) {
  top: 20px;
}
.gastronomy-mainvisual #navArea .btn-trigger span:nth-of-type(3) {
  bottom: 0;
}
.gastronomy-mainvisual #navArea .btn-trigger, .gastronomy-mainvisual #navArea .btn-trigger span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}
.gastronomy-mainvisual #navArea .btn-trigger.active:nth-of-type(1) {
  -webkit-transform: translateY(20px) rotate(45deg);
  transform: translateY(20px) rotate(45deg);
}
.gastronomy-mainvisual #navArea .btn-trigger.active:nth-of-type(2) {
  opacity: 0;
}
.gastronomy-mainvisual #navArea .btn-trigger.active:nth-of-type(3) {
  -webkit-transform: translateY(-20px) rotate(-45deg);
  transform: translateY(-20px) rotate(-45deg);
}
.gastronomy-mainvisual #navArea #mask {
  display: none;
}
.gastronomy-mainvisual .scroll_down {
  position: absolute;
  bottom: 0px;
  right: 5%;
  z-index: 1;
}
.gastronomy-mainvisual .scroll_down a {
  position: absolute;
  left: -10px;
  bottom: 8em;
  color: #fff;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 14px;
  letter-spacing: .2em;
  writing-mode: vertical-lr;
  text-decoration: none;
  text-transform: uppercase;
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual .scroll_down a {
    left: -8px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual .scroll_down a {
    bottom: 10em;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-mainvisual .scroll_down a {
    font-size: 12px;
  }
}
.gastronomy-mainvisual .scroll_down:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #fff;
  animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove {
  0% {
    bottom: 100px;
  }
  100% {
    bottom: 0px;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
.gastronomy-mainvisual .scroll_down:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2px;
  height: 100px;
  background: #fff;
}

.gastronomy-concept {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 75px 0;
  background: linear-gradient(168deg, #ffffff -13.61%, rgba(226, 246, 255, 0.25) 164.22%);
}
@media only screen and (max-width: 767px) {
  .gastronomy-concept {
    padding: 50px 5%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-concept {
    gap: 25px;
  }
}
.gastronomy-concept:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100px;
  height: 100%;
  margin: auto;
  background: url("../../shima/gastronomy/files/images/bg_concept_text.webp") no-repeat center;
  background-size: contain;
  z-index: 0;
}
@media only screen and (max-width: 1199px) {
  .gastronomy-concept:before {
    display: none;
  }
}
.gastronomy-concept .concept-inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  max-width: 1240px;
  text-align: left;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-concept .concept-inner {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-concept .concept-inner {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-concept .concept-inner {
    gap: 50px;
  }
}
.gastronomy-concept .concept-inner .concept-text {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 55.56452%;
}
@media only screen and (max-width: 767px) {
  .gastronomy-concept .concept-inner .concept-text {
    gap: 10px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-concept .concept-inner .concept-text {
    width: 85%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-concept .concept-inner .concept-text {
    width: 100%;
  }
}
.gastronomy-concept .concept-inner .concept-text .concept-title {
  color: #333;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 134%;
  font-style: normal;
  font-weight: 300;
  font-feature-settings: 'palt' on;
  line-height: 2;
  letter-spacing: 0.2rem;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-concept .concept-inner .concept-text .concept-title {
    font-size: 178%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-concept .concept-inner .concept-text .concept-title {
    font-size: 112%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-concept .concept-inner .concept-text .concept-title {
    letter-spacing: 0;
  }
}
.gastronomy-concept .concept-inner .concept-text .concept-desc {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
}
.gastronomy-concept .concept-inner .concept-text .concept-desc .txt {
  align-self: stretch;
  color: #333;
  font-family: "Hiragino Kaku Gothic Pro",'Noto Sans JP',"メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  font-size: 89%;
  font-style: normal;
  font-weight: 300;
  font-feature-settings: 'palt' on;
  line-height: 2.5;
  letter-spacing: .2rem;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-concept .concept-inner .concept-text .concept-desc .txt {
    font-size: 134%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-concept .concept-inner .concept-text .concept-desc .txt {
    font-size: 89%;
  }
}
.gastronomy-concept .concept-inner .concept-img {
  width: 34.91935%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-concept .concept-inner .concept-img {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-concept .concept-inner .concept-img {
    width: 80%;
  }
}

.gastronomy-sections {
  display: flex;
  flex-wrap: wrap;
  row-gap: 35px;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 1118px;
  margin: auto;
  padding: 100px 0;
}
@media only screen and (max-width: 767px) {
  .gastronomy-sections {
    row-gap: 15px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-sections {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-sections {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-sections {
    max-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-sections {
    padding: 50px 0;
  }
}
.gastronomy-sections .section-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 32px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.gastronomy-sections .section-list li {
  width: 48.38998%;
  border-bottom: 1px solid #676C72;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-sections .section-list li {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-sections .section-list li {
    width: 100%;
  }
}
.gastronomy-sections .section-list li > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}
.gastronomy-sections .section-list li .txt {
  color: #676C72;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 100%;
  font-style: normal;
  font-weight: 300;
  line-height: 2.5;
  letter-spacing: .3rem;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-sections .section-list li .txt {
    font-size: 167%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-sections .section-list li .txt {
    font-size: 95%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-sections .section-list li .txt {
    line-height: 1.5;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-sections .section-list li .txt {
    padding: .5em 0;
  }
}
.gastronomy-sections .section-list li .arrow {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.gastronomy-story {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 100px;
  background: url("../../shima/gastronomy/files/images/bg_story.webp") repeat center;
}
@media only screen and (max-width: 767px) {
  .gastronomy-story {
    gap: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story {
    padding: 50px 0;
  }
}
.gastronomy-story .bg-style {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  opacity: 0;
  transition: opacity 0.8s ease-out;
  pointer-events: none;
  z-index: -1;
}
.gastronomy-story .bg-style.visible {
  opacity: .75;
  z-index: 0;
}
.gastronomy-story .bg-style img {
  position: absolute;
}
.gastronomy-story .bg-style img.top {
  top: 0;
  right: 0;
  width: 19.01042%;
}
.gastronomy-story .bg-style img.btm {
  bottom: 0;
  left: 0;
  width: 18.22917%;
}
.gastronomy-story .story-section {
  scroll-snap-align: start;
  height: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden;
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section {
    height: auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section {
    flex-direction: column;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-story .story-section {
    gap: 50px;
    min-height: unset;
    padding: 25px 5%;
  }
}
.gastronomy-story .story-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.gastronomy-story .story-section.story-cover {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 1s ease-out, transform 1s ease-out;
  /* Mobile-ready class (applied/removed by JS) */
}
@media only screen and (min-width: 1200px) {
  .gastronomy-story .story-section.story-cover {
    height: 100vh;
  }
}
@media print {
  .gastronomy-story .story-section.story-cover {
    height: 100vh;
  }
}
.gastronomy-story .story-section.story-cover.is-visible {
  opacity: 1;
  transform: scale(1);
}
.gastronomy-story .story-section.story-cover .story-img-wrap--desktop {
  display: block;
  /* keep original desktop flow */
  width: auto;
}
.gastronomy-story .story-section.story-cover .story-img-wrap--mobile {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: row;
  gap: 12px;
  width: max-content;
  /* allow content to expand horizontally */
  scroll-snap-type: x mandatory;
}
.gastronomy-story .story-section.story-cover .story-img-wrap--mobile .img-cont {
  display: block;
  flex: 0 0 auto;
  width: 300px;
  box-sizing: border-box;
  scroll-snap-align: center;
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-cover .story-img-wrap--mobile .img-cont {
    width: 200px;
  }
}
.gastronomy-story .story-section.story-cover .story-img-wrap--mobile .img-cont img {
  display: block;
  width: 100%;
  height: auto;
}
.gastronomy-story .story-section.story-cover .story-content {
  display: flex;
  flex-direction: row;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 5.20833%;
  width: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-cover .story-content {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-cover .story-content {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-cover .story-content {
    gap: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-cover .story-content {
    gap: 50px;
  }
}
.gastronomy-story .story-section.story-cover .story-content .story-image {
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 50%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-cover .story-content .story-image {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-cover .story-content .story-image {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-cover .story-content .story-image {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-cover .story-content .story-image {
    width: 100%;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-story .story-section.story-cover .story-content .story-image {
    order: 2;
  }
}
.gastronomy-story .story-section.story-cover .story-content .story-image .js-scrollTrack {
  width: max-content;
}
.gastronomy-story .story-section.story-cover .story-content .story-image .js-scrollTrack[data-scroll-initialized="true"][data-scroll-direction="left"] {
  animation: infiniteScrollRTL var(--_infinite-scroll-duration) linear infinite;
}
.gastronomy-story .story-section.story-cover .story-content .story-image .js-scrollTrack[data-scroll-initialized="true"][data-scroll-direction="right"] {
  animation: infiniteScrollLTR var(--_infinite-scroll-duration) linear infinite;
}
.gastronomy-story .story-section.story-cover .story-content .story-image .js-scrollTrack[data-scroll-initialized="true"][data-scroll-direction="down"] {
  animation: infiniteScrollDown var(--_infinite-scroll-duration) linear infinite;
}
.gastronomy-story .story-section.story-cover .story-content .story-image .js-scrollTrack[data-scroll-initialized="true"][data-scroll-direction="up"] {
  animation: infiniteScrollUp var(--_infinite-scroll-duration) linear infinite;
}
.gastronomy-story .story-section.story-cover .story-content .story-image .js-scrollTrack[data-scroll-pause-on-hover="true"]:hover {
  animation-play-state: paused;
}
.gastronomy-story .story-section.story-cover .story-content .story-image .story-img-wrap {
  width: max-content;
}
@media only screen and (max-width: 1199px) {
  .gastronomy-story .story-section.story-cover .story-content .story-image .story-img-wrap .story-inner {
    display: flex;
    flex-direction: row;
  }
}
.gastronomy-story .story-section.story-cover .story-content .story-image .story-img-wrap .story-inner .img-cont {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 1199px) {
  .gastronomy-story .story-section.story-cover .story-content .story-text {
    order: 1;
  }
}
.gastronomy-story .story-section.story-nature, .gastronomy-story .story-section.story-producers {
  width: fit-content;
  justify-content: center;
  margin: auto;
  opacity: 0;
  transform: translateX(-100px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}
.gastronomy-story .story-section.story-nature.is-visible, .gastronomy-story .story-section.story-producers.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.gastronomy-story .story-section.story-nature .story-left, .gastronomy-story .story-section.story-producers .story-left {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 35px;
  width: 41.14583%;
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-nature .story-left, .gastronomy-story .story-section.story-producers .story-left {
    gap: 15px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-nature .story-left, .gastronomy-story .story-section.story-producers .story-left {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-nature .story-left, .gastronomy-story .story-section.story-producers .story-left {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-nature .story-left, .gastronomy-story .story-section.story-producers .story-left {
    order: 1;
  }
}
.gastronomy-story .story-section.story-nature .story-left .conp-ttl, .gastronomy-story .story-section.story-producers .story-left .conp-ttl {
  width: 100%;
  gap: 35px;
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-nature .story-left .conp-ttl, .gastronomy-story .story-section.story-producers .story-left .conp-ttl {
    gap: 15px;
  }
}
.gastronomy-story .story-section.story-nature .story-left .story-image, .gastronomy-story .story-section.story-producers .story-left .story-image {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 10px;
}
.gastronomy-story .story-section.story-nature .story-left .story-image img, .gastronomy-story .story-section.story-producers .story-left .story-image img {
  width: 49%;
}
.gastronomy-story .story-section.story-nature .story-right, .gastronomy-story .story-section.story-producers .story-right {
  flex: 1;
  width: 41.66667%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-nature .story-right, .gastronomy-story .story-section.story-producers .story-right {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-nature .story-right, .gastronomy-story .story-section.story-producers .story-right {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-nature .story-right, .gastronomy-story .story-section.story-producers .story-right {
    order: 2;
  }
}
.gastronomy-story .story-section.story-nature .story-right.story-map, .gastronomy-story .story-section.story-producers .story-right.story-map {
  display: flex;
  justify-content: flex-end;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-nature .story-right.story-map, .gastronomy-story .story-section.story-producers .story-right.story-map {
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-nature .story-right.story-map, .gastronomy-story .story-section.story-producers .story-right.story-map {
    justify-content: center;
  }
}
.gastronomy-story .story-section.story-nature .story-right.story-map img, .gastronomy-story .story-section.story-producers .story-right.story-map img {
  width: 90%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-nature .story-right.story-map img, .gastronomy-story .story-section.story-producers .story-right.story-map img {
    width: 85%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-nature .story-right.story-map img, .gastronomy-story .story-section.story-producers .story-right.story-map img {
    width: 100%;
  }
}
.gastronomy-story .story-section.story-nature {
  width: 83.33333%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-nature {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-nature {
    width: 100%;
  }
}
.gastronomy-story .story-section.story-history {
  gap: 100px;
  width: 77.86458%;
  margin: auto;
  opacity: 0;
  transform: translateX(100px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-history {
    gap: 50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-history {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-history {
    width: 100%;
  }
}
.gastronomy-story .story-section.story-history.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.gastronomy-story .story-section.story-history .story-left {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.82645%;
  width: 31.51042%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-history .story-left {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-history .story-left {
    width: 100%;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-story .story-section.story-history .story-left {
    order: 2;
  }
}
.gastronomy-story .story-section.story-history .story-left img:first-child {
  width: 100%;
  margin-bottom: 10px;
}
.gastronomy-story .story-section.story-history .story-left img:not(:first-child) {
  width: 49.58678%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-history .story-left img:not(:first-child) {
    width: 49%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-history .story-left img:not(:first-child) {
    width: 49%;
  }
}
.gastronomy-story .story-section.story-history .story-right {
  flex: 1;
  display: flex;
  align-items: center;
}
.gastronomy-story .story-section.story-history .story-right .conp-ttl .txt {
  line-height: 2;
}
.gastronomy-story .story-section.story-producers {
  gap: 100px;
  width: 77.86458%;
  margin: auto;
  opacity: 0;
  transform: translateX(-100px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-producers {
    gap: 50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-producers {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-producers {
    width: 100%;
  }
}
.gastronomy-story .story-section.story-producers.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.gastronomy-story .story-section.story-producers .story-left {
  display: flex;
  flex-direction: column;
  gap: 35px;
  width: 41.14583%;
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-producers .story-left {
    gap: 15px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-producers .story-left {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-producers .story-left {
    width: 100%;
  }
}
.gastronomy-story .story-section.story-producers .story-left .conp-ttl {
  width: 100%;
  gap: 35px;
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-producers .story-left .conp-ttl {
    gap: 15px;
  }
}
.gastronomy-story .story-section.story-producers .story-left .story-image {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 10px;
}
.gastronomy-story .story-section.story-producers .story-left .story-image img {
  width: 100%;
  border-radius: 12px;
}
.gastronomy-story .story-section.story-producers .story-right {
  flex: 1;
  width: 31.51042%;
  position: relative;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-story .story-section.story-producers .story-right {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-story .story-section.story-producers .story-right {
    width: 100%;
  }
}
.gastronomy-story .story-section.story-producers .story-right .movie-cover {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.gastronomy-story .story-section.story-producers .story-right .movie-cover img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}
.gastronomy-story .story-section.story-producers .story-right .movie-cover .movie-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.35);
  transition: background 0.3s ease;
}
.gastronomy-story .story-section.story-producers .story-right .movie-cover .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  transition: transform 0.3s ease;
}
.gastronomy-story .story-section.story-producers .story-right .movie-cover .play-btn img {
  width: 60px;
  height: 60px;
  display: block;
}
.gastronomy-story .story-section.story-producers .story-right .movie-cover .play-btn:hover {
  transform: translate(-50%, -50%) scale(1.1);
}
.gastronomy-story .story-section.story-producers .story-right .movie-cover:hover .movie-overlay {
  background: rgba(0, 0, 0, 0.5);
}
.gastronomy-story .story-section.story-producers .story-right .movie-cover:hover img {
  transform: scale(1.05);
}

.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: rgba(0, 0, 0, 0.8);
}

.modal-content {
  position: relative;
  margin: auto;
  width: 90%;
  max-width: 1000px;
  background-color: #000;
  overflow: hidden;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .modal-content {
    width: 95%;
  }
}
@media only screen and (max-width: 767px) {
  .modal-content {
    width: 95%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .modal-content {
    max-width: 95%;
  }
}
@media only screen and (max-width: 767px) {
  .modal-content {
    max-width: 95%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .modal-content {
    overflow: unset;
  }
}
@media only screen and (max-width: 767px) {
  .modal-content {
    overflow: unset;
  }
}
@media only screen and (max-width: 1199px) {
  .modal-content {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: fit-content;
  }
}

.close {
  position: absolute;
  top: 10px;
  right: 20px;
  color: white;
  font-size: 30px;
  cursor: pointer;
  z-index: 1;
}
@media only screen and (max-width: 1199px) {
  .close {
    top: -50px;
    right: 10px;
    font-size: 24px;
  }
}

@media only screen and (max-width: 767px) {
  .history-content,
  .producers-content,
  .plan-content {
    flex-direction: column;
    gap: 16px;
  }

  .history-content img,
  .producers-content img,
  .plan-content img {
    width: 100%;
    max-width: 100%;
    margin-bottom: 12px;
  }

  .gallery-list {
    gap: 10px;
  }

  .gallery-list img {
    width: 48vw;
    min-width: 120px;
    height: 24vw;
    min-height: 60px;
  }

  .gastronomy-plan {
    padding: 0 8px 24px 8px;
  }

  .footer-contact {
    padding: 0 8px;
  }
}
.gastronomy-restaurant {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 200px auto;
  gap: 200px;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant {
    margin: 100px auto;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant {
    margin: 100px auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant {
    gap: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant {
    gap: 100px;
  }
}
.gastronomy-restaurant .restaurant-hero {
  position: relative;
}
.gastronomy-restaurant .restaurant-hero .restaurant-ttl {
  justify-content: center;
  align-items: center;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto 75px auto;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-ttl {
    margin: 0 auto 50px auto;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-ttl {
    margin: 0 auto 50px auto;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-ttl {
    width: 90%;
  }
}
.gastronomy-restaurant .restaurant-hero .restaurant-ttl .ttl {
  text-align: center;
}
.gastronomy-restaurant .restaurant-hero .restaurant-ttl .sub-ttl {
  line-height: 1.5;
}
.gastronomy-restaurant .restaurant-hero .restaurant-ttl .txt {
  line-height: 2;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img {
  position: relative;
  grid-row: 2;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper {
  width: 100%;
  height: 700px;
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper {
    height: 300px;
  }
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .swiper-wrapper {
  height: 100%;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .swiper-slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .swiper-slide:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 105vh;
  margin: auto;
  background: linear-gradient(180deg, rgba(217, 217, 217, 0) 50%, rgba(0, 0, 0, 0.75) 100%);
  background-size: contain;
  z-index: 2;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav {
  position: absolute;
  right: 0;
  bottom: 2em;
  display: flex;
  gap: 25px;
  width: 32.55208%;
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav {
    bottom: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav {
    gap: 10px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav {
    width: 95%;
  }
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-button-prev,
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-button-next {
  cursor: pointer;
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  color: #fff;
  transition: all 0.3s ease;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-button-prev:hover,
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-button-next:hover {
  background: rgba(255, 255, 255, 0.2);
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-button-prev::after,
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-button-next::after {
  position: absolute;
  font-size: 16px;
  font-weight: lighter;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-button-prev svg circle,
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-button-next svg circle {
  backdrop-filter: blur(10px);
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-scrollbar {
  position: static;
  width: 100%;
  margin-left: 25px;
  background: #999;
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-scrollbar {
    margin-left: 15px;
  }
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-swiper .restaurant-swiper-nav .swiper-scrollbar .swiper-scrollbar-drag {
  background: #fff;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-hero-controls {
  position: absolute;
  right: 30px;
  bottom: 30px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-hero-controls .btn-view {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  padding: 10px 18px;
  border-radius: 4px;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .restaurant-hero-controls .hero-pager span {
  color: #fff;
  opacity: 0.9;
  cursor: pointer;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .btn-outline {
  position: absolute;
  right: 0;
  bottom: 2em;
  left: 0;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .btn-outline .btn {
  border: 1px solid #fff;
  color: #fff;
}
.gastronomy-restaurant .restaurant-hero .restaurant-hero-img .btn-outline svg {
  stroke: #fff;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .restaurant-hero .restaurant-hero-img .btn-outline {
    right: unset;
    left: 3em;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .restaurant-hero > .btn-outline {
    margin-top: 25px;
  }
}
.gastronomy-restaurant .chef-intro {
  display: flex;
  flex-direction: column;
  gap: 100px;
  max-width: 1200px;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro {
    gap: 50px;
  }
}
.gastronomy-restaurant .chef-intro .chef-inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-inner {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner {
    flex-direction: column;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-inner {
    gap: 50px;
  }
}
.gastronomy-restaurant .chef-intro .chef-inner .chef-image {
  width: 33.33333%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-image {
    width: 60%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-image {
    width: 75%;
  }
}
.gastronomy-restaurant .chef-intro .chef-inner .chef-image img {
  width: 100%;
  height: auto;
}
.gastronomy-restaurant .chef-intro .chef-inner .chef-content {
  width: 61%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content {
    width: 90%;
  }
}
.gastronomy-restaurant .chef-intro .chef-inner .chef-content .name {
  display: block;
  margin-bottom: 25px;
  color: #333;
  font-family: "Hiragino Kaku Gothic Pro",'Noto Sans JP',"メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  font-size: 134%;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .name {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .name {
    margin-bottom: 10px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .name {
    font-size: 178%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .name {
    font-size: 134%;
  }
}
.gastronomy-restaurant .chef-intro .chef-inner .chef-content .txt {
  width: 87.43169%;
  font-size: 89%;
  line-height: 2;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .txt {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .txt {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .txt {
    font-size: 112%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .txt {
    font-size: 89%;
  }
}
.gastronomy-restaurant .chef-intro .chef-inner .chef-content .chef-links {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 3em;
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .chef-links {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .chef-links {
    gap: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .chef-links .btn-outline {
    width: 100%;
  }
}
.gastronomy-restaurant .chef-intro .chef-inner .chef-content .chef-links .btn-outline .btn {
  padding: 10px 50px;
  font-size: 85%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .chef-links .btn-outline .btn {
    font-size: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-inner .chef-content .chef-links .btn-outline .btn {
    justify-content: center;
    width: 100%;
    text-align: center;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-awards {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
}
.gastronomy-restaurant .chef-intro .chef-awards .awards-inner {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 100px;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner {
    gap: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner {
    gap: 25px;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner {
    width: 90%;
  }
}
.gastronomy-restaurant .chef-intro .chef-awards .awards-inner .ttl {
  color: #333;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 156%;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
  font-feature-settings: 'palt' on, 'pkna' on;
  letter-spacing: .2rem;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner .ttl {
    font-size: 156%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner .ttl {
    font-size: 156%;
  }
}
.gastronomy-restaurant .chef-intro .chef-awards .awards-inner .awards {
  width: 72.33333%;
  color: #333;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 89%;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
  font-feature-settings: 'palt' on, 'pkna' on;
  letter-spacing: .2rem;
  word-break: keep-all;
  overflow-wrap: break-word;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner .awards {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner .awards {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner .awards {
    font-size: 89%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner .awards {
    font-size: 89%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-restaurant .chef-intro .chef-awards .awards-inner .awards {
    line-height: 1.75;
  }
}
@media (max-width: 768px) {
  .gastronomy-restaurant .restaurant-hero-img img {
    height: 260px;
  }
  .gastronomy-restaurant .chef-intro {
    flex-direction: column;
  }
  .gastronomy-restaurant .chef-intro .chef-image img {
    width: 100%;
    height: auto;
  }
}

.chef-legacy {
  position: relative;
}
.chef-legacy:before {
  content: "";
  position: absolute;
  top: 5em;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../../shima/gastronomy/files/images/bg_legacy.webp") no-repeat center center;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .chef-legacy:before {
    height: 110%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy:before {
    background-size: cover;
  }
}
.chef-legacy .legacy-inner {
  display: flex;
  flex-direction: column;
  gap: 125px;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner {
    gap: 75px;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner {
    gap: 75px;
  }
}
@media only screen and (max-width: 1199px) {
  .chef-legacy .legacy-inner {
    justify-content: center;
  }
}
.chef-legacy .legacy-inner .legacy-top {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-top {
    align-items: center;
  }
}
.chef-legacy .legacy-inner .legacy-top .legacy-images {
  display: flex;
  justify-content: space-between;
  width: 68.48958%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-images {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-images {
    width: 90%;
  }
}
.chef-legacy .legacy-inner .legacy-top .legacy-images img {
  width: 49.42966%;
  max-width: 650px;
  height: auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-images img {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-images img {
    width: 50%;
  }
}
.chef-legacy .legacy-inner .legacy-top .legacy-text {
  position: absolute;
  right: 2.60417%;
  bottom: -10rem;
  display: flex;
  flex-direction: column;
  gap: 25px;
  padding: 2.60417% 3.90625%;
  background: #fff;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-text {
    position: static;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-text {
    position: static;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-text {
    gap: 10px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-text {
    padding: 75px 5%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-text {
    padding: 35px 5%;
  }
}
@media only screen and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-top .legacy-text {
    width: 100%;
  }
}
.chef-legacy .legacy-inner .legacy-btm {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 75px;
  width: 78.125%;
  margin: auto;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-btm {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-btm {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-btm {
    gap: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-btm {
    gap: 35px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-btm {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-btm {
    width: 100%;
  }
}
.chef-legacy .legacy-inner .legacy-btm .legacy-images {
  display: flex;
  justify-content: space-between;
  width: 43.33333%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-btm .legacy-images {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-btm .legacy-images {
    width: 90%;
  }
}
.chef-legacy .legacy-inner .legacy-btm .legacy-images .image-container {
  position: relative;
  width: 46.15385%;
  overflow: hidden;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-btm .legacy-images .image-container {
    width: 47.5%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-btm .legacy-images .image-container {
    width: 47.5%;
  }
}
.chef-legacy .legacy-inner .legacy-btm .legacy-images .image-container:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.chef-legacy .legacy-inner .legacy-btm .legacy-images .image-container img {
  width: 100%;
  height: auto;
}
.chef-legacy .legacy-inner .legacy-btm .legacy-images .image-container .name {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 20px;
  color: #fff;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 1.75rem;
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-btm .legacy-images .image-container .name {
    font-size: 1.5rem;
  }
}
.chef-legacy .legacy-inner .legacy-btm .legacy-images .image-container .name .sub {
  display: block;
  font-size: 1rem;
}
.chef-legacy .legacy-inner .legacy-btm .legacy-images .image-container .hover-txt {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  padding: 0 10px;
  color: #fff;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-size: 1.25rem;
  word-break: auto-phrase;
  overflow-wrap: break-word;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  transform: translate(-50%, -50%);
}
.chef-legacy .legacy-inner .legacy-btm .legacy-text {
  display: flex;
  flex-direction: column;
  justify-items: stretch;
  gap: 25px;
}
@media only screen and (max-width: 767px) {
  .chef-legacy .legacy-inner .legacy-btm .legacy-text {
    gap: 10px;
  }
}
@media only screen and (max-width: 1199px) {
  .chef-legacy .legacy-inner .legacy-btm .legacy-text {
    width: 90%;
  }
}
.chef-legacy .legacy-inner .legacy-btm .legacy-text .ttl, .chef-legacy .legacy-inner .legacy-btm .legacy-text .txt {
  color: #fff;
}

.chef-feature {
  max-width: 1200px;
  margin: 200px auto;
  padding: 0 20px 60px;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature {
    margin: 100px auto 50px auto;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature {
    margin: 100px auto 50px auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature {
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature {
    padding: 0;
  }
}
.chef-feature .feature-main {
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature .feature-main {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-main {
    flex-direction: column;
  }
}
.chef-feature .feature-main .feature-main-left {
  display: flex;
  flex-direction: column;
  gap: 35px;
  width: 45%;
  padding: 75px 50px 75px 0;
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-main .feature-main-left {
    gap: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature .feature-main .feature-main-left {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-main .feature-main-left {
    width: 90%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature .feature-main .feature-main-left {
    padding: 50px 20px 50px 0;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-main .feature-main-left {
    padding: 50px 20px 50px 0;
  }
}
@media only screen and (max-width: 1199px) {
  .chef-feature .feature-main .feature-main-left {
    margin: auto;
  }
}
.chef-feature .feature-main .feature-main-left .ttl {
  font-size: 156%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature .feature-main .feature-main-left .ttl {
    font-size: 200%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-main .feature-main-left .ttl {
    font-size: 156%;
  }
}
.chef-feature .feature-main .feature-main-right {
  width: 55%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature .feature-main .feature-main-right {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-main .feature-main-right {
    width: 100%;
  }
}
.chef-feature .feature-main .feature-main-right .legacy-swiper {
  width: 100%;
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .swiper-wrapper {
  height: 100%;
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .swiper-slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .swiper-slide:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  margin: auto;
  background: linear-gradient(180deg, rgba(217, 217, 217, 0) 50%, rgba(0, 0, 0, 0.75) 100%);
  background-size: contain;
  z-index: 2;
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav {
  position: absolute;
  right: 0;
  bottom: 1em;
  display: flex;
  gap: 15px;
  width: 95%;
  margin: auto;
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav {
    gap: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav {
    width: 97.5%;
  }
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-button-prev,
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-button-next {
  cursor: pointer;
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  color: #fff;
  transition: all 0.3s ease;
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-button-prev:hover,
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-button-next:hover {
  background: rgba(255, 255, 255, 0.2);
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-button-prev::after,
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-button-next::after {
  position: absolute;
  font-size: 16px;
  font-weight: lighter;
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-button-prev svg circle,
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-button-next svg circle {
  backdrop-filter: blur(10px);
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-scrollbar {
  position: static;
  width: 100%;
  margin-left: 15px;
  background: #999;
}
.chef-feature .feature-main .feature-main-right .legacy-swiper .legacy-swiper-nav .swiper-scrollbar .swiper-scrollbar-drag {
  background: #fff;
}
.chef-feature .feature-g7 {
  display: flex;
  flex-direction: row;
  gap: 35px;
  padding: 75px 50px 75px 0;
  align-items: flex-end;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature .feature-g7 {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-g7 {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-g7 {
    gap: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature .feature-g7 {
    padding: 50px 5%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-g7 {
    padding: 50px 5%;
  }
}
.chef-feature .feature-g7 .g7-img {
  width: 53.33333%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature .feature-g7 .g7-img {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-g7 .g7-img {
    width: 100%;
  }
}
.chef-feature .feature-g7 .g7-img img {
  width: 100%;
  height: auto;
}
.chef-feature .feature-g7 .g7-desc {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-items: stretch;
  gap: 25px;
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-g7 .g7-desc {
    gap: 20px;
  }
}
.chef-feature .feature-g7 .g7-desc .ttl {
  font-size: 156%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .chef-feature .feature-g7 .g7-desc .ttl {
    font-size: 200%;
  }
}
@media only screen and (max-width: 767px) {
  .chef-feature .feature-g7 .g7-desc .ttl {
    font-size: 156%;
  }
}
.chef-feature .feature-g7 .g7-desc .txt {
  line-height: 1.75;
}
.chef-feature .feature-g7 .g7-desc .g7-photos {
  display: flex;
  gap: 12px;
}
.chef-feature .feature-g7 .g7-desc .g7-photos img {
  width: 48%;
  height: auto;
}

.gastronomy-about {
  width: 100%;
  margin: 100px auto 200px auto;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-about {
    margin: 50px auto 75px auto;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-about {
    margin: 50px auto 75px auto;
  }
}
.gastronomy-about .about-hero {
  position: relative;
}
.gastronomy-about .about-hero img {
  width: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-about .about-hero img {
    height: 500px;
    object-fit: cover;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-about .about-hero img {
    height: 300px;
    object-fit: cover;
  }
}
.gastronomy-about .about-hero .about-hero-text {
  position: absolute;
  bottom: 3em;
  left: 7.8125%;
  gap: 15px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}
.gastronomy-about .about-hero .about-hero-text .line {
  margin-bottom: 10px;
}
.gastronomy-about .about-hero .about-hero-text .line span {
  height: 1.5px;
  background: #fff;
}
.gastronomy-about .about-hero .about-hero-text .ttl, .gastronomy-about .about-hero .about-hero-text .sub-ttl {
  color: #fff;
}
.gastronomy-about .about-content {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 78.125%;
  margin: 150px auto 0 auto;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-about .about-content {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-about .about-content {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-about .about-content {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-about .about-content {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-about .about-content {
    margin: 75px auto 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-about .about-content {
    margin: 75px auto 0 auto;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-about .about-content {
    gap: 25px;
  }
}
.gastronomy-about .about-content .about-logo {
  width: 38%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-about .about-content .about-logo {
    width: 60%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-about .about-content .about-logo {
    width: 90%;
  }
}
.gastronomy-about .about-content .about-logo img {
  width: 100%;
  height: auto;
}
.gastronomy-about .about-content .about-desc {
  display: flex;
  flex-direction: column;
  gap: 35px;
  width: 48.33333%;
  padding: 0 0 0 75px;
}
@media only screen and (max-width: 767px) {
  .gastronomy-about .about-content .about-desc {
    gap: 10px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-about .about-content .about-desc {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-about .about-content .about-desc {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-about .about-content .about-desc {
    padding: 0 25px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-about .about-content .about-desc {
    padding: 0 25px;
  }
}
.gastronomy-about .about-content .about-desc .about-images {
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.gastronomy-about .about-content .about-desc .about-images img {
  width: 44.41379%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-about .about-content .about-desc .about-images img {
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-about .about-content .about-desc .about-images img {
    width: 48%;
  }
}

.gastronomy-experiences {
  width: 78.125%;
  max-width: 1500px;
  margin: 200px auto;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences {
    margin: 100px auto;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences {
    margin: 0 auto;
  }
}
.gastronomy-experiences .lunch-tasting {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 3.90625%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .lunch-tasting {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .lunch-tasting {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .lunch-tasting {
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .lunch-tasting {
    align-items: center;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .lunch-tasting {
    gap: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .lunch-tasting {
    gap: 25px;
  }
}
.gastronomy-experiences .lunch-tasting .lunch-images {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 48.33333%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .lunch-tasting .lunch-images {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .lunch-tasting .lunch-images {
    width: 90%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .lunch-tasting .lunch-images {
    flex-direction: row;
  }
  .gastronomy-experiences .lunch-tasting .lunch-images img {
    width: 48%;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-experiences .lunch-tasting .lunch-images {
    order: 2;
  }
}
.gastronomy-experiences .lunch-tasting .lunch-text {
  display: flex;
  flex-direction: column;
  gap: 50px;
  width: 46.66667%;
  padding-top: 100px;
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .lunch-tasting .lunch-text {
    gap: 25px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .lunch-tasting .lunch-text {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .lunch-tasting .lunch-text {
    width: 90%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .lunch-tasting .lunch-text {
    padding-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .lunch-tasting .lunch-text {
    padding-top: 0;
  }
}
.gastronomy-experiences .lunch-tasting .lunch-text .btn-outline {
  margin: 0;
}
.gastronomy-experiences .shimajikan {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 100px;
  margin-top: 200px;
  text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .shimajikan {
    gap: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .shimajikan {
    gap: 50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .shimajikan {
    margin-top: 75px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .shimajikan {
    margin-top: 75px;
  }
}
.gastronomy-experiences .shimajikan .sj-main {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-items: center;
  gap: 3.90625%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .shimajikan .sj-main {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .shimajikan .sj-main {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .shimajikan .sj-main {
    gap: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .shimajikan .sj-main {
    gap: 25px;
  }
}
.gastronomy-experiences .shimajikan .sj-main .sj-img {
  width: 48.33333%;
  order: 1;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .shimajikan .sj-main .sj-img {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .shimajikan .sj-main .sj-img {
    width: 90%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .shimajikan .sj-main .sj-img {
    order: 2;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .shimajikan .sj-main .sj-img {
    order: 2;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .shimajikan .sj-main .sj-img {
    flex-direction: row;
  }
  .gastronomy-experiences .shimajikan .sj-main .sj-img img {
    width: 48%;
  }
}
.gastronomy-experiences .shimajikan .sj-main .sj-desc {
  display: flex;
  flex-direction: column;
  gap: 35px;
  width: 46.66667%;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .shimajikan .sj-main .sj-desc {
    gap: 15px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .shimajikan .sj-main .sj-desc {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .shimajikan .sj-main .sj-desc {
    width: 90%;
  }
}
.gastronomy-experiences .shimajikan .sj-main .sj-desc .btn-outline {
  margin: 0;
}
.gastronomy-experiences .shimajikan .sj-images {
  width: max-content;
}
.gastronomy-experiences .shimajikan .sj-images.js-scrollTrack {
  width: max-content;
}
.gastronomy-experiences .shimajikan .sj-images .sj-inner {
  display: flex;
  align-items: flex-end;
}
.gastronomy-experiences .shimajikan .sj-images .img-cont {
  display: flex;
  align-items: center;
  justify-content: center;
}
.gastronomy-experiences .shimajikan .sj-images .img-cont img {
  width: 400px;
  max-width: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-experiences .shimajikan .sj-images .img-cont img {
    width: 300px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .shimajikan .sj-images .img-cont img {
    width: 200px;
  }
}
.gastronomy-experiences .shimajikan .sj-images[data-scroll-initialized="true"][data-scroll-direction="left"] {
  animation: infiniteScrollRTL var(--_infinite-scroll-duration) linear infinite;
}
.gastronomy-experiences .shimajikan .sj-images[data-scroll-initialized="true"][data-scroll-direction="right"] {
  animation: infiniteScrollLTR var(--_infinite-scroll-duration) linear infinite;
}
.gastronomy-experiences .shimajikan .sj-images[data-scroll-initialized="true"][data-scroll-direction="down"] {
  animation: infiniteScrollDown var(--_infinite-scroll-duration) linear infinite;
}
.gastronomy-experiences .shimajikan .sj-images[data-scroll-initialized="true"][data-scroll-direction="up"] {
  animation: infiniteScrollUp var(--_infinite-scroll-duration) linear infinite;
}
.gastronomy-experiences .shimajikan .sj-images[data-scroll-pause-on-hover="true"]:hover {
  animation-play-state: paused;
}
.gastronomy-experiences .sj-cta {
  width: 78.125%;
  margin: 25px auto;
}
@media only screen and (max-width: 767px) {
  .gastronomy-experiences .sj-cta {
    margin: 10px auto;
  }
}
.gastronomy-experiences .sj-cta .btn-outline {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-right: 0;
  text-decoration: none;
}
.gastronomy-experiences .sj-cta .btn-outline .arrow {
  margin-left: 8px;
}

.gastronomy-plan {
  position: relative;
  margin: 100px auto;
  background: url("../../shima/gastronomy/files/images/bg_plan.svg") repeat center center;
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan {
    margin: 50px auto;
  }
}
.gastronomy-plan .plan-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 100px;
  width: 58.22917%;
  margin: auto;
  padding: 150px 0;
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan-inner {
    gap: 50px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan-inner {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan-inner {
    width: 90%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan-inner {
    padding: 75px 0;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan-inner {
    padding: 75px 0;
  }
}
.gastronomy-plan .plan-inner .plan-content {
  align-items: center;
  gap: 35px;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan-inner .plan-content {
    gap: 10px;
  }
}
.gastronomy-plan .plan-inner .plan-content .ttl {
  text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan-inner .plan-content .ttl {
    font-size: 240%;
  }
}
@media only screen and (max-width: 1199px) {
  .gastronomy-plan .plan-inner .plan-content .txt {
    text-align: center;
  }
}
.gastronomy-plan .plan {
  width: 100%;
}
.gastronomy-plan .plan:last-of-type .inner .text {
  order: 0;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan:last-of-type .inner .text {
    order: 2;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan:last-of-type .inner .text {
    order: 2;
  }
}
.gastronomy-plan .plan .inner {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 75px;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan .inner {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan .inner {
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan .inner {
    gap: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan .inner {
    gap: 35px;
  }
}
.gastronomy-plan .plan .inner .images {
  width: 53.66726%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan .inner .images {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan .inner .images {
    width: 100%;
  }
}
.gastronomy-plan .plan .inner .images img {
  width: 100%;
  height: auto;
}
.gastronomy-plan .plan .inner .text {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 39.62433%;
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan .inner .text {
    gap: 10px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan .inner .text {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan .inner .text {
    width: 100%;
  }
}
.gastronomy-plan .plan .inner .text .ttl {
  font-size: 123%;
  font-weight: 600;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan .inner .text .ttl {
    font-size: 156%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan .inner .text .ttl {
    font-size: 123%;
  }
}
.gastronomy-plan .plan .inner .text .btn-outline {
  margin: 0;
  font-size: 89%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-plan .plan .inner .text .btn-outline {
    font-size: 112%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-plan .plan .inner .text .btn-outline {
    font-size: 89%;
  }
}
.gastronomy-plan .plan .inner .text .btn-outline .btn {
  background: #fff;
}
.gastronomy-plan .bg-top {
  position: absolute;
  top: 0;
}
.gastronomy-plan .bg-top svg {
  vertical-align: top;
}
.gastronomy-plan .bg-btm {
  position: absolute;
  bottom: 0;
}
.gastronomy-plan .bg-btm svg {
  vertical-align: bottom;
}

.gastronomy-gallery {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 50px;
  width: 78.125%;
  margin: 150px auto;
}
@media only screen and (max-width: 767px) {
  .gastronomy-gallery {
    gap: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-gallery {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-gallery {
    margin: 75px auto;
  }
}
.gastronomy-gallery .gallery-title {
  align-items: center;
}
.gastronomy-gallery .gallery-title .ttl {
  font-size: 267%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-gallery .gallery-title .ttl {
    font-size: 267%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-gallery .gallery-title .ttl {
    font-size: 267%;
  }
}
.gastronomy-gallery .gallery-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: flex-start;
}
.gastronomy-gallery .gallery-list img {
  width: 260px;
  height: 180px;
  object-fit: cover;
}
.gastronomy-gallery .gallery-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}
.gastronomy-gallery .gallery-grid .gallery-item img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
@media (max-width: 1200px) {
  .gastronomy-gallery .gallery-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 900px) {
  .gastronomy-gallery .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 600px) {
  .gastronomy-gallery .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

.gastronomy-footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 78.125%;
  margin: auto;
  padding: 100px 0;
  border-top: 0.5px solid #c5c6c6;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-footer {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-footer {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-footer {
    padding: 50px 0;
  }
}
.gastronomy-footer .footer-container {
  width: 67.53131%;
  margin: 0 auto;
  text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .gastronomy-footer .footer-container {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-footer .footer-container {
    width: 100%;
  }
}
.gastronomy-footer .footer-container .footer-links {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
  .gastronomy-footer .footer-container .footer-links {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .gastronomy-footer .footer-container .footer-links {
    gap: 25px;
  }
}
.gastronomy-footer .footer-container .footer-links .btn-outline {
  display: inline-block;
  width: 48.34437%;
  margin: 0;
  padding: 20px 0;
  border: 1px solid #642E36;
  color: #642E36;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  letter-spacing: .1rem;
  text-decoration: none;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .gastronomy-footer .footer-container .footer-links .btn-outline {
    width: 100%;
  }
}
.gastronomy-footer .footer-container .footer-links .btn-outline:hover {
  background-color: #642E36;
  color: #fff;
}
.gastronomy-footer .footer-container .footer-booking {
  width: 100%;
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  .gastronomy-footer .footer-container .footer-booking {
    margin-bottom: 25px;
  }
}
.gastronomy-footer .footer-container .footer-booking .btn-solid {
  display: inline-block;
  width: 100%;
  padding: 20px 0;
  background: url("../../shima/gastronomy/files/images/bg_booking.webp") no-repeat center center;
  background-size: cover;
  color: #fff;
  font-family: "A-OTF UD Reimin Pr6N","游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  letter-spacing: .1rem;
  text-decoration: none;
  transition: all 0.3s;
}
.gastronomy-footer .footer-container .footer-contact .txt {
  font-size: 112%;
}
.gastronomy-footer .footer-container .footer-contact .tel {
  font-family: 'Open Sans', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  text-transform: uppercase;
  font-size: 223%;
  font-weight: 600;
  letter-spacing: .1rem;
}
@media only screen and (max-width: 767px) {
  .gastronomy-footer .footer-container .footer-contact .tel {
    margin-top: 10px;
    line-height: 1;
  }
}
.gastronomy-footer .footer-container .footer-contact .tel span {
  font-family: "Hiragino Kaku Gothic Pro",'Noto Sans JP',"メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  font-size: 50%;
  font-weight: 600;
}

#footer {
  width: 78.125%;
  margin: auto;
  padding: 50px;
  border-top: 0.5px solid #c5c6c6;
  background: #fff;
  text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #footer {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  #footer {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  #footer {
    padding: 25px;
  }
}
#footer .f_name {
  margin-bottom: 35px;
}
@media only screen and (max-width: 767px) {
  #footer .f_name {
    margin-bottom: 10px;
  }
}
#footer .txt_f_add {
  margin-top: 0.75em;
  font-size: 89%;
  line-height: 2.1875;
}
@media only screen and (max-width: 767px) {
  #footer .txt_f_add {
    margin-top: 1em;
  }
}
#footer .txt_f_add .txt_address {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#footer .txt_f_add .txt_address span {
  display: block;
}
#footer .txt_f_add .txt_address span + span {
  margin-left: 1.5em;
}
#footer .txt_f_add .txt_tel {
  text-align: center;
}
#footer .box_f_sns {
  font-size: 123%;
  margin-top: 3em;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  #footer .box_f_sns {
    margin-top: 2em;
  }
}
#footer .box_f_sns li {
  width: 3em;
}
#footer .box_f_sns li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #676c72;
}
.ie #footer .box_f_sns li a {
  text-decoration: none;
}
#footer .box_f_sns li a svg {
  width: 1em;
  fill: #676c72;
}

#copyright {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 78.125%;
  margin: auto;
  margin-bottom: unset;
  padding: 30px 0 40px;
  border-top: 0.5px solid #c5c6c6;
  background: #fff;
  font-family: 'Open Sans', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  text-transform: uppercase;
  color: #c5c6c6;
  text-align: center;
  line-height: 1.3;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #copyright {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  #copyright {
    width: 90%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #copyright {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  #copyright {
    margin-bottom: 5em;
  }
}
@media only screen and (max-width: 767px) {
  #copyright {
    padding: 4em 0;
  }
}
@media only screen and (min-width: 768px) {
  #copyright {
    font-size: 67%;
  }
}
@media only screen and (max-width: 767px) {
  #copyright {
    font-size: 56%;
  }
}

/* ===================================================================
Animation Styles for Page Sections
=================================================================== */
section:not(.gastronomy-story) {
  opacity: 0;
  transform: translateY(20px);
  filter: blur(10px);
  transition: opacity .5s ease-out, transform .5s ease-out, filter .5s ease-out;
}

section:not(.gastronomy-story).animated {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

.story-section {
  opacity: 0;
  transform: translateY(20px);
  filter: blur(10px);
  transition: opacity .5s ease-out, transform .5s ease-out, filter .5s ease-out;
}

.story-section.animated {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
