@charset 'UTF-8';

@font-face {
  font-family: 'Yu Gothic';
  src: local('Yu Gothic Medium'), local('YuGothic-Medium');
}
@font-face {
  font-family: 'Yu Gothic';
  src: local('Yu Gothic Bold'), local('YuGothic-Bold');
  font-weight: bold;
}

html{
  min-width: 320px;
  font-size: 62.5%;
  overflow-x: hidden;
}
body{
  font-family: 'Noto Sans JP', YuGothic, 'Yu Gothic', Meiryo, sans-serif;
/*  font-family: 'Noto Serif JP', serif;  */
/*  font-family: 'Baloo Thambi 2', cursive;  */
  font-size: 1.6rem;
  color: rgba(31, 31, 31, 1);
  background: rgba(255, 255, 255, 1);
  overflow-x: hidden;
}
_:-ms-lang(x)::-ms-backdrop, body{
  font-family: Roboto, Verdana, Meiryo, sans-serif;
}
@media screen and (min-width: 768px){body{
  font-size: 1.4rem;
  }
}
#wrapper{
  padding: 0 calc(25 / 375 * 100vw);
  margin: 0 auto;
  max-width: 1100px;
  box-sizing: content-box;
}
@media screen and (min-width: 768px){
  #wrapper{
    padding: 0 calc(50 / 1200 * 100vw);
  }
}
img, video, object, canvas{
  max-width: 100%;
  height: auto;
}
img{
  vertical-align: middle;
}
a{
  text-decoration: none;
  color: inherit;
  transition: opacity .3s;
}
a:hover{
  opacity: 0.75;
}
br.pc{
  display: none;
}
@media screen and (min-width: 768px){
  a[href^='tel:']{
    pointer-events: none;
  }
  br.pc{
    display: inline;
  }
  br.sp{
    display: none;
  }
}
section p{
  text-align: justify;
  text-justify: inter-ideograph;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
}
section p a{
  color: rgb(234, 100, 94);
}
section p a:hover{
  color: rgb(244, 149, 145);
  opacity: 1.0;
}
nav ul{
  padding: 0;
  margin: 0;
  list-style: none;
}
.clearfix::after{
  content: '';
  display: block;
  clear: both;
}
#modal_backdrop{
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.75);
}

