@charset "UTF-8";
/* COMPASS
 * ----------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/* BASE
 * ----------------------------------------------- */
/* MEDIA QUERIES
 * ----------------------------------------------- */
/* ADDITIONAL RESET
 * ----------------------------------------------- */
*,
*:before,
*:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body * {
  max-height: 99999em;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  font: inherit;
  line-height: 1;
}

input:focus,
button:focus,
select:focus {
  outline: 0;
}

/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-appearance: textfield;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none;
}

/* Turn off scroll bars in IE unless needed */
textarea {
  overflow: auto;
  white-space: pre-line;
}

/* PRINTING
 * ----------------------------------------------- */
@media print {
  body {
    -webkit-print-color-adjust: exact;
  }

  html,
  body {
    margin: 0;
  }

  @page {
    margin: 0;
  }
  @page :left {
    margin: 0;
  }
  @page :right {
    margin: 0;
  }
  @page :first {
    margin-top: 0;
  }
}
/* GENERAL
 * ----------------------------------------------- */
body {
  color: #000;
  font-family: "TsukuGoPro-D", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
}

.font-serif {
  font-family: "TsukuAOldMinPr6-L", serif;
}

.font-serif-r {
  font-family: "TsukuAOldMinPr6-R", serif;
}

.font-serif-d {
  font-family: "TsukuAOldMinPr6-D", serif;
}

.font-serif-m {
  font-family: "TsukuAOldMinPr6-M", serif;
}

.font-sans-m {
  font-family: "TsukuGoPro-R", sans-serif;
}

.font-sans-d {
  font-family: "TsukuGoPro-D", sans-serif;
}

.font-sans-r {
  font-family: "TsukuGoPro-R", sans-serif;
}

.font-english {
  font-family: "Marcellus", serif;
}

/* HELPERS
 * ----------------------------------------------- */
a {
  color: #000;
  text-decoration: none;
}

.hidden {
  display: none;
}

