@charset "UTF-8";
/*!
	Theme Name: 
	Theme URI: 
	Author: 
	Author URI: 
	Description: 

	Version: 0.0.1
*/
/************************/ :root {
   --overlay-color-1: #feecd0;
   --primary-color: #d18566;
   --secondary-color: #000000;
   --tertiary-color: #feecd0;
   --fourth-color: #feecd0;
   --accent-color: #fabf13;
   --gr1-color: linear-gradient(0deg, rgba(4, 0, 0, 1) 0%, rgba(62, 58, 57, 1) 127%);
}
html {
   font-size: 62.5%;
}
body {
   color: #111;
   font-size: 16px;
   font-size: 1.6rem;
   line-height: 1.7;
   font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif", Arial;
   letter-spacing: 1px;
   background: var(--primary-color);
}
html.fixed {
   height: 100%;
   overflow: hidden;
}
.preload {
   transition: 0 !important;
}
/* font  
-----------------------------------*/
.h1 {
   font-size: 4.2rem;
   line-height: 1.4;
}
h1 {
   font-size: 3rem;
}
h1 span {
   font-size: 1.8rem;
   display: block;
}
h2 {
   font-size: 3.9rem;
   font-weight: 700;
   font-family: 'Trajan Pro', sans-serif;
}
.sectionhhead {
   color: var(--primary-color);
   line-height: 1.3;
   margin-bottom: 50px;
   letter-spacing: 0;
}
.sectionhhead span {
   font-family: 'Shippori Mincho', serif;
   color: var(--secondary-color);
   display: block;
   font-size: 2rem;
}
h3, .h3 {
   font-size: 2.7rem;
   font-weight: 700;
   font-family: 'Shippori Mincho', serif;
}
h4 {
   font-size: 2rem;
   font-weight: normal;
}
h5 {
   font-size: 1.8rem;
   font-weight: normal;
}
h6 {
   font-size: 1.6rem;
   font-weight: normal;
}
.f23 {
   font-size: 2.2rem !important;
   letter-spacing: 0;
}
.text-center {
   text-align: center;
}
.text-right {
   text-align: right;
}
.text-left {
   text-align: left;
}
.text-i {
   font-style: italic;
}
.plat {
   font-feature-settings: "palt";
}
/* link  
-----------------------------------*/
a, a img, button {
   text-decoration: none;
   -webkit-transition: ease 0.7s;
   -moz-transition: ease 0.7s;
   -o-transition: ease 0.7s;
   -ms-transition: ease 0.7s;
   transition: ease 0.7s;
   color: #303030;
   -webkit-backface-visibility: hidden; /* è¿½åŠ  */
   backface-visibility: hidden; /* è¿½åŠ  */
}
a:hover {
   opacity: .8;
}
.blanklink {
   display: flex;
}

