/* フォント
   -発行されたCSSコードを入力してください。
--------------------*/
/* 本文 */
body {
  font-family: a-otf-gothic-bbb-pr6n, 'AppleSystem', 'Yu Gothic', YuGothic, 'HiraKakuProN-W3','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, Osaka, 'MS UI Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-weight: 400;
  font-style: normal;
}
/* 見出し */
.heading_ll,
.heading_l,
.heading_m {
  font-family: 'Dosis', a-otf-gothic-bbb-pr6n, 'AppleSystem', 'Yu Gothic', YuGothic, 'HiraKakuProN-W3','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, Osaka, 'MS UI Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

a:hover {
  opacity: 1;
}



/* Header
   -ロゴの大きさに合わせて任意で変更してください。
--------------------*/
.wrapper.type_a header .logo {
  width: 80px;
}
.wrapper.type_a .gnav_list li {
  position: relative;
}
.wrapper.type_a .gnav_list li.active:after,
.wrapper.type_a .gnav_list li:hover:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #002565;
}
@media screen and (min-width: 1000px) {
  .wrapper.type_a header .logo {
    width: 100px;
  }
}
@media screen and (max-width: 1000px) {
  .wrapper.type_a .gnav_container {
    background-color: #002565;
  }
  .wrapper.type_a header .gnav_list {
    width: 100%;
  }
  .wrapper.type_a header .gnav_list .heading_m {
    display: block;
    text-align: left;
    padding: 12px 0;
  }
  .wrapper.type_a .gnav_list li.active:after,
  .wrapper.type_a .gnav_list li:hover:after {
    display: none;
  }
  .gnav_container a {
    color: #eeebe7;
  }
  .wrapper.type_a header.gnav_active .menu_bar {
    background-color: #eeebe7;
  }
}


/* メインビジュアル
   -デザインに合わせて調整してください。
--------------------*/
.mainvisual {
  padding-top: 240px;
}
.opening_hours {
  position: absolute;
  top: 205px;
  right: 50px;
}
.opening_hours .par_s:nth-of-type(1) {
  margin-right: 20px;
}
.mv_parent .inner {
  position: relative;
}
.mv_parent #sec1g2 {
  position: absolute;
  bottom: 1px;
  right: 0;
  width: 70%;
  margin: 0;
  padding: 0 50px;
  background-color: rgba(238, 235, 231, 0.85);
  z-index: 10;
}
.mv_parent #sec1g2 .column {
  align-items: center;
}
.mv_parent #sec1g2 .block:nth-of-type(1) {
  width: 120px;
}
.mv_parent #sec1g2 .block:nth-of-type(2) {
  width: calc(100% - 120px);
  padding-top: 14px;
}
.mv_parent #sec1g2 .par_m {
  width: calc(100% - 120px);
  max-width: 100%;
  overflow: hidden;
}
.mv_parent #sec1g2 .par_m span {
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  animation: ticker 20s infinite linear;
}
@keyframes ticker {
  0% {transform: translateX(0);}
  100% {transform: translateX(-100%);}
}
@media screen and (max-width: 1000px) {
  .mainvisual {
    padding-top: 180px;
  }
  .opening_hours {
    top: 150px;
    right: 20px;
  }
  .mv_parent #sec1g2 {
    position: relative;
    width: 100%;
    padding: 0 20px;
  }
  .mv_parent #sec1g2 .block:nth-of-type(1) {
    width: 100%;
    padding-top: 5px;
    padding-right: 0;
    padding-bottom: 0;
  }
  .mv_parent #sec1g2b1 {
    display: none;
  }
  .mv_parent #sec1g2 .block:nth-of-type(2) {
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
  }
  .mv_parent #sec1g2 .instagram.small time {
    width: 90px;
    font-size: 10px;
  }
  .mv_parent #sec1g2 .par_m {
    width: calc(100% - 90px);
    font-size: 12px;
  }
}


/* 特殊カスタム
--------------------*/
/* 共通 */
.main_area {
  padding-bottom: 50px;
}
.linkbutton.type_b1 a,
.linkbutton.type_b2 a,
.linkbutton.type_b3 a {
  transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
}
.linkbutton.type_b1 a:hover,
.linkbutton.type_b2 a:hover,
.linkbutton.type_b3 a:hover {
  opacity: 1 !important;
  transform: translateX(5px);
}
.photo a img {
  transition: all 0.2s cubic-bezier(0.61, 1, 0.88, 1);
}
.photo a img:hover {
  transform: scale(1.02);
}
@media screen and (max-width: 1000px) {
  .wrapper {
    padding-bottom: 52px;
  }
}


