/*
Theme Name: ghho
Theme URI:
Author: DreamNet's
Author URI: http://www.dreamnets.co.jp/
Description: 
License: 
License URI: 
Tags: 
*/

@font-face {
  font-family: "icomoon";
  src: url("fonts/icomoon.eot?asaqh7");
  src: url("fonts/icomoon.eot?asaqh7#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?asaqh7") format("truetype"), url("fonts/icomoon.woff?asaqh7") format("woff"),
    url("fonts/icomoon.svg?asaqh7#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-smartphone:before {
  content: "\e90b";
}
.icon-coupon:before {
  content: "\e90c";
}

.icon-access:before {
  content: "\e906";
}
.icon-arrow-down:before {
  content: "\e909";
}
.icon-arrow-right:before {
  content: "\e90a";
}
.icon-eat:before {
  content: "\e907";
}

.icon-stay:before {
  content: "\e908";
}

.icon-calender:before {
  content: "\e900";
}

.icon-seaside:before {
  content: "\e901";
}

a[target="_blank"]:not(.flowbtn7):after,
a[target="blank"]:not(.flowbtn7)after {
  margin: 0 0 0 8px;
  font-family: "Font Awesome 6 Free";
  content: "\f35d";
  font-weight: 900;
}

a[href*="ghh-ono.com"]:after,
a.header_reserve:after {
  margin: inherit;
  font-family: inherit;
  content: "";
  font-weight: inherit;
}
#top .room_column .icon-seaside:before {
  display: block;
  text-align: center;
  font-size: 72px;
}

.icon-seaside.en:before {
  font-size: 1.2rem;
}

.icon-reserve:before {
  content: "\e902";
}

.icon-train:before {
  content: "\e903";
  font-size: 42px;
  margin-right: 12px;
  min-width: 60px;
  display: block;
  text-align: center;
}

.icon-car:before {
  content: "\e904";
  font-size: 42px;
  margin-right: 12px;
  min-width: 60px;
  display: block;
}

.icon-mountain:before {
  content: "\e905";
  display: block;
  font-size: 64px;
  text-align: center;
}

.icon-calender:before {
  font-size: 1rem;
  margin-right: 12px;
}

.sp-non {
}

li {
  list-style: none;
}
.sp {
  display: none;
}
a img {
  transition: 0.3s;
}

header .logo_en {
  height: 50px;
}
a img:hover {
  opacity: 0.7;
}

.fadeUp {
  animation-name: fadeUpAnime;
  will-change: opacity;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeUpItem {
  opacity: 0;
}

.header_reserve .icon-reserve:before {
  font-size: 32px;
  margin-bottom: 12px;
  display: block;
}
/*
header.fixed .header_reserve .icon-reserve:before {
    font-size: 28px;
    margin-bottom: 6px;
}*/

.wp-block-buttons > .wp-block-button.primary_btn {
  min-width: 240px;
  margin-top: 48px;
}

table {
  border-collapse: collapse;
}
.bread_wrap {
  background: #f7f5ef;
}
.aioseo-breadcrumbs {
  padding: 12px 3rem;
  max-width: 1440px;
  margin: 0 auto;
  text-align: left;
  display: flex;
  align-items: center;
}
.aioseo-breadcrumbs > * {
  margin-right: 8px;
}
.aioseo-breadcrumbs a {
  color: var(--sub);
}
span.aioseo-breadcrumb {
}
.tbl1 {
  max-width: 840px;
  margin: 0 auto;
}
.tbl1 em {
  word-break: break-word;
  white-space: pre-wrap;
}
.tbl1:last-child {
  margin-bottom: 0;
}
.tbl1 table {
  width: 100%;
  border: 0;
  border-spacing: 0;
  height: auto !important;
  border: 1px solid #e8ecf1;
  background: #fff;
}
.tbl1 tr {
  height: auto !important;
}
.tbl1 th,
.tbl1 td {
  padding: 16px;
  border: 1px solid #e8ecf1;
  height: auto !important;
  width: auto;
  text-align: left;
  min-width: 60px;
  vertical-align: top;
  background: #fff;
}
.tbl1 th,
.tbl1 td:first-child {
  vertical-align: middle;
  white-space: nowrap;
  background: #fbfaf8;
  text-align: center;
  width: 25%;
  font-weight: normal;
}

.button {
  border-radius: 0;
  display: block;
  max-width: 320px;
  color: #fff;
  margin: 0 auto;
  text-align: center;
  padding: 12px;
  line-height: 32px;
  transition: 0.3s;
  cursor: pointer;
}

.button + .button {
  margin-top: 12px;
}

.button:hover {
  opacity: 0.7;
}

.primary {
  background: var(--black);
  position: relative;
}

.primary:after {
  position: absolute;
  content: "\e90a";
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-family: "icomoon";
  font-weight: bold;
  transition: 0.3s;
}

.primary.tel:after {
  content: "";
}
.primary.tel {
  padding-left: 24px;
}
.primary.tel:before {
  position: absolute;
  content: "\f095";
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  transition: 0.3s;
}

.primary:hover:after {
  right: 20px;
}

.secondly {
  color: var(--sub);
  border: 1px solid var(--sub);
}
.secondly:hover {
  background: var(--sub);
  color: #fff;
}

.wp-block-columns {
  margin-bottom: 0px !important;
}

figure.wp-block-image {
  margin-bottom: 0px;
}

ul,
ol {
  list-style: none;
}

figure {
  margin: 0;
}


#app{
    margin-bottom: 3rem;
}
.subbgcol3{ background-color: #f7f5f0;} 
#app h2 {
	padding: 40px 0;
	border-bottom: 1px solid #000;
	font-size: 22px;
	line-height: 160%;
	color: #000;
	margin: 0;
text-align:center;
	}

#app h2:after {
	display: none;
	}
#app h3 {
	padding: 0;
	color: #000 !important;
	border: none;
	letter-spacing: 0;
	font-size: 18px;
	margin-bottom: 10px;
	line-height: 140%;
	}
#app h3:before {
	display: none;
	}
#app p{

    color: #777;
    font-size: 14px;
}
#app .point {
	display: table;
	position: relative;
	margin: 0 -32px;
	padding-top: 48px;
	overflow: hidden;
	zoom: 1;
	}

#app .point li {
	display: table-cell;
	width: 33.3%;
	padding: 0 32px;
	border-left: 1px solid #ddd;
	}

#app .point li:first-child {
	border: none;
	}

#app .point li i {
    display: block;
    height: 60px;
    margin-bottom: 32px;
    font-size: 48px;
    line-height: 60px;
    color: #000;
    text-align: center;
    vertical-align: bottom;
	}


#app .point li i span {
	display: block;
	position: relative;
	height: 60px;
	margin-top: -63px;
	font-size: 15px;
	font-weight: bold;
	line-height: 60px;
	color: #fff;
	vertical-align: bottom;
	}

#app .install {
	margin-top: 48px;
	padding: 32px;
	overflow: hidden;
	zoom: 1;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-o-border-radius: 6px;
	-ms-border-radius: 6px;
	border-radius: 6px;
	}

#app .install h4 {
	float: left;
	margin: 0;
	font-size: 18px;
	line-height: 56px;
	color: #000;
	background: none;
	font-weight: bold;
	padding: 0;
	}

#app .install ul {
	float: right;
	}

#app .install li {
	float: left;
	margin-left: 16px;
	}

#app .install li img {
	height: 56px;
	}

@media screen and (max-width: 782px) {
	#app h2 {
	border-bottom: none;
	}
	#app h2 br {
		display: none;
		}

	#app .point {
		display: block;
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #000;
		}

	#app .point li {
		display: block;
		width: auto;
		padding: 24px 0;
		border-left: none;
		border-top: 1px solid #ddd !important;
		}

		#app .point li:first-child {
			border-top: 1px solid #000 !important;
			}

	#app .point li i {
		float: left;
		width: 128px;
		}

	#app .point li h3,
	#app .point li p {
		overflow: hidden;
		zoom: 1;
		}

	#app .install {
		text-align: center;
		}

	#app .install h4 {
		float: none;
		margin: 0 0 16px 0;
		text-align: center;
		line-height: 120%;
		}

	#app .install ul {
		float: none;
		}

	#app .install li {
		display: inline-block;
		float: none;
		margin: 8px 8px 0 8px;
		}

}
@media screen and (max-width: 599px) {
	#app .point li i {
		float: none;
		width: auto;
		}
	#app .install li img {
		width: 188px;
		height: auto;
		}
	#app #appsta {
		position: static;
		float: none;
		margin-top: 0;
		}

}