.blanklink a {
    position: relative;
    width: 181px;
    padding: 12px 20px;
    color: #fff;
    font-size: clamp(11px,1vw,12px);
    display: block;
    text-align: center;
    line-height: 1.7;
    font-weight: bold;
    letter-spacing: 0.7px;
}
.blanklink a::after {
   content: '';
   width: 16px;
   height: 1px;
   background: #fff;
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   margin: auto;
}
.blanklink li:last-child a {
   margin-right: 0;
   margin-left: auto;
}
.btn_google {
   background-color: var(--secondary-color);
}
.btn_resev {
   background-color: var(--primary-color);
}
.row {
   padding-right: 15px;
   padding-left: 15px;
}
.linknone {
   pointer-events: none;
}
/*sp visible hidden*/
.navsns.sp_hidden, .sp_visible {
   display: none;
}
.navsns.sp_hidden, .sp_hidden {
   display: inherit;
}
/* container width
-----------------------------------*/
.container {
   margin: auto;
   max-width: 1030px;
   padding: 0px;
   box-sizing: border-box;
}
.containerflat {
   margin: auto 4%;
}
.containerinner {
   padding: 0 30px;
}
.container850 {
   max-width: 900px;
   margin: auto;
   padding: 0 15px;
}
/* hr
-----------------------------------*/
/* flex 
-----------------------------------*/
.d-flex {
   display: flex;
   flex-direction: row;
}
.d-flex.flex-rev {
   flex-direction: row-reverse;
}
.overh {
   overflow: hidden;
}
@keyframes arrow {
   0% {
      transform: translate(-50%, 0)
   }
   100% {
      transform: translate(-50%, 125px)
   }
}
section img {
   max-width: 100%;
   height: auto;
}
/* content base64 tmp
-----------------------------------
::before {
    content: url("data:image/svg+xml;base64,");
}
*/
/* list
-----------------------------------*/
.snslist {
   display: flex;
   align-items: center;
}
.snslist li {
   margin: 0 4px;
   line-height: 1;
}
/* pagetop 
-----------------------------------*/
.pagetop {
   display: none;
   position: fixed;
   bottom: 20px;
   right: 10px;
   z-index: 100;
}
.pagetop a::before {
   content: '';
   width: 10px;
   height: 10px;
   border: 0px;
   border-top: solid 2px #000;
   border-right: solid 2px #000;
   -ms-transform: rotate(45deg);
   -webkit-transform: rotate(45deg);
   transform: rotate(-45deg);
   position: absolute;
   left: 0;
   right: 0;
   margin: auto;
   top: 1px;
   bottom: 0px;
   opacity: 1;
}
.pagetop a {
   display: block;
   border-radius: 50px;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   zoom: 1;
   width: 50px;
   height: 50px;
   text-align: center;
   /* font-size: 24px; */
   text-decoration: none;
   line-height: 50px;
   /* border: 1px solid #fbfbfb; */
   -webkit-transition: all 0.7s;
   -moz-transition: all 0.7s;
   -ms-transition: all 0.7s;
   -o-transition: all 0.7s;
   transition: all 0.7s;
   opacity: 0.8;
   color: #1d1d1c;
   background: #fff;
}
.pagetop a span {
   top: 22px;
   position: relative;
   font-size: 0.1rem;
}
.pagetop a:hover {
   opacity: 0.6;
    background: var(--primary-color);
}
/* google map responsive
-----------------------------------*/
.gmapres {
   position: relative;
   padding-bottom: 30.842%;
   padding-top: 30px;
   height: 400px;
   overflow: hidden;
   min-width: 100%;
   margin-right: 0;
   margin-bottom: 2rem;
}
.gmapres iframe, .gmapres object, .gmapres embed {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}
/* overlay
-----------------------------------*/
.overlay {
   position: absolute;
   height: 100%;
   top: 0;
   left: 0;
   width: 100%;
   background: var(--primary-color);
   mix-blend-mode: multiply;
   z-index: -1;
}
.overlay2 {
   background: var(--tertiary-color);
}
/* top_bnr
-----------------------------------*/
.top_bnr {
   overflow: hidden;
   padding: 48px 0 88px;
   position: relative;
}
.top_bnr img {
   width: 100%;
}
.swiper-slide img {
   width: 100%;
}
.swiper-pagination-bullets.swiper-pagination-horizontal {
   bottom: 40px !important;
}
.swiper-wrapper {
   transition-timing-function: cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
.swiper-pagination-bullet {
   width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size));
   height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size));
   display: inline-block;
   border-radius: 50%;
   background: #614d3f;
}
/* footer
-----------------------------------*/
footer {
   background: var(--gr1-color);
   position: relative;
   text-align: center;
   color: #fff;
   padding-bottom: 10px;
}
footer .d-flex {
   justify-content: center;
}
.copy {
   font-size: 11px;
}
footer ul li a {
   display: block;
   margin: 30px;
   color: #fff;
   font-size: 1.2rem;
   font-weight: 700;
}
.footerlogo {
   padding-top: 20px;
   margin-bottom: 10px;
}
/* ---------------------------------
-----------------------------------
Page
-----------------------------------_
-----------------------------------*/
.headkv {
   border-radius: 0 0 100px 0;
   background: #fff;
   padding-bottom: calc((100% / 8) * 1);
}
#kv {
   margin: 0;
   /*   display: flex;*/
   justify-content: end;
   align-items: center;
}
.kvbox {
   position: relative;
}
.kvsns {
   writing-mode: vertical-rl;
   padding: 0 20px;
   position: absolute;
   right: 0;
   height: auto;
   margin: auto;
   display: flex;
   justify-content: center;
   top: 0;
   bottom: 0;
}
.kvsns li {
   padding: 5px 0;
}
.kvsns li:first-child {
   font-size: 1.1rem;
   position: relative;
   left: -4px;
   letter-spacing: .2px;
}
.kvcontainer {
   position: relative;
   padding: 0 0 0 66px;
   margin-right: 66px;
}
.kvcontainer .kvimg {
   display: flex;
   justify-content: flex-end;
   /*   padding-left: calc(100% - 92%);*/
}
.kvcontainer .kvimg img {
   width: 100%;
}
.swiper {
   margin-left: 8vw !important;
}
.kvtext1 {
   position: absolute;
   bottom: calc(-84 / 1240 * 100vw);
   z-index: 1;
}
.kvtext1 img {
   width: clamp(27vw, 42vw, 854px);
}
.kvtext2 {
   position: absolute;
   right: 0;
   margin-top: 20px;
   z-index: 1;
}
.kvtext2 img {
   width: clamp(19vw, 31vw, 456px);
}
/*indexnews*/
#indexnews {
   color: #fff;
   margin: 70px auto;
}
#indexnews h2 {
   font-size: 3rem;
}
.newshead {
   margin-right: 38px;
   margin-left: 30px;
}
#indexnews a{
    color: #fff;
    text-decoration: underline;
}
#indexnews a:hover{
    text-decoration: none;
}
#indexnews .d-flex {
   align-items: center;
}
#indexnews dl {
   display: flex;
   font-size: 1.4rem;
   margin-bottom: 10px;
}
#indexnews dl dt {
   width: 120px;
}
#indexnews dl dd {
   width: 100%;
   margin-left: 0;
}
/*concept*/
#concept, #menu, #restaurant {
   overflow: hidden;
   margin-bottom: 2rem;
}
.textblock {
   color: #fff;
   display: flex;
   width: 50%;
   position: relative;
}
.textblock p + p {
   margin-top: 2em;
}
.textblock::before {
   content: '';
   background: var(--gr1-color);
   width: 100vw;
   position: absolute;
   top: 0;
   left: 0;
   display: block;
   z-index: 0;
   height: 100%;
}
.textblock p {
   font-size: clamp(11px, 1.1vw, 1.7rem);
   line-height: 2;
   font-feature-settings: "palt";
    letter-spacing: 2px;
}
.textblock > div {
   margin: auto 4vw;
   position: relative;
   width: 100%;
}
.dflexin {
   display: flex;
   margin: auto;
   justify-content: center;
   max-width: clamp(640px, 90vw, 1400px);
   background: var(--gr1-color);
   border-radius: 100px 0 0 100px;
}
.dflexin.revflex {
   flex-direction: row-reverse;
   display: flex;
   margin: auto;
   justify-content: center;
   background: var(--gr1-color);
   border-radius: 0 100px 100px 0;
   max-width: clamp(640px, 90vw, 1400px);
}
.dflexin.revflex .textblock::before {
   content: '';
   background: var(--gr1-color);
   width: 100vw;
   position: absolute;
   top: 0;
   left: -100vw;
   display: block;
   z-index: 0;
   height: 100%;
}
#menu h3 {
    line-height: 1.3;
    letter-spacing: 0;
}
#menu h3 span{
    letter-spacing: -.12em;
    line-height: 1.3;
}
#menu .dflexin.revflex {
   background: url("/common/img/1.5x/gm_bg@1.5x.png");
}
#menu .dflexin.revflex .textblock::before {
   background: url("/common/img/1.5x/gm_bg@1.5x.png");
}
#menu .dflexin.revflex h3, #menu .dflexin.revflex p {
   color: #000;
}
#menu .dflexin.revflex p {
    margin-bottom: clamp(30px,3vw,46px);
    font-size: clamp(11px, 1.1vw, 1.7rem);
    letter-spacing: 0;
}
#menu .blanklink li {
    max-width: 181px;
    margin-right: 20px;
}

