/* Scss Document */
/*--------------------------------------------------------------
basic elements
--------------------------------------------------------------*/
body {
  background-color: #0c0600;
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.8;
  letter-spacing: 0.08em; }

h2 {
  font-weight: normal;
  font-size: 1.2rem; }

h3 {
  text-align: center;
  margin-bottom: 30px; }

h4 {
  color: #ffb630;
  margin-bottom: 15px;
  text-align: center;
  font-size: 1.2rem; }

h5 {
  font-size: 1rem;
  margin: 0 0 20px; }

.txt-ss {
  font-size: .6rem;
  letter-spacing: .06em; }

.txt-s {
  font-size: .9rem; }

.txt-m {
  font-size: 1.2rem; }

.txt-l {
  font-size: 1.5rem; }

.txt-metro-talking {
  color: #a0a0a0; }

.mgn-center {
  margin: 0 auto; }

.mgn-top-bottom {
  margin: 30px 0; }

.mgn-right {
  margin-right: 20px; }

.mgn-right10 {
  margin-right: 10px; }

.mgn-top {
  margin-top: 20px; }

.mgn-bottom {
  margin-bottom: 20px; }

.mgn-top40 {
  margin-top: 40px; }

.mgn-bottom40 {
  margin-bottom: 40px; }

.clb {
  clear: both; }

.left {
  text-align: left; }

.right {
  text-align: right; }

.center {
  text-align: center; }

.bold {
  font-weight: bold; }

.hr {
  background: url(../images/hr.png) no-repeat top center; }

.opacity {
  transition-property: all;
  transition: 0.3s linear; }

.opacity:hover {
  opacity: .8; }

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

.hidden {
  overflow: hidden; }

.flt-left {
  float: left; }

.pc {
  display: none; }

.sp {
  display: block; }

a.bt-general {
  display: block;
  position: relative;
  color: #fff;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
  background: #3e3e3e;
  box-sizing: border-box; }

a.bt-general i {
  display: block;
  position: absolute;
  top: 0;
  left: 0px;
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
  text-align: center;
  background: #ffb630;
  color: #0c0600; }

a.bt-col1 {
  height: 45px;
  font-size: .8rem;
  line-height: 3.8;
  margin-top: 20px;
  width: 45%; }

a.bt-col1 i {
  height: 45px;
  width: 45px;
  line-height: 4; }

a.bt-col2 {
  height: 45px;
  font-size: .8rem;
  line-height: 3.8;
  margin-top: 20px;
  width: 90%;
  padding-left: 60px; }

a.bt-col2 i {
  height: 45px;
  width: 45px;
  line-height: 3.8; }

a.bt-kit {
  font-size: .8rem;
  height: 60px;
  margin-bottom: 20px;
  padding: 7px 0 0 58px; }

a.bt-kit i {
  height: 60px;
  width: 45px;
  line-height: 5; }

a.bt-general:hover {
  background: #fff;
  color: #000;
  border-radius: 4px; }

.btn-ye-wrap {
  margin: 0 0 60px;
  box-sizing: border-box; }
  .btn-ye-wrap a {
    color: #000;
    background-color: #F6AA00;
    width: 48%;
    padding: 20px 25px;
    box-sizing: border-box;
    border-radius: 4px;
    font-weight: bold; }
    .btn-ye-wrap a .c-ico-btn_arrow {
      margin-right: 10px; }

.hint03-en a {
  display: table-cell; }

.li-mgn {
  margin-top: 40px; }
  .li-mgn li {
    margin-bottom: 20px; }

.col_wrap {
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around; }

.col_2 {
  width: 45%; }

.title_menu {
  background: url(../images/title_menu.png) no-repeat top center;
  margin: 0 auto;
  display: block;
  height: 60px; }

.title_menuSP {
  display: none; }

/* clear */
.clearfix {
  *zoom: 1; }

.clearfix:before,
.clearfix:after {
  display: table;
  line-height: 0;
  content: ""; }

.clearfix:after {
  clear: both; }

@media (max-width: 767px) {
  a.bt-col2 {
    height: 40px;
    line-height: 4.2;
    font-size: .65rem;
    padding-left: 40px;
    margin: 10px auto 0; }

  a.bt-col2 i {
    height: 40px;
    width: 30px;
    line-height: 4.2; }

  a.bt-col1 {
    width: 60%;
    height: 40px;
    line-height: 4;
    font-size: .65rem; }

  a.bt-col1 i {
    height: 40px;
    width: 30px;
    line-height: 4.2; }

  a.bt-kit {
    font-size: .8rem;
    height: 60px;
    margin-bottom: 20px;
    padding: 7px 0 0 45px; }

  a.bt-kit i {
    height: 60px;
    width: 35px;
    line-height: 5; }

  .btn-ye-wrap a {
    color: #000;
    padding: 20px 15px;
    font-size: .8rem; }
    .btn-ye-wrap a .c-ico-btn_arrow {
      margin-right: 10px; }

  .hint03 a {
    font-size: .6rem; }

  .hint03-en a {
    font-size: .6rem; }

  .txt-s {
    font-size: .8rem; }

  .txt-m {
    font-size: 1rem; }

  .txt-l {
    font-size: 1.2rem; }

  .col_2 {
    width: 48%; }

  .title_menu {
    display: none; }

  .title_menuSP {
    display: block;
    background: url(../images/title_menuSP.svg) no-repeat;
    padding-top: 50px; }

  .pc {
    display: block; }

  .sp {
    display: none; } }
/* ==========================================================================
Roading
========================================================================== */
#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #0c0600;
  z-index: 9; }

#loader {
  display: none;
  position: fixed;
  top: 15%;
  width: 200px;
  text-align: center;
  margin: 0 auto;
  color: #fff;
  z-index: 10;
  left: 45%; }