#top .restaurant_column figure {
  margin: 0 0 6px;
}
#top .restaurant_column figure img {
  height: 100%;
}
:root {
  /* --main: #24A560;*/
  --main: #2f9d61;
  --sub: #ad9e74;
  --base: #fafafa;
  --black: #1d1d35;
  --line: #e0d9c5;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  margin: 0;
  padding: 0;
  /* font-family:"Times New Roman","A-OTF A1 Mincho Std","My A1 Mincho","A1 Mincho",YuMincho,"Yu Mincho",yu-mincho-pr6,"Hiragino Mincho ProN",serif;*/
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  line-height: 1.7;
  font-family: "Times New Roman", "A-OTF A1 Mincho Std", "My A1 Mincho", "A1 Mincho", YuMincho, "Yu Mincho", yu-mincho-pr6, "Hiragino Mincho ProN", serif;
}

p,
td {
  /*font-family:"Times New Roman","A-OTF A1 Mincho Std","My A1 Mincho","A1 Mincho",YuMincho,"Yu Mincho",yu-mincho-pr6,"Hiragino Mincho ProN",serif;*/
  line-height: 2;
  font-size: 1rem;
}

.sp {
  display: none;
}

img {
  max-width: 100%;
}

a {
  text-decoration: none;
  color: #fff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  /*font-family:"Times New Roman","A-OTF A1 Mincho Std","My A1 Mincho","A1 Mincho",YuMincho,"Yu Mincho",yu-mincho-pr6,"Hiragino Mincho ProN",serif;*/
}

header {
  width: 100%;
  display: flex;
  position: fixed;
  top: 0;
  z-index: 9999;
  transition: 0.3s;
  background: #fff;
}

header a {
  color: #000;
}

header.fixed {
  background: #fff;
  -webkit-box-shadow: 0 0 8px rgb(0 0 0 / 11%);
  box-shadow: 0 0 8px rgb(0 0 0 / 11%);
  transition: 0.3s;
}

header.fixed #gnav li a {
  color: #000;
}

header .header_logo img {
  max-width: 260px;
  height: auto;
}

header .header_logo {
  display: flex;
}
header .header_logo a {
  display: flex;
  align-items: center;
}
.header_logo .bogo-language-name {
  font-size: 1rem;
}
li.en-US.en.first.untranslated {
  font-size: 1rem;
  color: #999;
}

header > div {
  display: flex;
  padding: 12px 24px;
  transition: 0.3s;
  flex-basis: 100%;
  justify-content: space-between;
  min-height: 96px;
}
#gnav.en {
  display: flex;
  align-items: center;
}

.fixed #gnav.en {
  display: flex;
  align-items: center;
}

#gnav #menu-gnav {
  display: flex;
}

#gnav #menu-gnav li {
  text-align: center;
  margin-left: 18px;
  font-size: 14px;
  margin-top: -4px;
}

#gnav li a span {
  font-size: 0.8em;
  display: block;
  color: var(--sub);
  margin-top: 8px;
}

#gnav .menu-gnav-container {
  margin-top: 12px;
}

.content {
  max-width: 1440px;
  margin: 0 auto;
}

header #gnav a {
  position: relative;
  padding: 24px 0px;
  font-size: 16px;
  transition: 0.3s;
}
header #gnav a::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--sub);
  bottom: -10px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
header #gnav.en a::after{
  bottom: 0px;	

}

header #gnav a:hover::after,
header #gnav .current-menu-item a:after {
  transform: scale(1, 1);
  transform-origin: left top;
}
header #gnav .current-menu-item a{
	    color: var(--sub);
}

.header_reserve {
  background-color: var(--main);
  padding: 12px;
  flex-basis: 120px;
  text-align: center;
  font-size: 0.9rem;
}

.header_submenu {
  text-align: right;
  font-size: 1rem;
  display: flex;
  justify-content: end;
  color: #fff;
  gap: 12px;
  align-items: center;
}

header.fixed .header_submenu,
header.fixed .header_submenu a {
  color: #000;
  display: none;
}

header > .snsbtniti {
  position: absolute;
  right: 2vw;
  color: #fff;
  bottom: -120px;
  font-size: 24px;
  transition: 0.3s;
  padding: 0 !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
footer ul.snsbtniti {
  justify-content: start;
}

header .snsbtniti a {
  color: #fff;
}

header.fixed > .snsbtniti {
}

header .en-US {
  position: relative;
}
ul.bogo-language-switcher li {
  height: 32px;
  line-height: 1;
}
header .en-US:before {
  content: "";
  position: absolute;
  top: 56%;
  left: 0;
  margin-top: -8px;
  width: 1px;
  height: 16px;
  background-color: rgba(0, 0, 0, 0.2);
  transform-origin: 56%;
  transform: rotate(12deg);
}
header ul.bogo-language-switcher li {
  padding-left: 8px;
  display: flex;
  align-items: center;
  margin-top: 8px;
}
header ul.bogo-language-switcher li.en {
  margin-left: 8px;
}
header ul.bogo-language-switcher li a {
  color: #999;
}
header ul.bogo-language-switcher li a.current {
  color: #000;
  pointer-events: none;
}
.bogo-language-switcher .current {
  /* display: none;*/
}
.bogo-language-switcher {
  display: flex;
  margin-left: 12px;
  justify-content: center;
  align-items: center;
  height: 60px;
}

.bogo-language-switcher .ja {
  /* 言語ボタンの表示順（0が最初）*/
  order: 0;
}

.bogo-language-switcher .en {
  /* 言語ボタンの表示順（0が最初）*/
  order: 1;
}

.main_banner,
.main_banner li {
  position: relative;
}

.main_banner {
  /* height: 100vh;*/
  margin-top: 96px;
}

.main_banner li .text {
  position: absolute;
  bottom: 5rem;
  left: 3rem;
  line-height: 2;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: 2px 3px 6px #0f3e56;
}

.main_banner li,
.main_banner img {
  width: 100%;
  height: 100%;
}

.main_banner img {
  object-fit: cover;
  height: 80vh;
  aspect-ratio: 16 / 9;
}

/*page*/

.entry-content {
}

.entry-content section {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.entry-content section:nth-child(even):not(.introduction) {
  background: #fbfaf8;
}
.page-title-content .inner_img_ct {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.8);
}
.page-title-content .inner_img_bt {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: bottom;
  filter: brightness(0.8);
}
/*
.page-title-content:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgb(148 198 207 / 70%);
    mix-blend-mode: multiply;
}
*/
.page-title-content:after {
  content: "";
  background: inherit;
  /* filter: blur(2px);*/
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  z-index: -1;
}

.bg-inner {
  text-align: center;
  position: absolute;
  width: 100%;
}

.page-title-content {
  margin-top: 80px;
  padding: 60px 48px;

  z-index: 1;
  overflow: hidden;
  min-height: 420px;
  display: flex;
  height: auto;
  position: relative;
  justify-content: center;
  background-repeat: no-repeat;
  align-items: center;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 1440px) {
  .page-title-content {
    min-height: 560px;
  }
}
.page-title-content h1 {
  text-align: center;
  color: #fff;
  text-shadow: 0 0 15px #000;
  letter-spacing: 0.1em;
  font-size: min(10vw,48px);
  font-weight: normal;
  padding: 0px 2rem;
  z-index: 99;
}

#gotop {
  color: #9c8954;
  background: rgb(255 255 255 / 0.5);
  border: 1px solid #9c8954;
  position: fixed;
  z-index: 10;
  bottom: 20px;
  right: 2vw;
  text-align: center;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#gotop:before {
  display: block;
  font-family: "icomoon";
  content: "\e909";
  margin: 0;
  font-size: 16px;
  text-align: center;
  line-height: 50px;
  transform: rotatez(180deg);
}

/*content*/
#top .primary {
  margin: 3rem auto;
}
#top #en {
  padding-bottom: 6rem;
}
#top #en .access_flx {
  display: flex;
  align-items: center;
}
#top #en .concept_gallery,
#top #en .concept_box {
  width: 50%;
}

#top #en .concept_box .content_title {
  writing-mode: initial;
  text-align: center;
}
#top #en .concept_detail .button {
  margin-top: 2rem;
}

#top section {
  padding-top: 6rem;
}
#top section#app{
	
	padding-top:0rem;
}

#top .room_column,
#top .restaurant_column,
#top .facilities_column,
#top .access_column,
#top .sightseeing_column {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#top .restaurant_column,
#top .sightseeing_column {
  align-items: flex-start;
}
#top .room_column {
  display: grid;
  grid-template-columns: repeat(2, 1fr);

  grid-gap: 24px;
}

#top .restaurant_column > * {
  width: calc((100% / 3) - 16px);
}
#top .sightseeing_column > * {
  width: calc((100% / 2) - 16px);
}
#top .primary {
  margin: 3rem auto;
}
.flx_60 {
  flex-basis: 64%;
}
.flx_30 {
  flex-basis: 30%;
}

.floor_wrap {
  align-items: flex-start;
}

.floor_wrap .tbl_line {
  margin-top: 0;
  border: none;
}
.floor_wrap img {
}
#top .access_column > div {
  width: 48%;
}
#top .room_column {
  align-items: flex-start;
}

.content_wrap {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0px 3rem;
}

#top h2.section_title {
  font-size: 3rem;
  color: var(--sub);
  font-weight: normal;
  text-align: center;
  letter-spacing: 0.1rem;
  margin-bottom: 3rem;
}
#app h2.section_title {
    margin-bottom: 0;
}

