@charset "UTF-8";
/*==========================

	common

============================*/
html{
  font-size: 62.5%;
  overflow-x: hidden;
  height: 100vh;
}

body{
	color:#000000;
	font-family: 'Noto Sans JP',"Hiragino Kaku Gothic ProN","Hiragino Sans","ヒラギノ角ゴシック",Meiryo,sans-serif;
	/*font-size: clamp(1.4rem, 1vw, 100px);*/
	font-size: 1.6rem;
  width: 100vw;
	line-height: 1.2;
	position: relative;
	z-index:1;
  -webkit-text-size-adjust: 100%;
}



body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

img{
  max-width: 100%;
}


img, svg {
    height: auto;
    min-height: 1px;
}

a{
  color: #231815;
  text-decoration: none;
  transition: all 0.2s;
  outline: none;
}

a img{
  transition: all 0.2s;
}

p {
  word-break: break-all;
  word-wrap: break-word;
  line-height:2;
}

/*---------------------------------
loading
---------------------------------*/
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #ffffff;
  z-index: 10000;
}

.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.loader {
    /* margin: 60px auto; */
    font-size: 4px;
    position: absolute;
    text-indent: -9999em;
    border-top: 6px solid #ccc;
    border-right: 6px solid #ccc;
    border-bottom: 6px solid #ccc;
    border-left: 6px solid #5591ca;;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    right: 0;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}



/******************

  hover

******************/

a:hover,button:hover {
    opacity: 0.5;
    transition: all 0.2s;
}



/*==========================

	globalHeader

============================*/

#globalHeader {
  position: fixed;
  width: 100%;
  z-index: 99;
  background-color: #000;
  top: 0;
  height: 100px;
  /*border-bottom: 1px solid #3f4041;*/
}

#globalHeader.addbg{
  background-color: #fff;
}

.globalHeaderInner{
  max-width: 1720px;
  display: flex;
  margin: 0 auto;
  padding: 0;
  justify-content: space-between;
  position: relative;
  align-items: center;
  width: 90%;
}


#globalLogo{
	width: 17%;
  min-width: 300px;
}

#globalNav{
	width: 50%;
}

#globalNavMenu{
	display: flex;
	justify-content: space-between;
}

#globalNavMenu li{
	font-family: 'Teko', sans-serif;
	letter-spacing: 2px;
  font-size: 18px;
}

#globalNavMenu li a {
    color: #fff;
    position: relative;
    height: 100px;
    display: flex;
    align-items: center;
}

#globalHeader.addbg #globalNavMenu li a {
  color: #000;
}  

#globalNavMenu li a:hover{
	opacity: 1;
}


#globalNavMenu li a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 3px;
  background:#1b91cc;
  bottom: 0;
  left:0;
  right: 0;
  margin: auto;
  transition: width 0.3s;
  z-index: 2;
}



#globalNavMenu li a.now::after,
#globalNavMenu li a:hover::after{
	width: 100%;
}	


.teko{
	font-family: 'Teko', sans-serif;
  margin-bottom: -10px;
}


.roboto{
  font-family: 'Roboto', sans-serif;
  font-weight: bold;
}


.globalReservationButton {
    display: flex;
    border: 1px solid #fff;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
    color: #fff;
    width: 15%;
    min-width: 250px;
    font-size: 1.2rem;
    text-align: center;
    line-height: 1;
    padding: 10px 0;
    flex-wrap: wrap;
}

.globalReservationButton strong{
	display: block;
	font-size: 2.4rem;
  letter-spacing: 2px;
  margin-bottom: 0;
}

.globalReservationButton img{
	width: 12%;
	margin-right: 10px;
  min-width: 30px;
}

#globalHeader.addbg .globalReservationButton{
  color: #ffffff;
  background-color: #1b91cc;
}




/*---------------------------------
footer
---------------------------------*/

#globalFooter{
  background: #000;
  color: #fff;
  font-size: 1.4rem;
  position: relative;
}

