@charset "UTF-8";
/*------------------------------------------------------------------
スマホ記述がベース
★ブレイクポイント★
タブレット: 650px以上
パソコン小: 1024px以上
パソコン中: 1300px以上
パソコン大: 1920px以上
------------------------------------------------------------------*/
/* media query
------------------------------------------------------------------*/
/* 色 */
/* GoogleFonts */
/* button base */
.azuki_btn {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  color: #fff;
  display: inline-block;
  cursor: pointer;
}
@media (hover: hover) {
  .azuki_btn:hover {
    opacity: 0.75;
  }
}

.yellow_btn {
  background: linear-gradient(0deg, #b38f00 46%, #d6ab00 100%);
  color: #fff;
  display: inline-block;
  cursor: pointer;
}
@media (hover: hover) {
  .yellow_btn:hover {
    opacity: 0.75;
  }
}

.visitor_btn {
  background: linear-gradient(0deg, #c47f25 39%, #e68b1c 100%);
  color: #fff;
  display: inline-block;
  cursor: pointer;
}
@media (hover: hover) {
  .visitor_btn:hover {
    opacity: 0.75;
  }
}

.azuki_arrow {
  color: #fff;
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  display: inline-block;
  text-decoration: none;
  transition: 0.2s;
  padding: 12px 70px 12px 20px;
  position: relative;
}
@media screen and (min-width: 650px) {
  .azuki_arrow {
    padding: 15px 70px 17px 20px;
  }
}
@media screen and (min-width: 1024px) {
  .azuki_arrow {
    font-size: 16px;
  }
}
@media screen and (min-width: 1300px) {
  .azuki_arrow {
    font-size: 18px;
    padding: 15px 70px 17px 30px;
  }
}
.azuki_arrow::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width: 1300px) {
  .azuki_arrow::after {
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 10px solid #fff;
  }
}
@media (hover: hover) {
  .azuki_arrow:hover {
    opacity: 0.7;
  }
}

/* スクロールでフワッと表示 */
.scroll_fade {
  opacity: 0;
  visibility: hidden;
  transition: all 1s;
}

.scroll_fade.scroll_show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

/* base */
html {
  scroll-behavior: smooth;
}

body {
  color: #2d2d2d;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  /* word-break: break-all;の代わり */
  overflow-wrap: anywhere;
}

a {
  transition: 0.3s;
}

.txt_link:link {
  color: #2d2d2d;
  text-decoration: underline;
}

.txt_link:visited {
  color: #2d2d2d;
  text-decoration: underline;
}

.txt_link:hover {
  color: #2d2d2d;
  text-decoration: none;
}

.txt_link:active {
  color: #2d2d2d;
  text-decoration: none;
}

img {
  vertical-align: bottom;
}

.shadow {
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 650px) {
  .shadow {
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
  }
}
@media screen and (min-width: 1300px) {
  .shadow {
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
  }
}

/* 見出し関係 */
.heading_box {
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 650px) {
  .heading_box {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1300px) {
  .heading_box {
    margin-bottom: 60px;
  }
}
.heading_box h2 {
  font-size: 30px;
  font-family: "Lora", serif;
  font-optical-sizing: auto;
  font-style: normal;
  position: relative;
}
@media screen and (min-width: 650px) {
  .heading_box h2 {
    font-size: 36px;
  }
}
@media screen and (min-width: 1300px) {
  .heading_box h2 {
    font-size: 46px;
  }
}
.heading_box h2::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
  border-top: 8px solid #ecd5d8;
  border-bottom: 0;
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width: 650px) {
  .heading_box h2::after {
    bottom: -18px;
  }
}
.heading_box span {
  display: block;
  font-size: 12px;
  padding-top: 27px;
}
@media screen and (min-width: 650px) {
  .heading_box span {
    font-size: 14px;
    padding-top: 31px;
  }
}
@media screen and (min-width: 1024px) {
  .heading_box span {
    font-size: 16px;
  }
}

/*------------------------------------------------------------------

header

------------------------------------------------------------------*/
/* sp menu btn */
.sp_btn_wrapper {
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 101;
}
.sp_btn_wrapper .sp_yoyaku_btn {
  background: url(../image/sp_header_btn_calendar.svg) no-repeat center 7px #c19a00;
  background-size: 20px;
  display: block;
  width: 50px;
  height: 50px;
  position: relative;
}
@media screen and (min-width: 650px) {
  .sp_btn_wrapper .sp_yoyaku_btn {
    background: url(../image/sp_header_btn_calendar.svg) no-repeat center 10px #c19a00;
    background-size: 30px;
    width: 70px;
    height: 70px;
  }
}
.sp_btn_wrapper .sp_yoyaku_btn span {
  color: #fff;
  font-size: 11px;
  position: absolute;
  bottom: 6px;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 650px) {
  .sp_btn_wrapper .sp_yoyaku_btn span {
    font-size: 13px;
    bottom: 7px;
  }
}
.sp_btn_wrapper .sp_nav_btn {
  background: #79232c;
  width: 50px;
  height: 50px;
  position: relative;
}
@media screen and (min-width: 650px) {
  .sp_btn_wrapper .sp_nav_btn {
    width: 70px;
    height: 70px;
  }
}
.sp_btn_wrapper .sp_nav_btn span:not([class]) {
  background: #fff;
  display: inline-block;
  width: 50%;
  height: 2px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  transition: 0.3s;
}
.sp_btn_wrapper .sp_nav_btn span:not([class]):nth-child(1) {
  top: 9px;
}
@media screen and (min-width: 650px) {
  .sp_btn_wrapper .sp_nav_btn span:not([class]):nth-child(1) {
    top: 18px;
  }
}
.sp_btn_wrapper .sp_nav_btn span:not([class]):nth-child(2) {
  top: 16px;
}
@media screen and (min-width: 650px) {
  .sp_btn_wrapper .sp_nav_btn span:not([class]):nth-child(2) {
    top: 27px;
  }
}
.sp_btn_wrapper .sp_nav_btn span:not([class]):nth-child(3) {
  top: 23px;
}
@media screen and (min-width: 650px) {
  .sp_btn_wrapper .sp_nav_btn span:not([class]):nth-child(3) {
    top: 36px;
  }
}
.sp_btn_wrapper .sp_nav_btn span.menu {
  color: #fff;
  display: block;
  font-size: 12px;
  position: absolute;
  bottom: 6px;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 650px) {
  .sp_btn_wrapper .sp_nav_btn span.menu {
    font-size: 14px;
    bottom: 7px;
  }
}
.sp_btn_wrapper .sp_nav_btn.close {
  background: #fff;
}
.sp_btn_wrapper .sp_nav_btn.close span:not([class]) {
  background: #79232c;
}
.sp_btn_wrapper .sp_nav_btn.close span:not([class]):nth-child(1) {
  top: 17px;
  transform: rotate(25deg);
}
@media screen and (min-width: 650px) {
  .sp_btn_wrapper .sp_nav_btn.close span:not([class]):nth-child(1) {
    top: 27px;
  }
}
.sp_btn_wrapper .sp_nav_btn.close span:not([class]):nth-child(2) {
  display: none;
}
.sp_btn_wrapper .sp_nav_btn.close span:not([class]):nth-child(3) {
  top: 17px;
  transform: rotate(-25deg);
}
@media screen and (min-width: 650px) {
  .sp_btn_wrapper .sp_nav_btn.close span:not([class]):nth-child(3) {
    top: 27px;
  }
}
.sp_btn_wrapper .sp_nav_btn.close span.menu {
  color: #79232c;
}
@media screen and (min-width: 1300px) {
  .sp_btn_wrapper {
    display: none;
  }
}

/* カレンダーの背景 */
div#calid1_screen,
div#calid6_screen {
  background: #fff;
  border: 1px solid #2d2d2d;
}

/* sp menu */
body.fixed {
  position: fixed;
}

.sp_nav_menu {
  opacity: 0;
  display: block;
  width: 100vw;
  height: 100vh;
  background: #79232c;
  transition: 0.3s;
  text-align: center;
  padding: 60px 0 100px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu {
    padding-top: 100px;
  }
}
.sp_nav_menu.panelactive {
  opacity: 1;
  overflow-y: auto;
  z-index: 100;
}
.sp_nav_menu .main_menu {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.sp_nav_menu .main_menu a {
  color: #fff;
  font-size: 16px;
  display: block;
  text-decoration: none;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu .main_menu a {
    font-size: 18px;
  }
}
.sp_nav_menu .main_menu a span {
  display: block;
  font-size: 9px;
  padding-top: 5px;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu .main_menu a span {
    font-size: 10px;
    padding-top: 10px;
  }
}
.sp_nav_menu .tel {
  padding: 30px 0;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu .tel {
    padding: 50px 0;
  }
}
.sp_nav_menu .tel p {
  color: #fff;
  font-size: 12px;
  margin-bottom: 10px;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu .tel p {
    font-size: 16px;
    margin-bottom: 15px;
  }
}
.sp_nav_menu .tel img {
  width: 250px;
}
.sp_nav_menu .sub_menu {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media screen and (min-width: 1300px) {
  .sp_nav_menu .sub_menu {
    display: none;
  }
}
.sp_nav_menu .sub_menu li {
  border-radius: 5px;
  width: 70%;
  max-width: 400px;
  margin: auto;
}
.sp_nav_menu .sub_menu li.access {
  background: url(../image/sp_menu_icon_access.svg) no-repeat 15px center #fff;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu .sub_menu li.access {
    background: url(../image/sp_menu_icon_access.svg) no-repeat 20px center #fff;
  }
}
.sp_nav_menu .sub_menu li.inquiry {
  background: url(../image/sp_menu_icon_mail.svg) no-repeat 15px center #fff;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu .sub_menu li.inquiry {
    background: url(../image/sp_menu_icon_mail.svg) no-repeat 20px center #fff;
  }
}
.sp_nav_menu .sub_menu li.ticket {
  background: url(../image/sp_menu_icon_ticket.svg) no-repeat 15px center #fff;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu .sub_menu li.ticket {
    background: url(../image/sp_menu_icon_ticket.svg) no-repeat 20px center #fff;
  }
}
.sp_nav_menu .sub_menu li.yoyaku {
  background: url(../image/sp_menu_icon_calendar.svg) no-repeat 15px center #fff;
}
.sp_nav_menu .sub_menu li.yoyaku.pc {
  display: none;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu .sub_menu li.yoyaku {
    background: url(../image/sp_menu_icon_calendar.svg) no-repeat 20px center #fff;
  }
}
.sp_nav_menu .sub_menu li a {
  color: #79232c;
  font-size: 16px;
  display: block;
  text-decoration: none;
  text-align: left;
  padding: 12px 0 12px 50px;
}
@media screen and (min-width: 650px) {
  .sp_nav_menu .sub_menu li a {
    font-size: 18px;
    padding: 15px 0 15px 60px;
  }
}
@media screen and (min-width: 1024px) {
  .sp_nav_menu .sub_menu li a {
    font-size: 16px;
  }
}