#Recruit table em{
    display: block;
    font-size: 0.9em;
    font-style: normal;
    color: #777;
}
#Recruit table{
    max-width: 100%;
    width: 100%;
}

.tbl_line {
  margin: 2rem 0px;
  border: 1px solid #f7f5ee;
  position: relative;
}

.tbl_line dl {
  display: flex;
}
.tbl_line dt {
  border-bottom: 1px solid var(--sub);
  text-align: left;
  padding: 15px 15px;
  width: 25%;
}

.tbl_line dd {
  padding: 15px 15px;
  border-bottom: 1px solid #f7f5f0;
  height: auto !important;
  width: auto;
  text-align: left;
  min-width: 60px;
  vertical-align: top;
  width: 100%;
}

.entry-content h2.section_title {
  color: var(--sub);
  font-size: clamp(24px, 5vw, 36px);
  margin-bottom: 2rem;
}

.entry-content .introduction {
  text-align: center;
}
.concept_detail p {
  max-width: 440px;
  margin: 0 auto;
  text-align: justify;
}

/*プライバシーポリシー*/
#privacy p {
  max-width: 840px;
  margin: 0 auto;
  text-align: justify;
}
#privacy .privacy_type + .privacy_type {
  margin: 4rem 0px;
}
#privacy .text_right {
  text-align: right;
  margin-top: 4rem;
}
.introduction p {
  max-width: 840px;
  margin: 0 auto;
  font-size: clamp(16px, 2vw, 18px);
}
.room_index ul,
.recruit_index ul {
  display: grid;
  grid-gap: 12px;
  grid-template-columns: 1fr 1fr 1fr;
}

.room_index li,
.recruit_index li {
  border: 1px solid var(--sub);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.room_index a,
.recruit_index a {
  color: var(--sub);
  display: block;
  width: 100%;
  padding: 16px 32px 16px 16px;
  position: relative;
}

.room_index a:after,
.recruit_index a:after {
  content: "\e909";
  position: absolute;
  font-family: "icomoon";
  font-weight: bold;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.room_gallery .slick-dots,
.slide_gallery .slick-dots {
  bottom: 0px;
  position: relative;
  margin-top: 24px;
}
.slick-dots li.slick-active button:before,
.slick-dots li button:before {
  color: var(--sub) !important;
}
.room_wi-fi {
  display: flex;
  justify-content: space-between;
  max-width: 840px;
  background: #fafafa;
  padding: 2rem;
  margin: 0 auto;
  margin-top: 3rem;
  border: 1px solid #ddd;
}
.room_wi-fi h4 {
  font-size: 1.6rem;
}
.room_wi-fi p {
  margin-top: 12px;
}
.room_wi-fi img {
  width: 36%;
  object-fit: contain;
}
.room_wi-fi .box {
  width: 60%;
}
.room_detail {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  max-width: 840px;
  gap: 16px;
  justify-content: space-between;
}

.room_detail .text {
  flex-basis: 62%;
}
.room_detail .links {
  flex-basis: 34%;
}

.room_detail .inner {
  width: 100%;
}

.room_detail .inner div {
  text-align: center;
  margin-top: 24px;
}

.room_detail .inner dl {
  display: flex;
  padding: 20px 0px;
}

.room_detail .inner dl + dl {
  border-top: 1px solid #dddddd;
}

.detail_btn {
  position: relative;
  margin-top: 0px;
}

.detail_btn:after {
  position: absolute;
  content: "+";
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 1.2rem;
}

.detail_btn.open:after {
  content: "−";
}

.inner dt {
  flex-basis: 30%;
}

.inner dd {
  flex-basis: 70%;
}

h3.content_title {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 3rem;
}

h3.content_title span {
  font-size: 0.6em;
  display: block;
  margin-top: 6px;
  color: var(--sub);
}

h2.section_title span {
  font-size: 0.3em;
  color: var(--black);
  margin-top: 6px;
  display: block;
  letter-spacing: 0.1rem;
}

.content_btm {
  padding-bottom: 4.5em;
}

.banner_list li img,
.reserve_banner img {
  width: 100%;
  transition: 0.3s;
  height: auto;
}

.banner_list a img:hover,
.reserve_banner a img:hover {
  opacity: 0.7;
}

ul.banner_list {
  display: flex;
  max-width: 1440px;
  justify-content: space-between;
  margin: 0 auto;
}
ul.banner_list li {
  width: calc((100% / 3) - 16px);
}

#banner_area {
  padding-right: 3rem;
  padding-left: 3rem;
  position: relative;
}

.reserve_banner {
  margin: 0 auto;
  margin-top: 24px;
  display: block;
  max-width: 1440px;
}

.reserve_banner img {
  border-radius: 4px;
  width: 100%;
}

/*top - concept*/

#concept > div {
  background-image: url(/wp-content/uploads/top_concept_back-12.jpeg);
  background-size: cover;
  background-position: center;
}

#concept h2.section_title {
  font-size: 3rem;
  color: #fff;
  text-align: left;
}

#concept h2.section_title span {
  font-size: 1rem;
  display: block;
  color: #fff;
}

#concept h3 {
  margin-top: 24px;
  line-height: 1.7;
  font-size: 1.8rem;
  text-shadow: 2px 3px 6px #3a5e71;
}

#concept p {
  margin-top: 24px;
  line-height: 2;
  max-width: 600px;
  text-shadow: 2px 3px 6px #071e2a;
  letter-spacing: 0.05rem;
}

.btn_white a {
  background: 0;
  border: 1px solid #fff;
  border-radius: 0px;
  padding: 12px 3.4rem;
  font-size: 1rem;
  margin-top: 64px;
  transition: 0.3s;
  background: #ffffff33;
}

.btn_white a:hover {
  opacity: 0.7;
}

/*top - rooms*/

.room_gallery,
.slide_gallery {
  display: none;
}

.room_gallery.slick-initialized,
.slide_gallery.slick-initialized {
  display: block;
}
.room_gallery,
.slide_gallery {
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
}

.slick-slide img {
  width: 100%;
}
.room_gallery .slick-slide img,
.slide_gallery .slick-slide img {
  display: block;
  aspect-ratio: 850/540;
  width: 100%;
  object-fit: cover;
}
.room_gallery .slick-slide,
.slide_gallery .slick-slide {
  margin: 0 6px;
}

#rooms h3 {
  padding: 16px 0px;
  font-size: 1.7rem;
  border-bottom: 1px solid #ddd;
  display: flex;
  align-items: center;
  margin-bottom: 24px;
  letter-spacing: 0.07em;
}

#rooms h3 span {
  margin-left: 24px;
  font-size: 1rem;
}

#rooms h4 {
  font-size: 1.8rem;
  margin-bottom: 24px;
}

#rooms .sub_column {
  align-items: center;
  display: flex;
}

#rooms .sub_column em {
  display: block;
  text-align: center;
  font-style: normal;
  margin-top: 8px;
}

/*restaurant*/

#restaurant .column img {
  width: 100%;
}

#restaurant figure figcaption {
  font-size: 1rem;
  margin-top: 12px;
  color: var(--sub);
}

#restaurant h4 {
  margin-bottom: 16px;
  font-size: 1.4rem;
}

#sightseeing p {
  margin-top: 1.4rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

#facilities .content_wrap {
  padding: 0;
  max-width: initial;
}

#facilities .fas_images img {
  width: 100%;
  height: 100%;
}

#top .facilities_column {
  align-items: flex-start;
}
#facilities .fas_text {
  padding: 0px 6rem 0px 0px;
}

#facilities h2.section_title {
  text-align: left;
}

#facilities .sub_images {
  margin-top: 24px;
  display: flex;
  justify-content: space-between;
}

#facilities .sub_images .flx_30 {
  flex-basis: 33%;
}

.facilities_list li {
  position: relative;
}
.facilities_list li a {
  color: #000;
  padding: 24px 0px;
  position: relative;
  display: block;
  transition: 0.3s;
}
.facilities_list li a:hover {
  background: #fbfaf8;
}
.facilities_list li a:after {
  position: absolute;
  content: "\e90a";
  right: 12px;
  font-size: 1rem;
  font-family: "icomoon";
  font-weight: bold;
  color: var(--sub);
}

.facilities_list li + li {
  border-top: 1px solid #ddd;
}

#sightseeing .column {
  position: relative;
}

#sightseeing .column a {
  color: #000;
}
#sightseeing .column h5 {
  position: absolute;
  background: #fff;
  font-size: 3vw;
  writing-mode: vertical-rl;
  display: block;
  letter-spacing: 1rem;
  top: 0;
  padding: 12px;
  left: 8%;
}

#sightseeing .column img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

#top #access figure img {
  margin: 0 auto;
}
#access .background_block {
  padding: 6rem 0px;
  color: #fff;
}

#access h3 {
  font-size: 1.8rem;
}

#access .access_car,
#access .access_train {
  margin-top: 12px;
  display: flex;
  align-items: center;
}

