/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}
*/
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
/*! normalize.scss v2.1.2 | MIT/GPLv2 License | bit.ly/normalize-with-compass */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 * 3. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  /* Set the font-size and line-height while keeping a proper vertical rhythm. */
  font-size: 2em;
  /* Set 1 unit of vertical rhythm on the top and bottom margins. */
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ==========================================================================
   Lists
   ========================================================================== */
/* ==========================================================================
   Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img {
  border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  margin: 0 2px;
  /* Apply borders and padding that keep the vertical rhythm. */
  border-color: #c0c0c0;
  border-top-style: solid;
  border-top-width: 0.0625em;
  padding-top: 0.4625em;
  border-bottom-style: solid;
  border-bottom-width: 0.0625em;
  padding-bottom: 0.9125em;
  border-left-style: solid;
  border-left-width: 0.0625em;
  padding-left: 0.875em;
  border-right-style: solid;
  border-right-width: 0.0625em;
  padding-right: 0.875em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 * 4. Improve appearance and consistency with IE 6/7.
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

ul,
ol,
li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
}

dl {
  margin: 0;
  padding: 0;
}

dd {
  margin: 0;
}

img {
  vertical-align: top;
}

em {
  font-style: normal;
}

.u-fluid {
  max-width: 100%;
  height: auto;
}

.u-liquid {
  width: 100% !important;
}

.u-inherit {
  color: inherit !important;
}

.u-tel {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .u-tel {
    pointer-events: auto;
  }
}

@media screen and (max-width: 768px) {
  .u-fontsize_inherit {
    font-size: inherit !important;
  }  
}



/*********************************************************************
*
*  </e/common/css/common.css> の SP用スタイル
*
*********************************************************************/

/* ----- header sp ----- */
@media screen and (max-width: 768px) {
  header {
    /*position: relative;
    background: url(/e/common/img/bg_header.png) repeat-x left bottom;
    z-index: 20;*/
  }

  header .container {
    width: auto;
    height: 63px;
    padding-left: 15px;
    background:
      url(/e/common/img/sp/bg_header_1.png) left top repeat-x,
      url(/e/common/img/sp/bg_header_2.png) left bottom no-repeat;
    -webkit-background-size: 1px 61px, 100% 2px;
    background-size: 1px 61px, 100% 2px;
  }

  header .logo {
    padding-top: 8px;
  }
}

/* #gnav_area .aside sp */
@media screen and (max-width: 768px) {
  header #gnav_area .aside li.language p {
    background: url(/e/common/img/sp/btn_gnav_dwn_off.png) no-repeat right 2px;
    background-size: 15px 9px;
    -webkit-background-size: 15px 9px;
  }
}



/* ----- wrap sp ----- */
@media screen and (max-width: 768px) {
  #wrap {
    width: auto;
    padding: 15px;
  }
}



/* ----- #local_nav sp ----- */
@media screen and (max-width: 768px) {
  #nav_area {
    width: auto;
    float: none;
    padding: 0;
    margin-top: 15px;
    background: transparent;
  }

  #nav_area dl dt.top_category {
    border-bottom: none;
  }

  #nav_area > dl > dd {
    display: none;
  }

  #nav_area > dl > dd.open {
    display: block;
  }

  /* .local_nav */
  #nav_area ul.local_nav {
    margin-top: -5px;
    font-size: 14px;
  }

  #nav_area ul.local_nav ul {
    margin-top: 0;
    padding-bottom: 0;
    border-top: 1px solid #E0E0E0;  
  }

  #nav_area ul.local_nav li {
    background: transparent;
  }

  #nav_area ul.local_nav li:first-child {
    /*border: none;*/
  }

  #nav_area ul.local_nav li a {
    background: transparent;
    padding: 15px;
    position: relative;
  }

  #nav_area ul.local_nav li a:after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #000000;
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
  }

  
  #nav_area ul.local_nav li dl {
    margin-left: 0;
  }

  #nav_area ul.local_nav li dt {
    height: auto;
    padding: 15px;
    background: #f2f2f2;
    font-size: 14px;
  }

  #nav_area ul.local_nav li dl.current dt {
    background: #333;
  }

  #nav_area ul.local_nav li dd {
    border-top: 1px solid #E0E0E0;
    margin-top: 0;
    font-size: 14px;
  }

  #nav_area ul.local_nav li dd a {
    background: transparent;
    padding: 15px;
    position: relative;
  }
  
  #nav_area ul.local_nav li li {
    font-size: inherit;
    border-top: 1px solid #E0E0E0;
    padding-bottom: 0;
  }

  #nav_area ul.local_nav li li a {
    padding: 15px;
  }
}


