@charset "UTF-8";
/* Scss Document */
/*-------------------------------------------------
    common
=================================================*/
body {
  font-size: 13px;
  font-weight: 400;
  color: #333;
  line-height: 1.6;
  background: #fbf0e3;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  min-width: 320px;
  font-family: YuGothic, "メイリオ", Meiryo, Osaka, "游ゴシック", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, " ＭＳ Ｐゴシック", MS PGothic, " sans-serif"; }
  @media (min-width: 768px) {
    body {
      font-size: 13px; } }

a {
  color: #000;
  text-decoration: underline;
  transition: all 0.3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

a:hover {
  text-decoration: none;
  opacity: 0.6; }

em {
  font-style: normal; }

.tal {
  text-align: left !important; }

.tar {
  text-align: right !important; }

.tac {
  text-align: center !important; }

.fl {
  float: left; }

.fr {
  float: right; }

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }

@media (min-width: 768px) {
  .mt0 {
    margin-top: 0 !important; }

  .mt5 {
    margin-top: 5px !important; }

  .mt10 {
    margin-top: 10px !important; }

  .mt15 {
    margin-top: 15px !important; }

  .mt20 {
    margin-top: 20px !important; }

  .mt30 {
    margin-top: 30px !important; }

  .mt40 {
    margin-top: 40px !important; }

  .mt50 {
    margin-top: 50px !important; }

  .mr0 {
    margin-right: 0 !important; }

  .mr5 {
    margin-right: 5px !important; }

  .mr10 {
    margin-right: 10px !important; }

  .mr15 {
    margin-right: 15px !important; }

  .mr20 {
    margin-right: 20px !important; }

  .mr30 {
    margin-right: 30px !important; }

  .mr40 {
    margin-right: 40px !important; }

  .mr50 {
    margin-right: 50px !important; }

  .mb0 {
    margin-bottom: 0 !important; }

  .mb5 {
    margin-bottom: 5px !important; }

  .mb10 {
    margin-bottom: 10px !important; }

  .mb15 {
    margin-bottom: 15px !important; }

  .mb20 {
    margin-bottom: 20px !important; }

  .mb30 {
    margin-bottom: 30px !important; }

  .mb40 {
    margin-bottom: 40px !important; }

  .mb50 {
    margin-bottom: 50px !important; }

  .ml0 {
    margin-left: 0 !important; }

  .ml5 {
    margin-left: 5px !important; }

  .ml10 {
    margin-left: 10px !important; }

  .ml15 {
    margin-left: 15px !important; }

  .ml20 {
    margin-left: 20px !important; }

  .ml30 {
    margin-left: 30px !important; }

  .ml40 {
    margin-left: 40px !important; }

  .ml50 {
    margin-left: 50px !important; }

  .pc_tal {
    text-align: left !important; }

  .pc_tar {
    text-align: right !important; }

  .pc_tac {
    text-align: center !important; }

  .pc_fl {
    float: left; }

  .pc_fr {
    float: right; } 
    
    .sp_scroll_table {
    max-width: 200% !important;
    overflow-x: auto; }
    }