/* wrapper>header */
#wrapper>header{
  padding-bottom: 1.0rem;
  position: relative;
}
#wrapper>header::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -10;
  width: 100vw;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: rgb(255, 252, 216);
}
#wrapper>header .title{
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  flex-direction: column-reverse;
}
#wrapper>header h1{
  margin: -0.4rem auto 0 auto;
  max-width: 27.6rem;
}
#wrapper>header .desc{
  padding: 1.3rem 0;
  margin: 0;
  position: relative;
  font-size: 1.0rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: calc(0.7 / 14 * 1em);
  text-align: center;
}
#wrapper>header .desc::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -10;
  width: 100vw;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: rgb(255, 243, 175);
}
#wrapper>header .call{
  display: none;
}
#wrapper>header .feature{
  padding: 1.8rem 0;
  margin: 0;
  list-style: none;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.43;
  letter-spacing: calc(0.7 / 14 * 1em);
  text-align: center;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
}
#wrapper>header .feature li{
  padding: .6rem 0;
  position: relative;
  border: solid 3px rgb(242, 132, 51);
  background-color: rgb(255, 255, 255);
  flex-basis: calc(154 / 325 * 100%);
  box-sizing: border-box;
}
#wrapper>header .feature li span::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: calc(50% - 3px);
  left: calc(102 / 154 * 100%);
  right: 0;
  border-top: solid 3px rgb(255, 209, 31);
  border-right: solid 3px rgb(255, 209, 31);
  -webkit-transform: translate(3px, -3px);
  transform: translate(3px, -3px);
}
#wrapper>header .feature li span::after{
  content: '';
  position: absolute;
  top: calc(50% - 3px);
  bottom: 0;
  left: 0;
  right: calc(102 / 154 * 100%);
  border-bottom: solid 3px rgb(255, 209, 31);
  border-left: solid 3px rgb(255, 209, 31);
  -webkit-transform: translate(-3px, 3px);
  transform: translate(-3px, 3px);
}
@media screen and (min-width: 768px){
  #wrapper>header>.container{
    padding: 1.8rem calc(60 / 1920 * 100vw);
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: 1920px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    box-sizing: border-box;
  }
  #wrapper>header{
    padding-bottom: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: rgb(255, 252, 216);
  }
  #wrapper>header::before{
    content: none;
  }
  #wrapper>header .title{
    -webkit-box-flex: 1;
    flex-grow: 1;
    position: relative;
  }
  #wrapper>header h1{
    margin: 0;
    max-width: 42.6rem;
  }
  #wrapper>header .desc{
    position: absolute;
    top: 0;
    font-size: 1.4rem;
    font-size: calc(14 / 1060 * 100vw);
    font-weight: normal;
    line-height: 1.3;
    text-align: left;
    padding: 0;
    margin-top: -0.15em;
    margin-left: calc(75 / 1060 * 100vw);
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
  }
  #wrapper>header .desc br.sp{
    display: inline;
  }
  #wrapper>header .desc::before{
    content: none;
  }
  #wrapper>header .call{
    padding: 0 calc(60 / 1900 * 100%);
    display: block;
  }
  #wrapper>header .phone a{
    font-family: 'Baloo Thambi 2', cursive;
    font-size: calc(38 / 1060 * 100vw);
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: calc(0.76 / 38 * 1em);
    white-space: nowrap;
  }
  #wrapper>header .phone a::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: calc(2 / 45 * 1em);
    width: calc(30 / 45 * 1em);
    height: calc(35 / 45 * 1em);
    background: url(../images/ico_phone.svg) no-repeat 50% 50%;
    background-size: contain;
  }
  #wrapper>header .web{
    padding: .5rem;
  }
  #wrapper>header .web a{
    padding: .7rem;
    display: block;
    max-width: 29.8rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: calc(0.8 / 16 * 1em);
    color: rgb(255, 255, 255);
    border-radius: 6px;
    background-color: rgb(236, 135, 131);
    text-align: center;
    transition: .3s background-color;
    box-sizing: border-box;
  }
  #wrapper>header .web a:hover{
    opacity: 1.0;
    background-color: rgb(232, 95, 89);
  }
  #wrapper>header .web a::before{
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 1.6rem;
    width: 2.35rem;
    height: 2.38rem;
    background: url(../images/ico_reserve_wh.svg) no-repeat 50% 50%;
    background-size: contain;
  }
  #wrapper>header .feature{
    padding: 0;
    font-size: 1.6rem;
    line-height: 1.5;
    flex-basis: 23.6rem;
    min-width: 19.2rem;
  }
  #wrapper>header .feature li{
    padding: 0;
    flex-basis: auto;
    border-top: solid 4px rgb(255, 209, 31);
    border-bottom: solid 4px rgb(242, 132, 51);
    border-left: solid 4px rgb(255, 209, 31);
    border-right: solid 4px rgb(242, 132, 51);
    border-radius: 50%;
    flex-basis: calc(108 / 236 * 100%);
  }
  #wrapper>header .feature li::before{
    content: '';
    display: block;
    padding-top: 100%;
  }
  #wrapper>header .feature li span{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
  }
  #wrapper>header .feature li span::before,
    #wrapper>header .feature li span::after{
      content: none;
  }
}
@media screen and (min-width: 1060px){
  #wrapper>header .desc{
    margin-left: 7.5rem;
    font-size: 1.4rem;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
  }
  #wrapper>header .desc br.sp{
    display: none;
  }
  #wrapper>header .phone a{
    font-size: 3.8rem;
  }
}

@media screen and (min-width: 1200px){
  #wrapper>header .phone a{
    margin-right: calc(30 / 38 * 1em);
  }
}