/* ----- article sp ----- */
@media screen and (max-width: 768px) {
  article {
    width: auto;
  }

  #wrap article {
    width: auto;
    float: none;;
  }
}


/* .lead sp */
@media screen and (max-width: 768px) {
  article p.lead {
    padding: 15px;
  }
}




/* .h1_area */
@media screen and (max-width: 768px) {
  .h1_area {
    width: auto;
  }

  .head1 {
    height: auto;
    padding: 10px 15px;
  }

  #wrap .head1.sp_head1 {
    display: block;
    width: auto;
    padding-left: 0;
  }

  .kv.sp_kv {
    width: auto;
  }

  .kv.sp_kv img{
    width: 100%;
    height: auto;
  }
}


/* ----- #breadcrumb sp ----- */
@media screen and (max-width: 768px) {
  #breadcrumb nav {
    width: auto;
    padding: 15px;
  }
}


/* ----- footer sp ----- */
@media screen and (max-width: 768px) {
  footer {
    padding: 0 15px 15px;
    text-align: left;
  }
}


/* ----- address sp ----- */
@media screen and (max-width: 768px) {
  footer address {
    width: auto;
  }
  footer address:before {
    display: block;
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #000;
  }
  footer address .other_link {
    margin-top: 15px;
    padding: 15px 0 0;
    border-top: 1px solid #414141;
    border-left: none;
    position: static;
    text-align: center;
  }
  footer address .other_link > li {
    display: inline-block;
    margin: 0 10px !important;
    float: none;
    vertical-align: top;
  }
}

/* .basic_link sp */
@media screen and (max-width: 768px) {
  footer .basic_link {
    width: auto;
    text-align: left;
  }
  footer .basic_link .basic_list {
    display: block;
    margin: 10px 0 0;
    *zoom: 1;
  }
  footer .basic_link .basic_list:before, footer .basic_link .basic_list:after {
    display: table;
    content: '';
  }
  footer .basic_link .basic_list:after {
    clear: both;
  }
  footer .basic_link .basic_list li:first-child {
    padding-left: 0;
  }
  footer .basic_link .container {
    width: auto;
    padding: 0;
    text-align: center;
  }
  footer .basic_link .logo {
    margin-top: 35px;
  }
  footer .basic_link .copyright {
    margin-top: 15px;
    font-size: 9px;
  }

  footer .basic_link ul.basic_list {
    display: block;
  }

  footer .basic_link ul.hotellist li {
    padding: 0 10px;
    box-sizing: border-box;
  }

  footer .basic_link ul.hotellist li:first-child {
    padding-left: 0px;
  }

  footer .basic_link ul.hotellist li.last {
    padding-right: 0px;
  }

  footer .basic_link .logo p.copyright {
    font-size: 9px;
  }
}

/* sp display helper (common.cssと連携) */
@media screen and (max-width: 768px) {
  .sp-inline {
    display: inline !important;
  }
}
@media screen and (max-width: 768px) {
  .sp-inlineBlock {
    display: inline-block !important;
  }
}
@media screen and (max-width: 768px) {
  .sp-block {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .sp-hidden {
    display: none !important;
  }
}
/* sp display helperここまで */

/* columns sp */
@media screen and (max-width: 768px) {
  .head2 + .column {
    margin-top: 10px;
  }

  .column {
    margin-top: 0;
  }

  .column + .column {
    margin-top: 10px;
  }

  .column .column02,
  .column .column03,
  .column .column04 {
    float: none;
    margin-bottom: 10px;
    margin-left: 0;
  }
  .column .column02:last-child,
  .column .column03:last-child,
  .column .column04:last-child {
    margin-bottom: 0;
  }

  /* column02 */
  .column .column02 {
    width: auto;
  }

  #wrap .column .column02 {
    width: auto;
  }

  /* column03 */
  .column .column03 {
    width: auto;
  }

  #wrap .column .column03 {
    width: auto;
  }

  #wrap .foot_bnr .column03 {
    width: auto;
  }

  /* column04 */
  .column .column04 {
    width: auto;
  }

  #wrap .column .column04 {
    width: auto;
  }
}


/* .table_item sp */
@media screen and (max-width: 768px) {
  .table_item {
    word-break: break-word;
  }

  .table_item .head3 {
    /*padding: 0 0 15px 0;
    border-bottom: 1px solid #D9D9D9;*/
  }

  .table_item dl {
    display: table;
    width: 100%;
    table-layout: fixed;

    /*margin: 15px 0 0 0;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #D9D9D9;*/
  }

  .table_item dl.border {
    padding-top: 15px;
    border-top: 1px solid #D9D9D9;
  }

  .table_item dl dt {
    display: table-cell;
    width: 100px;
    vertical-align: top;
    float: none;
  }

  .table_item dl dd {
    display: table-cell;
    width: 100%;
    vertical-align: top;
    float: none;
  }

  .table_item dl dt.width120 {
    width: 100px !important;
  }

  .table_item dl dd.width550 {
    width: 100% !important;
  }

  .tandem .table_item dl dt {
   display: block;
   width: auto;
  }

  .tandem .table_item dl dd {
    /*margin-top: 5px;
    float: none;*/
  }
}