@media (max-width: 767px) {
  .mt0 {
    margin-top: 0 !important; }

  .mt5 {
    margin-top: 5px !important; }

  .mt10 {
    margin-top: 10px !important; }

  .mt15 {
    margin-top: 10px !important; }

  .mt20 {
    margin-top: 15px !important; }

  .mt30 {
    margin-top: 15px !important; }

  .mt40 {
    margin-top: 20px !important; }

  .mt50 {
    margin-top: 20px !important; }

  .mr0 {
    margin-right: 0 !important; }

  .mr5 {
    margin-right: 5px !important; }

  .mr10 {
    margin-right: 10px !important; }

  .mr15 {
    margin-right: 10px !important; }

  .mr20 {
    margin-right: 15px !important; }

  .mr30 {
    margin-right: 15px !important; }

  .mr40 {
    margin-right: 20px !important; }

  .mr50 {
    margin-right: 20px !important; }

  .mb0 {
    margin-bottom: 0 !important; }

  .mb5 {
    margin-bottom: 5px !important; }

  .mb10 {
    margin-bottom: 10px !important; }

  .mb15 {
    margin-bottom: 10px !important; }

  .mb20 {
    margin-bottom: 15px !important; }

  .mb30 {
    margin-bottom: 15px !important; }

  .mb40 {
    margin-bottom: 20px !important; }

  .mb50 {
    margin-bottom: 20px !important; }

  .ml0 {
    margin-left: 0 !important; }

  .ml5 {
    margin-left: 5px !important; }

  .ml10 {
    margin-left: 10px !important; }

  .ml15 {
    margin-left: 10px !important; }

  .ml20 {
    margin-left: 15px !important; }

  .ml30 {
    margin-left: 15px !important; }

  .ml40 {
    margin-left: 20px !important; }

  .ml50 {
    margin-left: 20px !important; }

  .sp_tal {
    text-align: left !important; }

  .sp_tar {
    text-align: right !important; }

  .sp_tac {
    text-align: center !important; }

  .sp_fl {
    float: left; }

  .sp_fr {
    float: right; }

  .sp_scroll_table {
    max-width: 200% !important;
    overflow-x: auto; }
    .sp_scroll_table::-webkit-scrollbar {
      width: 8px;
      background: #eee; }
    .sp_scroll_table::-webkit-scrollbar:horizontal {
      height: 8px;
      background: #eee; }
    .sp_scroll_table::-webkit-scrollbar-thumb {
      background: #aaa; }
    .sp_scroll_table::-webkit-scrollbar-thumb:horizontal {
      background: #aaa; }
    .sp_scroll_table table {
      margin: 0 !important;
      position: relative;
      border-collapse: separate;
      border-spacing: 0;
      background: #fbf0e3; } }
section,
nav,
header,
footer,
article {
  margin: 0;
  padding: 0; }

p {
  margin: 20px 0; }

.js-modal-btn {
  border: 1px solid #fbf0e3;
  background: none;
  padding: 0;
  -webkit-appearance: none;
  border-radius: 0;
  transition: 0.3s;
  position: relative; }
  .js-modal-btn::after {
    content: "";
    background: url(../../images/front/movie_play.svg) no-repeat center center/contain;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media (min-width: 768px) {
      .js-modal-btn::after {
        width: 80px;
        height: 80px; } }
  .js-modal-btn:hover {
    opacity: 0.6; }

.pagetop {
  text-align: right;
  margin: 30px 0; }
  .pagetop a {
    display: inline-block;
    padding-right: 25px;
    text-decoration: none;
    color: #000;
    position: relative; }
    .pagetop a::before {
      content: "";
      background: #000;
      border-radius: 100px;
      width: 20px;
      height: 20px;
      position: absolute;
      top: 50%;
      right: 0;
      margin-top: -10px; }
    .pagetop a::after {
      content: "";
      width: 6px;
      height: 6px;
      border-left: 1px solid #fbf0e3;
      border-top: 1px solid #fbf0e3;
      position: absolute;
      top: 50%;
      right: 6px;
      transform: translateY(-50%) rotate(45deg);
      margin: 1px 0 0 0; }

/*------------------------------------------*/
img {
  max-width: 100%;
  height: auto; }

@media (min-width: 768px) {
  .inner {
    width: 1000px;
    margin: 0 auto; }

  .sp_only {
    display: none !important; } }
@media (max-width: 767px) {
  .inner {
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box; }

  .pc_only {
    display: none !important; } }
section {
  margin: 30px 0; }
  @media (min-width: 768px) {
    section {
      margin: 60px 0; } }

/*-- スマホメニュー ----------------------------------------*/
.sp_menubtn {
  width: 25px;
  height: 19px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -9.5px 0 0 -12.5px; }
  .sp_menubtn span {
    background: #000;
    width: 25px;
    height: 3px;
    border-radius: 10px;
    display: block;
    position: absolute;
    transform: translate(-50%, -50%);
    left: 50%;
    transition: all 0.3s ease 0s; }
    .sp_menubtn span:nth-of-type(1) {
      top: 1.5px; }
    .sp_menubtn span:nth-of-type(2) {
      top: 9.5px; }
    .sp_menubtn span:nth-of-type(3) {
      top: 17.5px; }
  .sp_menubtn.active span:nth-of-type(1) {
    transform: translate(-50%, -50%) rotate(-135deg);
    top: 50%; }
  .sp_menubtn.active span:nth-of-type(2) {
    opacity: 0;
    left: 100%; }
  .sp_menubtn.active span:nth-of-type(3) {
    transform: translate(-50%, -50%) rotate(135deg);
    top: 50%; }

/*------------------------------------------*/
#allwrap {
  width: 100%;
  padding-top: 70px; }
  @media (min-width: 768px) {
    #allwrap {
      padding-top: 122px;
      min-width: 1200px; } }

/*------------------------------------------*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fbf0e3;
  z-index: 1000;
  height: 70px; }
  @media (min-width: 768px) {
    header {
      height: 122px; } }
  header::after {
    content: "";
    width: 100%;
    max-width: 1400px;
    height: 10px;
    background: url(../../../../images/front/header_shadow.png) no-repeat center center/100% 100%;
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translate(-50%, 100%);
    opacity: 0.8; }
    @media (min-width: 768px) {
      header::after {
        height: 13px; } }
  header .inner {
    position: relative; }
  header .menu_btn {
    position: absolute;
    top: 0px;
    right: 5px;
    width: 43px;
    height: 43px; }
  header .line {
    background: #e07f14;
    color: #fbf0e3;
    font-size: 11px;
    padding: 5px 0; }
    @media (min-width: 768px) {
      header .line {
        font-size: 14px;
        padding: 10px 0; } }
  header .logo {
    width: 140px;
    height: 43px;
    padding: 5px 0;
    box-sizing: border-box;
    position: relative; }
    @media (min-width: 768px) {
      header .logo {
        float: left;
        height: 80px;
        width: 250px;
        padding: 10px 0; } }
    header .logo span {
      position: absolute;
      right: -10px;
      bottom: 9px;
      transform: translateX(100%);
      font-size: 11px; }
      @media (min-width: 768px) {
        header .logo span {
          right: -20px;
          bottom: 20px;
          font-size: 15px; } }
  header nav.member {
    position: absolute;
    top: 0;
    right: 15px; }
    header nav.member a {
      color: #fbf0e3;
      text-decoration: none;
      overflow: hidden;
      display: inline-block;
      height: 17px;
      position: relative;
      margin: 0 0 0 6px; }
      
      header nav.member a::before {
        content: "";
        width: 17px;
        height: 17px;
        display: inline-block;
        vertical-align: middle;
        margin-right: 2px;
        position: relative;
        top: 50%;
        left: 0;
        transform: translateY(-50%); }
        
      @media (min-width: 768px) {
        header nav.member a {
          text-indent: 0;
          width: auto;
          height: auto;
          margin: 0 0 0 15px;
          padding: 0 0 0 22px; } 
          
        header nav.member a::before {
        margin-right: 5px;
        position: absolute;
         }}
      
    header nav.member .regist::before {
      background: url(../../images/front/icon1.svg) no-repeat center center/contain; }
    header nav.member .login::before {
      background: url(../../images/front/icon2.svg) no-repeat center center/contain; }
  @media (min-width: 768px) {
    header #gnavi {
      display: block !important; }
      header #gnavi .gnavi_inner {
        float: right; }
        header #gnavi .gnavi_inner > ul {
          margin: 0;
          padding: 0;
          height: 80px; }
          header #gnavi .gnavi_inner > ul > li {
            margin: 0;
            padding: 0;
            list-style: none;
            float: left; }
            header #gnavi .gnavi_inner > ul > li .parent,
            header #gnavi .gnavi_inner > ul > li .uc,
            header #gnavi .gnavi_inner > ul > li a {
              display: block;
              text-decoration: none;
              font-size: 16px;
              color: #111;
              position: relative;
              font-weight: bold;
              padding: 2px 0 0px;
              height: 80px;
              width: 180px;
              box-sizing: border-box;
              color: #666;
              border-bottom: 2px solid transparent;
              transition: 0.3s;
              display: flex;
              justify-content: center;
              align-items: center; }
              header #gnavi .gnavi_inner > ul > li .parent::before,
              header #gnavi .gnavi_inner > ul > li .uc::before,
              header #gnavi .gnavi_inner > ul > li a::before {
                content: "";
                width: 36px;
                height: 36px;
                margin-right: 17px;
                background: no-repeat center center /  contain; }
              header #gnavi .gnavi_inner > ul > li .parent.user::before,
              header #gnavi .gnavi_inner > ul > li .uc.user::before,
              header #gnavi .gnavi_inner > ul > li a.user::before {
                background-image: url("../../images/front/icon3.svg"); }
              header #gnavi .gnavi_inner > ul > li .parent.partner::before,
              header #gnavi .gnavi_inner > ul > li .uc.partner::before,
              header #gnavi .gnavi_inner > ul > li a.partner::before {
                background-image: url("../../images/front/icon4.svg"); }
              header #gnavi .gnavi_inner > ul > li .parent.news::before,
              header #gnavi .gnavi_inner > ul > li .uc.news::before,
              header #gnavi .gnavi_inner > ul > li a.news::before {
                background-image: url("../../images/front/icon5.svg"); }
              header #gnavi .gnavi_inner > ul > li .parent.booking1::before,
              header #gnavi .gnavi_inner > ul > li .uc.booking1::before,
              header #gnavi .gnavi_inner > ul > li a.booking1::before {
                background-image: url("../../images/front/icon10.svg"); }
              header #gnavi .gnavi_inner > ul > li .parent.booking2::before,
              header #gnavi .gnavi_inner > ul > li .uc.booking2::before,
              header #gnavi .gnavi_inner > ul > li a.booking2::before {
                background-image: url("../../images/front/icon11.svg"); }
              header #gnavi .gnavi_inner > ul > li .parent em,
              header #gnavi .gnavi_inner > ul > li .uc em,
              header #gnavi .gnavi_inner > ul > li a em {
                display: block;
                font-size: 12px; }
            header #gnavi .gnavi_inner > ul > li .parent {
              cursor: pointer; }
              header #gnavi .gnavi_inner > ul > li .parent::after {
                content: "";
                width: 500vw;
                height: 0;
                position: absolute;
                left: 50%;
                top: 80px;
                margin-left: -250vw;
                background: rgba(10, 160, 5, 0.6);
                transition: 0.6s; }
            header #gnavi .gnavi_inner > ul > li .parent.open {
              background: #ebebeb;
              border-bottom: 2px  solid #ed1c24;
              color: #000; }
              header #gnavi .gnavi_inner > ul > li .parent.open::after {
                height: 80px; }
            header #gnavi .gnavi_inner > ul > li .parent.open.user::before {
                background-image: url("../../images/front/icon3_on.svg"); }
              header #gnavi .gnavi_inner > ul > li .parent.open.partner::before {
                background-image: url("../../images/front/icon4_on.svg"); }
              header #gnavi .gnavi_inner > ul > li .parent.open.news::before {
                background-image: url("../../images/front/icon5_on.svg"); }
              header #gnavi .gnavi_inner > ul > li .parent.open.booking1::before {
                background-image: url("../../images/front/icon10_on.svg"); }
              header #gnavi .gnavi_inner > ul > li .parent.open.booking2::before {
                background-image: url("../../images/front/icon11_on.svg"); }
            body:not(.submenuopen) header #gnavi .gnavi_inner > ul > li .current {
              background: #ebebeb;
              border-bottom: 2px  solid #ed1c24;
              color: #000; }
              body:not(.submenuopen) header #gnavi .gnavi_inner > ul > li .current.user::before {
                background-image: url("../../images/front/icon3_on.svg"); }
              body:not(.submenuopen) header #gnavi .gnavi_inner > ul > li .current.partner::before {
                background-image: url("../../images/front/icon4_on.svg"); }
              body:not(.submenuopen) header #gnavi .gnavi_inner > ul > li .current.news::before {
                background-image: url("../../images/front/icon5_on.svg"); }
              body:not(.submenuopen) header #gnavi .gnavi_inner > ul > li .current.booking1::before {
                background-image: url("../../images/front/icon10_on.svg"); }
              body:not(.submenuopen) header #gnavi .gnavi_inner > ul > li .current.booking2::before {
                background-image: url("../../images/front/icon11_on.svg"); }
            header #gnavi .gnavi_inner > ul > li .uc {
              opacity: 0.4; }
        header #gnavi .gnavi_inner .sub {
          display: none;
          position: absolute;
          top: 80px;
          right: 0;
          height: 53px; }
          header #gnavi .gnavi_inner .sub ul {
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: flex-end;
            position: relative;
            z-index: 10; }
            header #gnavi .gnavi_inner .sub ul li {
              margin: 0;
              padding: 0;
              list-style: none;
              width: 180px;
              position: relative; }
              header #gnavi .gnavi_inner .sub ul li::after {
                content: "";
                width: 1px;
                height: 40px;
                background: #fbf0e3;
                position: absolute;
                top: 20px;
                right: 0; }
              header #gnavi .gnavi_inner .sub ul li:last-child::after {
                display: none; }
              header #gnavi .gnavi_inner .sub ul li a {
                display: block;
                line-height: 80px;
                font-size: 15px;
                color: #fbf0e3;
                text-align: center; }
                header #gnavi .gnavi_inner .sub ul li a::before {
                  display: none; } 
                  header #gnavi .gnavi_inner .sub ul li a.current {
                  background: none;
                  border: none;
                  color: #fbf0e3; }}
  @media (max-width: 767px) {
    header #gnavi {
      display: none;
      position: absolute;
      top: 43px;
      left: 0;
      width: 100%;
      height: calc(100vh - 70px);
      background: #fbf0e3;
      z-index: 1000;
      box-sizing: border-box;
      border-top: 10px solid #e07f14; }
      header #gnavi .gnavi_inner {
        height: 100%;
        overflow: auto; }
      header #gnavi ul {
        margin: 0;
        padding: 0;
        height: 100%;
        font-weight: bold; }
        header #gnavi ul > li {
          margin: 0;
          padding: 0;
          list-style: none;
          border-bottom: 1px solid #e5e6e7; }
          header #gnavi ul > li .parent,
          header #gnavi ul > li .uc,
          header #gnavi ul > li a {
            display: block;
            padding: 15px;
            text-decoration: none;
            font-size: 16px;
            color: #111;
            position: relative; }
          header #gnavi ul > li .parent::after {
            display: block;
            content: "";
            border-bottom: 2px solid #111;
            border-right: 2px solid #111;
            width: 10px;
            height: 10px;
            position: absolute;
            top: 50%;
            right: 15px;
            transform: translateY(-50%) rotate(45deg);
            opacity: 1;
            transition: 0.3s;
            margin-top: -3px; }
          header #gnavi ul > li .parent.open::after {
            transform: translateY(-50%) rotate(-135deg);
            margin-top: 5px; }
          header #gnavi ul > li a::after {
            display: block;
            content: "";
            border-top: 2px solid #111;
            border-right: 2px solid #111;
            width: 10px;
            height: 10px;
            position: absolute;
            top: 50%;
            right: 18px;
            transform: translateY(-50%) rotate(45deg);
            opacity: 1; }
          header #gnavi ul > li .uc {
            color: #ccc; }
          header #gnavi ul > li .sub {
            display: none; }
            header #gnavi ul > li .sub ul li {
              border-top: 1px solid #e5e6e7;
              border-bottom: none; }
              header #gnavi ul > li .sub ul li a {
                padding-left: 30px; }
                header #gnavi ul > li .sub ul li a::before {
                  content: "-";
                  display: inline-block;
                  margin-right: 10px; } }

/*------------------------------------------*/
footer {
  background: #444;
  color: #fbf0e3;
  padding: 15px 0;
  font-size: 12px;
  text-align: center; }
  @media (min-width: 768px) {
    footer {
      height: 200px;
      text-align: left;
      font-size: 14px;
      padding: 0; }
      footer nav {
        overflow: hidden;
        padding: 30px 0 18px; } }
  footer a {
    color: #fbf0e3;
    text-decoration: none;
    display: inline-block; }
    footer a.company::before {
      content: "";
      border: 5px solid transparent;
      border-left: 7px solid #fbf0e3;
      display: inline-block;
      width: 0;
      height: 0;
      vertical-align: middle; }
    footer a.safe {
      display: table;
      margin: 15px auto 0; }
      @media (min-width: 768px) {
        footer a.safe {
          float: right;
          margin: -12px 0 0 0; } }
    footer a i {
      display: inline-block;
      vertical-align: middle;
      width: 50px;
      margin: 0 10px 0 0; }
  footer .address {
    border-top: 1px dotted #ccc;
    margin-top: 15px;
    padding-top: 15px; }
    @media (min-width: 768px) {
      footer .address {
        margin: 0;
        padding: 30px 0 0 0; } }
  footer .copyright {
    color: #aaa;
    margin-top: 10px; }

/*------------------------------------------*/
#toppage {
  position: relative; }
  @media (min-width: 768px) {
    #toppage nav {
      position: absolute;
      top: 117px;
      left: 50%;
      margin-left: 349px; } }
  #toppage nav ul {
    margin: 0 0 5px;
    padding: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (min-width: 768px) {
      #toppage nav ul {
        display: block; } }
    #toppage nav ul li {
      margin: 0 0 10px;
      padding: 0;
      list-style: none;
      width: calc(50% - 5px); }
      @media (min-width: 768px) {
        #toppage nav ul li {
          width: 151px;
          display: block; } }
      #toppage nav ul li a {
        display: block;
        background: rgba(0, 0, 0, 0.56);
        text-align: center;
        color: #fbf0e3;
        padding: 10px 0;
        text-decoration: none;
        font-size: 15px; }
        #toppage nav ul li a img {
          width: 70%; }
  #toppage #top_slide {
    height: calc(100vh - 100px);
    max-height: 150vw;
    background: #ccc;
    margin: 0 0 15px; }
    @media (min-width: 768px) {
      #toppage #top_slide {
        height: calc(100vh - 122px - 200px);
        max-height: 100vh;
        min-height: 850px;
        margin: 0; } }
    #toppage #top_slide .bg {
      height: calc(100vh - 100px);
      max-height: 150vw;
      background: no-repeat center center / cover; }
      @media (min-width: 768px) {
        #toppage #top_slide .bg {
          height: calc(100vh - 122px - 200px);
          max-height: 100vh;
          min-height: 850px; } }
    #toppage #top_slide .bg1 {
      background-image: url("../../images/front/mainimage1_sp.jpg"); }
      @media (min-width: 768px) {
        #toppage #top_slide .bg1 {
          background-image: url("../../images/front/mainimage1_pc.jpg"); } }
    #toppage #top_slide .bg2 {
      background-image: url("../../images/front/mainimage2_sp.jpg"); }
      @media (min-width: 768px) {
        #toppage #top_slide .bg2 {
          background-image: url("../../images/front/mainimage2_pc.jpg"); } }
    #toppage #top_slide .bg3 {
      background-image: url("../../images/front/mainimage3_sp.jpg"); }
      @media (min-width: 768px) {
        #toppage #top_slide .bg3 {
          background-image: url("../../images/front/mainimage3_pc.jpg"); } }
    #toppage #top_slide .bg4 {
      background-image: url("../../images/front/mainimage4_sp.jpg"); }
      @media (min-width: 768px) {
        #toppage #top_slide .bg4 {
          background-image: url("../../images/front/mainimage4_pc.jpg"); } }
    #toppage #top_slide .bg5 {
      background-image: url("../../images/front/mainimage5_sp.jpg"); }
      @media (min-width: 768px) {
        #toppage #top_slide .bg5 {
          background-image: url("../../images/front/mainimage5_pc.jpg"); } }
    #toppage #top_slide .bg6 {
      background-image: url("../../images/front/mainimage6_sp.jpg"); }
      @media (min-width: 768px) {
        #toppage #top_slide .bg6 {
          background-image: url("../../images/front/mainimage6_pc.jpg"); } }
    #toppage #top_slide .slick-prev {
      left: 15px;
      opacity: 1;
      width: 40px;
      height: 40px;
      z-index: 500; }
      @media (min-width: 768px) {
        #toppage #top_slide .slick-prev {
          background: #fbf0e3;
          border-radius: 100px;
          width: 60px;
          height: 60px;
          left: calc((50vw - 500px) / 2 - 25px); } }
      #toppage #top_slide .slick-prev::before {
        display: block;
        content: "";
        border-bottom: 2px solid #e07f14;
        border-left: 2px solid #e07f14;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(45deg);
        opacity: 1; }
        @media (min-width: 768px) {
          #toppage #top_slide .slick-prev::before {
            margin-left: 5px; } }
    #toppage #top_slide .slick-next {
      right: 15px;
      opacity: 1;
      width: 40px;
      height: 40px;
      z-index: 500; }
      @media (min-width: 768px) {
        #toppage #top_slide .slick-next {
          background: #fbf0e3;
          border-radius: 100px;
          width: 60px;
          height: 60px;
          right: calc((50vw - 500px) / 2 - 25px); } }
      #toppage #top_slide .slick-next::before {
        display: block;
        content: "";
        border-top: 2px solid #e07f14;
        border-right: 2px solid #e07f14;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(45deg);
        opacity: 1; }
        @media (min-width: 768px) {
          #toppage #top_slide .slick-next::before {
            margin-left: -5px; } }
  #toppage .sp_slide_upper {
    height: calc(100vh - 100px);
    max-height: 150vw;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 15px;
    box-sizing: border-box; }
    @media (min-width: 768px) {
      #toppage .sp_slide_upper {
        height: calc(100vh - 122px - 200px);
        max-height: 100vh;
        min-height: 850px;
        left: 50%;
        width: 1000px;
        margin-left: -500px;
        padding: 0; } }
  #toppage h1 {
    width: 145px;
    margin: 0 0 20px;
    padding: 0; }
    @media (min-width: 768px) {
      #toppage h1 {
        width: auto;
        margin: 100px 0 30px; } }
  #toppage .movie {
    width: 135px; }
    @media (min-width: 768px) {
      #toppage .movie {
        width: 233px; } }
    #toppage .movie::after {
      width: 30px;
      height: 30px; }
      @media (min-width: 768px) {
        #toppage .movie::after {
          width: 40px;
          height: 40px; } }
  #toppage #newsticker {
    position: absolute;
    bottom: 15px;
    left: 15px;
    width: calc(100% - 30px);
    background: #fbf0e3; }
    @media (min-width: 768px) {
      #toppage #newsticker {
        width: 100%;
        bottom: 50px;
        left: 0;
        display: flex;
        justify-content: flex-start; } }
    #toppage #newsticker h2 {
      background: #262626;
      color: #fbf0e3;
      padding: 5px 10px;
      margin: 0;
      font-size: 12px; }
      @media (min-width: 768px) {
        #toppage #newsticker h2 {
          width: 130px;
          box-sizing: border-box;
          font-size: 16px;
          display: flex;
          align-items: center;
          padding: 10px 20px; } }
    #toppage #newsticker .slick-prev {
      position: absolute;
      left: inherit;
      top: -15px;
      right: 50px;
      opacity: 1; }
      @media (min-width: 768px) {
        #toppage #newsticker .slick-prev {
          top: 50%;
          right: inherit;
          left: -90px; } }
      #toppage #newsticker .slick-prev::before {
        display: block;
        content: "";
        border-bottom: 3px solid #fbf0e3;
        border-left: 3px solid #fbf0e3;
        width: 5px;
        height: 5px;
        transform: translate(-50%, -50%) rotate(45deg);
        opacity: 1;
        position: absolute;
        top: 50%;
        left: 50%; }
    #toppage #newsticker .slick-next {
      position: absolute;
      left: inherit;
      top: -15px;
      right: 30px;
      opacity: 1; }
      @media (min-width: 768px) {
        #toppage #newsticker .slick-next {
          top: 50%;
          right: inherit;
          left: -67px; } }
      #toppage #newsticker .slick-next::before {
        display: block;
        content: "";
        border-top: 3px solid #fbf0e3;
        border-right: 3px solid #fbf0e3;
        width: 5px;
        height: 5px;
        transform: translate(-50%, -50%) rotate(45deg);
        opacity: 1;
        position: absolute;
        top: 50%;
        left: 50%;
        opacity: 1; }
    #toppage #newsticker .control {
      position: absolute;
      top: 9px;
      right: 10px; }
      @media (min-width: 768px) {
        #toppage #newsticker .control {
          position: relative;
          width: 130px;
          background: #262626;
          top: 0;
          right: 0; } }
    #toppage #newsticker .js-play {
      width: 15px;
      height: 10px;
      text-indent: -999em;
      overflow: hidden;
      display: none;
      cursor: pointer; }
      @media (min-width: 768px) {
        #toppage #newsticker .js-play {
          position: absolute;
          top: 50%;
          right: 20px;
          transform: translateY(-50%); } }
      #toppage #newsticker .js-play::before {
        content: "";
        display: block;
        width: 0px;
        height: 0;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 8px solid #fbf0e3;
        margin: 0 auto; }
    #toppage #newsticker .js-pause {
      width: 15px;
      height: 10px;
      text-align: center;
      text-indent: -999em;
      overflow: hidden;
      display: block;
      cursor: pointer; }
      @media (min-width: 768px) {
        #toppage #newsticker .js-pause {
          position: absolute;
          top: 50%;
          right: 20px;
          transform: translateY(-50%); } }
      #toppage #newsticker .js-pause::before {
        content: "";
        display: block;
        width: 3px;
        height: 10px;
        border-left: 3px solid #fbf0e3;
        border-right: 3px solid #fbf0e3;
        margin: 0 auto; }
    @media (min-width: 768px) {
      #toppage #newsticker .ticker {
        width: 740px; } }
    #toppage #newsticker .ticker .slick-slide {
      padding: 5px 10px;
      font-size: 12px; }
      @media (min-width: 768px) {
        #toppage #newsticker .ticker .slick-slide {
          font-size: 16px;
          padding: 10px 30px; } }
      #toppage #newsticker .ticker .slick-slide .date {
        font-size: 11px;
        margin: 0 0 3px; }
        @media (min-width: 768px) {
          #toppage #newsticker .ticker .slick-slide .date {
            display: inline-block;
            font-size: 16px;
            margin: 0 20px 0 0; } }
      #toppage #newsticker .ticker .slick-slide a {
        color: #ed1c24;
        text-decoration: none; }
        #toppage #newsticker .ticker .slick-slide a:after {
          display: inline-block;
          content: "";
          border-top: 2px solid #ed1c24;
          border-right: 2px solid #ed1c24;
          width: 4px;
          height: 4px;
          vertical-align: middle;
          transform: rotate(45deg);
          opacity: 1; }

