@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Shippori+Mincho&family=Shippori+Mincho+B1:wght@400;600&display=swap");
/* -- Reset --
--------------------------------------------------------------　*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
cite,
code,
del,
dfn,
ins,
kbd,
q,
s,
samp,
strike,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
figure {
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
  display: block;
}

ol,
ul,
li {
  list-style-type: none;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

table caption,
table th,
table td {
  text-align: left;
  font-weight: normal;
}

/*
  読み込み時フェードイン
*/
body {
  opacity: 0;
  -webkit-animation: anime1 1.2s;
  animation: anime1 1.2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  overflow-x: hidden;
  overflow-y: scroll;
}

@-webkit-keyframes anime1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes anime1 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*
  印刷対応
*/
@media print {
  body {
    width: 100%;
    opacity: 1 !important;
    -webkit-animation: none;
    animation: none;
  }
  header.float {
    display: none !important;
  }
  img,
  section,
  h2 {
    max-width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  a.tel,
  .tel a {
    pointer-events: none;
  }
}

/* framework ---------------------------------*/
body {
  color: #333;
  line-height: 1.5;
  word-break: break-all;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

@media only screen and (max-width: 767.9px) {
  body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
    opacity: 1 !important;
    -webkit-animation: none;
    animation: none;
    font-size: 15px;
    -webkit-text-size-adjust: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  body {
    font-size: 16px;
  }
}

h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
  font-weight: normal;
}

main {
  line-height: 1.7;
  letter-spacing: 1px;
}

header,
#site_navigation,
#mainvisualarea,
#breadcrumb,
#pagetitlearea,
#content,
footer {
  width: 100%;
}

a {
  color: #333;
  text-decoration: none;
}

@media print, screen and (min-width: 768px) {
  a:hover,
  a:active {
    outline: 0;
    opacity: 0.8;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
  }
  a img {
    border: 0;
  }
  a img:hover,
  a img:active {
    outline: 0;
    opacity: 0.8;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
  }
}

img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.mainwrap {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) and (max-width: 1260px) {
  .mainwrap {
    max-width: 95%;
  }
}

@media print, screen and (min-width: 1261px) {
  .mainwrap {
    max-width: 1200px;
  }
}

.bx-wrapper .bx-viewport {
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.gmap {
  cursor: pointer;
}

.gmap iframe {
  pointer-events: none;
}

.gmap.on iframe {
  pointer-events: auto;
}

/* common ---------------------------------*/
@media only screen and (max-width: 767px) {
  .spview,
  .sp_taview,
  .sp_pcview {
    display: block;
  }
  .taview,
  .ta_pcview,
  .pcview {
    display: none;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .sp_taview,
  .taview,
  .ta_pcview {
    display: block;
  }
  .spview,
  .sp_pcview,
  .pcview {
    display: none;
  }
}

@media print, screen and (min-width: 961px) {
  .sp_pcview,
  .ta_pcview,
  .pcview {
    display: block;
  }
  .spview,
  .sp_taview,
  .taview {
    display: none;
  }
}

/* -- original common --
--------------------------------------------------------------　*/
strong,
b,
.bold {
  font-weight: bold;
}

small,
.small {
  font-size: 14px;
}

.ta_c {
  text-align: center;
}

/* -- back_to_top --
--------------------------------------------------------------　*/
#back_to_top {
  position: fixed;
  z-index: 9999;
  right: 5px;
  bottom: 5px;
  width: 45px;
}

@media screen and (min-width: 768px) and (max-width: 980px) {
  #back_to_top {
    right: 20px;
    bottom: 20px;
  }
}

@media screen and (min-width: 981px) {
  #back_to_top {
    right: 45px;
    bottom: 45px;
  }
}

/* -- breadcrumb --
--------------------------------------------------------------　*/
#breadcrumb {
  background-color: #586e45;
}

@media print, screen and (max-width: 767.9px) {
  #breadcrumb {
    padding: 3px 15px;
  }
}

@media print, screen and (min-width: 768px) {
  #breadcrumb {
    padding: 5px 25px;
  }
}

#breadcrumb ul {
  overflow: hidden;
}

#breadcrumb li {
  float: left;
  padding: 5px 5px 5px 0;
  color: #fff;
  font-family: "Shippori Mincho", serif;
}

@media print, screen and (max-width: 767.9px) {
  #breadcrumb li {
    font-size: 12px;
  }
}

#breadcrumb a {
  display: block;
  color: #fff;
}

/* ----------
single_pager ------------------ */
.single_pager {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.single_pager li {
  width: 32%;
}

.single_pager li.index {
  text-align: center;
}

.single_pager li:nth-child(3) {
  text-align: right;
}

.single_pager li a {
  display: inline-block;
  padding: 15px 0;
  font-size: 14px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  color: #996411;
}

@media print, screen and (max-width: 767.9px) {
  .single_pager li a {
    font-size: 12px;
  }
}

/* ----------
pagenation ------------------ */
.pagenation {
  margin-top: 65px;
}

.pagenation:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

.pagenation ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.pagenation ul li {
  list-style: none outside none;
  margin-left: 3px;
}

.pagenation ul li:first-child {
  margin-left: 0;
}

.pagenation ul li.active {
  background-color: #222;
  color: #fff;
  cursor: not-allowed;
  padding: 5px 10px;
}

.pagenation ul li a {
  background: none repeat scroll 0 0 #c7c7c7;
  color: #fff;
  display: block;
  padding: 5px 10px;
  text-decoration: none;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.pagenation ul li a:hover {
  background-color: #444444;
  color: #fff;
  opacity: 1;
}

/*  title : wrap
  /* ------------------------------------ */
@media screen and (min-width: 768px) {
  .title.nowrap {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
  }
}

/* -- header --
--------------------------------------------------------------　*/
header {
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .p-front .sp_front .h-nav__logo {
    opacity: 1;
  }
  .p-front .h-nav__logo {
    -webkit-transition: all 1s;
    transition: all 1s;
    opacity: 0;
  }
}

.h-nav__logo {
  z-index: 2;
}

.h-nav__logo h1 {
  color: #fff;
  font-size: 14px;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  margin-bottom: 1em;
}

@media print, screen and (max-width: 767.9px) {
  .h-nav__logo {
    position: fixed;
    width: calc(100% - 130px);
    top: 0;
    left: 0;
    padding: 10px 10px 0 10px;
  }
  .h-nav__logo h1 {
    opacity: 0;
    line-height: 0;
  }
  .h-nav__logo img {
    height: 54px;
  }
}

@media print, screen and (min-width: 768px) {
  .h-nav__logo {
    position: absolute;
    top: 20px;
    left: 30px;
  }
}

.h-nav__logo a {
  display: block;
}

.h-nav__btn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
}

@media print, screen and (min-width: 561px) {
  .h-nav__btn {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
  }
  .h-nav__btn.is-hidden {
    opacity: 0;
    pointer-events: none;
  }
}

@media print, screen and (max-width: 767.9px) {
  .h-nav__btn {
    width: 128px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media print, screen and (min-width: 768px) {
  .h-nav__btn {
    width: 80px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .active #toggle span:nth-of-type(1) {
    top: 25px;
    -webkit-transform: translateY(6px) rotate(-45deg);
    transform: translateY(6px) rotate(-45deg);
  }
  .active #toggle span:nth-of-type(3) {
    top: 37px;
    -webkit-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg);
  }
}

@media print, screen and (min-width: 768px) {
  .active #toggle span:nth-of-type(1) {
    top: 35px;
    -webkit-transform: translateY(6px) rotate(-45deg);
    transform: translateY(6px) rotate(-45deg);
  }
  .active #toggle span:nth-of-type(3) {
    top: 47px;
    -webkit-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg);
  }
}

.active #toggle span:nth-of-type(2) {
  opacity: 0;
}

@media print, screen and (max-width: 767.9px) {
  .sp_tel {
    width: 50%;
    height: 64px;
  }
  .sp_tel a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #2d3f2d;
    height: 100%;
  }
}

#toggle {
  position: relative;
  background: #357d1b;
  cursor: pointer;
}

@media print, screen and (max-width: 767.9px) {
  #toggle {
    width: 50%;
    height: 64px;
  }
}

@media print, screen and (min-width: 768px) {
  #toggle {
    width: 100%;
    height: 80px;
  }
}

#toggle span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  /*アニメーションの設定*/
  position: absolute;
  height: 2px;
  background: #fff;
  width: 28px;
}

@media print, screen and (max-width: 767.9px) {
  #toggle span {
    left: 30%;
  }
  #toggle span:nth-of-type(1) {
    top: 22px;
  }
  #toggle span:nth-of-type(2) {
    top: 32px;
  }
  #toggle span:nth-of-type(3) {
    top: 42px;
  }
}

@media print, screen and (min-width: 768px) {
  #toggle span {
    left: 32%;
  }
  #toggle span:nth-of-type(1) {
    top: 30px;
  }
  #toggle span:nth-of-type(2) {
    top: 40px;
  }
  #toggle span:nth-of-type(3) {
    top: 50px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .sp_front .h-nav__btn .rsv_btn,
  .sp_front .h-nav__btn .cal_btn {
    opacity: 1;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 767.9px) {
  .h-nav__btn .rsv_btn,
  .h-nav__btn .cal_btn {
    width: 50%;
  }
}