/* header top */
header {
  background: #fff;
  box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 1300px) {
  header {
    box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.5);
  }
}
header .h_top_wrapper .h_top_inner {
  width: 100%;
  height: 50px;
  max-width: 1200px;
  margin: auto;
  padding-left: 20px;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 650px) {
  header .h_top_wrapper .h_top_inner {
    height: 70px;
  }
}
@media screen and (min-width: 1300px) {
  header .h_top_wrapper .h_top_inner {
    height: auto;
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
  }
}
@media screen and (min-width: 1024px) {
  header .h_top_wrapper .h_top_inner .h_top_left {
    width: 330px;
  }
}
@media screen and (min-width: 1300px) {
  header .h_top_wrapper .h_top_inner .h_top_left {
    width: 350px;
  }
}
header .h_top_wrapper .h_top_inner .h_top_left h1 a img {
  width: 200px;
}
@media screen and (min-width: 650px) {
  header .h_top_wrapper .h_top_inner .h_top_left h1 a img {
    width: 280px;
  }
}
@media screen and (min-width: 1024px) {
  header .h_top_wrapper .h_top_inner .h_top_left h1 a img {
    width: 100%;
  }
}
header .h_top_wrapper .h_top_inner .h_top_right {
  display: none;
}
@media screen and (min-width: 1300px) {
  header .h_top_wrapper .h_top_inner .h_top_right {
    display: block;
    flex: 1;
    text-align: right;
  }
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_top {
  margin-bottom: 15px;
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_top a img {
  width: 200px;
}
@media screen and (min-width: 1300px) {
  header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_top a img {
    width: 230px;
  }
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul {
  display: flex;
  justify-content: flex-end;
  gap: 30px;
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li {
  padding: 6px 0 6px 30px;
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li.access {
  background: url(../image/h_access_icon.svg) no-repeat left center;
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li.inquiry {
  background: url(../image/h_mail_icon.svg) no-repeat left center;
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li.ticket {
  background: url(../image/h_ticket_icon.svg) no-repeat left center;
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li.yoyaku {
  background: url(../image/h_calendar_icon.svg) no-repeat left center;
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li.yoyaku.sp {
  display: none;
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li a:link {
  color: #2d2d2d;
  text-decoration: none;
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li a:visited {
  color: #2d2d2d;
  text-decoration: none;
}
@media (hover: hover) {
  header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li a:hover {
    color: #2d2d2d;
    text-decoration: underline;
  }
}
header .h_top_wrapper .h_top_inner .h_top_right .h_top_right_bottom ul li a:active {
  color: #2d2d2d;
  text-decoration: none;
}
header .h_top_wrapper .main_manu_wrapper,
header .h_top_wrapper #fixed-header {
  display: none;
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
}
@media screen and (min-width: 1300px) {
  header .h_top_wrapper .main_manu_wrapper,
  header .h_top_wrapper #fixed-header {
    display: block;
  }
}
header .h_top_wrapper .main_manu_wrapper .main_menu,
header .h_top_wrapper #fixed-header .main_menu {
  width: 1200px;
  height: 100%;
  margin: auto;
  display: flex;
}
header .h_top_wrapper .main_manu_wrapper .main_menu li,
header .h_top_wrapper #fixed-header .main_menu li {
  background: transparent;
  text-align: center;
  transition: 0.3s;
  width: 14.2857142857%;
  padding: 5px 0;
}
header .h_top_wrapper .main_manu_wrapper .main_menu li:hover,
header .h_top_wrapper #fixed-header .main_menu li:hover {
  background: #aa535c;
}
header .h_top_wrapper .main_manu_wrapper .main_menu li a,
header .h_top_wrapper #fixed-header .main_menu li a {
  border-right: 1px solid #b16971;
  color: #fff;
  display: block;
  text-decoration: none;
  padding: 7px 0;
}
@media screen and (min-width: 1300px) {
  header .h_top_wrapper .main_manu_wrapper .main_menu li a,
  header .h_top_wrapper #fixed-header .main_menu li a {
    font-size: 18px;
  }
}
header .h_top_wrapper .main_manu_wrapper .main_menu li a span,
header .h_top_wrapper #fixed-header .main_menu li a span {
  display: none;
}
header .h_top_wrapper .main_manu_wrapper .main_menu li:last-of-type a,
header .h_top_wrapper #fixed-header .main_menu li:last-of-type a {
  border: none;
}
header .h_top_wrapper .main_manu_wrapper .main_menu li.current,
header .h_top_wrapper #fixed-header .main_menu li.current {
  background: #aa535c;
}

#fixed-header {
  position: fixed;
  top: -42px;
  width: 100%;
  height: 42px;
  transition: 0.5s;
}
#fixed-header.is-show {
  top: 0;
}
#fixed-header.is-show a {
  font-size: 16px !important;
}
@media (max-width: 1300px) {
  #fixed-header {
    display: none;
  }
}

/* index main image
------------------------------------------------------------------*/
.index_main_image_wrapper {
  position: relative;
}
.index_main_image_wrapper .catchcopy {
  position: absolute;
  inset: 0;
  margin: auto;
  padding-bottom: 7vw;
  width: 80%;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 2;
}
@media screen and (min-width: 650px) {
  .index_main_image_wrapper .catchcopy {
    padding-bottom: 3vw;
  }
}
@media screen and (min-width: 1300px) {
  .index_main_image_wrapper .catchcopy {
    padding-bottom: 8vw;
  }
}
@media screen and (min-width: 1600px) {
  .index_main_image_wrapper .catchcopy {
    padding-bottom: 6vw;
  }
}
@media screen and (min-width: 1920px) {
  .index_main_image_wrapper .catchcopy {
    padding-bottom: 5vw;
  }
}
.index_main_image_wrapper .catchcopy p {
  color: #fff;
  text-align: center;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.9);
  font-family: "Shippori Mincho B1", serif;
  font-style: normal;
  /* 15-20 */
  font-size: clamp(0.9375rem, 0.7567rem + 0.7716vw, 1.25rem);
  font-weight: 600;
  line-height: 3;
}
@media screen and (min-width: 650px) {
  .index_main_image_wrapper .catchcopy p {
    line-height: 1.8;
  }
}
@media screen and (min-width: 1024px) {
  .index_main_image_wrapper .catchcopy p {
    /* 20-28 */
    font-size: clamp(1.25rem, 0.6786rem + 0.8929vw, 1.75rem);
    line-height: 2;
  }
}
@media screen and (min-width: 1300px) {
  .index_main_image_wrapper .catchcopy p {
    line-height: 2.2;
  }
}

/* キャッチコピーのフェードイン */
.index_main_image_wrapper .fadein_01 {
  animation-name: catch_01;
  animation-delay: 0.3s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes catch_01 {
  100% {
    opacity: 1;
  }
}
.index_main_image_wrapper .fadein_02 {
  animation-name: catch_02;
  animation-delay: 0.6s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes catch_02 {
  100% {
    opacity: 1;
  }
}
.index_main_image_wrapper .fadein_03 {
  animation-name: catch_03;
  animation-delay: 0.9s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes catch_03 {
  100% {
    opacity: 1;
  }
}
.index_main_image_wrapper .fadein_04 {
  animation-name: catch_04;
  animation-delay: 1.2s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes catch_04 {
  100% {
    opacity: 1;
  }
}
.index_main_image_wrapper .fadein_05 {
  animation-name: catch_05;
  animation-delay: 1.5s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes catch_05 {
  100% {
    opacity: 1;
  }
}
/* 予約フォーム
------------------------------------------------------------------*/
#booking {
  margin: -60px auto 0;
  max-width: 1000px;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1300px) {
  #booking {
    margin: -140px auto 0;
    padding: 0;
  }
}

#booking-tabs {
  display: flex;
}
#booking-tabs .booking-tabs-item {
  background: #aaa;
  text-align: center;
  cursor: pointer;
}
#booking-tabs .booking-tabs-item.booking-tabs-item.visitor.active {
  background: linear-gradient(0deg, #c47f25 39%, #e68b1c 100%);
  color: #fff;
}
#booking-tabs .booking-tabs-item.booking-tabs-item.active {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  color: #fff;
}
#booking-tabs .booking-tabs-item a {
  background: transparent;
  color: #fff;
  display: block;
  text-decoration: none;
  padding: 10px;
  width: 120px;
}
@media screen and (min-width: 1300px) {
  #booking-tabs .booking-tabs-item a {
    font-size: 18px;
    padding: 10px 10px 12px 10px;
    width: 140px;
  }
}