/*  globalnav  */
#drawer{
  display: none;
}
#globalnav{
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 90;
  padding: 2.5rem calc(25 / 375 * 100%);
  background-color: rgb(239, 239, 239);
  transition: .4s left,  .4s right;
  overflow: auto;
}
#globalnav::after{
  content: '';
  display: block;
  margin: 3.2rem auto 0 auto;
  width: 3.4rem;
  height: 5.2rem;
  background: url(../images/ill_mascot.svg) no-repeat 50% 50%;
  background-size: contain;
}
#drawer:not(:checked)+#globalnav{
  left: 100%;
  right: -100%;
}
#globalnav label{
  position: absolute;
  top: 0;
  right: 0;
  width: 7.0rem;
  font-size: 1.0rem;
  line-height: 6.0;
  background-color: rgb(255, 224, 222);
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  transition: .3s opacity;
}
#globalnav label:hover{
  opacity: .75;
}
#globalnav label::before{
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  padding-top: calc(22.8 / 70 * 100%);
  background: url(../images/ico_close.svg) no-repeat 50% 50%;
  background-size: contain;
}
#globalnav>ul{
  padding: 1.1rem 0;
}
#globalnav ul a{
  border-bottom: solid 1px rgb(31, 31, 31);
  transition: .3s color;
}
#globalnav ul a:hover{
  color: rgb(241, 132, 51);
  opacity: 1.0;
}
#globalnav>ul>li>a{
  display: block;
  font-size: 1.4rem;
  line-height: 3.57;
  letter-spacing: calc(0.7 / 14 * 1em);
}
#globalnav ul ul{
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  justify-content: space-between;
}
#globalnav ul ul li{
  flex-basis: calc(156 / 325 * 100%);
}
#globalnav ul ul a{
  display: block;
  font-size: 1.3rem;
  line-height: 3.57;
  letter-spacing: calc(0.7 / 14 * 1em);
  white-space: nowrap;
}
#globalnav ul ul a::before{
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin: 0 .6rem 0 .35rem;
  width: .79rem;
  height: .79rem;
  border-top: solid 1px rgb(178, 178, 178);
  border-right: solid 1px rgb(178, 178, 178);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: center top;
  transform-origin: center top;
}
#globalnav ul ul a:hover::before{
  border-color: rgb(241, 132, 51);
}
#globalnav .hour{
  padding: 1.9rem 0;
}
#globalnav .hour table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: solid 1px rgb(31, 31, 31);
  border-radius: 8px;
  box-sizing: border-box;
  overflow: hidden;
}
#globalnav .hour thead{
  background-color: rgb(255, 224, 222);
}
#globalnav .hour tbody{
  background-color: rgb(255, 255, 255);
}
#globalnav .hour tbody th, #globalnav .hour tbody td{
  border-top: solid 1px rgb(31, 31, 31);
}
#globalnav .hour thead th:not(:first-of-type), #globalnav .hour td{
  border-left: solid 1px rgb(31, 31, 31);
}
#globalnav .hour th, #globalnav .hour td{
  padding: calc(6.5 / 12 * 1em);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: calc(0.6 / 12 * 1em);
}
#globalnav .hour th:first-of-type{
  padding: 0 0 0 1em;
  text-align: left;
}
#globalnav .hour td{
  line-height: 1.67;
  text-align: center
}
#globalnav .hour table+p{
  padding: 1.0rem 0;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: calc(0.6 / 12 * 1em);
}
#globalnav .phone a{
  padding: 1.5rem;
  display: block;
  font-family: 'Baloo Thambi 2', cursive;
  font-size: 3.0rem;
  font-weight: 500;
  letter-spacing: calc(1.5 / 30 * 1em);
  text-align: center;
  color: rgb(255, 255, 255);
  border-radius: 10px;
  background-color: rgb(236, 135, 131);
  transition: .3s background-color;
}
#globalnav .phone a:hover{
  background-color: rgb(232, 95, 89);
  opacity: 1;
}
#globalnav .phone a::before{
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin-right: .2rem;
  width: 2.1rem;
  height: 2.5rem;
  background: url(../images/ico_phone_wh.svg) no-repeat 50% 50%;
  background-size: contain;
}
@media screen and (min-width: 768px){
  #globalnav{
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    z-index: auto;
    padding: 0;
    background-color: transparent;
    transition: none;
    overflow: visible;
  }
  #globalnav::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: -10;
    width: 100vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: rgb(255, 238, 144);
  }
  #globalnav::after{
    content: none;
  }
  #drawer:not(:checked)+#globalnav{
    left: auto;
    right: auto;
  }
  #globalnav label{
    display: none;
  }
  #globalnav>ul{
    padding: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
  }
  #globalnav>ul>li{
    padding: 1.0rem 0;
    position: relative;
  }
  #globalnav ul a{
    border-bottom: solid 1px rgb(31, 31, 31);
    transition: .3s color;
    border-bottom: none;
  }
  #globalnav>ul>li>a{
    padding: 0 calc(30 / 16 * 1em);
    display: block;
    font-size: calc(16 / 1024 * 100vw);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: calc(0.9 / 18 * 1em);
    text-align: center;
    border-left: solid 1px rgb(31, 31, 31);
    border-right: solid 1px rgb(31, 31, 31);
  }
  #globalnav>ul>li:first-of-type>a{
    border-left: solid 2px rgb(31, 31, 31);
  }
  #globalnav>ul>li:last-of-type>a{
    border-right: solid 2px rgb(31, 31, 31);
  }
  #globalnav>ul>li:not(:hover) ul:not(:hover){
    display: none;
  }
  #globalnav>ul>li:hover ul, #globalnav>ul ul:hover{
    -webkit-animation: .8s dropdown linear;
    animation: .8s dropdown linear;
  }
  #globalnav ul ul{
    padding: 2.6rem 0;
    margin-top: 1.0rem;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: rgba(31, 31, 31, .7);
    display: block;
  }
  #globalnav ul ul::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    width: 0;
    height: 0;
    border-bottom: 1.2rem solid rgba(31, 31, 31, .7);
    border-left: .7rem solid transparent;
    border-right: .7rem solid transparent;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  #globalnav ul ul a{
    padding: 0 3.5rem;
    position: relative;
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: calc(0.8 / 16 * 1em);
    white-space: nowrap;
    color: rgb(255, 255, 255);
    transition: .3s color;
  }
  #globalnav ul ul a::before{
    content: none;
  }
  #globalnav ul ul a:hover::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto auto auto -.75rem;
    display: block;
    width: 0;
    height: 0;
    border-top: .4rem solid transparent;
    border-bottom: .4rem solid transparent;
    border-left: .7rem solid rgb(241, 132, 51);
    border-right: none;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  #globalnav .hour{
    display: none;
  }
  #globalnav .phone{
    display: none;
  }
}
@media screen and (min-width: 1024px){
  #globalnav>ul>li>a{
    font-size: 1.6rem;
  }
}
@-webkit-keyframes dropdown{
  0%{
    max-height: 0;
    overflow: hidden;
  }
  100%{
    max-height: 100vh;
    overflow: visible;
  }
}
@keyframes dropdown{
  0%{
    max-height: 0;
    overflow: hidden;
  }
  100%{
    max-height: 100vh;
    overflow: visible;
  }
}

