@charset "UTF-8";
html, body {
  font-size: 62.5%;
  height: 100%;
}

body {
  font-family: "Helvetica Neue", "Helvetica", "Arial", "Geneva,sans-serif", "Noto Sans JP", "Meiryo", "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Osaka", sans-serif;
  font-size: 1.6rem;
  color: #ffffff;
  background-color: #000000;
  line-height: 1;
  margin: 0;
  padding: 0;
}

/*spで非表示*/
.dis-none {
  display: none;
}
@media screen and (min-width: 768px) {
  .dis-none {
    display: block;
  }
}

/* ======================================
TEXT関連
======================================*/
a {
  color: #ffffff;
  text-decoration: underline;
  transition: all 0.4s ease-out;
  -o-transition: all 0.4s ease-out; /* Opera */
  -moz-transition: all 0.4s ease-out; /* Firefox */
  -webkit-transition: all 0.4s ease-out; /* GoogleChrome, Safari */
  -ms-transition: all 0.4s ease-out; /* IE */
}
a:hover {
  color: #4d4d4d;
  /*text-decoration: underline;*/
}

a img {
  transition: all 0.4s ease-out;
  -o-transition: all 0.4s ease-out; /* Opera */
  -moz-transition: all 0.4s ease-out; /* Firefox */
  -webkit-transition: all 0.4s ease-out; /* GoogleChrome, Safari */
  -ms-transition: all 0.4s ease-out; /* IE */
}
/*テキスト改行*/
@media screen and (min-width: 768px) {
  .br_sp {
    display: none;
  }
}

@media screen and (min-width: 880px) {
  .br_tab {
    display: none;
  }
}

.br_pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .br_pc {
    display: block;
  }
}

/* ======================================
CORK
======================================*/
.cork__menu {
  position: relative;
  margin: 0 auto;
  width: 800px;
}

/* ======================================
header
======================================*/
/*-----------header----------*/
#header {
  background-size: cover;
  background-position: center;
  padding: 80px 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #header {
    padding: 120px 0 80px;
    /*min-width:1040px;*/
  }
}

.header-logo {
  position: relative;
  text-align: center;
  margin: 0 auto;
  max-width: 140px;
}
@media screen and (min-width: 768px) {
  .header-logo {
    max-width: 100px;
  }
}
.header-logo img {
  width: 100%;
  height: 100%;
}

/*-----------header----------*/
.header {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  /*padding: 22px 20px;*/
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .header {
    /*padding: 22px 40px;*/
    background: #000000;
  }
}
.navi {
  position: absolute;
  width: 100px;
  top: 20px;
  right: 15px;
}
@media screen and (min-width: 768px) {
  .navi {
    right: 40px;
  }
}
.navi__btn {
  position: relative;
  box-sizing: border-box;
}
.navi__btn-sns {
  display: none;
  position: relative;
  letter-spacing: -0.5em;
}
@media screen and (min-width: 768px) {
  .navi__btn-sns {
    display: block;
  }
}
.navi__btn-sns li {
  display: inline-block;
  letter-spacing: normal;
  width: 30px;
  height: 30px;
  padding-left: 20px;
}
.navi__btn-sns li img {
  width: 100%;
  height: 100%;
}
.navi__btn-menu {
  position: fixed;
  width: 34px;
  height: 34px;
  top: 18px;
  right: 13px;
  z-index: 10000;
}
@media screen and (min-width: 768px) {
  .navi__btn-menu {
    width: 34px;
    height: 34px;
    right: 38px;
  }
}

/* ======================================
body
======================================*/
.photo-bar {
  width: 100%;
  background-size: cover;
  background-position: center;
  height: 140px;
  padding: 60px 0 40px;
}
@media screen and (min-width: 768px) {
  .photo-bar {
    /*min-width:1040px;*/
    height: 360px;
  }
}

.btn-scroll {
  position: absolute;
  width: 46px;
  height: 60px;
  z-index: 1000002;
  bottom: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%); /* Safari用 */
  transform: translateX(-50%);
  text-align: center;
}
.btn-scroll a {
  color: #ffffff;
  font-size: 1.4rem;
  font-family: nimbus-sans, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  text-decoration: none;
}
.btn-scroll a:hover {
  color: #9A0008;
}
.btn-scroll a > i {
  font-size: 2rem;
  padding-top: 10px;
}