@media print, screen and (max-width: 767.9px) {
  .h-nav__btn .rsv_btn,
  .h-nav__btn .cal_btn {
    position: fixed;
    bottom: 0;
    -webkit-transition: all 1s;
    transition: all 1s;
    opacity: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .h-nav__btn .rsv_btn,
  .h-nav__btn .cal_btn {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
  }
  .h-nav__btn .rsv_btn.is-hidden,
  .h-nav__btn .cal_btn.is-hidden {
    opacity: 0;
    pointer-events: none;
  }
}

.h-nav__btn .rsv_btn a,
.h-nav__btn .cal_btn .cal_btn-inner {
  font-size: 20px;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media print, screen and (max-width: 767.9px) {
  .h-nav__btn .rsv_btn a,
  .h-nav__btn .cal_btn .cal_btn-inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 12px 5px;
  }
}

@media print, screen and (min-width: 768px) {
  .h-nav__btn .rsv_btn a,
  .h-nav__btn .cal_btn .cal_btn-inner {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    padding: 15px 20px 20px 20px;
  }
}

.h-nav__btn .rsv_btn a span,
.h-nav__btn .cal_btn .cal_btn-inner span {
  letter-spacing: 1px;
}

@media print, screen and (min-width: 561px) {
  .h-nav__btn .rsv_btn a span,
  .h-nav__btn .cal_btn .cal_btn-inner span {
    display: inline-block;
  }
}

.h-nav__btn .rsv_btn a .icon,
.h-nav__btn .cal_btn .cal_btn-inner .icon {
  text-align: center;
}

@media print, screen and (max-width: 767.9px) {
  .h-nav__btn .rsv_btn a .icon,
  .h-nav__btn .cal_btn .cal_btn-inner .icon {
    padding-top: 5px;
    padding-right: 5px;
  }
}

@media print, screen and (min-width: 768px) {
  .h-nav__btn .rsv_btn a .icon,
  .h-nav__btn .cal_btn .cal_btn-inner .icon {
    padding-bottom: 5px;
  }
}

.h-nav__btn .cal_btn {
  background-color: rgba(0, 0, 0, 0.75);
  cursor: pointer;
}

@media print, screen and (max-width: 560px) {
  .h-nav__btn .cal_btn {
    width: 60px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .h-nav__btn .cal_btn {
    left: 0;
  }
}

@media print, screen and (max-width: 560px) {
  .h-nav__btn .cal_btn span {
    display: none;
  }
}

.h-nav__btn .cal_btn:hover {
  outline: 0;
  opacity: 0.8;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

@media print, screen and (max-width: 560px) {
  .h-nav__btn .rsv_btn {
    width: calc(100% - 60px);
  }
}

@media print, screen and (max-width: 767.9px) {
  .h-nav__btn .rsv_btn {
    right: 0;
  }
}

.h-nav__btn .rsv_btn a {
  background-color: #8b2b24;
}

.h-search,
nav.h-menu {
  position: fixed;
  top: 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  height: 100vh;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 99;
  overflow-y: auto;
  font-family: "Shippori Mincho", serif;
}

@media print, screen and (min-width: 768px) {
  .h-search,
  nav.h-menu {
    right: -120%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .h-search.menu_open,
  nav.h-menu.menu_open {
    right: 0;
  }
}

@media print, screen and (max-width: 1220px) {
  .h-search,
  nav.h-menu {
    width: 100%;
  }
}

@media print, screen and (min-width: 1221px) {
  .h-search,
  nav.h-menu {
    width: 50vw;
  }
}

nav.h-menu {
  background-color: #2d3f2d;
}

@media print, screen and (max-width: 767.9px) {
  nav.h-menu {
    padding: 15vh 0;
    right: -120%;
  }
  nav.h-menu.menu_open {
    right: 0;
  }
}

.h-menu__logo {
  margin-bottom: 50px;
}

.h-menu__main,
.h-menu__tel {
  width: 85%;
  max-width: 640px;
}

.h-menu__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding-bottom: 50px;
}

@media print, screen and (max-width: 560px) {
  .h-menu__main {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .h-menu__main {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media print, screen and (min-width: 961px) {
  .h-menu__main {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.h-menu__main .nav01,
.h-menu__main .nav02 {
  position: relative;
  border-left: solid 1px rgba(255, 255, 255, 0.5);
}

@media print, screen and (min-width: 961px) {
  .h-menu__main .nav01,
  .h-menu__main .nav02 {
    width: 36%;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 1160px) {
  .h-menu__main .nav01,
  .h-menu__main .nav02 {
    padding-left: 12px;
  }
}

@media print, screen and (min-width: 1161px) {
  .h-menu__main .nav01,
  .h-menu__main .nav02 {
    padding-left: 20px;
  }
}

.h-menu__main .nav01::before,
.h-menu__main .nav02::before {
  position: absolute;
  top: 0;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 1px;
  font-size: 14px;
}

.h-menu__main .nav01 ul li,
.h-menu__main .nav02 ul li {
  line-height: 1.5;
}

.h-menu__main .nav01 ul li a,
.h-menu__main .nav02 ul li a {
  color: #fff;
}

@media print, screen and (max-width: 560px) {
  .h-menu__main .nav01 ul li,
  .h-menu__main .nav02 ul li {
    padding-left: 15px;
  }
}

@media print, screen and (min-width: 1161px) {
  .h-menu__main .nav01 ul li,
  .h-menu__main .nav02 ul li {
    font-size: 20px;
  }
}

.h-menu__main .nav01 ul li:not(:last-of-type),
.h-menu__main .nav02 ul li:not(:last-of-type) {
  margin-bottom: 1em;
}

@media print, screen and (max-width: 560px) {
  .h-menu__main .nav01 {
    margin-left: 50px;
  }
}

@media print, screen and (min-width: 561px) {
  .h-menu__main .nav01 {
    margin-left: 70px;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .h-menu__main .nav01 {
    margin-right: 50px;
  }
}

.h-menu__main .nav01::before {
  content: "MENU";
  left: -70px;
}

@media print, screen and (max-width: 560px) {
  .h-menu__main .nav01 li {
    font-size: 20px;
  }
}

.h-menu__main .nav01 li p {
  margin-top: 0.8em;
  margin-left: 0.8em;
}

@media print, screen and (max-width: 560px) {
  .h-menu__main .nav01 li p {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .h-menu__main .nav01 li p {
    font-size: 13px;
  }
}

@media print, screen and (min-width: 1161px) {
  .h-menu__main .nav01 li p {
    font-size: 16px;
  }
}

@media print, screen and (max-width: 560px) {
  .h-menu__main .nav02 {
    display: none;
  }
}

@media print, screen and (min-width: 561px) {
  .h-menu__main .nav02 {
    margin-left: 75px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.h-menu__main .nav02::before {
  content: "ROOMS";
}

@media print, screen and (max-width: 560px) {
  .h-menu__main .nav02::before {
    left: -55px;
  }
}

@media print, screen and (min-width: 561px) {
  .h-menu__main .nav02::before {
    left: -75px;
  }
}

.h-menu__main .nav02 ul {
  width: 50%;
}

@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .h-menu__main .nav02 ul:nth-child(2) {
    margin-left: 20px;
  }
}

.h-menu__link {
  max-width: 240px;
  width: 100%;
}

.h-menu__link a {
  display: block;
  background-color: #8b2b24;
  background-image: url(../images/common/h-icon_a.svg);
  background-position: left 10px top 10px;
  background-repeat: no-repeat;
  padding: 9px;
  font-family: "Shippori Mincho", serif;
  font-size: 20px;
  border: solid 1px #fff;
  color: #fff;
  text-align: center;
}

.h-menu__tel {
  padding-top: 35px;
  margin-top: 35px;
  border-top: solid 1px rgba(255, 255, 255, 0.3);
  text-align: center;
}

.h-menu__tel .tel a {
  display: inline-block;
  font-size: 32px;
  padding-left: 45px;
  background-image: url(../images/common/footer_tel_icon.webp);
  background-position: left 0 bottom 5px;
  background-repeat: no-repeat;
  background-size: 32px;
  margin-right: 15px;
  color: #fff;
}

.h-menu__tel .tel span {
  display: inline-block;
  font-size: 18px;
}

/* -- mainvisualarea --
--------------------------------------------------------------　*/
#mainvisualarea {
  position: relative;
}

#mainvisualarea .sp_logo {
  position: absolute;
  top: 50%;
  left: 0%;
  width: 100%;
  text-align: center;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 2;
}

@media print, screen and (min-width: 961px) {
  #mainvisualarea .mv-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #mainvisualarea .mv-flex .mv-flex__img {
    width: 50%;
  }
  #mainvisualarea .mv-flex .mv-flex__img div {
    height: 100vh;
  }
}

#mainvisualarea .mv-flex .mv-flex__img div {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

@media print, screen and (max-width: 960px) {
  #mainvisualarea .mv-flex .mv-flex__img div {
    height: 50vh;
  }
}

.pagetitlearea {
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media print, screen and (max-width: 767.9px) {
  .pagetitlearea {
    height: 350px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .pagetitlearea {
    height: 500px;
  }
}

@media print, screen and (min-width: 1161px) {
  .pagetitlearea {
    height: 100vh;
  }
}

.pagetitlearea.page01 {
  background-image: url(../images/pagetitlearea/room_mv.webp);
}

.pagetitlearea.page02 {
  background-image: url(../images/pagetitlearea/meal_mv.webp);
}

.pagetitlearea.page03 {
  background-image: url(../images/pagetitlearea/access_mv.webp);
}

.pagetitlearea.page04 {
  background-image: url(../images/pagetitlearea/facilities_mv.webp);
}

.pagetitlearea.page05 {
  background-image: url(../images/pagetitlearea/privacy_mv.webp);
}

.pagetitlearea .pagetitlearea-ttl {
  color: #fff;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho B1", serif;
  position: relative;
}

.pagetitlearea .pagetitlearea-ttl::before {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  right: 33px;
  top: 0;
  background-color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  .pagetitlearea .pagetitlearea-ttl {
    margin-top: 120px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .pagetitlearea .pagetitlearea-ttl {
    margin-top: 15vh;
  }
  .pagetitlearea .pagetitlearea-ttl h2 {
    font-size: 35px;
  }
}

@media print, screen and (min-width: 1161px) {
  .pagetitlearea .pagetitlearea-ttl {
    margin-top: 25vh;
  }
  .pagetitlearea .pagetitlearea-ttl h2 {
    font-size: 44px;
  }
}

.pagetitlearea .pagetitlearea-ttl h2 {
  letter-spacing: 0.15em;
  margin-right: 15px;
}

.pagetitlearea .pagetitlearea-ttl p {
  font-size: 18px;
  letter-spacing: 1px;
}

/* -- Search --
--------------------------------------------------------------　*/
.h-search {
  background-color: #313131;
}

@media print, screen and (max-width: 767.9px) {
  .h-search {
    right: 0;
    top: auto;
    bottom: -120%;
    z-index: 9999;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .h-search.menu_open {
    bottom: 0;
  }
}

.h-search .cal_close {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #000;
  cursor: pointer;
}

@media print, screen and (max-width: 767.9px) {
  .h-search .cal_close {
    width: 64px;
    height: 64px;
  }
}

@media print, screen and (min-width: 768px) {
  .h-search .cal_close {
    width: 80px;
    height: 80px;
  }
}

.h-search .cal_close:hover {
  outline: 0;
  opacity: 0.8;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

.h-search .cal_close span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  /*アニメーションの設定*/
  position: absolute;
  left: 32%;
  height: 2px;
  background: #fff;
  width: 28px;
}

@media print, screen and (max-width: 767.9px) {
  .h-search .cal_close span:nth-of-type(1) {
    top: 25px;
  }
  .h-search .cal_close span:nth-of-type(2) {
    top: 37px;
  }
}

@media print, screen and (min-width: 768px) {
  .h-search .cal_close span:nth-of-type(1) {
    top: 35px;
  }
  .h-search .cal_close span:nth-of-type(2) {
    top: 47px;
  }
}

.h-search .cal_close span:nth-of-type(1) {
  -webkit-transform: translateY(6px) rotate(-45deg);
  transform: translateY(6px) rotate(-45deg);
}

.h-search .cal_close span:nth-of-type(2) {
  -webkit-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg);
}

.h-search input,
.h-search select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
}

.h-search .submit_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 500px;
  margin: 35px auto 0;
}

.h-search .submit_btn .plan,
.h-search .submit_btn .submit {
  width: 48%;
}

.h-search .submit_btn .plan a,
.h-search .submit_btn input[type="submit"] {
  width: 100%;
  padding: 9px;
  font-family: "Shippori Mincho", serif;
  border: solid 1px #fff;
  color: #fff;
  text-align: center;
}

@media print, screen and (max-width: 767.9px) {
  .h-search .submit_btn .plan a,
  .h-search .submit_btn input[type="submit"] {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .h-search .submit_btn .plan a,
  .h-search .submit_btn input[type="submit"] {
    font-size: 20px;
  }
}

.h-search .submit_btn .plan a {
  display: block;
}

.h-search .submit_btn .submit input[type="submit"] {
  cursor: pointer;
  background-color: #8b2b24;
  background-image: url(../images/common/h-icon_a.svg);
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 767.9px) {
  .h-search .submit_btn .submit input[type="submit"] {
    background-size: 20px;
    background-position: left 10px top 15px;
  }
}

@media print, screen and (min-width: 768px) {
  .h-search .submit_btn .submit input[type="submit"] {
    background-position: left 10px top 10px;
  }
}

.h-search .submit_btn .submit input[type="submit"]:hover {
  outline: 0;
  opacity: 0.8;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

.h-search .ui-datepicker thead {
  position: relative;
}

.h-search .ui-datepicker thead::before {
  width: 100%;
  height: 1px;
  content: "";
  background-color: #a9a9a9;
  position: absolute;
  bottom: 2px;
  left: 0;
}

.h-search .ui-datepicker thead th {
  color: #a9a9a9;
  font-size: 13px;
}

.h-search .ui-widget-header {
  background: transparent;
  border: none;
}

.h-search .ui-widget-content .ui-state-default {
  background: transparent;
  border: none;
  font-weight: bold;
  font-size: 14px;
  text-align: center;
}

.h-search .ui-widget-content .ui-state-default.ui-state-active {
  background: #eee;
}

.h-search td.ui-datepicker-week-end:first-child a.ui-state-default {
  color: #f00 !important;
}

.h-search td.ui-datepicker-week-end:last-child a.ui-state-default {
  color: #4785d1 !important;
}

.h-search__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  max-width: 640px;
  margin: auto;
  padding: 55px 0 35px;
  border-bottom: solid 1px rgba(255, 255, 255, 0.3);
}

.h-search__main .set_date {
  display: none;
}

.h-search__main .set_haku,
.h-search__main .set_room,
.h-search__main .set_num {
  width: 30%;
  position: relative;
}

.h-search__main .set_haku::before,
.h-search__main .set_room::before,
.h-search__main .set_num::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  border-bottom: 2px solid #313131;
  border-right: 2px solid #313131;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media print, screen and (max-width: 767.9px) {
  .h-search__main .set_haku::before,
  .h-search__main .set_room::before,
  .h-search__main .set_num::before {
    width: 9px;
    height: 9px;
    right: 10px;
  }
}

@media print, screen and (min-width: 768px) {
  .h-search__main .set_haku::before,
  .h-search__main .set_room::before,
  .h-search__main .set_num::before {
    width: 9px;
    height: 9px;
    right: 15px;
  }
}

.h-search__main .set_haku select,
.h-search__main .set_room select,
.h-search__main .set_num select {
  width: 100%;
  padding: 12px;
  background-color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  .h-search__main .set_haku select,
  .h-search__main .set_room select,
  .h-search__main .set_num select {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .h-search__main .set_haku select,
  .h-search__main .set_room select,
  .h-search__main .set_num select {
    font-size: 20px;
  }
}

/* -- footer --
--------------------------------------------------------------*/
#btn_pagetop {
  position: fixed;
  display: none;
  z-index: 3;
}

@media print, screen and (max-width: 767.9px) {
  #btn_pagetop {
    width: 57px;
    bottom: 65px;
    right: 15px;
  }
}

@media print, screen and (min-width: 768px) {
  #btn_pagetop {
    bottom: 58px;
    right: 30px;
  }
}

footer {
  background-image: url(../images/common/footerbg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 55px 15px 30px;
}

@media print, screen and (max-width: 767.9px) {
  footer {
    margin-bottom: 60px;
  }
}

.f-main {
  font-family: "Shippori Mincho", serif;
  color: #fff;
}

.f-main a {
  color: #fff;
}

@media print, screen and (min-width: 961px) {
  .f-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .f-main .f-main__left,
  .f-main .f-main__right {
    width: 50%;
  }
}

.f-site__ttl {
  margin-bottom: 22px;
}

.f-site__data .tel {
  margin: 1em 0;
}

.f-site__data .tel a {
  display: inline-block;
  font-size: 32px;
  padding-left: 45px;
  background-image: url(../images/common/footer_tel_icon.webp);
  background-position: left 0 bottom 5px;
  background-repeat: no-repeat;
  background-size: 32px;
  margin-right: 15px;
}

.f-site__data .tel span {
  display: inline-block;
  font-size: 18px;
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .f-site__cheackin {
    font-size: 15px;
  }
}

@media print, screen and (min-width: 1161px) {
  .f-site__cheackin {
    font-size: 20px;
  }
}

@media print, screen and (max-width: 560px) {
  .f-site__cheackin span {
    display: none;
  }
  .f-site__cheackin span .br_sp {
    display: block;
  }
}

@media print, screen and (min-width: 561px) {
  .f-site__cheackin span {
    display: inline-block;
    padding: 0 5px;
  }
  .f-site__cheackin span .br_sp {
    display: none;
  }
}

@media print, screen and (max-width: 960px) {
  .f-main__left {
    text-align: center;
    margin-bottom: 50px;
  }
}

.f-main__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media print, screen and (max-width: 560px) {
  .f-main__right {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .f-main__right {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media print, screen and (min-width: 961px) {
  .f-main__right {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.f-main__nav01,
.f-main__nav02 {
  position: relative;
  border-left: solid 1px rgba(255, 255, 255, 0.5);
}

@media print, screen and (min-width: 961px) {
  .f-main__nav01,
  .f-main__nav02 {
    width: 36%;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 1160px) {
  .f-main__nav01,
  .f-main__nav02 {
    padding-left: 12px;
  }
}

@media print, screen and (min-width: 1161px) {
  .f-main__nav01,
  .f-main__nav02 {
    padding-left: 20px;
  }
}

.f-main__nav01::before,
.f-main__nav02::before {
  position: absolute;
  top: 0;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 1px;
}

@media print, screen and (max-width: 560px) {
  .f-main__nav01::before,
  .f-main__nav02::before {
    font-size: 11px;
  }
}

@media print, screen and (min-width: 561px) {
  .f-main__nav01::before,
  .f-main__nav02::before {
    font-size: 14px;
  }
}

.f-main__nav01 ul li,
.f-main__nav02 ul li {
  line-height: 1.5;
}

@media print, screen and (max-width: 560px) {
  .f-main__nav01 ul li,
  .f-main__nav02 ul li {
    font-size: 13px;
    padding-left: 0.5em;
  }
}

@media print, screen and (min-width: 1161px) {
  .f-main__nav01 ul li,
  .f-main__nav02 ul li {
    font-size: 20px;
  }
}

.f-main__nav01 ul li:not(:last-of-type),
.f-main__nav02 ul li:not(:last-of-type) {
  margin-bottom: 1em;
}

@media print, screen and (max-width: 560px) {
  .f-main__nav01 {
    margin-left: 50px;
  }
}

@media print, screen and (min-width: 561px) {
  .f-main__nav01 {
    margin-left: 70px;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .f-main__nav01 {
    margin-right: 50px;
  }
}

.f-main__nav01::before {
  content: "MENU";
}

@media print, screen and (max-width: 560px) {
  .f-main__nav01::before {
    left: -50px;
  }
}

@media print, screen and (min-width: 561px) {
  .f-main__nav01::before {
    left: -70px;
  }
}

.f-main__nav01 li p {
  margin-top: 0.8em;
  margin-left: 0.8em;
}

@media print, screen and (max-width: 560px) {
  .f-main__nav01 li p {
    font-size: 11px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .f-main__nav01 li p {
    font-size: 13px;
  }
}

@media print, screen and (min-width: 1161px) {
  .f-main__nav01 li p {
    font-size: 16px;
  }
}

.f-main__nav02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (max-width: 560px) {
  .f-main__nav02 {
    margin-left: 55px;
  }
}

@media print, screen and (min-width: 561px) {
  .f-main__nav02 {
    margin-left: 75px;
  }
}

.f-main__nav02::before {
  content: "ROOMS";
}

@media print, screen and (max-width: 560px) {
  .f-main__nav02::before {
    left: -55px;
  }
}

@media print, screen and (min-width: 561px) {
  .f-main__nav02::before {
    left: -75px;
  }
}

.f-main__nav02 ul {
  width: 50%;
}

@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .f-main__nav02 ul:nth-child(2) {
    margin-left: 20px;
  }
}

.f-btm {
  color: rgba(255, 255, 255, 0.8);
}

@media print, screen and (max-width: 767.9px) {
  .f-btm {
    margin-top: 50px;
    text-align: center;
    font-size: 11px;
  }
}

@media print, screen and (min-width: 768px) {
  .f-btm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-top: 80px;
  }
}

.f-btm a {
  color: rgba(255, 255, 255, 0.8);
}

@media print, screen and (min-width: 768px) {
  .f-btm__copylight {
    font-size: 13px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .f-btm__link {
    margin-bottom: 30px;
  }
}

.f-btm__link a {
  display: inline-block;
  padding: 0 15px;
  line-height: 1.2;
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .f-btm__link a {
    font-size: 13px;
  }
}

.f-btm__link a:first-of-type {
  border-right: solid 1px rgba(255, 255, 255, 0.5);
}

/* -- framework && common --
--------------------------------------------------------------　*/
main {
  overflow: hidden;
  position: relative;
}

main::before {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 100vh;
  background-image: url(../images/common/bg01.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 0;
  content: "";
}

.arr_ylw .slick-prev,
.arr_ylw .slick-next {
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  z-index: 1;
}

.arr_ylw .slick-prev::before,
.arr_ylw .slick-next::before {
  content: none;
}

.arr_ylw .slick-prev {
  background-image: url(../images/common/common_arrowL.webp);
}

.arr_ylw .slick-next {
  background-image: url(../images/common/common_arrowR.webp);
}

.more_btn a {
  display: block;
  background-color: #8b2b24;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  text-align: center;
  padding: 13px 20px;
  width: 100%;
  max-width: 320px;
  margin: auto;
}

.more_btn a:hover span::before {
  right: -5px;
}

.more_btn a span {
  display: block;
  position: relative;
}

.more_btn a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

#lightbox .lb-outerContainer {
  margin: 20vh auto 0;
}

/* -- heading common --
--------------------------------------------------------------　*/
.effect {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 1.5s, visibility 1.5s, -webkit-transform 1.5s;
  transition: opacity 1.5s, visibility 1.5s, -webkit-transform 1.5s;
  transition: transform 1.5s, opacity 1.5s, visibility 1.5s;
  transition: transform 1.5s, opacity 1.5s, visibility 1.5s, -webkit-transform 1.5s;
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
  -webkit-filter: blur(4px);
  filter: blur(4px);
}

.effect.is-fade {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
  -webkit-filter: blur(0);
  filter: blur(0);
}

/* -- front page --
--------------------------------------------------------------　*/
.t-news {
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 767.9px) {
  .t-news {
    background-image: url(../images/common/bg_point01.webp), url(../images/common/bg_point01.webp);
    background-position: right -397px top -77px, left -359px bottom -185px;
    padding: 50px 25px 55px;
  }
  .t-news .t-news__post {
    padding-bottom: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-news {
    padding-top: 100px;
    background-image: url(../images/common/bg_point01.webp);
    background-position: right -10px bottom 0;
  }
  .t-news .mainwrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .t-news .t-news__bnr {
    width: 35%;
  }
  .t-news .t-news__list {
    width: 58%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .t-news .t-news__ttl,
  .t-news .t-news__bnr {
    padding-top: 22px;
  }
  .t-news .t-news__post {
    width: calc(100% - 85px);
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .t-news {
    background-size: 65%;
  }
}

@media print, screen and (min-width: 768px) {
  .t-news .t-news__bnr,
  .t-news .t-news__post {
    padding-bottom: 120px;
  }
}

.t-news .t-news__bnr li:not(:last-of-type) {
  margin-bottom: 20px;
}

.t-news .t-news__list ul li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}

@media print, screen and (max-width: 960px) {
  .t-news .t-news__list ul li a {
    display: block;
    padding: 15px 0;
  }
}

@media print, screen and (min-width: 961px) {
  .t-news .t-news__list ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 25px 0;
    font-size: 15px;
  }
  .t-news .t-news__list ul li a .date {
    width: 120px;
  }
  .t-news .t-news__list ul li a .title {
    width: calc(100% - 120px);
  }
}

.t-news .t-news__list ul li .date {
  color: #996411;
}

@media print, screen and (max-width: 767.9px) {
  .t-news .t-news__ttl h2 {
    font-size: 30px;
    padding-bottom: 7px;
    margin-bottom: 7px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-news .t-news__ttl {
    width: 66px;
    overflow: hidden;
  }
  .t-news .t-news__ttl h2 {
    font-size: 44px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    padding-bottom: 15px;
  }
}

.t-news .t-news__ttl h2 {
  font-family: "Shippori Mincho", serif;
  position: relative;
  letter-spacing: 0.1em;
}

.t-news .t-news__ttl h2:before {
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.4);
}

@media print, screen and (max-width: 767.9px) {
  .t-news .t-news__ttl h2:before {
    width: 99em;
    height: 1px;
    bottom: -10px;
    left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .t-news .t-news__ttl h2:before {
    width: 1px;
    height: 99em;
    top: 100%;
    left: 50%;
  }
}

.t-news .t-news__btn {
  width: 200px;
}

@media print, screen and (max-width: 767.9px) {
  .t-news .t-news__btn {
    margin-top: 35px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-news .t-news__btn {
    margin-top: 55px;
  }
}

.t-news .t-news__btn a {
  display: block;
  border: solid 1px #bcbcbc;
  padding: 5px 20px;
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
}

.t-news .t-news__btn a:hover span::before {
  right: -5px;
}

.t-news .t-news__btn a span {
  display: block;
  position: relative;
}

.t-news .t-news__btn a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.t-greeting {
  position: relative;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .t-greeting {
    background-image: url(../images/top/top_bg_img_intro.webp);
    background-repeat: no-repeat;
  }
  .t-greeting::before {
    content: "";
    position: absolute;
    right: 0;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .t-greeting {
    padding-top: 400px;
    background-size: auto 60%;
    background-position: 50% 0%;
    padding-bottom: 50px;
  }
  .t-greeting::before {
    height: 80%;
    bottom: 0;
    width: 100%;
    background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(transparent),
      color-stop(40%, #516024),
      to(#516024)
    );
    background: linear-gradient(to bottom, transparent 0%, #516024 40%, #516024 100%);
  }
}

@media print, screen and (min-width: 961px) {
  .t-greeting {
    background-size: cover;
    background-position: 50% 50%;
    padding-top: 100px;
  }
  .t-greeting::before {
    top: 0;
    width: 80%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(60%, #516024), to(#516024));
    background: linear-gradient(to right, transparent 0%, #516024 60%, #516024 100%);
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1560px) {
  .t-greeting {
    height: 650px;
    padding-right: 50px;
  }
}

@media print, screen and (min-width: 1561px) {
  .t-greeting {
    height: 800px;
  }
}

.t-greeting .t-greetin__txt {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .t-greeting .t-greetin__txt {
    margin-top: -150px;
    padding: 50px 30px 50px;
    background: linear-gradient(180deg, transparent 0%, transparent 120px, #516024 120px, #516024 100%);
  }
  .t-greeting .t-greetin__txt::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 150px;
    width: 100%;
    background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(transparent),
      color-stop(70%, #516024),
      to(#516024)
    );
    background: linear-gradient(to bottom, transparent 0%, #516024 70%, #516024 100%);
  }
}

@media print, screen and (min-width: 768px) {
  .t-greeting .t-greetin__txt {
    z-index: 1;
    width: 686px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .t-greeting .t-greetin__txt {
    margin: auto;
  }
}

@media print, screen and (min-width: 961px) {
  .t-greeting .t-greetin__txt {
    margin-left: auto;
  }
}

.t-greeting .t-greetin__txt h2 {
  position: relative;
  letter-spacing: 0.1em;
  padding-bottom: 7px;
}

.t-greeting .t-greetin__txt h2:before {
  content: "";
  position: absolute;
  background-color: rgba(255, 255, 255, 0.4);
}

@media print, screen and (max-width: 767.9px) {
  .t-greeting .t-greetin__txt h2 {
    font-size: 30px;
    max-width: 333px;
    margin: 0 auto 30px;
  }
  .t-greeting .t-greetin__txt h2:before {
    width: 99em;
    height: 1px;
    bottom: -10px;
    left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .t-greeting .t-greetin__txt h2 {
    font-size: 44px;
    margin-left: 60px;
    height: 170px;
  }
  .t-greeting .t-greetin__txt h2:before {
    width: 1px;
    height: 99em;
    top: 100%;
    left: 50%;
  }
}

@media print, screen and (max-width: 767.9px) {
  .t-greeting .t-greetin__txt p {
    line-height: 2.5;
    font-size: 16px;
    max-width: 333px;
    margin: auto;
    position: relative;
  }
}

@media print, screen and (min-width: 768px) {
  .t-greeting .t-greetin__txt p {
    line-height: 2.8;
    font-size: 20px;
  }
}

.bg_point {
  background-image: url(../images/common/bg_point01-3.webp);
  background-repeat: no-repeat;
  background-size: 627px;
  background-position: 0px 26%;
}

@media print, screen and (max-width: 767.9px) {
  .bg_section {
    height: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .bg_section {
    height: 80px;
  }
}

.t-rooms {
  background-image: url(../images/common/bg_point01-3.webp);
  background-repeat: no-repeat;
  background-size: 627px;
}

@media print, screen and (max-width: 767.9px) {
  .t-rooms {
    background-position: left -470px bottom -100px;
    padding-bottom: 80px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-rooms {
    background-position: left -62px bottom -122px;
    padding-bottom: 100px;
  }
}

.t-rooms .t-rooms__msg {
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
  color: #fff;
  font-family: "Shippori Mincho", serif;
  overflow: hidden;
  position: relative;
}

@media print, screen and (max-width: 560px) {
  .t-rooms .t-rooms__msg {
    background-image: url(../images/sp/top/sp_top_bg_img_amazing1.webp);
    padding: 70px 25px 230px;
  }
}

@media print, screen and (min-width: 561px) {
  .t-rooms .t-rooms__msg {
    background-image: url(../images/top/top_bg_img_amazing.webp);
    padding: 110px 0 160px;
  }
  .t-rooms .t-rooms__msg::before {
    content: "";
    position: absolute;
    top: -20px;
    right: 46%;
    width: 844px;
    height: 462px;
    background-image: url(../images/top/room_map01.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 0;
  }
}

@media print, screen and (min-width: 768px) {
  .t-rooms .t-rooms__msg .mainwrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 767.9px) {
  .t-rooms .t-rooms__ttl,
  .t-rooms .t-rooms__txt {
    max-width: 400px;
    margin: auto;
  }
}

@media print, screen and (min-width: 768px) {
  .t-rooms .t-rooms__ttl {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    max-width: 330px;
  }
  .t-rooms .t-rooms__ttl h2 {
    height: 370px;
    letter-spacing: 0.15em;
  }
  .t-rooms .t-rooms__ttl h2:before {
    content: "";
    position: absolute;
    width: 1px;
    height: 99em;
    top: 100%;
    left: 50%;
    background-color: rgba(255, 255, 255, 0.4);
  }
}

.t-rooms .t-rooms__ttl h2 {
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .t-rooms .t-rooms__ttl h2 {
    font-size: 30px;
  }
  .t-rooms .t-rooms__ttl h2:before {
    content: "";
    position: absolute;
    background-color: rgba(255, 255, 255, 0.4);
    width: 99em;
    height: 1px;
    bottom: -10px;
    left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .t-rooms .t-rooms__ttl h2 {
    font-size: 44px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .t-rooms .t-rooms__ttl h2 {
    padding: 0 35px;
  }
}

@media print, screen and (min-width: 961px) {
  .t-rooms .t-rooms__ttl h2 {
    padding: 0 65px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .t-rooms .t-rooms__ttl p {
    font-size: 20px;
    margin: 20px 0;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .t-rooms .t-rooms__ttl p {
    font-size: 22px;
  }
}

@media print, screen and (min-width: 961px) {
  .t-rooms .t-rooms__ttl p {
    font-size: 26px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .t-rooms .t-rooms__txt {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-rooms .t-rooms__txt {
    padding-top: 330px;
  }
}

.t-rooms .t-rooms__txt p {
  line-height: 2.5;
}

.t-rooms__slider {
  position: relative;
}

.t-rooms__slider .more_btn {
  margin-top: 50px;
}

@media print, screen and (max-width: 560px) {
  .t-rooms__slider .slick-next {
    right: 0;
  }
  .t-rooms__slider .slick-prev {
    left: 0;
  }
}

@media print, screen and (max-width: 767.9px) {
  .t-rooms__slider {
    margin-top: -50px;
  }
  .t-rooms__slider .slick-next,
  .t-rooms__slider .slick-prev {
    top: 45%;
  }
}

@media print, screen and (min-width: 768px) {
  .t-rooms__slider {
    margin-top: -100px;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 1460px) {
  .t-rooms__slider .slick-next {
    right: 13vw;
  }
  .t-rooms__slider .slick-prev {
    left: 13vw;
  }
}

@media print, screen and (min-width: 1461px) {
  .t-rooms__slider .slick-next {
    right: 20.5vw;
  }
  .t-rooms__slider .slick-prev {
    left: 20.5vw;
  }
}

.t-rooms__slider .slick-slide {
  margin: 0 2px;
  position: relative;
}

@media print, screen and (min-width: 1161px) {
  .t-rooms__slider .slick-slide {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}

.t-rooms__slider .slick-slide a {
  display: block;
}

@media print, screen and (max-width: 767.9px) {
  .t-rooms__slider .slick-slide a {
    pointer-events: none;
  }
}

.t-rooms__slider .slick-dots {
  position: relative;
  bottom: auto;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.t-rooms__slider .slick-dots li {
  width: auto;
  height: auto;
  margin: 30px 0 0;
}

.t-rooms__slider .slick-dots li:not(:first-of-type) {
  position: relative;
}

.t-rooms__slider .slick-dots li:not(:first-of-type)::before {
  content: "";
  width: 1px;
  height: calc(100% - 22px);
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  bottom: 3px;
  right: 0;
}

.t-rooms__slider .slick-dots li button {
  line-height: 1.2;
  font-family: "Shippori Mincho", serif;
  width: auto;
  height: auto;
  padding: 20px 7px 0;
  letter-spacing: 2px;
  font-size: 15px;
  color: #000;
}

.t-rooms__slider .slick-dots li button span {
  display: inline-block;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  letter-spacing: 2px;
}

@media print, screen and (max-width: 767.9px) {
  .t-rooms__slider .slick-dots li button span {
    width: 22px;
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-rooms__slider .slick-dots li button span {
    font-size: 20px;
    width: 24px;
  }
}

.t-rooms__slider .slick-dots li button:before {
  content: "";
}

.t-rooms__slider .slick-dots li.slick-active button {
  color: #547f27;
}

.t-rooms__slider .slick-dots li.slick-active button:before {
  content: "▼";
  color: #547f27;
  opacity: 1;
  left: 10px;
}

@media print, screen and (max-width: 767.9px) {
  .t-rooms__slider .rooms_txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #262626;
    color: #fff;
    padding: 30px 25px;
    font-family: "Shippori Mincho", serif;
  }
  .t-rooms__slider .rooms_txt h3 {
    font-size: 28px;
  }
  .t-rooms__slider .rooms_txt p {
    font-size: 14px;
    position: relative;
    padding-left: 20px;
  }
  .t-rooms__slider .rooms_txt p::before {
    content: "";
    width: 10px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
  }
  .t-rooms__slider .rooms_txt .rooms_txtL,
  .t-rooms__slider .rooms_txt .rooms_txtR {
    width: 50%;
  }
  .t-rooms__slider .rooms_txt .rooms_txtR {
    text-align: center;
    padding: 0 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-rooms__slider .rooms_txt {
    display: none;
  }
}

@media print, screen and (max-width: 767.9px) {
  .t-access {
    background-image: url(../images/sp/top/map_bg-sp.webp);
    background-position: 0 0;
    position: relative;
  }
}

@media print, screen and (min-width: 768px) {
  .t-access {
    background-position: 50% 50%;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../images/top/access_map.webp);
  }
  .t-access .mainwrap {
    padding: 110px 0 65px;
    height: 790px;
  }
}

@media print, screen and (max-width: 560px) {
  .t-access .t-access__map01 {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .t-access .t-access__map01 {
    display: none;
  }
}

@media print, screen and (min-width: 561px) {
  .t-access .t-access__map02 {
    display: none;
  }
}

.t-access .mainwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.t-access .t-access__txt {
  color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  .t-access .t-access__txt {
    padding: 30px 25px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .t-access .t-access__txt {
    padding-top: 125px;
  }
}

.t-access .t-access__txt h2 {
  font-family: "Shippori Mincho", serif;
  margin-bottom: 25px;
}

@media print, screen and (max-width: 767.9px) {
  .t-access .t-access__txt h2 {
    font-size: 28px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .t-access .t-access__txt h2 {
    font-size: 25px;
  }
}

@media print, screen and (min-width: 1161px) {
  .t-access .t-access__txt h2 {
    font-size: 32px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .t-access .t-access__txt p {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 1161px) {
  .t-access .t-access__txt p {
    font-size: 18px;
  }
}

.t-access .t-access__txt .t-access__btn {
  width: 320px;
  margin-top: 35px;
}

.t-access .t-access__txt .t-access__btn a {
  display: block;
  border: solid 1px #fff;
  padding: 12px 20px 12px 40px;
  font-family: "Shippori Mincho", serif;
  color: #fff;
  font-size: 22px;
}

.t-access .t-access__txt .t-access__btn a:hover span::before {
  right: -5px;
}

.t-access .t-access__txt .t-access__btn a span {
  display: block;
  position: relative;
}

.t-access .t-access__txt .t-access__btn a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.t-access__link {
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.4);
  padding: 2px;
}

.t-access__link a {
  display: block;
  background-image: url(../images/top/btn_L_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  padding: 26px 10px;
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .t-access__link a {
    font-size: 24px;
    background-position: 0 50%;
  }
  .t-access__link a::before {
    right: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-access__link a {
    font-size: 26px;
    background-position: 50% 50%;
  }
  .t-access__link a:hover::before {
    right: 30px;
  }
  .t-access__link a::before {
    right: 40px;
  }
}

.t-access__link a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 12px;
  height: 12px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.t-dining {
  background-color: #000;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .t-dining {
    background-image: url(../images/top/food_bg.webp);
    background-repeat: no-repeat;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .t-dining {
    background-size: 100% auto;
    background-position: 50% 0;
  }
}

@media print, screen and (min-width: 961px) {
  .t-dining {
    background-position: 50% 50%;
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1920px) {
  .t-dining {
    background-size: auto 100%;
  }
}

@media print, screen and (min-width: 1921px) {
  .t-dining {
    background-size: 100% auto;
  }
}

.t-dining .t-dining__img {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .t-dining .t-dining__img {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: auto;
    width: 70%;
  }
}

.t-dining .t-dining__txt {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  margin: auto;
}

@media print, screen and (max-width: 960px) {
  .t-dining .t-dining__txt {
    padding: 35px 25px 55px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .t-dining .t-dining__txt {
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
  }
}

@media print, screen and (min-width: 961px) {
  .t-dining .t-dining__txt {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 3vw 0 4vw;
    position: relative;
    margin-top: -10vw;
    z-index: 2;
  }
}

@media print, screen and (min-width: 961) and (max-width: 1260px) {
  .t-dining .t-dining__txt {
    max-width: 620px;
  }
}

@media print, screen and (min-width: 1261px) and (max-width: 1920px) {
  .t-dining .t-dining__txt {
    max-width: 800px;
  }
}

@media print, screen and (min-width: 1921px) {
  .t-dining .t-dining__txt {
    width: 50vw;
  }
}

@media print, screen and (max-width: 767.9px) {
  .t-dining .t-dining__txt .t-dining__rl p {
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
    margin: auto;
  }
}

@media print, screen and (min-width: 961px) {
  .t-dining .t-dining__txt .t-dining__rl {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
    margin: auto;
  }
}

@media print, screen and (max-width: 960px) {
  .t-dining .t-dining__txt .t-dining__rl h3 {
    font-size: 26px;
    margin-bottom: 35px;
    text-align: center;
  }
  .t-dining .t-dining__txt .t-dining__rl p {
    line-height: 2.5;
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1260px) {
  .t-dining .t-dining__txt .t-dining__rl h3 {
    font-size: 20px;
    margin-left: 35px;
  }
  .t-dining .t-dining__txt .t-dining__rl p {
    line-height: 2.5;
  }
}

@media print, screen and (min-width: 1261px) {
  .t-dining .t-dining__txt .t-dining__rl h3 {
    font-size: 26px;
    margin-left: 50px;
  }
  .t-dining .t-dining__txt .t-dining__rl p {
    font-size: 20px;
    line-height: 3;
  }
}

@media print, screen and (max-width: 960px) {
  .t-dining .t-dining__btn {
    margin-top: 35px;
  }
}

@media print, screen and (min-width: 961px) {
  .t-dining .t-dining__btn {
    margin-top: 15px;
  }
}

.t-dining .t-dining__btn a {
  display: block;
  border: solid 1px #fff;
  padding: 5px 20px;
  font-family: "Shippori Mincho", serif;
  max-width: 315px;
  margin: auto;
  color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  .t-dining .t-dining__btn a {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-dining .t-dining__btn a {
    font-size: 18px;
  }
}

.t-dining .t-dining__btn a:hover span::before {
  right: -5px;
}

.t-dining .t-dining__btn a span {
  display: block;
  position: relative;
}

.t-dining .t-dining__btn a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.t-plan {
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 767.9px) {
  .t-plan {
    padding: 60px 0 45px;
    background-position: 50% 0;
  }
}

@media print, screen and (min-width: 768px) {
  .t-plan {
    padding: 150px 0 80px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1460px) {
  .t-plan {
    background-position: top 0 right 0;
  }
}

@media print, screen and (max-width: 1460px) {
  .t-plan {
    background-image: url(../images/common/bg_point03.webp);
  }
}

@media print, screen and (min-width: 1461px) {
  .t-plan {
    background-image: url(../images/common/bg_point03.webp), url(../images/common/bg_point02.webp);
    background-position: top 0 right -100px, top 200px left -200px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .t-plan .t-plan__ttl {
    padding-left: 25px;
  }
}

@media print, screen and (max-width: 1460px) {
  .t-plan .t-plan__ttl {
    max-width: 1200px;
    margin: 0 auto 50px;
  }
}

@media print, screen and (min-width: 1461px) {
  .t-plan .t-plan__ttl {
    position: absolute;
    top: 105px;
    right: 17.5vw;
    width: 66px;
  }
}

.t-plan .t-plan__ttl h2 {
  font-family: "Shippori Mincho", serif;
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .t-plan .t-plan__ttl h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-plan .t-plan__ttl h2 {
    font-size: 44px;
  }
}

@media print, screen and (max-width: 1460px) {
  .t-plan .t-plan__ttl h2 {
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
  }
  .t-plan .t-plan__ttl h2:before {
    width: 99em;
    height: 1px;
    bottom: -10px;
    left: 0;
  }
}

@media print, screen and (min-width: 1461px) {
  .t-plan .t-plan__ttl h2 {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    height: 330px;
  }
  .t-plan .t-plan__ttl h2:before {
    width: 1px;
    height: 99em;
    top: 100%;
    left: 50%;
  }
}

.t-plan .t-plan__ttl h2:before {
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.4);
}

@media print, screen and (max-width: 767.9px) {
  .t-plan .more_btn {
    margin-top: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-plan .more_btn {
    margin-top: 65px;
  }
}

.t-stay {
  background-image: url(../images/top/bg_wall3.webp);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
}

.t-stay .t-stay__inner {
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay .t-stay__inner {
    padding: 45px 0 80px;
    background-image: url(../images/common/bg_point05.webp);
    background-position: left -125px top -65px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay .t-stay__inner {
    padding: 100px 0;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1460px) {
  .t-stay .t-stay__inner {
    background-image: url(../images/common/bg_point05.webp), url(../images/common/bg_point05.webp);
    background-position: left 100px top 0, left -58px top 62%;
  }
}

@media print, screen and (min-width: 1461px) {
  .t-stay .t-stay__inner {
    background-image: url(../images/common/bg_point05.webp), url(../images/common/bg_point05.webp),
      url(../images/common/bg_point05.webp);
    background-position: left 100px top 0, right -112px top 50px, left -58px top 62%;
  }
}

.t-stay .t-stay__ttl {
  padding-left: 25px;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay .t-stay__ttl h2 {
    font-size: 30px;
    margin-bottom: 35px;
    position: relative;
  }
  .t-stay .t-stay__ttl h2:before {
    content: "";
    position: absolute;
    background-color: rgba(0, 0, 0, 0.4);
    width: 99em;
    height: 1px;
    bottom: -10px;
    left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay .t-stay__ttl {
    padding-right: 40px;
    width: 160px;
    height: 240px;
    margin: auto;
    background-image: url(../images/top/line3.png);
    background-repeat: no-repeat;
    background-position: right top;
  }
  .t-stay .t-stay__ttl h2 {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    font-size: 40px;
  }
}

.t-stay .t-stay__ttl h2 {
  font-family: "Shippori Mincho", serif;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay .t-stay__slider {
    padding-bottom: 45px;
  }
  .t-stay .t-stay__slider .slick-next,
  .t-stay .t-stay__slider .slick-prev {
    top: 48%;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay .t-stay__slider {
    padding-bottom: 120px;
  }
}

@media print, screen and (max-width: 560px) {
  .t-stay .t-stay__slider .slick-next {
    right: 0;
  }
  .t-stay .t-stay__slider .slick-prev {
    left: 0;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 1460px) {
  .t-stay .t-stay__slider .slick-next {
    right: 13vw;
  }
  .t-stay .t-stay__slider .slick-prev {
    left: 13vw;
  }
}

@media print, screen and (min-width: 1461px) {
  .t-stay .t-stay__slider .slick-next {
    right: 20.5vw;
  }
  .t-stay .t-stay__slider .slick-prev {
    left: 20.5vw;
  }
}

.t-stay .t-stay__slider .slick-slide {
  margin: 0 2px;
}

.t-stay .t-stay__slider .slick-dots {
  position: relative;
  bottom: auto;
  padding-top: 7px;
}

.t-stay .t-stay__slider .slick-dots li button:before {
  color: #fff;
}

.t-stay .t-ss_wrap {
  position: relative;
}

.t-stay .t-ss_wrap .t-ss_txt {
  color: #fff;
  font-family: "Shippori Mincho", serif;
}

@media print, screen and (min-width: 1261px) {
  .t-stay .t-ss_wrap .t-ss_txt {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .t-stay .t-ss_wrap .t-ss_txt .t-ss_msg {
    width: calc(100% - 380px);
  }
  .t-stay .t-ss_wrap .t-ss_txt .t-ss_time {
    width: 380px;
    padding-left: 30px;
  }
}

.t-stay .t-ss_wrap .t-ss_time {
  background-color: rgba(32, 47, 17, 0.9);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay .t-ss_wrap .t-ss_time {
    padding: 40px 25px 15px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1260px) {
  .t-stay .t-ss_wrap .t-ss_time {
    padding: 15px 25px;
  }
}

.t-stay .t-ss_wrap .t-ss_time p {
  line-height: 1;
  font-size: 20px;
}

.t-stay .t-ss_wrap .t-ss_time p.time {
  font-size: 24px;
  padding-right: 20px;
  margin-right: 15px;
  border-right: solid 1px #fff;
  margin-left: 15px;
}

.t-stay .t-ss_wrap .t-ss_msg {
  background-color: rgba(0, 0, 0, 0.8);
}

@media print, screen and (max-width: 1260px) {
  .t-stay .t-ss_wrap .t-ss_msg {
    padding: 25px;
  }
}

@media print, screen and (min-width: 1261px) {
  .t-stay .t-ss_wrap .t-ss_msg {
    padding: 25px 30px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .t-stay__more {
    padding-left: 25px;
  }
}

.t-stay__more h3 {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 2px;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay__more h3 {
    font-size: 24px;
    position: relative;
    margin-bottom: 35px;
  }
  .t-stay__more h3:before {
    content: "";
    position: absolute;
    background-color: rgba(255, 255, 255, 0.4);
    width: 99em;
    height: 1px;
    bottom: -10px;
    left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay__more h3 {
    margin: 0 auto 30px;
    font-size: 30px;
    text-align: center;
    padding-bottom: 15px;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
}

.t-stay__plan .slick-dots,
.t-plan__slider .slick-dots {
  display: none !important;
}

@media print, screen and (max-width: 560px) {
  .t-stay__plan .slick-next,
  .t-plan__slider .slick-next {
    right: 0;
  }
  .t-stay__plan .slick-prev,
  .t-plan__slider .slick-prev {
    left: 0;
  }
}

@media print, screen and (min-width: 1161px) {
  .t-stay__plan .t-sp_wrap,
  .t-plan__slider .t-sp_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .t-stay__plan .t-sp_wrap .t-sp_img,
  .t-stay__plan .t-sp_wrap .t-sp_txt,
  .t-plan__slider .t-sp_wrap .t-sp_img,
  .t-plan__slider .t-sp_wrap .t-sp_txt {
    width: 50%;
  }
}

.t-stay__plan h4,
.t-plan__slider h4 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay__plan h4,
  .t-plan__slider h4 {
    font-size: 17px;
    margin-bottom: 0.8em;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay__plan h4,
  .t-plan__slider h4 {
    font-size: 24px;
    margin-bottom: 1em;
  }
}

.t-stay__plan .t-sp_price,
.t-plan__slider .t-sp_price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1em;
  padding-top: 1em;
  border-top: solid 1px rgba(0, 0, 0, 0.3);
}

.t-stay__plan .t-sp_price .t-sp_meal,
.t-plan__slider .t-sp_price .t-sp_meal {
  font-family: "Shippori Mincho", serif;
  font-size: 22px;
  padding-right: 15px;
}

@media print, screen and (min-width: 768px) {
  .t-stay__plan .t-sp_price .t-sp_meal,
  .t-plan__slider .t-sp_price .t-sp_meal {
    padding-top: 7px;
  }
}

.t-stay__plan .t-sp_price .t-sp_num,
.t-plan__slider .t-sp_price .t-sp_num {
  font-size: 18px;
  font-family: "Shippori Mincho", serif;
  line-height: 1.2;
}

.t-stay__plan .t-sp_price .t-sp_num span,
.t-plan__slider .t-sp_price .t-sp_num span {
  display: inline-block;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay__plan .t-sp_price .t-sp_num span,
  .t-plan__slider .t-sp_price .t-sp_num span {
    font-size: 28px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay__plan .t-sp_price .t-sp_num span,
  .t-plan__slider .t-sp_price .t-sp_num span {
    font-size: 34px;
  }
}

.t-stay__plan .t-sp_price .t-sp_num small,
.t-plan__slider .t-sp_price .t-sp_num small {
  display: block;
  padding-left: 38px;
  font-size: 14px;
}

.t-stay__plan .t-sp_img,
.t-plan__slider .t-sp_img {
  position: relative;
}

@media print, screen and (max-width: 560px) {
  .t-stay__plan .t-sp_img img,
  .t-plan__slider .t-sp_img img {
    margin: auto;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .t-stay__plan .t-sp_img,
  .t-plan__slider .t-sp_img {
    height: 45vw;
  }
}

.t-stay__plan .t-sp_img div,
.t-plan__slider .t-sp_img div {
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

@media print, screen and (min-width: 561px) and (max-width: 1460px) {
  .t-plan__slider .slick-next {
    right: 15vw;
  }
  .t-plan__slider .slick-prev {
    left: 15vw;
  }
  .t-plan__slider .slick-slide {
    margin: 0 15px;
  }
}

@media print, screen and (min-width: 1461px) {
  .t-plan__slider .slick-prev,
  .t-plan__slider .slick-next {
    bottom: -26px;
    top: auto;
  }
  .t-plan__slider .slick-next {
    right: 22vw;
  }
  .t-plan__slider .slick-prev {
    left: 22vw;
  }
  .t-plan__slider .slick-slide {
    margin: 0 77px;
  }
}

.t-plan__slider .t-sp_wrap {
  position: relative;
}

.t-plan__slider .t-sp_txt {
  background-image: url(../images/top/plan.bg.webp);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

@media print, screen and (min-width: 1461px) {
  .t-plan__slider .t-sp_txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .t-plan__slider .t-sp_txt .t-plan_label p {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
  .t-plan__slider .t-sp_txt .t-plan_label p.label_name {
    font-size: 20px;
    padding: 15px;
  }
  .t-plan__slider .t-sp_txt .t-plan_label p.sub_ttl {
    font-size: 32px;
    padding: 15px 5px;
  }
}

.t-plan__slider .t-sp_txt .t-plan_label {
  font-family: "Shippori Mincho", serif;
  color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  .t-plan__slider .t-sp_txt .t-plan_label {
    position: absolute;
    top: 0;
    left: 0;
  }
  .t-plan__slider .t-sp_txt .t-plan_label p {
    height: 56px;
  }
  .t-plan__slider .t-sp_txt .t-plan_label p.label_name {
    width: 120px;
    text-align: center;
  }
  .t-plan__slider .t-sp_txt .t-plan_label p.sub_ttl {
    width: calc(100% - 120px);
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1460px) {
  .t-plan__slider .t-sp_txt .t-plan_label p {
    height: 52px;
  }
}

@media print, screen and (max-width: 1460px) {
  .t-plan__slider .t-sp_txt .t-plan_label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .t-plan__slider .t-sp_txt .t-plan_label p:nth-child(1) {
    font-size: 20px;
    padding: 11px;
  }
  .t-plan__slider .t-sp_txt .t-plan_label p:nth-child(2) {
    font-size: 24px;
    padding: 5px 15px;
  }
}

.t-plan__slider .t-sp_txt .t-plan_label p:nth-child(1) {
  background-color: rgba(27, 73, 125, 0.8);
}

.t-plan__slider .t-sp_txt .t-plan_label p:nth-child(2) {
  background-color: rgba(0, 0, 0, 0.8);
}

@media print, screen and (max-width: 767.9px) {
  .t-plan__slider .t-sp_inner {
    padding: 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-plan__slider .t-sp_inner {
    padding: 30px;
  }
}

.t-plan__slider .t-sp_msg {
  color: #5a4824;
}

@media print, screen and (max-width: 767.9px) {
  .t-plan__slider .plan_link {
    margin: 15px auto 0;
  }
}

@media print, screen and (min-width: 768px) {
  .t-plan__slider .plan_link {
    margin-top: 45px;
  }
}

.t-plan__slider .plan_link a {
  background-color: #fff;
}

@media print, screen and (min-width: 1161px) {
  .t-stay__plan .slick-slide {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .t-stay__plan .txt_main {
    padding-left: 20px;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 1460px) {
  .t-stay__plan .slick-next {
    right: 15vw;
  }
  .t-stay__plan .slick-prev {
    left: 15vw;
  }
  .t-stay__plan .slick-slide {
    margin: 0 15px;
  }
}

@media print, screen and (min-width: 1461px) {
  .t-stay__plan .slick-next {
    right: 22.5vw;
  }
  .t-stay__plan .slick-prev {
    left: 22.5vw;
  }
  .t-stay__plan .slick-slide {
    margin: 0 30px;
  }
}

.t-stay__plan .t-sp_txt {
  background-color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay__plan .t-sp_txt {
    padding: 25px 25px 40px 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay__plan .t-sp_txt {
    padding: 15px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay__plan .t-sp_inner {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border: solid 1px #cdcdcd;
    padding: 20px;
  }
}

.t-stay__plan .t-sp_label {
  position: absolute;
  color: #fff;
  background-color: #8b2b24;
  font-family: "Shippori Mincho", serif;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay__plan .t-sp_label {
    font-size: 24px;
    top: 22px;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay__plan .t-sp_label {
    font-size: 26px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .t-stay__plan .t-sp_label {
    top: 30px;
  }
}

@media print, screen and (max-width: 1160px) {
  .t-stay__plan .t-sp_label {
    left: 0;
  }
}

@media print, screen and (min-width: 1161px) {
  .t-stay__plan .t-sp_label {
    top: -18px;
    right: -33px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
  .t-stay__plan .t-sp_label:before {
    position: absolute;
    content: "";
    top: 0;
    right: -12px;
    border: none;
    border-right: solid 12px transparent;
    border-bottom: solid 18px #6f211b;
  }
}

.t-stay__plan .t-sp_label span {
  display: block;
  position: relative;
}

.t-stay__plan .t-sp_label span:before,
.t-stay__plan .t-sp_label span:after {
  position: absolute;
  content: "";
}

@media print, screen and (max-width: 1160px) {
  .t-stay__plan .t-sp_label span {
    padding: 12px 30px;
  }
  .t-stay__plan .t-sp_label span:before,
  .t-stay__plan .t-sp_label span:after {
    right: -17px;
  }
  .t-stay__plan .t-sp_label span:before {
    bottom: 0;
    border: none;
    border-top: solid 35px transparent;
    border-left: solid 18px #8b2b24;
  }
  .t-stay__plan .t-sp_label span:after {
    top: 0;
    border: none;
    border-bottom: solid 35px transparent;
    border-left: solid 18px #8b2b24;
  }
}

@media print, screen and (min-width: 1161px) {
  .t-stay__plan .t-sp_label span {
    padding: 30px 12px 40px;
  }
  .t-stay__plan .t-sp_label span:before,
  .t-stay__plan .t-sp_label span:after {
    bottom: -17px;
  }
  .t-stay__plan .t-sp_label span:before {
    right: 0;
    border: none;
    border-bottom: solid 18px transparent;
    border-right: solid 35px #8b2b24;
  }
  .t-stay__plan .t-sp_label span:after {
    left: 0;
    border: none;
    border-bottom: solid 18px transparent;
    border-left: solid 35px #8b2b24;
  }
}

.t-stay__plan .t-sp_msg {
  color: #5f5f5f;
}

.t-stay__plan .t-sp_price .t-sp_num span {
  color: #aa7f0b;
}

@media print, screen and (max-width: 767.9px) {
  .t-stay__plan .plan_link {
    margin: 25px auto 0;
  }
}

@media print, screen and (min-width: 768px) {
  .t-stay__plan .plan_link {
    margin-top: 70px;
  }
}

.t-stay__plan .plan_link a {
  background-color: #efeadc;
}

.plan_link {
  width: 260px;
}

.plan_link a {
  display: block;
  font-size: 18px;
  font-family: "Shippori Mincho", serif;
  position: relative;
  padding: 7px;
  padding-right: 45px;
  height: 45px;
  text-align: center;
}

.plan_link a span {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 45px;
  height: 45px;
  background-color: #bca318;
}

.plan_link a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  right: 20px;
  width: 10px;
  height: 10px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* page common --
--------------------------------------------------------------　*/
.p-com__link {
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.4);
  padding: 2px;
}

.p-com__link a {
  display: block;
  background-image: url(../images/top/btn_L_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  padding: 26px 10px;
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .p-com__link a {
    font-size: 24px;
    background-position: 0 50%;
  }
  .p-com__link a::before {
    right: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .p-com__link a {
    font-size: 26px;
    background-position: 50% 50%;
  }
  .p-com__link a:hover::before {
    right: 30px;
  }
  .p-com__link a::before {
    right: 40px;
  }
}

.p-com__link a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 12px;
  height: 12px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.com-page__link ul {
  padding: 40px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media print, screen and (max-width: 767.9px) {
  .com-page__link ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .com-page__link ul li {
    width: 50%;
  }
}

@media print, screen and (min-width: 768px) {
  .com-page__link ul {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media print, screen and (max-width: 767.9px) {
  .com-page__link ul li {
    border: 1px solid rgba(255, 255, 255, 0.4);
  }
}

@media print, screen and (min-width: 768px) {
  .com-page__link ul li {
    margin: 0 15px 15px;
  }
}

.com-page__link ul li a {
  display: block;
  color: #fff;
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .com-page__link ul li a {
    padding: 7px 15px;
  }
}

@media print, screen and (min-width: 768px) {
  .com-page__link ul li a {
    padding-bottom: 15px;
  }
}

.com-page__link ul li a .link_txt {
  text-align: center;
}

@media print, screen and (max-width: 767.9px) {
  .com-page__link ul li a .link_txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .com-page__link ul li a .link_txt .btn {
    width: 18px;
    padding-bottom: 7px;
  }
}

@media print, screen and (min-width: 768px) {
  .com-page__link ul li a .link_txt {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
}

.com-page__link ul li a .link_txt p {
  font-family: "Shippori Mincho", serif;
  line-height: 1.2;
}

@media print, screen and (max-width: 767.9px) {
  .com-page__link ul li a .link_txt p {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .com-page__link ul li a .link_txt p {
    font-size: 22px;
    padding-bottom: 15px;
  }
}

/* facilities --
--------------------------------------------------------------　*/
.f-link .com-page__link {
  background-image: url(../images/common/navi_bg.webp);
  background-repeat: repeat;
  background-position: 0 0;
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .f-link .com-page__link ul li a .link_txt p {
    font-size: 20px;
  }
}

.f-com {
  position: relative;
}

.f-com.b_left .f-com__h2 h2::before {
  width: 15em;
}

@media print, screen and (min-width: 961px) {
  .f-com.b_right .f-com__h2 h2 {
    margin: auto;
  }
  .f-com.b_right .f-com__img {
    margin-left: auto;
  }
  .f-com.b_left .f-com__txt {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .f-com.b_left .f-com__h2 {
    margin-left: -45px;
  }
  .f-com .f-com__txt {
    position: absolute;
    max-width: 1200px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .f-com .f-com__img {
    width: 55%;
  }
}

@media print, screen and (max-width: 767.9px) {
  .f-com .f-com__h2 h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .f-com .f-com__h2 h2 {
    font-size: 38px;
  }
}

.f-com .f-com__txtinner {
  font-family: "Shippori Mincho B1", serif;
  max-width: 600px;
  margin-top: 32px;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(transparent),
    color-stop(10%, #fff),
    color-stop(90%, #fff),
    to(transparent)
  );
  background: linear-gradient(to right, transparent 0%, #fff 10%, #fff 90%, transparent 100%);
}

@media print, screen and (max-width: 960px) {
  .f-com .f-com__txtinner {
    margin: auto;
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1260px) {
  .f-com .f-com__txtinner {
    padding: 0 45px 0 45px;
  }
}

@media print, screen and (min-width: 1261px) {
  .f-com .f-com__txtinner {
    padding: 0 45px 50px 45px;
  }
}

.f-com .f-com__txtinner .f-com__p {
  color: #565047;
}

@media print, screen and (min-width: 961px) {
  .f-com .f-com__txtinner .f-com__p p {
    font-size: 17px;
  }
}

@media print, screen and (max-width: 960px) {
  .f-com .f-com__txtinner .f-com__p {
    max-width: 80%;
    margin: auto;
  }
}

@media print, screen and (max-width: 1260px) {
  .f-com .f-com__txtinner .f-com__p {
    padding: 35px 0;
  }
}

@media print, screen and (min-width: 1261px) {
  .f-com .f-com__txtinner .f-com__p {
    padding: 50px 0;
  }
}

.p-facilities .f-com__h2 {
  position: relative;
  margin-top: -32px;
  overflow: hidden;
}

.p-facilities .f-com__h2 h2 {
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  padding: 3px 10px 3px 35px;
  position: relative;
  z-index: 1;
  color: #fff;
}

.p-facilities .f-com__h2 h2::before {
  content: "";
  width: 12em;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#357d1b),
    color-stop(40%, #357d1b),
    color-stop(80%, transparent),
    to(transparent)
  );
  background: linear-gradient(to right, #357d1b 0%, #357d1b 40%, transparent 80%, transparent 100%);
}

.p-facilities .f-com__tbl {
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  padding: 15px 0;
  text-align: center;
  margin-top: 25px;
}

.p-facilities .f-com__tbl p small {
  display: inline-block;
  margin-right: 10px;
}

@media print, screen and (max-width: 960px) {
  #facilities01,
  #facilities02,
  #facilities03,
  #facilities04,
  .f-parking {
    padding-bottom: 60px;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities01,
  #facilities04 {
    background-image: url(../images/facilities/fa_bg_img1.webp);
    background-repeat: no-repeat;
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1560px) {
  #facilities01,
  #facilities04 {
    background-size: 30% auto;
  }
}

@media print, screen and (min-width: 1561px) {
  #facilities01,
  #facilities04 {
    background-size: 547px;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities02,
  #facilities03,
  .f-parking {
    background-image: url(../images/facilities/fa_bg_img2.webp);
    background-repeat: no-repeat;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1560px) {
  #facilities02,
  #facilities03,
  .f-parking {
    background-size: 32% auto;
  }
}

@media print, screen and (min-width: 1561px) {
  #facilities02,
  #facilities03,
  .f-parking {
    background-size: 633px;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities01 {
    background-position: top left;
    padding-top: 120px;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities02 {
    background-position: top right;
    padding-top: 80px;
  }
}

#facilities02 .f-col2 {
  max-width: 1000px;
  margin: auto;
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (max-width: 767.9px) {
  #facilities02 .f-col2 li:first-of-type {
    margin-bottom: 50px;
  }
}

@media print, screen and (min-width: 768px) {
  #facilities02 .f-col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #facilities02 .f-col2 li {
    width: 50%;
  }
  #facilities02 .f-col2 li:first-of-type {
    background: -webkit-gradient(
      linear,
      left top,
      right top,
      from(transparent),
      color-stop(10%, #fff),
      color-stop(90%, #fff),
      to(#fff)
    );
    background: linear-gradient(to right, transparent 0%, #fff 10%, #fff 90%, #fff 100%);
  }
  #facilities02 .f-col2 li:nth-child(2) {
    background: -webkit-gradient(
      linear,
      left top,
      right top,
      from(#fff),
      color-stop(10%, #fff),
      color-stop(90%, #fff),
      to(transparent)
    );
    background: linear-gradient(to right, #fff 0%, #fff 10%, #fff 90%, transparent 100%);
  }
}

@media print, screen and (max-width: 767.9px) {
  #facilities02 .f-com__h2 h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  #facilities02 .f-com__h2 h2 {
    font-size: 32px;
    margin: auto;
  }
}

@media print, screen and (max-width: 767.9px) {
  #facilities02 .f-col2__p {
    max-width: 80%;
    margin: auto;
    padding: 35px 0;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1260px) {
  #facilities02 .f-col2__p {
    padding: 25px;
  }
}

@media print, screen and (min-width: 1261px) {
  #facilities02 .f-col2__p {
    padding: 25px 45px 50px 45px;
  }
}

@media print, screen and (max-width: 767.9px) {
  #facilities02 .f-col2__txt {
    max-width: 600px;
    margin: auto;
    background: -webkit-gradient(
      linear,
      left top,
      right top,
      from(transparent),
      color-stop(10%, #fff),
      color-stop(90%, #fff),
      to(transparent)
    );
    background: linear-gradient(to right, transparent 0%, #fff 10%, #fff 90%, transparent 100%);
  }
}

@media print, screen and (min-width: 961px) {
  #facilities03 {
    background-position: right 0 bottom -125px;
    padding: 120px 0;
  }
}

@media print, screen and (min-width: 561px) {
  #facilities03 .f-com__tbl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  #facilities03 .f-com__tbl p:not(:first-of-type) {
    margin-left: 15px;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities04 {
    background-position: top 35% left -120px;
  }
}

@media print, screen and (min-width: 961px) {
  .f-parking {
    background-position: right 0 top -125px;
    padding: 120px 0;
  }
}

.f-parking ul {
  max-width: 1000px;
  margin: auto;
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (min-width: 768px) {
  .f-parking ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .f-parking ul li {
    width: 50%;
  }
}

@media print, screen and (max-width: 767.9px) {
  .f-parking .f-com__h2 h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .f-parking .f-com__h2 h2 {
    font-size: 32px;
    margin: auto;
  }
}

@media print, screen and (max-width: 767.9px) {
  .f-parking .f-parking__p {
    max-width: 80%;
    margin: auto;
    padding: 35px 0;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1260px) {
  .f-parking .f-parking__p {
    padding: 35px 25px;
  }
}

@media print, screen and (min-width: 1261px) {
  .f-parking .f-parking__p {
    padding: 40px 0 50px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .f-parking .f-parking__txt {
    max-width: 600px;
    margin: auto;
    background: -webkit-gradient(
      linear,
      left top,
      right top,
      from(transparent),
      color-stop(10%, #fff),
      color-stop(90%, #fff),
      to(transparent)
    );
    background: linear-gradient(to right, transparent 0%, #fff 10%, #fff 90%, transparent 100%);
  }
}

@media print, screen and (min-width: 768px) {
  .f-parking .f-parking__txt {
    background-color: #fff;
    text-align: center;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1260px) {
  .f-parking .f-parking__txt {
    padding: 25px 0;
  }
}

@media print, screen and (min-width: 1261px) {
  .f-parking .f-parking__txt {
    padding: 1px 45px 0 45px;
  }
}

.f-parking .f-parking_link {
  width: 100%;
  max-width: 320px;
}

@media print, screen and (max-width: 767.9px) {
  .f-parking .f-parking_link {
    margin: 35px auto 0;
  }
}

@media print, screen and (min-width: 768px) {
  .f-parking .f-parking_link {
    margin: 50px auto 0;
  }
}

.f-parking .f-parking_link a {
  display: block;
  border: solid 1px #bcbcbc;
  padding: 12px 20px;
  font-family: "Shippori Mincho", serif;
}

@media print, screen and (max-width: 767.9px) {
  .f-parking .f-parking_link a {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .f-parking .f-parking_link a {
    font-size: 22px;
  }
}

.f-parking .f-parking_link a:hover span::before {
  right: -5px;
}

.f-parking .f-parking_link a span {
  display: block;
  position: relative;
  text-align: center;
}

.f-parking .f-parking_link a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

#facilities05 {
  background-image: url(../images/facilities/facilities05_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 50px 0;
  background-position: 0 0;
}

#facilities05 .f-spa {
  background-image: url(../images/facilities/facilities05_spa.webp);
  background-repeat: no-repeat;
  background-size: cover;
}

@media print, screen and (max-width: 767.9px) {
  #facilities05 .f-spa {
    background-position: 22% 0;
  }
}

@media print, screen and (min-width: 768px) {
  #facilities05 .f-spa .mainwrap {
    height: 760px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  #facilities05 .f-spa {
    background-position: 50% 0;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities05 .f-spa {
    background-position: 100% 0;
  }
}

#facilities05 .f-spa .mainwrap {
  position: relative;
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  #facilities05 .f-spa .mainwrap {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities05 .f-spa .mainwrap {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

#facilities05 .f-spa .f-spa__ttl {
  position: absolute;
  top: -80px;
  background-image: url(../images/facilities/facilities05_ttl.webp);
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 767.9px) {
  #facilities05 .f-spa .f-spa__ttl {
    padding: 45px 15px 50px;
    background-position: left bottom;
    background-size: cover;
    width: 210px;
  }
}

@media print, screen and (min-width: 768px) {
  #facilities05 .f-spa .f-spa__ttl {
    padding: 60px 20px 80px;
    background-position: 0 0;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  #facilities05 .f-spa .f-spa__ttl {
    right: 0;
    margin: auto;
    width: 220px;
  }
}

@media print, screen and (min-width: 561px) and (max-width: 1260px) {
  #facilities05 .f-spa .f-spa__ttl {
    left: 0;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities05 .f-spa .f-spa__ttl {
    right: 0;
    width: 280px;
  }
}

#facilities05 .f-spa .f-spa__ttl h2 {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

@media print, screen and (max-width: 960px) {
  #facilities05 .f-spa .f-spa__ttl h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities05 .f-spa .f-spa__ttl h2 {
    font-size: 40px;
  }
}

#facilities05 .f-spa .f-spa__inner {
  color: #fff;
  font-family: "Shippori Mincho", serif;
}

@media print, screen and (max-width: 767.9px) {
  #facilities05 .f-spa .f-spa__inner {
    padding: 230px 25px 10vh;
  }
  #facilities05 .f-spa .f-spa__inner table {
    margin: 35px 0;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  #facilities05 .f-spa .f-spa__inner {
    width: 70%;
    padding-bottom: 50px;
  }
  #facilities05 .f-spa .f-spa__inner table {
    margin: 35px 0;
  }
}

@media print, screen and (min-width: 961px) {
  #facilities05 .f-spa .f-spa__inner {
    margin-top: 30px;
    width: 55%;
  }
  #facilities05 .f-spa .f-spa__inner table {
    margin: 50px 0;
  }
}

#facilities05 .f-spa .f-spa__inner table tr:first-of-type th,
#facilities05 .f-spa .f-spa__inner table tr:first-of-type td {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
}

#facilities05 .f-spa .f-spa__inner table th,
#facilities05 .f-spa .f-spa__inner table td {
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

@media print, screen and (max-width: 767.9px) {
  #facilities05 .f-spa .f-spa__inner table th {
    width: 105px;
  }
}

@media print, screen and (min-width: 768px) {
  #facilities05 .f-spa .f-spa__inner table th {
    width: 130px;
  }
}

#facilities05 .f-spa .f-spa__txt {
  max-width: 370px;
}

@media print, screen and (min-width: 961px) {
  #facilities05 .f-spa .f-spa__txt {
    font-size: 18px;
  }
}

#facilities05 .f-spa__link {
  margin-top: 35px;
}

#facilities05 .f-spa__link a {
  display: block;
  border: solid 1px #bcbcbc;
  padding: 10px 20px;
  font-family: "Shippori Mincho", serif;
  max-width: 320px;
  color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  #facilities05 .f-spa__link a {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  #facilities05 .f-spa__link a {
    font-size: 22px;
  }
  #facilities05 .f-spa__link a:hover span::before {
    right: -5px;
  }
}

#facilities05 .f-spa__link a span {
  display: block;
  position: relative;
}

#facilities05 .f-spa__link a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

#faq {
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (max-width: 767.9px) {
  #faq {
    padding: 50px 25px;
  }
}

@media print, screen and (min-width: 768px) {
  #faq {
    padding: 80px 0;
  }
}

#faq .mainwrap {
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  #faq .p-com__link {
    margin-top: 60px;
  }
}

@media print, screen and (min-width: 768px) {
  #faq .p-com__link {
    margin-top: 120px;
  }
}

@media print, screen and (min-width: 768px) {
  .faq_ttl {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.faq_ttl h2 {
  position: relative;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767.9px) {
  .faq_ttl h2 {
    font-size: 30px;
    position: relative;
    text-align: center;
    margin-bottom: 35px;
  }
}

@media print, screen and (min-width: 768px) {
  .faq_ttl h2 {
    font-size: 44px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    width: 66px;
    height: 360px;
  }
  .faq_ttl h2:before {
    content: "";
    position: absolute;
    background-color: rgba(0, 0, 0, 0.4);
    width: 1px;
    height: 520px;
    top: 100%;
    left: 50%;
  }
}

.faq_wrap {
  margin: auto;
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .faq_wrap {
    max-width: 75%;
  }
}

@media print, screen and (min-width: 1161px) {
  .faq_wrap {
    max-width: 900px;
  }
}

.faq_wrap li {
  border-bottom: 1px solid #bfbfbf;
}

.faq_wrap li:first-of-type {
  border-top: 1px solid #bfbfbf;
}

.faq_wrap .sd_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  padding: 15px 35px 15px 0;
  position: relative;
}

.faq_wrap .sd_ttl.on::before {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
}

.faq_wrap .sd_ttl::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: 1px solid #357d1b;
  border-right: 1px solid #357d1b;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media print, screen and (min-width: 768px) {
  .faq_wrap .sd_ttl dt,
  .faq_wrap .sd_ttl dd {
    font-size: 18px;
  }
}

.faq_wrap .sd_ttl dt {
  color: #357d1b;
  width: 35px;
}

.faq_wrap .sd_ttl dd {
  width: calc(100% - 35px);
}

.faq_wrap .sd_content {
  color: #357d1b;
}

@media print, screen and (max-width: 767.9px) {
  .faq_wrap .sd_content {
    padding: 0 30px 15px 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .faq_wrap .sd_content {
    padding: 0 60px 15px 60px;
  }
}

/* access --
--------------------------------------------------------------　*/
.a-map .com-page__link {
  background-image: url(../images/common/navi_bg.webp);
  background-repeat: repeat;
  background-position: 0 0;
}

.a-map .gmap iframe {
  vertical-align: bottom;
}

#access {
  text-align: center;
  padding: 40px 0;
}

#access h2 {
  font-family: "Shippori Mincho", serif;
  color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  #access h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  #access h2 {
    font-size: 44px;
  }
}

.a-car,
.a-other {
  background-position: 0 0;
}

@media print, screen and (max-width: 767.9px) {
  .a-car,
  .a-other {
    padding: 50px 25px 70px;
  }
}

@media print, screen and (min-width: 768px) {
  .a-car,
  .a-other {
    padding: 70px 0 120px;
    background-repeat: no-repeat;
    background-size: cover;
  }
}

@media print, screen and (max-width: 767.9px) {
  .a-car {
    background-image: url(../images/sp/guide/access_sp.webp);
    background-repeat: repeat;
    background-size: 100% auto;
  }
}

@media print, screen and (min-width: 768px) {
  .a-car {
    background-image: url(../images/guide/map_bg1.webp);
  }
}

.a-car .a-wrap__route {
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (min-width: 768px) {
  .a-car .a-wrap__route > div {
    width: 32%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media print, screen and (max-width: 767.9px) {
  .a-car .a-wrap__route > div {
    margin-bottom: 65px;
  }
}

.a-car .a-wrap__route p {
  padding: 15px 0 20px;
  border-top: solid 1px #fff;
  margin-top: 10px;
}

@media print, screen and (min-width: 961px) {
  .a-car .a-wrap__route p {
    font-size: 18px;
  }
  .a-car .a-wrap__route p small {
    font-size: 16px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .a-car .a-wrap .a-wrap__logo {
    padding: 20px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .a-car .a-wrap__main {
    padding: 25px 25px 50px;
  }
}

@media print, screen and (min-width: 768px) {
  .a-car .a-wrap__main {
    padding: 30px 30px 60px;
  }
}

.a-car .a-wrap__main .pc_logo {
  text-align: center;
  margin-bottom: 35px;
}

.a-car .a-wrap__main .a-wrap__data {
  font-family: "Shippori Mincho B1", serif;
  color: #fff;
}

@media print, screen and (max-width: 961px) {
  .a-car .a-wrap__main .a-wrap__data li:first-of-type {
    margin-bottom: 35px;
  }
  .a-car .a-wrap__main .a-wrap__data li:first-of-type iframe {
    height: 300px;
  }
}

@media print, screen and (min-width: 961px) {
  .a-car .a-wrap__main .a-wrap__data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .a-car .a-wrap__main .a-wrap__data li:first-of-type {
    width: 55%;
  }
  .a-car .a-wrap__main .a-wrap__data li:nth-child(2) {
    width: 40%;
  }
}

.a-car .a-wrap__main .a-wrap__data p {
  margin-top: 2em;
  letter-spacing: 0;
}

.a-car .a-wrap__main .a-wrap__data caption {
  margin-bottom: 0.5em;
}

@media print, screen and (max-width: 767.9px) {
  .a-car .a-wrap__main .a-wrap__data caption {
    font-size: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .a-car .a-wrap__main .a-wrap__data caption {
    font-size: 28px;
  }
}

.a-car .a-wrap__main .a-wrap__data tr:first-of-type th,
.a-car .a-wrap__main .a-wrap__data tr:first-of-type td {
  border-top: 1px solid #fff;
}

.a-car .a-wrap__main .a-wrap__data th,
.a-car .a-wrap__main .a-wrap__data td {
  padding: 10px;
  border-bottom: 1px solid #fff;
}

.a-car .a-wrap__main .a-wrap__data th span,
.a-car .a-wrap__main .a-wrap__data td span {
  font-size: 20px;
}

@media print, screen and (max-width: 767.9px) {
  .a-car .a-wrap__main .a-wrap__data th {
    width: 90px;
  }
}

.a-car .a-wrap__main .a-wrap__data td {
  vertical-align: middle;
}

.a-car .a-wrap__parking {
  background-image: url(../images/guide/root1b_bg.webp);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  font-family: "Shippori Mincho B1", serif;
}

.a-car .a-wrap__parking h3 {
  padding: 25px;
}

.a-car .a-wrap__parking h3 span {
  display: inline-block;
  background-image: url(../images/guide/car.webp);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 73px;
  padding-left: 90px;
}

@media print, screen and (max-width: 767.9px) {
  .a-car .a-wrap__parking h3 {
    font-size: 20px;
  }
}

@media print, screen and (min-width: 768px) {
  .a-car .a-wrap__parking h3 {
    font-size: 26px;
  }
}

.a-car .a-wrap__parking .parking_slider {
  overflow: hidden;
  padding-bottom: 25px;
}

@media print, screen and (max-width: 560px) {
  .a-car .a-wrap__parking .parking_slider .parking_slider-inner {
    margin: 0 25px;
  }
}

@media print, screen and (min-width: 561px) {
  .a-car .a-wrap__parking .parking_slider {
    padding-right: 22vw;
  }
  .a-car .a-wrap__parking .parking_slider .parking_slider-inner {
    margin-left: 25px;
  }
  .a-car .a-wrap__parking .parking_slider .slick-next {
    right: -22vw;
  }
  .a-car .a-wrap__parking .parking_slider .slick-list {
    overflow: visible;
  }
  .a-car .a-wrap__parking .parking_slider .slick-slide {
    margin: 5px;
  }
}

.a-car .a-wrap__parking .parking_slider .slick-prev,
.a-car .a-wrap__parking .parking_slider .slick-next {
  top: 40%;
}

.a-car .a-wrap__parking .parking_img iframe {
  pointer-events: none;
}

@media print, screen and (max-width: 767.9px) {
  .a-car .a-wrap__parking .parking_img iframe {
    height: 300px;
  }
}

.a-car .a-wrap__parking .parking_img p {
  text-align: center;
  background-color: #778e6c;
  border-radius: 50%;
  margin: 5px auto;
}

@media print, screen and (max-width: 767.9px) {
  .a-car .a-wrap__parking .parking_img p {
    width: 40px;
    height: 40px;
  }
  .a-car .a-wrap__parking .parking_img p span {
    font-size: 22px;
  }
}

@media print, screen and (min-width: 768px) {
  .a-car .a-wrap__parking .parking_img p {
    width: 48px;
    height: 48px;
  }
  .a-car .a-wrap__parking .parking_img p span {
    font-size: 28px;
  }
}

.a-car .a-wrap__parking .parking_img p span {
  display: inline-block;
  color: #fff;
}

.a-car .a-wrap__parking .parking_txt {
  text-align: center;
  padding: 10px 0;
}

.a-other {
  background-image: url(../images/guide/map_bg2.webp);
}

.a-other .a-wrap__logo {
  text-align: center;
  padding: 20px;
  border: solid 1px #fff;
}

@media print, screen and (max-width: 767.9px) {
  .a-other .train {
    margin-bottom: 65px;
  }
}

.a-other .train .route_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.a-other .train .route_link a {
  width: 48%;
}

@media print, screen and (max-width: 767.9px) {
  .a-other .bus .route_img {
    padding-left: 10%;
  }
}

@media print, screen and (min-width: 768px) {
  .a-other .bus .route_img {
    text-align: right;
  }
}

.a-other .route_link {
  padding: 20px 0;
  margin-bottom: 20px;
  border-bottom: solid 1px #fff;
}

.a-other .route_link a {
  display: block;
  border: solid 1px #fff;
  padding: 10px 20px;
  font-family: "Shippori Mincho", serif;
  max-width: 312px;
  margin: auto;
  color: #fff;
}

@media print, screen and (min-width: 961px) {
  .a-other .route_link a {
    font-size: 22px;
  }
}

@media print, screen and (min-width: 768px) {
  .a-other .route_link a:hover span::before {
    right: -5px;
  }
}

.a-other .route_link a span {
  display: block;
  position: relative;
}

.a-other .route_link a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .a-other .train {
    width: 60%;
  }
  .a-other .bus {
    width: 38%;
  }
}

@media print, screen and (min-width: 961px) {
  .a-other .train {
    width: 65%;
  }
  .a-other .bus {
    width: 32%;
  }
}

@media print, screen and (min-width: 1161px) and (max-width: 1360px) {
  .a-wrap {
    padding-right: 50px;
  }
}

@media print, screen and (min-width: 1161px) {
  .a-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .a-wrap .a-wrap__ttl {
    width: 66px;
  }
  .a-wrap .a-wrap__route {
    width: calc(100% - 85px);
  }
}

.a-wrap .a-wrap__route {
  text-align: center;
}

.a-wrap .a-wrap__route h3 {
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (max-width: 960px) {
  .a-wrap .a-wrap__route h3 {
    font-size: 24px;
  }
}

@media print, screen and (min-width: 961px) {
  .a-wrap .a-wrap__route h3 {
    font-size: 30px;
  }
}

@media print, screen and (max-width: 1160px) {
  .a-wrap .a-wrap__ttl {
    text-align: center;
    margin-bottom: 35px;
  }
}

.a-wrap .a-wrap__ttl h2 {
  font-family: "Shippori Mincho B1", serif;
  color: #fff;
  letter-spacing: 0.15em;
}

@media print, screen and (max-width: 767.9px) {
  .a-wrap .a-wrap__ttl h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .a-wrap .a-wrap__ttl h2 {
    font-size: 44px;
  }
}

@media print, screen and (min-width: 1161px) {
  .a-wrap .a-wrap__ttl h2 {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}

.a-wrap .a-wrap__route {
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .a-wrap .a-wrap__route {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.a-wrap__logo {
  border: solid 1px #fff;
}

#sightseeing {
  background-image: url(../images/guide/gold.webp);
  background-repeat: repeat;
  background-position: 50% 0;
  font-family: "Shippori Mincho B1", serif;
}

#sightseeing .sightseeing__inner {
  background-image: url(../images/guide/gold_gd.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 0;
}

#sightseeing .sightseeing__point {
  background-image: url(../images/common/bg_point05.webp), url(../images/common/bg_point05.webp),
    url(../images/common/bg_point05.webp), url(../images/common/bg_point05.webp);
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 767.9px) {
  #sightseeing .sightseeing__point {
    padding: 55px 25px;
    background-size: 60% auto;
    background-position: right -50px top 0, left 0 top 50%, right -50px top 80%, left 0 bottom 0;
  }
}

@media print, screen and (min-width: 768px) {
  #sightseeing .sightseeing__point {
    padding: 70px 0;
    background-position: right -50px top 10%, left 0 top 50%, right -50px top 80%, left 0 bottom 0;
  }
}

#sightseeing .a-info {
  overflow: hidden;
  padding-bottom: 30px;
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  #sightseeing .a-info .a-info__map {
    max-width: 70%;
    margin: 35px auto;
  }
}

@media print, screen and (min-width: 961px) {
  #sightseeing .a-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  #sightseeing .a-info .a-info__txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1160px) {
  #sightseeing .a-info .a-info__txt,
  #sightseeing .a-info .a-info__map {
    width: 45%;
  }
}

@media print, screen and (max-width: 1160px) {
  #sightseeing .a-info .br_pc {
    display: none;
  }
}

@media print, screen and (min-width: 1161px) {
  #sightseeing .a-info {
    height: 570px;
  }
  #sightseeing .a-info .a-info__map {
    display: none;
  }
  #sightseeing .a-info .a-info__txt {
    width: calc(100% - 90px);
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  #sightseeing .a-info__ttl {
    width: 100%;
  }
}

@media print, screen and (min-width: 961px) {
  #sightseeing .a-info__ttl {
    width: 90px;
  }
}

#sightseeing .a-info__ttl h2 {
  position: relative;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 960px) {
  #sightseeing .a-info__ttl h2 {
    margin-bottom: 15px;
    padding-bottom: 7px;
  }
}

#sightseeing .a-info__ttl h2:before {
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.4);
}

@media print, screen and (max-width: 767.9px) {
  #sightseeing .a-info__ttl h2 {
    font-size: 30px;
    position: relative;
    text-align: center;
    margin-bottom: 35px;
  }
}

@media print, screen and (min-width: 768px) {
  #sightseeing .a-info__ttl h2 {
    font-size: 44px;
  }
}

@media print, screen and (max-width: 960px) {
  #sightseeing .a-info__ttl h2:before {
    width: 99em;
    height: 1px;
    bottom: 0;
    left: 0;
  }
}

@media print, screen and (min-width: 961px) {
  #sightseeing .a-info__ttl h2 {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    line-height: 1;
    width: 48px;
    height: 320px;
  }
  #sightseeing .a-info__ttl h2:before {
    width: 1px;
    height: 99em;
    top: 100%;
    left: 50%;
  }
}

#sightseeing .s-img {
  padding: 0 10px;
}

#sightseeing .a-info__txt {
  font-weight: 600;
}

@media print, screen and (max-width: 767.9px) {
  #sightseeing .a-info__txt {
    margin-bottom: 35px;
  }
}

@media print, screen and (min-width: 1161px) {
  #sightseeing .a-info__txt {
    background-image: url(../images/guide/access_map.webp);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 98%;
  }
}

#sightseeing .a-sightseeing__txt {
  background-color: #fff;
  padding: 20px;
}

#sightseeing .a-sightseeing__txt .textarea {
  padding-bottom: 15px;
}

#sightseeing .a-sightseeing__txt .s-time {
  font-size: 18px;
  text-align: center;
  padding: 15px 0;
  border-top: solid 1px rgba(0, 0, 0, 0.4);
}

#sightseeing .plan_link {
  width: 100%;
  max-width: 260px;
  margin: auto;
}

#sightseeing .plan_link a {
  background-color: #efeadc;
}

@media print, screen and (min-width: 768px) {
  #sightseeing .a-sightseeing__btm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #sightseeing .a-sightseeing__btm .s-img_btm {
    width: 60%;
  }
  #sightseeing .a-sightseeing__btm .s-img_btm .ta_pcview {
    width: 100%;
    height: 520px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
  }
  #sightseeing .a-sightseeing__btm .a-sightseeing__txt {
    width: 40%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

#sightseeing .a-sightseeing__btm .textarea {
  width: 80%;
  max-width: 285px;
  margin: auto;
}

#sightseeing .a-sightseeing__btm .s-ttl {
  text-align: center;
  font-size: 22px;
}

@media print, screen and (min-width: 768px) {
  #sightseeing .a-sightseeing__btm .s-ttl {
    margin-top: 2em;
    margin-bottom: 1.5em;
  }
}

#sightseeing .p-com__link {
  margin-top: 70px;
}

.a-sightseeing {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.a-sightseeing li {
  margin-bottom: 5%;
}

@media print, screen and (min-width: 561px) and (max-width: 960px) {
  .a-sightseeing li {
    width: 48%;
    margin-right: 4%;
  }
  .a-sightseeing li:nth-child(2n) {
    margin-right: 0;
  }
}

@media print, screen and (min-width: 961px) {
  .a-sightseeing li {
    width: 32%;
    margin-right: 2%;
  }
  .a-sightseeing li:nth-child(3n) {
    margin-right: 0;
  }
}

.a-sightseeing li:nth-child(odd) .a-sightseeing__img::before {
  background-image: url(../images/guide/box_bg1.webp);
}

.a-sightseeing li:nth-child(even) .a-sightseeing__img::before {
  background-image: url(../images/guide/box_bg2.webp);
}

.a-sightseeing .s-inner {
  position: relative;
}

.a-sightseeing .a-sightseeing__img {
  text-align: center;
  position: relative;
}

.a-sightseeing .a-sightseeing__img::before {
  content: "";
  width: 100%;
  height: 60%;
  position: absolute;
  left: 0;
  bottom: 0;
  background-repeat: no-repeat;
  background-position: center center;
}

.a-sightseeing .a-sightseeing__ttl {
  color: #fff;
  font-size: 22px;
  padding: 18px 0 15px;
}

/* meal --
--------------------------------------------------------------　*/
@media print, screen and (min-width: 961px) {
  .m-greeting {
    background-image: url(../images/meal/food_img-01.webp), url(../images/meal/food_img-02.webp);
    background-repeat: no-repeat;
    background-position: 0 0, 100% 0;
  }
}

.m-greeting .m-greeting__wrap {
  background-repeat: no-repeat;
  background-position: 50% 0;
  margin: auto;
  padding: 100px 0;
  background-image: url(../images/meal/food_img-03.webp);
  background-size: cover;
  background-position: 100% 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

@media print, screen and (min-width: 961px) and (max-width: 1560px) {
  .m-greeting .m-greeting__wrap {
    width: 52%;
  }
}

@media print, screen and (min-width: 1561px) and (max-width: 1920px) {
  .m-greeting .m-greeting__wrap {
    max-width: 1000px;
  }
}

@media print, screen and (min-width: 1921px) {
  .m-greeting .m-greeting__wrap {
    max-width: calc(100% - 920px);
  }
}

.m-greeting .m-greeting__wrap::before {
  background-color: rgba(0, 0, 0, 0.65);
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.m-greeting .m-greeting__wrap h2,
.m-greeting .m-greeting__wrap p {
  font-family: "Shippori Mincho B1", serif;
  color: #fff;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .m-greeting .m-greeting__wrap h2 {
    font-size: 30px;
    margin-left: 15px;
  }
  .m-greeting .m-greeting__wrap p {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-greeting .m-greeting__wrap h2 {
    font-size: 36px;
    margin-left: 30px;
    letter-spacing: 0.15em;
  }
  .m-greeting .m-greeting__wrap p {
    line-height: 3;
  }
}

.m-kawara {
  position: relative;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-kawara .mainwrap {
    max-width: 100%;
  }
}

@media print, screen and (max-width: 960px) {
  .m-kawara {
    background-color: #516024;
  }
}

@media print, screen and (min-width: 961px) {
  .m-kawara {
    background-image: url(../images/meal/food_img_11.webp);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: 0 50%;
    padding-top: 100px;
  }
  .m-kawara::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 80%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(50%, #516024), to(#516024));
    background: linear-gradient(to right, transparent 0%, #516024 50%, #516024 100%);
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1560px) {
  .m-kawara {
    height: 650px;
    padding-right: 50px;
  }
}

@media print, screen and (min-width: 1561px) {
  .m-kawara {
    height: 800px;
  }
}

@media print, screen and (max-width: 960px) {
  .m-kawara .m-kawara__img {
    position: relative;
    background: linear-gradient(180deg, transparent 0%, transparent 120px, #516024 120px, #516024 100%);
    padding-bottom: 30px;
  }
  .m-kawara .m-kawara__img img {
    width: 100%;
  }
  .m-kawara .m-kawara__img::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    height: 150px;
    width: 100%;
    background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(transparent),
      color-stop(70%, #516024),
      to(#516024)
    );
    background: linear-gradient(to bottom, transparent 0%, #516024 70%, #516024 100%);
  }
}

.m-kawara .m-kawara__txt {
  color: #fff;
  font-family: "Shippori Mincho", serif;
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .m-kawara .m-kawara__txt {
    padding: 0 25px 50px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-kawara .m-kawara__txt {
    padding: 50px 30px 50px;
    margin: auto;
  }
}

@media print, screen and (min-width: 768px) {
  .m-kawara .m-kawara__txt {
    z-index: 1;
    margin-left: auto;
    width: 686px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}

.m-kawara .m-kawara__txt h2 {
  letter-spacing: 0.1em;
  padding-bottom: 7px;
}

@media print, screen and (max-width: 767.9px) {
  .m-kawara .m-kawara__txt h2 {
    font-size: 30px;
    max-width: 400px;
    margin: 0 auto 30px;
    position: relative;
    padding-bottom: 7px;
  }
  .m-kawara .m-kawara__txt h2:before {
    content: "";
    position: absolute;
    background-color: rgba(255, 255, 255, 0.4);
    width: 99em;
    height: 1px;
    bottom: 0;
    left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .m-kawara .m-kawara__txt h2 {
    font-size: 44px;
    margin-left: 60px;
    height: 350px;
  }
  .m-kawara .m-kawara__txt h2 span {
    display: inline-block;
    position: relative;
    padding-bottom: 10px;
  }
  .m-kawara .m-kawara__txt h2 span:before {
    content: "";
    position: absolute;
    background-color: rgba(255, 255, 255, 0.4);
    width: 1px;
    height: 99em;
    top: 100%;
    left: 50%;
  }
}

@media print, screen and (min-width: 768px) {
  .m-kawara .m-kawara__txt .txt {
    height: 450px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .m-kawara .m-kawara__txt p {
    line-height: 2.5;
    font-size: 16px;
    max-width: 400px;
    margin: auto;
    position: relative;
  }
}

@media print, screen and (min-width: 768px) {
  .m-kawara .m-kawara__txt p {
    line-height: 2.8;
    font-size: 20px;
  }
}

#sticky__nav {
  position: fixed;
  top: 20%;
  left: 0;
  background-color: rgba(255, 255, 255, 0.7);
  -webkit-box-shadow: 2px 0px 8.7px 1.3px rgba(0, 0, 0, 0.17);
  box-shadow: 2px 0px 8.7px 1.3px rgba(0, 0, 0, 0.17);
  text-align: center;
  -webkit-transition: opacity 1s, visibility 1s;
  transition: opacity 1s, visibility 1s;
  opacity: 0;
  visibility: hidden;
}

@media print, screen and (max-width: 767.9px) {
  #sticky__nav {
    width: 45px;
    padding: 20px 10px;
  }
}

@media print, screen and (min-width: 768px) {
  #sticky__nav {
    width: 64px;
    padding: 20px 15px;
  }
}

#sticky__nav.is-in {
  opacity: 1;
  visibility: visible;
  z-index: 3;
}

#sticky__nav li:not(:last-of-type) {
  margin-bottom: 15px;
}

.m-pagelink {
  background-image: url(../images/meal/food_img_2.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  overflow: hidden;
}

@media print, screen and (max-width: 767.9px) {
  .m-pagelink {
    padding: 55px 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-pagelink {
    padding: 75px 25px 145px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-pagelink .m-pagelink__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .m-pagelink .m-pagelink__inner h2,
  .m-pagelink .m-pagelink__inner .m-pagelink__list {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}

.m-pagelink .m-pagelink__inner h2,
.m-pagelink .m-pagelink__inner .m-pagelink__list {
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (max-width: 960px) {
  .m-pagelink .m-pagelink__inner h2 {
    font-size: 30px;
  }
  .m-pagelink .m-pagelink__inner h2 span {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 961px) {
  .m-pagelink .m-pagelink__inner h2 {
    font-size: 44px;
  }
  .m-pagelink .m-pagelink__inner h2 span {
    font-size: 24px;
  }
}

.m-pagelink .m-pagelink__inner h2 span {
  display: inline-block;
  padding: 10px 0;
}

@media print, screen and (max-width: 767.9px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list {
    padding-top: 15px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list {
    padding-top: 30px;
  }
}

@media print, screen and (max-width: 960px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a {
    background-size: 25px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list li {
    margin-right: 5px;
  }
}

@media print, screen and (min-width: 961px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list li {
    margin-right: 20px;
  }
  .m-pagelink .m-pagelink__inner .m-pagelink__list li.meal01 a,
  .m-pagelink .m-pagelink__inner .m-pagelink__list li.meal04 a {
    background-size: 44px;
  }
  .m-pagelink .m-pagelink__inner .m-pagelink__list li.meal03 a,
  .m-pagelink .m-pagelink__inner .m-pagelink__list li.meal07 a {
    background-size: 45px;
  }
  .m-pagelink .m-pagelink__inner .m-pagelink__list li.meal02 a,
  .m-pagelink .m-pagelink__inner .m-pagelink__list li.meal05 a {
    background-size: 48px;
  }
  .m-pagelink .m-pagelink__inner .m-pagelink__list li.meal06 a {
    background-size: 43px;
  }
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li.meal01 a {
  background-image: url(../images/meal/food_icon_1.webp);
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li.meal02 a {
  background-image: url(../images/meal/food_icon_6.webp);
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li.meal03 a {
  background-image: url(../images/meal/food_icon_7.webp);
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li.meal04 a {
  background-image: url(../images/meal/food_icon_3.webp);
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li.meal05 a {
  background-image: url(../images/meal/food_icon_4.webp);
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li.meal06 a {
  background-image: url(../images/meal/food_icon_2.webp);
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li.meal07 a {
  background-image: url(../images/meal/food_icon_5.webp);
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li a {
  display: block;
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 767.9px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a {
    padding: 5px 5px 5px 35px;
    background-position: left center;
  }
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a span {
    margin-left: 10px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a {
    background-position: center top;
  }
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a span {
    margin-top: 10px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a {
    padding: 35px 15px 15px;
  }
}

@media print, screen and (max-width: 960px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a {
    font-size: 20px;
  }
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a span {
    font-size: 13px;
  }
}

@media print, screen and (min-width: 961px) {
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a {
    font-size: 26px;
    padding: 65px 15px 15px;
  }
  .m-pagelink .m-pagelink__inner .m-pagelink__list li a span {
    font-size: 20px;
  }
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li a span {
  display: inline-block;
  color: #fff;
  border-radius: 4px;
  padding: 5px;
  line-height: 1;
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li a span.win {
  background-color: #45587e;
}

.m-pagelink .m-pagelink__inner .m-pagelink__list li a span.sum {
  background-color: #6a998a;
}

.m-fuku {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 53% 50%;
}

@media print, screen and (max-width: 767.9px) {
  .m-fuku {
    background-image: url(../images/sp/meal/food_img_3.webp);
    padding: 60px 25px 25px 60px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-fuku {
    padding: 120px 0;
    background-image: url(../images/meal/food_img_3.webp);
  }
}

.m-fuku .m-fuku__inner {
  font-family: "Shippori Mincho B1", serif;
  color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  .m-fuku .m-fuku__inner h2 {
    font-size: 35px;
    margin-bottom: 30px;
  }
  .m-fuku .m-fuku__inner p {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-fuku .m-fuku__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .m-fuku .m-fuku__inner h2,
  .m-fuku .m-fuku__inner p {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1160px) {
  .m-fuku .m-fuku__inner h2 {
    font-size: 45px;
    margin-left: 40px;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-fuku .m-fuku__inner h2 {
    font-size: 56px;
    margin-left: 50px;
  }
  .m-fuku .m-fuku__inner p {
    font-size: 20px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1360px) {
  .m-fuku .m-fuku__inner {
    padding-left: 50px;
  }
}

.m-fuku .m-fuku__inner p {
  line-height: 2.2;
}

.p-meal .meal_h3 h3 {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho B1", serif;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media print, screen and (min-width: 768px) and (max-width: 1460px) {
  .p-meal .meal_h3 h3 {
    font-size: 28px;
  }
}

@media print, screen and (min-width: 1461px) {
  .p-meal .meal_h3 h3 {
    font-size: 36px;
  }
}

.p-meal .meal_h3 h3 span {
  display: block;
  margin-left: 5px;
}

@media print, screen and (min-width: 768px) {
  .p-meal .meal_h3 h3 span {
    padding: 35px 5px;
  }
}

.p-meal .meal_txt {
  font-family: "Shippori Mincho B1", serif;
}

.p-meal .meal_txt p {
  line-height: 2.2;
}

.p-meal .meal_menu {
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (max-width: 960px) {
  .p-meal .meal_menu {
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
    margin: auto;
  }
}

.p-meal .meal_menu h4 {
  font-weight: 600;
  font-size: 20px;
}

.p-meal .meal_menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 310px;
  margin: 15px 0;
}

.p-meal .meal_menu ul li {
  width: 32%;
  margin-right: 2%;
  padding: 5px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

@media print, screen and (min-width: 1461px) {
  .p-meal .meal_menu ul li {
    font-size: 17px;
  }
}

.p-meal .meal_menu ul li:nth-child(3n) {
  margin-right: 0;
}

.p-meal .meal_menu p {
  font-size: 12px;
}

.p-meal .more_btn {
  margin-top: 40px;
}

.m-fukucourse {
  background-image: url(../images/meal/food_img_4.webp);
  background-repeat: no-repeat;
  background-size: cover;
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse {
    background-color: #000;
    padding: 30px 15px 100px 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-fukucourse {
    padding: 50px 65px 50px 0;
  }
}

@media print, screen and (max-width: 960px) {
  .m-fukucourse {
    background-position: 62% 50%;
  }
}

@media print, screen and (min-width: 961px) {
  .m-fukucourse {
    background-position: 50% 50%;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1260px) {
  .m-fukucourse .mainwrap {
    height: 450px;
  }
}

@media print, screen and (min-width: 1261px) {
  .m-fukucourse .mainwrap {
    height: 620px;
  }
}

.m-fukucourse .mainwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media print, screen and (min-width: 1261px) {
  .m-fukucourse .mainwrap {
    position: relative;
  }
  .m-fukucourse .mainwrap::before {
    content: "";
    background-image: url(../images/meal/food_imgicon_4.webp);
    background-repeat: no-repeat;
    background-size: cover;
    width: 236px;
    height: 205px;
    position: absolute;
    bottom: 25px;
    right: -145px;
  }
}

.m-fukucourse .m-fukucourse__ttl {
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse .m-fukucourse__ttl h2,
  .m-fukucourse .m-fukucourse__ttl p {
    text-shadow: 0px 2px 5px #000;
  }
}

.m-fukucourse .m-fukucourse__ttl h2 {
  letter-spacing: 0.15em;
}

.m-fukucourse .m-fukucourse__ttl h2 span {
  display: inline-block;
  position: relative;
  padding-bottom: 15px;
}

.m-fukucourse .m-fukucourse__ttl h2 span::before {
  content: "";
  position: absolute;
  background-color: rgba(255, 255, 255, 0.4);
  width: 1px;
  height: 260px;
  top: 100%;
  left: 50%;
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse .m-fukucourse__ttl h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-fukucourse .m-fukucourse__ttl h2 {
    font-size: 44px;
  }
}

.m-fukucourse .m-fukucourse__ttl p {
  display: inline-block;
  border: solid 1px rgba(255, 255, 255, 0.4);
  padding: 18px 3px;
  letter-spacing: 3px;
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse .m-fukucourse__ttl p {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-fukucourse .m-fukucourse__ttl p {
    font-size: 23px;
  }
}

.m-fukucourse .m-fukucourse__ttl p span {
  text-orientation: upright;
}

.m-gourmetcourse .gourmetcourse_img {
  background-image: url(../images/meal/food_img_9.webp);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

@media print, screen and (max-width: 767.9px) {
  .m-gourmetcourse .gourmetcourse_img {
    background-color: #000;
    padding: 30px 15px 100px 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-gourmetcourse .gourmetcourse_img {
    padding: 50px 65px 50px 0;
  }
}

@media print, screen and (max-width: 960px) {
  .m-gourmetcourse .gourmetcourse_img {
    background-position: 68% 50%;
  }
}

@media print, screen and (min-width: 961px) {
  .m-gourmetcourse .gourmetcourse_img {
    background-position: 58% 50%;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1260px) {
  .m-gourmetcourse .gourmetcourse_img .mainwrap {
    height: 520px;
  }
}

@media print, screen and (min-width: 1261px) {
  .m-gourmetcourse .gourmetcourse_img .mainwrap {
    height: 720px;
  }
}

.m-gourmetcourse .gourmetcourse_img .mainwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media print, screen and (min-width: 1261px) {
  .m-gourmetcourse .gourmetcourse_img .mainwrap {
    position: relative;
  }
  .m-gourmetcourse .gourmetcourse_img .mainwrap::before {
    content: "";
    background-image: url(../images/meal/food_imgicon_9.webp);
    background-repeat: no-repeat;
    background-size: cover;
    width: 205px;
    height: 205px;
    position: absolute;
    bottom: 25px;
    right: -145px;
  }
}

.m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl {
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

@media print, screen and (max-width: 767.9px) {
  .m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl h2,
  .m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl p {
    text-shadow: 0px 2px 5px #000;
  }
}

.m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl h2 {
  letter-spacing: 0.15em;
}

.m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl h2 span {
  display: inline-block;
  position: relative;
  padding-bottom: 15px;
}

.m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl h2 span::before {
  content: "";
  position: absolute;
  background-color: rgba(255, 255, 255, 0.4);
  width: 1px;
  height: 260px;
  top: 100%;
  left: 50%;
}

@media print, screen and (max-width: 767.9px) {
  .m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl h2 {
    font-size: 44px;
  }
}

.m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl p {
  display: inline-block;
  border: solid 1px rgba(255, 255, 255, 0.4);
  padding: 18px 3px;
  letter-spacing: 3px;
}

@media print, screen and (max-width: 767.9px) {
  .m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl p {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl p {
    font-size: 23px;
  }
}

.m-gourmetcourse .gourmetcourse_img .m-gourmetcourse__ttl p span {
  text-orientation: upright;
}

.m-fukucourse__menu {
  background-image: url(../images/meal/food_bgimg_4.webp);
  background-repeat: no-repeat;
  background-position: right 0 top 30px;
}

@media print, screen and (max-width: 1160px) {
  .m-fukucourse__menu {
    background-size: 60%;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-fukucourse__menu {
    background-size: 560px;
  }
}

@media print, screen and (min-width: 961px) {
  .m-fukucourse__menu .fukucourse__menu-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .m-fukucourse__menu .fukucourse_img,
  .m-fukucourse__menu .fukucourse_txt {
    width: 50%;
  }
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse__menu .meal_h3 {
    width: 105px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-fukucourse__menu .meal_h3 {
    width: 138px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse__menu .meal_h3 h3 {
    font-size: 25px;
  }
}

.m-fukucourse__menu .meal_h3 h3 span {
  background-color: rgba(73, 131, 168, 0.8);
}

.m-fukucourse__menu .meal_h3 h3 span:nth-child(1) {
  padding: 15px 5px 25px;
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse__menu .meal_h3 h3 span:nth-child(2) {
    margin-top: 100px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-fukucourse__menu .meal_h3 h3 span:nth-child(2) {
    margin-top: 185px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse__menu .meal_h3 h3 span {
    padding: 35px 5px;
  }
}

.m-fukucourse__menu .fukucourse_img {
  margin-top: 40px;
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-fukucourse__menu .fukucourse_img {
    max-width: 70%;
    margin: 70px auto 0;
  }
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse__menu .meal_txt {
    width: calc(100% - 105px);
    font-size: 13px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-fukucourse__menu .meal_txt {
    width: calc(100% - 160px);
  }
}

@media print, screen and (max-width: 960px) {
  .m-fukucourse__menu .meal_txt {
    padding: 15px 25px;
  }
}

@media print, screen and (min-width: 961px) {
  .m-fukucourse__menu .meal_txt {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1160px) {
  .m-fukucourse__menu .meal_txt {
    max-height: 350px;
    padding: 40px 40px 30px 30px;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-fukucourse__menu .meal_txt {
    max-height: 415px;
    padding: 60px 50px 30px 30px;
  }
  .m-fukucourse__menu .meal_txt p {
    font-size: 20px;
  }
}

.m-fukucourse__menu .fukucourse_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media print, screen and (max-width: 960px) {
  .m-fukucourse__menu .fukucourse_top {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 35px;
  }
}

@media print, screen and (min-width: 961px) {
  .m-fukucourse__menu .fukucourse_top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1360px) {
  .m-fukucourse__menu .fukucourse_top {
    padding-left: 50px;
  }
}

.m-fukucourse__menu .fukucourse_btm {
  position: relative;
}

@media print, screen and (max-width: 767.9px) {
  .m-fukucourse__menu .fukucourse_btm {
    padding: 0 35px 0 60px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-fukucourse__menu .fukucourse_btm {
    padding: 0 35px;
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1160px) {
  .m-fukucourse__menu .fukucourse_btm {
    margin-top: -70px;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-fukucourse__menu .fukucourse_btm {
    margin-top: -25px;
  }
}

.m-fukucourse__menu .meal_menu h4 {
  color: #4983a8;
}

@media print, screen and (max-width: 767.9px) {
  .gourmetcourse_txt .mainwrap .gourmet_list {
    padding: 0 35px;
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1360px) {
  .gourmetcourse_txt .mainwrap {
    padding-right: 70px;
  }
}

@media print, screen and (min-width: 961px) {
  .gourmetcourse_txt .mainwrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .gourmetcourse_txt .mainwrap .gourmet_list,
  .gourmetcourse_txt .mainwrap .gourmet_wrap {
    width: 50%;
  }
}

.gourmetcourse_txt .gourmet_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media print, screen and (min-width: 961px) {
  .gourmetcourse_txt .gourmet_wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

@media print, screen and (min-width: 961px) {
  .gourmetcourse_txt .meal_menu {
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
    margin-left: auto;
  }
  .gourmetcourse_txt .meal_menu ul {
    max-width: 420px;
  }
}

.gourmetcourse_txt .meal_h3 h3 span {
  background-color: rgba(189, 123, 97, 0.8);
}

@media print, screen and (max-width: 767.9px) {
  .gourmetcourse_txt .meal_h3 h3 span {
    padding: 35px 5px;
    font-size: 20px;
  }
}

.gourmetcourse_txt .meal_h3 h3 span:nth-child(2) {
  margin-top: 77px;
}

.gourmetcourse_txt .meal_menu h4 {
  color: #c9947f;
}

@media print, screen and (max-width: 767.9px) {
  .gourmetcourse_txt .meal_txt {
    width: calc(100% - 105px);
    font-size: 13px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .gourmetcourse_txt .meal_txt {
    width: calc(100% - 160px);
  }
}

@media print, screen and (max-width: 960px) {
  .gourmetcourse_txt .meal_txt {
    padding: 15px 25px;
  }
}

@media print, screen and (min-width: 961px) {
  .gourmetcourse_txt .meal_txt {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}

@media print, screen and (min-width: 961px) and (max-width: 1160px) {
  .gourmetcourse_txt .meal_txt {
    max-height: 350px;
    padding: 40px 40px 30px 30px;
  }
}

@media print, screen and (min-width: 1161px) {
  .gourmetcourse_txt .meal_txt {
    max-height: 440px;
    padding: 60px 50px 30px 30px;
  }
  .gourmetcourse_txt .meal_txt p {
    font-size: 20px;
  }
  .gourmetcourse_txt .meal_txt p span {
    text-orientation: upright;
  }
}

.m-menu {
  padding: 45px 0;
}

.m-menu#meal02 {
  background-image: url(../images/meal/food_bgimg_5.webp);
  background-repeat: no-repeat;
  background-position: right -50px bottom 0;
}

@media print, screen and (max-width: 1160px) {
  .m-menu#meal02 {
    background-size: 60%;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu#meal02 {
    background-size: 660px;
  }
}

.m-menu#meal02 .m-menu__wrap {
  background-image: url(../images/meal/food_imgicon_10.webp);
  background-size: 222px;
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 1160px) {
  .m-menu#meal02 .m-menu__wrap {
    background-position: left 10px top 62%;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu#meal02 .m-menu__wrap {
    background-position: left 150px top 33%;
  }
}

.m-menu#meal02 .meal_h3 h3 span {
  background-color: rgba(69, 88, 126, 0.8);
}

.m-menu#meal02 .meal_menu h4 {
  color: #45587e;
}

.m-menu#meal03 {
  background-image: url(../images/meal/food_bgimg_6.webp);
  background-repeat: no-repeat;
  background-position: left -50px bottom 15px;
}

@media print, screen and (max-width: 1160px) {
  .m-menu#meal03 {
    background-size: 60%;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu#meal03 {
    background-size: 676px;
  }
}

.m-menu#meal03 .m-menu__wrap {
  background-image: url(../images/meal/food_imgicon_6.webp);
  background-repeat: no-repeat;
  background-size: 215px;
}

@media print, screen and (max-width: 1160px) {
  .m-menu#meal03 .m-menu__wrap {
    background-position: right 10px top 62%;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu#meal03 .m-menu__wrap {
    background-position: right 190px top 50%;
  }
}

.m-menu#meal03 .meal_h3 h3 span {
  background-color: rgba(156, 120, 159, 0.8);
}

.m-menu#meal03 .meal_menu h4 {
  color: #9c789f;
}

.m-menu#meal04 {
  background-image: url(../images/meal/food_bgimg_7.webp);
  background-repeat: no-repeat;
  background-position: right -50px bottom 0;
}

@media print, screen and (max-width: 1160px) {
  .m-menu#meal04 {
    background-size: 60%;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu#meal04 {
    background-size: 660px;
  }
}

.m-menu#meal04 .m-menu__wrap {
  background-image: url(../images/meal/food_imgicon_7.webp);
  background-repeat: no-repeat;
  background-size: 213px;
}

@media print, screen and (max-width: 1160px) {
  .m-menu#meal04 .m-menu__wrap {
    background-position: left 10px top 62%;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu#meal04 .m-menu__wrap {
    background-position: left 178px top 43%;
  }
}

.m-menu#meal04 .meal_h3 h3 span {
  background-color: rgba(174, 100, 98, 0.8);
}

.m-menu#meal04 .meal_menu h4 {
  color: #ae6462;
}

.m-menu#meal05 {
  background-image: url(../images/meal/food_bgimg_8.webp);
  background-repeat: no-repeat;
  background-position: left -50px bottom 15px;
}

@media print, screen and (max-width: 1160px) {
  .m-menu#meal05 {
    background-size: 60%;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu#meal05 {
    background-size: 676px;
  }
}

.m-menu#meal05 .m-menu__wrap {
  background-image: url(../images/meal/food_imgicon_8.webp);
  background-repeat: no-repeat;
  background-size: 234px;
}

@media print, screen and (max-width: 1160px) {
  .m-menu#meal05 .m-menu__wrap {
    background-position: right 10px top 62%;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu#meal05 .m-menu__wrap {
    background-position: right 180px top 62%;
  }
}

.m-menu#meal05 .meal_h3 h3 span {
  background-color: rgba(182, 118, 71, 0.8);
}

.m-menu#meal05 .meal_menu h4 {
  color: #b67647;
}

@media print, screen and (min-width: 961px) {
  .m-menu .meal_menu {
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
    margin: auto;
  }
}

@media print, screen and (max-width: 1160px) {
  .m-menu .slider-nav {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .m-menu .b_odd .main_frame .meal_h3 {
    left: 15px;
  }
  .m-menu .b_even .main_frame .meal_h3 {
    right: 15px;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu .b_odd .main_frame .main_slide .slick-list {
    margin-left: auto;
  }
  .m-menu .b_even .main_frame .main_slide .slick-dots {
    margin-left: auto;
  }
  .m-menu .b_even .main_frame .meal_h3 {
    right: -37px;
  }
}

@media print, screen and (min-width: 1161px) and (max-width: 1460px) {
  .m-menu .b_odd .main_frame .meal_h3 {
    left: 35%;
  }
  .m-menu .b_even .main_frame .meal_h3 {
    right: 35%;
  }
}

@media print, screen and (min-width: 1461px) {
  .m-menu .b_odd .main_frame .meal_h3 {
    left: 29.5%;
  }
  .m-menu .b_even .main_frame .meal_h3 {
    right: 30.5%;
  }
}

@media print, screen and (min-width: 1161px) and (max-width: 1660px) {
  .m-menu .m-menu__wrap {
    padding: 0 50px;
  }
  .m-menu .b_odd .slider-nav {
    padding-left: 58px;
  }
  .m-menu .b_odd .m-menu__cts {
    left: 140px;
  }
  .m-menu .b_odd .m-menu__ttl {
    left: 75px;
  }
  .m-menu .b_odd .main_frame .slick-dots {
    margin-left: 57px;
  }
  .m-menu .b_even .main_frame .slick-dots {
    margin-right: 57px;
  }
  .m-menu .b_even .m-menu__cts {
    right: 125px;
  }
  .m-menu .b_even .m-menu__ttl {
    right: 75px;
  }
}

@media print, screen and (min-width: 1661px) {
  .m-menu .b_odd {
    padding-left: 220px;
  }
  .m-menu .b_odd .m-menu__cts {
    left: 240px;
  }
  .m-menu .b_odd .m-menu__ttl {
    left: 187px;
  }
  .m-menu .b_even {
    padding-right: 220px;
  }
  .m-menu .b_even .main_frame .slick-dots {
    margin-right: 7px;
  }
  .m-menu .b_even .m-menu__cts {
    right: 255px;
  }
  .m-menu .b_even .m-menu__ttl {
    right: 195px;
  }
}

@media print, screen and (max-width: 1160px) {
  .m-menu .m-menu__cts {
    padding: 0 25px;
  }
  .m-menu .m-menu__cts .meal_menu {
    margin-top: 50px;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu .m-menu__cts {
    position: absolute;
    top: 0;
    width: 27%;
    height: calc(100% - 140px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.m-menu .m-menu__cts .meal_txt {
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
  margin: auto;
}

@media print, screen and (min-width: 1161px) {
  .m-menu .m-menu__cts .meal_txt {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
}

@media print, screen and (max-width: 1460px) {
  .m-menu .m-menu__cts .meal_txt {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 1461px) {
  .m-menu .m-menu__cts .meal_txt {
    font-size: 24px;
  }
}

.m-menu .m-menu__ttl {
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (max-width: 1160px) {
  .m-menu .m-menu__ttl {
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
    margin: 0 auto 35px;
    text-align: center;
  }
  .m-menu .m-menu__ttl p {
    padding: 3px 18px;
  }
}

@media print, screen and (min-width: 1161px) {
  .m-menu .m-menu__ttl {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: 0;
  }
  .m-menu .m-menu__ttl h2 span {
    display: inline-block;
    position: relative;
    padding-bottom: 15px;
    letter-spacing: 0.15em;
  }
  .m-menu .m-menu__ttl h2 span::before {
    content: "";
    position: absolute;
    background-color: rgba(0, 0, 0, 0.4);
    top: 100%;
    left: 50%;
    width: 1px;
    height: 99em;
  }
  .m-menu .m-menu__ttl P {
    padding: 18px 3px;
    margin-left: 10px;
  }
  .m-menu .m-menu__ttl P span {
    text-orientation: upright;
  }
}

@media print, screen and (max-width: 767.9px) {
  .m-menu .m-menu__ttl h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-menu .m-menu__ttl h2 {
    font-size: 44px;
  }
}

.m-menu .m-menu__ttl p {
  display: inline-block;
  border: solid 1px rgba(0, 0, 0, 0.4);
  letter-spacing: 3px;
}

@media print, screen and (max-width: 767.9px) {
  .m-menu .m-menu__ttl p {
    font-size: 16px;
    margin-bottom: 7px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-menu .m-menu__ttl p {
    font-size: 23px;
  }
}

.m-menu .m-menu__wrap {
  max-width: 1640px;
  margin: auto;
  position: relative;
  overflow: hidden;
}

.m-menu .main_frame {
  position: relative;
  padding-top: 35px;
  padding-bottom: 15px;
}

@media print, screen and (min-width: 1161px) and (max-width: 1360px) {
  .m-menu .main_frame .main_slide .slick-list,
  .m-menu .main_frame .main_slide .slick-dots {
    width: 57%;
  }
}

@media print, screen and (min-width: 1361px) {
  .m-menu .main_frame .main_slide .slick-list,
  .m-menu .main_frame .main_slide .slick-dots {
    width: 63%;
  }
}

.m-menu .main_frame .meal_h3 {
  position: absolute;
  z-index: 1;
  top: 0;
}

@media print, screen and (max-width: 767.9px) {
  .m-menu .main_frame .meal_h3 {
    width: 135px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-menu .main_frame .meal_h3 {
    width: 171px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .m-menu .main_frame .meal_h3 h3 {
    font-size: 20px;
  }
  .m-menu .main_frame .meal_h3 h3 span {
    padding: 15px 5px;
    width: 40px;
  }
}

.m-menu .main_frame .meal_h3 h3 span:nth-child(2) {
  margin-top: 55px;
}

.m-menu .main_frame .meal_h3 h3 span:nth-child(3) {
  margin-top: 105px;
}

.m-menu .main_frame .slick-dots {
  position: relative;
  bottom: -25px;
  text-align: left;
}

.m-menu .main_frame .slick-dots li {
  width: 18.8%;
  margin: 0 1.5% 0 0;
}

.m-menu .main_frame .slick-dots li.slick-active {
  opacity: 0.5;
}

.m-menu .main_frame .slick-dots li:nth-child(5n) {
  margin: 0;
}

@media print, screen and (max-width: 1160px) {
  .m-menu .m-menu__slide {
    max-width: 720px;
    margin: 0 auto 35px;
  }
}

.m-com {
  overflow: hidden;
}

@media print, screen and (max-width: 767.9px) {
  .m-com {
    padding: 50px 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-com {
    padding: 100px 25px;
  }
}

.m-com .mainwrap {
  position: relative;
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (min-width: 768px) {
  .m-com .mainwrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .m-com .mainwrap h2 {
    position: absolute;
    top: 0;
    left: 0;
  }
}

.m-com .mainwrap h2 span {
  position: relative;
  letter-spacing: 0.1em;
  display: inline-block;
}

.m-com .mainwrap h2 span:before {
  content: "";
  position: absolute;
  background-color: rgba(0, 0, 0, 0.4);
}

@media print, screen and (max-width: 767.9px) {
  .m-com .mainwrap h2 span {
    font-size: 30px;
    position: relative;
    text-align: center;
    margin-bottom: 35px;
    padding-bottom: 15px;
    letter-spacing: 0.15em;
  }
  .m-com .mainwrap h2 span:before {
    width: 99em;
    height: 1px;
    bottom: 0;
    left: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .m-com .mainwrap h2 span {
    font-size: 44px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    width: 66px;
    height: 125px;
  }
  .m-com .mainwrap h2 span:before {
    width: 1px;
    height: 99em;
    top: 100%;
    right: 28px;
  }
}

.m-com.drink {
  background-image: url(../images/common/bg_point01-3.webp);
  background-repeat: no-repeat;
  background-position: left -50px bottom -200px;
  background-size: 627px;
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-com.drink .m-com__txt {
    max-width: 340px;
    padding: 100px 35px 0 80px;
  }
}

@media print, screen and (min-width: 961px) {
  .m-com.drink .m-com__txt {
    padding: 160px 35px 0 80px;
    max-width: 350px;
  }
}

.m-com.breakfast .m-com__txt .tbl {
  padding-left: 38px;
}

.m-com.breakfast .m-com__txt table {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

.m-com.breakfast .m-com__txt table th {
  text-align: center;
}

@media print, screen and (min-width: 961px) {
  .m-com.breakfast .m-com__txt table th {
    width: 160px;
  }
}

.m-com.breakfast .m-com__txt table th,
.m-com.breakfast .m-com__txt table td {
  padding: 10px;
}

.m-com.breakfast .m-com__txt p {
  margin-bottom: 35px;
}

@media print, screen and (min-width: 768px) {
  .m-com.breakfast .m-com__txt p {
    padding-left: 80px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-com.breakfast .m-com__txt {
    max-width: 340px;
    padding: 100px 35px 0 0;
  }
}

@media print, screen and (min-width: 961px) {
  .m-com.breakfast .m-com__txt {
    padding: 160px 35px 0 0;
    max-width: 450px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-com .m-com__img {
    width: 58%;
  }
}

@media print, screen and (max-width: 767.9px) {
  .m-com .m-com__txt {
    margin-bottom: 35px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 960px) {
  .m-com .m-com__txt {
    width: 42%;
  }
}

@media print, screen and (min-width: 961px) {
  .m-com .m-com__txt p {
    font-size: 18px;
  }
}

.m-dining {
  background-image: url(../images/meal/food_img_13.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 60% 0;
  overflow: hidden;
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (max-width: 767.9px) {
  .m-dining {
    padding: 50px 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-dining {
    padding: 65px 100px 265px 0;
  }
  .m-dining .mainwrap {
    position: relative;
  }
}

@media print, screen and (min-width: 768px) {
  .m-dining .m-dining__ttl {
    position: absolute;
    top: 0;
    right: 0;
  }
}

.m-dining .m-dining__ttl h2 {
  position: relative;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767.9px) {
  .m-dining .m-dining__ttl h2 {
    font-size: 30px;
    position: relative;
    text-align: center;
    margin-bottom: 35px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-dining .m-dining__ttl h2 {
    font-size: 40px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    width: 120px;
    height: 235px;
  }
  .m-dining .m-dining__ttl h2:before {
    content: "";
    position: absolute;
    background-color: rgba(255, 255, 255, 0.4);
    width: 1px;
    height: 99em;
    top: 100%;
    right: 28px;
  }
}

@media print, screen and (min-width: 768px) {
  .m-dining .m-dining__tbl {
    padding-top: 250px;
    margin-left: auto;
    padding-right: 28px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1060px) {
  .m-dining .m-dining__tbl {
    width: 65%;
  }
}

@media print, screen and (min-width: 1061px) {
  .m-dining .m-dining__tbl {
    width: 45%;
  }
}

.m-dining .m-dining__tbl p {
  padding-right: 35px;
  font-size: 18px;
  margin-bottom: 35px;
}

.m-dining .m-dining__tbl table tr:first-of-type th,
.m-dining .m-dining__tbl table tr:first-of-type td {
  border-top: 1px solid #fff;
}

.m-dining .m-dining__tbl table th,
.m-dining .m-dining__tbl table td {
  padding: 12px 0;
  border-bottom: 1px solid #fff;
}

.m-dining .m-dining__tbl table th {
  width: 100px;
}

.m-dining .m-dining__tbl table td span {
  display: inline-block;
  margin-left: 30px;
}

.m-rsv {
  padding: 65px 25px;
}

/* rooms --
--------------------------------------------------------------　*/
.r-pagelink {
  position: relative;
  margin-top: -61px;
}

.r-pagelink .r-pagelink__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden;
}

.r-pagelink .r-pagelink__tab li {
  cursor: pointer;
  text-align: center;
  letter-spacing: 0.05em;
  color: #382b07;
  padding: 12px 5px;
  font-family: "Shippori Mincho", serif;
  background-repeat: repeat;
  background-position: 0 0;
  background-image: url(../images/rooms/tab2.webp);
}

@media print, screen and (max-width: 600px) {
  .r-pagelink .r-pagelink__tab li {
    font-size: 12px;
  }
  .r-pagelink .r-pagelink__tab li:not(:last-of-type) {
    margin-right: 7px;
  }
}

@media print, screen and (min-width: 601px) {
  .r-pagelink .r-pagelink__tab li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

@media print, screen and (min-width: 601px) and (max-width: 960px) {
  .r-pagelink .r-pagelink__tab li:not(:last-of-type) {
    margin-right: 15px;
  }
}

@media print, screen and (min-width: 961px) {
  .r-pagelink .r-pagelink__tab li {
    font-size: 22px;
    margin-left: 20px;
  }
  .r-pagelink .r-pagelink__tab li:last-child {
    margin-right: 20px;
  }
}

.r-pagelink .r-pagelink__tab li.select {
  background-image: url(../images/rooms/tab1.webp);
  color: #fff;
}

.r-pagelink .r-pagelink__main {
  position: relative;
  z-index: 2;
  background-repeat: repeat;
  background-position: 0 0;
  background-image: url(../images/rooms/room_imgbg_1.webp);
  background-size: 100% auto;
}

.r-pagelink .r-pagelink__main > li:not(:first-of-type) {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .r-pagelink .com-page__link ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .r-pagelink .com-page__link ul li {
    width: 160px;
  }
}

.r-contents {
  font-family: "Shippori Mincho", serif;
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 767.9px) {
  .r-contents {
    background-size: 75% auto;
    padding: 55px 0;
  }
}

@media print, screen and (min-width: 768px) {
  .r-contents {
    padding: 75px 0;
  }
}

.r-contents#rooms02 .r-contents__btm .r-contents__gallery ul,
.r-contents#rooms03 .r-contents__btm .r-contents__gallery ul {
  max-width: 210px;
}

.r-contents#rooms02 .r-contents__btm .r-contents__gallery ul li:nth-child(odd),
.r-contents#rooms03 .r-contents__btm .r-contents__gallery ul li:nth-child(odd) {
  margin-right: 10px;
}

.r-contents#rooms02 .r-contents__btm .r-contents__gallery ul li:nth-child(n + 3),
.r-contents#rooms03 .r-contents__btm .r-contents__gallery ul li:nth-child(n + 3) {
  margin-top: 10px;
}

.r-contents#rooms01 .r-contents__btm .r-contents__gallery ul,
.r-contents#rooms04 .r-contents__btm .r-contents__gallery ul,
.r-contents#rooms05 .r-contents__btm .r-contents__gallery ul,
.r-contents#rooms06 .r-contents__btm .r-contents__gallery ul,
.r-contents#rooms07 .r-contents__btm .r-contents__gallery ul,
.r-contents#rooms08 .r-contents__btm .r-contents__gallery ul {
  max-width: 320px;
}

.r-contents#rooms01 .r-contents__btm .r-contents__gallery ul li,
.r-contents#rooms04 .r-contents__btm .r-contents__gallery ul li,
.r-contents#rooms05 .r-contents__btm .r-contents__gallery ul li,
.r-contents#rooms06 .r-contents__btm .r-contents__gallery ul li,
.r-contents#rooms07 .r-contents__btm .r-contents__gallery ul li,
.r-contents#rooms08 .r-contents__btm .r-contents__gallery ul li {
  margin-right: 10px;
}

.r-contents#rooms01 .r-contents__btm .r-contents__gallery ul li:nth-child(3n),
.r-contents#rooms04 .r-contents__btm .r-contents__gallery ul li:nth-child(3n),
.r-contents#rooms05 .r-contents__btm .r-contents__gallery ul li:nth-child(3n),
.r-contents#rooms06 .r-contents__btm .r-contents__gallery ul li:nth-child(3n),
.r-contents#rooms07 .r-contents__btm .r-contents__gallery ul li:nth-child(3n),
.r-contents#rooms08 .r-contents__btm .r-contents__gallery ul li:nth-child(3n) {
  margin-right: 0;
}

.r-contents#rooms01 .r-contents__btm .r-contents__gallery ul li:nth-child(n + 4),
.r-contents#rooms04 .r-contents__btm .r-contents__gallery ul li:nth-child(n + 4),
.r-contents#rooms05 .r-contents__btm .r-contents__gallery ul li:nth-child(n + 4),
.r-contents#rooms06 .r-contents__btm .r-contents__gallery ul li:nth-child(n + 4),
.r-contents#rooms07 .r-contents__btm .r-contents__gallery ul li:nth-child(n + 4),
.r-contents#rooms08 .r-contents__btm .r-contents__gallery ul li:nth-child(n + 4) {
  margin-top: 10px;
}

.r-contents.flex_odd {
  background-image: url(../images/common/bg_point01.webp);
}

@media print, screen and (max-width: 767.9px) {
  .r-contents.flex_odd {
    background-position: right -55px top 55%;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1060px) {
  .r-contents.flex_odd {
    background-position: right -205px top 75%;
  }
}

@media print, screen and (min-width: 1061px) {
  .r-contents.flex_odd {
    background-position: right -205px top 40%;
  }
  .r-contents.flex_odd .r-contents__wrap .r-contents__img01 {
    text-align: right;
  }
  .r-contents.flex_odd .r-contents__btm .r-contents__gallery {
    padding-left: 70px;
  }
}

.r-contents.flex_even {
  background-image: url(../images/common/bg_point01-3.webp);
}

@media print, screen and (max-width: 767.9px) {
  .r-contents.flex_even {
    background-position: left -55px top 55%;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1060px) {
  .r-contents.flex_even {
    background-position: left -205px top 75%;
  }
}

@media print, screen and (min-width: 768px) {
  .r-contents.flex_even {
    background-size: 627px;
  }
}

@media print, screen and (min-width: 1061px) {
  .r-contents.flex_even {
    background-position: left -205px top 40%;
    background-size: 627px;
  }
  .r-contents.flex_even .r-contents__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .r-contents.flex_even .r-contents__btm .mainwrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .r-contents.flex_even .r-contents__btm .r-contents__img03 p {
    padding-left: 15%;
  }
  .r-contents.flex_even .r-contents__gallery {
    padding-right: 70px;
  }
  .r-contents.flex_even .r-contents__gallery .g__inner {
    margin-left: auto;
  }
}

@media print, screen and (min-width: 1061px) {
  .r-contents .r-contents__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .r-contents .r-contents__wrap .r-contents__txt,
  .r-contents .r-contents__wrap .r-contents__img01 {
    width: 50%;
  }
  .r-contents .r-contents__wrap .r-contents__img01 {
    margin-top: 30px;
  }
  .r-contents .r-contents__wrap .r-contents__inner {
    padding: 0 45px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .r-contents .r-contents__inner {
    padding: 0 25px;
  }
}

.r-contents .r-contents__txt {
  max-width: 600px;
}

@media print, screen and (max-width: 1060px) {
  .r-contents .r-contents__txt {
    margin: 30px auto;
  }
}

.r-contents .r-contents__txt .txt {
  margin: 25px 0;
}

.r-contents .spec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.r-contents .spec li {
  background-color: #e6e1b7;
  text-align: center;
  padding: 5px;
  width: 32%;
  margin-right: 2%;
}

@media print, screen and (max-width: 767.9px) {
  .r-contents .spec li {
    font-size: 13px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-contents .spec li {
    font-size: 17px;
  }
}

.r-contents .spec li:nth-child(3n) {
  margin-right: 0;
}

.r-contents .spec li:nth-child(n + 4) {
  margin-top: 2%;
}

.r-contents .r-contents__ttl {
  text-align: center;
  background-image: url(../images/rooms/circle.webp);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
  max-width: 300px;
  margin: auto;
  padding-bottom: 30px;
}

.r-contents .r-contents__ttl h3 {
  padding-top: 50px;
  background-image: url(../images/rooms/symbol.webp);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 49px;
}

@media print, screen and (max-width: 767.9px) {
  .r-contents .r-contents__ttl h3 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-contents .r-contents__ttl h3 {
    font-size: 42px;
    margin-bottom: 30px;
  }
}

.r-contents .r-contents__ttl p {
  max-width: 200px;
  margin: auto;
}

.r-contents .r-contents__ttl p:first-of-type {
  border-bottom: 1px solid #bfbfbf;
  padding-bottom: 5px;
  margin-bottom: 5px;
}

@media print, screen and (min-width: 768px) {
  .r-contents .r-contents__ttl p {
    font-size: 18px;
  }
}

@media print, screen and (max-width: 1060px) {
  .r-contents .r-contents__img02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .r-contents .r-contents__img02 div {
    width: 50%;
  }
  .r-contents .r-contents__img02 .img02_pc {
    display: none;
  }
}

@media print, screen and (min-width: 1061px) {
  .r-contents .r-contents__img02 .img02_sp {
    display: none;
  }
}

.r-contents .r-contents__btm {
  position: relative;
}

@media print, screen and (min-width: 1061px) {
  .r-contents .r-contents__btm .mainwrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .r-contents .r-contents__btm .r-contents__img03 {
    width: 55%;
  }
}

@media print, screen and (min-width: 1061px) and (max-width: 1560px) {
  .r-contents .r-contents__btm {
    margin-top: -17vw;
  }
  .r-contents .r-contents__btm .r-contents__img03 p {
    padding-bottom: 3vw;
  }
}

@media print, screen and (min-width: 1561px) {
  .r-contents .r-contents__btm {
    margin-top: -165px;
  }
  .r-contents .r-contents__btm .r-contents__img03 p {
    padding: 30px 0;
  }
}

@media print, screen and (max-width: 1060px) {
  .r-contents .r-contents__btm .r-contents__img03 {
    text-align: center;
    margin: 30px 0;
  }
  .r-contents .r-contents__btm .r-contents__img03 .img03_pc {
    display: none;
  }
}

@media print, screen and (min-width: 1061px) {
  .r-contents .r-contents__btm .r-contents__gallery {
    width: 45%;
    padding-top: 70px;
  }
}

.r-contents .r-contents__btm .r-contents__gallery .g__inner {
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

@media print, screen and (max-width: 1060px) {
  .r-contents .r-contents__btm .r-contents__gallery .g__inner {
    margin: auto;
  }
}

.r-contents .r-contents__btm .r-contents__gallery h4 {
  font-size: 14px;
  margin-bottom: 15px;
}

.r-contents .r-contents__btm .r-contents__gallery h4 span {
  display: block;
  color: #357d1b;
  font-size: 24px;
}

.r-contents .r-contents__btm .r-contents__gallery ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.r-contents .r-contents__btm .r-contents__gallery ul li {
  width: 100px;
  position: relative;
}

.r-contents .r-contents__btm .r-contents__gallery ul li:before {
  content: "";
  display: block;
  padding-top: 100%;
}

.r-contents .r-contents__btm .r-contents__gallery ul li img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.rooms_btn {
  width: 200px;
  margin: 30px 0;
}

.rooms_btn a {
  display: block;
  border: solid 1px #bcbcbc;
  padding: 7px 20px;
  font-family: "Shippori Mincho", serif;
  font-size: 18px;
}

.rooms_btn a:hover span::before {
  right: -5px;
}

.rooms_btn a span {
  display: block;
  position: relative;
  text-align: center;
}

.rooms_btn a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.r-greeting {
  background-image: url(../images/rooms/room_img_1.webp);
  background-repeat: no-repeat;
  background-size: cover;
}

@media print, screen and (max-width: 767.9px) {
  .r-greeting {
    padding: 100px 25px;
    background-position: 65% 0;
  }
}

@media print, screen and (min-width: 768px) {
  .r-greeting {
    padding: 120px 100px 250px;
    background-position: 50% 0;
  }
}

.r-greeting .r-greeting__wrap {
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (max-width: 767.9px) {
  .r-greeting .r-greeting__wrap h2 {
    font-size: 22px;
    margin-bottom: 35px;
  }
  .r-greeting .r-greeting__wrap p {
    line-height: 2.5;
  }
}

@media print, screen and (min-width: 768px) {
  .r-greeting .r-greeting__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    height: 450px;
  }
  .r-greeting .r-greeting__wrap h2,
  .r-greeting .r-greeting__wrap p {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
  .r-greeting .r-greeting__wrap h2 {
    font-size: 28px;
    margin-left: 35px;
  }
  .r-greeting .r-greeting__wrap p {
    font-size: 20px;
    line-height: 3;
  }
}

.r-hotspring {
  background-image: url(../images/rooms/room_img_2.webp);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
}

@media print, screen and (max-width: 767.9px) {
  .r-hotspring {
    padding: 50px 25px;
    background-position: 15% 0;
  }
}

@media print, screen and (min-width: 768px) {
  .r-hotspring {
    padding: 100px;
    background-position: 50% 0;
  }
  .r-hotspring .mainwrap {
    position: relative;
  }
}

@media print, screen and (min-width: 768px) {
  .r-hotspring .r-hotspring__ttl {
    position: absolute;
    top: 0;
    right: 0;
  }
}

.r-hotspring .r-hotspring__ttl h2 {
  position: relative;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767.9px) {
  .r-hotspring .r-hotspring__ttl h2 {
    font-size: 30px;
    position: relative;
    text-align: center;
    margin-bottom: 35px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-hotspring .r-hotspring__ttl h2 {
    font-size: 44px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    width: 66px;
    height: 220px;
  }
  .r-hotspring .r-hotspring__ttl h2:before {
    content: "";
    position: absolute;
    background-color: rgba(255, 255, 255, 0.4);
    width: 1px;
    height: 99em;
    top: 100%;
    left: 50%;
  }
}

@media print, screen and (min-width: 768px) {
  .r-hotspring .r-hotspring__tbl {
    padding-top: 300px;
    margin-left: auto;
    padding-right: 33px;
  }
}

@media print, screen and (min-width: 1061px) {
  .r-hotspring .r-hotspring__tbl {
    width: 62%;
  }
}

.r-hotspring .r-hotspring__tbl table tr:first-of-type th,
.r-hotspring .r-hotspring__tbl table tr:first-of-type td {
  border-top: 1px solid #fff;
}

.r-hotspring .r-hotspring__tbl table th,
.r-hotspring .r-hotspring__tbl table td {
  padding: 12px 0;
  border-bottom: 1px solid #fff;
}

@media print, screen and (max-width: 767.9px) {
  .r-hotspring .r-hotspring__tbl table th {
    width: 105px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-hotspring .r-hotspring__tbl table th {
    width: 120px;
  }
}

.r-amenities {
  background-image: url(../images/rooms/room_img_3.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 0 0;
}

@media print, screen and (max-width: 767.9px) {
  .r-amenities {
    padding: 50px 25px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-amenities {
    padding: 110px 25px 120px;
  }
}

.r-amenities h2 {
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.15em;
  margin-bottom: 50px;
}

@media print, screen and (max-width: 767.9px) {
  .r-amenities h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-amenities h2 {
    font-size: 42px;
  }
}

.r-amenities .r-amenities__inner {
  position: relative;
}

.r-amenities .r-amenities__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  max-width: 1680px;
  margin: auto;
}

@media print, screen and (max-width: 767.9px) {
  .r-amenities .r-amenities__img {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .r-amenities .r-amenities__img li {
    width: 50%;
  }
}

@media print, screen and (min-width: 1261px) {
  .r-amenities .r-amenities__img {
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
}

.r-amenities .r-amenities__content {
  background-color: #fff;
  max-width: 1160px;
  margin: auto;
  position: relative;
}

@media print, screen and (max-width: 1260px) {
  .r-amenities .r-amenities__content {
    padding: 50px 25px;
  }
}

@media print, screen and (min-width: 1261px) and (max-width: 1660px) {
  .r-amenities .r-amenities__content {
    padding: 25% 25px 50px;
  }
}

@media print, screen and (min-width: 1661px) {
  .r-amenities .r-amenities__content {
    padding: 23% 25px 50px;
  }
}

.r-amenities .r-amenities__content::before {
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border: solid 1px #b5b5b5;
  top: 10px;
  left: 10px;
  position: absolute;
}

.r-amenities .content-wrap__top,
.r-amenities .content-wrap__btm {
  max-width: 860px;
  margin: auto;
}

.r-amenities .content-wrap__top {
  font-family: "Shippori Mincho", serif;
  padding-bottom: 50px;
  border-bottom: 1px solid #b5b5b5;
}

@media print, screen and (max-width: 767.9px) {
  .r-amenities .content-wrap__top > div {
    max-width: 500px;
    margin: auto;
  }
  .r-amenities .content-wrap__top > div:first-of-type {
    margin: 0 auto 35px;
  }
  .r-amenities .content-wrap__top h3 {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-amenities .content-wrap__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .r-amenities .content-wrap__top > div {
    width: 48%;
  }
  .r-amenities .content-wrap__top h3 {
    font-size: 22px;
  }
}

.r-amenities .content-wrap__top h3 {
  border-bottom: 1px solid #b5b5b5;
  padding-bottom: 7px;
  margin-bottom: 15px;
}

.r-amenities .content-wrap__top .f-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.r-amenities .content-wrap__top ul {
  width: 48%;
}

.r-amenities .content-wrap__top ul li {
  padding-bottom: 3px;
}

@media print, screen and (max-width: 400px) {
  .r-amenities .content-wrap__top ul li {
    font-size: 12px;
  }
}

.r-amenities .content-wrap__btm {
  padding-top: 25px;
}

.r-amenities .content-wrap__btm p small {
  font-size: 12px;
}

.r-service {
  text-align: center;
  color: #fff;
  background-image: url(../images/rooms/room_img_4.webp);
  background-repeat: no-repeat;
  background-size: cover;
}

@media print, screen and (max-width: 767.9px) {
  .r-service {
    padding: 50px 25px;
    background-position: 65% 50%;
  }
}

@media print, screen and (min-width: 768px) {
  .r-service {
    padding: 70px 25px 80px;
    background-position: 50% 50%;
  }
}

.r-service h2 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  margin-bottom: 25px;
}

@media print, screen and (max-width: 767.9px) {
  .r-service h2 {
    font-size: 28px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-service h2 {
    font-size: 34px;
  }
}

.r-service p {
  font-family: "Shippori Mincho", serif;
}

@media print, screen and (min-width: 768px) {
  .r-service p {
    font-size: 18px;
  }
}

.r-service p.r-service__time {
  margin-top: 7px;
}

@media print, screen and (max-width: 767.9px) {
  .r-service p.r-service__time {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-service p.r-service__time {
    font-size: 22px;
  }
}

.r-service .r-btn {
  margin-top: 35px;
}

.r-service .r-btn a {
  display: block;
  border: solid 1px #bcbcbc;
  padding: 10px 20px;
  font-family: "Shippori Mincho", serif;
  max-width: 320px;
  margin: auto;
  color: #fff;
}

@media print, screen and (max-width: 767.9px) {
  .r-service .r-btn a {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-service .r-btn a {
    font-size: 22px;
  }
  .r-service .r-btn a:hover span::before {
    right: -5px;
  }
}

.r-service .r-btn a span {
  display: block;
  position: relative;
}

.r-service .r-btn a span::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.r-info {
  background-image: url(../images/common/page-fw.webp);
  background-repeat: no-repeat;
}

@media print, screen and (max-width: 767.9px) {
  .r-info {
    padding: 50px 25px;
    background-position: right -397px bottom -77px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-info {
    padding: 70px 25px;
    background-position: right -60px bottom -58px;
  }
}

.r-info h2 {
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  letter-spacing: 0.15em;
}

@media print, screen and (max-width: 767.9px) {
  .r-info h2 {
    font-size: 30px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-info h2 {
    font-size: 42px;
  }
}

.r-info table {
  font-family: "Shippori Mincho", serif;
}

@media print, screen and (max-width: 767.9px) {
  .r-info table {
    margin: 35px 0 55px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-info table {
    margin: 55px 0 85px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .r-info table th,
  .r-info table td {
    display: block;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .r-info table th,
  .r-info table td {
    font-size: 17px;
    padding: 12px;
  }
}

@media print, screen and (max-width: 767.9px) {
  .r-info table th {
    padding-top: 7px;
    font-size: 16px;
  }
}

@media print, screen and (min-width: 768px) {
  .r-info table th {
    width: 220px;
  }
}

.r-info table td {
  color: #000;
}

@media print, screen and (max-width: 767.9px) {
  .r-info table td {
    border-bottom: 1px solid #b5b5b5;
    padding: 7px 0;
  }
}

.r-info table td dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 330px;
}

.r-info table td p {
  margin-top: 1em;
}

/* policy --
--------------------------------------------------------------　*/
.policy_privacy {
  padding: 80px 0;
  font-size: 14px;
}

@media print, screen and (min-width: 768px) {
  .policy_privacy {
    position: relative;
    z-index: 1;
  }
}

.policy_privacy .policy_inner {
  padding: 30px 50px;
  line-height: 1.5;
}

.policy_privacy h2,
.policy_privacy h3,
.policy_privacy h4,
.policy_privacy .pp_content .pp_list > li .link h5 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
}

.policy_privacy h2 {
  padding: 60px 0 40px;
  font-size: 22px;
  text-align: center;
}

.policy_privacy .pp_content {
  padding: 80px 0;
}

.policy_privacy .pp_content h3 {
  margin-bottom: 40px;
  text-align: center;
  font-size: 20px;
}

.policy_privacy .pp_content .pp_list > li {
  border-bottom: 1px solid #bfbfbf;
  padding: 40px 0;
  line-height: 1.75;
}

.policy_privacy .pp_content .pp_list > li:nth-child(1) {
  border-top: 1px solid #bfbfbf;
}

.policy_privacy .pp_content .pp_list > li h4 {
  font-size: 18px;
  margin-bottom: 20px;
}

.policy_privacy .pp_content .pp_list > li p {
  padding-bottom: 1em;
}

.policy_privacy .pp_content .pp_list > li ul {
  padding-left: 3em;
}

.policy_privacy .pp_content .pp_list > li .link {
  padding: 0 0 1em 3em;
}

.policy_privacy .pp_content .pp_list > li .link a {
  color: #c0a174;
  text-decoration: underline;
}

.policy_privacy .pp_content .pp_list > li .link h5 {
  font-size: 115%;
  font-weight: bold;
}

@media only screen and (max-width: 767.9px) {
  .policy_privacy {
    padding: 0 10px;
  }
}

@media only screen and (max-width: 767.9px) {
  .policy_privacy .policy_inner {
    padding: 30px;
  }
}

@media only screen and (max-width: 767.9px) {
  .policy_privacy h2 {
    font-size: 20px;
    padding: 40px 0 20px;
  }
}

@media only screen and (max-width: 767.9px) {
  .policy_privacy .pp_content {
    padding: 50px 0;
  }
}

@media only screen and (max-width: 767.9px) {
  .policy_privacy .pp_content h3 {
    font-size: 18x;
  }
}

@media only screen and (max-width: 767.9px) {
  .policy_privacy .pp_content .pp_list > li {
    padding: 20px 0;
  }
}

@media only screen and (max-width: 767.9px) {
  .policy_privacy .pp_content .pp_list > li h4 {
    font-size: 16px;
  }
}

@media only screen and (max-width: 767.9px) {
  .policy_privacy .pp_content .pp_list > li ul {
    padding-left: 1em;
  }
}

@media only screen and (max-width: 767.9px) {
  .policy_privacy .pp_content .pp_list > li .link {
    padding: 0 0 1em 1em;
  }
}

/* --------------------------------------------------------------
// category
// single page
-------------------------------------------------------------- */
.wp-caption {
  max-width: 100% !important;
}

@media print, screen and (max-width: 767.9px) {
  .c_wrap {
    padding: 50px 15px 100px;
  }
}

@media print, screen and (min-width: 768px) {
  .c_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 50px 0 100px;
  }
  .c_wrap .post {
    width: 67%;
  }
  .c_wrap .sidebar {
    width: 27%;
  }
}

.c_wrap .post .post_ttl {
  margin-bottom: 30px;
}

.c_wrap .post .post_ttl h2 {
  padding-bottom: 7px;
  margin-bottom: 7px;
  text-align: left;
  border-bottom: solid 1px #d7d7d7;
  font-size: 25px;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
}

@media only screen and (max-width: 560px) {
  .c_wrap .post .post_ttl h2 {
    font-size: 18px;
  }
}

.c_wrap .post .post_ttl .date {
  text-align: right;
}

.c_wrap .post .acv_list li {
  border-bottom: solid 1px #d7d7d7;
  padding: 15px 0;
}

.c_wrap .post .acv_list li:first-of-type {
  border-top: solid 1px #d7d7d7;
}

.c_wrap .post .acv_list li .cat_name {
  margin-bottom: 10px;
}

@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li .cat_name {
    margin-bottom: 5px;
  }
}

.c_wrap .post .acv_list li .cat_name span {
  display: inline-block;
  color: #fff;
  padding: 5px 10px;
  font-size: 14px;
}

@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li .cat_name span {
    font-size: 12px;
    padding: 2px 5px;
  }
}

.c_wrap .post .acv_list li .cat_name span:not(:first-of-type) {
  margin-left: 5px;
}

.c_wrap .post .acv_list li dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li dl dt {
    width: 100px;
    font-size: 12px;
  }
}

@media print, screen and (min-width: 768px) {
  .c_wrap .post .acv_list li dl dt {
    width: 150px;
  }
}

@media only screen and (max-width: 767.9px) {
  .c_wrap .post .acv_list li dl dd {
    width: calc(100% - 100px);
  }
}

@media print, screen and (min-width: 768px) {
  .c_wrap .post .acv_list li dl dd {
    width: calc(100% - 150px);
  }
}

.c_wrap .post .post_content p {
  margin-bottom: 1em;
}

.c_wrap .sidebar {
  border: solid 1px #d7d7d7;
  padding: 30px 15px;
  max-width: 350px;
  background-color: #efeadc;
}

@media print, screen and (max-width: 767.9px) {
  .c_wrap .sidebar {
    margin: 0 auto;
  }
}

@media only screen and (max-width: 767.9px) {
  .c_wrap .sidebar {
    margin: 30px auto 0;
  }
}

.c_wrap .sidebar h2 {
  margin-bottom: 10px;
  color: #996411;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
}

.c_wrap .sidebar .list {
  margin-bottom: 30px;
}

.c_wrap .sidebar .list ul {
  margin-left: 2em;
}

.c_wrap .sidebar .list ul li {
  padding-bottom: 10px;
  list-style-type: disc;
  line-height: 1.5;
  font-size: 90%;
  font-weight: normal;
}

.c_wrap .sidebar select {
  width: 100%;
  padding: 10px 15px 10px;
  font-size: 90%;
  border: 1px solid #d7d7d7;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font-size: 16px;
  background-color: #fff;
}

.c_wrap .sidebar select::-ms-expand {
  display: none;
}

.c_wrap .sidebar .archive ul {
  position: relative;
}

.c_wrap .sidebar .archive ul:before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  right: 15px;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.rsv_cancel {
  margin-top: 20px;
  text-align: center;
}
.rsv_cancel a {
  color: #fff;
  display: inline-block;
  border-bottom: 1px solid #fff;
  position: relative;
  padding-left: 17px;
}
.rsv_cancel a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  left: 3px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
/*# sourceMappingURL=style.css.map */
li.space {
    letter-spacing: -1px;
}