/*  menubar  */
#menubar{
  padding: 0;
  margin: 0;
  list-style: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: -webkit-box;
  display: flex;
  background-color: rgb(253, 224, 89);
}
#menubar li{
  flex-basis: 25%;
  display: -webkit-box;
  display: flex;
  box-sizing: border-box;
}
#menubar li:not(:first-of-type){
  border-left: solid 1px rgb(83, 83, 83);
}
#menubar li a, #menubar li label{
  padding: 1.0rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: calc(0.55 / 11 * 1em);
  box-sizing: border-box;
  transition: .3s background-color, .3s color;
}
#menubar li a:hover, #menubar li label:hover{
  color: rgb(255, 255, 255);
  background-color: rgb(254, 177, 33);
}
#menubar li label{
  cursor: pointer;
}
#menubar li:nth-of-type(1) a::before{
  content: '';
  display: block;
  width: 1.45rem;
  height: 2.7rem;
  background: url(../images/ico_visitor.svg) no-repeat 50% 10%;
  background-size: contain;
}
#menubar li:nth-of-type(2) a::before{
  content: '';
  display: block;
  width: 2.32rem;
  height: 2.7rem;
  background: url(../images/ico_reserve.svg) no-repeat 50% 0%;
  background-size: contain;
}
#menubar li:nth-of-type(3) a::before{
  content: '';
  display: block;
  width: 2.65rem;
  height: 2.7rem;
  background: url(../images/ico_schedule.svg) no-repeat 50% 0%;
  background-size: contain;
}
#menubar li label::before{
  content: '';
  display: block;
  width: 3.0rem;
  height: 2.7rem;
  background: url(../images/ico_drawer.svg) no-repeat 50% 10%;
  background-size: contain;
}
@media screen and (min-width: 768px){
  #menubar{
    display: none;
  }
}