/* core_tit sp */
@media screen and (max-width: 768px) {
  .core_tit {
    padding-top: 25px;
    padding-bottom: 10px;
  }
}

/* .foot_bnr sp */
@media screen and (max-width: 768px) {
  .foot_bnr {
    width: auto;
  }

  article .foot_bnr {
    padding: 25px 20px;
  }

  article .foot_bnr:nth-child(n+2) {
    padding-top: 0;
    margin-top: -15px;
  }

  .foot_bnr .bnr {
    text-align: center;
  }

  .foot_bnr .bnr a {
    display: inline-block;
    height: 60px;
    overflow: hidden;
  }
  .foot_bnr .bnr a img {
    pointer-events: none;
  }
}

/* .tit_link sp */
@media screen and (max-width: 768px) {
  .tit_link {
    padding-top: 10px;
    border-top: 1px solid #ccc;
  }

  .tit_link.no_border {
    border-top: none;
  }
}


/* .related_content sp */
@media screen and (max-width: 768px) {
  .related_content p.img {
    display: table-cell;
    float: none;
    padding-right: 10px;
    vertical-align: top;
  }

  .related_content dl.summary {
    display: table-cell;
    width: auto;
    float: none;
    vertical-align: top;
  }
}


/* .top_news_area sp */
@media screen and (max-width: 768px) {
  .top_news_area {
    width: auto;
    margin: 0 15px;
  }

  .top_news_area dt {
    padding-left: 10px;
    position: relative;
  }

  .top_news_area .nolink dt {
    padding-left: 0;
  }

  .top_news_area dt:before {
    display: block;
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #000000;
  }

  .top_news_area .nolink dt:before {
    display: none;
  }

  .top_news_area dd {
    padding-left: 10px;
    word-break: break-all;
  }

  .top_news_area .nolink dd {
    padding-left: 0;
  }
}


/* .reserve_area sp */
@media screen and (max-width: 768px) {
  .reserve_wrap {
    width: auto;
    margin-top: 15px;
  }

  .reserve_wrap article {
    width: auto;
    float: none;
    padding: 20px 15px;
  }

  .reserve_wrap article p.img {
    display: table-cell;
    width: 75px;
    padding-right: 15px;
    vertical-align: top;
    box-sizing: border-box;
    float: none;
  }

  .reserve_wrap article p.img img {
    max-width: 100%;
    height: auto;
  }

  .reserve_wrap article dl.summary {
    display: table-cell;
    width: 100%;
    padding-right: 10px;
    box-sizing: border-box;
    vertical-align: top;
    float: none;
  }

  .reserve_wrap article a,
  .reserve_wrap article .reserve_tandem {
    display: table;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 15px;
  }

  .reserve_wrap article a:last-of-type {
    margin-bottom: 0;
  }

  .reserve_wrap article a + a {
    margin-top: 0;
  }

  .reserve_wrap article a dt {
    padding-left: 10px;
    position: relative;
  }

  .reserve_wrap article a dt:before {
    display: block;
    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #ffffff;
  }

  .reserve_wrap article a dd {
    padding-left: 10px;
  }
}