/*------------------------------------------*/
.pagetitle {
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 768px) {
    .pagetitle {
      height: 280px; } }
  .pagetitle._eg24 {
    background: url(../../images/front/pagetitle_FaceInTV.jpg) no-repeat left center/cover; }
  .pagetitle._shop {
    background: url(../../images/front/pagetitle_shop.jpg) no-repeat left center/cover; }
  .pagetitle._price {
    background: url(../../images/front/pagetitle_price.jpg) no-repeat left center/cover; }
  .pagetitle._membership {
    background: url(../../images/front/pagetitle_member.jpg) no-repeat center center/cover; }
  .pagetitle._company {
    background: url(../../images/front/pagetitle_company.jpg) no-repeat left center/cover; }
  .pagetitle._safety {
    background: url(../../images/front/pagetitle_safety.jpg) no-repeat center center/cover; }
  .pagetitle._news {
    background: url(../../images/front/pagetitle_news.jpg) no-repeat left center/cover; }
  .pagetitle._policy {
    background: url(../../images/front/pagetitle_policy.jpg) no-repeat center center/cover; }
  .pagetitle._instructors {
    background: url(../../images/front/pagetitle_instructors.jpg) no-repeat left center/cover; }
  .pagetitle h1 {
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    color: #fbf0e3;
    text-shadow: 0 4px 5px rgba(0, 0, 0, 0.8); 
    position: relative; }
    @media (min-width: 768px) {
      .pagetitle h1 {
        font-size: 40px; } }

/*------------------------------------------*/
.bread {
  margin-top: 10px; }
  @media (min-width: 768px) {
    .bread {
      margin-top: 15px; } }
  .bread ol {
    display: block;
    margin: 0;
    padding: 0;
    overflow: hidden; }
    .bread ol li {
      display: inline-block;
      margin: 0;
      padding: 0;
      list-style: none;
      font-size: 10px;
      float: left; }
      @media (min-width: 768px) {
        .bread ol li {
          font-size: 11px; } }
      .bread ol li::after {
        content: ">";
        display: inline-block;
        margin: 0 0.5em 0 0.2em; }
      .bread ol li:last-child::after {
        display: none; }
      .bread ol li a {
        text-decoration: none; }