/*  wrapper>main  */
@media screen and (min-width: 768px){
  #wrapper>main{
    padding-bottom: 3.3rem;
  }
}

/*  wrapper>footer  */
#wrapper>footer{
  padding-bottom: 6.4rem;
  position: relative;
}
@media screen and (min-width: 768px){
  #wrapper>footer{
    padding-bottom: 0;
  }
}
#wrapper>footer::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -10;
  width: 100vw;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: rgb(242, 242, 242);
}

/*  wrapper>footer intro  */
#wrapper>footer .desc{
  padding: 1.3rem 0;
  margin: 0;
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.79;
  letter-spacing: calc(0.42 / 14 * 1em);
  text-align: center;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
}
#wrapper>footer .desc::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -10;
  width: 100vw;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: rgb(255, 238, 144);
}
#wrapper>footer .feature{
  padding-top: 2.8rem;
}
#wrapper>footer .feature ul{
  padding: 0;
  margin: 0;
  list-style: none;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
}
#wrapper>footer .feature li{
  padding: .65rem;
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.43;
  letter-spacing: calc(0.7 / 14 * 1em);
  text-align: center;
  background-color: rgb(255, 255, 255);
  border: solid 3px rgb(242, 132, 51);
  box-sizing: border-box;
  flex-basis: calc(154 / 325 * 100%);
}
#wrapper>footer .feature li::before{
  content: '';
  position: absolute;
  top: 0;
  bottom: calc(50% - 3px);
  left: calc(100 / 154 * 100% - 3px);
  right: 0;
  border-top: solid 3px rgb(255, 209, 31);
  border-right: solid 3px rgb(255, 209, 31);
  -webkit-transform: translate(3px, -3px);
  transform: translate(3px, -3px);
}
#wrapper>footer .feature li::after{
  content: '';
  position: absolute;
  top: calc(50% - 3px);
  bottom: 0;
  left: 0;
  right: calc(100 / 154 * 100% - 3px);
  border-bottom: solid 3px rgb(255, 209, 31);
  border-left: solid 3px rgb(255, 209, 31);
  -webkit-transform: translate(-3px, 3px);
  transform: translate(-3px, 3px);
}
@media screen and (min-width: 768px){
  #wrapper>footer .container.intro{
    display: -webkit-box;
    display: flex;
    position: relative;
  }
  #wrapper>footer .intro::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: -10;
    width: 100vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: rgb(255, 238, 144);
  }
  #wrapper>footer .container>.desc{
    padding: .8rem 1em .8rem 0;
    position: static;
    font-size: 1.6rem;
    letter-spacing: calc(0.8 / 16 * 1em);
    text-align: left;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    -webkit-box-flex: 1;
    flex-grow: 1;
    box-sizing: border-box;
  }
  #wrapper>footer .desc::before{
    content: none;
  }
  #wrapper>footer .container>.feature{
    padding-top: 0;
    flex-basis: calc(235 / 1100 * 100%);
    position: relative;
    min-width: 19.2rem;
  }
  #wrapper>footer .feature ul{
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  #wrapper>footer .feature li{
    padding: 1.3rem;
    flex-basis: calc(107 / 235 * 100%);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    border-top: solid 4px rgb(255, 209, 31);
    border-bottom: solid 4px rgb(242, 132, 51);
    border-left: solid 4px rgb(255, 209, 31);
    border-right: solid 4px rgb(242, 132, 51);
    border-radius: 50%;
  }
  #wrapper>footer .feature li::before{
    content: '';
    display: block;
    padding-top: 100%;
    position: static;
    border: none;
    -webkit-transform: none;
    transform: none;
  }
  #wrapper>footer .feature li::after{
    content: none;
  }
  #wrapper>footer .feature li span{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
  }
}