.top-main {
  display: block;
  position: relative;
  background: #000000;
  box-sizing: border-box;
  text-align: center;
  width: 100%;
  padding: 80px 25px 100px 25px;
  /*top: -90px;*/
}
@media screen and (min-width: 768px) {
  .top-main {
    /*border-bottom: 1px solid #ffffff;*/
    padding: 140px 80px 140px 80px;
  }
}
.top-main__title {
  position: relative;
  color: #ffffff;
  font-family: "Muli", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-align: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 0px 40px 0px;
}
@media screen and (min-width: 768px) {
  .top-main__title {
    font-size: 2.8rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    text-align: center;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
  }
}
.top-main__text {
  position: relative;
  color: #ffffff;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: 0.04em;
  line-height: 1.6;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .top-main__text {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-top: 40px;
    padding-bottom: 20px;
  }
}
.top-main__text02 {
  position: relative;
  color: #ffffff;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: 0.04em;
  line-height: 1.6;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .top-main__text02 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.top-main__text03 {
  position: relative;
  color: #ffffff;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  text-align: right;
  letter-spacing: 0.04em;
  line-height: 1.6;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .top-main__text03 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.top-main__text04 {
  position: relative;
  color: #FFBB74;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: 0.04em;
  line-height: 1.6;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .top-main__text04 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.top-main__text05 {
  position: relative;
  color: #FFFFFF;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .top-main__text05 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-top: 40px;
    padding-bottom: 20px;
  }
}
.top-main__text06 {
  position: relative;
  color: #FFBB74;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: 0.04em;
  line-height: 1.6;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .top-main__text06 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-top: 40px;
    padding-bottom: 20px;
  }
}

.top-main02 {
  display: block;
  position: relative;
  background: #000000;
  box-sizing: border-box;
  text-align: center;
  width: 100%;
  padding: 0px 25px 20px 25px;
  /*top: -90px;*/
}
@media screen and (min-width: 768px) {
  .top-main02 {
    /*border-bottom: 1px solid #ffffff;*/
    padding: 0px 80px 0px 80px;
  }
}

.top-second {
  display: block;
  position: relative;
  background: #000000;
  box-sizing: border-box;
  text-align: center;
  width: 100%;
  padding: 80px 25px 100px 25px;
  /*top: -90px;*/
}
@media screen and (min-width: 768px) {
  .top-second {
    /*border-bottom: 1px solid #ffffff;*/
    padding: 60px 80px 60px 80px;
  }
}

.top-second02 {
  display: block;
  position: relative;
  background: #000000;
  box-sizing: border-box;
  text-align: center;
  width: 100%;
  padding: 80px 25px 100px 25px;
  /*top: -90px;*/
}
@media screen and (min-width: 768px) {
  .top-second02 {
    /*border-bottom: 1px solid #ffffff;*/
    padding: 140px 80px 60px 80px;
  }
}

/* 基本のスタイル */
.top-main__icon.delighter {
  transition: all 0.5s ease-out;
  transform: translateY(50%);
  opacity: 1;
}

/* スタート時のスタイル */
.top-main__icon.delighter.started {
  transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
/*.top-contents-01__text.delighter.started.ended {

}
*/
.top-detail__reserve {
  position: relative;
  text-align: left;
  box-sizing: border-box;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 100px;
}
@media screen and (min-width: 768px) {
  .top-detail__reserve {
    font-size: 3rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    max-width: 800px;
    margin-top: 40px;
    /*padding: 0 25px;*/
  }
}

.top-detail__text-notice {
  position: relative;
  text-align: left;
  box-sizing: border-box;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 100px;
}
@media screen and (min-width: 768px) {
  .top-detail__text-notice {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    max-width: 800px;
    margin-top: 40px;
    /*padding: 0 25px;*/
  }
}

.top-detail {
  position: relative;
  /*background: url(../images/bg_01.jpg) 50% 0% repeat-x;*/
  background-size: 2757px 203px;
  box-sizing: border-box;
  width: 100%;
  padding: 0 25px;
  /*top: -90px;*/
}
@media screen and (min-width: 768px) {
  .top-detail {
    padding: 0 25px;
  }
}
.top-detail__chef {
  position: relative;
  text-align: left;
  font-weight: 400;
  box-sizing: border-box;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 100px;
}
@media screen and (min-width: 768px) {
  .top-detail__chef {
    font-size: 3rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    max-width: 800px;
    margin-top: 40px;
    /*padding-bottom: 140px;*/
  }
}
.top-detail__chef > li {
  padding-bottom: 25px;
}
.top-detail__chef > li:last-child {
  padding-bottom: 0px;
}
@media screen and (min-width: 768px) {
  .top-detail__chef > li {
    padding-bottom: 8px;
  }
}
.top-detail__ticket {
  position: relative;
  text-align: left;
  box-sizing: border-box;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .top-detail__ticket {
    max-width: 800px;
    padding-top: 0px;
  }
}
.top-detail__container {
  position: relative;
  text-align: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 100px;
}
@media screen and (min-width: 768px) {
  .top-detail__container {
    font-size: 3rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    margin-top: 40px;
    padding-bottom: 140px;
  }
}
.top-detail__container > li {
  padding-bottom: 25px;
}
.top-detail__container > li:last-child {
  padding-bottom: 0px;
}
@media screen and (min-width: 768px) {
  .top-detail__container > li {
    padding-bottom: 60px;
  }
}
.top-detail__title-num {
  display: block;
  color: #fff;
  font-family: "Muli", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .top-detail__title-num {
    font-size: 2.8rem;
    letter-spacing: 0.2em;
    line-height: 1;
    padding-bottom: 20px;
  }
}
.top-detail__title {
  display: block;
  color: #414155;
  font-family: "Ubuntu", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__title {
    font-size: 3rem;
    letter-spacing: 0.2em;
    line-height: 1;
    padding-top: 10px;
  }
}
.top-detail__title-h2 {
  display: block;
  color: #414155;
  font-family: "Ubuntu", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__title-h2 {
    font-size: 2.4rem;
    letter-spacing: 0.2em;
    line-height: 1;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-top: 80px;
  }
}
.top-detail__text {
  display: block;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__text {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    padding-top: 20px;
  }
}
.top-detail__text02 {
  display: block;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  text-align: center;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__text02 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    padding-top: 10px;
  }
}
.top-detail__text03 {
  display: block;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  text-align: center;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  .top-detail__text03 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
  }
}
.top-detail__text-reserve {
  display: block;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  color: #B2B2B2;
  font-weight: bold;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__text-reserve {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    padding-top: 20px;
  }
}
.top-detail__text-reserve02 {
  display: block;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__text-reserve02 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    padding-bottom: 25px;
  }
}
.top-detail__text-reserve02-noel {
  display: block;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.09em;
  font-feature-settings: "palt";
  line-height: 1.6;
  text-align: left;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__text-reserve02-noel {
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: center;
    padding-bottom: 25px;
    max-width: 800px;
    margin: 0 auto;
  }
}
.top-detail__text-reserve02-noel02 {
  display: block;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: left;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__text-reserve02-noel02 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    padding-bottom: 25px;
    max-width: 800px;
    margin: 0 auto;
  }
}
.top-detail__text-reserve03 {
  display: block;
  /*font-family: ryo-gothic-plusn, sans-serif;*/
  color: #FFBB74;
  font-weight: bold;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__text-reserve03 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    padding-top: 20px;
  }
}
.top-detail__text-reserve-noel {
  display: block;
  font-family: "Ubuntu", sans-serif;
  color: #A7A7B0;
  font-weight: bold;
  font-style: normal;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__text-reserve-noel {
    font-size: 2.4rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    padding-top: 20px;
  }
}