/*------------------------------------------*/
main#local h2 {
  text-align: center;
  margin: 0  0 30px;
  font-size: 20px; }
  @media (min-width: 768px) {
    main#local h2 {
      font-size: 24px; } }
main#local .lead {
  font-size: 14px;
  text-align: center;
  margin: 0  0 25px; }
  @media (min-width: 768px) {
    main#local .lead {
      font-size: 15px;
      margin: 0  0 50px; } }

/*------------------------------------------*/
ul.framelist {
  margin: 0 0 0;
  padding: 0; }
  @media (min-width: 768px) {
    ul.framelist {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: -40px 0 0 0; } }
  ul.framelist._onbtn > li {
    margin-bottom: 100px !important; }
    @media (min-width: 768px) {
      ul.framelist._onbtn > li {
        margin-bottom: 70px !important; } }
  ul.framelist > li {
    margin: 30px 0 0;
    padding: 0 0 25px;
    list-style: none;
    border: 1px solid #ccc;
    border-radius: 2vw;
    box-sizing: border-box;
    position: relative; }
    @media (min-width: 768px) {
      ul.framelist > li {
        width: 490px;
        border-radius: 10px;
        margin: 40px 0 0; } }
    ul.framelist > li::after {
      content: "";
      width: 100%;
      height: 7px;
      background: url(../../images/front/frame_shadow.png) no-repeat center center/100% 100%;
      position: absolute;
      bottom: -1px;
      left: 0;
      transform: translateY(100%); }
      @media (min-width: 768px) {
        ul.framelist > li::after {
          height: 10px; } }
    ul.framelist > li figure {
      overflow: hidden;
      margin: -1px -1px 0;
      border-radius: 1.8vw 1.8vw 0 0; }
      @media (min-width: 768px) {
        ul.framelist > li figure {
          border-radius: 9px 9px 0 0; } }
      ul.framelist > li figure.in {
        margin: 0; }
    ul.framelist > li .ribbon {
      width: 50px;
      position: absolute;
      top: -6px;
      left: 15px; }
      @media (min-width: 768px) {
        ul.framelist > li .ribbon {
          left: 30px;
          width: 75px;
          top: -9px; } }
    ul.framelist > li .ribbon2 {
      width: 114px;
      height: 110px;
      position: absolute;
      top: -8px;
      right: -8px; }
    ul.framelist > li h3 {
      margin: 20px 20px 10px;
      padding: 0;
      font-size: 16px;
      color: #e07f14;
      position: relative; }
      @media (min-width: 768px) {
        ul.framelist > li h3 {
          margin: 20px 40px 10px;
          font-size: 20px; } }
      ul.framelist > li h3.title {
        padding-left: 25px; }
        @media (min-width: 768px) {
          ul.framelist > li h3.title {
            padding-left: 40px; } }
        ul.framelist > li h3.title::before {
          content: "";
          position: absolute;
          left: 0;
          top: 50%;
          width: 20px;
          height: 26px;
          margin-top: -15px;
          background: url(../../images/front/emblem.png) no-repeat center center/contain;
          display: block; }
          @media (min-width: 768px) {
            ul.framelist > li h3.title::before {
              width: 30px;
              height: 40px;
              margin-top: -22px; } }
    ul.framelist > li p {
      margin: 0 20px; }
      @media (min-width: 768px) {
        ul.framelist > li p {
          margin: 0 40px; } }
    ul.framelist > li ul.icon {
      margin: 20px 0 0;
      padding: 0;
      text-align: center; }
      ul.framelist > li ul.icon li {
        margin: 0;
        padding: 0;
        list-style: none;
        display: inline-block;
        width: 30px; }
        @media (min-width: 768px) {
          ul.framelist > li ul.icon li {
            width: 50px; } }
    ul.framelist > li a.linkbtn {
      width: 200px;
      border: 2px solid #e07f14;
      border-radius: 5px;
      position: absolute;
      bottom: -70px;
      left: 50%;
      margin-left: -100px;
      line-height: 40px;
      font-weight: bold;
      text-align: center;
      text-decoration: none; }
      ul.framelist > li a.linkbtn::before {
        content: "";
        display: inline-block;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        width: 6px;
        height: 6px;
        transform: rotate(45deg);
        margin-right: 10px; }

/*------------------------------------------*/
ul.pricelist {
  margin: 0 0 0;
  padding: 0; }
  @media (min-width: 768px) {
    ul.pricelist {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: -40px 0 0 0; } }
  ul.pricelist._onbtn > li {
    margin-bottom: 100px !important; }
    @media (min-width: 768px) {
      ul.pricelist._onbtn > li {
        margin-bottom: 70px !important; } }
  ul.pricelist > li {
    margin: 30px 0 0;
    padding: 0 0 25px;
    list-style: none;
    border: 1px solid #ccc;
    border-radius: 2vw;
    box-sizing: border-box;
    position: relative;
    text-align: center; }
    @media (min-width: 768px) {
      ul.pricelist > li {
        width: 318px;
        border-radius: 10px;
        margin: 40px 0 0; } }
    ul.pricelist > li.popular {
      border: 2px solid #e07f14; }
    ul.pricelist > li::after {
      content: "";
      width: 100%;
      height: 7px;
      background: url(../../images/front/frame_shadow.png) no-repeat center center/100% 100%;
      position: absolute;
      bottom: -1px;
      left: 0;
      transform: translateY(100%); }
      @media (min-width: 768px) {
        ul.pricelist > li::after {
          height: 10px; } }
    ul.pricelist > li .ribbon {
      width: 114px;
      height: 110px;
      position: absolute;
      top: -8px;
      right: -8px; }
    ul.pricelist > li h3 {
      margin: 20px 20px 10px;
      padding: 0;
      font-size: 16px;
      color: #000;
      position: relative; }
      @media (min-width: 768px) {
        ul.pricelist > li h3 {
          margin: 20px 40px 10px;
          font-size: 20px; } }
      ul.pricelist > li h3 .sub {
        color: #666;
        font-size: 11px;
        display: block;
        font-weight: normal; }
        @media (min-width: 768px) {
          ul.pricelist > li h3 .sub {
            font-size: 14px; } }
    ul.pricelist > li .price {
      background: #fafafa;
      padding: 5px 0;
      margin: 20px 0;
      font-size: 24px;
      font-weight: bold; }
      ul.pricelist > li .price strong {
        color: #e07f14;
        font-size: 43px; }
    ul.pricelist > li ul.check {
      margin: 20px 0 0;
      padding: 0;
      text-align: center; }
      ul.pricelist > li ul.check li {
        margin: 5px 0 0 0;
        padding: 0;
        list-style: none;
        color: #6c6c6c; }
        ul.pricelist > li ul.check li::before {
          content: "";
          display: inline-block;
          margin: 0 10px 0 0;
          background: no-repeat center center / contain;
          width: 12px;
          height: 12px;
          vertical-align: middle; }
        ul.pricelist > li ul.check li.ok::before {
          background-image: url(../../images/front/price_ok.png); }
        ul.pricelist > li ul.check li.ng::before {
          background-image: url(../../images/front/price_ng.png); }

/*------------------------------------------*/
/*------------------------------------------*/
#eg24_movie {
  text-align: center; }
  #eg24_movie button {
    max-width: 600px; }

/*------------------------------------------*/
/*------------------------------------------*/
#shop_detail .frame {
  background: #f2f7f6;
  padding: 20px 15px;
  margin: 0 -15px; }
  @media (min-width: 768px) {
    #shop_detail .frame {
      padding: 50px 85px;
      margin: 0; } }
  #shop_detail .frame #slider {
    margin: 0  0 20px; }
    #shop_detail .frame #slider .slick-prev {
      left: 15px;
      opacity: 1;
      width: 40px;
      height: 40px;
      z-index: 500; }
      @media (min-width: 768px) {
        #shop_detail .frame #slider .slick-prev {
          width: 60px;
          height: 60px; } }
      #shop_detail .frame #slider .slick-prev::before {
        display: block;
        content: "";
        border-bottom: 2px solid #fbf0e3;
        border-left: 2px solid #fbf0e3;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(45deg);
        opacity: 1; }
    #shop_detail .frame #slider .slick-next {
      right: 15px;
      opacity: 1;
      width: 40px;
      height: 40px;
      z-index: 500; }
      @media (min-width: 768px) {
        #shop_detail .frame #slider .slick-next {
          width: 60px;
          height: 60px; } }
      #shop_detail .frame #slider .slick-next::before {
        display: block;
        content: "";
        border-top: 2px solid #fbf0e3;
        border-right: 2px solid #fbf0e3;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(45deg);
        opacity: 1; }
  #shop_detail .frame #thumbnail-list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: -2vw 0 0 -2vw; }
    @media (min-width: 768px) {
      #shop_detail .frame #thumbnail-list {
        margin: -20px 0 0 -20px; } }
    #shop_detail .frame #thumbnail-list .thumbnail-item {
      width: calc((100% / 4) - 2vw);
      height: 0;
      padding-top: calc((100% / 4) - 2vw);
      margin: 2vw 0 0 2vw;
      position: relative;
      overflow: hidden;
      opacity: 0.8;
      transition: 0.3s;
      cursor: pointer; }
      @media (min-width: 768px) {
        #shop_detail .frame #thumbnail-list .thumbnail-item {
          width: 110px;
          height: 110px;
          margin: 20px 0 0 20px;
          padding: 0; } }
      #shop_detail .frame #thumbnail-list .thumbnail-item img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: auto;
        height: 100%;
        max-width: 1000%;
        transform: translate(-50%, -50%); }
      #shop_detail .frame #thumbnail-list .thumbnail-item.thumbnail-current {
        opacity: 1; }
#shop_detail .reserve {
  margin: 20px 0; }
  @media (min-width: 768px) {
    #shop_detail .reserve {
      margin: 30px 0; } }
  #shop_detail .reserve a {
    width: 150px;
    border: 2px solid #e07f14;
    border-radius: 5px;
    line-height: 40px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    display: block;
    background: #fbf0e3; }
    #shop_detail .reserve a::before {
      content: "";
      display: inline-block;
      border-top: 2px solid #000;
      border-right: 2px solid #000;
      width: 6px;
      height: 6px;
      transform: rotate(45deg);
      margin-right: 10px; }
#shop_detail h3 {
  position: relative;
  font-size: 18px;
  margin: 30px 0 0;
  padding: 0 0 10px;
  color: #e07f14;
  border-bottom: 1px solid #e07f14; }
  @media (min-width: 768px) {
    #shop_detail h3 {
      font-size: 22px;
      margin: 50px 0 0;
      padding: 0 0 20px; } }
  #shop_detail h3.title::after {
    content: "";
    width: 20px;
    height: 26px;
    background: url(../../images/front/emblem.png) no-repeat center center/contain;
    display: inline-block;
    vertical-align: middle;
    margin: -2px 0 0 10px; }
    @media (min-width: 768px) {
      #shop_detail h3.title::after {
        width: 30px;
        height: 40px;
        margin: -3px 0 0 10px; } }