/* tabs hover */
@media (hover: hover) {
  #booking-tabs .booking-tabs-item a:hover {
    background: #aa535c;
  }
  #booking-tabs .booking-tabs-item.visitor a:hover {
    background: #ecb158;
  }
}
/* 本体 */
.booking-dyn {
  background: #fff;
  display: none;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
  padding: 20px;
}
@media screen and (min-width: 650px) {
  .booking-dyn {
    padding: 20px 30px;
  }
}
.booking-dyn.active {
  display: block;
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_flex {
    display: flex;
    flex-wrap: wrap;
    gap: 0 30px;
  }
}
@media screen and (min-width: 1300px) {
  .booking-dyn .yoyaku_flex {
    font-size: 18px;
  }
}
.booking-dyn .yoyaku_box01 {
  margin-bottom: 20px;
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_box01 {
    width: 100%;
  }
}
.booking-dyn .yoyaku_box01 p {
  color: #79232c;
  font-size: 18px;
  font-weight: 600;
  font-family: "Shippori Mincho B1", serif;
  font-style: normal;
}
@media screen and (min-width: 1300px) {
  .booking-dyn .yoyaku_box01 p {
    font-size: 20px;
  }
}
.booking-dyn .yoyaku_box01 p.visitor {
  color: #d97a00;
}
.booking-dyn .yoyaku_box02 {
  margin-bottom: 20px;
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_box02 {
    margin-bottom: 0;
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .booking-dyn .yoyaku_box02 {
    width: 300px;
  }
}
.booking-dyn .yoyaku_box03 {
  border-bottom: 1px solid #ccc;
  margin-bottom: 15px;
  padding-bottom: 15px;
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_box03 {
    border-bottom: 0;
    width: calc((100% - 30px) / 2);
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  .booking-dyn .yoyaku_box03 {
    width: calc(100% - 560px);
  }
}
.booking-dyn .yoyaku_box03 .yoyaku_box03_ninzu {
  margin-bottom: 20px;
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_box03 .yoyaku_box03_ninzu {
    margin-bottom: 10px;
  }
}
.booking-dyn .yoyaku_box03 .yoyaku_box03_ninzu .yoyaku_box03_ninzu_item {
  display: flex;
  gap: 30px;
}
.booking-dyn .yoyaku_box03 .yoyaku_box03_btn {
  display: flex;
  gap: 10px;
  text-align: center;
}
@media screen and (min-width: 1300px) {
  .booking-dyn .yoyaku_box03 .yoyaku_box03_btn {
    font-size: 16px;
  }
}
.booking-dyn .yoyaku_box03 .yoyaku_box03_btn > p, .booking-dyn .yoyaku_box03 .yoyaku_box03_btn > div {
  text-align: center;
  width: calc((100% - 10px) / 2);
}
.booking-dyn .yoyaku_box03 .yoyaku_box03_btn > p button,
.booking-dyn .yoyaku_box03 .yoyaku_box03_btn > p a, .booking-dyn .yoyaku_box03 .yoyaku_box03_btn > div button,
.booking-dyn .yoyaku_box03 .yoyaku_box03_btn > div a {
  color: #fff;
  cursor: pointer;
  display: block;
  text-decoration: none;
  padding: 12px 0;
  width: 100%;
}
@media screen and (min-width: 1300px) {
  .booking-dyn .yoyaku_box03 .yoyaku_box03_btn > p button,
  .booking-dyn .yoyaku_box03 .yoyaku_box03_btn > p a, .booking-dyn .yoyaku_box03 .yoyaku_box03_btn > div button,
  .booking-dyn .yoyaku_box03 .yoyaku_box03_btn > div a {
    padding: 12px 0 14px;
  }
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_box04 {
    border-top: 1px solid #ccc;
    display: flex;
    gap: 30px;
    margin-top: 20px;
    padding-top: 20px;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .booking-dyn .yoyaku_box04 {
    border: none;
    flex-direction: column;
    gap: 10px;
    width: 200px;
    margin-top: 0;
    padding-top: 0;
  }
}
@media screen and (min-width: 1300px) {
  .booking-dyn .yoyaku_box04 {
    font-size: 16px;
  }
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_box04 .yoyaku_box04_inner {
    display: flex;
    gap: 15px;
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .booking-dyn .yoyaku_box04 .yoyaku_box04_inner {
    gap: 10px;
    flex-direction: column;
    width: 100%;
  }
}
.booking-dyn .yoyaku_box04 .yoyaku_box04_inner a {
  color: #fff;
  display: block;
  text-decoration: none;
  margin-bottom: 10px;
  padding: 10px 0 10px 10px;
}
.booking-dyn .yoyaku_box04 .yoyaku_box04_inner a:last-of-type {
  margin-bottom: 5px;
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_box04 .yoyaku_box04_inner a {
    margin-bottom: 0;
    padding: 10px 0 10px 15px;
    width: 170px;
  }
  .booking-dyn .yoyaku_box04 .yoyaku_box04_inner a:last-of-type {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  .booking-dyn .yoyaku_box04 .yoyaku_box04_inner a {
    padding: 10px 0 12px 13px;
    width: 100%;
  }
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_box04 .yoyaku_box04_ul {
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .booking-dyn .yoyaku_box04 .yoyaku_box04_ul {
    border: none;
    margin-top: 0;
    padding-top: 0;
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
}
.booking-dyn .yoyaku_box04 .yoyaku_box04_ul li {
  position: relative;
  padding: 5px 0 5px 15px;
  width: 100%;
}
@media screen and (min-width: 650px) {
  .booking-dyn .yoyaku_box04 .yoyaku_box04_ul li {
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 1024px) {
  .booking-dyn .yoyaku_box04 .yoyaku_box04_ul li {
    width: 100%;
  }
}
.booking-dyn .yoyaku_box04 .yoyaku_box04_ul li::before {
  content: "";
  background: #79232c;
  border-radius: 50px;
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.booking-dyn .yoyaku_box04 .yoyaku_box04_ul li a:link {
  color: #2d2d2d;
  text-decoration: none;
}
.booking-dyn .yoyaku_box04 .yoyaku_box04_ul li a:visited {
  color: #2d2d2d;
  text-decoration: none;
}
@media (hover: hover) {
  .booking-dyn .yoyaku_box04 .yoyaku_box04_ul li a:hover {
    color: #2d2d2d;
    text-decoration: underline;
  }
}
.booking-dyn .yoyaku_box04 .yoyaku_box04_ul li a:active {
  color: #2d2d2d;
  text-decoration: underline;
}
.booking-dyn .yoyaku_box04 .yoyaku_box04_ul li a:focus {
  color: #2d2d2d;
  text-decoration: underline;
}
.booking-dyn .yoyaku_box04 .yoyaku_box04_ul.ippan li::before {
  background: linear-gradient(0deg, #c47f25 39%, #e68b1c 100%);
}
.booking-dyn .midashi {
  border-bottom: 1px solid #2d2d2d;
  font-size: 16px;
  margin-bottom: 10px;
  padding-bottom: 5px;
}
@media screen and (min-width: 1300px) {
  .booking-dyn .midashi {
    font-size: 18px;
  }
}
.booking-dyn .p01 {
  margin-bottom: 10px;
}
.booking-dyn input[type=text] {
  border: 1px solid #767676;
  font-size: 14px;
  text-align: center;
  padding: 5px;
}
@media screen and (min-width: 1300px) {
  .booking-dyn input[type=text] {
    font-size: 16px;
  }
}
.booking-dyn input[type=text].w01 {
  width: 70px;
}
.booking-dyn input[type=text].w02 {
  width: 50px;
}
.booking-dyn .custom_d {
  display: inline;
  position: relative;
}
.booking-dyn .custom_d::after {
  content: "▼";
  color: #333;
  font-size: 8px;
  position: absolute;
  top: 7px;
  right: 7px;
  margin: auto;
}
@media screen and (min-width: 1300px) {
  .booking-dyn .custom_d::after {
    top: 12px;
  }
}
.booking-dyn .custom_d select {
  background: transparent;
  border: 1px solid #767676;
  border-radius: 5px;
  color: #2d2d2d;
  font-size: 14px;
  display: inline-block;
  width: 50px;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  padding: 4px 10px 4px 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.booking-dyn .custom_d select option {
  text-align: center;
}
@media screen and (min-width: 1300px) {
  .booking-dyn .custom_d select {
    font-size: 16px;
  }
}

/* topics
------------------------------------------------------------------*/
#topics {
  margin: 12vw 0 11vw;
  padding: 0 20px;
}
@media screen and (min-width: 650px) {
  #topics {
    margin: 7vw 0;
  }
}
@media screen and (min-width: 1300px) {
  #topics {
    margin: 7vw 0 6vw;
  }
}
@media screen and (min-width: 1600px) {
  #topics {
    margin: 5vw 0 4vw;
  }
}

.topics_box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: flex-start;
  max-width: 1200px;
  margin: 0 auto 10vw;
}
@media screen and (min-width: 650px) {
  .topics_box {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 50px 15px;
    margin: 0 auto 8vw;
  }
}
@media screen and (min-width: 1024px) {
  .topics_box {
    margin: 0 auto 6vw;
  }
}
@media screen and (min-width: 1300px) {
  .topics_box {
    margin: 0 auto 5.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .topics_box {
    margin: 0 auto 3.5vw;
  }
}
.topics_box .item {
  color: #2d2d2d;
  background: #f9f4f4;
  text-decoration: none;
  position: relative;
}
@media screen and (min-width: 650px) {
  .topics_box .item {
    flex-direction: row;
    width: calc((100% - 15px) / 2);
  }
}
@media screen and (min-width: 1024px) {
  .topics_box .item {
    width: calc((100% - 30px) / 3);
  }
}
.topics_box .item .cat_box {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.topics_box .item .eye img {
  aspect-ratio: 3/2;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.topics_box .item .info {
  padding: 20px 20px 50px;
}
@media screen and (min-width: 1024px) {
  .topics_box .item .info {
    padding-bottom: 55px;
  }
}
.topics_box .item .info .day_new_pickup {
  display: flex;
  align-self: center;
  gap: 10px;
  margin-bottom: 15px;
}
.topics_box .item .info .day_new_pickup > * {
  margin-bottom: 0;
}
.topics_box .item .info .day_new_pickup time {
  display: block;
  padding: 3px 0px;
}
@media screen and (min-width: 1300px) {
  .topics_box .item .info .day_new_pickup time {
    font-size: 16px;
  }
}
.topics_box .item .info .day_new_pickup .new_icon {
  border: 1px solid #79232c;
  color: #79232c;
  padding: 2px 7px 4px;
}
.topics_box .item .info .day_new_pickup .kotei_icon {
  background: #9f7f00;
  border: 1px solid #9f7f00;
  color: #fff;
  padding: 2px 7px 4px;
}
.topics_box .item .info .title {
  color: #79232c;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
  line-height: 1.2;
}
@media screen and (min-width: 1300px) {
  .topics_box .item .info .title {
    font-size: 20px;
  }
}
.topics_box .item .info .excerpt p {
  margin-bottom: 0.25rem;
  line-height: 1.4;
}
@media screen and (min-width: 1300px) {
  .topics_box .item .info .excerpt p {
    font-size: 16px;
    margin-bottom: 0.5rem;
  }
}
.topics_box .item .info .excerpt strong {
  font-weight: bold;
}
.topics_box .item .info .more {
  position: absolute;
  right: 50px;
  bottom: 20px;
}
@media screen and (min-width: 1024px) {
  .topics_box .item .info .more {
    right: 50px;
  }
}
@media screen and (min-width: 1300px) {
  .topics_box .item .info .more {
    font-size: 16px;
  }
}
.topics_box .item .info .more::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #2d2d2d;
  border-right: 0;
  position: absolute;
  right: -20px;
  top: 2px;
}
@media screen and (min-width: 1300px) {
  .topics_box .item .info .more::after {
    top: 4px;
  }
}
@media (hover: hover) {
  .topics_box .item:hover {
    background: #fff;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  }
}
.topics_box .no_post {
  font-size: 16px;
  text-align: center;
  padding: 30px 0;
  width: 100%;
}

/* カテゴリーの色 */
.cat {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  color: #fff;
  padding: 5px 8px 7px;
}
@media screen and (min-width: 1300px) {
  .cat {
    padding: 8px 13px 10px;
  }
}
.cat.restaurant {
  background: linear-gradient(0deg, #c47f25 39%, #e68b1c 100%);
}
.cat.takeout {
  background: linear-gradient(0deg, #108830 34%, #18a914);
}
.cat.stay {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
}
.cat.event {
  background: linear-gradient(0deg, #b38f00 46%, #d6ab00 100%);
}
.cat.banquet {
  background: linear-gradient(0deg, #3357c4 39%, #6c6cff 100%);
}
.cat.other {
  background: linear-gradient(0deg, #404040 39%, #757575 100%);
}

/* ページ埋め込みの背景は白！ */
.topics_box .item.page_include {
  background: #fff;
}

.limit {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.limit .kikan01 {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  color: #fff;
  font-size: 12px;
  padding: 5px 10px;
  text-align: center;
  width: 60px;
}
@media screen and (min-width: 1024px) {
  .limit .kikan01 {
    padding: 5px 10px 7px;
  }
}
@media screen and (min-width: 1300px) {
  .limit .kikan01 {
    font-size: 16px;
  }
}
.limit .kikan02 {
  flex: 1;
  line-height: 1.1;
}
@media screen and (min-width: 1300px) {
  .limit .kikan02 {
    font-size: 16px;
  }
}

.archive_btn_wrapper {
  text-align: center;
}

/* index information
------------------------------------------------------------------*/
#information {
  background: url(../image/wave_bg.webp) left top;
  margin-bottom: 10vw;
  padding: 11vw 20px 10vw;
}
@media screen and (min-width: 650px) {
  #information {
    margin-bottom: 0;
    padding: 7vw 20px;
  }
}
@media screen and (min-width: 1300px) {
  #information {
    padding: 6vw 0;
  }
}
@media screen and (min-width: 1600px) {
  #information {
    padding: 4vw 0;
  }
}
#information .index_info_box {
  background: #fff;
  margin: 0 auto 10vw;
  padding: 15px;
  width: 100%;
  max-width: 1000px;
}
@media screen and (min-width: 650px) {
  #information .index_info_box {
    margin-bottom: 6vw;
    padding: 30px 20px 30px 30px;
  }
}
@media screen and (min-width: 1024px) {
  #information .index_info_box {
    padding: 40px 30px 40px 40px;
  }
}
@media screen and (min-width: 1300px) {
  #information .index_info_box {
    margin-bottom: 5.5vw;
  }
}
@media screen and (min-width: 1600px) {
  #information .index_info_box {
    margin-bottom: 4vw;
  }
}
@media screen and (min-width: 1920px) {
  #information .index_info_box {
    margin-bottom: 3.5vw;
  }
}
#information .index_info_box ul {
  height: 20rem;
  overflow-y: auto;
}
#information .index_info_box ul li {
  border-bottom: 1px solid #ddd;
  margin-bottom: 15px;
  padding-bottom: 15px;
  width: 95%;
}
@media screen and (min-width: 650px) {
  #information .index_info_box ul li {
    display: flex;
    align-items: center;
    gap: 40px;
  }
}
@media screen and (min-width: 1024px) {
  #information .index_info_box ul li {
    width: 97%;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}
#information .index_info_box ul li time {
  background: linear-gradient(0deg, #b38f00 46%, #d6ab00 100%);
  color: #fff;
  display: inline-block;
  margin-bottom: 10px;
  padding: 7px 10px;
}
@media screen and (min-width: 650px) {
  #information .index_info_box ul li time {
    text-align: center;
    margin-bottom: 0;
    width: 140px;
  }
}
@media screen and (min-width: 1300px) {
  #information .index_info_box ul li time {
    font-size: 16px;
  }
}
#information .index_info_box ul li:last-of-type {
  border: none;
  padding: 0;
}
#information .index_info_box ul li p {
  line-height: 1.4;
}
@media screen and (min-width: 650px) {
  #information .index_info_box ul li p {
    flex: 1;
  }
}
@media screen and (min-width: 1300px) {
  #information .index_info_box ul li p {
    font-size: 18px;
  }
}
#information .index_info_box ul li p a {
  text-decoration: none;
}
#information .index_info_box ul li p a:link {
  color: #2d2d2d;
}
#information .index_info_box ul li p a:visited {
  color: #2d2d2d;
}
@media (hover: hover) {
  #information .index_info_box ul li p a:hover {
    color: #2d2d2d;
    text-decoration: underline;
  }
}
#information .index_info_box ul li p a:active {
  color: #2d2d2d;
}
#information .index_info_box ul li p .new_icon {
  border: 1px solid #79232c;
  color: #79232c;
  font-size: 12px;
  display: inline-block;
  margin-left: 5px;
  padding: 1px 5px 3px;
}
@media screen and (min-width: 1300px) {
  #information .index_info_box ul li p .new_icon {
    font-size: 14px;
    margin-left: 7px;
    padding: 3px 6px 5px;
  }
}