#access .access_tel {
  letter-spacing: 0.1rem;
  margin: 12px 0px;
}

#access > div {
  background-image: url(/wp-content/uploads/top_access_back.jpg);
  background-size: cover;
}

#access h2.section_title {
  font-size: 3rem;
  color: #fff;
  text-align: left;
}

#access h2.section_title span {
  font-size: 0.3em;
  display: block;
  color: #fff;
}

/*施設紹介*/
#service_detail .fas_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  grid-gap: 24px;
}
.mapimage_wrap {
  margin: 2rem auto;
  max-width: 840px;
}
.mapimage_wrap img {
  width: 100%;
}
.mapimage_wrap img + img {
  margin-top: 24px;
  border-top: 1px dotted var(--sub);
  padding-top: 24px;
}

#service_detail .fas_list p {
  margin-top: 1rem;
  color: #777;
}

#service_detail .fas_list .item h4 {
  font-size: 1.3rem;
  padding: 0.5em 0.6em;
  color: #494949;
  background: #fbfaf8;
  border-left: solid 3px var(--sub);
  margin: 1rem 0px;
}
#service_detail .fas_list .item img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
#serviceQA li + li {
  border-top: 1px solid #ddd;
}

#serviceQA h5 {
  font-size: 1.1rem;
  padding: 16px 8% 16px 0px;
  position: relative;
  cursor: pointer;

  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
#floorGuide .flx_group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  grid-gap: 24px;
}
#serviceQA h5 span {
  font-size: 1.2em;
  margin-right: 12px;
  font-family: "Times New Roman", "A-OTF A1 Mincho Std", "My A1 Mincho", "A1 Mincho", YuMincho, "Yu Mincho", yu-mincho-pr6, "Hiragino Mincho ProN", serif;
  color: var(--sub);
}
#serviceQA h5:after {
  font-family: "icomoon";
  content: "\e909";
  position: absolute;
  right: 0;
  top: 45%;
  font-weight: bold;
  line-height: 10px;
  transition: transform 0.2s ease-in-out;
}
#serviceQA h5.selected:after {
  transform: rotate(-180deg);
}
#serviceQA .text {
  padding: 0px 32px 16px;
}
#serviceQA .text a {
  color: var(--sub);
}

/*コンセプト*/
.concept_type {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  align-items: center;
}
.concept_type.reverse {
  flex-direction: row-reverse;
}
.concept_gallery a {
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  z-index: 9999;
  background: #ffffff;
  opacity: 0;
  transition: 0.3s;
}
.concept_gallery a:hover {
  opacity: 0.3;
}
.concept_gallery {
  height: 90vh;
  width: 66%;
  background-position: center center;
  background-size: cover;
  position: relative;
}
.concept_gallery img {
  transition: 0.3s;
}

.concept_gallery a:hover img {
  transform: scale(1.1);
}
#Location .concept_gallery {
  background-image: url(/wp-content/uploads/concept_01.jpg);
}
#View .concept_gallery {
  background-image: url(/wp-content/uploads/concept_02.jpg);
}
#Restaurant .concept_gallery {
  background-image: url(/wp-content/uploads/concept_03.jpg);
}
#Service .concept_gallery {
  background-image: url(/wp-content/uploads/concept_04.jpg);
}
#Sightseeing .concept_gallery {
  background-image: url(/wp-content/uploads/concept_05.jpg);
}

#Room.semidouble .concept_gallery {
  background-image: url(/wp-content/uploads/room_01.jpg);
}
#Room .twinroom .concept_gallery {
  background-image: url(/wp-content/uploads/room_02.jpg);
}
#top #Room p {
  text-align: center;
  font-style: normal;
  margin: 2rem auto;
  border-top: 1px solid #ddd;
  padding-top: 24px;
}

#top #Room .icon-seaside:before {
  display: block;
  font-size: 64px;
  text-align: center;
}
#top #Room .concept_box .small {
  margin-bottom: 0;
  padding-bottom: 0;
}
#top #Room em {
  font-style: normal;
  margin-top: 12px;
  display: block;
}
#top #Room .concept_type + .concept_type {
  margin-top: 8rem;
}

#top .access_column {
  flex-direction: column;
}
#top #access figure img {
  margin: 0 auto;
  max-width: 80%;
  margin: 0 auto;
  margin-top: 4rem;
}
.access_inner_flex b {
  font-size: 18px;
  font-weight: normal;
  border-bottom: 1px solid;
  padding-bottom: 6px;
  margin-bottom: 0px;
  display: block;
  margin-bottom: 12px;
}
.access_inner_flex {
  display: flex;
  justify-content: space-between;
}
.access_inner_flex i {
  margin-right: 8px;
}
#access .access_car,
#access .access_train {
  margin-top: 12px;
  display: flex;
  align-items: flex-start;
  width: 32%;
  padding: 16px;
  background: #1130576e;
}
.access_inner_flex p {
  font-size: 14px;
  width: 100%;
}
#top .access_column > div {
  width: 100%;
}
#top .access_column figure {
  text-align: center;
}
#top .access_column .btn_white {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .tbl_line dt {
    width: 100%;
  }
  .main_banner {
    /*height: 80vh;*/
  }
  #top #Room .concept_type + .concept_type {
    margin-top: 48px;
  }
  #top #Room .concept_box .content_title {
    margin: 24px 0px;
    text-align: center;
    writing-mode: horizontal-tb;
  }
}

.main_banner > li:not(:first-child) {
  display: none;
}

.concept_box .alpha {
  color: var(--sub);
  display: block;
  text-align: center;
}
.concept_box .small {
  font-size: 1.2rem;
  display: block;
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
.concept_box .content_title {
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 2;
  font-size: 1.4rem;
  text-align: start;
}
.concept_box {
  width: 34%;
  padding: 0px 3rem;
}

/*お食事*/

.flx_gap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 24px;
}
.flx_gap .inner {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.flx_gap .inner img {
  aspect-ratio: 1/1;
  width: 100%;
  border-radius: 500px;
  max-width: 80%;
}

.flx_gap h4 {
  text-align: left;
  font-size: 1.4rem;
  color: var(--sub);
  font-weight: normal;
  margin: 2rem 0px 1rem;
  border-top: 2px solid var(--sub);
  border-bottom: 1px solid var(--sub);
  letter-spacing: 0.1rem;
  padding: 0.9rem 12px;
  position: relative;
}
/*宴会・会議*/

#spaceRental .caution > div {
  padding: 24px;
  border: 1px solid #ddd;
}
#spaceRental .caution h6 {
  padding: 0.25em 0.5em;
  background: transparent;
  border-left: solid 5px var(--sub);
  font-size: 1rem;
}
#spaceRental .caution ul li {
  font-size: 14px;
  line-height: 1.7;
}
#spaceRental .caution .button {
  margin-top: 2rem;
}
a.button.pdf::before {
  content: "\f1c1";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
}

#spaceRental .caution .button.pdf {
}
#spaceRental .caution {
  width: 100%;
  margin-top: 2rem;
}
#spaceRental .caution ul + h6 {
  margin-top: 2rem;
}

#spaceRental .caution ul {
  margin-top: 1rem;
}

.section_detail em {
  font-style: normal;
  color: #777;
  font-size: 0.8em;
}

.sub_info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

.price {
  flex-basis: calc((100% - 5%) / 2);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.sub_info h5 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

.option {
  margin-top: 4rem;
}
.section_detail .option .inner {
  background: #fafafa;
  padding: 2rem;
}
.price dl {
  display: flex;
  width: 100%;
  padding: 1rem 0px;
}

.price dl dt {
  flex-basis: 30%;
}

.price dl dd {
  flex-basis: 70%;
}

.section_detail {
  display: flex;
  margin-top: 3rem;
  flex-wrap: wrap;
  max-width: 1024px;
}
#spaceCowork .section_detail,
#spaceHarbor .section_detail,
#top #en .section_detail {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: 1fr;
  grid-gap: 24px;
}
.section_detail .title {
  flex-basis: 30%;
}

#spaceCowork h5 {
  font-size: 1.2rem;
  margin: 2rem 0px 1rem;
}

.section_detail .situation {
  flex-basis: 100%;
  margin-top: 3rem;
}

.section_detail .situation .item_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 24px;
  margin-bottom: 4rem;
}

.section_detail .situation .item_list h4 {
  color: var(--sub);
  font-size: 1.2rem;
  margin: 0.7rem 0px;
}

.item_list img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  margin: 0 auto;
}

.section_detail .txt {
  flex-basis: 70%;
}

.section_detail .txt .read {
  margin-bottom: 2rem;
}

.section_detail .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0px 2rem 2rem 2rem;
  font-size: 0.9em;
}

.section_detail .info {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

#spaceRental .section_detail .info {
  margin-bottom: 24px;
}

.section_detail .info dt {
  flex-basis: 30%;
  text-align: left;
  vertical-align: top;
}

.section_detail .info dd {
  flex-basis: 70%;
}