#shop_detail dl {
  margin: 0;
  padding: 0; }
  #shop_detail dl dt {
    float: left;
    margin: 0;
    padding: 10px 0;
    font-size: 14px;
    font-weight: bold;
    line-height: 25px;
    clear: both; }
    @media (min-width: 768px) {
      #shop_detail dl dt {
        font-size: 15px;
        padding: 15px 0; } }
  #shop_detail dl dd {
    margin: 0;
    padding: 10px 0 10px 7em;
    border-bottom: 1px solid #ccd0d0;
    line-height: 25px;
    font-size: 13px; }
    @media (min-width: 768px) {
      #shop_detail dl dd {
        padding: 15px 0 15px 7em;
        font-size: 14px; } }
    #shop_detail dl dd span {
      display: inline-block;
      padding-right: 30px;
      position: relative; }
      @media (min-width: 768px) {
        #shop_detail dl dd span {
          padding-right: 40px; } }
      #shop_detail dl dd span::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 0;
        width: 20px;
        height: 20px;
        background: no-repeat center center / contain;
        transform: translateY(-50%); }
        @media (min-width: 768px) {
          #shop_detail dl dd span::after {
            width: 30px;
            height: 30px; } }
      #shop_detail dl dd span.icon1::after {
        background-image: url(../../images/front/shopicon2_1.png); }
      #shop_detail dl dd span.icon2::after {
        background-image: url(../../images/front/shopicon2_2.png); }
      #shop_detail dl dd span.icon3::after {
        background-image: url(../../images/front/shopicon2_3.png); }
      #shop_detail dl dd span.icon4::after {
        background-image: url(../../images/front/shopicon2_4.png); }
      #shop_detail dl dd span.icon5::after {
        background-image: url(../../images/front/shopicon2_5.png); }
      #shop_detail dl dd span.icon6::after {
        background-image: url(../../images/front/shopicon2_6.png); }
      #shop_detail dl dd span.icon7::after {
        background-image: url(../../images/front/shopicon2_7.png); }
#shop_detail .googlemap {
  margin-top: 20px; }
  @media (min-width: 768px) {
    #shop_detail .googlemap {
      margin-top: 50px; } }
  #shop_detail .googlemap iframe {
    width: 100%;
    height: 300px; }
    @media (min-width: 768px) {
      #shop_detail .googlemap iframe {
        height: 500px; } }

/*------------------------------------------*/
@media (min-width: 768px) {
  .column_wrap {
    display: flex;
    justify-content: space-between; } }
.column_wrap .column_main {
  margin: 0 0 30px; }
  @media (min-width: 768px) {
    .column_wrap .column_main {
      margin: -60px 0;
      width: 745px; } }
@media (min-width: 768px) {
  .column_wrap .column_sub {
    width: 236px; }
    .column_wrap .column_sub .sidenavi {
      position: sticky;
      top: 150px; } }
.column_wrap .column_sub h3 {
  margin: 0;
  padding: 0px 15px 0 50px;
  height: 40px;
  color: #fbf0e3;
  font-size: 15px;
  background: no-repeat 15px center/20px #e07f14;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: 1.2; }
  @media (min-width: 768px) {
    .column_wrap .column_sub h3 {
      font-size: 16px;
      padding: 0 15px 0 60px;
      height: 50px;
      background: no-repeat 15px center/30px #e07f14; } }
.column_wrap .column_sub ul {
  margin: 0;
  padding: 0; }
  .column_wrap .column_sub ul li {
    margin: 0;
    padding: 0;
    list-style: none;
    border-bottom: 1px solid #ccc; }
    .column_wrap .column_sub ul li a {
      display: block;
      padding: 10px 10px 10px 30px;
      position: relative;
      text-decoration: none;
      font-size: 14px; }
      @media (min-width: 768px) {
        .column_wrap .column_sub ul li a {
          font-size: 15px; } }
      .column_wrap .column_sub ul li a::before {
        content: "";
        width: 7px;
        height: 7px;
        border-top: 2px solid #e07f14;
        border-right: 2px solid #e07f14;
        position: absolute;
        top: 50%;
        left: 10px;
        transform: translateY(-50%) rotate(45deg); }

/*------------------------------------------*/
main#local #company h2 {
  position: relative;
  font-size: 18px;
  margin: 30px 0 0;
  text-align: left;
  padding: 0 0 10px;
  color: #e07f14;
  border-bottom: 1px solid #e07f14; }
  @media (min-width: 768px) {
    main#local #company h2 {
      font-size: 22px;
      margin: 50px 0 0;
      padding: 0 0 10px; } }
main#local #company dl {
  margin: 0;
  padding: 0; }
  main#local #company dl dt {
    float: left;
    margin: 0;
    padding: 10px 0;
    font-size: 14px;
    font-weight: bold;
    line-height: 25px;
    clear: both; }
    @media (min-width: 768px) {
      main#local #company dl dt {
        font-size: 15px;
        padding: 15px 0; } }
  main#local #company dl dd {
    margin: 0;
    padding: 10px 0 10px 7em;
    border-bottom: 1px solid #ccd0d0;
    line-height: 25px;
    font-size: 13px; }
    @media (min-width: 768px) {
      main#local #company dl dd {
        padding: 15px 0 15px 7em;
        font-size: 14px; } }
main#local #company .googlemap {
  margin-bottom: 10px;
  padding: 15px 0;
  border-bottom: 1px solid #ccd0d0; }
  @media (min-width: 768px) {
    main#local #company .googlemap {
      margin-bottom: 15px;
      padding: 30px 0; } }
  main#local #company .googlemap iframe {
    width: 100%;
    height: 300px; }
    @media (min-width: 768px) {
      main#local #company .googlemap iframe {
        height: 500px; } }
main#local #company .sidenavi h3 {
  background-image: url(../../images/front/sideicon_1.png); }

/*------------------------------------------*/
main#local #news h2 {
  margin-bottom: 10px; }
  @media (min-width: 768px) {
    main#local #news h2 {
      margin-bottom: 20px; } }
main#local #news .frame {
  background: #f2f7f6;
  padding: 20px 15px 0;
  margin: 0 -15px;
  position: relative;
  overflow: hidden; }
  @media (min-width: 768px) {
    main#local #news .frame {
      padding: 50px 50px 0;
      margin: 0; } }
  main#local #news .frame::after {
    content: "";
    width: 100%;
    height: 7px;
    background: url(../../images/front/frame_shadow.png) no-repeat center center/100% 100%;
    position: absolute;
    bottom: 0px;
    left: 0;
    transform: translateY(100%); }
    @media (min-width: 768px) {
      main#local #news .frame::after {
        height: 10px; } }
main#local #news .all {
  background: #e07f14; }
main#local #news .info {
  background: #fc010d; }
main#local #news .event {
  background: #f87e07; }
main#local #news ul.newslabel {
  margin: 0 0 20px;
  padding: 0; }
  main#local #news ul.newslabel li {
    margin: 0 5px 0 0;
    width: 70px;
    display: inline-block;
    text-align: center;
    color: #fbf0e3;
    padding: 3px 0;
    font-size: 12px; }
main#local #news ul.newslist {
  margin: 0 0 20px;
  padding: 0;
  border-top: 1px solid #ccd0d0; }
  @media (min-width: 768px) {
    main#local #news ul.newslist {
      margin: 0 0 50px; } }
  main#local #news ul.newslist li {
    margin: 0;
    padding: 15px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    border-bottom: 1px solid #ccd0d0; }
    @media (min-width: 768px) {
      main#local #news ul.newslist li {
        padding: 20px 0; } }
    main#local #news ul.newslist li em {
      display: block;
      width: 70px;
      text-align: center;
      color: #fbf0e3;
      padding: 3px 0;
      font-size: 12px; }
    main#local #news ul.newslist li .text {
      width: 100%;
      margin-top: 10px; }
      @media (min-width: 768px) {
        main#local #news ul.newslist li .text {
          width: 420px;
          margin: 0; } }
      main#local #news ul.newslist li .text a {
        color: #ed1c24;
        text-decoration: none; }
        main#local #news ul.newslist li .text a:after {
          display: inline-block;
          content: "";
          border-top: 2px solid #ed1c24;
          border-right: 2px solid #ed1c24;
          width: 4px;
          height: 4px;
          vertical-align: middle;
          transform: rotate(45deg);
          opacity: 1; }
main#local #news .sidenavi h3 {
  background-image: url(../../images/front/sideicon_2.png); }

/*------------------------------------------*/
#news_detail .date {
  text-align: right;
  margin: -40px 0 20px; }
#news_detail .frameinner {
  border-top: 1px solid #ccd0d0;
  border-bottom: 1px solid #ccd0d0;
  padding: 20px 0;
  margin: 0  0 20px; }
  @media (min-width: 768px) {
    #news_detail .frameinner {
      padding: 40px 0;
      margin: 0  0 50px; } }
  #news_detail .frameinner *:last-child {
    margin-bottom: 0; }
#news_detail figure {
  text-align: center;
  margin: 20px 0; }

/*------------------------------------------*/
main#local #policy h2 {
  position: relative;
  font-size: 18px;
  margin: 30px 0 0;
  text-align: left;
  padding: 0 0 10px;
  color: #e07f14;
  border-bottom: 1px solid #e07f14; }
  @media (min-width: 768px) {
    main#local #policy h2 {
      font-size: 22px;
      margin: 50px 0 0;
      padding: 0 0 10px; } }
main#local #policy .column_main h3, main#local #policy .column_main h4 {
  margin: 0;
  padding: 0; }
main#local #policy .column_main ol + h3,
main#local #policy .column_main ul + h3,
main#local #policy .column_main p + h3 {
  margin-top: 30px; }
main#local #policy .column_main ol {
  margin: 0;
  padding: 0 0 0 1.5em; }
  main#local #policy .column_main ol li {
    margin: 10px 0;
    padding: 0; }
    main#local #policy .column_main ol li ol li {
      margin: 10px 0; }
main#local #policy .sidenavi h3 {
  background-image: url(../../images/front/sideicon_3.png); }