.globalFooterInner{
  display: flex;
  justify-content: space-between;
  padding:100px 0;
  align-items: center;
}

@media screen and (max-width: 1260px) {
  .globalFooterInner{
    max-width: 80vw!important;
  }  
}  

.footerInnerCont_1{
  width: 140px;
}

.footContTitle{
  display: block;
  text-align: center;
  margin-bottom: 20px;
}

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

.footerSns li{
  width: 50px;
}


.footerLogo{
  width: 310px;
  display: block;
}



.footerList{
  margin-bottom: 20px;
}

.footerList li{
	margin-bottom: 10px;
}

.footerList li a{
  color: #fff;
}


.btnPageTop{
  position: absolute;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;  
  text-orientation: sideways;
  text-align: center;
  right: 100px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.btnPageTop a{
  color: #fff;
  position: relative;
}

.btnPageTop a::before {
    content: "";
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: -40px;
    bottom: 0;
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: 10px;
    height: 10px;
    border: 3px solid #fff;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-300%) rotate(-45deg);
}


@media screen and (max-width: 1420px) {
  .btnPageTop{
    right: 2vw;
  }  
}  



/*---------------------------------
layout
---------------------------------*/

#globalCont{
  max-width: 1920px;
  margin: 0 auto;
  padding-top: 100px;
}

.innerCont{
  max-width: 1200px;
  margin: 0 auto;
}


.contBox{
  margin: 150px auto;
}


.pageCont{
  max-width: 1920px;
  margin: 0 auto;
}

@media screen and (max-width: 1200px) {

  .innerCont,
  .pageCont{
    padding:0 20px;
  }

}  


/*---------------------------------
title
---------------------------------*/

.contTitle {
    font-size: 3.6rem;
    text-align: center;
    position: relative;
    margin: 0 auto 100px;
    padding-bottom: 20px;
    line-height: 1.5;
    font-weight: bold;
}

.contTitle span{
  display: block;
  font-size: 1.8rem;
}


.contTitle::after{
  content: "";
  position: absolute;
  width: 50px;
  height: 10px;
  background: #1b91cc;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}  


/*---------------------------------
btn
---------------------------------*/

.btnCommon{
	border-radius: 50px;
	background:#1b91cc;
	display: block;
	width: 240px;
  max-width: 100%;
	height: 60px;
	line-height: 60px;
	color: #fff;
	text-align: center;
	position: relative;
}

.btnCommon .icon_blank{
	width: 16px;
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 10%;
}

.btnCommon.center{
	margin: 0 auto;
}

.anchor{
  margin-top: -100px;
  padding-top: 100px;
}

.only_sp{ display: none !important; }






@media screen and (max-width: 1024px) and (orientation: portrait) {
  html {
    font-size: 100%;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
  }
}



/* Media Queries ================================================== */
/*896*/
@media screen and (max-width: 896px) {


  .only_pc{ display: none !important; }
  .only_sp{ display: block !important; }

  body {
    font-size: 1.6rem;
    width: 100vw;
    overflow-x: hidden;
  }

  /*  
  body.fixed {
      position: fixed;
      width: 100%;
      height: 100%;
  }
  */

  body.fixed {
    position: relative;
    width: auto;
    height: auto;
  }

  p {
    line-height: 1.5;
  }


  /*==========================

    globalHeader

  ============================*/

  #globalHeader {
    height: 90px;
  }

  .globalHeaderInner{
    width: calc( 100vw - 50px);
    height: 100%;
  }


  #globalLogo{
    width: 55%;
    min-width: initial;
  }


  .btnMenu {
    width: 25px;
    height: 20px;
    display: block;
    position: relative;
    font-size: 1.2rem;
  }

  .btnMenu span {
    position: absolute;
    width: 100%;
    height: 3px;
    left: 0;
    background-color: #fff;
    transition: all 0.2s ease-out;
  }


  #globalHeader.addbg .btnMenu span{
    background-color: #000;
  }


  .btnMenu span:nth-of-type(1) {
    top: 0;
  }

  .btnMenu span:nth-of-type(2) {
    top: 8px;
    width: 50%;
  }

  .btnMenu span:nth-of-type(3) {
    top: 16px;
  }


  .btnMenu.action span:nth-of-type(1) {
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      top: 8px;
  }

  .btnMenu.action span:nth-of-type(2){
    display: none;
  }

  .btnMenu.action span:nth-of-type(3){
      transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      top: 8px;
  }