.indent__noel {
  text-indent: -1em;
  padding-left: 1em;
}

.photo__chef {
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .photo__chef {
    max-width: 800px;
  }
}
.photo__chef img {
  width: 100%;
  height: 100%;
}

.photo__course {
  position: relative;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .photo__course {
    float: right;
    max-width: 300px;
    margin-top: 40px;
    margin-bottom: 0px;
    padding-left: 25px;
    padding-bottom: 40px;
  }
}
.photo__course img {
  width: 100%;
  height: 100%;
}

.photo__menu {
  position: relative;
}
@media screen and (min-width: 768px) {
  .photo__menu {
    float: right;
    max-width: 380px;
    /*margin-top: 40px;*/
    padding-left: 25px;
  }
}
.photo__menu img {
  width: 100%;
  height: 100%;
}

.photo__cork {
  position: relative;
  box-sizing: border-box;
  border: 1px solid #656559;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .photo__cork {
    float: right;
    max-width: 300px;
    margin-top: 40px;
    margin-left: 25px;
    margin-bottom: 0px;
  }
}
.photo__cork img {
  width: 100%;
  height: 100%;
}

.hr-border {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 0px 25px 0px 25px;
  margin: 0 auto;
  /*top: -40px;*/
}
@media screen and (min-width: 768px) {
  .hr-border {
    max-width: 960px;
    padding: 0px 80px 0px 80px;
    top: 0;
  }
}
.hr-border > hr {
  border-top: 1px dotted #808080;
  margin: 0;
}