/*------------------------------------------*/
#login {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  min-height: 500px; }
  @media (min-width: 768px) {
    #login {
      min-height: 550px; } }
  #login section {
    width: 80%; }
    @media (min-width: 768px) {
      #login section {
        width: auto; } }
  #login .logo {
    margin: 0 auto 20px;
    padding: 0  0 20px;
    position: relative;
    text-align: center; }
    @media (min-width: 768px) {
      #login .logo {
        width: 470px;
        max-width: 100%; } }
    #login .logo img {
      width: 126px; }
      @media (min-width: 768px) {
        #login .logo img {
          width: 176px; } }
    #login .logo::after {
      content: "";
      width: 100%;
      height: 7px;
      background: url(../../images/front/header_shadow.png) no-repeat center center/100% 100%;
      position: absolute;
      bottom: 0px;
      left: 0;
      transform: translateY(100%);
      opacity: 0.8; }
      @media (min-width: 768px) {
        #login .logo::after {
          height: 10px; } }
  #login h1 {
    text-align: center;
    font-size: 16px; }
    #login h1::before {
      content: "";
      display: inline-block;
      width: 34px;
      height: 34px;
      background: url(../../images/front/login0.svg) no-repeat center center/contain;
      vertical-align: middle;
      margin: 0 10px 0 0;
      transform: translateY(-2px); }
  #login .id,
  #login .pw {
    width: 100%;
    max-width: 376px;
    position: relative;
    margin: 16px auto;
    text-align: center;
    display: block; }
    #login .id:after,
    #login .pw:after {
      content: "";
      display: block;
      width: 16px;
      height: 16px;
      background: no-repeat center center / contain;
      position: absolute;
      top: 50%;
      left: 20px;
      margin-top: -8px; }
  #login .id::after {
    background-image: url(../../images/front/login1.svg); }
  #login .pw::after {
    background-image: url(../../images/front/login2.svg); }
  #login input[type="text"],
  #login input[type="password"] {
    width: 100%;
    height: 48px;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #d2d2d2;
    border-radius: 5px; }
  #login .sub {
    width: 100%;
    max-width: 376px;
    margin: 0 auto 30px;
    color: #999;
    font-size: 11px;
    font-weight: bold;
    display: flex;
    justify-content: space-between; }
    @media (max-width: 399px) {
      #login .sub {
        font-size: 10px; } }
    #login .sub a {
      color: #999; }
    #login .sub input[type="checkbox"] {
      margin-right: 5px; }
  #login button[type="submit"] {
    background: #e07f14;
    text-align: center;
    height: 48px;
    color: #fbf0e3;
    font-weight: bold;
    border-radius: 5px;
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.2);
    border: none;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    max-width: 376px;
    margin: 0 auto 0px;
    display: block; }
    
    #login a.greenBtn{
    background: #e07f14;
    text-align: center;
    height: 48px;
    color: #fbf0e3;
    font-weight: bold;
    border-radius: 5px;
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.2);
    border: none;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    max-width: 376px;
    margin: 0 auto 0px;
    text-align: center;
    line-height: 48px;
    text-decoration: none;
    display: block; }
    
    #login a.greenBtn:hover{
    	opacity: 1;
    }


/*------------------------------------------*/
main#booking h1 {
  color: #e07f14;
  margin: 0 0 15px;
  padding: 0 0 5px;
  border-bottom: 1px solid #e07f14;
  font-size: 18px;
  position: relative; }
  @media (min-width: 768px) {
    main#booking h1 {
      font-size: 22px; } }
main#booking .booking_search {
  margin: 0 0 5vw; }
  @media (min-width: 768px) {
    main#booking .booking_search {
      margin: 0 0 30px; } }
  main#booking .booking_search dl {
    margin: 0 0 0px;
    padding: 0;
    color: #6c6c6c;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (min-width: 768px) {
      main#booking .booking_search dl {
        justify-content: center;
        margin: 0 0 15px; } }
    main#booking .booking_search dl dt {
      margin: 0 10px 10px 0;
      padding: 0;
      border: 1px solid #d2d2d2;
      width: 100px;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 36px;
      border-radius: 5px;
      text-align: center;
      font-size: 12px;
      font-weight: bold;
      box-sizing: border-box; }
      @media (min-width: 768px) {
        main#booking .booking_search dl dt {
          width: auto;
          display: inline-block;
          font-size: 13px;
          padding: 0 10px; } }
    main#booking .booking_search dl dd {
      margin: 0 0 10px;
      padding: 0;
      width: calc(100% - 110px);
      display: inline-block; }
      @media (min-width: 768px) {
        main#booking .booking_search dl dd {
          width: auto;
          margin: 0 10px 0 0; }
          main#booking .booking_search dl dd:last-child {
            margin: 0; } }
    main#booking .booking_search dl.reserve dt {
      width: 70px; }
      @media (min-width: 768px) {
        main#booking .booking_search dl.reserve dt {
          width: 75px; } }
    main#booking .booking_search dl.reserve dd {
      width: calc(100% - 80px); }
      @media (min-width: 768px) {
        main#booking .booking_search dl.reserve dd {
          width: auto; } }
  main#booking .booking_search select {
    width: 100%;
    height: 38px;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #d2d2d2;
    border-radius: 5px;
    font-size: 12px;
    box-sizing: border-box;
    padding: 0 10px; }
    @media (min-width: 768px) {
      main#booking .booking_search select {
        font-size: 13px;
        width: 270px; } }
  main#booking .booking_search .shop {
    display: block;
    position: relative; }
    @media (min-width: 768px) {
      main#booking .booking_search .shop {
        display: inline-block; } }
    main#booking .booking_search .shop::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 15px;
      background: url(../../images/front/booking_shop.svg) no-repeat center center/contain;
      width: 16px;
      height: 16px;
      margin-top: -8px;
      pointer-events: none; }
      @media screen and (-webkit-min-device-pixel-ratio: 0) {
        main#booking .booking_search .shop::before {
          display: none !important; } }
    main#booking .booking_search .shop select {
      padding-left: 40px; }
  main#booking .booking_search .date {
    display: block;
    position: relative; }
    @media (min-width: 768px) {
      main#booking .booking_search .date {
        float: left;
        margin-right: 10px;
        display: inline-block; } }
    main#booking .booking_search .date::before {
      content: "";
      position: absolute;
      top: 50%;
      left: 15px;
      background: url(../../images/front/booking_date.svg) no-repeat center center/contain;
      width: 16px;
      height: 16px;
      margin-top: -8px;
      pointer-events: none; }
    main#booking .booking_search .date::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 15px;
      background: url(../../images/front/booking_calendar.svg) no-repeat center center/contain;
      width: 28px;
      height: 28px;
      margin-top: -14px;
      pointer-events: none; }
    main#booking .booking_search .date input {
      padding-left: 40px;
      width: 100%;
      height: 38px;
      box-sizing: border-box;
      text-align: center;
      border: 1px solid #d2d2d2;
      border-radius: 5px;
      font-size: 12px;
      text-align: left; }
      @media (min-width: 768px) {
        main#booking .booking_search .date input {
          font-size: 13px;
          width: 270px; } }
  main#booking .booking_search .time {
    display: block;
    margin-top: 10px; }
    @media (min-width: 768px) {
      main#booking .booking_search .time {
        display: inline-block;
        margin-top: 0; } }
  main#booking .booking_search button {
    background: #e07f14;
    text-align: center;
    height: 38px;
    color: #fbf0e3;
    font-weight: bold;
    border-radius: 5px;
    border: none;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    margin: 0 auto 0px;
    display: block; }
    @media (min-width: 768px) {
      main#booking .booking_search button {
        width: 280px; } }
main#booking .frame {
  border: 10px solid #acd598;
  border-top-width: 20px;
  border-bottom-width: 20px;
  background: #f2f7f6;
  padding: 10px 10px;
  margin: 0 -15px;
  position: relative; }
  @media (min-width: 768px) {
    main#booking .frame {
      border-width: 14px;
      border-top-width: 28px;
      border-bottom-width: 28px;
      padding: 20px 20px;
      margin: 0; } }
  main#booking .frame::before {
    content: "";
    width: 100%;
    height: 10px;
    background: url(../../images/front/header_shadow.png) no-repeat center center/100% 100%;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translate(-50%, 0);
    opacity: 0.8; }
    @media (min-width: 768px) {
      main#booking .frame::before {
        height: 13px;
        top: -28px; } }
main#booking ul.booking_list {
  margin: -10px 0 0 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  main#booking ul.booking_list li {
    margin: 10px 0 0 0;
    padding: 0;
    list-style: none;
    position: relative;
    width: calc(50% - 5px); }
    main#booking ul.booking_list li.wide {
      width: 100%; }
    main#booking ul.booking_list li em {
      display: block;
      position: absolute;
      top: 8px;
      left: 8px;
      font-size: 12px;
      font-weight: bold;
      font-style: normal; }
      @media (min-width: 768px) {
        main#booking ul.booking_list li em {
          top: 15px;
          left: 15px;
          font-size: 15px; } }
    main#booking ul.booking_list li i {
      content: "";
      background: url("../../images/front/booking_30p.png") no-repeat center center/contain;
      display: block;
      position: absolute;
      top: 8px;
      right: 8px;
      width: 20px;
      height: 20px; }
      @media (min-width: 768px) {
        main#booking ul.booking_list li i {
          top: 15px;
          right: 15px;
          width: 40px;
          height: 40px; } }
    main#booking ul.booking_list li span {
      display: flex;
      justify-content: center;
      align-items: center;
      box-sizing: border-box;
      height: 60px;
      border: 1px solid #e07f14;
      background: #fbf0e3; }
      @media (min-width: 768px) {
        main#booking ul.booking_list li span {
          height: 120px; } }
    main#booking ul.booking_list li.checked span {
      border-width: 3px;
      background: #fef138;
      cursor: pointer; }
      
main#booking .circle { 
	top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    display: block;
    position: absolute;
    background: navy; 
   -moz-border-radius: 70px; 
   -webkit-border-radius: 70px; 
   border-radius: 70px;
}
main#booking .circle p{ 
	line-height: 2px;
	font-size:20px;
	color:white;
	font-weight: bold;
	letter-spacing: -1px;
	}
	
main#booking .circle.red{
	background: red !important; 
}

main#booking .circle.green{
	background: green !important; 
}

main#booking table.reserve_list {
  table-layout: fixed;
  text-align: center; 
  word-break:normal;}
  @media (min-width: 768px) {
  	main#booking table.reserve_list thead th {
  	width: 125px;
  	}
     }
  main#booking table.reserve_list thead th {
    border-left: 2px solid #f2f7f6;
    background: #e07f14;
    color: #fbf0e3;
    padding: 5px 10px;
    white-space: nowrap; }
    main#booking table.reserve_list thead th:first-child {
      border: none; }
  main#booking table.reserve_list tbody th {
    border-top: 2px solid #f2f7f6;
    white-space: nowrap; }
  main#booking table.reserve_list tbody td {
    border-top: 2px solid #f2f7f6;
    border-left: 2px solid #f2f7f6;
    min-width: 50px; }
    main#booking table.reserve_list tbody td img {
      width: 27px; }
      
      main#booking table.reserve_list tbody td .circle_min {
      width: 27px;
      height: 27px;
      background: gray;
      -moz-border-radius: 70px; 
	   -webkit-border-radius: 70px; 
	   border-radius: 70px;     
	   margin-left: auto;
  	  margin-right: auto;
      }
      
       main#booking table.reserve_list tbody td .circle_min p{
      line-height: 30px;
	font-size:12px;
	color:white;
	font-weight: bold;
	letter-spacing: -1px;    
	margin: 0 !important; 
      }
      
main#booking table.reserve_list tbody td .circle_min.green{
	background: green !important; 
}
	