/* index pickup
------------------------------------------------------------------*/
.index_pickup_flex {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0 auto 40px;
  width: 100%;
  max-width: 1200px;
  overflow: hidden;
}
.index_pickup_flex:last-of-type {
  margin-bottom: 0;
}
@media screen and (min-width: 650px) {
  .index_pickup_flex {
    align-items: center;
    flex-direction: row;
    gap: 0;
    margin-bottom: 0;
  }
  .index_pickup_flex:nth-child(even) {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 650px) {
  .index_pickup_flex .index_pickup_text {
    width: 50%;
  }
}
.index_pickup_flex .index_pickup_text .title_box {
  display: flex;
  align-items: flex-end;
  gap: 15px;
  margin-bottom: 15px;
  padding-bottom: 10px;
  position: relative;
  font-family: "Shippori Mincho B1", serif;
  font-style: normal;
}
@media screen and (min-width: 1024px) {
  .index_pickup_flex .index_pickup_text .title_box {
    gap: 25px;
  }
}
.index_pickup_flex .index_pickup_text .title_box h3 {
  font-size: 26px;
  padding: 0 0 0 20px;
}
@media screen and (min-width: 1024px) {
  .index_pickup_flex .index_pickup_text .title_box h3 {
    font-size: 32px;
  }
}
@media screen and (min-width: 1300px) {
  .index_pickup_flex .index_pickup_text .title_box h3 {
    font-size: 38px;
    padding: 0;
  }
}
@media screen and (min-width: 650px) {
  .index_pickup_flex .index_pickup_text .title_box p {
    font-size: 12px;
  }
}
@media screen and (min-width: 1024px) {
  .index_pickup_flex .index_pickup_text .title_box p {
    font-size: 14px;
  }
}
@media screen and (min-width: 1300px) {
  .index_pickup_flex .index_pickup_text .title_box p {
    font-size: 18px;
  }
}
.index_pickup_flex .index_pickup_text .text_box {
  margin-bottom: 4vw;
  padding: 0 20px;
}
@media screen and (min-width: 650px) {
  .index_pickup_flex .index_pickup_text .text_box {
    margin-bottom: 2vw;
  }
}
@media screen and (min-width: 1300px) {
  .index_pickup_flex .index_pickup_text .text_box {
    padding: 0 40px 0 0;
  }
}
.index_pickup_flex .index_pickup_text .text_box p {
  line-height: 1.4;
}
@media screen and (min-width: 1024px) {
  .index_pickup_flex .index_pickup_text .text_box p {
    font-size: 16px;
    line-height: 1.6;
  }
}
.index_pickup_flex .index_pickup_text .archive_btn_wrapper {
  text-align: left;
  padding: 0 20px;
}
@media screen and (min-width: 1300px) {
  .index_pickup_flex .index_pickup_text .archive_btn_wrapper {
    padding: 0;
  }
}
.index_pickup_flex .index_pickup_text .archive_btn_wrapper a {
  padding: 10px 60px 10px 15px;
}
@media screen and (min-width: 1024px) {
  .index_pickup_flex .index_pickup_text .archive_btn_wrapper a {
    padding: 10px 60px 12px 15px;
  }
}
@media screen and (min-width: 1300px) {
  .index_pickup_flex .index_pickup_text .archive_btn_wrapper a {
    padding: 15px 60px 15px 18px;
  }
}
.index_pickup_flex .index_pickup_text .archive_btn_wrapper a::after {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #fff;
}
@media screen and (min-width: 650px) {
  .index_pickup_flex .index_pickup_image {
    width: 50%;
  }
}
.index_pickup_flex .index_pickup_image img {
  width: 100%;
  aspect-ratio: 10/6.8;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 650px) {
  .index_pickup_flex .index_pickup_image img {
    aspect-ratio: 4/3;
  }
}
@media screen and (min-width: 1024px) {
  .index_pickup_flex .index_pickup_image img {
    aspect-ratio: 10/6;
  }
}

/* flexがrow-reverseのpadding設定 */
@media screen and (min-width: 1300px) {
  .index_pickup_flex:nth-child(even) .index_pickup_text {
    padding-left: 30px;
  }
}
/* あずき色の疑似要素下線 */
.index_pickup_flex .title_box::after {
  content: "";
  background: #79232c;
  display: block;
  width: 200%;
  height: 1px;
  position: absolute;
  bottom: 0;
  right: -50px;
}
.index_pickup_flex:nth-child(even) .title_box::after {
  right: unset;
  left: -80px;
}

/* index access
------------------------------------------------------------------*/
#access {
  background: url(../image/wave_bg.webp) left top;
  margin-bottom: 0;
  padding: 11vw 20px 20px;
}
@media screen and (min-width: 650px) {
  #access {
    padding: 7vw 20px;
  }
}
@media screen and (min-width: 1300px) {
  #access {
    padding: 6vw 0;
  }
}
@media screen and (min-width: 1600px) {
  #access {
    padding: 5vw 0;
  }
}
#access .index_access_wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 650px) {
  #access .index_access_wrapper {
    flex-direction: row;
    gap: 30px;
    padding-top: 10px;
  }
}
@media screen and (min-width: 1300px) {
  #access .index_access_wrapper {
    gap: 50px;
    max-width: 1200px;
    margin: auto;
  }
}
@media screen and (min-width: 650px) {
  #access .index_access_wrapper .index_address_box {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (min-width: 1300px) {
  #access .index_access_wrapper .index_address_box {
    width: calc((100% - 50px) / 2);
  }
}
#access .index_access_wrapper .index_address_box address {
  display: block;
  margin-bottom: 15px;
  text-align: center;
}
@media screen and (min-width: 650px) {
  #access .index_access_wrapper .index_address_box address {
    text-align: left;
  }
}
@media screen and (min-width: 1024px) {
  #access .index_access_wrapper .index_address_box address {
    margin-bottom: 25px;
  }
}
@media screen and (min-width: 1300px) {
  #access .index_access_wrapper .index_address_box address {
    margin-bottom: 30px;
  }
}
#access .index_access_wrapper .index_address_box address strong {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (min-width: 1024px) {
  #access .index_access_wrapper .index_address_box address strong {
    font-size: 26px;
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 1300px) {
  #access .index_access_wrapper .index_address_box address strong {
    font-size: 30px;
    margin-bottom: 20px;
  }
}
#access .index_access_wrapper .index_address_box address p {
  line-height: 1.4;
}
@media screen and (min-width: 1024px) {
  #access .index_access_wrapper .index_address_box address p {
    font-size: 16px;
    line-height: 1.6;
  }
}
@media screen and (min-width: 1300px) {
  #access .index_access_wrapper .index_address_box address p {
    font-size: 18px;
  }
}
#access .index_access_wrapper .index_address_box .item h4 {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  color: #fff;
  margin-bottom: 10px;
  padding: 8px 0 8px 10px;
}
@media screen and (min-width: 650px) {
  #access .index_access_wrapper .index_address_box .item h4 {
    margin-bottom: 15px;
    padding: 12px 0 12px 16px;
  }
}
@media screen and (min-width: 1024px) {
  #access .index_access_wrapper .index_address_box .item h4 {
    padding: 12px 0 14px 16px;
  }
}
@media screen and (min-width: 1300px) {
  #access .index_access_wrapper .index_address_box .item h4 {
    font-size: 20px;
    padding: 15px 0 17px 20px;
  }
}
#access .index_access_wrapper .index_address_box .item p {
  line-height: 1.6;
  margin-bottom: 15px;
  padding: 0 3px;
}
@media screen and (min-width: 650px) {
  #access .index_access_wrapper .index_address_box .item p {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1024px) {
  #access .index_access_wrapper .index_address_box .item p {
    margin-bottom: 25px;
  }
}
@media screen and (min-width: 1300px) {
  #access .index_access_wrapper .index_address_box .item p {
    font-size: 18px;
    margin-bottom: 35px;
  }
}
#access .index_access_wrapper .index_address_box .item .mb00 {
  margin-bottom: 0;
}
@media screen and (min-width: 650px) {
  #access .index_access_wrapper .index_address_map {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (min-width: 1300px) {
  #access .index_access_wrapper .index_address_map {
    width: calc((100% - 50px) / 2);
  }
}
#access .index_access_wrapper .index_address_map img {
  width: 100%;
  margin-bottom: 40px;
}
#access .index_access_wrapper .index_address_map .index_address_googlemap {
  width: 100%;
  height: 300px;
}
@media screen and (min-width: 650px) {
  #access .index_access_wrapper .index_address_map .index_address_googlemap {
    height: 250px;
  }
}
#access .index_access_wrapper .index_address_map .index_address_googlemap iframe {
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.2);
}

/* サンセールの意味
------------------------------------------------------------------*/
.sansere_wrapper {
  background: url(../image/footer_sansere_bg.webp) no-repeat center top;
  background-size: cover;
  text-align: center;
  position: relative;
}
.sansere_wrapper::after {
  content: "";
  background-color: rgba(0, 0, 0, 0.4);
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.sansere_wrapper img {
  width: 80%;
  filter: drop-shadow(0 0 3px #2d2d2d);
  padding: 50px 0;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 650px) {
  .sansere_wrapper img {
    max-width: 340px;
    padding: 60px 0;
  }
}
@media screen and (min-width: 1024px) {
  .sansere_wrapper img {
    max-width: 500px;
    padding: 80px 0;
  }
}
@media screen and (min-width: 1300px) {
  .sansere_wrapper img {
    max-width: 580px;
    padding: 120px 0;
  }
}
@media screen and (min-width: 1600px) {
  .sansere_wrapper img {
    max-width: 660px;
    padding: 170px 0;
  }
}

/* footer
------------------------------------------------------------------*/
footer {
  padding: 10vw 0;
}
@media screen and (min-width: 650px) {
  footer {
    padding: 6vw 0;
  }
}
@media screen and (min-width: 1024px) {
  footer {
    padding: 4vw 0;
  }
}
footer .pagetop {
  cursor: pointer;
  position: fixed;
  right: 20px;
  bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  color: #00a6c4;
  z-index: 1;
  opacity: 0;
}
footer .pagetop img {
  width: 120px;
  height: auto;
}
@media screen and (min-width: 650px) {
  footer .pagetop img {
    width: 150px;
  }
}
footer .f_wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
@media screen and (min-width: 650px) {
  footer .f_wrapper {
    gap: 20px;
    flex-direction: row;
  }
}
@media screen and (min-width: 1300px) {
  footer .f_wrapper {
    gap: 70px;
  }
}
footer .f_wrapper .f_left {
  text-align: center;
  padding: 0 20px;
}
@media screen and (min-width: 650px) {
  footer .f_wrapper .f_left {
    text-align: left;
    width: calc((100% - 20px) / 2);
  }
}
@media screen and (min-width: 1300px) {
  footer .f_wrapper .f_left {
    padding: 0;
    width: calc((100% - 70px) / 2);
  }
}
footer .f_wrapper .f_left .logo {
  width: 60%;
  margin-bottom: 20px;
  max-width: 320px;
}
@media screen and (min-width: 1300px) {
  footer .f_wrapper .f_left .logo {
    margin-bottom: 25px;
  }
}
footer .f_wrapper .f_left address {
  display: block;
  line-height: 1.6;
  margin-bottom: 15px;
}
@media screen and (min-width: 1024px) {
  footer .f_wrapper .f_left address {
    font-size: 16px;
  }
}
@media screen and (min-width: 1300px) {
  footer .f_wrapper .f_left address {
    font-size: 18px;
  }
}
footer .f_wrapper .f_left .archive_btn_wrapper {
  margin-bottom: 20px;
}
@media screen and (min-width: 650px) {
  footer .f_wrapper .f_left .archive_btn_wrapper {
    text-align: left;
  }
}
footer .f_wrapper .f_left .gaikan {
  box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.15);
  width: 100%;
}
footer .f_wrapper .f_right {
  padding: 0 20px;
}
@media screen and (min-width: 650px) {
  footer .f_wrapper .f_right {
    width: calc((100% - 20px) / 2);
  }
}
@media screen and (min-width: 1300px) {
  footer .f_wrapper .f_right {
    padding: 0;
    width: calc((100% - 70px) / 2);
  }
}
footer .f_wrapper .f_right .f_right_flex {
  display: flex;
  justify-content: space-between;
}
footer .f_wrapper .f_right .f_right_flex > div ul {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
@media screen and (min-width: 1300px) {
  footer .f_wrapper .f_right .f_right_flex > div ul {
    gap: 25px;
  }
}
footer .f_wrapper .f_right .f_right_flex > div ul li {
  position: relative;
  padding-left: 25px;
}
@media screen and (min-width: 1300px) {
  footer .f_wrapper .f_right .f_right_flex > div ul li {
    font-size: 16px;
  }
}
footer .f_wrapper .f_right .f_right_flex > div ul li::before {
  content: "";
  background: #79232c;
  display: block;
  width: 15px;
  height: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
footer .f_wrapper .f_right .f_right_flex > div ul li a:link {
  color: #2d2d2d;
  text-decoration: none;
}
footer .f_wrapper .f_right .f_right_flex > div ul li a:visited {
  color: #2d2d2d;
  text-decoration: none;
}
@media (hover: hover) {
  footer .f_wrapper .f_right .f_right_flex > div ul li a:hover {
    color: #2d2d2d;
    text-decoration: underline;
  }
}
footer .f_wrapper .f_right .f_right_flex > div ul li a:active {
  color: #2d2d2d;
  text-decoration: underline;
}
footer .f_wrapper .f_right .f_right_sns {
  display: flex;
  gap: 10px;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding: 30px 0;
  width: auto;
}
@media screen and (min-width: 650px) {
  footer .f_wrapper .f_right .f_right_sns {
    justify-content: flex-start;
  }
}
@media screen and (min-width: 1300px) {
  footer .f_wrapper .f_right .f_right_sns {
    padding: 40px 0 35px;
  }
}
footer .f_wrapper .f_right .f_right_sns div {
  width: -moz-fit-content;
  width: fit-content;
}
footer .f_wrapper .f_right .f_right_sns div a {
  display: block;
}
footer .f_wrapper .f_right .f_right_sns div a img {
  width: auto;
  height: 35px;
}
@media screen and (min-width: 1300px) {
  footer .f_wrapper .f_right .f_right_sns div a img {
    height: 40px;
  }
}
@media (hover: hover) {
  footer .f_wrapper .f_right .f_right_sns div a:hover {
    opacity: 0.6;
  }
}
footer .f_wrapper .f_right .banner_area {
  text-align: center;
}
@media screen and (min-width: 650px) {
  footer .f_wrapper .f_right .banner_area {
    text-align: left;
  }
}
@media (hover: hover) {
  footer .f_wrapper .f_right .banner_area a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1024px) {
  footer .f_wrapper .azuki_arrow {
    padding: 10px 50px 12px 15px;
  }
  footer .f_wrapper .azuki_arrow::after {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 9px solid #fff;
    top: 1px;
  }
}

.copy {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  color: #fff;
  font-size: 12px;
  text-align: center;
  padding: 10px 0;
}
@media screen and (min-width: 1024px) {
  .copy {
    font-size: 14px;
    padding: 15px;
  }
}
@media screen and (min-width: 1300px) {
  .copy {
    font-size: 16px;
    padding: 20px;
  }
}

/*------------------------------------------------------------------

ページ

------------------------------------------------------------------*/
/* 薄い灰色の背景をウィンドウ幅100%にする */
.gray_bg_wrapper {
  background: #f4f4f4;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.gray_bg_wrapper > div {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  padding: 2.5rem 20px 2.5rem;
}
@media screen and (min-width: 650px) {
  .gray_bg_wrapper > div {
    padding: 5rem 20px 3rem;
  }
}
@media screen and (min-width: 1024px) {
  .gray_bg_wrapper > div {
    padding: 4.5rem 20px;
  }
}

/* ページヘッダー */
#page_header .ph_wrapper {
  /* box-shadow: 0px 5px 10px -7px rgba(0, 0, 0, 0.2); */
  position: relative;
  z-index: 9;
}
#page_header .ph_wrapper h1 {
  background: #fff;
  font-size: 20px;
  font-weight: bold;
  padding: 30px 10px;
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-style: normal;
}
@media screen and (min-width: 650px) {
  #page_header .ph_wrapper h1 {
    font-size: 28px;
    padding: 40px 20px;
  }
}
@media screen and (min-width: 1300px) {
  #page_header .ph_wrapper h1 {
    font-size: 32px;
    padding: 50px 20px;
  }
}
#page_header .page_header_image {
  /* width: 100%;
  height: 3px;
  background: $azuki_gradient; */
}
#page_header .page_header_image .common {
  aspect-ratio: 100/30;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top right;
     object-position: top right;
  width: 100%;
}
@media screen and (min-width: 650px) {
  #page_header .page_header_image .common {
    aspect-ratio: unset;
  }
}