.section_detail .info dl {
  display: flex;
  border-bottom: 1px dotted #ddd;
  align-items: center;
  padding: 1rem 0;
}

.section_detail .info dl:last-child {
  border-bottom: none;
}

.section_detail .inner dt {
  flex-basis: 40%;
  text-align: left;
  vertical-align: top;
}

.section_detail .inner dd {
  flex-basis: 60%;
}

.section_detail .inner dl {
  display: flex;
  width: 100%;
  border-bottom: 1px dotted #ddd;
  align-items: center;
  padding: 0.8rem;
}

.section_main_visual {
  width: 100%;
  padding-right: 3rem;
  max-width: 100%;
  aspect-ratio: 16/9;
  max-height: 65vh;
  object-fit: cover;
}

#Banquet ul.status,
#top #en ul.status {
  display: grid;
  grid-gap: 12px;
  grid-template-columns: 1fr 1fr;
}
#Banquet .status li,
#top #en .status li {
  text-align: center;
  border: 1px solid #ddd;
  padding: 12px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#Banquet .status em,
#Banquet .status i,
#top #en .status em,
#top #en .status i {
  display: block;
}
#Banquet .status li i:before,
#top #en .status li i:before {
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  font-style: normal;
  display: block;
  font-size: 2rem;
  margin-bottom: 4px;
  color: var(--black);
}

.section_main_visual.left {
  padding-left: 3rem;
  padding-right: 0rem;
}

.section_detail .content_title {
  text-align: left;
  margin-bottom: 1rem;
}

.section_detail .content_title span {
  color: var(--sub);
}

.infolist li {
  line-height: 1.7;
}

.infolist p {
  font-size: 0.9rem;
  padding: 0.7rem 1rem;
  color: var(--sub);
  position: relative;
}

.infolist p:after {
  content: "\f078";
  position: absolute;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  right: 12px;
  top: 50%;
  transition: transform 0.2s ease-in-out;
  line-height: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.infolist.selected p:after {
  transform: rotate(-180deg);
}

.infolist {
  margin-top: 12px;
  background: #f2f2f2;
}

#spaceRental .infolist {
  margin-top: 0px;
}

/*コンセプト*/

#Concept .concept_detail a {
  margin-top: 2rem;
}
/*周辺観光*/

a.walking_course {
  color: var(--sub);
  padding: 12px 24px;
  text-align: left;
  display: flex;
  align-items: center;
}
a.walking_course span {
  background: var(--sub);
  width: 24px;
  height: 24px;
  display: inline-block;
  border-radius: 50px;
  color: #fff;
  text-align: center;
  line-height: 24px;
  margin-right: 8px;
}
.sightseeing_type {
  display: flex;
  align-items: center;
}
.sightseeing_type .sightseeing_gallery {
  width: 50%;
}
.sightseeing_type .sightseeing_detail {
  width: 50%;
  padding-right: 5%;
  padding-left: 5%;
}
.sightseeing_detail .links {
  margin-top: 2rem;
}
.sightseeing_detail h4 {
  font-size: 1.4rem;
  text-align: center;
  line-height: 2;
}
.sightseeing_detail .alpha {
  color: var(--sub);
  display: block;
  font-size: 0.9rem;
}
.sightseeing_type .sightseeing_detail .text p {
  margin-top: 2rem;
  text-align: left;
  color: #777;
}
.sightseeing_type .sightseeing_gallery img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
#sightseeingSpot .spot_list,
#sightseeingCyclingSpot .spot_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 24px;
}
#sightseeingSpot .spot_list .item,
#sightseeingCyclingSpot .spot_list .item {
  padding: 2rem;
  border: 1px solid var(--sub);
  background: rgb(224 217 197 / 0.2);
  display: flex;
  flex-direction: column;
}
#sightseeingSpot .spot_list .item img,
#sightseeingCyclingSpot .spot_list .item img {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
}
#sightseeingSpot .spot_list .item h4,
#sightseeingCyclingSpot .spot_list .item h4 {
  font-size: 1.3rem;
  padding-top: 1rem;
}
#sightseeingSpot .spot_list .item .text p,
#sightseeingCyclingSpot .spot_list .item .text {
  padding-top: 1rem;
  color: #777;
  font-size: 0.9rem;
  text-align: left;
}
#sightseeingSpot .spot_list .item .text,
#sightseeingCyclingSpot .spot_list .item .text {
  margin-bottom: 2rem;
}
#service_detail .spot_list .item .info {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.spot_list .item .info dl {
  display: flex;
  padding: 12px 0px;
  text-align: left;
  align-items: center;
}
.spot_list .item .info dl dt {
  flex-basis: 30%;
}
.spot_list .item .info dl dd {
  flex-basis: 70%;
}
.spot_list .item .info dl + dl {
  border-top: 1px solid #ddd;
}
.spot_list .item .info {
  border-top: 1px #ddd;
  border-bottom: 1px #ddd;
  margin: 1rem 0px;
}
.spot_list .item a.locaton_link {
  display: block;
  color: var(--sub);
  position: relative;
  display: flex;
  border-bottom: 1px solid;
  width: max-content;
}
a.locaton_link:before {
  font-family: "icomoon" !important;
  content: "\e906";
  margin-right: 6px;
}
.spot_list .links {
  margin-top: auto;
}
.sightseeing_type_walk ul.course {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 24px;
}
.course li {
  background: #fff;
  text-align: center;
  border: 1px solid var(--sub);
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.auto_slider {
  margin-bottom: 2rem;
}
.auto_slider img {
  aspect-ratio: 4/3;
}

/*お問い合わせ*/

.contact_wrap .formft {
  display: flex;
  flex-direction: column-reverse;
}
.contact_wrap {
  max-width: 1024px;
}
.contact_wrap .email-confirm {
  margin-top: 12px;
}
.contact_wrap.contact_confirm .ajaxzip3,
.contact_wrap.contact_confirm .selectwrap::after {
  display: none;
}

.contact_wrap .contacttelbox em {
  display: inline-block;
  margin-left: 20px;
  font-size: 0.9rem;
  color: #666;
  font-style: normal;
}
.contact_wrap .contacttelbox strong {
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
  font-size: 30px;
  font-weight: normal;
  font-family: "Times New Roman", "A-OTF A1 Mincho Std", "My A1 Mincho", "A1 Mincho", YuMincho, "Yu Mincho", yu-mincho-pr6, "Hiragino Mincho ProN", serif;
}

.contact_wrap .ajaxzip3 {
  display: inline-block;
  cursor: pointer;
  padding: 8px 16px;
  border-radius: 4px;
  color: #fff;
  background: var(--sub);
  margin-left: 12px;
}
.contact_wrap .selectwrap .input {
  width: 100%;
}
.contact_wrap .Form {
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1024px;
}
.contact_wrap .contacttelbox {
  padding: 20px;
  margin-bottom: 30px;
  text-align: center;
  line-height: 30px;
  border: 1px solid #e0d9c5;
  background: #f7f5f0;
}

.contact_wrap .Form > .item:nth-child(odd) {
  background: #9c89530d;
}

.contact_wrap .item {
  width: 100%;
  display: flex;
  padding: 16px;
  align-items: center;
  position: relative;
}

.contact_wrap .item dd {
  width: 100%;
  position: relative;
  text-align: left;
}
.contact_wrap .item dd.form_num {
  max-width: 110px;
}

.contact_wrap .item dd.form_num.age {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.contact_wrap .item .mail_confirm {
  margin-top: 12px;
}
.contact_wrap .item dd.form_num.age .sub {
  margin-left: 12px;
}
.contact_wrap .item dd p {
  padding: 7px 0px;
  word-break: break-word;
  font-size: 0.9rem;
  line-height: 20px;
}

.contact_wrap .label {
  width: 100%;
  max-width: 30%;
  letter-spacing: 0.05em;
  font-size: 1rem;
  text-align: left;
}

.contact_wrap .label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}

.contact_wrap .selectwrap {
  position: relative;
}

.contact_wrap .input.name {
  width: 140px;
}
.contact_wrap .mailaddress .input + .input {
  margin-top: 1rem;
}
.contact_wrap .mailaddress br {
  display: none;
}
.contact_confirm .mailaddress br {
  display: block;
}
.contact_wrap .required {
  font-weight: normal;
  font-size: 0.7rem;
  color: #fff;
  background: var(--sub);
  line-height: 12px;
  padding: 4px;
  margin-left: 8px;
}

.contact_wrap .mw_wp_form .error {
  padding: 6px;
  font-size: 0.9em;
  color: #f24f4f;
}

.contact_wrap .input {
  border: 1px solid #ccc;
  padding-left: 1em;
  padding-right: 1em;
  height: 38px;
  flex: 1;
  border-radius: 4px;
  background: #fff;
  font-size: 1rem;
  -webkit-appearance: none;
}

.contact_wrap .item-Textarea {
  border-radius: 4px;
  border: 1px solid #ccc;
  padding: 10px;
  height: 216px;
  flex: 1;
  width: 100%;
  background: #eaedf2;
  font-size: 1rem;
  -webkit-appearance: none;
  line-height: 1.7;
}

.contact_wrap input[type="submit"].Form-Btn,
.contact_wrap button[type="button"].Form-Btn {
  font-family: "Times New Roman", "A-OTF A1 Mincho Std", "My A1 Mincho", "A1 Mincho", YuMincho, "Yu Mincho", yu-mincho-pr6, "Hiragino Mincho ProN", serif;
  display: inline-block;
  padding: 12px 24px;
  min-width: 240px;
  background: var(--black);
  color: #ffffff;
  font-size: 1rem;
  width: auto;
  text-align: center;
  transition: 0.3s;
  cursor: pointer;
}

.contact_wrap input.btnback {
  font-family: "Times New Roman", "A-OTF A1 Mincho Std", "My A1 Mincho", "A1 Mincho", YuMincho, "Yu Mincho", yu-mincho-pr6, "Hiragino Mincho ProN", serif;
  cursor: pointer;
  display: inline-block;
  padding: 12px 24px;
  min-width: 240px;
  font-size: 1rem;
  text-align: center;
  transition: 0.3s;
  color: #999;
  border: none;
  background: #ddd;
  margin-right: 12px;
}

.contact_wrap input.btnback:hover,
.contact_wrap input[type="submit"].Form-Btn:hover,
.contact_wrap button[type="button"].Form-Btn:hover {
  opacity: 0.7;
}

form dd input.parsley-error,
form dd select.parsley-error,
form dd textarea.parsley-error {
  transition: 0.3s;
  background: #ffdada !important;
}

.parsley-required {
  font-size: 14px;
  margin-top: 8px;
}

form dd input.parsley-success,
form dd select.parsley-success,
form dd textarea.parsley-success {
  color: #468847;
  background-color: #dff0d8 !important;
  border: 1px solid #d6e9c6;
}

.contact_wrap .address_input > div + div {
  margin-top: 12px;
}
.contact_wrap .address_input > div {
  display: flex;
  align-items: center;
}

.contact_wrap .address_input em {
  width: 8em;
  font-style: normal;
}

.contact_wrap .formft {
  padding: 40px 0px;
  text-align: center;
  flex-direction: row;
  justify-content: center;
}

.contact_wrap .check label span {
  display: inline-block;
}

.contact_wrap .check label input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.contact_wrap .check label {
  position: relative;
  padding-left: 30px;
}

.contact_wrap .check label input[type="checkbox"] + span::before,
.contact_wrap .check label input[type="checkbox"] + span::after {
  position: absolute;
  top: -3px;
  left: 0;
  display: inline-block;
  content: "";
  box-sizing: border-box;
}

.contact_wrap .check label input[type="checkbox"] + span::before {
  z-index: 0;
  background-color: #fff;
  width: 22px;
  height: 22px;
  border: 1px var(--sub) solid;
  border-radius: 5px;
}

.contact_wrap .check label input[type="checkbox"] + span::after {
  z-index: 1;
  margin: 5px 8px;
  width: 6px;
  height: 9px;
}

.contact_wrap .check label input[type="checkbox"]:checked + span::before {
  background-color: var(--sub);
}

.contact_wrap .check label input[type="checkbox"]:checked + span::after {
  border: 2px solid #fff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.contact_wrap .comp {
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  padding: 25px 20px;
  text-align: center;
  margin-bottom: 2rem;
}

.contact_wrap .comp a {
  display: inline-block;
  background: #dddddd;
  text-align: center;
  margin: 0 auto;
  width: 240px;
  font-weight: bold;
  margin: 0 auto;
  padding: 12px 10px;
  border-radius: 6px;
}

.contact_wrap .item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 10px;
  min-height: 240px;
  flex: 1;
  width: 100%;
  background: #fff;
  font-size: 15px;
  -webkit-appearance: none;
}
.contact_wrap .selectwrap::after {
font-family: "icomoon";
    content: "\e909";
    font-weight: bold;
    position: absolute;
    font-size: 14px;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

/*アクセス*/

.flx_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

h4.content_title_underline {
  color: #000;
  font-size: 1.4rem;
  padding-bottom: 8px;
  border-bottom: 1px solid #dddddd;
  margin-bottom: 16px;
}
#accessMap .access_gallery img {
  width: 100%;
  aspect-ratio: 16/9;
}
#accessMap .access_gallery {
  width: calc(60% - 24px);
}