@media (max-width: 767px) {
  #loader {
    width: 50%;
    margin: 0 auto;
    top: 20%;
    left: 0;
    right: 0; } }
/* ==========================================================================
Header
========================================================================== */
header {
  width: 100%;
  border-bottom: 1px solid #3e3e3e;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 2;
  background: #0c0600;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

#top-header {
  display: none; }

.head-inner {
  max-width: 880px;
  margin: 0 auto;
  position: relative; }

.head-logo {
  width: 200px; }

.headmenu-pc {
  display: flex;
  position: absolute;
  top: 7px;
  left: 26%; }
  .headmenu-pc li {
    border-right: 1px solid #3e3e3e;
    margin-top: -6px;
    padding-bottom: 7px; }

.btn-en {
  position: absolute;
  top: 6px;
  right: 20px; }

.head-en-sp {
  display: none; }

.closeSP {
  display: none; }

/*nav*/
.menu_navSP {
  display: none; }

.back_wrap {
  display: none; }

.btn-menu {
  top: 0;
  position: absolute;
  right: 120px; }
  .btn-menu a {
    width: 62px;
    height: 83px;
    display: block; }

.menu-area {
  display: none;
  max-width: 100%;
  position: fixed;
  min-width: 100%;
  background: #0c0600;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 200;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.menu-area-head {
  max-width: 880px;
  margin: 0 auto;
  position: relative; }

.menu {
  max-width: 880px;
  margin: 0 auto; }

.menu-logo {
  width: 200px;
  margin: 0 auto; }

.btn-close {
  top: -3px;
  position: absolute;
  right: 120px;
  width: 62px; }

.menu_sp {
  float: left;
  width: 46%;
  padding-top: 30px; }