/* .reserve_area sp */
@media screen and (max-width: 768px) {
  .reserve_area {
    float: none;
    width: auto;
    padding: 20px 15px;
  }

  .reserve_area h1 {
    font-size: 15px;
    line-height: 1.5;
  }

  .reserve_area .reserve_form {
    padding: 0 10px;
  }

  .reserve_area .reserve_form .container {
    width: auto;
  }


  .reserve_area .reserve_form dl {
    display: table;
    width: 100%;
    table-layout: fixed;
  }

  .reserve_area .reserve_form dl dt {
    display: table-cell;
    width: 55px;
    vertical-align: middle;
    padding-top: 0;
    text-align: left;
    float: none;
  }

  .reserve_area .reserve_form dl dd {
    display: table-cell;
    width: 100%;
    vertical-align: middle;
    float: none;

    /*float: left;*/
  }

  .reserve_area .reserve_form dl.checkin {
    display: block;
  }

  .reserve_area .reserve_form dl.checkin dt {
    display: block;
    width: auto;
    margin-bottom: 5px;
    float: none;
  }

  .reserve_area .reserve_form dl.checkin dd {
    float: none;

    /*float: right;*/
  }

  .reserve_wrap .container p {
    margin-top: 0;
  }

  .reserve_wrap .container p.sp-reserve_select_1 {
    padding-top: 12px;
  }

  .reserve_wrap .container .sp-reserve_select_row_header {
    display: table;
    width: 100%;
    table-layout: fixed;
    overflow: hidden;
  }

  .reserve_wrap .container p.sp-reserve_select_row {
    display: table;
    width: 100%;
    table-layout: fixed;
    margin-top: 10px;
    position: relative;
  }

  .reserve_wrap .container p span {
    text-align: left;
  }

  .reserve_wrap .container p span.sp-reserve_select_header {
    display: block;
    width: 100%;
  }

  header .reserve_wrap .container span.sp-reserve_select_header select {
    height: 32px;
  }

  .reserve_wrap .container span.sp-reserve_select_header .customSelectInner {
    width: 100px !important;
  }

  .reserve_wrap .container p span.sp-reserve_select_label {
    display: table-cell;
    width: 68px;
    vertical-align: middle;
  }

  .reserve_wrap .container p span.sp-reserve_select_select {
    display: table-cell !important;
    width: 100% !important;
    padding-right: 70px;
    vertical-align: middle;
    box-sizing: border-box;
  }

  .reserve_wrap .container p span.sp-reserve_select_shortselect {
    display: block;
    width: 57px;
    position: absolute;
    top: 0;
    right: 0;
    margin-right: 0;
  }

  header .sp-reserve_select_header {
    display: table-cell;
    width: 105px;
    vertical-align: middle;
  }

  header .sp-reserve_select_shortselect {
    display: table-cell;
    width: 65px;
    vertical-align: middle;
    padding-left: 10px;
    box-sizing: border-box;
  }

  header .reserve_area .reserve_form .sp-reserve_select_shortselect .customSelect {
    width: 55px !important;
    overflow: hidden;
  }

  .reserve_area .reserve_form select.hasCustomSelect {
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    z-index: 1;
  }

  .reserve_area .reserve_form .customSelect {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    line-height: 28px;
    background: #fff;
    border: 2px solid #a9a9a9;
    padding: 0 8px;
    font-size: 12px;
    color: #000;
    position: relative;
  }

  header .reserve_area .reserve_form .customSelect {
    width: 105px;
  }

  .reserve_area .reserve_form .customSelect:before {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 3px 0 3px;
    border-color: #000000 transparent transparent transparent;
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    margin: auto;
  }

  .reserve_area .reserve_form .container select#hi_id {
    width: 100%;
  }

  .reserve_area .reserve_form .container p span.checkin {
    text-align: left;
  }

  .reserve_area .reserve_form select {
    width: 100%;
  }

  .reserve_wrap .container p.confirmation {
    margin: 17px 0 10px;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
  }

  .reserve_area .reserve_form .search {
    height: 55px;
    overflow: hidden;
    position: relative;
    background: url(/e/img/sp/btn_reserve_search_01.png) 0 0 no-repeat;
    background-size: 100% 55px;
    -webkit-background-size: 100% 55px;
  }

  header .reserve_area .reserve_form .search {
    height: 40px;
    background: url(/e/img/sp/btn_reserve_search_02.png) 0 0 no-repeat;
    background-size: 100% 40px;
    -webkit-background-size: 100% 40px;
  }

  .reserve_area .reserve_form .search:before {
    display: block;
    content: 'Check Availability';
    line-height: 55px;
    text-align: center;
    font-size: 17px;
    color: #000;
  }

  header .reserve_area .reserve_form .search:before {
    line-height: 40;
    font-size: 14px;
    line-height: 40px;
    color: #fff;
  }

  .reserve_area .reserve_form .search:after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #000000;
    position: absolute;
    top: 0;
    right: 25px;
    bottom: 0;
    margin: auto;
  }

  header .reserve_area .reserve_form .search:after {
    display: none;
  }

  .reserve_area .reserve_form .search input {
    width: 100%;
    height: 55px;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }
}


/* header .reserve_area sp */
@media screen and (max-width: 768px) {
  header .reserve_area {
    width: 200px;
    padding-right: 0;
    padding-left: 0;
    box-sizing: border-box;
    overflow: hidden;
  }

  header .reserve_area h1 {
    font-size: 12px;
  }

  header .reserve_wrap {
    width: 200px;
    right: 45px;
    left: auto;
    margin-left: 0;
    position: absolute;
  }

  header .reserve_area .reserve_form {
    padding-right: 15px;
    padding-left: 15px;
  }

  .reserve_wrap .container p.confirmation {
    font-size: 11px;
  }

  header .reserve_wrap .reserve_btn {
    width: 200px;
    height: 30px;
    background-image: url(/e/common/img/sp/btn_gnav_reserve_off.png);
    background-repeat: no-repeat;
    background-position: top right;
    -webkit-background-size: 130px 30px;
    background-size: 130px 30px;
  }

  header .reserve_wrap .reserve_btn.is-open {
    background-image: url(/e/common/img/sp/btn_gnav_reserve_close.png);
  }
}