#accessMap .access_gallery + .text {
  width: 40%;
  text-align: left;
  padding: 0px 32px;
}

.g_link {
  color: var(--main);
}
.sub_link {
  color: var(--sub);
}

.prof_box {
  margin-bottom: 24px;
}

.access_index {
  max-width: 840px;
  margin: 2rem auto;
}
.access_index li {
  width: calc((100% / 3) - 6px);
  border: 1px solid var(--sub);
}
.access_index a {
  color: var(--sub);
  display: block;
  padding: 16px;
  position: relative;
}

.access_index a:after {
  content: "\f078";
  position: absolute;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#accessAirport h4 {
  width: 40%;
  font-size: 1.4rem;
  text-align: center;
}
#accessAirport h4 span {
  color: var(--sub);
  display: block;
  font-size: 0.8em;
}
#accessAirport .access_gallery img {
  width: 100%;
}
#accessAirport .access_type {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 2rem 0px;
  flex-wrap: wrap;
}

#accessAirport .access_type + .access_type {
  border-top: 1px solid #ddd;
}

#accessAirport .access_gallery {
  width: 30%;
}

#accessParking .tbl1 {
  width: 100%;
  margin: 0 auto;
  max-width: 100%;
  margin-top: 24px;
}
#accessParking .access_gallery img {
  width: 100%;
}
#accessParking .access_gallery {
  width: 60%;
}
#accessParking .access_detail {
  width: 40%;
}

/*footer*/
.footer_logo img {
  max-width: 260px;
}

.footer_menu .link_wrap {
  display: flex;
}
.footer_menu .link_wrap a {
  width: 50%;
}
.footer_menu .f_link {
  text-align: center;
  color: #fff;
  padding: 24px;
  background-size: cover;
  position: relative;
  display: flex;
  overflow: hidden;
}
.footer_menu .f_link:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-size: cover;
  z-index: -999;
  transition: 0.4s;
}

.footer_menu .f_link:hover:after {
  opacity: 0.8;
  -moz-transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
.footer_menu .f_link.stay:after {
  background-image: url(/wp-content/uploads/rooms_top.jpg);
}

.footer_menu .f_link.cuisine:after {
  background-image: url(/wp-content/uploads/morning_01.jpg);
}

.footer_menu .f_link.access:after {
  background-image: url(/wp-content/uploads/access_top.jpg);
}

.footer_menu .f_link.sightseeing:after {
  background-image: url(/wp-content/uploads/sightseeing_top-1.jpg);
}
.footer_menu .f_link h4 {
  text-align: center;
  vertical-align: middle;
  color: #fff;
  font-size: 1.4rem;
  padding: 24px 0px;
  margin: 0 auto;
  display: flex;
  width: 100%;
  z-index: 1;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  border: 1px solid #fff;
}

.footer_menu .reserve {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.footer_menu .reserve h4 {
  text-align: center;
  margin-bottom: 24px;
  font-size: 1.3rem;
}

.footer_menu .f_link span {
  font-size: 2rem;
  background: var(--sub);
  width: 7rem;
  height: 7rem;
  text-align: center;
  display: flex;
  margin-bottom: 16px;
  justify-content: center;
  align-items: center;
  border-radius: 120px;
}

.footer_menu .f_link:before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  top: 0;
  right: 0;
  background: #104a6161;
  mix-blend-mode: multiply;
}

footer {
  display: flex;
  flex-wrap: wrap;
  background: var(--main);
}

footer > div#copyright {
  flex-basis: 100%;
  text-align: center;
}

footer div.footer_company_info,
footer div.footer_sitemap {
  padding: 48px;
  flex-basis: 50%;
}

footer > div {
  display: flex;
  max-width: 1440px;
  margin: 0 auto;
}

#copyright {
  text-align: right;
  margin-top: 48px;
}

.footer_sitemap {
  background: #2a945a;
}

footer li a {
  color: #fff;
}

footer p {
  color: #fff;
  font-size: 0.9em;
  line-height: 1.7;
  margin-top: 12px;
}

.footer_contact {
  padding: 12px 48px;
  color: #fff;
  display: inline-block;
  border: 1px solid #fff;
  margin-top: 24px;
  transition: 0.3s;
}

.footer_contact:hover {
  opacity: 0.7;
}

footer .footer {
  display: flex;
  flex-wrap: wrap;
  margin-left: -3%;
  flex-direction: column;
  margin-bottom: -30px;
  justify-content: end;
  max-height: 230px;
}

footer .footer > li {
  flex-basis: 30%;
  margin-left: 3%;
  font-size: 1rem;
  padding: 6px 0px;
  border-left: 1px solid #ffffff44;
  display: flex;
  align-items: center;
}