/* swiper
------------------------------------------------------------------*/
.swiper-content {
  position: relative;
  overflow: hidden;
  /* box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.3); */
}
.swiper-content img {
  width: 100%;
  position: relative;
}

/* パンくず
------------------------------------------------------------------*/
.breadcrumbs {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 20px;
  line-height: 1.3;
}
@media screen and (min-width: 1300px) {
  .breadcrumbs {
    font-size: 16px;
    padding: 30px 0;
  }
}
.breadcrumbs a {
  color: #2d2d2d;
}
.breadcrumbs a:link {
  text-decoration: none;
}
.breadcrumbs a:visited {
  text-decoration: none;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs a:active {
  text-decoration: underline;
}
.breadcrumbs .arrow {
  background: url(../image/bread_arrow.svg) no-repeat center;
  background-size: cover;
  display: inline-block;
  aspect-ratio: 4/5;
  width: 7px;
  margin: 0 8px 0 10px;
}
@media screen and (min-width: 1300px) {
  .breadcrumbs .arrow {
    margin: 0 12px 0 14px;
  }
}

/* main調整
------------------------------------------------------------------*/
main {
  margin-top: 10vw;
  overflow-x: hidden;
}
@media screen and (min-width: 650px) {
  main {
    margin-top: 8vw;
  }
}
@media screen and (min-width: 1300px) {
  main {
    margin-top: 7vw;
  }
}
@media screen and (min-width: 1600px) {
  main {
    margin-top: 5vw;
  }
}

/* information archive */
.post-type-archive-information main {
  margin-top: 0;
}

/*------------------------------------------------------------------

アーカイブ

------------------------------------------------------------------*/
/* Information Archive
------------------------------------------------------------------*/
#information.information_archive {
  margin-bottom: 0;
  padding: 20px;
}
@media screen and (min-width: 1300px) {
  #information.information_archive {
    padding: 40px 0 30px;
  }
}
#information.information_archive .index_info_wrapper {
  width: 100%;
  max-width: 1000px;
  margin: auto;
}
#information.information_archive .index_info_wrapper .index_info_box {
  margin-bottom: 0;
}
#information.information_archive .index_info_wrapper .index_info_box ul {
  height: auto;
  overflow: unset;
}
#information.information_archive .index_info_wrapper .index_info_box ul li:last-of-type {
  margin-bottom: 0;
}

/* TOPICS Archive
------------------------------------------------------------------*/
#topics.topics_archive {
  margin: 0;
  padding: 0 20px 20px;
}
@media screen and (min-width: 1300px) {
  #topics.topics_archive {
    padding: 0 0 30px;
  }
}
#topics.topics_archive .post_cate_linkbox {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
#topics.topics_archive .post_cate_linkbox .post_cate_linkbox_innder {
  display: inline-block;
  border: 1px solid #aaa;
  margin-bottom: 20px;
  position: relative;
}
@media screen and (min-width: 1024px) {
  #topics.topics_archive .post_cate_linkbox .post_cate_linkbox_innder {
    margin-bottom: 30px;
  }
}
#topics.topics_archive .post_cate_linkbox .post_cate_linkbox_innder::after {
  content: "";
  border-right: 2px solid #65403e;
  border-top: 2px solid #65403e;
  width: 8px;
  height: 7px;
  padding: 0;
  position: absolute;
  top: 11px;
  right: 11px;
  transform: rotate(135deg);
}
@media screen and (min-width: 1024px) {
  #topics.topics_archive .post_cate_linkbox .post_cate_linkbox_innder::after {
    top: 15px;
    right: 17px;
  }
}
#topics.topics_archive .post_cate_linkbox .post_cate_linkbox_innder select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  color: #2d2d2d;
  font-size: 14px;
  display: inline-block;
  padding: 10px 35px 10px 10px;
}
@media screen and (min-width: 1024px) {
  #topics.topics_archive .post_cate_linkbox .post_cate_linkbox_innder select {
    font-size: 16px;
    padding: 15px 50px 15px 15px;
  }
}
#topics.topics_archive .post_cate_linkbox .topics_box {
  margin-bottom: 0;
}
#topics.topics_archive .post_cate_linkbox .topics_box .no_post {
  font-size: 16px;
  text-align: center;
  padding: 30px 0;
}

/* ページネーション
------------------------------------------------------------------*/
.pagination_box {
  padding-top: 20px;
}
@media screen and (min-width: 650px) {
  .pagination_box {
    padding: 30px 0 10px;
  }
}
@media screen and (min-width: 1300px) {
  .pagination_box {
    padding: 50px 0 20px;
  }
}
.pagination_box .nav-links {
  display: flex;
  gap: 5px;
  justify-content: center;
}
@media screen and (min-width: 650px) {
  .pagination_box .nav-links {
    font-size: 14px;
  }
}
@media screen and (min-width: 1300px) {
  .pagination_box .nav-links {
    font-size: 16px;
    gap: 7px;
  }
}
.pagination_box .nav-links a {
  text-decoration: none;
}
.pagination_box .nav-links a.page-numbers {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  border: 1px solid #79232c;
  color: #fff;
  padding: 6px 10px;
}
@media screen and (min-width: 1300px) {
  .pagination_box .nav-links a.page-numbers {
    padding: 10px 13px;
  }
}
@media (hover: hover) {
  .pagination_box .nav-links a.page-numbers:hover {
    background: #fff;
    color: #79232c;
  }
}
.pagination_box .nav-links a.prev.page-numbers, .pagination_box .nav-links a.next.page-numbers {
  background: transparent;
  border: none;
  color: #79232c;
}
@media (hover: hover) {
  .pagination_box .nav-links a.prev.page-numbers:hover, .pagination_box .nav-links a.next.page-numbers:hover {
    text-decoration: underline;
  }
}
.pagination_box .nav-links .page-numbers.current {
  background: #fff;
  border: 1px solid #79232c;
  color: #79232c;
  padding: 6px 10px;
}
@media screen and (min-width: 1300px) {
  .pagination_box .nav-links .page-numbers.current {
    padding: 10px 13px;
  }
}

/*------------------------------------------------------------------

下層ページ

------------------------------------------------------------------*/
/* 見出しデザイン
------------------------------------------------------------------*/
.is-style-heading_01 {
  font-size: 26px;
  text-align: center;
  margin-bottom: 2.75rem;
  font-family: "Lora", serif;
  font-optical-sizing: auto;
  font-style: normal;
  position: relative;
}
@media screen and (min-width: 650px) {
  .is-style-heading_01 {
    font-size: 30px;
  }
}
@media screen and (min-width: 1300px) {
  .is-style-heading_01 {
    font-size: 34px;
    margin-bottom: 3.5rem;
  }
}
.is-style-heading_01::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
  border-top: 9px solid #ecd5d8;
  border-bottom: 0;
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width: 1300px) {
  .is-style-heading_01::after {
    bottom: -22px;
    border-right: 45px solid transparent;
    border-left: 45px solid transparent;
    border-top: 10px solid #ecd5d8;
  }
}

.is-style-heading_02 {
  font-size: 20px;
  margin-bottom: 2rem;
  position: relative;
  font-family: "Shippori Mincho B1", serif;
  font-style: normal;
}
@media screen and (min-width: 650px) {
  .is-style-heading_02 {
    font-size: 24px;
  }
}
@media screen and (min-width: 1300px) {
  .is-style-heading_02 {
    font-size: 28px;
    margin-bottom: 2.5rem;
  }
}
.is-style-heading_02::before, .is-style-heading_02::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -12px;
  left: 0;
  width: 100%;
  height: 2px;
}
@media screen and (min-width: 1024px) {
  .is-style-heading_02::before, .is-style-heading_02::after {
    height: 3px;
  }
}
@media screen and (min-width: 1300px) {
  .is-style-heading_02::before, .is-style-heading_02::after {
    bottom: -16px;
    height: 4px;
  }
}
.is-style-heading_02::before {
  background: #79232c;
  width: 50%;
  z-index: 2;
}
.is-style-heading_02::after {
  background: #ca888f;
}

.is-style-heading_03 {
  border-left: 2px solid #79232c;
  font-size: 18px;
  margin-bottom: 1.25rem;
  padding: 5px 0 8px 10px;
  font-family: "Shippori Mincho B1", serif;
  font-style: normal;
}
@media screen and (min-width: 650px) {
  .is-style-heading_03 {
    font-size: 20px;
  }
}
@media screen and (min-width: 1024px) {
  .is-style-heading_03 {
    border-left: 3px solid #79232c;
    font-size: 22px;
    padding: 6px 0 10px 12px;
  }
}
@media screen and (min-width: 1300px) {
  .is-style-heading_03 {
    border-left: 4px solid #79232c;
    font-size: 24px;
  }
}