/* top_content sp */
@media screen and (max-width: 768px) {
  #top_content {
    padding-right: 15px;
    padding-left: 15px;
  }

  #top_content_inner {
    width: auto;
  }

  #top_content_inner article {
    width: auto;
    float: none;
  }

  #top_content_inner article > a {
    width: auto;
    display: block;
    float: none;
  }

  #top_content_inner article a dt {
    margin-bottom: 5px;
    line-height: 2;
  }

  #top_content_inner article p.img {
    display: none;
  }

  #top_content_inner article a dl.summary {
    width: auto;
    float: none;
  }

  #top_content_inner article a .more {
    display: inline-block;
    margin-top: 15px;
    margin-bottom: 20px;
  }

  #top_content_inner div.banner {
    width: auto;
    float: none;
    clear: both;
    overflow: hidden;
    margin-left: -10px;
  }

  #top_content_inner div.banner li {
    width: 50%;
    padding-left: 10px;
    box-sizing: border-box;
    float: left;
    text-align: center;
  }

  #top_content_inner div.banner li img {
    width: 100%;
  }

  #top_content_inner div.banner li + li {
    margin-top: 0;
  }
}


/* .kv, .wide_kv sp */
@media screen and (max-width: 768px) {

  /* kv */
  #wrap .slider_area .slider {
    width: 100%;
  }

  /* .wide_kv */
  .wide_kv {
    margin-bottom: 0;
  }
  .wide_kv .h1_area {
    width: 100%;
    height: auto;
    position: static;
    box-sizing: border-box;
    padding: 0 15px;
    background: transparent;
    min-width: 0;
    /*bottom: -40px;*/
  }

  .wide_kv h1 {
    display: none;
  }

  .wide_kv p {
    display: block;
    font-size: 16px;
    padding: 10px 0 2px;
    border-bottom: 3px solid #ccc;
  }

  .kv .slider_area,
  .wide_kv .slider_area {
    height: auto;
    min-width: 0;
  }

  .kv .slider_area .slider_pagination,
  .wide_kv .slider_area .slider_pagination {
    display: none;
  }

  .kv .slider_area .slider li.slick-slide,
  .wide_kv .slider_area .slider li.slick-slide {
    height: auto;
  }
  .kv .slider_area .slider li.slick-slide img,
  .wide_kv .slider_area .slider li.slick-slide img {
    width: 100%;
    height: auto;
    min-height: 0;
  }

	/* long kv */
	.long_kv .slider_area,
	.long_kv .slider_area .slider li.slick-slide,
	.long_kv .slider_area .slider li.slick-slide img {
		height: auto;
	}

}

/* .tab_area sp */
@media screen and (max-width: 768px) {
  .tab_content {
    display: block;
    padding: 0 15px;
  }

  .tab_content .tab_head {
    display: block;
    padding: 10px 5px 5px;
    border-bottom: 1px solid #a18348;
    color: #a18348;
    font-size: 15px;
  }
}


/* .modalBox sp */
@media screen and (max-width: 768px) {
  .modal_l .close_btn,
  .modal_m .close_btn,
  .modal_s .close_btn {
    top: 60px;
  }

  .modal_l .close_btn_foot,
  .modal_m .close_btn_foot,
  .modal_s .close_btn_foot {
    bottom: 60px;
  }

  .modal_l:before {
    content: '';
  }

  .modal_l:after {
    content: '';
  }

  .modal_l .container {
    margin: 0 15px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
  }
}

/* #HTMLmodal sp */
@media screen and (max-width: 768px) {
  #HTMLmodal {
    width: 100%;
  }

  #HTMLmodal img {
    max-width: 100%;
    height: auto;
  }

  div.modalInner.modal_l {
    width: auto;
  }

  div.modalInner.modal_l .close_btn {
    top: 60px;
  }

  div.modalInner.modal_l .close_btn_foot {
    bottom: 60px;
  }
}


/* .head2 sp */
@media screen and (max-width: 768px) {
  .head2 {
    margin: 15px 15px 0;
  }
  .head2.head2_type02 {
    margin-left: 0;
  }
}


/* .divide sp */
@media screen and (max-width: 768px) {
  .divide {
    background: transparent;
    padding-top: 0;
    margin-top: 0;
  }
}


@media screen and (max-width: 768px) {
  .txt_block {
    padding: 0 15px;
  }

  .txt_block ol > li {
    margin: 0 0 0 18px;
  }
}