footer .footer > li:first-child {
}

footer .footer > li > a,
#menu-snav > li > a {
  display: block;
  padding: 4px 0 4px 15px;
  position: relative;
  font-size: 0.9rem;
  text-align: left;
  transition: 0.3s;
}

footer .footer .sub-menu {
  border-left: 2px solid #e8ecf1;
}

footer .footer .sub-menu > li > a,
#menu-snav .sub-menu > li > a {
  font-weight: normal;
  color: #000;
  text-align: left;
  display: block;
  padding: 4px 0 4px 15px;
  font-size: 0.9rem;
}

footer .footer .sub-menu > li > .sub-menu {
  display: none;
}

footer .footer > li.current-menu-item > a,
footer .footer > li.current-menu-parent > a {
}

footer .footer > li > a:hover {
  opacity: 0.7;
}

footer .sub-menu > li.current-menu-item > a {
  background: #f3f6f9;
}

footer .sub-menu > li > a:hover {
  background: #e8ecf1;
}

#g-nav {
  position: fixed;
  z-index: -1;
  opacity: 0;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background: #ffffff;
  transition: 0.3s;
}
#g-nav-list .button {
  margin-top: 2rem;
  border: 1px solid var(--black);
  color: var(--black);
  max-width: 240px;
}
#g-nav-list .tel {
  color: #000;
  text-align: center;
  position: relative;
  display: block;
  width: auto;
    font-size: min(8vw,54px);
  margin: 0 auto;
  margin-top: 2rem;
  font-family: "Times New Roman", "A-OTF A1 Mincho Std", "My A1 Mincho", "A1 Mincho", YuMincho, "Yu Mincho", yu-mincho-pr6, "Hiragino Mincho ProN", serif;
}

#g-nav-list .tel:before {
  content: "\f095";
  padding-right: 12px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  transition: 0.3s;
}

.gnav-sp span {
font-size: 0.6em;
    color: var(--sub);
    margin-top: -2px;
    display: block;
}

#g-nav .gnav-sp li a {
  color: #000;
  font-weight: normal;
  font-size: min(4.3vw,32px);
	line-height:1.6;
}

#g-nav.panelactive {
  opacity: 1;
  z-index: 999;
}

#g-nav.panelactive #g-nav-list {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#g-nav ul {
  position: relative;
  z-index: 999;
  margin-top: 17vh;
}

#g-nav.panelactive ul {
  display: block;
}

#g-nav li {
  list-style: none;
  text-align: center;
  max-width: 70vw;
  margin: 0 auto;
}


#g-nav li a {
  color: #333;
  text-decoration: none;
  display: block;
  letter-spacing: 0.1em;
  font-weight: bold;
}

#g-nav li + li {
  padding-top: 18px;
}

.openbtn1 {
  position: fixed;
  z-index: 9999;
  display: none;
  top: 16px;
  right: 16px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  background: var(--main);
}

.openbtn1 span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 1px;
  border-radius: 2px;
  background-color: #fff;
  width: 45%;
}
/*
header.fixed>div {
    padding: 12px 24px 20px 24px
}
*/

header.fixed .openbtn1.active span {
  background-color: #fff;
}

.openbtn1 span:nth-of-type(1) {
  top: 15px;
}

.openbtn1 span:nth-of-type(2) {
  top: 23px;
}

.openbtn1 span:nth-of-type(3) {
  top: 31px;
}

.openbtn1.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}

.sp_footermenu {
  display: none;
}

#concept .background_block {
  padding: 6rem 0px;
  color: #fff;
}

.header_reserve {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center;
  color: #fff;
}

@media screen and (min-width: 1440px) {
  .content_wrap {
  }
}

@media screen and (max-width: 1084px) {
  .bread_wrap {
    top: 78px;
  }
  .main_banner {
    margin-top: 90px;
  }
  header > div {
    min-height: 90px;
  }
  .access_inner_flex {
    flex-direction: column;
  }
  #access .access_car,
  #access .access_train {
    width: 100%;
  }
  #service_detail .fas_list {
    grid-template-columns: repeat(2, 1fr);
  }
  #sightseeingSpot .spot_list,
  #sightseeingCyclingSpot .spot_list {
    grid-template-columns: repeat(2, 1fr);
  }

  #gnav.en {
    display: none;
  }
  header ul.bogo-language-switcher li {
    margin-top: 0px;
  }
  .concept_gallery {
    width: 60%;
  }
  .concept_box {
    width: 40%;
    padding: 0;
  }
  .room_index li,
  .recruit_index li {
  }
  .fixed #gnav.en {
    display: none;
  }
  #gnav {
    display: none;
  }
  .openbtn1 {
    display: block;
  }
  #facilities .fas_images,
  #facilities .fas_text {
    flex-basis: 50% !important;
  }
  #facilities .fas_text {
    padding: 0px 3rem;
  }
  .header_reserve {
    display: none;
  }
  #rooms .column {
    display: flex;
  }
  #rooms .content_wrap {
    padding: 0px;
  }
  #rooms .room_column {
    flex-wrap: wrap !important;
    display: block;
  }
  #rooms .room_column .column + .column {
    margin-top: 6rem;
  }
  #rooms .sub_column {
    flex-wrap: wrap !important;
    gap: 24px;
  }
  #rooms .sub_column div {
    flex-basis: 100% !important;
  }
  #rooms h3 {
    padding-top: 0px;
  }
  #rooms .column figure {
    flex-basis: 50%;
  }
  #rooms .column.double {
    flex-direction: row-reverse;
  }
  #rooms .column > div {
    flex-basis: 50%;
    padding: 0px 48px;
  }
  #rooms h4 {
    font-size: 1.2rem;
    margin-bottom: 12px;
  }
  #rooms .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100%;
  }
}

@media screen and (max-width: 800px) {
  #top .room_column {
    grid-template-columns: repeat(1, 1fr);
  }

  #gotop {
    bottom: 84px;
  }
  footer {
    margin-bottom: 64px;
  }

  .sp_footermenu {
    background: var(--main);
    position: fixed;
    bottom: 0;
    display: block;
    width: 100%;
    z-index: 9999;
    height: 64px;
  }
  .sp_footermenu a {
    font-size: 0.8rem;
  }
  .sp_footermenu span {
    display: block;
    margin: 2px 6px 8px;
    font-size: 1.2rem;
  }
  .sp_footermenu ul li:nth-child(odd) {
    /* background: #2b9459;*/
  }
  .sp_footermenu ul li + li {
    border-left: 1px solid #fff;
  }
  .sp_footermenu ul {
    display: flex;
  }
  .sp_footermenu .footer_reserve {
    background: var(--black);
  }
  .sp_footermenu .footer_access {
    background: var(--sub);
  }
  .sp_footermenu ul li {
    width: calc(100% / 4);
    text-align: center;
    padding: 12px;
  }
}

@media screen and (max-width: 767px) {
  .spot_list .item .info dl {
    align-items: flex-start;
    flex-direction: column;
  }
  #floorGuide .flx_group {
    grid-template-columns: 1fr;
  }

  .room_index ul,
  .recruit_index ul {
    grid-template-columns: 1fr 1fr;
  }
  .sightseeing_type_walk ul.course {
    grid-template-columns: repeat(2, 1fr);
  }

  .section_detail .situation .item_list {
    margin: 2rem 0px 0rem;
  }
  #sightseeingSpot .spot_list,
  #sightseeingCyclingSpot .spot_list {
    grid-template-columns: repeat(1, 1fr);
  }

  .section_detail .situation .item_list {
    grid-template-columns: repeat(2, 1fr);
  }

  .floor_wrap .tbl_line,
  .floor_wrap img {
    width: 100%;
  }
  footer > div {
    display: block;
  }

  .tbl_line dl {
    flex-direction: column;
  }
  .contact_wrap .item dd {
    margin-top: 12px;
  }
  .contact_wrap .formft {
    flex-direction: column-reverse;
  }
  .contact_wrap .formft input {
    width: 100%;
  }
  .contact_wrap .formft input.btnback {
    margin-top: 12px;
  }
  .contact_wrap .contacttelbox em,
  .contact_wrap .contacttelbox strong {
    margin: 0 auto;
    display: block;
  }
  .contact_wrap .address_input > div {
    flex-direction: column;
    align-items: flex-start;
  }
  .contact_wrap .address_input > div em {
    width: 100%;
  }


  .contact_wrap .Form {
    margin-top: 40px;
  }
  .contact_wrap .item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
  }
  .contact_wrap .label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
  .contact_wrap.label.isMsg {
    margin-top: 0;
  }
  .contact_wrap .select::after {
    right: 25px;
    bottom: 25px;
  }
  .contact_wrap .required {
    padding-top: 4px;
    padding-bottom: 4px;
    margin-left: 8px;
  }
  .contact_wrap .item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
    max-width: 100%;
  }
  .contact_wrap .input.tel {
    width: auto;
  }
  .contact_wrap .input {
    margin-left: 0;
    margin-top: 8px;
    height: 40px;
    flex: inherit;
    width: 100%;
    font-size: 15px;
    max-width: 100%;
  }