main#booking table.reserve_list tbody td .circle_min.red{
	background: red !important; 
}

main#booking table.reserve_list tbody td .circle_min.navy{
	background: navy !important; 
}

main#booking table.reserve_list tbody td .circle_min.purple{
	background: purple !important; 
}

main#booking table.reserve_list tbody td .circle_min.gray{
	background: gray !important; 
}

main#booking table.reserve_list tbody td .circle_min.gold{
	background: gold !important; 
}
      
  main#booking table.reserve_list tbody th, main#booking table.reserve_list tbody td {
    background: #f7fff3;
    padding: 5px 10px; }
  main#booking table.reserve_list tbody tr:nth-of-type(2n) th, main#booking table.reserve_list tbody tr:nth-of-type(2n) td {
    background: #fbf0e3; }

.ui-widget.ui-widget-content {
  width: 270px !important;
  box-sizing: border-box !important; }
  @media (max-width: 767px) {
    .ui-widget.ui-widget-content {
      left: 15px !important;
      width: calc(100% - 30px) !important; } }

#memberdata {
  background: #e07f14;
  padding: 15px 15px 15px 65px;
  margin: 0  0 5vw;
  box-sizing: border-box;
  color: #fbf0e3;
  font-size: 16px;
  position: relative;
  font-weight: bold; }
  @media (min-width: 768px) {
    #memberdata {
      margin: 0  0 30px; } }
  #memberdata::before {
    content: "";
    width: 36px;
    height: 36px;
    position: absolute;
    top: 50%;
    left: 15px;
    margin-top: -18px;
    background: url(../../images/front/membericon.svg) no-repeat center center/contain; }
  #memberdata dl {
    margin: 0;
    padding: 0; }
    #memberdata dl dt {
      margin: 0;
      padding: 0;
      float: left;
      vertical-align: middle; }
      @media (min-width: 768px) {
        #memberdata dl dt {
          display: inline-block;
          float: none; } }
    #memberdata dl dd {
      margin: 0;
      padding: 0;
      overflow: hidden;
      vertical-align: middle; }
      @media (min-width: 768px) {
        #memberdata dl dd {
          display: inline-block; } }
      @media (min-width: 768px) {
        #memberdata dl dd + dt {
          margin-left: 25px; } }
          
          input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    color: transparent;
    background: transparent;
}


.ul-error {
    padding: 0 !important;
}

.li-error {
  display: inline-block;
  padding: 4px 7px;
  background-color: rgba(255, 0, 0, 0.05);
  color: #f20000;
  font-size: 16px;
  font-weight: normal;
}

.reservation-cancel{
	cursor: pointer;
}

.reservation-cancel:hover {
  text-decoration: underline;
}

/*------------------------------------------*/
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000; }

.modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%; }

.modal__content {
  background: #fbf0e3;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%); }
  .modal__content .modalcontent_inner {
    padding: 15px;
    width: calc(100vw - 30px);
    max-height: calc(100vh - 100px);
    box-sizing: border-box;
    overflow: auto; }
    @media (min-width: 768px) {
      .modal__content .modalcontent_inner {
        padding: 20px;
        width: 900px; } }
  .modal__content .js-modal-close {
    text-indent: -999em;
    position: absolute;
    top: -50px;
    right: 0;
    width: 50px;
    height: 50px;
    cursor: pointer; }
    .modal__content .js-modal-close::before {
      content: "┼";
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) rotate(45deg);
      color: #fbf0e3;
      font-size: 30px;
      text-indent: 0; }
      
        .modal__content .js-modal-close-store-details {
    text-indent: -999em;
    position: absolute;
    top: -50px;
    right: 0;
    width: 50px;
    height: 50px;
    cursor: pointer; }
    .modal__content .js-modal-close-store-details::before {
      content: "┼";
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) rotate(45deg);
      color: #fbf0e3;
      font-size: 30px;
      text-indent: 0; }
      
.floor-guide .title{
	font-size: 28px; 
	border-bottom: 8px solid #e07f14;
	font-weight: bold;
	text-align: center;
	line-height: 30px;
    margin: 5px 0;
}


.floor-guide .title .dot-font{
	/* text-emphasis-style: dot;
	text-emphasis-position: over left; */
	
	-webkit-text-emphasis: circle red;
    -moz-text-emphasis: circle red;
    -ms-text-emphasis: circle red;
    
    -webkit-text-emphasis-position: over left;
    -moz-text-emphasis-position: over left;
    -ms-text-emphasis-position: over left;
}

.floor-guide .bay-image {
	text-align: center;
	margin:10px 0 10px 0;
}
      
.floor-guide.modal__content {
  background: #fbf0e3;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%); }
  .floor-guide .modal__content .modalcontent_inner {
    padding: 0px;
    width: calc(100vw - 30px);
    max-height: calc(100vh - 100px);
    box-sizing: border-box;
    overflow: auto; }
    @media (min-width: 768px) {
     .floor-guide .modal__content .modalcontent_inner {
        padding: 20px;
        width: 600px; } 
        
     .floor-guide .title .big-font{
	font-size: 40px;
	}
	
	.text-area {
		display: flex;
	}	
	.floor-guide .floor-table {
		width: 280px;
	}	
	.floor-guide .contact {
		width: 280px;
	}
	 }
        
     @media (max-width: 767px){
     	.floor-guide .modal__content .modalcontent_inner{
    	overflow-y: auto; } 
    	
    	.floor-guide .title{
    	font-size: 18px !important;   }
    	
     	.floor-guide .title .big-font{
    	font-size: 26px;  }
    	
    	.floor-guide .floor-table {
		margin-bottom:20px;
		}
		.floor-guide .contact {
		margin-bottom:20px;
		}
			
    	}

	
	.floor-guide .floor-table .floor-name {
		text-align: right;
	}
	
	.floor-guide .floor-table .floor-info {
		text-align: left;
	}
	.floor-guide .floor-table .table-font-l {
		font-weight: bold;
		font-size: 18px; 
	}
	
	.floor-guide .floor-table .table-font-m {
		font-weight: bold;
		font-size: 15px; 
	}
	
	.floor-guide .floor-table .table-font-s{
		font-weight: bold;
		font-size: 12px; 
	}
	


	
.floor-guide .floor-table table {
	border-collapse: collapse;
  	margin-left: auto;
 	margin-right: auto;

}

.floor-guide .floor-table table td {
	border-bottom: 1px solid black;
	border-collapse: collapse;
	padding: 5px;
}

.floor-guide .floor-table table tr:last-child td {
	border-bottom: none;
}

.floor-guide .floor-table table .time-info {
	border-left: 1px solid black;
	border-collapse: collapse;
}

.floor-guide .floor-table {
	text-align: center;
}

.floor-guide .contact {
	text-align: center;
	font-weight: bold;
}

.floor-guide .contact .font-red {
	color: red;
}

.floor-guide .contact .font-l {
	font-size: 20px;	
}

.floor-guide .contact .font-m {
	font-size: 15px;
}



h1 .modal-btn {
  background: #e07f14;
  color: #fbf0e3;
  padding: 2px 20px;
  border-radius: 100px;
  cursor: pointer;
  font-size: 14px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  margin: -3px 0 0 0;
  transition: 0.3s; }
  h1 .modal-btn:hover {
    opacity: 0.6; }

/*------------------------------------------*/
#experience {
  border-bottom: 1px solid #e07f14;
  padding: 0 0 20px; }
  @media (min-width: 768px) {
    #experience {
      padding: 0 0 50px; } }
  #experience em {
    color: #ea0000;
    font-style: normal;
    font-weight: bold; }
  #experience .lead {
    background: #e6e6e6;
    color: #6c6c6c;
    font-weight: bold;
    font-size: 17px;
    padding: 10px 10px 10px 50px;
    margin: 0  0 15px;
    position: relative; }
    @media (min-width: 768px) {
      #experience .lead {
        font-size: 15px; } }
    #experience .lead::before {
      content: "";
      width: 30px;
      height: 30px;
      background: url(../../images/front/icon12.svg) no-repeat center center/contain;
      position: absolute;
      left: 10px;
      top: 50%;
      margin-top: -15px; }
  #experience .note {
    font-weight: bold;
    color: #6c6c6c;
    margin: 0 0 20px; }
  #experience dl {
    margin: 0 0 20px;
    padding: 0; }
    @media (min-width: 768px) {
      #experience dl {
        margin: 0 0 50px; } }
    #experience dl dt {
      border: 1px solid #d2d2d2;
      background: #f7fff3;
      border-radius: 5px;
      padding: 10px 15px;
      margin: 0;
      clear: both;
      box-sizing: border-box; }
      @media (min-width: 768px) {
        #experience dl dt {
          float: left;
          width: 300px; } }
    #experience dl dd {
      margin: 0 0 20px;
      padding: 10px 0 0 0; }
      @media (min-width: 768px) {
        #experience dl dd {
          padding: 0 0 0 320px; } }
      #experience dl dd input,
      #experience dl dd textarea {
        border: 1px solid #d2d2d2;
        padding: 10px 15px;
        width: 100%;
        box-sizing: border-box;
        border-radius: 5px; }
      #experience dl dd textarea {
        height: 160px; }
      #experience dl dd .error {
        margin: 5px 0 0 0;
        color: #ea0000;
        font-weight: bold; }
  #experience button[type="submit"],
  #experience a.btn {
    background: #e07f14;
    text-align: center;
    height: 48px;
    color: #fbf0e3;
    font-weight: bold;
    border-radius: 5px;
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.2);
    border: none;
    -webkit-appearance: none;
    appearance: none;
    width: 50%;
    max-width: 376px;
    margin: 20px auto 0px;
    display: inline;
    transition: 0.3s;
    text-decoration: none;
    line-height: 48px; }
    #experience button[type="button"] {
    background: #e07f14;
    text-align: center;
    height: 48px;
    color: #fbf0e3;
    font-weight: bold;
    border-radius: 5px;
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.2);
    border: none;
    -webkit-appearance: none;
    appearance: none;
    width: 50%;
    max-width: 376px;
    margin: 20px auto 0px;
    display: inline;
    transition: 0.3s;
    text-decoration: none;
    line-height: 48px; }
    #experience .center {
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  /* height: 200px;
	  #border: 3px solid green; */
	}
    @media (min-width: 768px) {
      #experience button[type="submit"],
      #experience button[type="button"],
      #experience a.btn {
        margin-top: 50px; } }
    #experience button[type="submit"]:hover,
    #experience button[type="button"]:hover,
    #experience a.btn:hover {
      opacity: 0.6; }
      
      .fieldError {
      	background-color: #f5d3d3;
      }

/*------------------------------------------*/

main#booking .booking_search .search-ajax-btn {
    background: #e07f14;
    text-align: center;
    height: 38px;
    line-height: 38px;
    color: #fbf0e3;
    font-weight: bold;
    border-radius: 5px;
    border: none;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    margin: 0 auto 0px;
    display: block; 
    
    margin-bottom:30px; }
    @media (min-width: 768px) {
      main#booking .booking_search .search-ajax-btn {
        width: 280px;
        opacity: 1; } }
        