/* .table sp */
@media screen and (max-width: 768px) {
  table {
    table-layout: fixed;
    font-size: 12px;
  }

  table th {
    word-wrap: break-word;
  }

  table td {
    word-wrap: break-word;
  }
}


/* core_anchor_link sp */
@media screen and (max-width: 768px) {
  .core_anchor_link {
    padding: 10px 10px 0;
    margin-top: 20px;
    background: #eee;
  }

  #wrap .core_anchor_link {
    background: #eee;
  }

  .core_anchor_link li {
    height: auto;
    padding: 0 10px;
    margin-bottom: 10px;
    line-height: 1.5;
    background: transparent;
  }

  .core_anchor_link li a {

  }
}


/* .frame_box sp */
@media screen and (max-width: 768px) {
  .frame_box {
    margin: 0 15px;
    padding: 15px;
  }
  .frame_box_03 {
    padding: 20px; 
    background: #ffffff; 
    margin: 0;
    padding: 15px;
    border: 1px solid #D9D9D9; 
  }
}


/* .float sp */
@media screen and (max-width: 768px) {
  .float_L {
    float: none !important;
  }

  .float_R {
    float: none !important;
  }
}


/* width sp */
@media screen and (max-width: 768px) {
  .width100p {
    width: auto !important;
  }

  .width_bnr100p {
    width: 100% !important;
  }

  table.width100p {
    width: 100% !important;
  }

  .width33p {
    width: auto !important;
  }

  .width12p {
    width: auto !important;
  }

  .width30 {
    width: auto !important;
  }

  .width50 {
    width: auto !important;
  }

  .width60 {
    width: auto !important;
  }

  .width70 {
    width: auto !important;
  }

  .width80 {
    width: auto !important;
  }

  .width90 {
    width: auto !important;
  }

  .width100 {
    width: auto !important;
  }

  .width110 {
    width: auto !important;
  }

  .width120 {
    width: auto !important;
  }

  .width130 {
    width: auto !important;
  }

  .width140 {
    width: auto !important;
  }

  .width150 {
    width: auto !important;
  }

  .width160 {
    width: auto !important;
  }

  .width170 {
    width: auto !important;
  }

  .width180 {
    width: auto !important;
  }

  .width200 {
    width: auto !important;
  }

  .width210 {
    width: auto !important;
  }

  .width220 {
    width: auto !important;
  }

  .width222 {
    width: auto !important;
  }

  .width230 {
    width: auto !important;
  }

  .width240 {
    width: auto !important;
  }

  .width250 {
    width: auto !important;
  }

  .width300 {
    width: auto !important;
  }

  .width310 {
    width: auto !important;
  }

  .width320 {
    width: auto !important;
  }

  .width330 {
    width: auto !important;
  }

  .width340 {
    width: auto !important;
  }

  .width370 {
    width: auto !important;
  }

  .width380 {
    width: auto !important;
  }

  .width390 {
    width: auto !important;
  }

  .width420 {
    width: auto !important;
  }

  .width410 {
    width: auto !important;
  }

  .width440 {
    width: auto !important;
  }

  .width450 {
    width: auto !important;
  }

  .width460 {
    width: auto !important;
  }

  .width510 {
    width: auto !important;
  }

  .width550 {
    width: auto !important;
  }

  .width600 {
    width: auto !important;
  }

  .width660 {
    width: auto !important;
  }

  .width680 {
    width: auto !important;
  }

  .width700 {
    width: auto !important;
  }

  .width720 {
    width: auto !important;
  }
}