.gmhead {
   font-size: 4.4rem;
}
.gmhead small {
   font-size: 2.2rem;
}
.dflexin div {
   line-height: 1;
}
.restimg {
   width: 50%;
   line-height: 0 !important;
}
.restimg img {
   max-width: 730px;
   height: auto;
   width: 100%;
}
#restaurant {
   background: var(--primary-color);
   margin: 60px 0 50px;
}
.textblock h2 {
   color: var(--primary-color);
   font-size: clamp(30px, 2vw, 3.3rem);
}
.textblock h3 {
   line-height: 1.3;
   margin: clamp(20px, 40px, 20px) 0;
   font-size: clamp(20px, 2vw, 2.9rem);
}
#shopinfo {
    background: #fff;
    padding: 90px 0 0;
}
#shopinfo .shopariticle h2 {
   font-size: 2.9rem;
   color: var(--primary-color);
   margin-bottom: 0;
   padding: 0;
   line-height: 1;
}
#shopinfo .shopariticle ul.blanklink {
   justify-content: space-between;
}
#shopinfo .shopariticle .telnum {
   margin-bottom: 5px;
}
#shopinfo .shopname {
   font-size: 2rem;
   line-height: 1.3;
   font-weight: 700;
   margin:2px 0 10px;
    letter-spacing: 0;
}
#shopinfo .shopariticle .telnum a {
   font-size: 3rem !important;
   font-weight: 700;
}
#shopinfo .shopariticle .snslist {
   margin-left: auto;
}
.shopariticle {
   margin-bottom: 70px;
   width: 45%;
   margin-right: 10%;
}
#shopinfo .d-flex {
   flex-wrap: wrap;
   align-items: center;
}
.d-flex .shopariticle:nth-child(2n) {
   margin-right: 0;
}
#shopinfo p {
   letter-spacing: 0;
   line-height: 1;
}