/* Top */
.top_page #sec2 {
  padding-top: 70px;
}
.top_page #sec2g1 > .column {
  padding-top: 20px;
}
.top_page #sec2g2 {
  margin-top: 70px;
}
.top_page #sec5 .photo {
  max-width: 300px;
  margin: 0 auto;
}
.top_page #sec5 .par_m {
  text-align: center;
}
@media screen and (max-width: 1000px) {
  .top_page #sec2 {
    padding-top: 30px;
  }
  .top_page #sec2g1 {
    overflow: hidden;
  }
  .top_page #sec2g1 > .photo {
    width: 180%;
    margin-left: -40%;
  }
  .top_page #sec2g1 > .column {
    padding-top: 30px;
  }
  .top_page #sec2g1b2 {
    padding-top: 30px;
  }
  .top_page #sec2g1b1 .photo img,
  .top_page #sec2g1b2 .photo img {
    display: block;
    width: 85%;
    margin: 0 auto;
  }
  .top_page #sec2g1 .linkbutton.type_c {
    margin: 40px auto;
  }
  .top_page #sec2g2 {
    margin-top: 20px;
  }
  .top_page .column.c2sp > .block:nth-of-type(2n+1),
  .top_page .column.c2sp > .block:nth-of-type(2n) {
    padding: 3px 0;
  }
}


/* About */
.about_page #sec2g1 > .column {
  align-items: center;
}
.about_page #sec2 .group + .group {
  margin-top: 50px;
}
.about_page #sec4 .heading_s {
  margin-top: 20px;
}
.about_page #sec4 .photo {
  position: relative;
}
.about_page #sec4 .photo:hover:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/profile2.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.about_page #sec5 .group {
  margin: 0;
}
@media screen and (min-width: 1000px) {
  .about_page #sec5 .block {
    padding-top: 0;
    padding-bottom: 5px;
  }
  .about_page #sec5g2 {
    margin-top: -5px !important;
  }
  .about_page #sec5g1b1 {
    width: calc(50% - 7px);
    margin-right: 7px;
  }
  .about_page #sec5g1b2 {
    width: calc(50% - 8px);
    margin-left: 8px;
  }
}
@media screen and (max-width: 1000px) {
  .about_page #sec1g1b1 {
    order: 1;
    margin-top: 20px;
  }
  .about_page #sec1g1b1 .photo img {
    max-width: 450px;
  }
  .about_page #sec2 .group + .group {
    margin-top: 40px;
  }
  .about_page .column.c1sp .block + .block {
    margin-top: 0;
  }
  .about_page #sec2g2 #sec2g2b1 {
    order: 1;
  }
  .about_page #sec3g1 .block {
    display: flex;
    flex-wrap: wrap;
  }
  .about_page #sec3g1 .block + .block {
    margin-top: 40px;
  }
  .about_page #sec3g1 .block.type_b > * {
    width: 100%;
  }
  .about_page #sec3g1 .heading_m {
    order: 1;
  }
  .about_page #sec3g1 .photo {
    order: 0;
  }
  .about_page #sec3g1 .par_m {
    order: 2;
  }
  .about_page #sec5 {
    max-width: 700px;
    margin: 0 auto;
  }
}


/* Menu */
.menu_page #sec1g1b1 .photo img {
  max-width: 450px;
}
.menu_page #sec3 .group + .group {
  margin-top: 40px;
}
.menu_page #sec3 .heading_l {
  padding-bottom: 0;
}
.menu_page #sec3 .par_m {
  padding-bottom: 0;
}
.menu_page #sec3g6 {
  text-align: center;
}
@media screen and (max-width: 1000px) {
  .menu_page #sec1g1b1 {
    order: 1;
    margin-top: 20px;
  }
  .menu_page #sec3 .group + .group {
    margin-top: 0;
  }
  .menu_page #sec3g1 .heading_ll {
    padding-bottom: 0;
  }
}


/* Goods */
.goods_page .linkbutton {
  text-align: left;
}

/* Footer */
footer {
  width: 100%;
  padding: 0;
  background-color: #eeebe7;
}
.footer_container {
  display: flex;
  align-items: center;
}
.footer_container > .left {
  width: 45%;
}
.footer_container > .right {
  width: 65%;
  padding: 50px 70px;
}
footer .logo img {
  width: 120px;
}
footer dl {
  display: flex;
  flex-wrap: wrap;
}
footer dt {
  width: 150px;
}
footer dd {
  width: calc(100% - 150px);
}
footer .copyright {
  margin-top: 30px;
}
footer iframe {
  width: 100%;
  height: 400px;
}
@media screen and (min-width: 1000px) {
  .fnav_container {
    display: none;
  }
}
@media screen and (max-width: 1000px) {
  .footer_container {
    flex-wrap: wrap;
  }
  .footer_container > .left {
    order: 1;
    width: 100%;
  }
  footer iframe {
    height: 50vw;
    max-height: 300px;
  }
  .footer_container > .right {
    width: 100%;
    padding: 30px;
  }
  footer dt {
    width: 130px;
  }
  footer dd {
    width: calc(100% - 130px);
  }
  footer .copyright {
    margin-top: 10px;
  }
  .fnav_container {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 12px 20px;
    background-color: #002565;
  }
  .fnav_list {
    display: flex;
    justify-content: center;
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .fnav_list li {
    padding: 0 20px;
  }
  .fnav_list li a {
    color: #eeebe7;
  }
}

/* instagram */
.ig_hidden {
  display: none;
}