main#booking .booking_search input {
        border: 1px solid #d2d2d2;
        padding: 10px 15px;
        box-sizing: border-box;
        border-radius: 5px;
        width: 270px;
        font-size: 13px;
        height: 38px; }
        
main#booking .booking_search .asp-select-btn {
        text-decoration: none; }
        
.search-asp-open{
        border: 1px solid #d2d2d2;
        padding: 10px 15px;
        width: 100%;
        box-sizing: border-box;
        border-radius: 5px; 
}

.modal__content .search-asp-close {
    text-indent: -999em;
    position: absolute;
    top: -50px;
    right: 0;
    width: 50px;
    height: 50px;
    cursor: pointer; }
    .modal__content .search-asp-close::before {
      content: "┼";
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) rotate(45deg);
      color: #fbf0e3;
      font-size: 30px;
      text-indent: 0; }
      
        #experience dl dd select {
        border: 1px solid #d2d2d2;
        padding: 10px 15px;
        width: 100%;
        box-sizing: border-box;
        border-radius: 5px; }
        
.text_for_blank {
	text-align: center;
	font-size: 16px;
	width: 100%;
	font-weight: bold;
}

.point-icon {
    background: white;
    -moz-border-radius: 70px;
    -webkit-border-radius: 70px;
    border-radius: 70px;
}

.point-icon-letter {
    font-size: 12px;
    color: #e07f14;
    font-weight: bold;
    margin: 0px 7px; 
}

.login-error {	
	display: inline-block;
    padding: 4px 7px;
    background-color: rgba(255, 0, 0, 0.05);
    color: #f20000;
    font-size: 16px;
    font-weight: normal;
}

.h1-div{
	display: -ms-flexbox;
  display: grid;
}

.reservation-h1 {

	margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
  color: #e07f14;
  font-size: 18px;
  position: relative; 
  margin: 0;
    padding: 0;

    }

  .reservation-h1 .title{
  	margin: 0;
    padding: 0;
    float: left;
    vertical-align: middle;
    display: inline-block;
  }
  
  .reservation-h1 .btns{
  	margin: 0;
    padding: 0;
    overflow: hidden;
    vertical-align: middle;
    float: right;
    
  }
  
  @media (min-width: 768px) {
    .reservation-h1 {
      font-size: 22px; } }
      
     .h1-modal-btn {
    background: #e07f14;
    color: #fbf0e3;
    padding: 2px 20px;
    border-radius: 100px;
    cursor: pointer;
    font-size: 14px;
    position: relative;
    top: 50%;
    margin: -3px 0 0 0;
    transition: 0.3s;
    
    /*max-width:80px;*/
    display: inline-block;
}

@media all and (-ms-high-contrast: none) {
	.h1-div{
	width:100%;
	}
	.reservation-h1 {
	width:100%;
	}
	.h1-modal-btn{
	transform: translateY(-15%);
	}
	
}

.under-h1{
	margin-top: 5px !important;
  padding-top:15px !important;
  border-top: 1px solid #e07f14;
      display: inline-flex;
}

main#booking table.asp_list {
  table-layout: fixed;
  text-align: center; }
  @media (min-width: 768px) {
    main#booking table.asp_list {
      width: 100%; } }
  main#booking table.asp_list thead th {
    border-left: 2px solid #f2f7f6;
    background: #e07f14;
    color: #fbf0e3;
    padding: 5px 10px;
    white-space: nowrap; }
    main#booking table.asp_list thead th:first-child {
      border: none; }
  main#booking table.asp_list tbody th {
    border-top: 2px solid #f2f7f6;
    white-space: nowrap; }
  main#booking table.asp_list tbody td {
    border-top: 2px solid #f2f7f6;
    border-left: 2px solid #f2f7f6;
    min-width: 50px; }
    
    main#booking table.asp_list tbody th, main#booking table.asp_list tbody td {
    background: #f7fff3;
    padding: 5px 10px; }
  main#booking table.asp_list tbody tr:nth-of-type(2n) th, main#booking table.asp_list tbody tr:nth-of-type(2n) td {
    background: #fbf0e3; }
    
    
    .disabled {
  color: currentColor;
  cursor: not-allowed;
  opacity: 0.5;
  text-decoration: none;
}

      
/*------------------------------------------*/

.top-modal {
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000; }

.top-modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%; }

.top-modal__content {
  background: #fbf0e3;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%); }
  .top-modal__content .modalcontent_inner {
    padding: 15px;
    width: calc(100vw - 30px);
    max-height: calc(100vh - 100px);
    box-sizing: border-box;
    overflow: auto; }
    @media (min-width: 768px) {
      .top-modal__content .modalcontent_inner {
        padding: 20px;
        width: 900px; } }
  .top-modal__content .js-modal-close {
    text-indent: -999em;
    position: absolute;
    top: -50px;
    right: 0;
    width: 50px;
    height: 50px;
    cursor: pointer; }
    .top-modal__content .js-modal-close::before {
      content: "┼";
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) rotate(45deg);
      color: #fbf0e3;
      font-size: 30px;
      text-indent: 0; }
      
        .top-modal__content .js-modal-close-store-details {
    text-indent: -999em;
    position: absolute;
    top: -50px;
    right: 0;
    width: 50px;
    height: 50px;
    cursor: pointer; }
    .top-modal__content .js-modal-close-store-details::before {
      content: "┼";
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) rotate(45deg);
      color: #fbf0e3;
      font-size: 30px;
      text-indent: 0; }
/*------------------------------------------*/

/*------------------------------------------*/
@media (min-width: 768px) {
  #instructor {
    padding: 60px 0;
  }
  #instructor:nth-child(odd) {
    background-color: #f1f0f1;
  }
  #instructor .instructor-wrapper {
    width: 940px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 auto;
  }
  #instructor .instructor-wrapper .instructor-left {
    width: 280px;
  }
  #instructor .instructor-wrapper .instructor-left img {
    width: 250px;
    max-width: 100%;
    margin-bottom: 25px;
  }
  #instructor .instructor-wrapper .instructor-left b {
    display: block;
    margin-bottom: 15px;
    font-size: 20px;
  }
  #instructor .instructor-wrapper .instructor-left small {
    font-size: 14px;
    line-height: 2em;
  }
  #instructor .instructor-wrapper .instructor-right {
    width: 620px;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name {
    /*display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;*/
    margin-bottom: 35px;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name h2 {
    width: 280px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: .6em;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name h2 span {
    display: inline-block;
    min-width: 100px;
    width: 50%;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name h2 span.kana {
    font-size: 18px;
    font-weight: 300;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name h2 span.en {
    font-size: 18px;
    font-weight: 300;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name h2 span.ja {
    font-size: 45px;
    font-weight: bold;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name strong {
    background-color: #97be3b;
    color: #fbf0e3;
    display: inline-block;
    padding: 0.5em 1em;
    font-weight: normal;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name strong:not(:last-child) {
    margin-right: .5em;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name strong.chief {
    background-color: #be3b3b;
  }
  #instructor .instructor-wrapper .instructor-right .instructor-name strong.tournament {
    background-color: #4DA25C;
  }
  #instructor .instructor-wrapper .instructor-right h3 {
    font-size: 20px;
    line-height: 2em;
    border-bottom: 1px solid #000;
    margin-bottom: 1em;
  }
  #instructor .instructor-wrapper .instructor-right dl {
    margin-top: 0;
    margin-bottom: 30px;
    font-size: 16px;
  }
  #instructor .instructor-wrapper .instructor-right dl dt,
  #instructor .instructor-wrapper .instructor-right dl dd {
    margin-bottom: .25em;
    line-height: 2em;
  }
  #instructor .instructor-wrapper .instructor-right dl dt {
    width: 170px;
    float: left;
    font-weight: bold;
  }
  #instructor .instructor-wrapper .instructor-right dl dd {
    padding-left: 200px;
  }
  #instructor .instructor-wrapper .instructor-right dl dd::after {
    clear: both;
    content: "";
    display: block;
  }
  #instructor .instructor-message p {
    line-height: 2em;
  }
  #instructor .instructor-message p:last-child {
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
  #instructor {
    border-top: 1px solid #e3e3e3;
    padding: 40px 20px;
  }
  .instructor:nth-child(odd) {
    background-color: #f1f0f1;
  }
  #instructor .instructor-wrapper {
    width: 100%;
    margin: 0 auto;
  }
  #instructor .instructor-wrapper .instructor-left {
    width: 100%;
  }
  #instructor .instructor-wrapper .instructor-left figure {
    text-align: center;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name {
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 15px;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name h2 {
    white-space: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    min-width: 155px;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name h2 span {
    display: inline-block;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name h2 span:nth-child(odd) {
    width: 50%;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name h2 span:nth-child(even) {
    margin-right: 5px;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name h2 span.en {
    font-size: 12px;
    font-weight: 300;
    margin-bottom: .75em;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name h2 span.kn {
    font-size: 12px;
    font-weight: 300;
    margin-bottom: .75em;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name h2 span.ja {
    font-size: 30px;
    font-weight: bold;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name strong {
    white-space: nowrap;
    font-size: 12px;
    font-weight: normal;
    background-color: #97be3b;
    color: #fbf0e3;
    display: inline-block;
    padding: 0.5em;
    text-align: center;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name strong.chief {
    background-color: #be3b3b;
  }
  #instructor .instructor-wrapper .instructor-left .instructor-name strong.tournament {
    background-color: #4DA25C;
  }
  #instructor .instructor-wrapper .instructor-left figcaption {
    text-align: left;
  }
  #instructor .instructor-wrapper .instructor-left img {
    width: 250px;
    max-width: 100%;
    margin-bottom: 25px;
  }
  #instructor .instructor-wrapper .instructor-left b {
    display: block;
    margin-bottom: 5px;
    font-size: 16px;
  }
  #instructor .instructor-wrapper .instructor-left small {
    font-size: 14px;
    line-height: 2em;
  }
  #instructor .instructor-wrapper .instructor-right {
    width: 100%;
    padding-top: 30px;
  }
  #instructor .instructor-wrapper .instructor-right h3 {
    font-size: 16px;
    line-height: 2em;
    border-bottom: 1px solid #000;
    margin-bottom: 1em;
  }
  #instructor .instructor-wrapper .instructor-right dl {
    margin-top: 0;
    margin-bottom: 30px;
  }
  #instructor .instructor-wrapper .instructor-right dl dt,
  #instructor .instructor-wrapper .instructor-right dl dd {
    margin-bottom: .25em;
    line-height: 1.5em;
  }
  #instructor .instructor-wrapper .instructor-right dl dt {
    font-size: 15px;
    font-weight: bold;
  }
  #instructor .instructor-wrapper .instructor-right dl dd {
    margin-bottom: 1em;
  }
  #instructor .instructor-message p {
    line-height: 2em;
  }
  #instructor .instructor-message p:last-child {
    margin-bottom: 0;
  }
}
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
/*------------------------------------------*/