/* 表（table）
------------------------------------------------------------------*/
table {
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  table-layout: fixed;
}
table th,
table td {
  background: #fff;
  border: 1px solid #ccc;
  padding: 10px 30px;
}
@media screen and (min-width: 1024px) {
  table th,
  table td {
    font-size: 16px;
    padding: 15px 30px;
  }
}
table th {
  background: #79232c;
  color: #fff;
  text-align: center;
  vertical-align: middle;
}
table td {
  background: #fff;
  padding-left: 15px;
}
@media screen and (min-width: 1024px) {
  table td {
    padding-left: 20px;
  }
}

/* コンテンツ部分
------------------------------------------------------------------*/
.page_wrapper {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  padding: 0 20px 6vw;
}
@media screen and (min-width: 1024px) {
  .page_wrapper {
    padding-bottom: 4vw;
  }
}
.page_wrapper .post_infobox {
  color: #79232c;
  font-size: 14px;
  margin-bottom: 20px;
}
@media screen and (min-width: 1024px) {
  .page_wrapper .post_infobox {
    font-size: 16px;
    margin-bottom: 30px;
  }
}
.page_wrapper .post_catbox {
  margin: 0 0 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  font-size: 12px;
}
@media screen and (min-width: 1300px) {
  .page_wrapper .post_catbox {
    margin: 0 0 15px;
    font-size: 16px;
  }
}

/* コンテンツ部分　基本設定
------------------------------------------------------------------*/
.page_wrapper p {
  line-height: 1.4;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .page_wrapper p {
    font-size: 16px;
    margin-bottom: 1.75rem;
  }
}
.page_wrapper a:link {
  color: #2d2d2d;
  text-decoration: underline;
}
.page_wrapper a:visited {
  color: #2d2d2d;
  text-decoration: underline;
}
@media (hover: hover) {
  .page_wrapper a:hover {
    color: #2d2d2d;
    text-decoration: none;
  }
}
.page_wrapper a:active {
  color: #2d2d2d;
  text-decoration: none;
}
.page_wrapper ul {
  margin-bottom: 1.5rem;
  padding-left: 23px;
}
@media screen and (min-width: 1024px) {
  .page_wrapper ul {
    font-size: 16px;
    margin-bottom: 1.75rem;
  }
}
.page_wrapper ul li {
  line-height: 1.3;
  list-style-type: disc;
  padding: 3px 0;
}
@media screen and (min-width: 1024px) {
  .page_wrapper ul li {
    padding: 4px 0;
  }
}
.page_wrapper ol {
  margin-bottom: 1.5rem;
  padding-left: 18px;
}
@media screen and (min-width: 1024px) {
  .page_wrapper ol {
    font-size: 16px;
    margin-bottom: 1.75rem;
  }
}
.page_wrapper ol li {
  line-height: 1.3;
  list-style-type: decimal;
  padding: 3px 0;
}
@media screen and (min-width: 1024px) {
  .page_wrapper ol li {
    padding: 4px 0;
  }
}
.page_wrapper strong {
  font-weight: bold;
}

/* 通常のテキストリンクの色 */
body.single .page_wrapper *:not([class]) a:link {
  color: #006cd3;
  text-decoration: underline;
}
body.single .page_wrapper *:not([class]) a:visited {
  color: #006cd3;
  text-decoration: underline;
}
@media (hover: hover) {
  body.single .page_wrapper *:not([class]) a:hover {
    color: #006cd3;
    text-decoration: none;
  }
}
body.single .page_wrapper *:not([class]) a:active {
  color: #006cd3;
  text-decoration: none;
}

/* 画像ブロック */
.wp-block-image {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1300px) {
  .wp-block-image {
    margin-bottom: 3rem;
  }
}
.wp-block-image .wp-element-caption {
  color: #555;
  font-size: 80%;
  margin: 10px 0 0;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .wp-block-image .wp-element-caption {
    font-size: 90%;
  }
}

.wp-block-gallery {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1300px) {
  .wp-block-gallery {
    margin-bottom: 3rem;
  }
}

/* カラムブロック */
.wp-block-columns {
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .wp-block-columns {
    margin-bottom: 1.75rem;
  }
}

/* ファイルブロック */
.wp-block-file {
  margin-bottom: 1.25rem;
}
.wp-block-file a:first-child {
  color: #006cd3;
  font-size: 14px;
}
@media screen and (min-width: 1024px) {
  .wp-block-file a:first-child {
    font-size: 16px;
  }
}
.wp-block-file a:last-child {
  color: #fff !important;
  background: #79232c;
  font-size: 14px;
  text-decoration: none;
  padding: 5px 20px;
}
@media screen and (min-width: 650px) {
  .wp-block-file a:last-child {
    padding: 8px 20px;
  }
}
@media screen and (min-width: 1024px) {
  .wp-block-file a:last-child {
    font-size: 16px;
    padding: 8px 25px 9px;
  }
}

/* 段落　PDFリンク */
.page_wrapper .is-style-pdflink {
  margin-bottom: 1.5rem;
}
.page_wrapper .is-style-pdflink a {
  display: block;
  border: 1px solid #ccc;
  border-radius: 5px;
  color: #79232c;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  padding: 15px 40px 15px 55px;
  position: relative;
}
@media screen and (min-width: 650px) {
  .page_wrapper .is-style-pdflink a {
    padding: 20px 40px 20px 65px;
  }
}
@media screen and (min-width: 1024px) {
  .page_wrapper .is-style-pdflink a {
    font-size: 18px;
  }
}
.page_wrapper .is-style-pdflink a::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  margin: auto;
  background: url(../image/icon_mini_pdf.svg);
  background-size: cover;
}
@media screen and (min-width: 650px) {
  .page_wrapper .is-style-pdflink a::before {
    width: 35px;
    height: 35px;
    left: 17px;
  }
}
@media (hover: hover) {
  .page_wrapper .is-style-pdflink a:hover {
    opacity: 0.6;
  }
}

.page_wrapper .is-style-excellink {
  margin-bottom: 1.5rem;
}
.page_wrapper .is-style-excellink a {
  display: block;
  border: 1px solid #ccc;
  border-radius: 5px;
  color: #108830;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  padding: 15px 40px 15px 55px;
  position: relative;
}
@media screen and (min-width: 650px) {
  .page_wrapper .is-style-excellink a {
    padding: 20px 40px 20px 65px;
  }
}
@media screen and (min-width: 1024px) {
  .page_wrapper .is-style-excellink a {
    font-size: 18px;
  }
}
.page_wrapper .is-style-excellink a::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  margin: auto;
  background: url(../image/icon_mini_excel.svg);
  background-size: cover;
}
@media screen and (min-width: 650px) {
  .page_wrapper .is-style-excellink a::before {
    width: 35px;
    height: 35px;
    left: 17px;
  }
}
@media (hover: hover) {
  .page_wrapper .is-style-excellink a:hover {
    opacity: 0.6;
  }
}

.page_wrapper .is-style-googlelink {
  margin-bottom: 1.5rem;
}
.page_wrapper .is-style-googlelink a {
  display: block;
  border: 1px solid #ccc;
  border-radius: 5px;
  color: #6e46b3;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  padding: 15px 40px 15px 55px;
  position: relative;
}
@media screen and (min-width: 650px) {
  .page_wrapper .is-style-googlelink a {
    padding: 20px 40px 20px 65px;
  }
}
@media screen and (min-width: 1024px) {
  .page_wrapper .is-style-googlelink a {
    font-size: 18px;
  }
}
.page_wrapper .is-style-googlelink a::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12px;
  margin: auto;
  background: url(../image/icon_mini_google.svg);
  background-size: cover;
}
@media screen and (min-width: 650px) {
  .page_wrapper .is-style-googlelink a::before {
    width: 35px;
    height: 35px;
    left: 17px;
  }
}
@media (hover: hover) {
  .page_wrapper .is-style-googlelink a:hover {
    opacity: 0.6;
  }
}

/* 段落　外部リンク */
.page_wrapper .is-style-exlink {
  display: inline-block;
}
.page_wrapper .is-style-exlink a {
  color: #006cd3;
  position: relative;
}
.page_wrapper .is-style-exlink a::before {
  content: "";
  background: url(../image/icon_exlink.svg);
  background-size: cover;
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  bottom: 1px;
  right: -25px;
}
@media screen and (min-width: 1024px) {
  .page_wrapper .is-style-exlink a::before {
    bottom: 3px;
    width: 18px;
    height: 18px;
  }
}

/* 段落　内部リンク */
.page_wrapper .is-style-inlink {
  margin: 0 0 1.5rem 0;
}
.page_wrapper .is-style-inlink a {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  transition: 0.2s;
  padding: 10px 60px 10px 18px;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .page_wrapper .is-style-inlink a {
    padding: 15px 60px 17px 23px;
  }
}
.page_wrapper .is-style-inlink a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.page_wrapper .is-style-inlink a:hover {
  opacity: 0.7;
}

/* 宿泊
------------------------------------------------------------------*/
.page_wrapper.stay {
  padding-bottom: 0;
}

#page_include_post {
  background: url(../image/wave_bg.webp) left top;
  padding: 13vw 20px 10.5vw;
}
@media screen and (min-width: 650px) {
  #page_include_post {
    padding: 9vw 20px;
  }
}
@media screen and (min-width: 1024px) {
  #page_include_post {
    padding: 7vw 20px;
  }
}
@media screen and (min-width: 1300px) {
  #page_include_post {
    padding: 5.5vw 0;
  }
}
@media screen and (min-width: 1600px) {
  #page_include_post {
    padding: 4vw 0;
  }
}
#page_include_post .banner.stay {
  display: block;
}
#page_include_post .banner.stay #booking {
  margin-top: 0;
  padding: 0;
}
#page_include_post .topics_box {
  justify-content: center;
}

/* 各部屋 */
.stay_room_wrapper {
  margin-bottom: 5rem;
}
.stay_room_wrapper .stay_room_left table {
  border: none;
}
.stay_room_wrapper .stay_room_left table td {
  padding: 10px 20px 10px 0;
}
.stay_room_wrapper .stay_room_left table td:first-child {
  border: none;
}
.stay_room_wrapper .stay_room_left table td:last-child {
  border: none;
  padding-left: 20px;
  position: relative;
}
.stay_room_wrapper .stay_room_left table td:last-child::after {
  content: "";
  display: block;
  width: 1px;
  height: 60%;
  background: #2d2d2d;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.stay_room_wrapper .stay_room_right .stay_big_image img,
.stay_room_wrapper .stay_room_right .stay_thumbnail img {
  aspect-ratio: 16/10;
  cursor: pointer;
  -o-object-fit: cover;
     object-fit: cover;
}
.stay_room_wrapper .stay_room_right figure {
  margin-bottom: 0;
}
.stay_room_wrapper .stay_room_right .stay_thumbnail > div {
  display: flex;
  flex-wrap: wrap;
}
.stay_room_wrapper .stay_room_right .stay_thumbnail > div figure {
  background: #000;
  margin: 0;
  width: 33.3333333333%;
}
.stay_room_wrapper .stay_room_right .stay_thumbnail > div figure img {
  aspect-ratio: 16/10;
  cursor: pointer;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.8;
  transition: 0.2s;
}
@media (hover: hover) {
  .stay_room_wrapper .stay_room_right .stay_thumbnail > div figure img:hover {
    opacity: 1;
  }
}
.stay_room_wrapper.last {
  margin-bottom: 5rem;
}
.stay_room_wrapper .room_link {
  margin-bottom: 0;
}
.stay_room_wrapper .room_link.first a {
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
}
.stay_room_wrapper .room_link.second a {
  background: linear-gradient(0deg, #c47f25 39%, #e68b1c 100%);
}
.stay_room_wrapper .room_link.mb {
  margin-bottom: 2px;
}
.stay_room_wrapper .room_link a {
  color: #fff;
  display: block;
  padding: 13px 0 13px 15px;
  text-decoration: none;
  position: relative;
}
.stay_room_wrapper .room_link a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width: 1024px) {
  .stay_room_wrapper .room_link a::after {
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 9px solid #fff;
    top: 1px;
  }
}
@media (hover: hover) {
  .stay_room_wrapper .room_link a:hover {
    opacity: 0.75;
  }
}

/* 設備 */
.stay_setsubi_wrapper {
  gap: 20px;
  margin-bottom: 2rem;
}
@media screen and (min-width: 650px) {
  .stay_setsubi_wrapper {
    margin-bottom: 4rem;
  }
}
@media screen and (min-width: 1024px) {
  .stay_setsubi_wrapper {
    margin-bottom: 4.5rem;
  }
}
.stay_setsubi_wrapper .stay_setsubi_left,
.stay_setsubi_wrapper .stay_setsubi_right {
  background: #f9f4f4;
  border-radius: 10px;
  padding: 20px;
}
@media screen and (min-width: 1024px) {
  .stay_setsubi_wrapper .stay_setsubi_left,
  .stay_setsubi_wrapper .stay_setsubi_right {
    padding: 30px;
  }
}
.stay_setsubi_wrapper .stay_setsubi_left ul,
.stay_setsubi_wrapper .stay_setsubi_right ul {
  margin-bottom: 0;
  padding-left: 15px;
}
@media screen and (min-width: 650px) {
  .stay_setsubi_wrapper .stay_setsubi_left ul,
  .stay_setsubi_wrapper .stay_setsubi_right ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 60px;
  }
}
@media screen and (min-width: 1024px) {
  .stay_setsubi_wrapper .stay_setsubi_left ul,
  .stay_setsubi_wrapper .stay_setsubi_right ul {
    gap: 0;
  }
}
.stay_setsubi_wrapper .stay_setsubi_left ul li,
.stay_setsubi_wrapper .stay_setsubi_right ul li {
  list-style-type: none;
  padding: 4px 0;
  position: relative;
}
@media screen and (min-width: 650px) {
  .stay_setsubi_wrapper .stay_setsubi_left ul li,
  .stay_setsubi_wrapper .stay_setsubi_right ul li {
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 1024px) {
  .stay_setsubi_wrapper .stay_setsubi_left ul li,
  .stay_setsubi_wrapper .stay_setsubi_right ul li {
    padding: 10px 0;
    width: 50%;
  }
}
.stay_setsubi_wrapper .stay_setsubi_left ul li::before,
.stay_setsubi_wrapper .stay_setsubi_right ul li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #79232c;
  border-radius: 30px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -15px;
  margin: auto;
}