.contact_wrap .selectwrap .input{
    margin-top: 0px;
}
  .contact_wrap dl.select .input {
    padding-right: 30px;
  }

  .contact_wrap .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 16px;
  }
  #top .room_column,
  #top .facilities_column,
  #top .access_column {
    flex-direction: column;
    flex-wrap: wrap;
  }
  #top .restaurant_column,
  #top .sightseeing_column {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  #top .facilities_column {
    flex-direction: column;
    flex-wrap: wrap;
  }

  #facilities .fas_text {
    width: 100%;
  }
  #top .access_column div + div {
    margin-top: 24px;
  }
  #top .access_column > div {
    width: 100%;
  }
  .restaurant_column img {
    width: 100%;
  }
  #accessMap .access_gallery img {
    aspect-ratio: auto;
  }

  .sp-non {
    display: none;
  }
  .sp {
    display: block;
  }

  #top #en .concept_gallery,
  #top #en .concept_box {
    width: 100%;
  }

  .sightseeing_detail h4 {
    margin-top: 2rem;
  }
  .sightseeing_type .sightseeing_gallery {
    width: 100%;
  }
  .sightseeing_type {
    display: block;
  }
  .sightseeing_type > *,
  .sightseeing_type .sightseeing_detail {
    width: 100%;
  }
  .sightseeing_detail h3.content_title {
    margin: 1rem 0px;
  }
  .room_wi-fi {
    flex-wrap: wrap;
  }
  .room_wi-fi img,
  .room_wi-fi .box {
    width: 100%;
  }
  .room_detail .links {
    display: flex;
    gap: 24px;
  }
  .room_detail .links a {
    width: 100%;
    margin: 2rem 0px 1rem;
    max-width: 100%;
  }

  .room_detail .inner dl {
    display: block;
  }
  .room_detail .inner dd {
    margin-top: 6px;
  }
  .room_index li,
  .recruit_index li {
    width: 100%;
  }
  .room_detail .links {
    margin-top: 24px;
  }
  .room_detail {
    display: block;
  }
  #sightseeing .column figure {
    height: 33.5rem;
  }
  #sightseeing .column {
    width: 100%;
  }
  .main_banner li .text {
    font-size: 1.2rem;
    bottom: 3rem;
  }
  #concept .background_block {
    width: 100%;
    padding: 3rem 0px;
  }

  .reserve_banner_top {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #sightseeing p {
    margin: 1rem 0px 2rem;
  }

  #spaceCowork .section_detail,
  #spaceHarbor .section_detail,
  #top #en .section_detail {
    grid-template-columns: 1fr;
  }
  .section_detail .title,
  .section_detail .txt {
    flex-basis: 100%;
  }
  .concept_box .content_title {
    margin: 3rem auto;
  }
  .concept_type {
    flex-direction: column;
  }
  .concept_gallery {
    height: 40vh;
  }
  .concept_gallery,
  .concept_box {
    width: 100%;
  }
  #Banquet #spaceCowork .detail,
  #Banquet #spaceHarbor .detail {
    gap: 0px;
  }
  #Banquet ul.status {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin: 1rem 0px;
  }
  #Banquet .price + .price {
    margin-top: 2rem;
  }
  #Banquet .sub_info {
    display: block;
    margin-top: 2rem;
  }
  #Banquet .detail {
    flex-wrap: wrap;
  }
  #Banquet .detail,
  #Banquet .detail .situation .item_list,
  #Banquet .sub_info {
    flex-direction: column;
  }
  #Banquet .detail .inner dl,
  #Banquet .detail .situation .item_list > div {
    width: 100%;
  }

  .flx_group {
    display: block;
  }

  .access_index li {
    width: 100%;
  }
  .access_index li + li {
    margin: 12px 0px;
  }
  #accessMap .access_gallery,
  #accessParking .access_gallery,
  #accessAirport h4 {
    width: 100%;
  }
  #accessMap .access_gallery + .text,
  #accessParking .access_detail,
  #accessAirport .access_gallery {
    width: 100%;
    padding: 2rem 0px;
  }
}

@media screen and (max-width: 599px) {

  .contact_wrap .ajaxzip3 {
    margin: 0px;
  }
  .main_banner img {
    height: 54vh;
  }

  .sightseeing_type_walk ul.course {
    grid-template-columns: repeat(1, 1fr);
  }

  .room_index ul,
  .recruit_index ul {
    grid-template-columns: 1fr;
  }
  ul.banner_list li {
    width: 100%;
  }
  ul.banner_list li + li {
    margin-top: 24px;
  }

  #top .restaurant_column > *,
  #top .sightseeing_column > * {
    width: 100%;
  }

  #top .restaurant_column div + div,
  #top .sightseeing_column div + div {
    margin-top: 4rem;
  }
  #Banquet .section_detail .option .inner {
    padding: 0px;
  }
  #Banquet .section_detail .inner dl {
    display: block;
  }
  #Banquet .section_detail .inner dd {
    margin-top: 8px;
    text-align: right;
  }
  .aioseo-breadcrumbs {
    padding: 12px 24px;
    display: block;
  }
  .footer_menu .f_link {
    width: 100%;
  }
  .footer_menu .link_wrap {
    display: block;
  }
  .footer_menu .link {
    width: 100%;
  }

  .entry-content section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .section_detail .situation .item_list {
    grid-template-columns: 1fr;
  }

  .sightseeing_type_walk ul.course li {
    width: 100%;
  }

  #sightseeingSpot .spot_list .item,
  #sightseeingCyclingSpot .spot_list .item {
    width: 100%;
  }

  header .header_logo img {
    max-width: 180px;
  }

  .flx_gap {
    grid-template-columns: 1fr;
  }
  .flx_gap .inner {
    width: 100%;
  }
  #Banquet ul.status {
    grid-template-columns: 1fr 1fr;
  }
  #service_detail .fas_list {
    grid-template-columns: 1fr;
  }
  .entry-content h2.section_title {
    font-size: min(7vw, 25px);
  }
  .entry-content h2.section_title,
  p {
    text-align: left;
  }

  .tbl1 tr {
    display: table-row;
  }
  .tbl1 th,
  .tbl1 td {
    display: block;
  }
  .tbl1 th,
  .tbl1 td:first-child {
    width: auto;
    padding: 16px;
  }
  .room_detail .links {
    display: block;
  }
  .room_detail .inner {
    padding: 0;
  }
  .main_banner li .text {
    font-size: 1rem;
  }
  #rooms .content_wrap {
    padding: 0px 32px;
  }
  #rooms h3 {
    padding-top: 24px;
  }
  #rooms .column figure {
    flex-basis: 100%;
  }
  #rooms .column {
    display: block;
  }
  #rooms .column > div {
    padding: 0px;
  }
  #sightseeing .column h5 {
    font-size: 8.5vw;
  }
  h2.section_title {
    font-size: 8.5vw;
  }
  #rooms h4 {
    font-size: 1.4rem;
  }
  #banner_area {
    padding: 32px;
  }
  .btn_white,
  .btn_white a {
    width: 100%;
  }
  footer > div {
    display: block;
    width: 100%;
  }
  footer div.footer_company_info,
  footer div.footer_sitemap {
    padding: 32px;
  }

  ul.banner_list {
    display: block;
  }
  .content_wrap {
    padding: 0 24px;
  }
  .page-title-content {
    min-height: 60vh;
  }
  .entry-content {
    /*  padding: 32px 0px;*/
  }
}
@media screen and (max-width: 340px) {
	html{
		font-size:14px;
	}
	.introduction p{
		font-size:14px;	
	}.room_wi-fi{
		    padding: 12px;
	}
	.room_wi-fi h4 {
    margin-top: 12px;
}
	#fourth .room_detail .content_wrap{
		padding:0px;
	}
  header .header_logo img {
    max-width: 120px;
  }
.header_logo .bogo-language-name,
	header ul.bogo-language-switcher li a{
    font-size: 12px;
}
	header > div{
		min-height: auto;
    height: 48px;
	}
	.bogo-language-switcher{
		height:auto;
	}
	.main_banner {
    margin-top: 48px;
}
	.sp_footermenu{
		    height: 46px;
	}
	.sp_footermenu a{
		font-size: 10px;
	}
	.sp_footermenu span {
    font-size: 14px;
    margin-top: 8px;
    margin-bottom: 0;
}
	.page-title-content{
		    margin-top: 48px;
	}
	.sp_footermenu ul li{
		padding:2px;
	}
	#g-nav ul{
		    margin-top: 64px;
	}
	#g-nav-list .tel{
		margin-top:1rem;
	}
	footer{
	
	    margin-bottom: 48px;
	}
	#g-nav li + li {
    padding-top: 10px;
}
	.openbtn1{
		    right: 0;
    top: 0;
    height: 48px;
	}
	
	.cont h2{
	font-size: min(6vw,24px);
	}
}
