@charset "UTF-8";
.animation {
  -webkit-transition: all 1s;
  transition: all 1s;
  user-select: none;
  /* CSS3 */
  -moz-user-select: none;
  /* Firefox */
  -webkit-user-select: none;
  /* Safari、Chromeなど */
  -ms-user-select: none;
  /* IE10かららしい */ }

/*-------------------------
汎用css
---------------------------*/
/* width */
.w900 {
  width: 100%;
  margin: 0 auto; }

.w1000 {
  width: 100%;
  max-width: 1040px;
  padding: 0 20px;
  margin: 0 auto; }

.w1400 {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto; }

.w900 {
  width: 100%;
  max-width: 900px;
  margin: 0 auto; }
  .w900 img {
    max-width: 100%; }
  @media screen and (max-width: 640px) {
    .w900 {
      padding: 0 20px; } }

/* flex box */
.flex {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 -50px -50px; }

.flex a,
.flex img {
  display: block;
  width: 100%; }

.reverse {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.col2 > * {
  width: 50%;
  padding: 0 0 50px 50px; }

@media screen and (max-width: 640px) {
  .col2 > * {
    width: 100%; } }

/* list */
.list01 {
  position: relative;
  overflow: hidden; }

.list01:after {
  content: "";
  background-color: #323232;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 1em;
  left: 0;
  z-index: -1; }

.list01 dt {
  display: inline-block;
  background-color: #000;
  padding-right: .5em;
  float: left; }

.list01 dt span {
  font-size: 128%; }

.list01 dd:nth-child(2) {
  display: inline-block;
  background-color: #000;
  font-size: 128%;
  padding-left: .5em;
  margin: 0 0 0 auto;
  float: right; }

.list01 dd:nth-child(2) span {
  font-size: 78%; }

.list01 dd:nth-child(3) {
  padding-top: 1em;
  clear: both; }

.list01 dd:nth-child(3) span {
  display: block;
  font-size: 85%; }

/* text */
.text-center {
  text-align: center;
  padding: 0 20px; }

.text-left {
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
  padding-left: 200px; }

@media screen and (max-width: 640px) {
  .text-left {
    background-position: center 4em;
    background-size: cover;
    padding: 0 20px 20px; } }

.text-right {
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain; }

@media screen and (max-width: 640px) {
  .text-right {
    background-position: center 4em;
    background-size: cover; } }

.text-right > div {
  max-width: 530px;
  padding: 0 20px;
  margin: 0 0 0 auto; }

@media screen and (max-width: 640px) {
  .text-right > div {
    padding: 0 20px 20px; } }

.text01 span {
  color: #000; }

.fs85 {
  font-size: 85%; }

.fs92 {
  font-size: 92%; }

.fs114 {
  font-size: 114%; }

.fs142 {
  font-size: 142%; }

.fs200 {
  font-size: 200%; }
  @media screen and (max-width: 640px) {
    .fs200 {
      font-size: 140%; } }

.fs214 {
  font-size: 214%; }

.fs214w {
  color: #fff;
  font-size: 214%; 
  text-align: center;
}

.lh3 {
  line-height: 3; }

/* anchor */
.anchor01 {
  display: inline-block;
  background-color: #000;
  color: #fff;
  font-size: 100%;
  border: 1px solid #000;
  padding: 20px .5em;
  position: relative;
  margin-bottom: 85px;
  min-width: 290px; }
  @media screen and (max-width: 640px) {
    .anchor01 {
      font-size: 120%;
      padding: 6px .5em;
      min-width: 100%; } }

.anchor01:hover {
  background-color: #000;
  color: #fff; }

/* template01 */
/* margin */
.mt1 {
  margin-top: 1em !important; }

.mt2 {
  margin-top: 2em !important; }

.mt3 {
  margin-top: 3em !important; }

.mt4 {
  margin-top: 4em !important; }

.mt5 {
  margin-top: 5em !important; }

.mt6 {
  margin-top: 6em !important; }

.mt7 {
  margin-top: 7em !important; }
  @media screen and (max-width: 640px) {
    .mt7 {
      margin-top: 3.5em !important; } }

.mt100 {
  margin-top: 100px !important; }

.mt200 {
  margin-top: 200px !important; }

/* sway animation */
/* inView */
.setView > * {
  opacity: 0;
  -webkit-transition: opacity 1s, transform 1s cubic-bezier(0.57, 1.8, 0.54, 0.73);
  transition: opacity 1s, transform 1s cubic-bezier(0.57, 1.8, 0.54, 0.73);
  -webkit-transform: translateY(calc(100vh / 10));
  transform: translateY(calc(100vh / 10)); }

.setView > *.inView {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0); }

@media screen and (max-width: 640px) {
  .setView > * {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

/*-------------------------
header
---------------------------*/
header {
  position: relative; }

.tophead{
	background-image: url("../img/home/tsubaki_top_back2019_01.jpg");
	background-position: center ;
	background-size: cover ;
	width: 100% !important;
	max-width: none !important ;
	height: 750px !important;
}

/* navi */
header dl {
  width: 200px;
  padding: 20px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10; }

header dl a,
header dl img {
  display: block;
  width: 100%; }

header dt {
  width: 30px;
  cursor: pointer; }

header dd {
  background-color: rgba(255, 255, 255, 0.85);
  height: 100vh;
  font-size: 128%;
  padding: 76px 20px 0;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: .5s;
  transition: .5s;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%); }
  header dd a {
    -webkit-transition: all 1s;
    transition: all 1s;
    user-select: none;
    /* CSS3 */
    -moz-user-select: none;
    /* Firefox */
    -webkit-user-select: none;
    /* Safari、Chromeなど */
    -ms-user-select: none;
    /* IE10かららしい */ }
  header dd a:hover {
    opacity: 0.4; }

header dd.open {
  -webkit-transform: translateX(0);
  transform: translateX(0); }

@media screen and (max-width: 640px) {
  header dl {
    width: 100%; }
  header dd {
    width: 100%;
    padding: 76px 25% 0; }
  #profile dl dd span {
    position: relative;
    right: 0;
    bottom: auto;
    padding-top: 20px;
    text-align: right;
    display: block;
    width: 100%; }
    #profile dl dd span img {
      max-width: 200px;
      display: inline-block; } }

.nav01 li + li {
  margin-top: .5em; }

.nav01 a:hover {
  text-decoration: underline; }

.nav02 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 1em; }