/* sp banner */
/* sp about */
@media screen and (max-width: 768px) {
  /*見出し大*/
  .sp-heading_large {
    font-size: 24px;
    font-weight: normal;
    padding: 10px 15px;
    border-bottom: 1px solid #999;
  }

  /*見出し中*/
  .sp-heading {
    font-size: 16px;
    padding: 10px 0 2px;
    border-bottom: 3px solid #ccc;
  }

  /* SP メニュー開閉ボタン */
  .sp-menu_btn {
    display: block;
    width: 44px;
    height: 40px;
    position: absolute;
    top: 0;
    right: 0;
  }

  .sp-menu_btn:before,
  .sp-menu_btn:after {
    content: '';
    width: 44px;
    height: 40px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }

  .sp-menu_btn:before {
    display: block;
    background: url(/e/common/img/sp/btn_menu_off.png);
    -webkit-background-size: 44px 40px;
    background-size: 44px 40px;
  }

  .sp-menu_btn:after {
    display: none;
    background: url(/e/common/img/sp/btn_menu_on.png);
    -webkit-background-size: 44px 40px;
    background-size: 44px 40px;
  }

  .sp-menu_btn.open:before {
    display: none;
  }

  .sp-menu_btn.open:after {
    display: block;
  }
  
  /* SP メニュー */
  .sp-gnav_area {
    display: none;
    width: 100%;
    position: absolute;
    top: 38px;
    left: 0;
  }

  .sp-gnav_area.open {
    display: block !important;
  }

  .sp-gnav_list {
    border-top: 1px solid #ccc;
  }

  .sp-gnav_list > li {
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid #ccc;
  }

  .sp-gnav_list > li > a {
    display: block;
    padding: 18px;
    position: relative;
    font-size: 15px;
  }

  .sp-gnav_list > li > a:after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #000000;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
  }

  .sp-gnav_language {
    padding: 18px 0 12px 18px;
  }

  .sp-language_list {
    padding: 15px 0 0 12px;
    font-size: 12px;
  }

  .sp-language_list > li {
    
    border-bottom: 1px dashed #ccc;
  }

  .sp-language_list > li:last-child {
    border-bottom: none;
  }

  .sp-language_list > li > a {
    display: block;
    padding: 12px 12px 12px 0;
    position: relative;
  }

  .sp-language_list > li > a:after {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #000000;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
  }

  .sp-gnav_list li a.icon_external:before {
    display: block;
    content: '';
    width: 17px;
    height: 13px;
    background: url(/e/common/img/sp/icon_external.png);
    -webkit-background-size: 17px 13px;
    background-size: 17px 13px;
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
  }

  .sp-gnav_list li a.icon_pc:before {
    display: block;
    content: '';
    width: 14px;
    height: 13px;
    background: url(/e/common/img/sp/icon_pc.png);
    -webkit-background-size: 14px 13px;
    background-size: 14px 13px;
    position: absolute;
    top: 0;
    right: 16px;
    bottom: 0;
    margin: auto;
  }
  
  .sp-gnav_list li a.icon_external:after,
  .sp-gnav_list li a.icon_pc:after {
    display: none !important;
  }


  /* sp footer link */
  .sp-footer_link {
    border-bottom: 1px solid #343d78;
  }

  .sp-footer_link.osaka {
    border-bottom-color: rgba(255, 255, 255, 0.3);
  }

  .sp-footer_link.kamikochi {
    border-bottom-color: rgba(255, 255, 255, 0.3);
  }

  .sp-footer_link ul {
    padding: 15px 0;
    font-size: 0;
    border-bottom: 1px solid #000;
  }

  .sp-footer_link li {
    display: inline-block;
    padding: 5px 20px 5px 0;
    font-size: 12px;
    line-height: 1;
  }

  .sp-footer_link a {
    display: block;
    padding: 0 0 0 10px;
    position: relative;
    color: #fff;
  }

  .sp-footer_link a:before {
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #ffffff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }



  .sp-nav_area {
    
  }

  .sp-nav_trigger {
    display: block !important;
    width: 100% !important;
    height: 55px !important;
    line-height: 55px;
    cursor: pointer !important;
    box-sizing: border-box;
    padding: 0 10px;
    background-image: url(/e/tokyo/banquet/img/bg_toggle_close.png) !important;
    background-repeat: no-repeat !important;
    background-position: left top !important;
    -webkit-background-size: 100% 55px !important;
    background-size: 100% 55px !important;
    position: relative;
  }

  .sp-nav_trigger:after {
    display: block;
    content: '';
    width: 14px;
    height: 14px;
    background: url(/e/tokyo/banquet/img/btn_toggle_plus_01.png) 0 0 no-repeat;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
  }

  .sp-nav_trigger.open:after{
    background-image: url(/e/tokyo/banquet/img/btn_toggle_minus_01.png);
  }

  .sp-nav_text {
    font-size: 18px;
    font-weight: bold;
  }

  .sp-table {
    table-layout: fixed;
    width: 100%;
    font-size: 12px;
    word-wrap: break-word;
  }

  .sp-table col[width] {
    width: auto !important;
  }

  .sp-table td {
    padding: 3px;
    word-wrap: break-word;
  }

  .sp-about_img {
    padding: 15px;
  }

  .sp-about_text {
    margin-bottom: 15px;
  }
  .sp-about_text .frame_box {
    margin-right: 0;
    margin-left: 0;
  }

  /**
   * レストラン系ページの見出し
   */
  .sp-restaurant_logo {
    display: table;
    table-layout: fixed;
    font-size: 25px;
  }

  .sp-restaurant_logo_text {
    display: table-cell;
    padding-right: 15px;
    vertical-align: middle;
  }

  .sp-restaurant_logo_image {
    display: table-cell;
    vertical-align: middle;
  }


  /**
   * レストラン系ページのナビゲーション
   */
 .sp-restaurant_nav_trigger {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    line-height: 50px;
    cursor: pointer !important;
    box-sizing: border-box;
    padding: 0 10px;
    background-image: url(/e/tokyo/banquet/img/bg_toggle_close.png) !important;
    background-repeat: no-repeat !important;
    background-position: left top !important;
    -webkit-background-size: 100% 55px !important;
    background-size: 100% 55px !important;
    position: relative;
    font-size: 16px;
    /*font-weight: bold;*/
  }

  .sp-restaurant_nav_trigger:after {
    display: block;
    content: '';
    width: 14px;
    height: 14px;
    background: url(/e/tokyo/banquet/img/btn_toggle_plus_01.png) 0 0 no-repeat;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
  }

  .sp-restaurant_nav_trigger.open:after {
    background-image: url(/e/tokyo/banquet/img/btn_toggle_minus_01.png);
  }

  .sp-restaurant_nav_contents {
    display: none;
  }

  .sp-restaurant_nav_contents.open {
    display: block !important;
  }

  
  /**
   * float sp
   */
  .sp-float_L {
    float: left !important;
  }

  .sp-float_R {
    float: right !important;
  }

  /* .font align sp */
  .sp-txt_C {
    text-align: center !important;
  }

  .sp-txt_R {
    text-align: right !important;
  }

  .sp-txt_L {
    text-align: left !important;
  }
  

  /**
   * spacing sp
   */
  .sp-mT0 {
    margin-top: 0 !important;
  }

  .sp-mR0 {
    margin-right: 0 !important;
  }

  .sp-mB0 {
    margin-bottom: 0 !important;
  }

  .sp-mL0 {
    margin-left: 0 !important;
  }


  .sp-mT10 {
    margin-top: 10px !important;
  }

  .sp-mR10 {
    margin-right: 10px !important;
  }

  .sp-mB10 {
    margin-bottom: 10px !important;
  }

  .sp-mL10 {
    margin-left: 10px !important;
  }


  .sp-mT15 {
    margin-top: 15px !important;
  }

  .sp-mR15 {
    margin-right: 15px !important;
  }

  .sp-mB15 {
    margin-bottom: 15px !important;
  }

  .sp-mL15 {
    margin-left: 15px !important;
  }


  /* padding */
  .sp-pT0 {
    padding-top: 0 !important;
  }

  .sp-pR0 {
    padding-right: 0 !important;
  }

  .sp-pB0 {
    padding-bottom: 0 !important;
  }

  .sp-pL0 {
    padding-left: 0 !important;
  }

  .sp-pT5 {
    padding-top: 5px !important;
  }

  .sp-pR5 {
    padding-right: 5px !important;
  }

  .sp-pB5 {
    padding-bottom: 5px !important;
  }

  .sp-pL5 {
    padding-left: 5px !important;
  }

  .sp-pT10 {
    padding-top: 10px !important;
  }

  .sp-pR10 {
    padding-right: 10px !important;
  }

  .sp-pB10 {
    padding-bottom: 10px !important;
  }

  .sp-pL10 {
    padding-left: 10px !important;
  }

  .sp-pT15 {
    padding-top: 15px !important;
  }

  .sp-pR15 {
    padding-right: 15px !important;
  }

  .sp-pB15 {
    padding-bottom: 15px !important;
  }

  .sp-pL15 {
    padding-left: 15px !important;
  }

  /**
   * white-space sp
   */
  .sp-nowrap {
    display: inline-block;
    white-space: nowrap;
  }

  .el_button_bg {
    display: block;
  }

  .el_button--gold_shadow {
    width: 100%;
    max-width: 100%;
  }
}


@media screen and (max-width: 768px) {
  .text_heading {
    height: auto;
    padding: 10px 15px 0;
    /*border-bottom: 1px solid #999;*/

    font-weight: normal;
  }  
}

@media screen and (max-width: 768px) {
  .gray_tit .button_gray.arrow{
    display: none;
  }
  .label_map {
    margin: 20px 0 0 0;
  }
  .gray_tit.gray_tit_sp {
    display: flex;
  }
  .gray_tit.gray_tit_sp .h2_area{
    display: flex;
    width: 100%;
  }
  .gray_tit.gray_tit_sp .h2_area .head2 {
    margin-right: 1em;
    flex: 1;
  }
  .gray_tit.gray_tit_sp .h2_area .button_gray.arrow {
    display: block;
    width: 95px;
    margin-left: auto;
  }
  .gray_tit.gray_tit_sp .h2_area .button_gray.arrow span a {
    padding: 3px 10px 2px 14px;
    background-image: url(/e/common/img/icon_right_white_s.png);
    background-repeat: no-repeat;
    background-position: 7px 51%;
  }
}