.invisible {
  visibility: hidden;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

.text-nowrap {
  white-space: nowrap;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.container {
  overflow: hidden;
}

/* RESPONSIVE
 * ----------------------------------------------- */
@media print, (min-width: 768px) {
  .container {
    min-width: 100%;
    padding-top: 130px;
  }

  .wrapper {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }

  .sm {
    display: none !important;
  }

  .trans {
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
    opacity: 1;
    -moz-transition: opacity 0.26s ease;
    -o-transition: opacity 0.26s ease;
    -webkit-transition: opacity 0.26s ease;
    transition: opacity 0.26s ease;
  }
  .trans:hover {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8;
  }
}
@media screen and (max-width: 1660px) and (min-width: 1321px) {
  .container {
    padding-top: 100px;
  }
}
@media screen and (max-width: 1560px) and (min-width: 1400px) {
  .wrapper {
    /* padding: 0 80px; */
    margin: 0 60px;
  }
}
@media screen and (max-width: 1400px) and (min-width: 1024px) {
  .wrapper {
    padding: 0 60px;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .wrapper {
    padding: 0 40px;
  }
}
@media screen and (max-width: 1320px) and (min-width: 1101px) {
  .container {
    padding-top: 80px;
  }
}
@media screen and (max-width: 1100px) and (min-width: 768px) {
  .container {
    padding-top: 92px;
  }
}
@media only screen and (max-width: 767px) {
  .md {
    display: none !important;
  }

  html {
    font-size: calc(100vw / 7.50);
  }

  body {
    font-size: 0.24rem;
  }

  .container {
    min-width: 320px;
    padding-top: 1.3rem;
  }

  .wrapper {
    /* padding-left: 0.25rem;
    padding-right: 0.25rem; */
    padding: 0 20px;
  }
}
/* PARTS
 * ----------------------------------------------- */
/* COMMON HEADER
 * ----------------------------------------------- */
header {
  top: 0;
  left: 0;
  width: 100%;
}
header .lang-menu {
  display: flex;
}
header .lang-menu li {
  position: relative;
}
header .lang-menu li::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  right: 0;
  top: 0;
}
header .lang-menu li:last-child:before {
  display: none;
}

header .header-reservation-smp {
    display: none;
}

@media print, (min-width: 768px) {
  header {
    position: fixed;
    letter-spacing: 0.08em;
    background: rgba(255, 255, 255, 0.8);
    z-index: 99;
  }
  header .logo {
    margin-top: 3px;
  }
  header .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 13.5%;
  }
  header .header-nav {
    display: flex;
    align-items: flex-end;
  }
  header .header-menu {
    display: flex;
    padding-bottom: 30px;
  }
  header .header-menu a {
    font-size: 14px;
    transition: all 0.3s ease;
    position: relative;
  }
  header .header-menu a::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    left: 0;
    bottom: -5px;
    background: #af3741;
    display: none;
  }
  header .header-menu a:hover {
    color: #d69c9d;
  }
  header .header-menu li {
    margin-right: 50px;
  }
  header .header-menu li.is-active a {
    color: #af3741;
  }
  header .header-menu li.is-active a::before {
    display: block;
  }
  header .lang-menu {
    padding-bottom: 30px;
  }
  header .lang-menu a {
    letter-spacing: 0.1em;
    line-height: 1.3;
    font-size: 14px;
    color: #707070;
    padding: 0 10px;
  }
  header .lang-menu a:hover {
    color: #000;
  }
  header .lang-menu li::before {
    background: #000;
  }
  header .lang-menu li.is-active a {
    color: #000;
  }
  header .lang-menu li:first-child a {
    padding-left: 0;
  }
  header .menu-other {
    display: flex;
    margin-left: 35px;
  }
  header .menu-other li {
    margin-left: 3px;
  }
  header .menu-other li.is-group {
    width: 160px;
  }
  header .menu-other li.is-group a {
    background: #1a2c3f;
  }
  header .menu-other li.is-reservation {
    width: 230px;
  }
  header .menu-other li.is-reservation a {
    background: #af3741;
  }
  header .menu-other a {
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
  }
}
@media screen and (max-width: 1660px) and (min-width: 1321px) {
  header .header-inner {
    padding-left: 5.5%;
  }
  header .menu-other li.is-group {
    width: 150px;
  }
  header .menu-other li.is-reservation {
    width: 180px;
  }
  header .menu-other a {
    height: 100px;
  }
  header .header-menu li {
    margin-right: 30px;
  }
}
@media screen and (max-width: 1320px) and (min-width: 1101px) {
  header .logo {
    width: 50px;
  }
  header .header-inner {
    padding-left: 5.5%;
  }
  header .menu-other li.is-group {
    width: 110px;
  }
  header .menu-other li.is-reservation {
    width: 180px;
  }
  header .menu-other a {
    height: 80px;
    font-size: 12px;
  }
  header .header-menu li {
    margin-right: 20px;
  }
  header .header-menu a {
    font-size: 12px;
  }
  header .lang-menu a {
    font-size: 12px;
  }
}
@media screen and (max-width: 1100px) and (min-width: 768px) {
  header .logo {
    width: 50px;
  }
  header .header-inner {
    padding-left: 5.5%;
  }
  header .header-nav {
    position: relative;
    padding-top: 60px;
  }
  header .menu-other {
    position: absolute;
    top: 0;
    right: 0;
  }
  header .menu-other a {
    height: 50px;
    font-size: 14px;
  }
  header .header-menu {
    padding-bottom: 10px;
  }
  header .header-menu li {
    margin-right: 20px;
  }
  header .header-menu a {
    font-size: 12px;
  }
  header .lang-menu {
    padding-bottom: 10px;
  }
  header .lang-menu a {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  header.is-active .logo {
    opacity: 0;
  }
  header.is-active .header-inner {
    background: transparent;
  }
  header .logo {
    display: flex;
    width: 0.63rem;
    transition: all 0.3s ease;
    margin-right: 20px;
  }

  .header-inner  {
    position: fixed;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.8);
    padding: 0.35rem 0.5rem 0.32rem;
  }
  
  .header-inner-box{
	  display: flex;
  }

header .header-reservation-smp {
	display: block;
    width: 230px;
    z-index: 99;
}

.header-inner-box .header-reservation-smp a {
	  display: flex;
	  align-items: center;
      justify-content: center;
	  width: 100%;
	  padding: 8px 20px;
	  color: #fff;
	  background: #af3741;  
}
  .menu-trigger {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0.5rem;
    height: 0.3rem;
    width: 0.4rem;
    z-index: 3;
  }
  .menu-trigger.is-active span {
    background: #fff;
  }
  .menu-trigger.is-active span:nth-child(1) {
    top: 0.15rem;
  }
  .menu-trigger.is-active span:nth-child(3) {
    bottom: 0.15rem;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    transition: all 0.3s ease;
    background: #1b2c3e;
  }
  .menu-trigger span:nth-child(1) {
    top: 0;
  }
  .menu-trigger span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .menu-trigger span:nth-child(3) {
    bottom: 0;
  }

  .overlay {
    position: fixed;
    z-index: 2;
    content: "";
    width: 100%;
    height: 100%;
    background: #1a2c3f;
    /* mix-blend-mode: multiply; */
    left: 0;
    top: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
  .overlay.is-active {
    opacity: 1;
    visibility: visible;
  }

  .header-nav {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding: 0.35rem 1rem;
    z-index: 2;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    letter-spacing: 0.08em;
  }
  .header-nav.is-show {
    opacity: 1;
    visibility: visible;
  }
  .header-nav .logo-inner {
    display: block;
    width: 0.63rem;
    position: relative;
    z-index: 1;
    margin-left: -0.5rem;
    margin-bottom: 1.0rem;
  }
  .header-nav .header-navigation {
    position: relative;
    z-index: 1;
  }
  .header-nav .header-menu {
    margin-bottom: 1rem;
  }
  .header-nav .header-menu > li {
    margin-bottom: 0.45rem;
  }
  .header-nav .header-menu a {
    color: #fff;
    font-size: 0.34rem;
  }
  .header-nav .lang-menu a {
    color: #fff;
  }
  .header-nav .menu-other a {
    color: #fff;
    letter-spacing: 0.1em;
  }
  .header-nav .sub-menu {
    display: inline-block;
    margin-left: 0.1rem;
    position: relative;
    top: -0.03rem;
  }
  .header-nav .sub-menu li {
    display: inline-block;
    position: relative;
    padding-left: 0.15rem;
    margin-left: 0.2rem;
  }
  .header-nav .sub-menu li::before {
    position: absolute;
    content: "";
    width: 0.08rem;
    height: 1px;
    background: #fff;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .header-nav .sub-menu a {
    font-size: 0.24rem;
  }

  .lang-menu {
    position: absolute;
    z-index: 1;
    top: 2rem;
    right: 1.3rem;
  }
  .lang-menu a {
    letter-spacing: 0.1em;
    line-height: 1.3;
    font-size: 0.22rem;
    padding: 0 0.13rem;
  }
  .lang-menu li::before {
    background: #fff;
  }

  .menu-other {
    display: flex;
    justify-content: space-between;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #fff;
  }
  .menu-other li {
    width: 2.5rem;
  }
  .menu-other a {
    display: block;
    text-align: center;
    font-size: 0.22rem;
    border: 1px solid;
    padding: 0.06rem 0;
  }

  .additional-menu {
    display: flex;
    margin-top: 0.4rem;
    padding-right: 0.5rem;
    position: relative;
  }
  .additional-menu li {
    margin-right: 0.6rem;
  }
  .additional-menu li:last-child {
    margin-right: 0;
  }
  .additional-menu li.is-instagram {
    position: absolute;
    right: 0;
    top: -0.1rem;
    width: 0.42rem;
    height: 0.42rem;
  }
  .additional-menu li.is-instagram a,
  .additional-menu li.is-instagram img {
    width: 100%;
  }
  .additional-menu a {
    color: #fff;
    font-size: 0.22rem;
  }
}
/* COMMON FOOTER
 * ----------------------------------------------- */
footer {
  position: relative;
  background: #1a2c3f;
  color: #fff;
}
footer .info a {
  color: #fff;
}
footer .footer-menu {
  position: relative;
}
footer .footer-menu .link-instagram {
  position: absolute;
}
footer .footer-menu a {
  color: #fff;
}
footer .footer-menu a.button {
  border: 1px solid;
  text-align: center;
}
footer .copyright {
  display: block;
  text-align: center;
}
footer .button-top {
  color: #fff;
  position: absolute;
  writing-mode: tb-rl;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  footer .button-top {
    writing-mode: lr-tb;
    height: 180px;
  }
  footer .button-top:hover {
    height: 200px;
  }
}
footer .button-top::before {
  position: absolute;
  content: "";
  background: url("../img/common/icon_arrow_up.png") no-repeat;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
footer .button-top span {
  letter-spacing: 0.1em;
  display: block;
  transform: rotate(180deg);
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  footer .button-top span {
    writing-mode: tb-rl;
  }
}

@media print, (min-width: 768px) {
  footer {
    padding: 70px 0 20px;
  }
  footer .button-top {
    font-size: 14px;
    bottom: 40px;
    right: 30px;
    padding-top: 100px;
    transition: all 0.3s ease;
  }
  footer .button-top::before {
    width: 5px;
    height: 90px;
    background-size: 100% auto;
    transition: all 0.3s ease;
  }
  footer .button-top:hover {
    padding-top: 120px;
  }
  footer .button-top:hover::before {
    height: 110px;
  }
  footer .footer-inner {
    display: flex;
    justify-content: space-between;
    letter-spacing: 0.08em;
    padding: 0 13.5%;
  }
  footer .footer-info {
    line-height: 2.3125;
    font-size: 16px;
    margin-right: 60px;
  }
  footer .footer-menu {
    margin-top: -6px;
  }
  footer .footer-menu .link-instagram {
    top: 203px;
    right: -65px;
  }
  footer .logo {
    display: block;
    margin-bottom: 39px;
  }
  footer .info a {
    display: inline-block;
    pointer-events: none;
    font-size: 16px;
  }
  footer .menu {
    display: flex;
  }
  footer .menu > li.is-first {
    width: 215px;
  }
  footer .menu > li.is-second {
    width: 215px;
  }
  footer .menu > li.is-third {
    width: 227px;
  }
  footer .menu > li.is-four {
    width: 181px;
  }
  footer .sub-menu li {
    margin-bottom: 28px;
  }
  footer a {
    display: inline-block;
    font-size: 14px;
    transition: all 0.3s ease;
  }
  footer a:hover {
    color: #8e98a1;
  }
  footer a.button {
    min-width: 118px;
    padding: 4px 5px 8px;
    margin-top: 7px;
  }
  footer .copyright {
    font-size: 14px;
    margin-top: 104px;
  }
}
@media screen and (max-width: 1320px) and (min-width: 768px) {
  footer .logo {
    width: 50px;
  }
}
@media screen and (max-width: 1660px) and (min-width: 768px) {
  footer .footer-inner {
    padding: 0 5.5%;
  } 
}
@media screen and (max-width: 1610px) and (min-width: 1131px) {
  footer .footer-menu .link-instagram {
    right: 40px;
  }
  footer .menu > li.is-first, footer .menu > li.is-second, footer .menu > li.is-third {
    width: 180px;
  }
  footer .menu > li.is-four {
    width: 200px;
  }
}
@media screen and (max-width: 1130px) and (min-width: 961px) {
  footer .footer-info {
    font-size: 12px;
  }
  footer .menu > li.is-first, footer .menu > li.is-second, footer .menu > li.is-third {
    width: 170px;
  }
  footer .footer-menu .link-instagram {
    top: auto;
    bottom: 20px;
    right: 159px;
  }
}
@media screen and (max-width: 960px) and (min-width: 768px) {
  footer .footer-info {
    font-size: 12px;
  }
  footer .menu a {
    font-size: 12px;
  }
  footer .menu > li.is-first, footer .menu > li.is-second, footer .menu > li.is-third, footer .menu > li.is-four {
    width: 130px;
  }
  footer .footer-menu .link-instagram {
    top: auto;
    bottom: 10px;
    right: 108px;
  }
}
@media only screen and (max-width: 767px) {
  footer {
    padding: 0.55rem 0.5rem 0.18rem;
    letter-spacing: 0.08em;
  }
  footer .button-top {
    font-size: 0.22rem;
    bottom: 12%;
    right: 0.3rem;
    padding-top: 1rem;
  }
  footer .button-top::before {
    width: 0.05rem;
    height: 0.9rem;
    background-size: 100% auto;
  }
  footer .footer-info {
    line-height: 2.3125;
    font-size: 0.22rem;
    border-bottom: 1px solid #fff;
    padding-bottom: 0.3rem;
    margin-bottom: 0.35rem;
  }
  footer .logo {
    display: block;
    width: 0.63rem;
    margin-bottom: 0.35rem;
  }
  footer .info a {
    margin-right: 0.2rem;
  }
  footer .menu {
    display: flex;
    flex-wrap: wrap;
  }
  footer .menu a {
    font-size: 0.22rem;
  }
  footer .menu li {
    width: 40%;
    /* width: calc(100% - 1.9rem); */
    margin-bottom: 0.15rem;
  }
  footer .menu li:nth-child(odd) {
    width: 40%;
  }
  footer .menu li.is-full {
    width: 100%;
  }
  footer .footer-menu {
    position: relative;
  }
  footer .footer-menu .link-instagram {
    right: 0;
    top:0;
    width: 0.42rem;
    height: 0.42rem;
  }
  footer .footer-menu .link-instagram img {
    width: 100%;
  }
  footer .menu-button {
    position: absolute;
    width: 1.8rem;
    display: flex;
    flex-direction: column;
    bottom: 0;
    right: 32%;
  }
  footer .menu-button li {
    margin-bottom: 0.2rem;
  }
  footer .menu-button a {
    border: 1px solid #fff;
    font-size: 0.22rem;
    display: block;
    text-align: center;
    padding: 0.06rem 0;
  }

  .copyright {
    font-size: 0.22rem;
    letter-spacing: 0;
    margin-top: 0.6rem;
  }
}
/* MODULES
 * ----------------------------------------------- */
.primary-title {
  display: inline-flex;
  width: 100%;
  z-index: 1;
}
.primary-title strong {
  letter-spacing: 0.125em;
}
.primary-title span {
  letter-spacing: 0.075em;
}
.primary-title.is-red {
  color: #af3741;
}
.primary-title.is-center {
  justify-content: center;
}
.primary-title.is-column {
  flex-direction: column;
}
.primary-title.is-column span {
  margin-left: 0;
}

@media print, (min-width: 768px) {
  .primary-title {
    align-items: center;
  }
  .primary-title strong {
    font-size: 50px;
  }
  .primary-title span {
    font-size: 28px;
    margin-left: 30px;
  }
  .primary-title.is-column strong {
    margin-bottom: 36px;
  }
  .primary-title.is-column span {
    font-size: 32px;
  }
}
@media only screen and (max-width: 767px) {
  .primary-title {
    text-align: center;
    flex-direction: column;
  }
  .primary-title strong {
    display: block;
    font-size: 0.48rem;
    margin-bottom: 0.1rem;
  }
  .primary-title span {
    font-size: 0.28rem;
  }
  .primary-title.is-column strong {
    margin-bottom: 0.4rem;
  }
}
.keyvisual-title {
  color: #fff;
}
.keyvisual-title strong {
  display: block;
  line-height: 1.34;
  letter-spacing: 0.1em;
}
.keyvisual-title span {
  letter-spacing: 0.075em;
}

@media print, (min-width: 768px) {
  .keyvisual-title strong {
    font-size: 50px;
    margin-bottom: 12px;
  }
  .keyvisual-title span {
    font-size: 22px;
  }
}
@media only screen and (max-width: 767px) {
  .keyvisual-title strong {
    font-size: 0.4rem;
    margin-bottom: 0.1rem;
  }
  .keyvisual-title span {
    font-size: 0.28rem;
  }
}
.title-secondary {
  text-align: center;
}
.title-secondary strong,
.title-secondary span {
  display: block;
}
.title-secondary strong {
  letter-spacing: 0.1em;
}
.title-secondary span {
  letter-spacing: 0.075em;
}

@media print, (min-width: 768px) {
  .title-secondary {
    margin-bottom: 40px;
  }
  .title-secondary strong {
    font-size: 50px;
    margin-bottom: 34px;
  }
  .title-secondary span {
    font-size: 32px;
  }
}
@media only screen and (max-width: 767px) {
  .title-secondary {
    margin-bottom: 0.4rem;
  }
  .title-secondary strong {
    font-size: 0.4rem;
    margin-bottom: 0.1rem;
  }
  .title-secondary span {
    font-size: 0.28rem;
  }
}
.title-line {
  letter-spacing: 0.075em;
  line-height: 1;
  border-left: 2px solid #af3741;
}

@media print, (min-width: 768px) {
  .title-line {
    font-size: 32px;
    padding-left: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .title-line {
    font-size: 0.4rem;
    padding-left: 0.3rem;
  }
}
.title-module {
  display: flex;
}
.title-module strong {
  color: #af3741;
  letter-spacing: 0.1em;
}
.title-module span {
  letter-spacing: 0.075em;
}

@media print, (min-width: 768px) {
  .title-module {
    align-items: center;
    margin-bottom: 58px;
  }
  .title-module strong {
    font-size: 32px;
    margin-right: 44px;
  }
  .title-module span {
    font-size: 26px;
  }
}
@media only screen and (max-width: 767px) {
  .title-module {
    margin-bottom: 0.6rem;
    flex-direction: column;
  }
  .title-module strong {
    font-size: 0.36rem;
    margin-bottom: 0.15rem;
  }
  .title-module span {
    font-size: 0.3rem;
  }
}
.title-underline {
  color: #af3741;
  border-bottom: 1px solid #af3741;
  letter-spacing: 0.075em;
  line-height: 1.5;
}

@media print, (min-width: 768px) {
  .title-underline {
    font-size: 22px;
    padding-bottom: 18px;
    margin-bottom: 27px;
  }
}
@media only screen and (max-width: 767px) {
  .title-underline {
    font-size: 0.32rem;
    padding-bottom: 0.1rem;
    margin-bottom: 0.3rem;
  }
}
.button-primary {
  display: block;
  text-align: center;
  color: #fff;
  letter-spacing: 0.075em;
  background: #1a2c3f;
  position: relative;
  transition: all 0.3s ease;
  border: 1px solid #1a2c3f;
}
.button-primary::before {
  position: absolute;
  content: "";
  height: 1px;
  background: #fff;
  right: -1px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
.button-primary.is-reverse::before {
  right: auto;
  left: -1px;
}
.button-primary.is-red {
  background: #af3741;
  border-color: #af3741;
}
.button-primary.is-red:hover {
  color: #af3741;
}
.button-primary.is-red:hover::before {
  background: #af3741;
}
.button-primary:hover {
  background-color: #fff;
  color: #1a2c3f;
}
.button-primary:hover::before {
  background: #1a2c3f;
}

@media print, (min-width: 768px) {
  .button-primary {
    max-width: 320px;
    font-size: 20px;
    padding: 9px 50px 13px;
  }
  .button-primary::before {
    width: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .button-primary {
    max-width: 2.5rem;
    font-size: 0.24rem;
    padding: 0.1rem 0.4rem;
  }
  .button-primary::before {
    width: 0.4rem;
  }
}
.button-scroll {
  background: #f4f4f4;
}
.button-scroll .english-text {
  letter-spacing: 0.1em;
  color: #af3741;
}
.button-scroll .japanese-text {
  letter-spacing: 0.075em;
}

@media print, (min-width: 768px) {
  .button-scroll {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 40px 0;
  }
  .button-scroll::before {
    position: absolute;
    content: "";
    background: url("../img/common/icon_arrow_down.png") no-repeat;
    background-size: 100% 100%;
    width: 5.5px;
    height: 88px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 10px;
    transition: all 0.25s ease;
  }
  .button-scroll .english-text {
    width: 50%;
    font-size: 50px;
    margin-right: 55px;
    text-align: right;
  }
  .button-scroll .japanese-text {
    width: 50%;
    font-size: 26px;
    margin-left: 55px;
  }
  .button-scroll:hover::before {
    bottom: 20px;
  }
}
@media screen and (max-width: 1015px) and (min-width: 768px) {
  .button-scroll .english-text {
    font-size: 35px;
  }
  .button-scroll .japanese-text {
    font-size: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .button-scroll {
    display: block;
    text-align: center;
    padding: 0.37rem 0;
  }
  .button-scroll .english-text {
    display: block;
    font-size: 0.32rem;
    margin-bottom: 0.1rem;
  }
  .button-scroll .japanese-text {
    font-size: 0.24rem;
  }
}
.button-arrow {
  position: relative;
  display: inline-block;
  letter-spacing: 0.08em;
}
.button-arrow::before {
  position: absolute;
  content: "";
  background: url("../img/common/icon_arrow.png") no-repeat right center;
  top: 50%;
  transform: translateY(-50%);
}

@media print, (min-width: 768px) {
  .button-arrow {
    padding: 10px 0;
    padding-right: 105px;
  }
  .button-arrow::before {
    right: 0;
    height: 5px;
    width: 80px;
    background-size: auto 100%;
    transition: all 0.25s ease;
  }
  .button-arrow:hover::before {
    width: 100px;
    right: -20px;
  }
}
@media only screen and (max-width: 767px) {
  .button-arrow {
    padding: 0.1rem;
    padding-right: 1rem;
  }
  .button-arrow::before {
    right: 0;
    height: 0.1rem;
    width: 0.8rem;
    background-size: auto 100%;
  }
}
.secondary-navigation {
  position: relative;
  z-index: 1;
}
.secondary-navigation .inner-static,
.secondary-navigation .inner-fixed {
  background: #f4f4f4;
}
.secondary-navigation .menu {
  display: flex;
  justify-content: center;
}
.secondary-navigation a {
  display: block;
  text-align: center;
}
.secondary-navigation a.is-active {
  color: #af3741;
}
.secondary-navigation strong {
  line-height: 1.346;
  letter-spacing: 0.1em;
  display: block;
}
.secondary-navigation span {
  letter-spacing: 0.08em;
  font-size: 14px;
}

@media print, (min-width: 768px) {
  .secondary-navigation {
    height: 212px;
  }
  .secondary-navigation .inner-fixed {
    width: 100%;
    top: 130px;
    left: 0;
    opacity: 0;
    visibility: hidden;
    position: fixed;
    transition: opacity 0.3s ease;
  }
  .secondary-navigation .inner-fixed .menu {
    padding-top: 26px;
  }
  .secondary-navigation .inner-fixed .menu strong {
    font-size: 16px;
  }
  .secondary-navigation .inner-fixed .menu strong br {
    display: none;
  }
  .secondary-navigation .inner-fixed .menu span {
    display: none;
  }
  .secondary-navigation .inner-fixed a {
    padding-bottom: 27px;
  }
  .secondary-navigation .inner-fixed a::before {
    height: 20px;
  }
  .secondary-navigation.is-fixed .inner-static {
    opacity: 0;
    visibility: hidden;
  }
  .secondary-navigation.is-fixed .inner-fixed {
    opacity: 1;
    visibility: visible;
  }
  .secondary-navigation .menu {
    padding-top: 58px;
  }
  .secondary-navigation .menu li {
    margin: 0 85px;
  }
  .secondary-navigation .menu strong {
    font-size: 26px;
    margin-bottom: 5px;
  }
  .secondary-navigation .menu.is-hover-none a {
    pointer-events: none;
  }
  .secondary-navigation a {
    position: relative;
    transition: all 0.3s ease;
    padding-bottom: 58px;
  }
  .secondary-navigation a:hover {
    color: #af3741;
  }
  .secondary-navigation a:hover::before {
    opacity: 1;
    visibility: visible;
  }
  .secondary-navigation a.is-active::before {
    opacity: 1;
    visibility: visible;
  }
  .secondary-navigation a::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 30px;
    background: #af3741;
    bottom: 0;
    left: 50%;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
}
@media screen and (max-width: 1660px) and (min-width: 1321px) {
  .secondary-navigation .inner-fixed {
    top: 100px;
  }
}
@media screen and (max-width: 1320px) and (min-width: 1101px) {
  .secondary-navigation .inner-fixed {
    top: 80px;
  }
}
@media screen and (max-width: 1235px) and (min-width: 961px) {
  .secondary-navigation .menu li {
    margin: 0 35px;
  }
}
@media screen and (max-width: 1100px) and (min-width: 768px) {
  .secondary-navigation .inner-fixed {
    top: 92px;
  }
}
@media screen and (max-width: 960px) and (min-width: 768px) {
  .secondary-navigation {
    height: 196px;
  }
  .secondary-navigation .menu span {
    font-size: 14px;
  }
  .secondary-navigation .menu strong {
    font-size: 20px;
  }
  .secondary-navigation .menu li {
    margin: 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .secondary-navigation {
    height: 1.76rem;
  }
  .secondary-navigation .menu {
    padding: 0.3rem 0;
    justify-content: space-between;
  }
  .secondary-navigation .menu strong {
    margin-bottom: 0.1rem;
  }
  .secondary-navigation.is-fixed .inner-static {
    position: fixed;
    top: 1.3rem;
    left: 0;
    width: 100%;
  }
    .secondary-navigation span.font-english {
 	 font-size: 0.4em;
  }
  
  .secondary-navigation.is-fixed span.font-english {
 	 display: none;
  }
}
/* slider
 * ----------------------------------------------- */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
}

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before {
  display: table;
  content: "";
}
.slick-track:after {
  display: table;
  content: "";
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.scroll-view {
  opacity: 0;
  -webkit-transition: all 0.8s 0s ease;
  transition: all 0.8s 0s ease;
  -webkit-transform: scale(1, 1) translate(0%, 20px);
  transform: scale(1, 1) translate(0%, 20px);
}
.scroll-view.is-view {
  opacity: 1;
  -webkit-transform: scale(1, 1) translate(0%, 0%);
  transform: scale(1, 1) translate(0%, 0%);
}

.block-contact {
  background: #f4f4f4;
}
.block-contact .block-inner {
  border: 1px solid #af3741;
  display: flex;
  align-items: center;
  justify-content: center;
}
.block-contact span {
  letter-spacing: 0.1em;
}
.block-contact small {
  letter-spacing: 0.075em;
}
.block-contact a {
  letter-spacing: 0.075em;
}

@media print, (min-width: 768px) {
  .block-contact {
    padding: 46px 0;
  }
  .block-contact.is-bottom {
    padding: 150px 0;
  }
  .block-contact .block-inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 23px 5px;
  }
  .block-contact .block-inner span {
    font-size: 24px;
  }
  .block-contact .block-inner small {
    font-size: 18px;
    margin: 0 50px 0 30px;
  }
  .block-contact .block-inner a {
    font-size: 50px;
    pointer-events: none;
  }
}
@media only screen and (max-width: 767px) {
  .block-contact {
    padding: 0.5rem 0;
  }
  .block-contact.is-bottom {
    padding: 1rem 0;
  }
  .block-contact .block-inner {
    flex-direction: column;
    padding: 0.2rem;
  }
  .block-contact .block-inner span {
    font-size: 0.3rem;
  }
  .block-contact .block-inner small {
    font-size: 0.24rem;
    margin: 0.2rem 0;
  }
  .block-contact .block-inner a {
    font-size: 0.4rem;
  }
}
/* COMMON PAGINATION
 * ----------------------------------------------- */
.wp-pager {
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.1em;
}
.wp-pager .page-numbers.current {
  color: #af3741;
}

@media print, (min-width: 768px) {
  .wp-pager {
    font-size: 24px;
  }
  .wp-pager li {
    margin: 0 20px;
  }
  .wp-pager a {
    transition: all 0.2s ease;
  }
  .wp-pager a:hover {
    color: #af3741;
  }
}
@media only screen and (max-width: 767px) {
  .wp-pager li {
    margin: 0 0.2rem;
  }
}
.post-pager {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  letter-spacing: 0.1em;
  position: relative;
  display: flex;
  justify-content: center;
}
.post-pager li.is-prev {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.post-pager li.is-next {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media print, (min-width: 768px) {
  .post-pager {
    padding: 35px 0;
  }
  .post-pager a {
    font-size: 20px;
  }
  .post-pager li.is-prev {
    left: 13.42857%;
  }
  .post-pager li.is-next {
    right: 13.42857%;
  }
}
@media only screen and (max-width: 767px) {
  .post-pager {
    padding: 0.3rem 0;
  }
  .post-pager li.is-prev {
    left: 0.5rem;
  }
  .post-pager li.is-next {
    right: 0.5rem;
  }
}
.banner-keyvisual img {
  width: 100%;
}

/* PAGE
 * ----------------------------------------------- */
/* PAGE TOP
 * ----------------------------------------------- */
.section-top-keyvisual {
  position: relative;
}
.section-top-keyvisual .wrapper {
  position: relative;
  height: 100%;
}
.section-top-keyvisual .section-title {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
}
.section-top-keyvisual iframe {
  transition: opacity 500ms ease-in-out;
  transition-delay: 250ms;
}

@media print, (min-width: 768px) {
  .section-top-keyvisual {
    height: calc(100vh - 130px);
    min-height: 650px;
    background: url("../img/top/top_keyvisual_banner.jpg") no-repeat center/cover;
/*    margin-bottom: 240px;*/
  }
  .section-top-keyvisual .youtube-background {
    background-image: url("../img/top/top_keyvisual_banner.jpg") !important;
  }
}
@media screen and (max-width: 1660px) and (min-width: 1321px) {
  .section-top-keyvisual {
    height: calc(100vh - 100px);
  }
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
  .section-top-keyvisual .section-title {
    left: 10px;
  }
}
@media screen and (max-width: 1320px) and (min-width: 1101px) {
  .section-top-keyvisual {
    height: calc(100vh - 80px);
  }
}
@media screen and (max-width: 1100px) and (min-width: 768px) {
  .section-top-keyvisual {
    height: calc(100vh - 92px);
  }
}
@media only screen and (max-width: 767px) {
  .section-top-keyvisual {
    height: calc(100vh - 1.3rem);
    min-height: 6.5rem;
    background: url("../img/top/sp/top_keyvisual_banner.jpg") no-repeat center/cover;
  }
  .section-top-keyvisual .youtube-background {
    background-image: url("../img/top/sp/top_keyvisual_banner.jpg") !important;
  }
  .section-top-keyvisual .section-title {
    width: 3.16rem;
    left: 0.96rem;
  }
  .section-top-keyvisual .button-scroll-down {
    display: block;
    width: 0.28rem;
    height: 1.55rem;
    position: absolute;
    z-index: 1;
    right: 0.24rem;
    bottom: 2rem;
    padding-bottom: 0.6rem;
    background: url("../img/common/sp/icon_arrow_down.png") no-repeat bottom center/0.05rem;
  }
  .section-top-keyvisual .button-scroll-down span {
    display: block;
    line-height: 1;
    writing-mode: tb-rl;
    color: #fff;
    font-size: 0.24rem;
    letter-spacing: 0.1em;
  }
}
.box-news {
  background: #fff;
  display: flex;
  position: absolute;
  bottom: 0;
}
.box-news strong {
  display: block;
  letter-spacing: 0.1em;
  border-right: 1px solid #707070;
}
.box-news .latest-news {
  display: flex;
  flex: 1;
}
.box-news .latest-news .news-title {
  letter-spacing: 0.08em;
}

.category-tag {
  display: block;
  text-align: center;
  color: #fff;
  letter-spacing: 0.08em;
  background: #1a2c3f;
}
.category-tag.is-red {
  background: #af3741;
}

@media print, (min-width: 768px) {
  .box-news {
    right: 0;
    width: 1150px;
    max-width: 100%;
    align-items: center;
    padding: 34px 20px;
  }
  .box-news strong {
    width: 205px;
    font-size: 24px;
    text-align: center;
  }
  .box-news .latest-news {
    align-items: center;
    padding-left: 65px;
  }
  .box-news .latest-news .news-time {
    width: 150px;
    font-size: 20px;
    letter-spacing: 0.1em;
  }
  .box-news .latest-news .news-title {
    flex: 1;
    padding-left: 40px;
  }

  .category-tag {
    width: 110px;
    padding: 0 2px 4px;
  }
}
@media only screen and (max-width: 767px) {
  .box-news {
    bottom: 0;
    padding: 0.45rem 20px;
  }
  .box-news strong {
    width: 1.2rem;
    font-size: 0.3rem;
  }
  .box-news .latest-news {
    flex-wrap: wrap;
    padding-left: 0.3rem;
  }
  .box-news .latest-news .news-time {
    font-size: 0.28rem;
    width: 1.6rem;
  }
  .box-news .latest-news .news-title {
    width: 100%;
    font-size: 0.24rem;
    margin-top: 0.2rem;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .category-tag {
    font-size: 0.24rem;
    width: 1.4rem;
    padding: 0 0 0.02rem;
  }
}
.section-top-pickup {
  background: #f4f4f4;
  word-break: break-word;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .section-top-pickup {
    word-break: break-all;
  }
}
.section-top-pickup .title {
  letter-spacing: 0.075em;
}
.section-top-pickup .info,
.section-top-pickup .text {
  letter-spacing: 0.08rem;
}
.section-top-pickup .text {
  line-height: 2.5;
}
.section-top-pickup .info {
  line-height: 2.2;
}
.section-top-pickup .info li {
  display: inline-block;
}
.section-top-pickup .info li.is-full {
  width: 100%;
}
.section-top-pickup .pickup-head {
  display: flex;
}
.section-top-pickup .pickup-head .time {
  flex-shrink: 0;
}
.section-top-pickup .pickup-head .category-tag {
  flex-shrink: 0;
}

@media print, (min-width: 768px) {
  .section-top-pickup {
    margin-bottom: 170px;
  }
  .section-top-pickup .primary-title {
    margin-top: -33px;
  }
  .section-top-pickup .section-content {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 56px 0 87px;
  }
  .section-top-pickup .content {
    padding-right: 40px;
    flex: 1;
  }
  .section-top-pickup .title {
    font-size: 32px;
  }
  .section-top-pickup .info {
    margin-bottom: 11px;
  }
  .section-top-pickup .info li {
    margin-right: 22px;
  }
  .section-top-pickup .pickup-head {
    align-items: flex-start;
    margin-bottom: 20px;
  }
  .section-top-pickup .pickup-head .category-tag {
    margin-top: 11px;
  }
  .section-top-pickup .pickup-head .time {
    width: 138px;
    font-size: 20px;
    margin-top: 10px;
    letter-spacing: 0.1em;
  }
  .section-top-pickup .pickup-head .title {
    flex: 1;
    padding-left: 30px;
  }
  .section-top-pickup .button-primary {
    width: 320px;
    margin-bottom: 13px;
  }
}

@media only screen and (max-width: 965px) {
  
  .section-top-pickup .section-content,
  .section-top-pickup .primary-title,
  .section-top-pickup .pickup-head{
    display: block;
  }
  .section-top-pickup .primary-title span{
    display: inline-block;
  }
  .section-top-pickup .pickup-head .title{
    padding-left: 0;
    margin: 20px 0;
  }
  .section-top-pickup .text{
    margin-bottom: 30px;
  }
  .section-top-pickup .button-primary{
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-pickup {
    margin-bottom: 2.6rem;
  }
  .section-top-pickup .primary-title {
    position: relative;
    top: -0.34rem;
  }
  .section-top-pickup .section-content {
    padding: 0.3rem 0.5rem 0.7rem;
  }
  .section-top-pickup .image {
    margin-bottom: 0.5rem;
  }
  .section-top-pickup .image img {
    width: 100%;
  }
  .section-top-pickup .title {
    font-size: 0.34rem;
    margin-top: 0.3rem;
    margin-bottom: 0.24rem;
  }
  .section-top-pickup .info {
    font-size: 0.24rem;
    margin-bottom: 0.25rem;
  }
  .section-top-pickup .info li {
    margin-right: 0.22rem;
  }
  .section-top-pickup .text {
    font-size: 0.24rem;
    margin-bottom: 0.5rem;
    line-height: 1.8;
    letter-spacing: 1px;
  }
  .section-top-pickup .pickup-head {
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 0.2rem;
  }
  .section-top-pickup .pickup-head .time {
    width: 1.5rem;
    font-size: 0.24rem;
	letter-spacing: 0.1em;
  }
  .section-top-pickup .pickup-head .title {
    width: 100%;
  }
  .section-top-pickup .button-primary {
    margin: 0 auto;
  }
}

.section-top-newsystem {
  background: #AE353E;
  color: #fff;
  text-align: center;
}
.section-top-newsystem h3 {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
.section-top-newsystem .lead {
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.section-top-newsystem .note {
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.08em;
  text-align: center;
}
.section-top-newsystem .btn {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.section-top-newsystem .btn a {
  display: block;
  background: #fff;
  color: #AE353E;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  text-align: center;
  transition: all 0.3s ease;
}
.section-top-newsystem .btn a:hover {
  opacity: 0.8;
}
.section-top-newsystem .link-password {
  display: inline-block;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
  transition: opacity 0.3s ease;
}
.section-top-newsystem .link-password:hover {
  opacity: 0.8;
}

@media print, (min-width: 768px) {
  .section-top-newsystem {
    padding: 60px 0;
  }
  .section-top-newsystem .wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
  }
  .section-top-newsystem h3 {
    font-size: 32px;
    margin-bottom: 30px;
  }
  .section-top-newsystem .lead {
    font-size: 20px;
    margin-bottom: 30px;
  }
  .section-top-newsystem .btn {
    margin-bottom: 60px;
    gap: 20px;
  }
  .section-top-newsystem .btn a {
    min-width: 300px;
    padding: 16px;
    font-size: 22px;
  }
  .section-top-newsystem .note {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .section-top-newsystem .link-password {
    font-size: 26px;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-newsystem {
    padding: 1.2rem 0;
    margin-bottom: 1.5rem;
  }
  .section-top-newsystem h3 {
    font-size: 0.44rem;
    margin-bottom: 0.4rem;
  }
  .section-top-newsystem .lead {
    font-size: 0.24rem;
    margin-bottom: 0.4rem;
  }
  .section-top-newsystem .btn {
    flex-direction: column;
    margin-bottom: 0.8rem;
    gap: 10px;
  }
  .section-top-newsystem .btn a {
    padding: 0.2rem 0;
    font-size: 0.24rem;
    width: 220px;
    margin: 0 auto;
  }
  .section-top-newsystem .btn a:last-child {
    margin-bottom: 0;
  }
  .section-top-newsystem .note {
    font-size: 0.24rem;
    margin-bottom: 0.4rem;
  }
  .section-top-newsystem .link-password {
    font-size: 0.32rem;
  }
}

.section-top-intro {
  background: #1a2c3f;
}
.section-top-intro .section-content {
  color: #fff;
  letter-spacing: 0.08em;
}
.section-top-intro .intro-image img {
  width: 100%;
}

@media print, (min-width: 768px) {
  .section-top-intro {
    margin-bottom: 205px;
  }
  .section-top-intro .section-content {
    display: flex;
    align-items: center;
    padding: 155px 0;
  }
  .section-top-intro .title {
    flex: 1;
    font-size: 22px;
    line-height: 3.27272;
    margin-right: 40px;
  }
  .section-top-intro .image {
    max-width: 46.78571%;
  }
  .section-top-intro .intro-image {
    display: flex;
  }
  .section-top-intro .intro-image li {
    width: 33.3333%;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-intro {
    margin-bottom: 1.75rem;
  }
  .section-top-intro .section-content {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 1.3rem;
  }
  .section-top-intro .title {
    font-size: 0.24rem;
    line-height: 2.2;
  }
  .section-top-intro .image {
    width: 6.1rem;
    margin: -0.8rem -0.4rem 0.75rem auto;
  }
}
@media screen and (max-width: 1100px) and (min-width: 911px) {
  .section-top-intro .title {
    font-size: 18px;
    margin-right: 40px;
  }
}
@media screen and (max-width: 910px) and (min-width: 768px) {
  .section-top-intro .title {
    font-size: 16px;
    margin-right: 40px;
  }
}
.section-top-access {
  background: #f4f4f4;
}
.section-top-access .section-content {
  letter-spacing: 0.075em;
}
.section-top-access .text,
.section-top-access address {
  line-height: 2.5;
}

@media print, (min-width: 768px) {
  .section-top-access {
    margin-bottom: 145px;
    height: 630px;
    position: relative;
  }
  .section-top-access .primary-title {
    position: absolute;
    top: -43px;
    left: 0;
  }
  .section-top-access .primary-title strong {
    font-size: 60px;
  }
  .section-top-access .wrapper {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
  }
  .section-top-access .google-map {
    position: absolute;
    right: 0;
    top: 0;
    width: 62%;
    height: 100%;
  }
  .section-top-access .text {
    margin-bottom: 42px;
  }
  .section-top-access address {
    margin-bottom: 26px;
  }
  .section-top-access .button-primary {
    width: 400px;
    max-width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-access {
    margin-bottom: 1.35rem;
  }
  .section-top-access .primary-title {
    position: absolute;
    top: -0.35rem;
    left: 0;
  }
  .section-top-access .section-content {
    position: relative;
    text-align: center;
    padding: 0.8rem 0 0.7rem;
  }
  .section-top-access .google-map {
    position: relative;
    height: 3.5rem;
  }
  .section-top-access .text {
    font-size: 0.24rem;
  }
  .section-top-access address {
    font-size: 0.24rem;
    margin-bottom: 0.35rem;
  }
  .section-top-access .button-primary {
    margin: 0.45rem auto 0;
  }
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
  .section-top-access .primary-title {
    left: 60px;
  }
}
@media screen and (max-width: 1385px) and (min-width: 1211px) {
  .section-top-access {
    height: 530px;
  }
}
@media screen and (max-width: 1210px) and (min-width: 768px) {
  .section-top-access {
    height: 450px;
  }
  .section-top-access .google-map {
    width: 50%;
  }
}
@media screen and (max-width: 890px) and (min-width: 768px) {
  .section-top-access .button-primary {
    width: 100%;
  }
}
.section-top-room {
  position: relative;
}
.section-top-room::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
}
.section-top-room .text {
  letter-spacing: 0.075em;
}
.section-top-room .room-type a {
  display: block;
  position: relative;
}
.section-top-room .room-type .name {
  color: #fff;
  background: #1a2c3f;
  letter-spacing: 0.2em;
  position: absolute;
  writing-mode: tb-rl;
}

@media print, (min-width: 768px) {
  .section-top-room {
    padding-bottom: 450px;
  }
  .section-top-room .section-content {
    margin-bottom: 260px;
  }
  .section-top-room::before {
    height: 450px;
    background: url("../img/top/top_bottom_banner.jpg") no-repeat top center;
    background-size: cover;
  }
  .section-top-room .primary-title {
    margin-bottom: 60px;
  }
  .section-top-room .primary-title strong {
    font-size: 62px;
    color: #000;
  }
  .section-top-room .text {
    font-size: 22px;
    line-height: 2.2;
    margin-bottom: 118px;
  }
  .section-top-room .room-type {
    display: flex;
    margin: 0 -15px;
  }
  .section-top-room .room-type a {
    position: relative;
  }
  .section-top-room .room-type a::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: all 0.3s ease;
    background: rgba(26, 44, 63, 0.6);
    opacity: 0;
    visibility: hidden;
  }
  .section-top-room .room-type a:hover::before {
    opacity: 1;
    visibility: visible;
  }
  .section-top-room .room-type li {
    width: 33.3333%;
    padding: 0 15px;
  }
  .section-top-room .room-type .name {
    font-size: 22px;
    top: -30px;
    left: 35px;
    padding: 35px 26px;
  }
  .section-top-room .banner-bottom {
    padding: 107px 0;
    background: #f4f4f4;
    text-align: center;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .section-top-room .room-type .name {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .section-top-room {
    background: #f4f4f4;
  }
  .section-top-room .section-content {
    position: relative;
    padding: 0.6rem 0.5rem 1.3rem;
  }
  .section-top-room .primary-title {
    position: absolute;
    left: 0;
    top: -0.35rem;
  }
  .section-top-room .text {
    font-size: 0.24rem;
    line-height: 2.2;
    margin-bottom: 1.35rem;
  }
  .section-top-room .room-type li {
    margin-bottom: 1.25rem;
  }
  .section-top-room .room-type li:last-child {
    margin-bottom: 0;
  }
  .section-top-room .room-type .name {
    font-size: 0.28rem;
    top: -0.3rem;
    left: 0.3rem;
    padding: 0.27rem 0.3rem;
  }
}
/*231005追記*/

.section-top-partner {
	margin: 100px 0 150px 0;
}
.section-top-partner .title {
	font-size: 32px;
	text-align: center;
	margin-bottom: 50px;
}
.partner-flex{
	display: flex;
	justify-content: center;
}
.partner-flex div{
	padding: 0 10px;
}
.banner-bottom .bnr{
	margin: 25px 0;
}
@media only screen and (max-width: 767px) {
	.section-top-partner .title {
		font-size: 24px;
		margin-bottom: 20px;
}
	.section-top-partner {
		margin: 50px 0 130px 0;
}
	.partner-flex{
		display: block;
}
	.partner-flex div{
		padding: 10px 0;
}
}
/*231005追記*/


/* PAGE COMPANY
 * ----------------------------------------------- */
.section-company .section-intro .content {
  letter-spacing: 0.075em;
  line-height: 2.2;
}
.section-company .section-intro .text {
  margin-bottom: 2.2em;
}
.section-company .section-intro .text:last-child {
  margin-bottom: 0;
}
.section-company .company-history {
  background: #f4f4f4;
  position: relative;
}
.section-company .company-history .primary-title span {
  color: #000;
}
.section-company .company-history .text {
  letter-spacing: 0.075em;
  line-height: 2.5;
}
.section-company .timeline .item {
  border-top: 1px solid #af3741;
  display: flex;
}
.section-company .timeline .time {
  letter-spacing: 0.075em;
  line-height: 2.2222;
  position: relative;
  color: #af3741;
}
.section-company .timeline .time::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  background: #af3741;
  top: -1px;
  left: 0;
}
.section-company .timeline p {
  flex: 1;
  letter-spacing: 0.08em;
  line-height: 2.5;
}
.section-company .company-other-info strong {
  letter-spacing: 0.075em;
  display: block;
}
.section-company .company-other-info p,
.section-company .company-other-info .sales-trend {
  letter-spacing: 0.08em;
  line-height: 2.5;
}
.section-company .company-other-info p li,
.section-company .company-other-info .sales-trend li {
  margin-bottom: 2.5em;
}

@media print, (min-width: 768px) {
  .section-company {
    padding: 95px 0 98px;
  }
  .section-company .block-content {
    display: flex;
    align-items: center;
    padding: 100px 0 130px;
  }
  .section-company .block-content .image {
    width: 53.4285%;
  }
  .section-company .block-content .content {
    flex: 1;
    padding-left: 11.2%;
    font-size: 22px;
  }
  .section-company .block-content a {
    display: inline-block;
    pointer-events: none;
  }
  .section-company .block-content .address {
    margin-bottom: 44px;
  }
  .section-company .primary-title span {
    font-size: 32px;
  }
  .section-company .company-history {
    padding: 109px 0 155px;
    margin-bottom: 146px;
  }
  .section-company .company-history .text {
    margin-bottom: 139px;
    font-size: 18px;
  }
  .section-company .company-history .content {
    display: flex;
    justify-content: space-between;
    margin-top: 106px;
  }
  .section-company .company-history .primary-title {
    width: 375px;
    flex-direction: column;
    align-items: flex-start;
    margin-top: -20px;
  }
  .section-company .company-history .primary-title span {
    margin-left: 0;
    margin-top: 25px;
    font-size: 32px;
  }
  .section-company .timeline {
    flex: 1;
    padding-left: 11%;
  }
  .section-company .timeline .item {
    margin-bottom: 32px;
  }
  .section-company .timeline .time {
    width: 192px;
    font-size: 18px;
    padding: 16px 0;
  }
  .section-company .timeline p {
    padding: 16px 10px 16px 35px;
  }
  .section-company .company-other-info .main-client {
    margin-bottom: 133px;
  }
  .section-company .company-other-info strong {
    font-size: 18px;
    margin-bottom: 25px;
  }
  .section-company .sales-trend span:first-child {
    position: relative;
    margin-right: 120px;
  }
  .section-company .sales-trend span:first-child::before {
    position: absolute;
    content: "";
    width: 100px;
    height: 1px;
    background: #707070;
    left: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 1050px) and (min-width: 768px) {
  .section-company .timeline .time {
    font-size: 16px;
    width: 155px;
  }
  .section-company .timeline p {
    padding-left: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .section-company {
    padding: 1.5rem 0;
  }
  .section-company .block-content {
    padding: 1rem 0;
  }
  .section-company .block-content .image {
    margin-bottom: 0.4rem;
  }
  .section-company .block-content .address {
    margin-bottom: 0.5rem;
  }
  .section-company .company-history {
    padding: 1.5rem 0;
    margin-bottom: 1rem;
  }
  .section-company .company-history .image-history {
    margin-bottom: 0.3rem;
  }
  .section-company .company-history .image-history img {
    width: 100%;
  }
  .section-company .company-history .text {
    margin-bottom: 1rem;
  }
  .section-company .timeline {
    margin-top: 1rem;
  }
  .section-company .timeline .item {
    margin-bottom: 0.3rem;
  }
  .section-company .timeline .time {
    width: 2.3rem;
    padding: 0.3rem 0;
  }
  .section-company .timeline p {
    padding: 0.3rem 0.06rem;
  }
  .section-company .company-other-info .main-client {
    margin-bottom: 1rem;
  }
  .section-company .company-other-info strong {
    font-size: 0.3rem;
    margin-bottom: 0.4rem;
  }
  .section-company .sales-trend span {
    display: block;
  }
}
/* PAGE CONTACT
 * ----------------------------------------------- */
.contact-keyvisual {
  position: relative;
}
.contact-keyvisual img {
  width: 100%;
}
.contact-keyvisual .wrapper {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: flex;
  align-items: center;
}

@media print, (min-width: 768px) {
  .secondary-navigation .menu {
    padding-top: 30px;
    padding-left: 70px;
  }
  .secondary-navigation .menu strong {
    font-size: 32px;
    margin-bottom: 10px;
  }
  .secondary-navigation a {
    padding-bottom: 40px;
  }
}
.contact-intro p {
  letter-spacing: 0.075em;
  line-height: 2.2;
  margin-bottom: 2.2em;
}
.contact-intro p:last-child {
  margin-bottom: 0;
}
.contact-intro.contact-complete .text {
  letter-spacing: 0.075em;
  line-height: 2.2;
  margin-bottom: 2.2em;
}

@media print, (min-width: 768px) {
  .contact-intro {
    max-width: 770px;
    margin: 0 auto;
    padding: 140px 0;
  }
  .contact-intro p {
    font-size: 18px;
  }
  .contact-intro.contact-confirm {
    padding: 164px 0 128px;
  }
  .contact-intro.contact-confirm .text {
    font-size: 16px;
  }
  .contact-intro.contact-complete {
    padding: 166px 0;
  }
  .contact-intro.contact-complete .text {
    font-size: 16px;
  }
  .contact-intro .button-primary {
    margin: 165px auto 13px;
    max-width: inherit;
    width: 400px;
  }

  .block-contact .block-inner {
    max-width: 765px;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 768px) {
  .contact-intro {
    padding: 1rem 20px;
  }
  .contact-intro .button-primary {
    margin: 1rem auto 0;
    max-width: 4rem;
  }
    .section-banquets-venue .banquets-flex{
        flex-direction: column;
        text-align: center;
    }
    .section-meal-dinner .section-content{
        display: block;
    }
    .section-meal-dinner .image{
        margin: 0 auto;
        width: 100%;
        position: static;
    }
    .section-meal-dinner .image img{
        width: 100%;
    }
    .section-meal-dinner .content{
        width: auto;
    }
}
.mw_wp_form_confirm .contact-form .form-input {
  line-height: 2.5;
}

.contact-form {
  letter-spacing: 0.08em;
}
.contact-form .form-title .warning {
  color: #af3741;
}
.contact-form .radio-button .mw-wrap {
  display: flex;
  flex-wrap: wrap;
}
.contact-form .mwform-radio-field label {
  cursor: pointer;
}
.contact-form .mwform-radio-field input:checked + .mwform-radio-field-text:before {
  background: #af3741;
}
.contact-form .mwform-radio-field .mwform-radio {
  text-indent: -9999px;
  display: none;
}
.contact-form .mwform-radio-field .mwform-radio-field-text {
  position: relative;
}
.contact-form .mwform-radio-field .mwform-radio-field-text::before {
  position: absolute;
  content: "";
  border-radius: 50%;
  background: #fff;
  border: 4px solid #fff;
  padding: 5px;
  box-shadow: 0 0 0 1px black;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.2s ease;
}
.contact-form .mwform-checkbox-field label {
  cursor: pointer;
}
.contact-form .mwform-checkbox-field input:checked + .mwform-checkbox-field-text:before {
  background: #af3741;
}
.contact-form .mwform-checkbox-field input {
  text-indent: -9999px;
  display: none;
}
.contact-form .mwform-checkbox-field .mwform-checkbox-field-text {
  position: relative;
}
.contact-form .mwform-checkbox-field .mwform-checkbox-field-text::before {
  position: absolute;
  content: "";
  border-radius: 4px;
  background: #fff;
  border: 4px solid #fff;
  padding: 5px;
  box-shadow: 0 0 0 1px black;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.2s ease;
}
.contact-form .mwform-text,
.contact-form .mwform-textarea {
  -webkit-appearance: none;
  width: 100%;
  border: 1px solid #000;
  box-shadow: none;
  border-radius: 0;
  outline: none;
  resize: none;
}
.contact-form .mwform-select {
  width: 100%;
  border: 1px solid #000;
  box-shadow: none;
  border-radius: 0;
  outline: none;
}
.contact-form .form-submit {
  text-align: center;
}
.contact-form .form-submit .mwform-button {
  margin: 0 auto;
  max-width: inherit;
}

@media print, (min-width: 768px) {
  .mw_wp_form_confirm .contact-form {
    padding-top: 0;
  }
  .mw_wp_form_confirm .contact-form .form-row {
    min-height: auto;
    padding-bottom: 0;
    border-top: 1px solid #707070;
  }
  .mw_wp_form_confirm .contact-form .form-row:first-child {
    border-top: 2px solid #707070;
  }
  .mw_wp_form_confirm .contact-form .form-row:first-child .form-title {
    padding-top: 39px;
  }
  .mw_wp_form_confirm .contact-form .form-title {
    border-right: 1px solid #707070;
    padding: 39px 10px 39px 45px;
    width: 250px;
  }
  .mw_wp_form_confirm .contact-form .form-input {
    padding: 29px 54px;
  }
  .mw_wp_form_confirm .contact-form .form-submit {
    padding-top: 180px;
    border-top: 2px solid #707070;
  }
  .mw_wp_form_confirm .contact-form .form-submit .mw-wrap {
    display: flex;
    justify-content: center;
  }
  .mw_wp_form_confirm .contact-form .form-submit .button-primary {
    margin: 0 42px;
  }

  .contact-form {
    max-width: 1024px;
    margin: 0 auto;
    padding: 179px 0 200px;
  }
  .contact-form .form-row {
    display: flex;
    min-height: 154px;
    padding-bottom: 10px;
  }
  .contact-form .form-row:first-child .form-title {
    padding-top: 0;
  }
  .contact-form .form-title {
    width: 220px;
    padding-top: 13px;
  }
  .contact-form .form-title .warning {
    margin-left: 5px;
  }
  .contact-form .form-input {
    flex: 1;
  }
  .contact-form .mwform-radio-field {
    margin-right: 60px;
    margin-bottom: 30px;
    min-width: 150px;
    margin-top: 0 !important;
  }
  .contact-form .mwform-checkbox-field {
    margin-bottom: 30px;
  }
  .contact-form .mwform-radio-field-text {
    padding-left: 30px;
    min-width: 135px;
  }
  .contact-form .mwform-checkbox-field-text {
    padding-left: 30px;
  }
  .contact-form .mwform-text {
    padding: 0 10px;
    height: 50px;
  }
  .contact-form .mwform-select {
    padding: 0 10px;
    height: 50px;
  }
  .contact-form .mwform-textarea {
    padding: 10px;
    height: 475px;
  }
  .contact-form .mwform-button {
    width: 400px;
    cursor: pointer;
  }
  .contact-form .form-submit {
    padding-top: 170px;
  }
}
@media only screen and (max-width: 767px) {
  .mw_wp_form_confirm .contact-form {
    padding-top: 0;
    border-top: 2px solid #707070;
  }
  .mw_wp_form_confirm .contact-form .form-row {
    border-bottom: 2px solid #707070;
    margin-bottom: 0;
  }
  .mw_wp_form_confirm .contact-form .form-title {
    padding: 0.2rem 0;
    margin-bottom: 0;
    border-bottom: 1px solid #707070;
  }
  .mw_wp_form_confirm .contact-form .form-input {
    padding: 0.2rem 0;
  }
  .mw_wp_form_confirm .contact-form .form-submit .button-primary {
    margin: 0.2rem auto;
  }

  .contact-form {
    padding: 1.5rem 0 2rem;
  }
  .contact-form .form-row {
    margin-bottom: 0.4rem;
  }
  .contact-form .form-title {
    margin-bottom: 0.3rem;
    font-size: 0.3rem;
  }
  .contact-form .form-title .warning {
    margin-left: 0.06rem;
  }
  .contact-form .mwform-radio-field,
  .contact-form .mwform-checkbox-field {
    width: 100%;
    margin-bottom: 0.3rem;
  }
  .contact-form .mwform-radio-field-text,
  .contact-form .mwform-checkbox-field-text {
    padding-left: 25px;
  }
  .contact-form .mwform-text {
    padding: 0 0.1rem;
    height: 0.8rem;
  }
  .contact-form .mwform-select {
    padding: 0 0.1rem;
    height: 0.8rem;
  }
  .contact-form .mwform-textarea {
    padding: 0.1rem;
    height: 4.5rem;
  }
  .contact-form .form-submit {
    padding-top: 1rem;
  }
  .contact-form .form-submit .mwform-button {
    width: 4rem;
    padding: 0.2rem 0;
  }
}
/* PAGE FACILITIES
 * ----------------------------------------------- */
.table-floor-guide {
  table-layout: fixed;
  border-collapse: unset;
  width: 100%;
  letter-spacing: 0.08em;
}
.table-floor-guide th {
  text-align: center;
  background: #1a2c3f;
  border: 1px solid #707070;
  vertical-align: top;
}
.table-floor-guide th.is-center {
  vertical-align: middle;
}
.table-floor-guide td {
  background: #f4f4f4;
  border: 1px solid #707070;
  vertical-align: top;
}
.table-floor-guide td p {
  line-height: 2.5;
}
.table-floor-guide tr:last-child td {
  background: rgba(26, 44, 63, 0.2);
}
.table-floor-guide .floor-level {
  letter-spacing: 0.1em;
  color: #fff;
}
.table-floor-guide .floor-level span {
  display: block;
  position: relative;
}
.table-floor-guide .floor-level span:last-child {
  padding-bottom: 0;
}
.table-floor-guide .floor-level span:last-child::before {
  display: none;
}
.table-floor-guide .floor-level span::before {
  position: absolute;
  content: "";
  background-color: #fff;
  width: 2px;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.table-floor-guide .option {
  line-height: 2.5;
  display: flex;
  flex-wrap: wrap;
}
.table-floor-guide .option li {
  padding-left: 1em;
  text-indent: -1em;
}
.table-floor-guide .option a {
  display: inline-block;
  background: #1a2c3f;
  color: #fff;
  text-indent: 0;
  line-height: 1;
}

@media print, (min-width: 768px) {
  .section-facilities-guide {
    margin-top: 137px;
    margin-bottom: 354px;
    padding-top: 130px;
  }
  .section-facilities-guide .section-inner {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 14px;
  }

  .table-floor-guide {
    border-spacing: 6px;
    margin-top: 135px;
  }
  .table-floor-guide th {
    width: 135px;
    padding: 13px 5px;
  }
  .table-floor-guide td {
    padding: 13px 27px;
    padding-right: 0;
  }
  .table-floor-guide td.is-height {
    height: 485px;
  }
  .table-floor-guide td p {
    padding: 8px 20px;
  }
  .table-floor-guide .group-info {
    display: flex;
  }
  .table-floor-guide .option {
    border-right: 1px solid #555;
    padding-left: 30px;
  }
  .table-floor-guide .option:first-child {
    padding-left: 0;
  }
  .table-floor-guide .option:last-child {
    border: none;
  }
  .table-floor-guide .option.is-width-shorter {
    width: 257px;
    flex-shrink: 0;
  }
  .table-floor-guide .option.is-width-short {
    width: 330px;
    flex-shrink: 0;
  }
  .table-floor-guide .option li {
    margin-right: 53.5px;
  }
  .table-floor-guide .option li.is-half {
    width: 280px;
    margin-right: 0;
  }
  .table-floor-guide .option li.is-none {
    margin-right: 0;
  }
  .table-floor-guide .option li.is-full {
    width: 100%;
  }
  .table-floor-guide .option a {
    font-size: 13px;
    transition: all 0.3s ease;
    padding: 7px 6px;
    margin-left: 10px;
    border: 1px solid #1a2c3f;
    position: relative;
    top: -2px;
  }
  .table-floor-guide .option a:hover {
    background: #fff;
    color: #1a2c3f;
  }
  .table-floor-guide .floor-level span {
    font-size: 32px;
    padding-bottom: 10px;
  }
  .table-floor-guide .floor-level span::before {
    height: 10px;
  }
  .table-floor-guide .floor-level small {
    font-size: 22px;
  }
}
@media only screen and (max-width: 1000px) and (min-width: 767px){
  .table-floor-guide .option {
    display: block;
    padding-right:30px;
  }
  .table-floor-guide .option li.is-half{
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .section-facilities-guide {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    padding-top: 1rem;
  }

  .table-floor-guide {
    border-spacing: 0.06rem;
    margin-top: 1rem;
  }
  .table-floor-guide th {
    width: 1.4rem;
    padding: 0.14rem 0.06rem;
  }
  .table-floor-guide td {
    padding: 0.2rem;
  }
  .table-floor-guide td.is-height {
    height: 4rem;
  }
  .table-floor-guide td p {
    padding: 0.2rem;
  }
  .table-floor-guide .option {
    border-bottom: 1px solid #555;
    padding: 0.2rem 0;
  }
  .table-floor-guide .option:last-child {
    border-bottom: none;
  }
  .table-floor-guide .option a {
    font-size: 0.24rem;
    padding: 0.1rem;
    margin-left: 0.5rem;
  }
  .table-floor-guide .floor-level span {
    font-size: 0.3rem;
    padding-bottom: 0.15rem;
  }
  .table-floor-guide .floor-level span::before {
    height: 0.15rem;
  }
  .table-floor-guide .floor-level small {
    font-size: 0.24rem;
  }
}
.section-facilities-bath {
  position: relative;
}
.section-facilities-bath .primary-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.section-facilities-bath .section-inner.is-background {
  background: #f4f4f4;
}
.section-facilities-bath .service-intro {
  border-bottom: 1px solid #707070;
}
.section-facilities-bath .logo {
  text-align: center;
}
.section-facilities-bath .info {
  letter-spacing: 0.08em;
  line-height: 2.2;
}
.section-facilities-bath .info .time {
  letter-spacing: 0.075em;
}
.section-facilities-bath .box-note {
  background: #fff;
  border: 1px solid #707070;
  letter-spacing: 0.08em;
  line-height: 2.5;
}
.section-facilities-bath .box-note li, .takeout .bg-order .li-dot {
  text-indent: -1em;
  padding-left: 1em;
}
.section-facilities-bath .floor-service {
  position: relative;
}
.section-facilities-bath .floor-mark {
  position: absolute;
  display: block;
  text-align: center;
  background: #1a2c3f;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1;
}

.service-bath-list .text {
  letter-spacing: 0.075em;
}

.list-service .title {
  color: #af3741;
  position: relative;
  letter-spacing: 0.075em;
}
.list-service .title span {
  position: relative;
  display: inline-block;
  background: #f4f4f4;
}
.list-service .title::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #af3741;
}
.list-service .text,
.list-service .point {
  line-height: 2.5;
  letter-spacing: 0.08em;
}
.list-service .content {
  display: flex;
}
.list-service .content .image {
  flex-shrink: 0;
}
.list-service .name-service {
  letter-spacing: 0.03em;
}
.list-service .point li {
  text-indent: -1em;
  padding-left: 1em;
}

@media print, (min-width: 768px) {
  .section-facilities-bath .primary-title {
    top: -35px;
  }
  .section-facilities-bath .section-inner {
    padding: 250px 0 100px;
  }
  .section-facilities-bath .section-inner.is-base {
    padding: 100px 0 200px;
  }
  .section-facilities-bath .section-inner.is-base .floor-service {
    padding-top: 150px;
  }
  .section-facilities-bath .section-inner.is-second {
    padding-top: 200px;
  }
  .section-facilities-bath .floor-service .button-primary {
    width: 400px;
    max-width: inherit;
    margin: 6px auto 0;
  }
  .section-facilities-bath .service-intro {
    display: flex;
    padding: 70px 0 119px;
    margin-bottom: 99px;
  }
  .section-facilities-bath .logo {
    width: 50%;
  }
  .section-facilities-bath .info {
    width: 50%;
    font-size: 18px;
  }
  .section-facilities-bath .info .time {
    font-size: 16px;
    margin-top: 23px;
  }
  .section-facilities-bath .floor-mark {
    width: 260px;
    font-size: 32px;
    padding: 19px 5px;
    top: 0;
    left: 0;
  }
  .section-facilities-bath .floor-mark small {
    font-size: 22px;
  }
  .section-facilities-bath .list-service .bike{
    margin-top: 20px;
  }

  .service-bath-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .service-bath-list.is-full {
    padding-bottom: 100px;
  }
  .service-bath-list.is-full .item {
    width: 100%;
    margin-bottom: 0;
    margin-top: 156px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .service-bath-list.is-full .content {
    width: 650px;
    padding-right: 40px;
  }
  .service-bath-list.is-full .title-line {
    margin-bottom: 67px;
  }
  .service-bath-list.is-full .text {
    font-size: 16px;
    line-height: 2.5;
    margin-bottom: 19px;
  }
  .service-bath-list .item {
    width: 46.714%;
    margin-bottom: 100px;
  }
  .service-bath-list .title-line {
    margin-bottom: 29px;
  }
  .service-bath-list .text {
    margin-bottom: 63px;
    font-size: 18px;
  }

  .box-note {
    display: flex;
    padding: 37px 10px 37px 50px;
  }
  .box-note ul:nth-child(2n) {
    width: calc(100% - 46.4%);
  }
  .box-note ul:first-child {
    width: 46.4%;
  }

  .list-service {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .list-service > li {
    width: 46.7142%;
    margin-bottom: 120px;
  }
  .list-service > li.is-full {
    width: 100%;
  }
  .list-service .title {
    font-size: 32px;
    margin-bottom: 70px;
  }
  .list-service .title span {
    padding: 0 25px;
  }
  .list-service .image {
    margin-right: 65px;
  }
  .list-service .name-service {
    font-size: 32px;
    margin-bottom: 45px;
  }
  .list-service .wrap-block {
    display: flex;
  }
  .list-service .wrap-block .content {
    width: 50%;
    padding-right: 10px;
  }
}
@media screen and (max-width: 1315px) and (min-width: 768px) {
  .list-service .title span {
    font-size: 26px;
  }
  .list-service .image {
    width: 130px;
    margin-right: 25px;
  }
  .list-service .name-service {
    font-size: 26px;
  }
}
@media only screen and (max-width: 767px) {
  .section-facilities-bath .primary-title {
    top: -0.35rem;
  }
  .section-facilities-bath .section-inner {
    padding: 1.5rem 0;
  }
  .section-facilities-bath .floor-service .button-primary {
    width: 4rem;
    max-width: inherit;
    margin: 0 auto;
  }
  .section-facilities-bath .service-intro {
    padding: 0.7rem 0;
    margin-bottom: 1rem;
  }
  .section-facilities-bath .logo {
    margin-bottom: 0.2rem;
  }
  .section-facilities-bath .logo img {
    width: auto;
    height: 2rem;
  }
  .section-facilities-bath .info {
    font-size: 0.28rem;
  }
  .section-facilities-bath .info .time {
    font-size: 0.24rem;
    margin-top: 0.6rem;
  }
  .section-facilities-bath .floor-mark {
    width: 3rem;
    font-size: 0.3rem;
    padding: 0.2rem 0.1rem;
    top: 0;
    left: 0;
  }
  .section-facilities-bath .floor-mark small {
    font-size: 0.24rem;
  }
  .section-facilities-bath .list-service .bike{
    text-align: center;
    width: 220px;
    margin: 0.3rem auto 0.5rem;
  }

  .service-bath-list.is-full {
    padding-top: 0.5rem;
  }
  .service-bath-list.is-full .item {
    margin-top: 1rem;
  }
  .service-bath-list.is-full .content {
    margin-bottom: 0.5rem;
  }
  .service-bath-list .item {
    margin-bottom: 0.8rem;
  }
  .service-bath-list .title-line {
    margin-bottom: 0.3rem;
  }
  .service-bath-list .text {
    margin-bottom: 0.5rem;
  }

  .box-note {
    padding: 0.3rem;
  }

  .list-service {
    padding-top: 1.5rem;
  }
  .list-service > li {
    margin-bottom: 1rem;
  }
  .list-service .title {
    font-size: 0.4rem;
    margin-bottom: 0.5rem;
  }
  .list-service .title span {
    padding: 0 0.3rem;
  }
  .list-service .content {
    flex-direction: column;
    margin-bottom: 0.5rem;
  }
  .list-service .image {
    text-align: center;
    width: 2.5rem;
    margin: 0 auto 0.5rem;
  }
  .list-service .name-service {
    font-size: 0.4rem;
    text-align: center;
    margin-bottom: 0.4rem;
  }
}
/* PAGE GROUP
 * ----------------------------------------------- */
.section-group-keyvisual {
  background: url("../img/group/group_keyvisual_img.jpg") no-repeat center/cover;
  position: relative;
}
.section-group-keyvisual::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(26, 44, 63, 0.77);
  top: 0;
  left: 0;
}
.section-group-keyvisual .wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
}
.section-group-keyvisual .section-inner {
  color: #fff;
}
.section-group-keyvisual .section-title strong {
  display: block;
  letter-spacing: 0.1em;
}
.section-group-keyvisual .section-title span {
  letter-spacing: 0.075em;
}
.section-group-keyvisual .text {
  letter-spacing: 0.08em;
  line-height: 2.5;
}

@media print, (min-width: 768px) {
  .section-group-keyvisual .wrapper {
    height: 740px;
  }
  .section-group-keyvisual .section-title {
    margin-bottom: 81px;
  }
  .section-group-keyvisual .section-title strong {
    font-size: 60px;
    margin-bottom: 18px;
  }
  .section-group-keyvisual .section-title span {
    font-size: 26px;
  }
}
@media only screen and (max-width: 767px) {
  .section-group-keyvisual .wrapper {
    padding: 1rem 20px;
  }
  .section-group-keyvisual .section-title {
    margin-bottom: 0.5rem;
  }
  .section-group-keyvisual .section-title strong {
    font-size: 0.5rem;
    margin-bottom: 0.2rem;
  }
  .section-group-keyvisual .section-title span {
    font-size: 0.32rem;
  }
}
.service-list {
  text-align: center;
}
.service-list .order {
  letter-spacing: 0.1em;
  display: inline-block;
  position: relative;
}
.service-list .order::before {
  position: absolute;
  content: "";
  background: url("../img/common/icon_arrow_short.png") no-repeat;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.service-list .title {
  letter-spacing: 0.075em;
}
.service-list .text {
  letter-spacing: 0.08em;
  line-height: 2.5;
}
.service-list .button-more {
  display: inline-block;
  letter-spacing: 0.08em;
}
.service-list .image {
  position: relative;
}
.service-list .image figcaption {
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  background: #e4007f;
}

@media print, (min-width: 768px) {
  .section-group-service {
    padding: 158px 0 90px;
  }

  .service-list {
    max-width: 1024px;
    margin: 140px auto 0;
  }
  .service-list .item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 150px;
  }
  .service-list .item:nth-child(2n) .content {
    order: 2;
  }
  .service-list .item:nth-child(2n) .image {
    order: 1;
  }
  .service-list .content {
    width: 45.6%;
  }
  .service-list .image {
    width: 45.6%;
  }
  .service-list .image figcaption {
    font-size: 20px;
    padding: 1px 15px 3px;
  }
  .service-list .order {
    font-size: 45px;
    padding-bottom: 23px;
    margin-bottom: 66px;
  }
  .service-list .order::before {
    width: 65px;
    height: 5px;
    background-size: 100%;
  }
  .service-list .title {
    font-size: 32px;
    margin-bottom: 50px;
  }
  .service-list .text {
    margin-bottom: 10px;
  }
  .service-list .button-more {
    transition: all 0.3s ease;
    border-bottom: 1px solid transparent;
  }
  .service-list .button-more:hover {
    color: #af3741;
    border-bottom: 1px solid #af3741;
  }
}
@media only screen and (max-width: 767px) {
  .section-group-service {
    padding: 1.5rem 0 1rem;
  }

  .service-list {
    margin-top: 1rem;
  }
  .service-list .item {
    margin-bottom: 0.8rem;
  }
  .service-list .order {
    font-size: 0.4rem;
    padding-bottom: 0.2rem;
    margin-bottom: 0.4rem;
  }
  .service-list .order::before {
    width: 0.65rem;
    height: 0.1rem;
    background-size: 100%;
  }
  .service-list .title {
    font-size: 0.36rem;
    margin-bottom: 0.4rem;
  }
  .service-list .text {
    margin-bottom: 0.2rem;
  }
  .service-list .content {
    margin-bottom: 0.4rem;
  }
  .service-list .image img {
    width: 90%;
  }
  .service-list .image figcaption {
    font-size: 0.24rem;
    padding: 0.03rem 0.2rem 0.08rem;
  }
}
/* PAGE MEAL
 * ----------------------------------------------- */
.section-meal-dinner .section-inner {
  background: #f4f4f4;
}
.section-meal-dinner .text {
  letter-spacing: 0.08em;
  line-height: 2.5;
}
.section-meal-dinner .place-time {
  letter-spacing: 0.08em;
  line-height: 1.875;
}
.section-meal-dinner .box-note {
  background: #fff;
  border: 1px solid #707070;
  letter-spacing: 0.08em;
  line-height: 2.5;
}
.section-meal-dinner .dining-space-image {
  display: flex;
  flex-wrap: wrap;
}

@media print, (min-width: 769px) {
  .section-meal-dinner {
    margin: 83px 0 198px;
    padding-top: 150px;
  }
  .section-meal-dinner .section-inner {
    padding-bottom: 188px;
  }
  .section-meal-dinner .primary-title {
    margin-top: -35px;
  }
  .section-meal-dinner .section-content {
    display: flex;
    margin: 148px 0 187px;
  }
  .section-meal-dinner .image {
    order: 2;
    width: 92.85%;
    position: relative;
    left: 50%;
    margin-left: -40%;
  }
  .section-meal-dinner .image img{
    object-fit: cover;
    max-width: 1000px;
    height: 100%;
    width: 100%;
  } 
  .section-meal-dinner .content {
    width: 520px;
    order: 1;
  }
  .section-meal-dinner .provider-logo {
    margin-bottom: 67px;
  }
  .section-meal-dinner .text {
    margin-bottom: 39px;
  }
  .section-meal-dinner .place-time {
    margin-bottom: 65px;
  }
  .section-meal-dinner .box-note {
    padding: 17px 30px;
  }
  .section-meal-dinner .dining-space-image {
    margin: 0 -12px;
  }
  .section-meal-dinner .dining-space-image li {
    width: 33.3333%;
    padding: 12px;
  }
}
@media screen and (max-width: 1310px) and (min-width: 769px) {
  .section-meal-dinner .image {
    margin-left: -45%;
  }
}
@media only screen and (max-width: 767px) {
  .section-meal-dinner {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    padding-top: 1rem;
  }
  .section-meal-dinner .section-inner {
    padding-bottom: 1rem;
  }
  .section-meal-dinner .primary-title {
    margin-top: -0.35rem;
    position: relative;
    top: -0.08rem;
  }
  .section-meal-dinner .section-content {
    margin: 0.6rem 0;
  }
  .section-meal-dinner .image {
    margin-bottom: 0.7rem;
  }
  .section-meal-dinner .provider-logo {
    width: 4rem;
    margin-bottom: 0.4rem;
  }
  .section-meal-dinner .text {
    margin-bottom: 0.4rem;
  }
  .section-meal-dinner .place-time {
    margin-bottom: 0.5rem;
  }
  .section-meal-dinner .box-note {
    padding: 0.2rem 0.3rem;
  }
  .section-meal-dinner .dining-space-image {
    margin: 0 -0.1rem;
  }
  .section-meal-dinner .dining-space-image li {
    width: 50%;
    padding: 0.1rem;
  }
}
.section-meal-menu .title-for-group {
  letter-spacing: 0.075em;
}
.section-meal-menu .dining-menu li {
  border-bottom: 1px solid #707070;
}
.section-meal-menu .dining-menu li:first-child {
  padding-top: 0;
}
.section-meal-menu .dining-menu li:last-child {
  border: none;
}
.section-meal-menu .dining-menu .text {
  letter-spacing: 0.08em;
  line-height: 2.5;
}
.section-meal-menu .dining-menu .text.is-red {
  color: #af3741;
}
.section-meal-menu .dining-menu .special {
  letter-spacing: 0.08em;
  line-height: 1.875;
}
.section-meal-menu .dining-menu .note {
  text-align: right;
  letter-spacing: 0.08em;
  line-height: 1.875;
}
.section-meal-menu .table-price {
  table-layout: fixed;
  width: 100%;
  border-top: 2px solid #707070;
  border-bottom: 2px solid #707070;
}
.section-meal-menu .table-price th {
  width: 33.3333%;
}
.section-meal-menu .table-price th,
.section-meal-menu .table-price td {
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 1.875;
  border-bottom: 1px solid #707070;
  border-right: 1px solid #707070;
}
.section-meal-menu .table-price th:last-child,
.section-meal-menu .table-price td:last-child {
  border-right: none;
}

@media print, (min-width: 768px) {
  .section-meal-menu {
    padding-bottom: 45px;
  }
  .section-meal-menu .title-for-group {
    margin-bottom: 140px;
    font-size: 46px;
  }
  .section-meal-menu .dining-menu {
    margin-top: 147px;
  }
  .section-meal-menu .dining-menu li {
    padding: 195px 0 205px;
  }
  .section-meal-menu .item-inner {
    display: flex;
    justify-content: space-between;
  }
  .section-meal-menu .item-inner .content {
    width: 570px;
    padding-right: 60px;
  }
  .section-meal-menu .item-inner .image {
    width: 47.2%;
  }
  .section-meal-menu .title-line {
    margin-bottom: 68px;
  }
  .section-meal-menu .info {
    margin-bottom: 61px;
  }
  .section-meal-menu .special {
    margin-bottom: 7px;
  }
  .section-meal-menu .special a {
    pointer-events: none;
    display: inline-block;
  }
  .section-meal-menu .table-price {
    margin: 10px 0 6px;
  }
  .section-meal-menu .table-price th,
  .section-meal-menu .table-price td {
    padding: 13px 5px;
  }
}
@media only screen and (max-width: 767px) {
  .section-meal-menu {
    padding-bottom: 1rem;
  }
  .section-meal-menu .title-for-group {
    margin-bottom: 0.7rem;
    font-size: 0.5rem;
  }
  .section-meal-menu .dining-menu {
    margin-top: 1rem;
  }
  .section-meal-menu .dining-menu li {
    padding: 1rem 0;
  }
  .section-meal-menu .item-inner .content {
    margin-bottom: 0.3rem;
  }
  .section-meal-menu .item-inner .image img {
    width: 100%;
  }
  .section-meal-menu .title-line {
    margin-bottom: 0.4rem;
  }
  .section-meal-menu .info {
    margin-bottom: 0.5rem;
  }
  .section-meal-menu .table-price {
    margin: 0.1rem 0;
  }
  .section-meal-menu .table-price th,
  .section-meal-menu .table-price td {
    padding: 0.2rem 0.1rem;
  }
}
/* PAGE NEWS
 * ----------------------------------------------- */
.news-category strong {
  letter-spacing: 0.1em;
}
.news-category .list-category {
  letter-spacing: 0.08em;
  display: flex;
  flex-wrap: wrap;
}
.news-category .list-category li.is-active a {
  color: #af3741;
  border-bottom: 1px solid #af3741;
}

.news-list {
  background: #f4f4f4;
}
.news-list .news-item {
  display: flex;
  align-items: flex-start;
  letter-spacing: 0.08em;
  border-bottom: 1px solid #707070;
  position: relative;
}
.news-list .news-item::before {
  position: absolute;
  content: "";
  background: url("../img/common/icon_arrow_news.png") no-repeat;
}
.news-list .news-item .time {
  letter-spacing: 0.075em;
}
.news-list .title-news {
  word-break: break-word;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .news-list .title-news {
    word-break: break-all;
  }
}

.category {
  display: block;
  line-height: 1;
  text-align: center;
  color: #fff;
  background: #1a2c3f;
  letter-spacing: 0.08em;
}
.category.is-notice {
  background: #1a2c3f;
}
.category.is-meal {
  background: #af3741;
}
.category.is-lodging {
  background: #a4a4a4;
}

@media print, (min-width: 768px) {
  .main-news {
    padding-top: 232px;
    padding-bottom: 187px;
  }

  .news-category {
    display: flex;
    max-width: 1024px;
    margin: 0 auto 34px;
  }
  .news-category strong {
    font-size: 32px;
    flex-shrink: 0;
  }
  .news-category .list-category {
    flex: 1;
    margin-top: 11px;
  }
  .news-category .list-category a {
    transition: all 0.2s ease;
  }
  .news-category .list-category a:hover {
    color: #af3741;
  }
  .news-category .list-category li {
    margin-left: 17.4%;
    margin-bottom: 20px;
  }

  .news-list {
    margin-bottom: 75px;
  }
  .news-list .list {
    max-width: 1024px;
    margin: 0 auto;
    padding: 98px 0 140px;
  }
  .news-list .news-item {
    padding: 42px 70px 43px 0;
  }
  .news-list .news-item::before {
    width: 66px;
    height: 6px;
    background-size: 100%;
    right: 0;
    top: 50%;
    opacity: 0;
    transform: translateY(-50%);
    transition: all 0.2s ease;
  }
  .news-list .news-item:hover * {
    opacity: 0.6;
    transition: 0.26s ease;
  }
  .news-list .news-item:hover::before {
    opacity: 1;
    right: -20px;
    transition-delay: 0.2s;
  }
  .news-list .time {
    position: relative;
    top: -2px;
    width: 150px;
    flex-shrink: 0;
    font-size: 20px;
  }
  .news-list .title-news {
    flex: 1;
    padding-left: 40px;
  }

  .category {
    width: 110px;
    flex-shrink: 0;
    padding: 3px 0 7px;
  }
}
@media only screen and (max-width: 767px) {
  .main-news {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }

  .news-category {
    margin-bottom: 0.5rem;
  }
  .news-category strong {
    font-size: 0.34rem;
    display: block;
  }
  .news-category .list-category {
    width: 100%;
    margin-top: 0.2rem;
  }
  .news-category .list-category li {
    margin-right: 0.3rem;
    margin-bottom: 0.3rem;
  }

  .news-list {
    margin-bottom: 0.6rem;
  }
  .news-list .list {
    padding: 1rem 0;
  }
  .news-list .news-item {
    padding: 0.4rem 0;
    flex-wrap: wrap;
  }
  .news-list .time {
    width: 1.8rem;
    flex-shrink: 0;
    font-size: 0.26rem;
    margin-top: 0.04rem;
  }
  .news-list .title-news {
    width: 100%;
    margin-top: 0.3rem;
  }

  .category {
    width: 2rem;
    flex-shrink: 0;
    padding: 0.03rem 0 0.07rem;
  }
}
.detail-head {
  letter-spacing: 0.075em;
}
.detail-head .detail-title {
  line-height: 1.34375;
}

.post-content {
  letter-spacing: 0.08em;
  line-height: 2.5;
  overflow-wrap: break-word;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .post-content {
    word-break: break-all;
  }
}
.post-content p {
  margin-bottom: 2.5em;
}
.post-content img {
  margin-bottom: 1em;
}
.post-content blockquote {
  padding-left: 40px;
}
.post-content ul,
.post-content ol {
  margin-bottom: 1.5em;
  padding-left: 20px;
}
.post-content ol {
  list-style: decimal;
}
.post-content ul li {
  position: relative;
}
.post-content ul li::before {
  position: absolute;
  content: "・";
  left: -17px;
}
.post-content h1 {
  margin-bottom: 1.5em;
  font-size: 1.6em;
  font-weight: bold;
}
.post-content h2 {
  margin-bottom: 1.5em;
  font-size: 1.4em;
  font-weight: bold;
}
.post-content h3 {
  margin-bottom: 1.5em;
  font-size: 1.2em;
  font-weight: bold;
}
.post-content h4,
.post-content h5,
.post-content h6 {
  margin-bottom: 1.5em;
  font-size: 1em;
  font-weight: bold;
}
.post-content b,
.post-content strong {
  font-weight: bold;
}
.post-content i,
.post-content em {
  font-style: italic;
}
.post-content a {
  text-decoration: underline;
}
.post-content a:hover {
  text-decoration: none;
}
.post-content .alignleft,
.post-content .alignright,
.post-content .aligncenter {
  display: block;
}
.post-content .aligncenter,
.post-content .alignright {
  margin-left: auto;
}
.post-content .alignleft,
.post-content .aligncenter {
  margin-right: auto;
}
.post-content .alignright {
  margin-right: 0;
}
.post-content .alignleft {
  margin-left: 0;
}
.post-content table {
  border-width: 1px;
}
.post-content table tbody, .post-content table thead, .post-content table tr, .post-content table th, .post-content table td {
  border-color: inherit;
}
.post-content table th, .post-content table td {
  border-width: 1px;
  border-style: solid;
  padding: 5px;
}

@media print, (min-width: 768px) {
  .main-detail {
    padding: 237px 0 200px;
  }

  .detail-head {
    display: flex;
    margin-bottom: 90px;
  }
  .detail-head .category {
    margin-bottom: 40px;
  }
  .detail-head .time {
    width: 190px;
    border-right: 1px solid #707070;
    font-size: 22px;
    line-height: 1;
  }
  .detail-head .detail-title {
    font-size: 32px;
  }
  .detail-head .detail-info {
    flex: 1;
    padding-left: 88px;
  }

  .detail-content {
    padding-left: 276px;
    margin-bottom: 190px;
  }

  .post-content {
    max-width: 936px;
  }
}
@media only screen and (max-width: 767px) {
  .main-detail {
    padding: 1.5rem 0;
  }

  .detail-head {
    margin-bottom: 0.5rem;
  }
  .detail-head .category {
    margin-bottom: 0.3rem;
  }
  .detail-head .time {
    display: block;
    border-bottom: 1px solid #707070;
    padding-bottom: 0.2rem;
    margin-bottom: 0.2rem;
    font-size: 0.26rem;
  }
  .detail-head .detail-title {
    font-size: 0.36rem;
  }

  .detail-content {
    margin-bottom: 1rem;
  }
}
/* PAGE POINTCARD
 * ----------------------------------------------- */
.section-point-card {
  background: #f4f4f4;
}
.section-point-card .section-inner {
  background: #fff;
}
.section-point-card .title {
  letter-spacing: 0.075em;
  line-height: 1.80555;
  position: relative;
}
.section-point-card .title::before {
  position: absolute;
  content: "";
  background: url("../img/pointcard/pointcard_arrow_icon.png") no-repeat;
  background-size: 100%;
  bottom: 0;
  left: 0;
  width: 100%;
}
.section-point-card .title .is-red {
  color: #af3741;
}
.section-point-card .list-point {
  letter-spacing: 0.075em;
}
.section-point-card .list-point > li {
  display: flex;
}
.section-point-card .list-point .order {
  flex-shrink: 0;
  color: #af3741;
  letter-spacing: 0.1em;
}
.section-point-card .list-point .content {
  flex: 1;
}
.section-point-card .list-point .title-point {
  color: #af3741;
}
.section-point-card .list-point ul,
.section-point-card .list-point p {
  line-height: 2.2;
}
.section-point-card .list-point ul li {
  text-indent: -1em;
  padding-left: 1em;
}

@media print, (min-width: 768px) {
  .section-point-card {
    padding: 152px 0 254px;
  }
  .section-point-card .section-inner {
    padding: 134px 25px 53px;
  }
  .section-point-card .section-content {
    max-width: 890px;
    margin: 0 auto;
  }
  .section-point-card .title {
    font-size: 26px;
    padding-bottom: 37px;
    margin-bottom: 110px;
  }
  .section-point-card .title::before {
    height: 11px;
  }
  .section-point-card .title strong {
    font-size: 36px;
  }
  .section-point-card .list-point > li {
    margin-bottom: 90px;
  }
  .section-point-card .list-point .content {
    padding-left: 44px;
    padding-top: 6px;
  }
  .section-point-card .list-point .order {
    font-size: 45px;
  }
  .section-point-card .list-point .title-point {
    font-size: 32px;
    margin-bottom: 28px;
  }
  .section-point-card .list-point ul,
  .section-point-card .list-point p {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .section-point-card {
    padding: 1.5rem 0 2rem;
  }
  .section-point-card .section-inner {
    padding: 0.5rem;
  }
  .section-point-card .title {
    font-size: 0.34rem;
    padding-bottom: 0.4rem;
    margin-bottom: 1rem;
  }
  .section-point-card .title::before {
    height: 0.22rem;
  }
  .section-point-card .title strong {
    font-size: 0.4rem;
  }
  .section-point-card .list-point > li {
    margin-bottom: 1rem;
  }
  .section-point-card .list-point .content {
    padding-left: 0.5rem;
    padding-top: 0.1rem;
  }
  .section-point-card .list-point .order {
    font-size: 0.45rem;
  }
  .section-point-card .list-point .title-point {
    font-size: 0.3rem;
    margin-bottom: 0.3rem;
  }
}
/* PAGE RECRUIT
 * ----------------------------------------------- */
.table-recruit {
  width: 100%;
  table-layout: fixed;
  letter-spacing: 0.08em;
  line-height: 2.3125;
  border-top: 1px solid #1a2c3f;
  border-bottom: 1px solid #1a2c3f;
  border-collapse: unset;
}
.table-recruit tr:nth-child(odd) td {
  background: #f4f4f4;
}
.table-recruit tr:last-child th,
.table-recruit tr:last-child td {
  border-bottom: none;
}
.table-recruit th {
  color: #fff;
  background: #1a2c3f;
  text-align: center;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
}
.table-recruit td {
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  word-break: break-word;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .table-recruit td {
    word-break: break-all;
  }
}

.section-recruit .block-contact .block-inner {
  background: #fff;
  flex-direction: column;
}
.section-recruit .block-contact .signature {
  display: flex;
  line-height: 1;
}
.section-recruit .block-contact .signature dt {
  flex-shrink: 0;
  border-right: 1px solid #af3741;
}

@media print, (min-width: 768px) {
  .section-recruit {
    padding-top: 95px;
  }
  .section-recruit .primary-title span {
    font-size: 32px;
  }
  .section-recruit .title-line {
    font-size: 22px;
    margin-bottom: 39px;
  }
  .section-recruit .block-recruit {
    margin-top: 95px;
    margin-bottom: 110px;
  }
  .section-recruit .block-contact {
    padding: 207px 0;
    margin-top: 200px;
  }
  .section-recruit .block-contact .block-inner {
    padding: 55px 5px;
  }
  .section-recruit .block-contact .block-inner span {
    font-size: 32px;
  }
  .section-recruit .block-contact .block-inner small {
    margin: 13px 0 56px;
  }
  .section-recruit .block-contact .signature {
    margin-bottom: 45px;
    font-size: 18px;
  }
  .section-recruit .block-contact .signature dt {
    padding-right: 20px;
    margin-right: 20px;
  }

  .table-recruit th {
    width: 350px;
    padding: 10.5px 15px;
  }
  .table-recruit td {
    padding: 10.5px 15px;
  }
}
@media only screen and (max-width: 767px) {
  .section-recruit {
    padding-top: 1.5rem;
  }
  .section-recruit .title-line {
    margin-bottom: 0.4rem;
  }
  .section-recruit .block-recruit {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .section-recruit .block-contact {
    padding: 1rem 0;
  }
  .section-recruit .block-contact .block-inner small {
    margin: 0.2rem 0 0.3rem;
  }
  .section-recruit .block-contact .signature {
    margin-bottom: 0.4rem;
  }
  .section-recruit .block-contact .signature dt {
    padding-right: 0.2rem;
    margin-right: 0.2rem;
  }

  .table-recruit th {
    width: 2.5rem;
    padding: 0.1rem;
  }
  .table-recruit td {
    padding: 0.1rem 0.15rem;
  }
}
/* PAGE RESERVATION
 * ----------------------------------------------- */
.reservation-keyvisual img {
  width: 100%;
}

@media print, (min-width: 768px) {
  .main-reservation {
    padding: 180px 0 200px;
  }
}
@media only screen and (max-width: 767px) {
  .main-reservation {
    padding: 1.5rem 0 1rem;
  }
}
/* PAGE ACCESS
 * ----------------------------------------------- */
.section-access-map .button {
  text-align: right;
}
.section-access-map .map-image .image {
  width: 100%;
}

.travel-information {
  background: #f4f4f4;
}
.travel-information .title {
  letter-spacing: 0.1em;
}
.travel-information .title span {
  letter-spacing: 0.075em;
  display: block;
}
.travel-information .text {
  letter-spacing: 0.08em;
  line-height: 2.5;
}
.travel-information .text.is-note {
  line-height: 1.875;
}

@media print, (min-width: 768px) {
  .section-access-map {
    margin-top: 160px;
  }
  .section-access-map .button {
    padding-right: 40px;
    margin-bottom: 19px;
  }
  .section-access-map .google-map {
    height: 800px;
  }

  .travel-information {
    padding: 200px 0;
  }
  .travel-information .travel-inner {
    display: flex;
  }
  .travel-information .information {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 46.7142%;
    padding-right: 5px;
    border-right: 1px solid #af3741;
  }
  .travel-information .information:nth-child(2n) {
    width: calc(100% - 46.7142%);
    padding-left: 6.03215%;
    padding-right: 0;
    border: none;
  }
  .travel-information .information li {
    display: flex;
    margin-top: 142px;
  }
  .travel-information .information li:first-child {
    margin-top: 0;
  }
  .travel-information .information .image {
    flex-shrink: 0;
    margin-right: 11.4678%;
  }
  .travel-information .information .content {
    flex: 1;
  }
  .travel-information .title {
    font-size: 32px;
    margin-bottom: 50px;
  }
  .travel-information .title span {
    font-size: 18px;
    margin-top: 15px;
  }
  .travel-information .text {
    margin-bottom: 50px;
  }
  .travel-information .text:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 1210px) and (min-width: 768px) {
  .travel-information .title {
    font-size: 28px;
  }
  .travel-information .title span {
    font-size: 15px;
  }
  .travel-information .information .image {
    width: 130px;
    margin-right: 5%;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .travel-information .wrapper {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .section-access-map {
    margin-top: 1.5rem;
  }
  .section-access-map .button {
    padding-right: 0.4rem;
  }
  .section-access-map .google-map {
    height: 3.15rem;
  }

  .travel-information {
    padding: 1rem 0 1rem;
  }
  .travel-information .information > li {
    margin-bottom: 1rem;
  }
  .travel-information .information .image {
    text-align: center;
    width: 2.5rem;
    margin: 0 auto 0.5rem;
  }
  .travel-information .title {
    font-size: 0.4rem;
    margin-bottom: 0.5rem;
    text-align: center;
  }
  .travel-information .title span {
    margin-top: 0.2rem;
  }
  .travel-information .text {
    margin-bottom: 0.5rem;
  }
  .travel-information .text:last-child {
    margin-bottom: 0;
  }
}
.section-access-parking .parking-slot {
  letter-spacing: 0.08em;
  border-bottom: 1px solid #707070;
}
.section-access-parking .table-price {
  letter-spacing: 0.08em;
  table-layout: fixed;
  width: 100%;
  border-collapse: separate;
  border-spacing: 3px;
}
.section-access-parking .table-price th,
.section-access-parking .table-price td {
  line-height: 1.875;
  text-align: center;
  vertical-align: middle;
}
.section-access-parking .table-price th {
  background: #e6e6e6;
}
.section-access-parking .table-price td {
  background: #f4f4f4;
}
.section-access-parking .table-price td p {
  word-break: break-word;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .section-access-parking .table-price td p {
    word-break: break-all;
  }
}
.section-access-parking .table-price td.is-white {
  color: #fff;
}
.section-access-parking .table-price td.is-blue {
  background: #1a2c3f;
}
.section-access-parking .table-price td.is-red {
  background: #af3741;
}
.section-access-parking .table-price td.is-blue-light {
  background: #485766;
}
.section-access-parking .table-price td.is-blue-lighter {
  background: #8e98a1;
}
.section-access-parking .table-price td.is-red-light {
  background: #bc5a5c;
}
.section-access-parking .table-price td.is-red-lighter {
  background: #d69c9d;
}
.section-access-parking .table-price td.is-time {
  background: #8e98a1;
  color: #fff;
}
.section-access-parking .table-price.is-other thead th {
  background: #1a2c3f;
  color: #fff;
}
.section-access-parking .parking-price strong {
  letter-spacing: 0.075em;
  display: flex;
  align-items: center;
}
.section-access-parking .box-note {
  letter-spacing: 0.08em;
  border: 1px solid #707070;
  line-height: 2.5;
}
.section-access-parking .box-note li {
  text-indent: -1em;
  padding-left: 1em;
}

@media print, (min-width: 768px) {
  .section-access-parking {
    padding: 196px 0 200px;
  }
  .section-access-parking .parking-slot {
    display: flex;
    margin: 80px auto 116px;
    max-width: 670px;
    padding-bottom: 25px;
  }
  .section-access-parking .parking-slot dt {
    flex-shrink: 0;
    width: 155px;
  }
  .section-access-parking .parking-price {
    margin-bottom: 154px;
  }
  .section-access-parking .parking-price strong {
    margin-bottom: 13px;
    font-size: 22px;
  }
  .section-access-parking .parking-price strong small {
    font-size: 16px;
    margin-left: 30px;
  }
  .section-access-parking .table-price th {
    width: 200px;
  }
  .section-access-parking .table-price td p {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    padding: 5px;
  }
  .section-access-parking .table-price td.is-blue p, .section-access-parking .table-price td.is-red p {
    min-height: 100px;
  }
  .section-access-parking .table-price td.is-blue-light p, .section-access-parking .table-price td.is-blue-lighter p, .section-access-parking .table-price td.is-red-light p, .section-access-parking .table-price td.is-red-lighter p {
    min-height: 80px;
  }
  .section-access-parking .table-price.is-other th {
    width: 25%;
  }
  .section-access-parking .table-price.is-other td {
    padding: 25px 5px;
  }
  .section-access-parking .table-price.is-other thead th {
    padding: 16px 5px;
  }
  .section-access-parking .box-note {
    padding: 38px 50px;
  }
  .section-access-parking .box-note .point:first-child {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .section-access-parking {
    padding: 1rem 0;
  }
  .section-access-parking .parking-slot {
    padding-bottom: 0.3rem;
    margin: 0.5rem 0;
  }
  .section-access-parking .parking-slot dt,
  .section-access-parking .parking-slot dd {
    display: block;
    font-size: 0.26rem;
  }
  .section-access-parking .parking-slot dt {
    margin-bottom: 0.1rem;
  }
  .section-access-parking .parking-price {
    margin-bottom: 1rem;
  }
  .section-access-parking .parking-price strong {
    margin-bottom: 0.3rem;
    font-size: 0.3rem;
  }
  .section-access-parking .parking-price strong small {
    font-size: 0.24rem;
  }
  .section-access-parking .table-scroll {
    width: 100%;
    overflow: auto;
  }
  .section-access-parking .table-scroll .table-price {
    width: 15rem;
  }
  .section-access-parking .table-scroll th,
  .section-access-parking .table-scroll td {
    padding: 0.3rem 0.1rem;
  }
  .section-access-parking .box-note {
    padding: 0.2rem;
  }
}
/* PAGE ROOM
 * ----------------------------------------------- */
.room-keyvisual {
  position: relative;
}
.room-keyvisual .wrapper {
  position: absolute;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: flex;
  align-items: center;
}
.room-keyvisual .keyvisual-inner .item {
  outline: none;
}
.room-keyvisual .keyvisual-inner .item img {
  width: 100%;
}
.room-keyvisual .keyvisual-inner:not(.slick-initialized) .item:not(:first-child) {
  display: none;
}

@media print, (min-width: 768px) {
  .room-keyvisual .wrapper {
    margin-top: 50px;
    margin-bottom: 50px;
    height: calc(100% - 100px);
  }
}
@media only screen and (max-width: 767px) {
  .room-keyvisual .wrapper {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    height: calc(100% - 1rem);
  }
}
.slick-dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  line-height: 1;
}
.slick-dots button {
  text-indent: -9999px;
  border-radius: 50%;
  border: 1px solid #fff;
  cursor: pointer;
  display: block;
  line-height: 1;
}
.slick-dots .slick-active button {
  background: #fff;
}

@media print, (min-width: 768px) {
  .slick-dots {
    bottom: 30px;
  }
  .slick-dots li {
    margin: 0 15px;
  }
  .slick-dots button {
    width: 15px;
    height: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .slick-dots {
    bottom: 0.2rem;
  }
  .slick-dots li {
    margin: 0 0.1rem;
  }
  .slick-dots button {
    width: 0.1rem;
    height: 0.1rem;
  }
}
.section-room-type {
  overflow: hidden;
}
.section-room-type .info {
  position: relative;
  background: #f4f4f4;
}
.section-room-type .room-name {
  letter-spacing: 0.1em;
}
.section-room-type .japanese-text {
  display: block;
  letter-spacing: 0.075em;
}
.section-room-type .type {
  letter-spacing: 0.08em;
  line-height: 2.5;
}

@media print, (min-width: 768px) {
  .section-room-type {
    padding-top: 115px;
    margin-top: 200px;
  }
  .section-room-type .item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 185px;
  }
  .section-room-type .item:nth-child(odd) .info {
    order: 1;
  }
  .section-room-type .item:nth-child(odd) .image {
    order: 2;
  }
  .section-room-type .item:nth-child(odd)::before {
    left: 100%;
  }
  .section-room-type .item:nth-child(even) .info {
    padding-left: 148px;
  }
  .section-room-type .item:nth-child(even) .info::before {
    right: 100%;
  }
  .section-room-type .info {
    width: 530px;
    padding-left: 65px;
    padding-bottom: 65px;
  }
  .section-room-type .info::before {
    position: absolute;
    content: "";
    background: #f4f4f4;
    height: 100%;
    width: 100vw;
    top: 0;
    z-index: -1;
  }
  .section-room-type .image {
    width: calc( 100% - 530px );
    margin-top: 70px;
  }
  .section-room-type .room-name {
    line-height: 1.325;
    font-size: 40px;
    margin-top: -31px;
    margin-bottom: 22px;
    white-space: nowrap;
  }
  .section-room-type .japanese-text {
    font-size: 22px;
    margin-bottom: 41px;
  }
  .section-room-type .type {
    display: flex;
    min-height: 100px;
    margin-bottom: 43px;
  }
  .section-room-type .type ul {
    width: 170px;
  }
}
@media screen and (max-width: 1230px) and (min-width: 768px) {
  .section-room-type {
    padding-top: 125px;
    margin-top: 100px;
  }
  .section-room-type .item:nth-child(even) .info {
    padding-left: 50px;
  }
  .section-room-type .info {
    width: 460px;
    padding-left: 35px;
  }
  .section-room-type .image {
    width: calc( 100% - 460px );
  }
}
@media only screen and (max-width: 767px) {
  .section-room-type {
    padding-bottom: 1.6rem;
  }
  .section-room-type .item {
    background: #f4f4f4;
    margin-top: 3.5rem;
    padding: 0 0 0.4rem 0.3rem;
    position: relative;
  }
  .section-room-type .item::before {
    position: absolute;
    content: "";
    background: #f4f4f4;
    height: 100%;
    width: 100vw;
    top: 0;
    left: 100%;
    z-index: -1;
  }
  .section-room-type .item:nth-child(odd) .image {
    margin-left: auto;
    margin-right: -0.75rem;
    padding-left: 0.5rem;
    padding-right: 0;
  }
  .section-room-type .item:nth-child(odd)::before {
    right: 100%;
    left: auto;
  }
  .section-room-type .item:nth-child(even) .info {
    margin-right: -0.25rem;
  }
  .section-room-type .item:nth-child(even) .button-primary {
    margin-right: 0.25rem;
    margin-left: auto;
  }
  .section-room-type .image {
    display: inline-block;
    margin: -1.92rem 0 0.3rem -0.75rem;
    padding-right: 0.8rem;
  }
  .section-room-type .image img {
    width: 100%;
  }
  .section-room-type .room-name {
    line-height: 1.325;
    font-size: 0.36rem;
    margin-bottom: 0.17rem;
  }
  .section-room-type .japanese-text {
    font-size: 0.28rem;
    padding-bottom: 0.3rem;
    margin-bottom: 0.2rem;
    border-bottom: 1px solid #000;
  }
  .section-room-type .type {
    font-size: 0.24rem;
    margin-bottom: 0.2rem;
  }
  .section-room-type .type li {
    display: inline-block;
    position: relative;
  }
  .section-room-type .type li::after {
    display: inline-block;
    content: "/";
    margin-left: 0.1rem;
  }
  .section-room-type .type li:last-child::after {
    display: none;
  }
}
.list-option.is-large .item:nth-child(even) {
  background: #fff;
}
.list-option.is-large .item:nth-child(odd) {
  background: #f4f4f4;
}
.list-option .item:nth-child(even) {
  background: #f4f4f4;
}
.list-option .text {
  letter-spacing: 0.075em;
  line-height: 1.9444;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.list-option .text::before {
  content: "";
  min-height: inherit;
  font-size: 0;
}
.list-option .size {
  letter-spacing: 0.08em;
  text-align: center;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  line-height: 2.8571;
}
.list-option .title-item {
  text-align: center;
  letter-spacing: 0.075em;
}

.section-room-option .text-intro {
  letter-spacing: 0.075em;
  line-height: 2.2;
}

@media print, (min-width: 768px) {
  .section-room-option {
    margin-bottom: 190px;
    padding-top: 192px;
  }
  .section-room-option .text-intro {
    padding: 43px 20px 30px;
    font-size: 18px;
  }

  .list-option {
    margin-bottom: 200px;
  }
  .list-option.is-large {
    margin-top: 160px;
  }
  .list-option.is-large .image {
    margin-bottom: 60px;
  }
  .list-option.is-large .item:first-child {
    padding-top: 95px;
  }
  .list-option .item {
    padding: 95px 0 100px;
  }
  .list-option .item:first-child {
    padding-top: 0;
  }
  .list-option .item-inner {
    max-width: 1024px;
    margin: 0 auto;
  }
  .list-option .text {
    font-size: 18px;
    min-height: 105px;
    padding: 10px 3px;
  }
  .list-option .size {
    font-size: 14px;
    padding: 31px 10px;
  }
  .list-option .title-item {
    font-size: 32px;
    margin-bottom: 42px;
  }
}
@media only screen and (max-width: 767px) {
  .section-room-option {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
  .section-room-option .text-intro {
    padding: 0.5rem 0.25rem;
  }

  .list-option {
    margin-bottom: 1rem;
  }
  .list-option.is-large .image {
    margin-bottom: 0.4rem;
  }
  .list-option .item {
    padding: 0.5rem 0;
  }
  .list-option .text {
    font-size: 0.28rem;
    padding: 0.2rem 0.1rem;
    min-height: 1rem;
  }
  .list-option .size {
    font-size: 0.24rem;
    padding: 0.2rem 0.1rem;
  }
  .list-option .title-item {
    font-size: 0.3rem;
    margin-bottom: 0.2rem;
  }
}
.room-information .inner {
  border: 1px solid #000;
}
.room-information .facility {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  letter-spacing: 0.08em;
  line-height: 2.5;
  margin-top: -1px;
}
.room-information .facility li {
  padding-left: 30px;
  line-height: 2.5;
  position: relative;
}
.room-information .facility li::before {
  display: inline-block;
  content: "・";
  margin-left: -30px;
  margin-right: 12px;
}
.room-information .amenities {
  table-layout: fixed;
  letter-spacing: 0.08em;
  line-height: 2.5;
}
.room-information .amenities th,
.room-information .amenities td {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.room-information .amenities th {
  border-right: 1px solid #000;
  text-align: center;
}

@media print, (min-width: 768px) {
  .room-information {
    margin-bottom: 190px;
  }
  .room-information .inner {
    padding: 80px 13.428% 100px;
  }
  .room-information .room-facility {
    margin-bottom: 117px;
  }
  .room-information .facility {
    padding: 38px 45px 38px 65px;
  }
  .room-information .amenities th {
    width: 217px;
    padding: 20px 5px;
  }
  .room-information .amenities td {
    padding: 20px 37px;
  }
}
@media only screen and (max-width: 767px) {
  .room-information {
    margin-bottom: 1.5rem;
  }
  .room-information .inner {
    padding: 0.4rem 0.2rem;
  }
  .room-information .room-facility {
    margin-bottom: 0.8rem;
  }
  .room-information .facility {
    padding: 0.2rem 0.3rem;
  }
  .room-information .amenities th {
    width: 2.6rem;
    padding: 0.2rem 0.06rem;
  }
  .room-information .amenities td {
    padding: 0.2rem 0.14rem;
  }
}
.other-room {
  text-align: center;
}
.other-room .title {
  letter-spacing: 0.08em;
}

@media print, (min-width: 768px) {
  .other-room {
    max-width: 1024px;
    margin: 0 auto;
  }
  .other-room ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -31px;
  }
  .other-room ul li {
    width: 33.33333%;
    padding: 0 31px;
  }
  .other-room a {
    display: block;
  }
  .other-room a:hover .image::before {
    opacity: 1;
    visibility: visible;
  }
  .other-room .title {
    font-size: 14px;
  }
  .other-room .image {
    position: relative;
    margin-bottom: 15px;
  }
  .other-room .image::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(26, 44, 63, 0.6);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
}
@media only screen and (max-width: 767px) {
  .other-room {
    padding: 0 0.6rem;
  }
  .other-room ul li {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .other-room .title {
    font-size: 0.34rem;
  }
  .other-room .image {
    margin-bottom: 0.2rem;
  }
  .other-room .image img {
    width: 100%;
  }
}
/* PAGE TERMS
 * ----------------------------------------------- */
.section-terms {
  background: #f4f4f4;
}
.section-terms .section-inner {
  background: #fff;
}
.section-terms .term-block {
  line-height: 2.5;
}
.section-terms .text.is-none-margin {
  margin-bottom: 0;
}
.section-terms .block-table .title {
  font-weight: bold;
  color: #af3741;
  letter-spacing: 0.08em;
  display: block;
}
.section-terms .block-table .table {
  table-layout: fixed;
}
.section-terms .block-table .table th,
.section-terms .block-table .table td {
  border: 1px solid #000;
}
.section-terms .block-table .table th {
  text-align: center;
}
.section-terms .block-table .table th.is-crossed {
  background: url("../img/terms/icon_crossed.png") no-repeat left top/100% 100%;
}
.section-terms .block-table .table-short td {
  text-align: center;
}
.section-terms .block-table .table-cross td {
  text-align: center;
}
.section-terms .block-table .text-indent {
  display: flex;
}
.section-terms .block-table .text-indent span {
  flex-shrink: 0;
}

@media print, (min-width: 768px) {
  .section-terms {
    padding: 152px 0 257px;
  }
  .section-terms .section-inner {
    padding: 12.8714% 13.4% 9%;
  }
  .section-terms .term-block {
    margin-bottom: 44px;
  }
  .section-terms .term-list {
    margin-bottom: 20px;
  }
  .section-terms .text {
    margin-bottom: 18px;
  }
  .section-terms .is-disable {
    pointer-events: none;
  }
  .section-terms .inner {
    margin: 16px 0;
  }
  .section-terms .block-table {
    margin-bottom: 39px;
  }
  .section-terms .block-table .title {
    margin-bottom: 10px;
  }
  .section-terms .block-table .table {
    margin-bottom: 12px;
    width: 100%;
  }
  .section-terms .block-table th,
  .section-terms .block-table td {
    padding: 5px 15px;
  }
  .section-terms .block-table tr:first-child th:first-child {
    width: 41.4%;
  }
  .section-terms .block-table .table-short {
    width: 360px;
  }
  .section-terms .block-table .table-short th {
    width: 33.3333% !important;
  }
}
@media only screen and (max-width: 767px) {
  .section-terms {
    padding: 1.5rem 0 2rem;
  }
  .section-terms .section-inner {
    padding: 0.5rem;
  }
  .section-terms .term-block {
    margin-bottom: 0.6rem;
  }
  .section-terms .term-list {
    margin-bottom: 0.3rem;
  }
  .section-terms .text {
    margin-bottom: 0.3rem;
  }
  .section-terms .inner {
    margin: 0.3rem 0;
  }
  .section-terms .block-table {
    margin-bottom: 0.4rem;
  }
  .section-terms .block-table .title {
    margin-bottom: 0.2rem;
  }
  .section-terms .block-table .table {
    margin-bottom: 0.2rem;
    width: 100%;
  }
  .section-terms .block-table th,
  .section-terms .block-table td {
    padding: 0.1rem 0.2rem;
  }
  .section-terms .block-table tr:first-child th:first-child {
    width: 41.4%;
  }
  .section-terms .block-table .table-short {
    width: 100%;
  }
  .section-terms .block-table .table-short th {
    width: 33.3333% !important;
  }
  .section-terms .wrap-scroll {
    width: 100%;
    overflow: auto;
  }
  .section-terms .wrap-scroll .table-cross {
    width: 14rem;
  }
}
@media screen and (max-width: 1250px) and (min-width: 1030px) {
  .section-terms .block-table th.is-crossed {
    width: 360px !important;
  }
}
@media screen and (max-width: 1029px) and (min-width: 768px) {
  .section-terms .block-table .table {
    font-size: 13px;
  }
  .section-terms .block-table th.is-crossed {
    width: 270px !important;
  }
}


/* 201223-tera-list */
  .section-terms .term-list{
	  counter-reset: ol-bullet 0;
  }
  
  .section-terms .term-list li{
  	  position: relative;
  	  padding-left: 34px;
  	  padding-bottom: 10px;
  	  line-height: 1.9;
  }
  
  .section-terms .inner li,
  .section-terms .inner ol{
	  padding-left: 0;
  }
  
  .section-terms .term-list li::before{
	  width: 30px;
  }
  
   .section-terms .term-list > li::before{
   	display: block;
    padding-right: 0px;
    content: counter(ol-bullet) ". ";
    counter-increment: ol-bullet 1;
    text-align: right;
    text-indent: 0px;
  }
  
   .section-terms ol .dec{
	  counter-reset: ol-bullet 0;
    }
     
   .section-terms .inner.ind{ 
     padding-left: 1.5em;
	 text-indent: -1.5em;
	}
  
 .section-terms .dec > li::before {
  	content: "(" counter(ol-bullet) ") ";
  }
  
  .section-terms .term-list li::before{
   	position: absolute;
    top: 0px;
    left: 0px;
    width: 34px;
    padding-right: 5px;
    text-align: left;
   }
   
@media only screen and (max-width: 767px) {
	.section-terms .term-list li::before{
		width: 28px;
	}
     .section-terms .term-list li{
  	  position: relative;
  	  padding-left: 28px;
  }
  
    .section-terms .inner.ind{ 
     padding-left: 0em;
	 text-indent: -1.5em;
	}
	
	.section-terms .text{
		line-height: 1.9;
	}
}

/* 201214top-fade*/
.scroll-fade{opacity: 0; transition: all 3s/*処理にかかる時間*/;}
.scroll-fade.done{opacity : 1; transform : translate(0, 0);}

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


/* PAGE QA 202202追加
 * ----------------------------------------------- */
.section-qa {
  background: #f4f4f4;
}
.section-qa .section-inner {
  background: #fff;
}
.section-qa .title {
  letter-spacing: 0.075em;
  line-height: 1.80555;
  position: relative;
}
.section-qa .title::before {
  position: absolute;
  content: "";
  background: url("../img/pointcard/pointcard_arrow_icon.png") no-repeat;
  background-size: 100%;
  bottom: 0;
  left: 0;
  width: 100%;
}
.section-qa .title .is-red {
  color: #af3741;
}
.section-qa .list-point {
  letter-spacing: 0.075em;
}
.section-qa .list-point > li {
  display: flex;
}

.section-qa .list-point h4 {
    text-indent: -1em;
    padding-left: 1em;
}

.section-qa .list-point ul li {
    text-indent: -1em;
    padding-left: 1em;
}


.section-qa .list-point .order {
  flex-shrink: 0;
  color: #af3741;
  letter-spacing: 0.1em;
}
.section-qa .list-point .content {
  flex: 1;
}
.section-qa .list-point .title-point {
  color: #af3741;
}

.section-qa .list-point .title-point:nth-child(n + 2) {
  margin-top: 60px;
}

.section-qa .list-point .title-q {
  color: #1a2c3f;
}

.section-qa .list-point ul{
	margin-bottom: 60px;	
}

.section-qa .list-point ul,
.section-qa .list-point p {
  line-height: 2.2;
}


@media print, (min-width: 768px) {
  .section-qa {
    padding: 152px 0 0;
  }
  .section-qa .section-inner {
    padding: 134px 25px 53px;
  }
  .section-qa .section-content {
    max-width: 890px;
    margin: 0 auto;
  }
  .section-qa .title {
    font-size: 26px;
    padding-bottom: 37px;
    margin-bottom: 110px;
  }
  .section-qa .title::before {
    height: 11px;
  }
  .section-qa .title strong {
    font-size: 36px;
  }
  .section-qa .list-point > li {
    margin-bottom: 90px;
  }
  .section-qa .list-point .content {
    padding-left: 44px;
    padding-top: 6px;
  }
  .section-qa .list-point .order {
    font-size: 45px;
  }
  
  .section-qa .list-point .title-point {
    font-size: 32px;
    margin-bottom: 28px;
  }
  
    .section-qa .list-point .title-q {
    font-size: 21px;
    margin-bottom: 12px;
  }
  
  .section-qa .list-point ul{
	margin-bottom: 30px;	
}
  
  .section-qa .list-point ul,
  .section-qa .list-point p {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .section-qa {
    padding: 1.5rem 0 0;
  }
  .section-qa .section-inner {
    padding: 0.5rem;
  }
  .section-qa .title {
    font-size: 0.34rem;
    padding-bottom: 0.4rem;
    margin-bottom: 1rem;
  }
  .section-qa .title::before {
    height: 0.22rem;
  }
  .section-qa .title strong {
    font-size: 0.4rem;
  }
  
  .section-qa .list-point ul{
	margin-bottom: 1rem;	
}
  .section-qa .list-point > li {
    margin-bottom: 1rem;
  }
  .section-qa .list-point .content {
    padding-left: 0.5rem;
    padding-top: 0.1rem;
  }
  .section-qa .list-point .order {
    font-size: 0.45rem;
  }
  
  .section-qa .list-point .title-point {
    font-size: 0.3rem;
    margin-bottom: 0.3rem;
  }
  
   .section-qa .list-point .title-q {
    font-size: 0.24rem;
    margin-bottom: 0.2rem;
  }
}
/* PAGE BANQUETS
 * ----------------------------------------------- */
.section-meal-dinner .little{
	font-size: 18px;
}
.primary-title {
  display: inline-flex;
  flex-direction: column;
  width: 100%;
  z-index: 1;
}
.section-meal-dinner .font-serif{
	margin-top: 36px;
}
.section-meal-dinner .banquets-bg{
    padding-bottom: 80px !important;
}

h5 {
  letter-spacing: 0.1em;
  font-family: "Marcellus", serif;
}
h5 span {
  letter-spacing: 0.075em;
  display: block;
}

.section-meal-dinner .button-primary {
    max-width: 400px;
	margin: auto;
 }
.section-meal-dinner .center{
	text-align: center;
	margin-top: 2%;
}

.menu-box{
	border: 1px solid #707070;
	padding: 30px;
	margin-bottom: 39px;
	letter-spacing: 0.08em;
    line-height: 2.2;
	background: #fff;
}
.section-meal-dinner .primary-title span {
	margin-left: 0;
}

@media print, (min-width: 768px) {
  .primary-title.is-column strong{
	margin-bottom: 36px;
}
  .section-meal-dinner .floor-service .button-primary {
    width: 400px;
    max-width: inherit;
    margin: 6px auto 0;
  }
  h5 {
    font-size: 40px;
    margin-bottom: 50px;
  }
  h5 span {
    font-size: 18px;
  }
	
  .section-meal-dinner .right{
    display: flex;
	flex-direction: row-reverse;
    margin: 148px 0 187px;
  }
  .section-meal-dinner .right .image {
	order: 2;
    width: 92.85%;
    position: relative;
    margin-right: 26%;
    left: 20%;
  }
}
	
	

	
@media only screen and (max-width: 767px) {
  .section-facilities-bath .floor-service .button-primary {
    width: 4rem;
    max-width: inherit;
    margin: 0 auto;
  }
  h5 {
    font-size: 0.4rem;
    margin-bottom: 0.5rem;
	 
    text-align: center;
  }
    .section-meal-dinner .primary-title span {
        line-height: 1.8;
    }

	/*
  .section-meal-dinner .section-content .right{
    margin: 0.6rem 0;
  }
*/
}
@media screen and (max-width: 1210px) and (min-width: 768px) {
  h5 {
    font-size: 30px;
  }
  h5 span {
    font-size: 15px;
  }
}
.section-banquets-venue .primary-title span {
	margin-left: 0;
}
.section-banquets-venue h5{
	margin-top: 10%;
	text-align: center;
	font-size: 32px;
}
.section-banquets-venue h5 span{
	margin-top: 2.5%;
}
.section-banquets-venue .image{
	text-align: center;
}
.section-banquets-venue .banquets-flex{
	display: flex;
	justify-content:center;
}
.section-banquets-venue .banquets-flex div{
	margin: 0 45px;
}

.section-banquets-venue .special{
	font-size: 24px;
	font-family: "Marcellus", serif;
	margin-top: 7%;
}
.section-banquets-venue .table-price{
	margin: 10px auto 6px;
	border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
	width: 462px;
}

.section-banquets-venue .table-price th,
.section-banquets-venue .table-price td {
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 1.875;
  border-bottom: 1px solid #707070;
  border-right: 1px solid #707070;
}
.section-banquets-venue .table-price th:last-child,
.section-banquets-venue .table-price td:last-child {
  border-right: none;
}
.section-banquets-venue .table-price th {
  width: 33.3333%;
}

@media print, (min-width: 768px) {
  .section-banquets-venue .table-price th,
  .section-banquets-venue .table-price td {
    padding: 13px 5px;
  }
}
@media only screen and (max-width: 767px) {
	.menu-box{
	margin-bottom: 0.4rem;
}
  .section-banquets-venue .table-price th,
  .section-banquets-venue .table-price td {
    padding: 0.2rem 0.1rem;
  }
.section-banquets-venue .banquets-flex{
	display: block;
	justify-content:center;
}
.section-banquets-venue .banquets-flex div{
	margin: 0;
}
.section-banquets-venue .banquets-flex div + div{
  margin-top: 20px;
}
.section-banquets-venue .table-price{
	width: 100%;
}
}

.section-banquets-venue .bento-flex{
	display: flex;
	flex-direction: column;
    align-items: center;
	margin-top: 10%;	
}
.section-banquets-venue .bento-flex div{
	display: flex;
	flex-direction: column;
    align-items: center;
	margin-top: 10%;	
}
.section-banquets-venue .bento-flex h5{
	margin-top: 0!important;
}
.section-banquets-venue .bento-flex .button-primary{
    max-width: 400px;
    width: 100%;
    margin: 100px auto 0;
}


.section-banquets-venue .section-inner {
  background: #f4f4f4;
  padding: 1% 0 10%;
  margin: 10% 0;
}
.txt-right{
  text-align: right;
  margin-top: 15px;
}

.section-banquets-lend .lend-box{
    border: 1px solid #707070;
    padding: 50px 14%;
    letter-spacing: 0.08em;
    line-height: 2.2;
    background: #fff;
}

.section-banquets-lend .primary-title span {
	margin-left: 0;
}

.section-banquets-lend .line-box {
  table-layout: fixed;
  width: 100%;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  margin: 60px 0px 20px;
  padding: 5% 7%;
  letter-spacing: 0.08em;
  line-height: 2.2;
}

.section-banquets-parking{
	margin: 12% 0;
}
.section-banquets-parking .primary-title span {
	margin-left: 0;
}
.parking-map{
	text-align: center;
	margin: 90px auto 0;
}
.parking-map p{
	margin-bottom: 3.5%;
}
.parking-map span{
	font-size: 32px;
	text-align: center;
}
.parking-map iframe{
	width: 73%;
	height: 811px;
}
.section-banquets-parking .line-box {
  table-layout: fixed;
  width: auto;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  margin: 60px 0px 20px;
  padding: 3% 7%;
  letter-spacing: 0.08em;
  line-height: 2.2;
  margin: 5% auto 0;
  text-align: center;
}
.section-banquets-parking  .txt-right{
	margin-right: 15%;
}
.section-banquets-parking  .button-primary {
    max-width: 400px;
	margin: 7% auto 0;
 }
.section-banquets-contact{
	margin-bottom: 0;
}
.section-banquets-contact h5{
	line-height: 1.7;
}
.section-banquets-contact h2{
	line-height: 2;
}
.section-banquets-contact .section-inner {
  background: #f4f4f4;
  padding: 12% 0;
  margin: 10% 0 0;
}
.section-banquets-contact .lend-box{
    border: 1px solid #AF3741;
    padding: 50px 14%;
    letter-spacing: 0.08em;
    line-height: 2.2;
	background: #fff;
	text-align: center;
}
.section-banquets-contact .primary-title span {
  margin-left: 0;
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
	.section-banquets-contact .lend-box{
		padding: 20px 10%;
}
	.section-banquets-lend .line-box {
		width: 100%;
		font-size: 14px;
		margin: 20px 0;
		line-height: 2;
	}
.section-banquets-lend .lend-box{
    padding: 20px 5%;
}
	.parking-map span{
		font-size: 20px;
	}
	.parking-map iframe{
		width: 100%;
		height: 300px;
	}
	.section-banquets-parking .line-box{
		width: 100%;
		font-size: 14px;
		line-height: 2;
	}
	.section-banquets-parking .txt-right{
		margin-right: 0;
	}
	.txt-right{
		text-align: start;
	}
	.section-banquets-venue h5{
		font-size: 20px;
	}
	.section-banquets-venue h5 span{
		font-size: 14px;
	}
	.section-banquets-venue .bento-flex h5{
	margin-top: 10%!important;
	text-align: center!important;
}
	.section-banquets-venue .special{
		font-size: 20px;
	}
	.section-banquets-venue .bento-flex{
	    display: block;	
    }
    .section-banquets-venue .bento-flex .button-primary{
        width: 100%;
        margin: 0.6rem 0;
    }
}

/* PAGE GALLERY
 * ----------------------------------------------- */
.section-gallery .category{
	width: auto;
	margin-bottom: 100px;
	padding: 0;
	background: none;
	color: #000;
	line-height: normal;
	text-align: start;
}
.section-gallery .anchor-flex{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 50px auto 135px;
}
.section-gallery .anchor-flex h5{
    margin: 0 100px 0 0;
}
.section-gallery .anchor-flex a{
	margin: 0 70px;
}
.section-gallery .anchor-flex a:first-of-type{
  margin-left: 0;
}
.section-gallery .anchor-flex a:last-of-type{
  margin-right: 0;
}
.section-gallery .category h3{
	margin-bottom: 50px;
}
.section-gallery .category .gallery-img{
	display: flex;
	flex-wrap: wrap;
}
.section-gallery .gallery-img .image{
	width: 450px;
  max-width: 100%;
}
.section-gallery .gallery-img li{
	width: 32.15%;
  max-width: 450px;
	margin: 0 1.75% 45px 0;
}
.section-gallery .gallery-img li:nth-child(3n){
	margin: 0 0 45px 0;
}
.section-gallery .gallery-img li .gallery-title-txt {
  margin-top: 10px;
}
.section-gallery .gallery-img li .gallery-txt {
  display: none;
}

.gallery .lightboxOverlay {
  background-color: #FFF;
  opacity: .9;
}
.gallery .lightbox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  width: 100vw;
  height: 100vh;
}
.gallery .lb-outerContainer {
}
.gallery .lightbox .lb-image {
  border-radius: 0;
  border: none;
}
.gallery .lightbox .lb-nav a.lb-prev, .gallery .lightbox .lb-nav a.lb-next {
  float: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 70px;
  height: 70px;
  border: 1px solid #000;
  border-radius: 100%;
  background: transparent;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
}
.gallery .lightbox .lb-nav a.lb-prev:hover, .gallery .lightbox .lb-nav a.lb-next:hover {
  opacity: .7;
}
.gallery .lightbox .lb-nav a.lb-prev {
  right: 100%;
  left: auto;
  margin-right: 60px;
  background-image: url(../img/common/btn-prev.svg);
}
.gallery .lightbox .lb-nav a.lb-next {
  left: 100%;
  margin-left: 60px;
  background-image: url(../img/common/btn-next.svg);
}
.gallery .lb-dataContainer {
  margin-top: 30px;
  padding-top: 0;
  position: relative;
}
.gallery .lb-data .lb-details {
  width: 100%;
}
.gallery .lb-data .lb-caption {
  color: #000;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 30px;
}
.gallery .lb-data .lb-close {
  float: none;
  position: absolute;
  right: 27.8px;
  z-index: 10;
  top: -605.2px;
  width: 32px;
  height: 32px;
  background-image: url(../img/common/btn-close.svg);
  background-size: 100%;
  opacity: 1;
}
.gallery .lb-data .lb-close:hover {
  opacity: .7;
}
/*231030追記*/
.section-gallery .gallery-bnr{
	position: relative;
}
.section-gallery .gallery-bnr div{
	width: 130px;
	position: absolute;
	top: -10px;
	left: 370px;
}
/*231030*/

@media only screen and (max-width: 960px) {
  .section-gallery .anchor-flex {
    flex-direction: column;
    margin-bottom: 70px;
  }
  .section-gallery .anchor-flex h5 {
    margin: 0;
  }
  .section-gallery .anchor-flex a {
    margin: 0 20px;
  }
  .section-gallery .category h3 {
    margin-bottom: 30px;
  }
  
  .gallery .lightbox .lb-nav {
    position: static;
    display: flex;
    justify-content: flex-end;
    margin-top: 30px;
  }
  .gallery .lightbox .lb-nav a.lb-prev, .gallery .lightbox .lb-nav a.lb-next {
    position: static;
    width: 40px;
    height: 40px;
    background-size: 10px;
  }
  .gallery .lightbox .lb-nav a.lb-prev {
    margin-right: 20px;
  }
  .gallery .lightbox .lb-nav a.lb-next {
    margin-left: 0px;
  }
  .gallery .lb-dataContainer {
    margin-top: 60px;
  }
  .gallery .lb-data .lb-close {
    top: calc(-60px - ((100vw - 20px) / 900 * 600) + 24.8px);
  }
}

@media only screen and (max-width: 767px) {
  .gallery .lb-data .lb-close {
    top: calc(-60px - ((100vw - 20px) / 900 * 600) + 20px);
    right: 20px;
    width: 24px;
    height: 24px;
  }
/*231030追記*/
	.section-gallery .gallery-bnr{
		position: relative;
	}
	.section-gallery .gallery-bnr div{
		width: 30%;
		position: absolute;
		top: -10px;
		right: 0;
		left: auto;
	}
/*231030*/
	
}
@media screen and (max-width: 767px), (max-width: 844px) and (orientation:landscape) {
	.section-gallery .gallery-img li {
		width: 49%;
		margin-right: 2%;
	}
	.section-gallery .gallery-img li:nth-child(3n){
	margin-right: 2%;
	}
	.section-gallery .gallery-img li:nth-child(2n){
	margin-right: 0;
	}
}

@media screen and (max-width: 490px) {
	.section-gallery .gallery-img li{
		width: 100%;
		max-width: 100%;
		margin-right: 0;
	}
	.section-gallery .gallery-img li:nth-child(3n){
	margin-right: 0;
	}
}

/* PAGE TAKEOUT
 * ----------------------------------------------- */

.txt-cnr{
    text-align: center;
    margin: auto;
}
.txt-le{
    text-align: left;
}

.takeout .section-meal-dinner .content{
    width: 530px;
}
.takeout h5{
    font-size: 32px;
    margin-bottom: 80px
}
.takeout .menu-box{
    margin-top: 5%;
    margin-bottom: 0;
    font-weight: 500;
    flex-grow: 1;
    width: 100%;
}
.takeout .flex-hors{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    margin-top: 28%;
}
.takeout .flex-hors div{
    position: relative;
}
.takeout .flex-hors div:first-child{
    margin-right: 4%;
}
.takeout .flex-hors div img{
    height: 200px;
}
.takeout .flex-hors div span{
    line-height: 2.5;
    font-weight: 500;
    position: absolute;
    bottom: -40px;
    left: 0;
}


.title-line2{
    margin-top: 15%;
    letter-spacing: 0.075em;
    line-height: 1;
}
.title-line2:nth-of-type(1){
    margin-top: 10%;
    letter-spacing: 0.075em;
    line-height: 1;
}
.title-line2::before{
    content: "";
    border-left: 2px solid #af3741;
    padding-left: 20px;
}

.takeout .bento-flex{
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 7%;
    align-items: stretch;
}
.takeout .bento-flex div{
    width: 30%;
    margin-right: 4%;
    margin-top: 5%;
}
.takeout .bento-flex div:nth-of-type(1), .takeout .bento-flex div:nth-of-type(2), .takeout .bento-flex div:nth-of-type(3){
    margin-top: 0;
}
.takeout .bento-flex div:nth-child(3n){
    margin-right: 0;
}

.takeout .bento-flex .settai{
    width: 40%;
    margin-right: 4%;
}
.takeout .bento-flex .settai:nth-of-type(2){
    margin-right: 0;
}

.takeout .bento_tl{
    text-align: center;
    font-size: 21px;
    margin-bottom: 5%;
}

.takeout .button-primary{
    max-width: 460px;
    width: 100%;
    margin: 100px auto 0;
}
.takeout .text-kome{
    text-align: center;
    margin: 7% 0;
}

.takeout .bg-order {
  background: #f4f4f4;
  padding: 12% 0;
  margin: 10% 0 0;
}

.takeout .section-banquets-lend .lend-box{
    padding-bottom: 100px;
}

.takeout .bg-order .tel-txt1, .takeout .bg-order .tel-txt2{
    font-size: 18px;
    text-align: center;
    line-height: 1.5;
}
.takeout .bg-order .tel-txt1{
    margin-top: 10%;
}
.takeout .bg-order .tel-txt2{
    margin-bottom: 40px;
}
.takeout .bg-order .red-box{
    border: 1px solid #AF3741;
    padding: 10px;
    letter-spacing: 0.08em;
    line-height: 1.3;
	background: #fff;
	text-align: center;
    font-weight: 500;
    margin-bottom: 20px;
}
.takeout .bg-order .order-fl{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 10%;
}
.takeout .section-banquets-lend .line-box{
    margin-top: 0;
    padding: 5% 13%;
}

.takeout .bg-order .black-box{
    border: 1px solid #000;
    padding: 10px;
    width: fit-content;
    line-height: 1;
    margin: 50px 0 20px;
}
.takeout .bg-order .black-box:first-child{
    margin-top: 0;
}

.sp-only{
    display: none;
}


@media print, (min-width: 769px) {
    .takeout .section-meal-dinner .section-content{
        margin: 148px 0 0;
        align-items: flex-end;
    }
    .title-line2{
        font-size: 32px;
    }
}

@media only screen and (max-width: 767px) {
    .pc-only{
        display: none!important;
    }
    .sp-only{
        display: block;
    }
    
    .takeout .primary-title .japanese-text{
        font-size: 18px;
        margin-top: 0;
    }
    .takeout h5{
        font-size: 0.4rem;
        margin-bottom: 0.5rem;
    }
    .takeout .section-meal-dinner .content{
        width: 100%;
    }

    .takeout .flex-hors{
        flex-direction: column;
        font-size: 15px;
        text-align: center;
        margin-top: 15%;
    }
    .takeout .flex-hors div:first-child{
        margin: 0 0 15%;
    }
    .takeout .flex-hors div img{
        height: auto;
    }
    
    .title-line2{
        font-size: 17px;
        font-weight: 500;
    }
    
    .takeout .bento-flex{
        margin-top: 15%;
    }
    
    .takeout .section-banquets-lend .line-box{
        padding: 5% 0;
    }
    .takeout .bg-order .red-box{
        text-align: left;
        font-size: 16px;
    }
    
    .takeout .bento-flex{
        flex-direction: column;
    }
    .takeout .bento-flex div{
        width: 100%;
        margin: 0 0 80px;
    }
    .takeout .bento-flex .settai{
        width: 100%;
    }
    .takeout .bento-flex .settai:first-child{
        margin-right: 0;
        margin-bottom: 80px;
    }
    
    .takeout .bg-order .tel-txt1{
        margin: 15% 0 8%;
    }
    .takeout .bg-order .li-dot {
        font-size: 14px;
        line-height: 2;
    }
    
    .takeout .bento_tl{
        font-size: 16px;
        font-weight: 500;
    }
    
    .takeout .text-kome{
        text-align: left;
        font-weight: 700;
        margin: 0;
    }
}