.nav02 li {
  width: 100%;
  margin-bottom: .5em; }

.nav02 li:first-child {
  width: 100%;
  margin-bottom: 2em; }

.nav02 li:nth-of-type(2) {
  display: none; }

.nav02 a:hover {
  opacity: .7; }

.close {
  width: 30px;
  position: absolute;
  top: 20px;
  left: 20px;
  cursor: pointer; }

/*-------------------------
reservation
---------------------------*/
#reservation {
  background-color: #9d9d9d;
  text-align: center;
  padding: 100px 20px; }

#reservation h2 {
  color: #fff; }

#reservation img {
  width: 100%;
  max-width: 963px; }

/*-------------------------
footer
---------------------------*/
footer {
  background-color: #fff;
  text-align: center;
}

/*-------------------------
banner
---------------------------*/
.banner01 {
  width: 100%;
  margin: 0 auto; }

.banner01 {
  width: 100%;
  max-width: 900px;
  margin: 0 auto; }
  @media screen and (max-width: 640px) {
    .banner01 {
      padding: 0 20px; } }

.banner01 ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 -50px -50px; }

.banner01 li {
  width: 50%;
  padding: 0 0 50px 50px; }

.banner01 a,
.banner01 img {
  display: block;
  width: 100%; }

.banner01 a:hover {
  opacity: .7; }

.banner03 img {
  width: none;
}
.banner04 {
  background-color: black;
  margin-bottom: 200px;
}
.banner04 img {
  width: none;
}

.bosssitelink {
  border: 1px solid #000;
  border-radius: 0;
  background: #fff;
  padding: 20px;
  text-align: center;
}

.bosssitelink:hover {
  color: #fff;
  background: #000;
}
.award{
  color: #000;
  text-align: center;
  background-color: #fff;
  padding: 20px!important;
}
.award img{
  max-width: 200px;
}

@media screen and (max-width: 640px) {
  .banner01 li {
    width: 100%; } 
  .banner03 img {
    width: 100%;
  }
  .banner04 img {
    width: 100%;
  }

}

@media screen and (max-width: 640px) {
  p.fs200 {
    font-size: 5vw; } }

@media screen and (max-width: 640px) {
  p.lh3 {
    font-size: 3vw; } }