.menu_sub {
  overflow: hidden;
  border-left: 1px #3e3e3e solid;
  padding-left: 6%; }
  .menu_sub li {
    margin-bottom: 10px; }
  .menu_sub a {
    color: #a0a0a0;
    font-size: .9rem;
    font-weight: bold; }
    .menu_sub a:hover {
      color: #fff; }
  .menu_sub br {
    display: none; }

.menu-area .foot-sns {
  display: none; }

@media (max-width: 767px) {
  .btn-close {
    right: 5%; }

  .head-logo {
    width: 145px;
    padding: 2% 0; }

  .menu-logo {
    width: 145px; }

  .back_wrap {
    display: block;
    margin: 20px 0; }

  .btn-back {
    width: 20px;
    padding: 0 10px 0 20px;
    float: left; }

  .btn-top {
    max-width: 170px;
    margin: 0 auto;
    text-align: center; }
    .btn-top a {
      color: #a0a0a0; }

  .area_nav .menu_special {
    display: block;
    border: none;
    margin: 0;
    width: 100%;
    box-sizing: border-box; }
    .area_nav .menu_special li img {
      vertical-align: top; }
  .area_nav .img-special {
    display: none; }
  .area_nav .txt-spmenu {
    font-size: .9rem;
    overflow: hidden; }
  .area_nav .txt-sp-special {
    overflow: hidden;
    font-size: .8rem; }

  .img-navsp {
    display: inline-flex; }

  .btn-menu {
    right: 5%; }

  .headmenu-pc, .btn-en {
    display: none; }

  .head-en-sp {
    display: block;
    width: 20%;
    position: absolute;
    top: 30px;
    right: 25%; }

  .menu_navSP {
    display: block; }
    .menu_navSP li {
      float: left;
      max-width: 33.3333%;
      height: auto;
      box-sizing: border-box; }

  .closeSP {
    display: block;
    text-align: center;
    padding: 20px 0 30px;
    margin-bottom: 80px; }
    .closeSP a {
      color: #a0a0a0; }

  .menu-area .foot-sns {
    display: block; } }
.menu_nav_sub {
  display: table; }
  .menu_nav_sub li {
    width: 50%;
    display: inline-table;
    box-sizing: border-box;
    border-bottom: 1px solid #3e3e3e;
    border-left: none;
    padding: 15px 0;
    margin: 0; }
    .menu_nav_sub li:first-child {
      border-top: 1px solid #333;
      border-right: 1px solid #333; }
    .menu_nav_sub li:nth-child(2) {
      border-right: none;
      border-top: 1px solid #3e3e3e; }
    .menu_nav_sub li:nth-child(3) {
      border-right: 1px solid #333; }
    .menu_nav_sub li a {
      font-size: .8rem; }
  .menu_nav_sub br {
    display: block; }
  .menu_nav_sub .menu-en {
    width: 100%;
    text-align: center;
    padding-right: 20px; }
    .menu_nav_sub .menu-en .menu-icon {
      float: none; }

/* ==========================================================================
TOP PAGE
========================================================================== */
.con-wrap {
  width: 100%;
  margin: 40px 0; }

.con-inner01 {
  max-width: 520px;
  margin: 0 auto; }

.con-inner02 {
  max-width: 880px;
  margin: 0 auto; }

.area_slide {
  position: relative;
  width: 100%;
  padding: 40px 0; }

.area_news .con-inner01 {
  position: relative; }
  .area_news .con-inner01 h3 {
    width: 40%;
    margin: 0 auto 30px; }

.tag-chikanazo {
  position: absolute;
  left: 5%;
  z-index: 1;
  top: 0; }

.slide-inner {
  max-width: 880px;
  margin: 0 auto; }

.youtube {
  max-width: 520px;
  margin: 20px auto 40px;
  position: relative;
  overflow: hidden; }

@media (max-width: 767px) {
  .con-inner01 {
    padding: 0 6%; }

  .tag-chikanazo {
    width: 20%; }

  .youtube {
    max-width: 520px;
    margin: 20px auto 70px;
    position: relative;
    height: 0;
    padding: 30px 0 56.25%;
    overflow: hidden; } }
/*mainvisual*/
.main-wrap {
  text-align: center; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.visual-pc {
  animation: fadeIn 9s ease 0s 1 normal;
  -webkit-animation: fadeIn 9s ease 0s 1 normal; }

.main-title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  animation: fadeIn 9s ease 0s 1 normal;
  -webkit-animation: fadeIn 9s ease 0s 1 normal; }

.txt-intr {
  animation: fadeIn 9s ease 0s 1 normal;
  -webkit-animation: fadeIn 9s ease 0s 1 normal;
  margin-top: 40px; }

.catch {
  position: absolute;
  top: 10%;
  right: 0;
  left: 0; }

.visual-sp {
  display: none; }

.top-hr {
  max-width: 500px;
  margin: 40px auto 0;
  animation: fadeIn 9s ease 0s 1 normal;
  -webkit-animation: fadeIn 9s ease 0s 1 normal; }

.btn-reservation {
  animation: fadeIn 9s ease 0s 1 normal;
  -webkit-animation: fadeIn 9s ease 0s 1 normal; }

@media (max-width: 767px) {
  .visual-pc {
    display: none; }

  .visual-sp {
    display: block;
    animation: fadeIn 9s ease 0s 1 normal;
    -webkit-animation: fadeIn 9s ease 0s 1 normal; }

  .txt-intr {
    margin-top: 40px; }

  .catch {
    width: 85%;
    margin: 10px auto 0; } }
/*read*/
.txt-read {
  padding: 60px 0 40px;
  font-size: .9rem;
  letter-spacing: 0.1em;
  color: #cac7c7; }

/* ==========================================================================
Footer
========================================================================== */
.txt-spmenu {
  display: block; }

.menu-icon {
  margin-right: 5px; }
  .menu-icon img {
    width: 60px;
    vertical-align: middle; }

.menu_main {
  display: flex;
  margin-bottom: 40px; }

.menu_sub li {
  margin-bottom: 10px; }
.menu_sub a {
  color: #a0a0a0;
  font-size: .9rem;
  font-weight: bold; }
  .menu_sub a:hover {
    color: #fff; }
.menu_sub br {
  display: none; }

.menu_special {
  float: left;
  padding: 0 6%;
  width: 480px; }
  .menu_special li {
    margin-bottom: 15px;
    overflow: hidden; }
    .menu_special li img {
      vertical-align: middle;
      margin-right: 30px; }
  .menu_special a {
    color: #a0a0a0;
    font-size: .95rem; }
    .menu_special a:hover {
      color: #fff; }

.img-special {
  text-align: center;
  margin-bottom: 20px; }

.menu_mainSP, .menu_specialSP {
  display: none; }

#top-back {
  text-align: center;
  margin: 60px 0; }

.foot-sns {
  width: 100%;
  background: #fff; }
  .foot-sns .foot-sns-inner {
    max-width: 500px;
    margin: 0 auto;
    padding: 30px 0; }
    .foot-sns .foot-sns-inner p {
      color: #a0a0a0;
      float: left;
      margin: 0 50px; }

.icon-sns {
  display: flex;
  margin-top: 30px; }
  .icon-sns li {
    width: 48px;
    margin-right: 20px; }

footer {
  background: #3e3e3e; }

.foot-inner {
  text-align: center;
  font-size: .8rem;
  padding: 30px 0;
  max-width: 580px;
  margin: 0 auto; }

.foot-logo {
  display: flex;
  padding: 30px 0 25px; }
  .foot-logo li {
    width: 33.3333%;
    text-align: center; }

.kyosan {
  margin-top: 30px; }
  .kyosan ul {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 20px 0; }
    .kyosan ul li {
      padding: 0 1%; }

.btn-bottomsp {
  display: none; }

@media (max-width: 767px) {
  footer {
    padding-bottom: 100px; }

  .foot-inner {
    padding: 30px 5%; }

  .menu_main, .menu_special {
    display: none; }

  .menu_special li img {
    margin-right: 15px; }

  .menu_sub {
    display: table;
    padding-left: 0;
    border-left: none; }
    .menu_sub li {
      width: 50%;
      display: inline-table;
      box-sizing: border-box;
      border-bottom: 1px solid #3e3e3e;
      border-left: none;
      padding: 15px 0;
      margin: 0; }
      .menu_sub li:first-child {
        border-top: 1px solid #333;
        border-right: 1px solid #333; }
      .menu_sub li:nth-child(2) {
        border-right: none;
        border-top: 1px solid #3e3e3e; }
      .menu_sub li:nth-child(3) {
        border-right: 1px solid #333; }
      .menu_sub li a {
        font-size: .8rem; }
    .menu_sub br {
      display: block; }
    .menu_sub .menu-en {
      width: 100%;
      text-align: center;
      padding-right: 20px; }
      .menu_sub .menu-en .menu-icon {
        float: none; }

  .sub-txt {
    display: block;
    margin-top: 5px; }

  .sub-txt-btm {
    margin-top: 18px;
    display: inline-block; }

  .menu-icon {
    float: left;
    padding-left: 10px; }

  .menu_mainSP {
    display: block; }
    .menu_mainSP img {
      vertical-align: bottom; }

  .menu_specialSP {
    display: block;
    padding: 20px;
    clear: both; }

  .foot-sns .foot-sns-inner p {
    margin: 0 2% 0 4%;
    width: 40%; }

  .btn-bottomsp {
    display: block;
    height: 80px;
    width: 100%;
    position: fixed;
    bottom: -1px;
    z-index: 5; }
    .btn-bottomsp ul li {
      width: 33.33333%; }

  .btn-bottomsp-line {
    border-left: 1px solid #0c0600;
    border-right: 1px solid #0c0600; }

  .btn-bottomsp-line:before {
    display: block;
    position: absolute;
    width: calc(100% + 2px);
    min-height: 100%;
    border-left: 1px solid #fff;
    z-index: 9999;
    opacity: .25; }

  .btn-bottomsp-line:after {
    /*content: "";*/
    display: block;
    position: absolute;
    right: 33.33333%;
    top: 0;
    width: calc(100% + 2px);
    min-height: 100%;
    border-right: 1px solid #fff;
    padding-bottom: 2px;
    z-index: 9999;
    opacity: .25; } }