/* 施設 */
.stay_annai_wrapper {
  background: #f4f4f4;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.stay_annai_wrapper > div {
  width: 100%;
  max-width: 1000px;
  margin: auto;
  padding: 2rem 20px 2.5rem;
}
@media screen and (min-width: 650px) {
  .stay_annai_wrapper > div {
    padding: 4rem 20px;
  }
}
@media screen and (min-width: 1024px) {
  .stay_annai_wrapper > div {
    padding: 4.5rem 20px;
  }
}
.stay_annai_wrapper > div table {
  width: 100%;
}
.stay_annai_wrapper > div .wp-block-column {
  background: #fff;
}
.stay_annai_wrapper > div .wp-block-column h2 {
  margin: 0 20px 1.5rem;
}
.stay_annai_wrapper > div .wp-block-column p {
  margin: 0 20px 20px;
}
.stay_annai_wrapper > div .wp-block-column table {
  margin: 0 0 20px 20px;
  table-layout: fixed;
  width: calc(100% - 40px);
}
.stay_annai_wrapper > div .wp-block-column table th {
  width: 40%;
}
.stay_annai_wrapper > div .wp-block-column.d_none {
  background: transparent;
}

.stay_shisetsu {
  border-bottom: 1px solid #ccc;
  margin: 0 auto 2rem;
  line-height: 1.4;
  table-layout: fixed;
}
@media screen and (min-width: 1024px) {
  .stay_shisetsu {
    margin-bottom: 5rem;
  }
}
.stay_shisetsu th {
  border-bottom: none;
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 15px;
}
@media screen and (min-width: 650px) {
  .stay_shisetsu th {
    display: table-cell;
    width: 250px;
  }
}
.stay_shisetsu td {
  border-bottom: none;
  display: block;
  width: 100%;
  vertical-align: middle;
}
@media screen and (min-width: 650px) {
  .stay_shisetsu td {
    display: table-cell;
    width: auto;
  }
}

.stay_shisetsu_photo figure {
  margin-bottom: 1rem;
}
.stay_shisetsu_photo figure img {
  width: 100%;
}

.stay_shisetsu_photo.last {
  gap: 0;
  margin-bottom: 0;
}
@media screen and (min-width: 650px) {
  .stay_shisetsu_photo.last {
    gap: 2rem;
  }
}

.stay_room_wrapper.shisetsu {
  gap: 1rem;
  margin-bottom: 3rem;
}
@media screen and (min-width: 650px) {
  .stay_room_wrapper.shisetsu {
    gap: 2rem;
    margin-bottom: 5rem;
  }
}
.stay_room_wrapper.shisetsu figure {
  margin-bottom: 0;
}
.stay_room_wrapper.shisetsu p {
  margin-bottom: 1.5rem;
  padding: 0 3px;
}
.stay_room_wrapper.shisetsu p.room_link {
  max-width: 170px;
}
.stay_room_wrapper.shisetsu p.room_link a {
  padding: 10px 0 10px 15px;
}
.stay_room_wrapper.shisetsu.last {
  margin-bottom: 0;
}

/* レストラン
------------------------------------------------------------------*/
.page_wrapper .restaurant_p01 {
  line-height: 1.6;
}
@media screen and (min-width: 1300px) {
  .page_wrapper .restaurant_p01 {
    line-height: 2;
  }
}