/*---------------------------------
globalNavSp
---------------------------------*/

  #globalNavSp {
    transition: all 0.2s  ease-out;
    position: fixed;
    width: 100%;
    top: 90px;
    z-index: -1;
    opacity: 0;
    /*height: calc(100vh - 90px);*/
    height: 100vh;
    background: #000;
    color: #fff;
    border-top: 1px solid #343434;
  }


  #globalNavSp.action{
    /*right: 0;*/
    z-index: 998;
    opacity: 1;
  }

  #globalNavSpWrap {
    height: calc(100vh - 90px);
    /*height: 90vh;*/  
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 20px 20px 100px;    
  }  




  #globalNavMenuSp{
    margin-bottom: 20px;
  }


  #globalNavMenuSp li{
    font-family: 'Teko', sans-serif;
    letter-spacing: 2px;
    font-size: 3rem;
    margin-bottom: 10px;
    
  }

  #globalNavMenuSp li a {
      color: #fff;
  }




  .globalReservationButton {
      width: 100%;
      font-size: 1.2rem;
      margin-bottom: 20px;
  }

  .globalReservationButton strong{
    color: #1b91cc;
    font-size: 3rem;
  }

  .globalReservationButton img{
    margin-right: 20px;
  }

  .sns_sp{
    margin-bottom: 20px;
  }

  .sns_sp img{
    max-width: 50px;
    margin: 10px;
  }

  .navListSp a{
    color: #fff;
    
  }

  .navListSp li{
    margin-bottom: 10px;
  }


  /*---------------------------------
  layout
  ---------------------------------*/

  #globalCont{
    padding-top: 90px;
  }

  .innerCont{
    margin: 0 auto;
  }

  .itemContBox {
    margin-bottom: 50px;
  }

  .pageCont{
    margin: 60px auto;
  }




  .contTitle {
      font-size: 2.5rem;
      margin: 0 auto 100px;
      top: 50px;
  }

  .contTitle span{
    font-size: 1.2rem;
  }






/*---------------------------------
footer
---------------------------------*/


  .globalFooterInner{
    display: block;
    padding:30px 20px;
    max-width: initial!important;
  }


 .footerLogo{
    width: 50%;
    margin: 0 auto 24px;
  }


  .btnPageTopSp {
    position: relative;
    margin: 0 auto 24px;
    text-align: center;
  }


  .btnPageTopSp a{
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: 0 10px;
    border-top: 4px solid #fff;
    border-left: 4px solid #fff;
    transform: rotate(45deg);
  }



  .footerInnerCont_1{
    width: 100%;
  }


  .footContTitle{
    margin-bottom: 10px;
  }


  .footerSns {
      display: flex;
      justify-content: space-between;
      margin: 0 auto 24px;
      flex-flow: row-reverse;
      width: 44%;
  }

  .footerSns li{
    width: 60px;
    margin: 0 10px;
  }


  .footerList{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }


  .footerList li a{
    padding-right: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    display: block;
  }

  .footerList li:first-child a{
    border-right: 1px solid #fff;
  }


  .copyright{
    text-align: center;
    font-size: 1.2rem;
    display: block;
  }  

  .anchor{
    margin-top: -90px!important;
    padding-top: 90px!important;
  }

 
}

@media screen and (max-width: 431px) {
  html {
    font-size: 62.5%;
  }  
}  