@charset "UTF-8";


html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, time,
a, abbr, acronym, address, em, strong, b, u, i,
dl, dt, dd, ol, ul, li,
img, form, fieldset, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
header, footer, nav, section, article, figure, figcaption {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	line-height: 1;
}
header, footer, nav, section, article, figure, figcaption {
	display: block;
}

html {
}

body {
    color: #000;
    background: #fff;
    font-weight: 700;
}

body,
input,
button {
	 font-family: "Noto Sans SC", "SST W55 Regular", "游ゴシック", sans-serif;
}


a {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}

a {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}

li {
	list-style-type: none;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

* {
	font-feature-settings: "liga" 0;
}

::selection {
	color: #fff;
	background: #000;
}

.ico_angleB::before {
  content: "< ";
}

.ico_angleB::after {
  content: " >";
}

.ico_angleD::before {
  content: "＜";
}

.ico_angleD::after {
  content: "＞";
}
.ico_circle::before {
  content: "● ";
}

.wechat { position: relative; }
.wechat .wx-qr {
  position: absolute;
  left: 50%;
  bottom: 130%;
  transform: translateX(-50%);
  width: 150px; height: 40px;
  display: none;
  background: #fff;
  padding: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  z-index: 9999;
}
.wechat:hover .wx-qr { display: block; }


    /* ===== 预约区块（按站点 info 页风格） ===== */
    .booking-form { margin-top: 70px; }
    .booking-form .lead {
      margin: 0 0 40px;
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.834;
    }
    .booking-form dl {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      padding: 34px 0;
      border-top: 0px solid #000;
    }
    .booking-form dl:last-child { border-bottom: 0px solid #000; }
    .booking-form dt {
      width: 160px;
      font-size: 1.125rem;
      font-weight: 700;
      line-height: 1.834;
    }
    .booking-form dd {
      width: calc(100% - 160px - 75px);
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1.834;
    }
    .booking-form .chips { display: flex; flex-wrap: wrap; margin: -4px -12px 0 0; }
    .booking-form .chips label {
      display: inline-block;
      margin: 4px 12px 4px 0;
      padding: 10px 26px;
      border: 1px solid #000;
      cursor: pointer;
      font-size: 1.125rem;
      font-weight: 400;
      transition: background 200ms ease-out, color 200ms ease-out;
    }
    .booking-form .chips input { display: none; }
    .booking-form .chips label.on { background: #000; color: #fff; }
    .booking-form input[type="text"] {
      box-sizing: border-box;
      width: 100%;
      max-width: 420px;
      padding: 12px 14px;
      border: 1px solid #000;
      background: #fff;
      color: #000;
      font-size: 1.125rem;
      font-weight: 400;
      font-family: "Noto Sans SC", "SST W55 Regular", sans-serif;
      border-radius: 0;
    }
    .booking-form input[type="text"]:focus { outline: 2px solid #000; outline-offset: 2px; }
    .booking-form input::placeholder { color: #999; }
    .booking-form .submit {
      margin-top: 50px;
      display: inline-block;
      padding: 18px 70px;
      background: #000;
      color: #fff;
      border: 1px solid #000;
      font-size: 1.25rem;
      font-weight: 700;
      letter-spacing: .15em;
      cursor: pointer;
      font-family: "Noto Sans SC", "SST W55 Regular", sans-serif;
      transition: background 200ms ease-out, color 200ms ease-out;
    }
    .booking-form .submit:hover { background: #fff; color: #000; }
    .booking-form .fnote { margin-top: 22px; font-size: 1.125rem; font-weight: 400; line-height: 1.834; }
    .booking-form + .form-ok { display: none; margin-top: 50px; padding: 40px; border: 1px solid #000; text-align: center; }
    .booking-form + .form-ok.show { display: block; }
    .booking-form + .form-ok .big { display: block; margin-bottom: 14px; font-size: 2.0rem; font-weight: 700; }
    .booking-form + .form-ok p { font-size: 1.125rem; font-weight: 400; line-height: 1.834; }

    .contact-box { margin-top: 90px; }
    .contact-box dl { padding: 34px 0;  }
    .contact-box dl:last-child { border-top: 0; }
    .contact-box dt { font-weight: 700; font-size: 1.125rem; margin-bottom: 10px; }
    .contact-box dd { font-size: 1.125rem; font-weight: 400; line-height: 1.834; }
    .contact-box dd a { text-decoration: underline; }

    @media (max-width: 1023px) {
      .booking-form { margin-top: 50px; }
      .booking-form .lead { font-size: 1.0rem; }
      .booking-form dt { width: 100%; }
      .booking-form dd { width: 100%; margin: 12px 0 0; font-size: 1.0rem; }
      .booking-form .chips label { padding: 10px 18px; font-size: 1.0rem; }
      .booking-form input[type="text"] { max-width: 100%; font-size: 1.0rem; }
      .booking-form .submit { width: 100%; text-align: center; }
      .booking-form .fnote { font-size: 1.0rem; }
      .contact-box dl { padding: 26px 0; }
    }

#header-nav .main ul li.booking a {
    background:#000;
    color:#ffffff;
    padding: 6px 14px;
    border-radius:2px;
}
#header-nav .main ul li.booking a:hover {
    background:#222;
    color:#fff;
}