#restaurant .textblock h3{
    margin: clamp(30px ,40px ,20px) 0;
}
/* medhia query 
-----------------------------------*/
@media(min-width:2000px) {
   #kv {
      margin: auto;
      justify-content: center;
      align-items: center;
   }
   .kvtext1 {
      position: absolute;
      bottom: -14%;
   }
}
@media(min-width:960px) {
   a[href^="tel:"] {
      pointer-events: none;
   }
   
}
@media (min-width: 1080px) and (max-width: 1180px) {}
@media (max-width: 1080px) {
     #menu .blanklink {
    display: flex;
    flex-wrap: wrap;
}
.shopariticle {
    margin-bottom: 70px;
    width: 46%;
    margin-right: clamp(6vw,1%,4%);
}
}
@media (max-width: 820px) {
    .shopariticle {
    margin-bottom: 70px;
    width: 49%;
    margin-right: 2%;
}
}
@media (max-width: 768px) {
   body.is-fixed {
      position: fixed;
      width: 100%;
      height: 100%;
   }
   body {
      letter-spacing: 0;
   }
   .headkv {
      margin-top: 58px;
   }
   /*sp visible hidden*/
   .navsns.sp_hidden, .sp_visible {
      display: inherit;
   }
   .navsns.sp_hidden, .sp_hidden {
      display: none;
   }
   .swiper {
      margin-left: 0 !important;
   }
   /* container  
    -----------------------------------*/
   .container {
      max-width: 100%;
      padding-left: 15px;
      padding-right: 15px;
   }
   .containerinner {
      padding: 0;
   }
   .container850 {
      margin: 0 5%;
   }
   .row {
      padding-right: 15px;
      padding-left: 15px;
   }
   .w750 {
      max-width: 830px;
      margin: auto;
      padding: 0px 15px;
   }
   footer .d-flex {
      display: none;
   }
   /* kv  
    -----------------------------------*/
   .kvcontainer {
      position: relative;
      padding: 0;
      margin-right: 0;
   }
   .kvcontainer .kvimg {
      display: flex;
      justify-content: center;
      padding-left: 0;
   }
   .kvtextbox {
      margin: -2vh 7%;
      display: flex;
      flex-direction: column;
      width: 80%;
   }
   .kvtext1 {
      position: relative;
      bottom: 0;
   }
   .kvtext1 img {
      width: clamp(27vw, 82vw, 854px);
      margin: auto;
      left: 0;
      right: 0;
   }
   .kvtext2 {
      position: relative;
      right: unset;
      top: -10px;
      left: 3px;
   }
   .kvtext2 img {
      width: clamp(19vw, 61vw, 456px);
   }
   /* indexnews  
    -----------------------------------*/
   #indexnews .d-flex {
      align-items: flex-start;
      flex-direction: column;
   }
   #indexnews dl {
      display: flex;
      font-size: 11px;
      margin-bottom: 10px;
   }
   #indexnews dl dt {
      width: 95px;
   }
   #indexnews dl dd {
      width: 100%;
      margin-left: 0;
      line-height: 1.4;
   }
   .newshead {
      margin: 0;
   }
   #indexnews h2 {
      font-size: 4.4vw;
      margin-bottom: 3px;
   }
   #indexnews {
      color: #fff;
      margin: 3vh auto;
   }
   /* restaurant  
    -----------------------------------*/
   .dflexin {
      flex-direction: column;
      border-radius: 0;
      margin: 0;
      max-width: 100%;
   }
   .restimg, .textblock {
      width: 100%;
      text-align: center;
   }
   .dflexin.revflex {
      flex-direction: column;
      border-radius: 0 70px 0 70px;
      margin: 0;
      max-width: 100%;
   }
   #menu .restimg img {
      border-radius: 0px 70px 0 70px;
   }
    
    
    /* concept  
    -----------------------------------*/
   #concept .restimg img {
      border-radius: 70px 0 0 0;
      max-width: 100%;
   }
   #concept .dflexin {
      background: none;
   }
    .gmhead {
    font-size: 3rem!important;
}
   /* shopinfo  
    -----------------------------------*/
    #shopinfo {
        margin-top:0;
    }
   #shopinfo .d-flex {
      flex-direction: column;
   }
   #shopinfo .shopariticle .d-flex {
      flex-direction: row;
   }
   .shopariticle {
      margin-bottom: clamp(30px, 3vh, 70px);
      width: 90%;
      margin-right: auto;
      margin-left: auto;
   }
   .d-flex .shopariticle:nth-child(2n) {
      margin-right: auto;
   }
   .shopariticle img {
      width: 100%;
   }
   .snslist img {
      width: 25px;
   }
   #shopinfo .shopariticle ul.blanklink {
      justify-content: space-between;
   }
   #shopinfo .shopariticle ul.blanklink li {
      width: 48%;
   }
   .blanklink a {
      width: 100%;
      font-size: clamp(1vw, 2vw, 30px);
   }
   .blanklink a::after {
      width: 3vw !important;
   }
   #shopinfo .shopariticle h2 {
      font-size: 4vw !important;
   }
   #shopinfo .shopname {
      font-size: 4vw;
      margin: 0px 0 10px;
   }
   #shopinfo p {
      font-size: 12px;
   }
   #shopinfo .shopariticle .telnum a {
      font-size: 4.7vw !important;
      font-weight: 700;
   }
   #shopinfo .shopariticle .telnum {
      margin-bottom: 10px;
      line-height: 1;
       margin-top: 3px;
   }
   #shopinfo {
      border-radius: 0 70px 0 0;
   }
   .textblock h3 {
      font-size: clamp(2rem, 2vw, 14px);
      line-height: 1.6;
   }
   .headkv {
      border-radius: 0 0 100px 0;
      background: #fff;
      padding-bottom: calc((100% / 11) * 1);
      margin-top: 58px;
   }
   .textblock {
      color: #fff;
      display: flex;
      width: 100%;
      position: relative;
      padding: 13vw 2%;
   }
   .textblock p {
      font-size: clamp(11px, 1.1vw, 1.7rem);
      line-height: 2;
   }
   .textblock p + p {
      margin-top: 0;
   }
   #menu .textblock {
      text-align: left;
   }
   #menu .textblock h3 {
      font-size: 5vw;
   }
   .restimg img {
      max-width: 100%;
      height: auto;
      width: 100%;
   }
   #shopinfo .sectionhhead {
      padding-top: 6vw;
      margin-bottom: 6vw;
      line-height: 1.3;
      font-size: clamp(16px, 5vw, 3rem);
   }
   .sectionhhead span {
      font-family: 'Shippori Mincho', serif;
      color: var(--secondary-color);
      display: block;
      font-size: clamp(1.4rem, 2vw, 4rem);
   }
    #restaurant {
    background: var(--primary-color);
    padding: 0;
}
}
@media (max-width: 480px) {
    #shopinfo {
    padding-top: 10px;
}
   :root {
      --swiper-pagination-bullet-width: 10px;
      --swiper-pagination-bullet-size: 10px;
   }
}