.map {
  padding: 40px 0 0 0;
}
@media screen and (min-width: 768px) {
  .map {
    max-width: 800px;
    margin: 0 auto;
  }
}

.gmap {
  width: 100%;
  height: 400px;
  /*@media screen and (min-width : 768px) {
  	width: 800px;
  	height: 400px;
  }*/
}

/* 基本のスタイル */
.top-main__title.delighter {
  transition: all 1s ease-out;
  transform: translateY(-20%);
  opacity: 0;
}

/* スタート時のスタイル */
.top-main__title.delighter.started {
  transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
/*.top-contents-01__text.delighter.started.ended {

}
*/
/* 基本のスタイル */
.top-main__text.delighter {
  transition: all 1s ease-out;
  opacity: 0;
}

/* スタート時のスタイル */
.top-main__text.delighter.started {
  transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
/*.top-contents-01__text.delighter.started.ended {

}
*/
/* 基本のスタイル */
.top-detail__logo.delighter {
  transition: all 2s ease-out;
  transform: scale(1.2);
  opacity: 0;
}

/* スタート時のスタイル */
.top-detail__logo.delighter.started {
  transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
/*.top-contents-01__text.delighter.started.ended {

}
*/
/* 基本のスタイル */
.top-detail__list-privacy.delighter,
.top-detail__text-privacy.delighter,
.top-detail__title-privacy.delighter,
.top-detail__title-num.delighter {
  transition: all 1s ease-out;
  opacity: 0;
}

/* スタート時のスタイル */
.top-detail__list-privacy.delighter.started,
.top-detail__text-privacy.delighter.started,
.top-detail__title-privacy.delighter.started,
.top-detail__title-num.delighter.started {
  transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
/*.top-contents-01__text.delighter.started.ended {

}
*/
/* 基本のスタイル */
.top-detail__text.delighter {
  transition: all 2s ease-out;
  opacity: 0;
}

/* スタート時のスタイル */
.top-detail__text.delighter.started {
  transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
/*.top-contents-01__text.delighter.started.ended {

}
*/
/* 基本のスタイル */
.top-detail__title.delighter {
  transition: all 1s ease-out;
  transform: translateY(-50%);
  opacity: 0;
}

/* スタート時のスタイル */
.top-detail__title.delighter.started {
  transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
/*.top-contents-01__text.delighter.started.ended {

}
*/
/* 基本のスタイル */
.top-detail__title-h2.delighter {
  transition: all 1s ease-out;
  opacity: 0;
}

/* スタート時のスタイル */
.top-detail__title-h2.delighter.started {
  transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
/*.top-contents-01__text.delighter.started.ended {

}

/* 基本のスタイル */
.top-detail__text-dl.delighter {
  transition: all 1s ease-out;
  opacity: 0;
}

/* スタート時のスタイル */
.top-detail__text-dl.delighter.started {
  transform: none;
  opacity: 1;
}

/* エンド時のスタイル */
/*.top-contents-01__text.delighter.started.ended {

}
*/
.container-navi {
  position: relative;
  /*display: flex;*/
  box-sizing: border-box;
  width: 100vw;
  height: 600px;
  margin-bottom: 100px;
}
@media screen and (min-width: 768px) {
  .container-navi {
    display: flex;
    box-sizing: border-box;
    width: 100vw;
    height: 300px;
    margin-bottom: 150px;
  }
}

.container-navi div a {
  position: absolute;
  text-decoration: none;
  display: block;
  box-sizing: border-box;
  font-size: 2rem;
  width: 100%;
  height: 100%;
  padding-top: 65px;
}
@media screen and (min-width: 768px) {
  .container-navi div a {
    padding-top: 140px;
  }
}

.item01 {
  position: relative;
  background-size: cover;
  background-position: center;
  background-image: url(../images/bt-01.png);
  text-align: center;
  width: 100%;
  height: 150px;
}
@media screen and (min-width: 768px) {
  .item01 {
    height: 100%;
  }
}

.item02 {
  position: relative;
  background-size: cover;
  background-position: center;
  background-image: url(../images/bt-02.png);
  text-align: center;
  width: 100%;
  height: 150px;
}
@media screen and (min-width: 768px) {
  .item02 {
    height: 100%;
  }
}

.item03 {
  position: relative;
  background-size: cover;
  background-position: center;
  background-image: url(../images/bt-03.png);
  text-align: center;
  width: 100%;
  height: 150px;
}
@media screen and (min-width: 768px) {
  .item03 {
    height: 100%;
  }
}

.item04 {
  position: relative;
  background-size: cover;
  background-position: center;
  background-image: url(../images/bt-04.png);
  text-align: center;
  width: 100%;
  height: 150px;
}
@media screen and (min-width: 768px) {
  .item04 {
    height: 100%;
  }
}

/* ======================================
privacy policy
======================================*/
.top-detail__title-privacy {
  position: relative;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: 0.04em;
  line-height: 1.6;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .top-detail__title-privacy {
    font-size: 1.8rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-top: 40px;
  }
}
.top-detail__text-privacy {
  position: relative;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: 0.04em;
  line-height: 1.6;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .top-detail__text-privacy {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 1.8;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.top-detail__text-privacy.type-01 {
  padding-top: 5px;
}
@media screen and (min-width: 768px) {
  .top-detail__text-privacy.type-01 {
    padding-top: 0px;
  }
}
.top-detail__list-privacy {
  position: relative;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  text-align: left;
  letter-spacing: 0.06em;
  line-height: 1.6;
  box-sizing: border-box;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
}
@media screen and (min-width: 768px) {
  .top-detail__list-privacy {
    font-size: 1.6rem;
    line-height: 1.8;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
    padding-bottom: 20px;
  }
}
.top-detail__list-privacy li {
  text-indent: -1em;
  padding-left: 1em;
  padding-bottom: 8px;
}
.top-detail__list-privacy li:last-child {
  padding-bottom: 0;
}
.top-detail__dl-border-box {
  position: relative;
  box-sizing: border-box;
  border-bottom: 1px solid #A7A7B0;
  padding: 18px 0px;
}
@media screen and (min-width: 768px) {
  .top-detail__dl-border-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 15px 0px;
  }
}
.top-detail__dl-border-title {
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .top-detail__dl-border-title {
    text-align: left;
    width: 140px;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .top-detail__dl-border-text {
    width: 80%;
  }
}

/* ======================================
footer
======================================*/
.footer {
  position: relative;
  text-align: center;
  /*box-sizing: border-box;*/
  background: #000000;
  background-size: cover;
  background-position: center;
  background-image: url(../images/photo_top_05.jpg);
  width: 100%;
  padding: 60px 0;
  /*margin-top: 40px;*/
}
@media screen and (min-width: 768px) {
  .footer {
    /*height: 360px;*/
    padding: 100px 0;
  }
}
.footer__logo {
  position: relative;
  width: 80px;
  /*height: 70px;*/
  margin: 0 auto;
  padding-bottom: 25px;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    margin: 0 auto;
    /*padding-bottom: 25px;*/
  }
}
.footer__logo img {
  width: 100%;
  height: 100%;
}
.footer__copyright {
  position: relative;
  color: #808080;
  font-family: "Muli", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .footer__copyright {
    margin-top: 20px;
  }
}
.footer__privacy {
  position: relative;
  color: #808080;
  font-family: "Muli", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
  margin-top: 80px;
}
@media screen and (min-width: 768px) {
  .footer__privacy {
    margin-top: 120px;
  }
}
.footer__privacy > a {
  color: #808080;
  transition: all 0.4s ease-out;
}
.footer__privacy > a:hover {
  color: #4d4d4d;
}
.footer__sns {
  position: relative;
  width: 60px;
  /*height: 70px;*/
  margin: 0 auto;
  /*padding-top: 40px;*/
}
@media screen and (min-width: 768px) {
  .footer__sns {
    width: 70px;
    margin: 0 auto;
  }
}
.footer__sns img {
  width: 100%;
  height: 100%;
}

.footer__sns ul {
  position: relative;
  width: 70px;
}

.footer__sns li {
  position: relative;
  float: left;
  margin-right: 10px;
  width: 30px;
}

.footer__sns li:last-child {
  margin-right: 0px;
}

.footer__sns li a {
  /*width: 30px;*/
  height: 30px;
}

.back-top__btn {
  position: fixed;
  background: url(../images/btn_arrow_01_ro.png) no-repeat;
  background-size: 30px;
  width: 30px;
  height: 30px;
  bottom: 15px;
  right: 15px;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .back-top__btn {
    background-size: 40px;
    width: 40px;
    height: 40px;
    bottom: 40px;
    right: 44px;
  }
  .back-top__btn a:hover {
    opacity: 0;
  }
}
.back-top__btn img {
  width: 100%;
  height: 100%;
}

/* ======================================
Loading 
======================================*/
#loader {
  display: none;
  position: fixed;
  _position: absolute; /* IE6対策 */
  top: 50%;
  left: 50%;
  margin-top: -16px; /* heightの半分のマイナス値 */
  margin-left: -16px; /* widthの半分のマイナス値 */
  z-index: 1000000010;
}

#fade {
  width: 100%;
  height: calc(100% + 35px);
  display: none;
  background-color: #000000;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 1000000000;
}

.sk-circle {
  margin: 100px auto;
  width: 60px;
  height: 60px;
  position: relative;
}

.sk-circle .sk-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-circle .sk-child:before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  background-color: #D4CBE3;
  border-radius: 100%;
  -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
  animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
}

.sk-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
}

.sk-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  transform: rotate(60deg);
}

.sk-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.sk-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
  -ms-transform: rotate(120deg);
  transform: rotate(120deg);
}

.sk-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  transform: rotate(150deg);
}

.sk-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sk-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
  -ms-transform: rotate(210deg);
  transform: rotate(210deg);
}

.sk-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
  -ms-transform: rotate(240deg);
  transform: rotate(240deg);
}

.sk-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.sk-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
  -ms-transform: rotate(300deg);
  transform: rotate(300deg);
}

.sk-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
  -ms-transform: rotate(330deg);
  transform: rotate(330deg);
}

.sk-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.sk-circle .sk-circle4:before {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.sk-circle .sk-circle5:before {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.sk-circle .sk-circle6:before {
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s;
}

.sk-circle .sk-circle7:before {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.sk-circle .sk-circle8:before {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

.sk-circle .sk-circle9:before {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.sk-circle .sk-circle10:before {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s;
}

.sk-circle .sk-circle11:before {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.sk-circle .sk-circle12:before {
  -webkit-animation-delay: -0.1s;
  animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
/* ======================================
clearfix 
======================================*/
.clearfix:after {
  visibility: hidden;
  height: 0;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
}

* html .clearfix {
  zoom: 1;
}

*:first-child + html .clearfix {
  zoom: 1;
}

/*# sourceMappingURL=styles.css.map */