.restaurant_lunch_table {
  margin: 0 auto 25px;
  table-layout: fixed;
  width: 100%;
}
@media screen and (min-width: 650px) {
  .restaurant_lunch_table {
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  .restaurant_lunch_table {
    margin: 0 auto 40px;
  }
}
.restaurant_lunch_table th {
  padding: 15px;
  width: 40%;
}
@media screen and (min-width: 650px) {
  .restaurant_lunch_table th {
    padding: 15px 35px;
  }
}
.restaurant_lunch_table td {
  line-height: 1.4;
}
@media screen and (min-width: 650px) {
  .restaurant_lunch_table td {
    width: auto;
    padding: 15px 25px;
  }
}

/* ミニギャラリー */
.restaurant_pic_box {
  margin-bottom: 12vw;
}
@media screen and (min-width: 1024px) {
  .restaurant_pic_box {
    margin-bottom: 8vw;
  }
}
@media screen and (min-width: 1300px) {
  .restaurant_pic_box {
    margin-bottom: 6vw;
  }
}
@media screen and (min-width: 1600px) {
  .restaurant_pic_box {
    margin-bottom: 5vw;
  }
}
.restaurant_pic_box img {
  transition: 0.2s;
}
@media (hover: hover) {
  .restaurant_pic_box img:hover {
    opacity: 0.75;
  }
}

/* ランチ */
.page_wrapper .restaurant_lunch_box {
  gap: 12vw;
  margin-bottom: 17vw;
}
@media screen and (min-width: 650px) {
  .page_wrapper .restaurant_lunch_box {
    gap: 2em;
    margin-bottom: 11vw;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper .restaurant_lunch_box {
    margin-bottom: 6vw;
  }
}
@media screen and (min-width: 1600px) {
  .page_wrapper .restaurant_lunch_box {
    margin-bottom: 5vw;
  }
}
.page_wrapper .restaurant_lunch_box figure {
  margin-bottom: 1rem;
}
.page_wrapper .restaurant_lunch_box img {
  width: 100%;
  aspect-ratio: 335/236;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.page_wrapper .restaurant_lunch_box .is-style-pdflink {
  margin-bottom: 0;
}
.page_wrapper .restaurant_lunch_box .is-style-pdflink a {
  margin-bottom: 0;
}

/* 写真 */
.restaurant_photo_wrapper {
  gap: 0;
}
.restaurant_photo_wrapper .restaurant_photo_big {
  margin-bottom: 0;
}
.restaurant_photo_wrapper .restaurant_photo_big img {
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
}
.restaurant_photo_wrapper .restaurant_photo_small > div {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.restaurant_photo_wrapper .restaurant_photo_small > div figure {
  background: #000;
  margin-bottom: 0;
  width: 33.3333333333%;
}
.restaurant_photo_wrapper .restaurant_photo_small > div figure img {
  aspect-ratio: 16/10;
  cursor: pointer;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.8;
  width: 100%;
  height: auto;
  transition: 0.2s;
}
@media (hover: hover) {
  .restaurant_photo_wrapper .restaurant_photo_small > div figure img:hover {
    opacity: 1;
  }
}

/* カトレア */
.restaurant_katorea_h {
  padding-top: 12vw;
}
@media screen and (min-width: 1024px) {
  .restaurant_katorea_h {
    padding-top: 8vw;
  }
}
@media screen and (min-width: 1300px) {
  .restaurant_katorea_h {
    padding-top: 5vw;
  }
}

.restaurant_katorea_wrapper p {
  margin-bottom: 0;
}
.restaurant_katorea_wrapper p.mb {
  margin-bottom: 1.25rem;
}
.restaurant_katorea_wrapper figure {
  margin-bottom: 0;
}
.restaurant_katorea_wrapper table {
  margin-bottom: 0;
  table-layout: fixed;
  width: 100%;
}
.restaurant_katorea_wrapper table th {
  width: 120px;
}

.restaurant_sumire_h {
  padding-top: 12vw;
}
@media screen and (min-width: 650px) {
  .restaurant_sumire_h {
    padding-top: 8vw;
  }
}
@media screen and (min-width: 1024px) {
  .restaurant_sumire_h {
    padding-top: 5vw;
  }
}
@media screen and (min-width: 1300px) {
  .restaurant_sumire_h {
    padding-top: 3vw;
  }
}

/* 会議・宴会
------------------------------------------------------------------*/
.meeting .page_wrapper {
  max-width: 450px;
  margin: auto;
}
@media (min-width: 782px) {
  .meeting .page_wrapper {
    max-width: 1200px;
  }
}

.page_wrapper .meeting_catchcopy {
  line-height: 2;
  margin: 0 0 2rem;
}
.page_wrapper .meeting_link_wrapper {
  margin-bottom: 2rem;
}
@media (min-width: 782px) {
  .page_wrapper .meeting_link_wrapper > div {
    padding-bottom: 60px;
    position: relative;
  }
}
.page_wrapper .meeting_link_wrapper figure {
  margin-bottom: 0;
}
.page_wrapper .meeting_link_wrapper figure img {
  transition: 0.2s;
}
@media (hover: hover) {
  .page_wrapper .meeting_link_wrapper figure img:hover {
    opacity: 0.7;
  }
}
.page_wrapper .meeting_link_wrapper h3 {
  color: #79232c;
  font-size: 22px;
  font-weight: bold;
  padding: 20px 0;
  font-family: "Shippori Mincho B1", serif;
  font-style: normal;
}
@media screen and (min-width: 1024px) {
  .page_wrapper .meeting_link_wrapper h3 {
    font-size: 26px;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper .meeting_link_wrapper h3 {
    font-size: 28px;
    padding: 25px 0;
  }
}
.page_wrapper .meeting_link_wrapper p {
  margin-bottom: 0;
}
.page_wrapper .meeting_link_wrapper p.meeting_link_box {
  margin-top: 15px;
}
@media (min-width: 782px) {
  .page_wrapper .meeting_link_wrapper p.meeting_link_box {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
}
.page_wrapper .meeting_link_wrapper p.meeting_link_box a {
  color: #fff;
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  display: inline-block;
  text-decoration: none;
  transition: 0.2s;
  padding: 10px 60px 10px 20px;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .page_wrapper .meeting_link_wrapper p.meeting_link_box a {
    font-size: 16px;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper .meeting_link_wrapper p.meeting_link_box a {
    padding: 10px 70px 12px 25px;
  }
}
.page_wrapper .meeting_link_wrapper p.meeting_link_box a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;
  border-right: 0;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (min-width: 1300px) {
  .page_wrapper .meeting_link_wrapper p.meeting_link_box a::after {
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 8px solid #fff;
  }
}
@media (hover: hover) {
  .page_wrapper .meeting_link_wrapper p.meeting_link_box a:hover {
    opacity: 0.7;
  }
}

/* テイクアウト
------------------------------------------------------------------*/
.page_wrapper .takeout_lead {
  padding: 10px 0;
}
@media screen and (min-width: 650px) {
  .page_wrapper .takeout_lead {
    padding: 20px 0;
  }
}

.page_wrapper.takeout {
  max-width: 1200px;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1300px) {
  .page_wrapper.takeout {
    padding-left: 0;
    padding-right: 0;
  }
}
.page_wrapper.takeout p {
  text-align: center;
}
.page_wrapper.takeout p:nth-child(1) {
  font-size: 20px;
  margin-bottom: 10px;
}
@media screen and (min-width: 650px) {
  .page_wrapper.takeout p:nth-child(1) {
    font-size: 24px;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper.takeout p:nth-child(1) {
    font-size: 30px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper.takeout p:nth-child(2) {
    font-size: 20px;
  }
}

/* お問い合わせ
------------------------------------------------------------------*/
.snow-monkey-form .smf-progress-tracker {
  margin-bottom: 1.5rem;
  padding-left: 0;
}
.snow-monkey-form .smf-form {
  background: #f9f4f4;
  font-size: 14px;
  margin-bottom: 25px;
  padding: 20px;
}
@media screen and (min-width: 650px) {
  .snow-monkey-form .smf-form {
    padding: 30px 40px;
  }
}
@media screen and (min-width: 1300px) {
  .snow-monkey-form .smf-form {
    font-size: 16px;
  }
}
.snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 30px;
}
@media screen and (min-width: 650px) {
  .snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item {
    align-items: center;
    flex-direction: row;
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item:last-of-type {
    border: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
.snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--label {
  border-bottom: 1px solid #ccc;
  color: #2d2d2d;
  font-weight: bold;
  padding-bottom: 10px;
}
@media screen and (min-width: 650px) {
  .snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--label {
    border-bottom: none;
    padding-bottom: 0;
    width: 200px;
  }
}
.snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls {
  flex: 1;
}
.snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls select {
  font-size: 14px;
}
@media screen and (min-width: 1300px) {
  .snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls select {
    font-size: 16px;
  }
}
.snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls input[type=text],
.snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls input[type=email],
.snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls input[type=tel] {
  width: 100%;
  padding: 15px;
  font-size: 14px;
}
@media screen and (min-width: 1300px) {
  .snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls input[type=text],
  .snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls input[type=email],
  .snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls input[type=tel] {
    font-size: 16px;
  }
}
.snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls input.short {
  width: 60%;
  max-width: 200px;
}
.snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls textarea {
  font-size: 14px;
  height: 10rem;
  line-height: 1.3;
}
@media screen and (min-width: 1300px) {
  .snow-monkey-form .smf-form .wp-block-snow-monkey-forms-item .smf-item__col--controls textarea {
    font-size: 16px;
  }
}
.snow-monkey-form .smf-action {
  text-align: center;
}
.snow-monkey-form .smf-action .smf-button-control__control {
  background: linear-gradient(0deg, #b38f00 46%, #d6ab00 100%);
  border: none;
  color: #fff;
  padding: 20px 35px;
  transition: 0.2s;
}
@media screen and (min-width: 1300px) {
  .snow-monkey-form .smf-action .smf-button-control__control {
    font-size: 16px;
  }
}
@media (hover: hover) {
  .snow-monkey-form .smf-action .smf-button-control__control:hover {
    opacity: 0.6;
  }
}
.snow-monkey-form .mb00 {
  margin-bottom: 0 !important;
}

/* Cloudflare OFFの時 */
.smf-action .smf-button-control__control[disabled] {
  color: #fff !important;
  opacity: 0.6;
  cursor: default;
}

/* Cloudflareの場所 */
.snow-monkey-forms-turnstile {
  width: -moz-fit-content;
  width: fit-content;
  margin: 25px auto 5px;
}

/* 必須マーク */
.smf-item.hissu .smf-item__label__text {
  position: relative;
}
.smf-item.hissu .smf-item__label__text::after {
  content: "必須";
  display: inline-block;
  background: linear-gradient(0deg, #79232c 25%, #aa535c 100%);
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  margin-left: 10px;
  padding: 2px 5px 4px;
}
@media screen and (min-width: 1300px) {
  .smf-item.hissu .smf-item__label__text::after {
    padding: 3px 6px 5px;
  }
}

form[data-screen=complete] .snow-monkey-forms-turnstile {
  display: none !important;
}

.smf-complete-content p {
  margin-bottom: 0 !important;
}

/* 404
------------------------------------------------------------------*/
.page_wrapper .notfound_link_box a {
  color: #fff;
  text-decoration: none;
}

/* 宴会・会議
------------------------------------------------------------------*/
@media screen and (min-width: 650px) {
  .page_wrapper.meeting {
    padding-bottom: 4vw;
  }
}
@media screen and (min-width: 1024px) {
  .page_wrapper.meeting {
    padding-bottom: 3vw;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper.meeting {
    padding-bottom: 2vw;
  }
}

.page_wrapper .meeting_child_catchcopy {
  line-height: 1.8;
  margin: 30px 0;
  text-align: center;
}
@media screen and (min-width: 650px) {
  .page_wrapper .meeting_child_catchcopy {
    font-size: 16px;
    line-height: 2;
    margin: 50px 0;
  }
}
.page_wrapper .meeting_table {
  width: 100%;
  max-width: 650px;
  margin: 0 auto 30px;
}
.page_wrapper .meeting_table th,
.page_wrapper .meeting_table td {
  padding: 15px 0;
  line-height: 1.6;
}
@media screen and (min-width: 650px) {
  .page_wrapper .meeting_table th,
  .page_wrapper .meeting_table td {
    font-size: 16px;
  }
}
.page_wrapper .meeting_table th p,
.page_wrapper .meeting_table td p {
  margin: 0;
  padding: 0;
  line-height: 1.6;
}
.page_wrapper .hall_pdf_wrapper {
  text-align: center;
}
.page_wrapper .hall_pdf_wrapper a {
  background: linear-gradient(0deg, #b38f00 46%, #d6ab00 100%);
  color: #fff;
  display: block;
  margin: auto;
  text-decoration: none;
  padding: 15px 20px 15px 60px;
  position: relative;
  width: 100%;
  max-width: 400px;
}
@media screen and (min-width: 650px) {
  .page_wrapper .hall_pdf_wrapper a {
    padding: 18px 30px 18px 70px;
  }
}
@media screen and (min-width: 1024px) {
  .page_wrapper .hall_pdf_wrapper a {
    padding: 18px 35px 18px 80px;
    max-width: 420px;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper .hall_pdf_wrapper a {
    font-size: 18px;
    padding: 24px 40px 24px 90px;
    max-width: 480px;
  }
}
.page_wrapper .hall_pdf_wrapper a::before {
  content: "";
  aspect-ratio: 46/54;
  display: block;
  width: 24px;
  background: url(../image/icon_pdf.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  margin: auto;
}
@media screen and (min-width: 650px) {
  .page_wrapper .hall_pdf_wrapper a::before {
    width: 26px;
    left: 33px;
  }
}
@media screen and (min-width: 1024px) {
  .page_wrapper .hall_pdf_wrapper a::before {
    width: 28px;
    left: 37px;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper .hall_pdf_wrapper a::before {
    width: 32px;
    left: 43px;
  }
}
@media (hover: hover) {
  .page_wrapper .hall_pdf_wrapper a:hover {
    opacity: 0.7;
  }
}

/* 会議・宴会の「親」ページのみ調整 */
.hall_pdf_wrapper.meeting {
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .hall_pdf_wrapper.meeting {
    margin-bottom: 3rem;
  }
}

/* 会議・宴会の「子」ページのみ調整（その他の施設以外） */
.meeting_child .hall_pdf_wrapper.meeting {
  margin-bottom: 2.5vw;
}
@media screen and (min-width: 650px) {
  .meeting_child .hall_pdf_wrapper.meeting {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1024px) {
  .meeting_child .hall_pdf_wrapper.meeting {
    margin-bottom: 3vw;
  }
}
@media screen and (min-width: 1300px) {
  .meeting_child .hall_pdf_wrapper.meeting {
    margin-bottom: 2vw;
  }
}

/* 会議・宴会の「子」ページ「その他の施設」 */
.other_h .meeting_child .hall_pdf_wrapper.meeting {
  margin-bottom: 9vw;
}
@media screen and (min-width: 650px) {
  .other_h .meeting_child .hall_pdf_wrapper.meeting {
    margin-bottom: 4vw;
  }
}
@media screen and (min-width: 1024px) {
  .other_h .meeting_child .hall_pdf_wrapper.meeting {
    margin-bottom: 5vw;
  }
}
@media screen and (min-width: 1300px) {
  .other_h .meeting_child .hall_pdf_wrapper.meeting {
    margin-bottom: 4vw;
  }
}
@media screen and (min-width: 1600px) {
  .other_h .meeting_child .hall_pdf_wrapper.meeting {
    margin-bottom: 2.5vw;
  }
}

/* マウスオーバーで写真チェンジ */
.meeting_big {
  margin: 0;
}
.meeting_big img {
  aspect-ratio: 100/63;
  -o-object-fit: cover;
     object-fit: cover;
}

.meeting_small > div {
  display: flex;
  flex-wrap: wrap;
}
.meeting_small > div figure {
  background: #000;
  cursor: pointer;
  margin: 0;
  width: 33.3333333333%;
}
@media screen and (min-width: 1024px) {
  .meeting_small > div figure {
    width: 20%;
  }
}
.meeting_small > div figure img {
  aspect-ratio: 100/63;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.7;
  transition: 0.2s;
}
@media (hover: hover) {
  .meeting_small > div figure img:hover {
    opacity: 1;
  }
}

/* その他の会場 */
.other_h_item {
  margin-bottom: 2rem;
  /* 一番下 */
}
.other_h_item.mb {
  margin-bottom: 40px;
}
@media screen and (min-width: 650px) {
  .other_h_item.mb {
    margin-bottom: 60px;
  }
}
@media screen and (min-width: 1300px) {
  .other_h_item.mb {
    margin-bottom: 75px;
  }
}
@media screen and (min-width: 1600px) {
  .other_h_item.mb {
    margin-bottom: 90px;
  }
}
.other_h_item figure {
  margin-bottom: 0;
}
.other_h_item table {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 0;
}
.other_h_item table th {
  width: 50%;
}
.other_h_item table p {
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

.gray_bg {
  background: #f5f5f5;
  margin-bottom: 2rem;
  padding: 30px;
}
@media screen and (min-width: 1024px) {
  .gray_bg {
    margin-bottom: 3rem;
  }
}
.gray_bg .table_layout_ul {
  margin-bottom: 0 !important;
}

/* テーブルレイアウト */
.page_wrapper.meeting_child {
  padding-bottom: 0;
}
@media screen and (min-width: 1024px) {
  .page_wrapper .gray_bg_wrapper > div {
    padding-bottom: 2.5rem;
  }
}
.page_wrapper .table_layout_wrapper {
  margin-top: 10vw;
}
@media screen and (min-width: 1024px) {
  .page_wrapper .table_layout_wrapper {
    margin-top: 7vw;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper .table_layout_wrapper {
    margin-top: 5.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .page_wrapper .table_layout_wrapper {
    margin-top: 4vw;
  }
}
@media screen and (min-width: 650px) {
  .page_wrapper .table_layout_wrapper .is-style-heading_01 {
    margin-bottom: 3.5rem;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper .table_layout_wrapper .is-style-heading_01 {
    margin-bottom: 4rem;
  }
}

/* 施設レイアウト例 */
.page_wrapper .table_layout_ul {
  display: flex;
  gap: 20px;
  flex-direction: column;
  margin-bottom: 3rem;
  padding-left: 0;
}
@media screen and (min-width: 650px) {
  .page_wrapper .table_layout_ul {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 1024px) {
  .page_wrapper .table_layout_ul {
    margin-bottom: 4rem;
  }
}
.page_wrapper .table_layout_ul li {
  background: #fff;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
  list-style-type: none;
  padding: 10px 20px;
  width: 100%;
}
@media screen and (min-width: 650px) {
  .page_wrapper .table_layout_ul li {
    width: calc((100% - 40px) / 3);
  }
}
.page_wrapper .table_layout_ul li img {
  transition: 0.2s;
  width: 100%;
}
@media (hover: hover) {
  .page_wrapper .table_layout_ul li img:hover {
    opacity: 0.6;
  }
}
.page_wrapper .table_layout_ul.mb {
  margin-bottom: 10vw;
}
@media screen and (min-width: 650px) {
  .page_wrapper .table_layout_ul.mb {
    margin-bottom: 7vw;
  }
}
@media screen and (min-width: 1024px) {
  .page_wrapper .table_layout_ul.mb {
    margin-bottom: 4vw;
  }
}
@media screen and (min-width: 1300px) {
  .page_wrapper .table_layout_ul.mb {
    margin-bottom: 3vw;
  }
}/*# sourceMappingURL=style.css.map */