/*  wrapper>footer guide  */
#wrapper>footer .guide{
  position: relative;
}
@media screen and (min-width: 768px){
  #wrapper>footer .guide{
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    flex-wrap: wrap;
		padding-top: 30px;
  }
  #wrapper>footer .guide>.contact{
    -webkit-box-flex: 1;
    flex-grow: 1;
  }
  #wrapper>footer .guide>.hour{
    flex-basis: calc(544 / 1100 * 100%);
    padding-top: 1.4rem;
  }
}

/*  wrapper>footer guide contact  */
#wrapper>footer .contact{
  padding: 1.8rem 0 3.0rem 0;
}
#wrapper>footer .contact .image{
  margin: 0 auto;
  max-width: 28.5rem;
}
#wrapper>footer .contact .addr{
  padding: .7rem 0;
  margin: 0;
  font-size: 1.4rem;
  line-height: 2.14;
  letter-spacing: calc(0.7 / 14 * 1em);
  text-align: center;
}
#wrapper>footer .contact .phone{
  margin: 2.3rem 0 0 0;
}
#wrapper>footer .contact .phone a{
  padding: 1.5rem;
  display: block;
  font-family: 'Baloo Thambi 2', cursive;
  font-size: 3.0rem;
  font-weight: 500;
  letter-spacing: calc(1.5 / 30 * 1em);
  border-radius: 10px;
  color: rgb(255, 255, 255);
  text-align: center;
  background-color: rgb(254, 177, 33);
}
#wrapper>footer .contact .phone a::before{
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin-right: .2rem;
  width: 2.05rem;
  height: 2.48rem;
  background: url(../images/ico_phone_wh.svg) no-repeat 50% 50%;
  background-size: contain;
}
#wrapper>footer .contact .web{
  margin: 2.3rem 0 0 0;
}
#wrapper>footer .contact .web a{
  padding: 1.4rem;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: calc(0.9 / 18 * 1em);
  border-radius: 10px;
  color: rgb(255, 255, 255);
  text-align: center;
  background-color: rgb(242, 132, 51);
  transition: .3s background-color;
}
#wrapper>footer .contact .web a:hover{
  background-color: rgb(242, 191, 51);
  opacity: 1;
}
#wrapper>footer .contact .web a::before{
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin-right: 1.9rem;
  width: 3.52rem;
  height: 3.58rem;
  background: url(../images/ico_reserve_wh.svg) no-repeat 50% 50%;
  background-size: contain;
}
@media screen and (min-width: 768px){
  #wrapper>footer .contact{
    padding: 2.0rem 0 2.0rem 0;
  }
  #wrapper>footer .contact .image{
    margin: 0 calc(37 / 556 * 100%) 0 0;
    max-width: 46.0rem;
  }
  #wrapper>footer .contact .call{
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
  }
  #wrapper>footer .contact .addr{
    padding: 1.7rem 0;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: left;
  }
  #wrapper>footer .contact .phone{
    margin: 0;
  }
  #wrapper>footer .contact .phone a{
    padding: 0;
    font-size: calc(48 / 1200 * 100vw);
    letter-spacing: calc(0.96 / 48 * 1em);
    text-align: left;
    color: rgb(31, 31, 31);
    border-radius: 0;
    background-color: transparent;
  }
  #wrapper>footer .contact .phone a::before{
    margin-right: calc(6 / 48 * 1em);
    width: calc(30 / 48 * 1em);
    height: calc(35 / 48 * 1em);
    background-image: url(../images/ico_phone.svg);
  }
  #wrapper>footer .contact .web{
    margin: 0 calc(37 / 556 * 100%);
    position: relative;
    width: calc(119 / 556 * 100%);
    min-width: 9.0rem;
  }
  #wrapper>footer .contact .web::before{
    content: '';
    display: block;
    padding-top: 100%;
  }
  #wrapper>footer .contact .web a{
    padding: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    font-size: 1.6rem;
    line-height: 2.0;
    color: rgb(31, 31, 31);
    border-radius: 50%;
    background-color: transparent;
    background-color: rgb(253, 224, 89);
  }
  #wrapper>footer .contact .web a::before{
    margin-right: 0;
    width: 2.75rem;
    height: 2.8rem;
    background-image: url(../images/ico_reserve.svg);
  }
}
@media screen and (min-width: 1200px){
  #wrapper>footer .contact .phone a{
    font-size: 4.8rem;
  }
}

