@charset "UTF-8";/* CSS Document */html {  font-size: 62.5%;  /* 16px * 62.5% = 10px */  width: 100%;  scroll-behavior: smooth;}:root {  --orange: #ff6400;  --l_pink: #F5B5A7;  --yellow: #DBAB59;  --green: #66B8B1;  --brown: #856B00;  --kokuryu: "kokuryu", sans-serif;  ;}body {  color: #333333;  /* RGB */  background-color: #ffffff;  font-family: "zen-old-mincho", sans-serif;  font-weight: 700;  font-style: normal;  font-size: min(1.6rem, 3.3vw);  letter-spacing: 0.04rem;  line-height: 2;  text-align: center;}.kokuryu {  font-family: var(--kokuryu);  font-weight: 400;  font-style: normal;}h2,h3,h4 {  font-weight: 700}.vertical {  position: static;  display: inline-block;  -webkit-writing-mode: vertical-rl;  -ms-writing-mode: tb-rl;  writing-mode: vertical-rl;  letter-spacing: 0.1rem;  text-align: left;}a {  color: #333333;}a:hover {  opacity: 0.7;}.clarity a:hover {  opacity: 1;}*,*:before,*:after {  box-sizing: border-box;}img {  width: 100%;  display: block;}.pc_none {  display: block;}.sp_none {  display: none;}.is-hide {  opacity: 0;  visibility: hidden;  transition: opacity 0.3s ease, visibility 0.3s ease;}.orange {  color: var(--orange);}.white {  color: #ffffff;}.black {  color: #333333;}.center {  text-align: center;}.left {  text-align: justify;}.right {  text-align: right;}.ft_100 {  font-size: min(12.5vw, 10rem);}.ft_60 {  font-size: min(5vw, 6rem);}.ft_30 {  font-size: min(5vw, 3.0rem);}.ft_20 {  font-size: min(4vw, 2rem);}.ft_18 {  font-size: min(3.7vw, 1.8rem);}.ft_16 {  font-size: min(1.6rem, 3.3vw);}.bold {  font-weight: 700;}.fadeInUpTrigger, .fadeInRightTrigger, .fadeInleftTrigger {  opacity: 0;}.flex {  display: flex;  flex-direction: column;  gap: 40px;}.flex.row {  flex-direction: row;  flex-wrap: wrap;}.flex.sp_none {  display: none;}.re    {        flex-direction: row-reverse;    }header {  position: absolute;  z-index: 50;  width: 100%;  height: 70px;  top: 0;  padding-top: 5px;}#sub_header{    padding-top: 0;    position: fixed;    top: 0;    left: 0;    z-index: 99;}.header_inner {  padding: 0 70px 0 5vw;  gap: 5%;  height: 100%;  display: flex;  justify-content: space-between;  align-items: center;  flex-wrap: nowrap;}#sub_header .header_inner{    background: url("../img/u_header_bg.png") no-repeat center top / cover;}.header_inner .logo {  width: 160px;}.line_btn {  width: 110px;}/* ham_menu */.ham_btn {  position: fixed;  cursor: pointer;  width: 55px;  height: 55px;  z-index: 999;  margin: 0;  top: 5px;  right: 4px;  background: #000000;}.ham_btn span {  display: inline-block;  transition: all .4s;  position: absolute;  left: 10px;  height: 1px;  background: #ffffff;  width: 27px;  top: 28px;}.ham_btn span:nth-of-type(1) {  top: 16px;  width: 35px;}.ham_btn.active span:nth-of-type(1) {  top: 15px;  left: 15px;  transform: translateY(6px) rotate(-45deg);  width: 26px;}.ham_btn.active span:nth-of-type(2) {  opacity: 0;}.ham_btn.active span:nth-of-type(3) {  top: 27px;  left: 16px;  transform: translateY(-6px) rotate(45deg);  width: 26px;}.ham_btn span:nth-of-type(3)::after {  content: "Menu";  position: absolute;  top: 5px;  left: -1px;  color: #fff;  font-size: 1.2rem;  text-transform: uppercase;}.ham_btn.active span:nth-of-type(3)::after {  content: "Close";  transform: translateY(0) rotate(-45deg);  top: 6px;  left: 8px;}.nav_wrap {  position: fixed;  z-index: 100;  top: 0;  right: -120%;  width: 100%;  height: 100%;  transition: all 0.6s;  display: flex;  align-items: flex-start;  justify-content: center;  background-color: #000000;  overflow-y: auto;  padding: 60px;}.nav_wrap ul {  width: 100%;  display: flex;  flex-direction: column;  justify-content: space-between;  margin-bottom: 40px;}.nav_wrap li {  list-style: none;  text-align: center;  font-size: 1.6rem;  line-height: 1;  padding: 12px;  margin-bottom: 8px;  border-bottom: 1px solid #ffff;}.nav_wrap li a {  color: #ffffff;  text-decoration: none;  padding: 10px;  display: flex;  flex-direction: column;  align-items: center;  gap: 10px;}.nav_wrap.show {  right: 0;}.nav_wrap nav .sp_nav {  display: flex;  flex-direction: column;  justify-content: space-between;}.nav_wrap nav .sp_nav li {  border-bottom: 1px solid #ffffff;}/* MV */.MV {  position: relative;  background-image: url(../img/MV_bg.png);  background-size: cover;}.MV .slide {  margin: 80px 0 7vw 5vw;}/* 共通 */section {  position: relative;  padding: 80px 0 100px;}#top_detail {  background-image: url(../img/sp_detail_bg.png);  background-size: cover;  padding-bottom: 0;}#top_detail .section_ttl {  position: absolute;  right: 5vw;  top: 20px;  line-height: 1;  max-height: none;}#top_detail .text_wrap {  background-color: rgba(0, 0, 0, 0.5);  width: 80%;  padding: 5% 5vw 5%;  display: flex;  flex-direction: column;  gap: 20px;  position: relative;}#top_detail .text_wrap::after {  content: "";  width: 100%;  height: 20%;  background-color: rgba(0, 0, 0, 0.5);  position: absolute;  top: 100%;  left: 0;  z-index: 1;}.more a {  height: 54px;  width: 190px;  border-radius: 27px;  position: relative;  color: #ffffff;  border: 1px solid #ffffff;  display: flex;  align-items: center;  justify-content: center;  margin: 20px auto 40px;}.more a p {  display: inline-block;  line-height: 1;  padding-right: 50px;  position: relative;}.more a p::after {  content: "";  width: 51px;  height: 5px;  background-image: url(../img/arrow_w.png);  background-size: contain;  background-repeat: no-repeat;  background-position: center bottom;  position: absolute;  top: 50%;  right: -10px;  transform: translateY(-50%);  z-index: 1;}#top_detail .img_wrap {  width: 90%;  margin: 0 auto;}.img_wrap .content_img {  width: calc((100% - 20px)/ 2);}#top_food {  background-image: url(../img/bg_01.png);  background-size: cover;  margin-top: -10vw;  padding-top: calc(80px + 10vw);  padding-bottom: 0;}.section_inner {  width: 90%;  margin: 0 auto;}.section_ttl {  line-height: 1.1;  max-height: 45vw;}.section_ttl span {  display: block;  text-align: right;}.more.black a {  border: 1px solid #333333;  color: #333333;}.more.black a p::after {  content: "";  background-image: url(../img/arrow_b.png);}#top_food .text_wrap-inner {  padding-top: 5%;}.img_wrap {  width: 100%;  gap: 20px;  position: relative;  z-index: 5;}#top_drink {  background-image: url(../img/bg_02.png);  background-size: cover;  margin-top: -10vw;  padding-top: calc(80px + 10vw);  padding-bottom: 0;}#top_drink .section_ttl {  line-height: 1.1;  max-height: 60vw;}#top_drink .text_wrap {  flex-wrap: nowrap;  flex-direction: row-reverse;  gap: 20px;}#top_drink .text_wrap-inner {  padding-top: 15vw;}#top_drink .text_wrap h3 {  padding-top: 20px;}#top_drink .img_wrap {  width: 100%;}#top_about {  background-image: url(../img/bg_03.png);  background-size: cover;  margin-top: -10vw;  padding-top: calc(80px + 10vw);}#top_about .text_wrap {  align-items: center;}#top_about .section_ttl {  max-height: 80vw;}#top_about ul {  padding-left: 10vw;  padding-bottom: 10vw;}#top_about .content_img {  width: 100%;}#top_shop {  background-image: url(../img/sp_shop_bg.png);  background-size: cover;  background-position: center bottom;}#top_shop .content {  width: 90%;  margin: 40px auto 0;}dl {  width: 100%;  max-width: 600px;  margin-bottom: 40px;  margin: 0 auto;}dl dt,dl dd {  padding: 2%;  border-bottom: 1px solid #333333;}#top_shop .content_img {  width: 100%;}.map iframe {  display: block;  width: 100%;  height: 450px;}footer {  background-image: url(../img/sp_footer_bg.png);  background-size: cover;}.footer_inner {  width: 90%;  margin: 0 auto;  padding: 40px 0;}.footer_inner--left {  display: flex;  flex-direction: column;  align-items: center;  gap: 10px;}.footer_inner--right {  display: flex;  flex-direction: column;  align-items: center;  gap: 40px;}.footer_inner--right .line_btn {  width: 200px;}.footer_inner--right ul {  gap: 40px 0;  justify-content: flex-start;  line-height: 1;}.footer_inner--right ul li {  padding-right: 6vw;  margin-left: 6vw;  border-right: 1px solid #333333;}.footer_inner--right ul li:last-child {  border: none;}.tel a {  display: flex;  align-items: center;  justify-content: center;  flex-direction: column;  color: #333333;  margin: 0 auto;}.tel a p {  padding-left: 40px;  position: relative;}.tel a p::before {  content: "";  width: 30px;  height: 30px;  background-image: url(../img/sp_b.png);  background-size: contain;  background-repeat: no-repeat;  background-position: center bottom;  position: absolute;  top: 50%;  transform: translateY(-50%);  left: 0;  z-index: 1;}.cr {  padding: 16px 0;  font-size: 1.6rem;  text-align: center;  color: #ffffff;  background-color: var(--orange);}#go_top {  width: 40px;  position: fixed;  bottom: 10px;  right: 15px;  z-index: 900;}/**************************************    下層ページ    **************************************/    .sec_bg    {        background: url("../img/sec_bg.png") repeat-y top / contain;    }    .h2_ttl    {        text-align: center;        color: #FFFFFF;        font-size: max(5vw , 5rem);        padding: 12rem 0 12rem;        font-family: var(--kokuryu);        margin-top: 70px;    }    .detail    {        background: url("../img/h2_detaile.png") no-repeat top center / cover;    }    .drink    {        background: url("../img/h2_drink.png") no-repeat top center / cover;    }    .food    {        background: url("../img/h2_food.png") no-repeat top center / cover;    }    .about    {        background: url("../img/h2_about.png") no-repeat top center / cover;    }    .shop    {        background: url("../img/h2_shop.png") no-repeat top center / cover;    }    .wrap    {        max-width: calc(1200px + 10%);        margin: 0 auto;        padding: 3% 5%;    }    .h3_ttl    {        text-align: center;        font-size: max(3vw , 3rem);        margin-bottom: 5%;        font-family: var(--kokuryu);    }    .section .flex    {        display: flex;        justify-content: space-between;        flex-direction: row;        margin-bottom: 5%;        flex-wrap: wrap;    }    .flex-2    {        width: 100%;        text-align: justify;    }    .sub_ttl    {        font-size: max(2vw , 2rem);        font-weight: 600;        margin-bottom: 3%;    }    .re    {        flex-direction: row-reverse!important;    }    .drink_bg    {        background: url("../img/drink_bg.png")no-repeat top / cover;    }    .list-disc li    {        padding-left: 1rem;        list-style: disc;        line-height: 1;    }    .list-disc li dl    {        display: flex;        justify-content: space-between;        flex-wrap: wrap;            }    .list-disc li dt    {        width: 75%;        border-bottom: none;        padding: 0;    }    .list-disc li dd    {        width: 20%;        border-bottom: none;        padding: 0;    }    .mt3    {        margin-top: 3%;    }    .jcc    {        justify-content: center!important;    }    .w300    {        width: 300px!important;    }    .img_c    {        max-width: 800px;        margin: 3% auto;    }    .about_bg    {        background: url("../img/about_bg.png") repeat-y top center /contain;        color: #FFFFFF!important;    }/* pcスタイル */@media screen and (min-width: 960px) {  .sp_none {    display: block;  }  .pc_none {    display: none;  }  .flex.sp_none {    display: flex;  }  .flex.pc_none {    display: none;  }  .flex {    flex-direction: row;    justify-content: space-between;  }  header {    position: absolute;    top: 0;    left: 0;    z-index: 10;    width: 16.7vw;    height: 57vw;  }    #sub_header    {        position: fixed;        top: 0;        left: 0;        width: 100%;        z-index: 99;        height: 100px;        background: url("../img/u_header_bg.png") no-repeat center top / cover;    }#sub_header .header_inner    {        display: flex;        justify-content: space-between;        align-items: center;        flex-direction: row;        padding: 1%;    }    #sub_header .header_inner .logo    {        max-width: 30%;    }    #sub_header .header_inner .tel a p::before {    width: min(2vw, 28px);    height: min(2.6vw, 50px);    top: 0;    left: 0;    background-image: url(../img/sp.png);  }    #sub_header .header_inner .tel a p {    padding: 0 2vw 0 1vw;    color: #ffffff;    font-size: min(2vw, 2.6rem);  }    #sub_header .pc_nav    {        width: 100%;        container-type: inherit;        padding: 1rem 0 1rem 0;    }    #sub_header .pc_nav ul    {      padding-left: 0;        width: 100%;    }    #sub_header .header_info    {        align-items: flex-end;    justify-content: flex-end;    }  .header_inner {    width: 100%;    height: 100%;    flex-direction: column;    justify-content: flex-start;    gap: 2%;    padding: 5% 0;  }  .header_inner .logo {    width: 50%;  }  .header_info {    display: flex;    flex-direction: column;    gap: 1%;    align-items: center;  }  .header_info .line_btn {    width: 80%;    padding-top: 10%;  }  .header_inner .tel a p {    padding: 3vw 0 0 0;    color: #ffffff;    font-size: min(1.8vw, 3.0rem);  }  .header_inner .tel a p::before {    width: min(2.2vw, 43px);    height: min(3vw, 60px);    top: 0;    left: 50%;    transform: translateX(-50%);    background-image: url(../img/sp.png);  }  .MV .slide {    margin: 0 0 0 16.7vw;  }  .pc_nav {    padding: 2vw 3vw;    container-type: inline-size;    container-name: g_nav;  }  .pc_nav ul {    width: 90%;    max-width: 1200px;    margin: 0 auto;    justify-content: flex-start;    gap: 0;    padding-left: 200px;  }  .pc_nav ul li {    padding-right: 2vw;    margin-left: 2vw;    border-right: 1px solid #ffffff;  }  .pc_nav ul li a {    color: #ffffff;    line-height: 1;  }  .pc_nav ul li:last-child {    border: none;  }  @container g_nav (max-width: 1000px) {    .pc_nav ul {      padding-left: 10vw;    }  }  .section_inner {    position: relative;    padding: 100px 0 160px;  }  #top_detail {    background-image: url(../img/detail_bg.png);    padding-top: 10vw;  }  #top_detail .section_ttl {    position: absolute;    right: 10vw;    top: 5vw;  }  #top_detail .text_wrap {    width: 70%;    align-items: flex-end;    padding-bottom: 0;  }  #top_detail .text_wrap h3 {    width: 100%;    max-width: 880px;  }  #top_detail .text_wrap p {    max-width: 880px;  }  #top_detail .text_wrap .more {    width: 100%;    max-width: 880px;  }  #top_detail .img_wrap {    max-width: 1500px;    gap: 30px;  }  #top_detail .img_wrap .content_img {    width: calc((100% - 90px)/ 4);  }  #top_food {    margin-top: -4vw;    padding-top: calc(120px + 4vw);  }  #top_food .section_inner {    max-width: 1500px;    padding: 0;    position: static;  }  #top_food .content.item01 {    display: flex;    flex-direction: column;    gap: 80px;    width: 60%;  }  #top_food .content.item01 .text_wrap {    justify-content: center;    gap: 20%;  }  #top_food .content_img.big {    position: absolute;    width: 40%;    right: 0;  }  #top_food .more a {    margin: 80px auto 0;  }  #top_drink {    margin-top: -300px;    padding-top: 480px;  }  #top_drink .section_inner {    max-width: 1500px;    padding: 0;    position: static;    justify-content: flex-end;  }  #top_drink .content.item01 {    display: flex;    flex-direction: column;    gap: 80px;    width: 60%;  }  #top_drink .content.item01 .text_wrap {    justify-content: center;    gap: 10%;  }  #top_drink .content_img.big {    position: absolute;    width: 40%;    left: 0;  }  #top_drink .text_wrap-inner {    padding-top: 0;    max-width: 340px;  }  #top_about {    margin-top: -4vw;    padding-top: calc(120px + 4vw);  }  #top_about .section_inner {    flex-direction: column;    max-width: 1500px;  }  #top_about .text_wrap {    justify-content: flex-start;    gap: 5%;  }  #top_about .text_wrap-inner {    flex-direction: row;    display: flex;    align-items: center;    gap: 20%;    width: 50%;  }  #top_about ul {    padding-left: 40px;    padding-bottom: 40px;  }  #top_about .img_wrap {    width: 90%;    margin: -5% 0 0 auto;  }  #top_shop {    background-image: url(../img/bg_04.png);  }  #top_shop .content {    flex-direction: row-reverse;    max-width: 1280px;    margin: 80px auto;  }  #top_shop .img_wrap {    flex-direction: column;    justify-content: center;    width: 40%;  }  #top_shop .text_Wrap {    width: 50%;  }  #top_shop dl {    width: 100%;    max-width: none;  }  .description-item {    display: flex;    width: 100%;  }  #top_shop dt {    width: 160px;  }  #top_shop dd {    width: calc(100% - 160px);  }  footer {    background-image: url(../img/footer_bg.png);  }  .footer_inner--left {    display: flex;    flex-direction: column;    align-items: center;    gap: 10px;    width: 100%;    max-width: 500px;  }  .footer_inner--right {    justify-content: space-evenly;    gap: 20%;  }  .footer_inner--right ul {    flex-wrap: nowrap;  }  .footer_inner--right ul li {    padding-right: 3vw;    margin-left: 3vw;    border-right: 1px solid #333333;  }  #go_top {    width: 60px;    bottom: 40px;    right: 20px;  }    /**************************************    下層ページ    **************************************/    .sec_bg    {        background: url("../img/sec_bg.png") repeat-y top / contain;    }    .h2_ttl    {        text-align: center;        color: #FFFFFF;        font-size: max(5vw , 5rem);        padding: 12rem 0 12rem;        font-family: var(--kokuryu);        margin-top: 100px;    }    .detail    {        background: url("../img/h2_detaile.png") no-repeat top center / cover;    }    .drink    {        background: url("../img/h2_drink.png") no-repeat top center / cover;    }    .food    {        background: url("../img/h2_food.png") no-repeat top center / cover;    }    .about    {        background: url("../img/h2_about.png") no-repeat top center / cover;    }    .shop    {        background: url("../img/h2_shop.png") no-repeat top center / cover;    }    .wrap    {        max-width: calc(1200px + 10%);        margin: 0 auto;        padding: 3% 5%;    }    .h3_ttl    {        text-align: center;        font-size: max(3vw , 3rem);        margin-bottom: 5%;        font-family: var(--kokuryu);    }    .section .flex    {        display: flex;        justify-content: space-between;        flex-direction: row;        margin-bottom: 5%;        flex-wrap: wrap;    }    .flex-2    {        width: 48%;        text-align: justify;    }    .sub_ttl    {        font-size: max(2vw , 2rem);        font-weight: 600;        margin-bottom: 3%;    }    .re    {        flex-direction: row-reverse!important;    }    .drink_bg    {        background: url("../img/drink_bg.png")no-repeat top / cover;    }    .list-disc li    {        padding-left: 1rem;        list-style: disc;        line-height: 1;    }    .list-disc li dl    {        display: flex;        justify-content: space-between;        flex-wrap: wrap;            }    .list-disc li dt    {        width: 60%;        border-bottom: none;        padding: 0;    }    .list-disc li dd    {        width: 36%;        border-bottom: none;        padding: 0;    }    .mt3    {        margin-top: 3%;    }    .jcc    {        justify-content: center!important;    }    .w300    {        width: 300px!important;    }    .img_c    {        max-width: 800px;        margin: 3% auto;    }    .about_bg    {        background: url("../img/about_bg.png") repeat-y top center /cover;        color: #FFFFFF!important;    }}