/*  wrapper>footer hour  */
#wrapper>footer .hour table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: solid 1px rgb(31, 31, 31);
  border-radius: 8px;
  box-sizing: border-box;
  overflow: hidden;
}
#wrapper>footer .hour thead{
  background-color: rgb(255, 224, 222);
}
#wrapper>footer .hour tbody{
  background-color: rgb(255, 255, 255);
}
#wrapper>footer .hour tbody th, #wrapper>footer .hour tbody td{
  border-top: solid 1px rgb(31, 31, 31);
}
#wrapper>footer .hour thead th:not(:first-of-type), #wrapper>footer .hour td{
  border-left: solid 1px rgb(31, 31, 31);
}
#wrapper>footer .hour th, #wrapper>footer .hour td{
  padding: calc(6.5 / 12 * 1em);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: calc(0.6 / 12 * 1em);
}
#wrapper>footer .hour th:first-of-type{
  padding: 0 0 0 1em;
  text-align: left;
}
#wrapper>footer .hour td{
  line-height: 1.67;
  text-align: center
}
#wrapper>footer .hour table+p{
  padding: 1.0rem 0;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: calc(0.6 / 12 * 1em);
}
#wrapper>footer .hour small{
  display: block;
  font-family: 'Baloo Thambi 2', cursive;
  font-size: 1.0rem;
  line-height: 3;
  letter-spacing: calc(0.5 / 10 * 1em);
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px){
  #wrapper>footer .hour th, #wrapper>footer .hour td{
    font-size: 1.6rem;
  }
  #wrapper>footer .hour table+p{
    padding-bottom: 0;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: calc(0.7 / 14 * 1em);
  }
  #wrapper>footer .hour small{
    padding-bottom: 3.5rem;
    padding-left: calc(30 / 1920 * 100vw);
    left: calc(50% - 50vw);
    right: auto;
    font-size: 1.2rem;
    line-height: 2.5;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
  }
}

/*  wrapper>footer sitemap  */
#wrapper>footer .sitemap{
  padding-top: 2.5rem;
  padding-bottom: 4.5rem;
  flex-basis: 100%;
}
@media screen and (min-width: 768px){
  #wrapper>footer .sitemap{
    padding-top: 0;
  }
}
#wrapper>footer .sitemap ul{
  padding: 0;
  margin: 0;
  list-style: none;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.4rem;
}
#wrapper>footer .sitemap>ul{
  margin: 0 0 0 -1em;
}
#wrapper>footer .sitemap ul a{
  padding: 0 1em;
  margin: 1.0rem 0;
  display: block;
  font-weight: 500;
  letter-spacing: calc(0.7 / 14 * 1em);
  border-right: solid 1px rgb(31, 31, 31);
}
#wrapper>footer .sitemap ul ul a{
  font-weight: normal;
}
#wrapper>footer .sitemap>ul>li:last-of-type{
  flex-basis: 100%;
}
#wrapper>footer .sitemap>ul>li:last-of-type>a{
  border-right: none;
  white-space: nowrap;
}
@media screen and (min-width: 768px){
  #wrapper>footer .sitemap>ul>li:last-of-type{
    display: -webkit-box;
    display: flex;
  }
  #wrapper>footer .sitemap>ul>li:last-of-type>a{
    border-right: solid 1px rgb(31, 31, 31);
  }
}

/*  wrapper>footer map  */
#wrapper>footer .map{
  position: relative;
  left: 50%;
  width: 100vw;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  overflow: hidden;
}
#wrapper>footer .map::before{
  content: '';
  display: block;
  padding-top: calc(363 / 375 * 100vw);
}
#wrapper>footer .map iframe{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px){
  #wrapper>footer .map::before{
    padding-top: calc(587 / 1920 * 100vw);
  }
}

/* fadein @common.js */
.fadein{
  transition : opacity 1s ease-out, -webkit-transform 1s ease-out;
  transition : opacity 1s ease-out, transform 1s ease-out;
  transition : opacity 1s ease-out, transform 1s ease-out, -webkit-transform 1s ease-out;
}
.fadein.toleft, .fadein.toright{
  transition-delay: .4s;
}
.fadein.outside{
  opacity : 0.001;
}
.fadein.outside.toleft{
  -webkit-transform : translate(160px, 0);
  transform : translate(160px, 0);
}
.fadein.outside.toright{
  -webkit-transform : translate(-160px, 0);
  transform : translate(-160px, 0);
}
.fadein.outside.totop{
  -webkit-transform : translate(0, 80px);
  transform : translate(0, 80px);
}

/* gotop @common.js */
#gotop{
  position: fixed;
  bottom: 0;
  right: calc(25 / 375 * 100vw + 50% - 50vw);
  z-index: 5;
  -webkit-transform: translateY(-9.0rem);
  transform: translateY(-9.0rem);
  transition: .3s transform, .3s ease-out;
}
#gotop.hidden{
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}
#gotop.bottom{
  position: absolute;
  bottom: -11.9rem;
}
#gotop a{
  display: block;
  width: 5.8rem;
  border-radius: 50%;
  white-space: nowrap;
  overflow: hidden;
  background-color: rgb(241, 132, 51);
  transition: .3s background-color;
}
#gotop a:hover{
  background-color: rgb(255, 181, 64);
  opacity: 1;
}
#gotop a::before{
  content: '';
  padding-top: 100%;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  background:  url(../images/ico_gotop.svg) no-repeat;
  background-position: 50% 50%;
  transition: background-position .2s;
}
@media screen and (min-width: 768px){
  #gotop{
    right: calc(54 / 1920 * 100vw + 50% - 50vw);
    -webkit-transform: translateY(-4.0rem);
    transform: translateY(-4.0rem);
  }
  #gotop.bottom{
    bottom: 0;
  }
}

/* media queries */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 1.5dppx){
}
@media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 3dppx){
}
@media screen and (min-width: 480px){
}
@media screen and (min-width: 768px){
}
@media screen and (min-width: 1024px){
}

/*  ie hack  */
_:-ms-lang(x)::-ms-backdrop, .selector{
}

/* 2021.11.24 バナー追加 */
.banner-area{
  margin-top: 40px;
}
.banner-area .wrapper{
  display: flex;
  margin-bottom: 5rem;
}
.banner-area .wrapper img{
width: 98%;
margin: 0 auto;
display: block;
}

/* 2021.11.24 */
@media screen and (max-width: 767px){
.banner-area .wrapper{
  flex-direction: column;
}

.banner-area .wrapper img{
  width: 100%;
  margin: 0.2em auto;
}
}
