/* */
/* スマホ/パソコン共通 */
/* */

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700&display=swap');

/* */
/* html/body */
/* */
* {
	box-sizing: border-box;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}

*:focus {
	outline: none;
}

body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6, pre, p, form, .fields,
input, textarea, blockquote, th, td {
	margin: 0;
	padding: 0;
}

html, body{
	width: 100%;
	height: auto;
	min-width:0;
	margin: 0;
	padding: 0;
}

html {
	-webkit-tap-highlight-color: rgba(230,200,210,.7);
   	-webkit-flow-scrolling: touch;
	overflow-x: hidden;
}

body {
	font-size: 16px;
     	font-family: "Open Sans","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	line-height: 1.5em;
	overflow-x: clip;
}

/* */
/* タグ */
/* */
h1, h2 {
	font-size: 1.3em;
	font-family: inherit;
	margin-bottom: 0px;
}

h1 {
	font-size: 1.2em;
	font-weight: normal;
	line-height: 1.2em;
	text-align: center;
	margin-bottom: 20px; 
	overflow: hidden;
}

.home h1{
	background-image: none;
}

.fixpage h1 {
	height: auto;
	background: none;
	margin-bottom: 10px
}

h2 {
	display: inline-block;
	margin-bottom: 0px;
	font-size: 1.1em;
	font-weight: normal;
	letter-spacing: 3px;
	border-bottom: solid 1px;
}

h3 {
	font-size: 1.2em;
	font-weight: normal;
}

.section-lineup h3 {
        font-size: .9em;
}

ul li {
	list-style: none;
}

.topic a {
	text-decoration: underline;
}

a.btn {
	text-decoration: none;
}

.linkbox {
    position: relative;
}

a.linkbox {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
    z-index: 99;
}

p {
	margin-bottom: 10px;
}

input[type="checkbox"] {
	-webkit-appearance:checkbox;
}

input[type="radio"] {
	-webkit-appearance:radio;
}

input, textarea, select {
	outline: none;
}

/* */
/* 汎用クラス */
/* */
.ds_block {
	display: block; 
}

.ds_none {
	display: none; 
}

.clear{
	clear:both;
}

.sp_only {
	display: block;
}

.pc_only {
	display: none;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
} 

.br_sp {
	display: inline;
}

.big {
	font-size: 1.4em;
}

.bigger {
	font-size: 1.8em;
}

.mini {
	font-size: .8em;
}

p .unit {
	margin-bottom: 1.8em;
}

.f11 {
	font-size: 1.1em;
}

.f12 {
	font-size: 1.2em;
}

.f14 {
	font-size: 1.4em;
}

.f16 {
	font-size: 1.6em;
}

.f18 {
	font-size: 2.0em;
}

.f20 {
	font-size: 1.6em;
}

.ls1 {
	height: 1px;
	margin-bottom: 3em;	
}

.ls2 {
	height: 1px;
	margin-bottom: 4em;	
}

.ls3 {
	height: 1px;
	margin-bottom: 5em;	
}

.m10 {
	margin: 10px;
}

.m20 {
	margin: 20px;
}

.m30 {
	margin: 30px;
}

.mb20 {
	margin-bottom: 20px;
}

.mt1 {
	margin-top: 1em;
}

.mt2 {
	margin-top: 2em;
}

.mt3 {
	margin-top: 3em;
}

.mb1 {
	margin-bottom: 1em;
}

.mb2 {
	margin-bottom: 2em;
}

.mb3 {
	margin-bottom: 3em;
}

.ml0 {
	margin-left: 0 !important;
}

.ml1 {
	margin-left: 1em;
}

.bb {
	border-bottom: 1px solid #ddd;
}

p.sep {
   height: .5em;
   margin-bottom: 0;
}

.blank-box {
	width: 24%;
}

.tleft {
	text-align: left;
}

.block-link {
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}

.fake_link {
	cursor: pointer;
}

.input_disabled {
	pointer-events : none;
	background-color: #eee!important;
}

.zip2addr {
    width: 100%;
    padding: 8px;
    color: #fff;
    background: #555;
    font-size: .8em;
    line-height: 36px;
    cursor: pointer;
}

/* */
/* ヘッダー */
/* */
header {
    position: relative;
    width: 100%;
    min-height: 84px;
    max-height: 100svh;
    margin: 0 auto;
    overflow: hidden;
}

.photographer {
	position: absolute;
	bottom: 5px;
	right: 10px;
	color: #fff;
	z-index: 9999;
	
	display: none;
}

.photographer a {
	color: #fff;
}

/* */
/* スライドショー */
/* */
#photo_frame { 
	position: relative;
	width: 100%;
	height: 0;
	margin-bottom: 0px;
}

#photo_frame .photo_frame_slider, #photo_frame .photo_frame_slider .photo_frame_item {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	margin: 0 auto;
}

#photo_frame, .key_visual {
	padding-top: calc(100vh - 0px);
	height: 100svh;
	/*padding-top: 120%;*/
}

.key_visual {
	position: relative;
	overflow: hidden;
	width: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: bottom;
}

.kv_sp_tab {
	display: block;
}

.kv_pc {
	display: none;
}

/* */
/* SP トップバー (ヘッダーロゴ + グローバルナビ) */
/* */
.topbar {
    width: 100%; 
    position: fixed;
    text-align: right;
    top: 0;
    left: 0;
    z-index: 1055;
    padding-bottom: 5px;
    background: #fff;
    border-bottom: solid 1px #ddd;
}

.home .topbar {
    background: none;		
    webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    box-shadow: none;
    border-bottom: none;
}

.home .topbar　.topbar-logo-sq h1 {
    display: none;
}

.home .topbar.scroll {
    background: #fff;
    border-bottom: solid 1px #ddd!important;
}

.topbar {
    display: block;
    position: fixed;
}

.topbar h1 {
    display: none;
    font-size: initial;
    font-weight: normal;
    line-height: normal;
    text-align: initial;
    margin-top: 16px;
    overflow: auto;
    font-family: A1明朝, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
}

.topbar-logo-sq {
    position: relative;
    width: 280px;
    height: 42px;
    margin: 3px;
    margin-top: 4px;
    padding-left: 52px;
    background-repeat: no-repeat;
    background-position: left;
    background-size: contain;
    font-size: 14px;
    line-height: 42px;
    text-align: left;
    z-index: 1000;
    float: left;
    width: 400px;
    height: 74px;
    margin-top: 5px;
    padding-top: 11px;
    padding-left: 98px;
    padding-right: 0;
    font-size: 18px;
    line-height: 54px;
}

.topbar-logo a, .topbar-logo-sq a {
  display: block;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.photographer {
	bottom: 60px;
}

.catch-copy {
    /* JSの干渉を避ける */
    position: absolute;
    top: -9999px;
    left: -9999px;
    display: none;
}

#content_header .catch-copy-sp {
   display: none;
}

.home #content_header .catch-copy-sp {
    font-size: .7em;
    line-height: 1.4em;
    text-align: center;
    top: auto;
    bottom: 50%;
    left: 50px;
    width: 100%;
    max-height: 110px;
    margin-bottom: 3em;
    display: block;
}

.catch-copy .about-sub {
	font-size: 1.2em;
}

.header-booking-btn {
    display: none;
    position: absolute;
    width: 77px;
    height: 45px;
    top: 17px;
    right: 90px;
    font-size: 14px;
    line-height: 45px;
    z-index: 1057;
    text-align: center;
    transition: .5s;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -o-transition: .5s;
    cursor: pointer;
}

.home .header-booking-btn {
	display: block;
}

.header-booking-btn a {
	text-decoration: none;
}

.header-booking-btn:hover {
	transform: scale(1.1);
}

@keyframes liner {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  30% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

/*  */
/* 新メニューボタン */
/*  */
button {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  border: 0;
  background: transparent;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
  margin: 10px;
}

button:hover {
  cursor: pointer;
}

/**************** 以下、ハンバーガーボタンのスタイリング ****************/
.menu-btn {
  /* ボタンの配置位置  */
  position: fixed;
   top: -4px;
    right: -4px;
  /* ボタンの大きさ  */
  width: 75px;
  height: 48px;
  /* バーガーの線をボタン範囲の中心に配置 */
  display: flex;
  justify-content: center;
  align-items: center;
  /* 最前面に */
  z-index: 1059;
}

/***** 真ん中のバーガー線 *****/
.menu-btn-line {
  /* 線の長さと高さ */
  width: 100%;
  height: 4px;
  /* バーガー線の色 */
  background-color: #fff;
  /* バーガー線の位置基準として設定 */
  position: relative;
  transition: .2s;
}

/***** 上下のバーガー線 *****/
.menu-btn-line::before,
.menu-btn-line::after {
  /* 基準線と同じ大きさと色 */
  position: absolute;
  transition: .5s;
}


.menu-btn-line::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  /* 上の線の位置 */
  transform: translateY(-16px);
}


.menu-btn-line::after {
  content: "menu";
  /* 下の線の位置 */
  display: block;
  width: 100%;
  text-align: center;
  transform: translateY(8px);
  color: #fff;
}

/***** メニューオープン時 *****/
.menu-btn-line.open {
  transition: .0s;
}

.menu-btn-line.open::before {
  content: "";
  transform: translateY(0);
  background-color: #655140;
}

.menu-btn-line.open::after {
  content: "close";
  color: #655140;
}
/* ここまでボタンアニメーション */

/**************** ここまで、ハンバーガーボタンのスタイリング ****************/

/**************** 以下、メニューのスタイリング ****************/
.menu {
    position: fixed;
    /* transform: translateX(130%); */
    /* width: 90%; */
    max-width: 600px;
    max-height: 100vh;
    display: flex;
    padding: 50px;
    flex-direction: column;
    /* font-size: unset; */
    color: #555;
    border: 1px solid #ddd;
    border-top: none;
    background-color: rgba(255,255,255,0.95);
    transition: transform .3s;
    z-index: 1058;
    top: -130%;
    right: 0;
    left: 0;
    margin: 0 auto;
    overflow-y: auto;
}
.menu-list {
    display: flex;
    padding: relateve;
    position: relative;
    font-size: 1.1em;
    padding: 10px 0px;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    color: #777;
    font-weight: 600;
}
nav ul li.menu-list a {
    color: #777;
}
nav .menu p {
margin-bottom: 30px;
}
.menu .mypage-nickname {
    padding-left: 1em;
}
.menu-user, .menu-close {
    position: relative;
    margin: auto;
    border: 1px solid #aaa;
    padding: 10px;
    border-radius: 20px;
    cursor: pointer;
}
.menu-close {
    border-radius: 0;
    font-size: .9em;
    margin-top: 20px;
}
.menu-user:hover, .menu-close:hover {
    background: #eee;
}

.menu-list:hover {
  background-color: #eee;
  transition: .3s;
  cursor: pointer;
}

/***** メニューオープン時位置0にして画面内に *****/
.menu.open {
  top: 0%;
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

/* */
/* 環境ガジェット */
/* */
.environment {
	position: absolute;
	display: none;
	top: auto;
	bottom: 0px;
	left: auto;
    	right: 0px;
	width: 200px;
	height: 100px;
	font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	font-weight: bold;
	z-index: 1005;
	transform: none;
	background: rgba(0,0,0,0);
	padding: 5px 5px 5px 7px;
	transform: none;
}

.environment .today, .environment .weather {
	display: table-cell;
	width: 0%;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}

.environment .today {
	padding-top: 0px;
}

.environment .today p {
	margin-bottom: 3px;
}
.environment .today .md {
	font-size: 1.5em;
	transform: scale(1, 1.1);
}

.environment .today .y {
	font-size: 1em;
	margin-left: -3px;
}

.environment .today .w {
	font-size: .8em;
}

.environment .weather {
	padding-top: 0px;
	width: 0%;
}

.environment .weather .we-icon {
	margin-top: -15px;
}

.environment .weather .we-icon img {
	width: 64px;
	height: 64px;
}

.environment .weather .nowTemp {
	margin-top: -25px;
	margin-bottom: 0px;
	font-size: 1.1em;
}

.nowTemp .after {
	font-size: .9em;
}

.environment .weather .we-head, .environment .weather .we-detail {
	font-weight: normal;
	font-size: .8em;
}

.environment .weather .we-head {
	margin-top: 10px;
	margin-bottom: 0px;
}

.environment .weather .we-detail i {
	vertical-align: -5px;
	padding-left: 8px;
}

/* */
.home #content_header .breadcrumb {
	display: none;
}
.home #content_header h1 {
	font-size: unset;
}

/* */
/* トップへ戻るボタン */
/* */
#pageTop {
  position: fixed;
  bottom: -50px;
  right: 12px;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all  0.5s ease;
}
 
#pageTop i {
  padding-top: 6px
}
 
#pageTop a {
  display: block;
  z-index: 999;
  padding: 4px 0 0 0;
  border: solid 1px #ccc;
  border-radius: 0px;
  width: 35px;
  height: 35px;
  background-color: #fff;
  color: #aaa;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}
 
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/* */
/* メイン */
/* */
main {
	position: relative;
	margin: 0 auto;
	max-width: 1280px;
	min-height: 100vh;
}
.home #content {
       padding: 0 1em;
}
#content_header {
	position: relative;
	margin: 0 auto;
	margin-top: 24px;
}

/* */
/* パンくずリスト */
/* */
ul.breadcrumb, ul.nav-menu {
	padding-left: 0px;
}

ul.breadcrumb {
	max-width: 920px;
	margin: 0;
	padding-bottom: 20px;
	text-align: left;
	font-size: .8em;
}

ul.breadcrumb li {
	color: #777;
	display: inline-block;
}

ul.breadcrumb li a {
	text-decoration: none;
}

ul.breadcrumb li:not(:first-child)::before {
	content: ">";
	color: #ccc;
	padding: 0px 5px;
}

ul.breadcrumb li:first-child a::before {
	padding-right: 5px;
	font-family: FontAwesome;
    	font-size: 1.1em;
    	font-weight: normal;
    	content: "\f015";
}

/* */
/* ページネーション */
/* */
.pagination{
   margin: 20px 0 0;
}
.nav-links{
   display:flex;
   justify-content: center;
}
.nav-links a{
   text-decoration:none;
}
.pagination .page-numbers{
   display:inline-block;
   margin-right: 5px;
   padding: 10px 15px;
   color:#333;
   font-size: 12px;
   border-radius:3px;
   box-shadow:0 3px 3px #999;
   background:#fff;
}
.pagination .current{
   background:#0691e3;
   color:#fff;
}
.pagination .prev,
.pagination .next{
   background:transparent;
   box-shadow:none;
   color:#0691e3;
}
.pagination .dots{
   background:transparent;
   box-shadow:none;
   padding: 10px 5px;
}

/* */
/* コンテンツテキスト */
/* */
.topic {
	position: relative;
	margin: 0 auto;
	padding: 5px 10px;
}

.topic div.text {
/*	-webkit-box-shadow: 0 0 10px rgb(0 0 0 / 5%);
	-moz-box-shadow: 0 0 10px rgb(0 0 0 / 5%);
	box-shadow: 0 0 10px rgb(0 0 0 / 5%);
	background: rgba(255,255,255,.8);*/
}

.topic div.blog-text p, .topic div.blog-text .cat-time-wrap {
	margin-bottom: 2em;
}

/* */
/* スクロールフェードイン */
/* */
.fadein, .fadein-auto {
      opacity : 0;
      transform: translateY(20px);
      transition: all 1.5s;
}

/* */
/* スクロールスライドイン */
/* */
.slidein-r {
}
.slideinr {
  animation: slideInR 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
} 
@keyframes slideInR {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

.slidein-l {
}
.slideinl {
  animation: slideInL 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
} 
@keyframes slideInL {
  0% {
    transform: translateX(-180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

/* */
/* もっと見るボタン */
/* */
#blog .view-more, #youtube .view-more, #value-samples .view-more {
	width: 100%;
	padding-top: 10px;
	padding-right: 20px;
	text-align: right;
}

.moreLink {
  width: 80px;
  margin-left: auto;
}

.moreLinkText {
  position: relative;
  color: #555;
  font-size: 12px;
}

.moreLinkText:hover .lineArrow  {
    width: 120%;
}

.lineArrow {
    border-bottom: 1px solid #555;
    border-right: 2px solid #555;
    margin: -12px 0 0 -12px;
    width: 110%;
    height: 12px;
    transform: skew(45deg);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#about .moreLink {
  width: 150px;
  margin-left: auto;
  margin-right: 0px;
}

#about .moreLinkText {
  position: relative;
  color: #555;
  font-size: 15px;
}

#about .lineArrow {
  width: 144px;
  height: 15px;
  border-bottom: 1px solid #555;
  border-right: 6px solid #555;
  transform: skew(45deg);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}

#about .moreLinkText:hover .lineArrow  {
    width: 154px;
}

#about202207 .moreLink {
  width: 150px;
  margin-left: auto;
  margin-right: 0px;
}

#about202207 .moreLinkText {
  position: relative;
  color: #555;
  font-size: 15px;
}

#about202207 .lineArrow {
  width: 144px;
  height: 15px;
  border-bottom: 1px solid #555;
  border-right: 6px solid #555;
  transform: skew(45deg);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}

#about202207 .moreLinkText:hover .lineArrow  {
    width: 154px;
}


/* */
/* 予約フォーム  */
/* */
.home #booking {
	margin-bottom: 50px;
}

.home #booking:before,  {
  display: block;
  height: 5px;
  margin-top: -5px;
  content: "";
}

#booking .booking-form-afterlink, #blog .view-more, #Youtube .view-more {
    position: relative;
    margin-top: 0px;
    padding: 5px 0px 0px 10px;
    text-align:center;
}

.booking-form-afterlink.booking-after a:first-child, .booking-form-afterlink a:nth-child(2) {
	display: none;
}

.booking-form-afterlink.booking-after a:nth-child(2) {
	display: inline-block;
}

#dc_mode_change {
	position: relative;
	max-width: 492px;
    	width: 100%;
        height: 45px;
	margin: 0 auto;
	cursor: pointer;
	text-align: center;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#dc_mode_change .cell {
	max-width: 240px;
    	width: 40%;
	margin-right: 2px;
	padding: 20px;
	display: inline-block;
	text-align: center;
	color: #555;
	border-radius: 0px;
	box-shadow: 2px 2px #efefef
}

#dc_mode_change .cell.left, #dc_mode_change.bbq .cell.right {
	color: #e95464;
   	border: 1px solid #e95464;
    	border-radius: 10px;
}

#dc_mode_change.bbq .cell.left, #dc_mode_change .cell.right  {
	border-radius: 10px;
   	 /* background: #eee; */
    	color: #777;
    	border: 1px solid #ccc;
}

#dc_mode_change.bbq .cell.left::before, #dc_mode_change .cell.right::before  {
  font-family: FontAwesome;
  content: '';
}

#dc_mode_change .cell.left::before, #dc_mode_change.bbq .cell.right::before {
  font-family: FontAwesome;
  content: '\f00c';
  padding-right: 3px;
}

#dc_mode_change .cell.left {
	margin-right: 5px;
	/*border-radius: 20px 0 0 20px;*/
}

#dc_mode_change .cell.right{
	margin-left: 5px;
	/*border-radius: 0 20px 20px 0;*/
}

#dc_mode_change .cell {
	padding: 10px;
	font-size:0.9em;
	background: #fff;
}

.booking_after {
	text-align: center;
	font-size: .9em;
	margin: 5px;
	border-bottom: solid 1px #eee;	
}

.booking_after a {
	display: block;
}

#booking .form-wrap{
	padding: 0px 0px;
	border:none;
	-webkit-box-shadow:none;
	-moz-box-shadow:none;
	box-shadow:none;
}

#booking .form-wrap.content-box {
    background: rgba(255,255,255,.8);
    padding: 30px;
    margin-bottom: 30px;
    -webkit-box-shadow: 0 0 10px rgba(128,128,128,.1);
    -moz-box-shadow: 0 0 10px rgba(128,128,128,.1);
    box-shadow: 0 0 10px rgba(128,128,128,.1);
}

#booking .form-wrap.content-box h3 {
    font-size: 1em;
    border: none;
    border-left: solid 5px #ddd;
    padding: 3px 5px;
    border-bottom: 1px solid #ddd;
    font-weight: 600;
}

#hbook-booking-form-1 .form-msg {
    padding: 5px 0px 0px 30px;
    margin: 0;
}

.hb-datepick-popup-wrapper .hb-dp-cmd-close {
    display: none!important;
}

.loading {
	position: absolute;
	width: 24px;
	height: 24px;
	margin-top: 3px;
	background: url('./img/loading.gif');
	background-repeat: no-repeat;
	opacity: .3;
}

.hb-search-fields-and-submit .hb-booking-searching, .hb-booking-details-form .hb-loading-summary, .hb-confirm-area .hb-saving-resa {
	background-image: url('./img/loading.gif');
}

.hb-search-fields {
        padding: 10px 30px 0px 30px;
}

.search-edit, input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], textarea, select {
    padding: 11px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 18px;
    width: 100%;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin-bottom: 20px;
    padding: 7px 30px 7px 10px;
    font-size: 93%;
    line-height: 29px;
    border-radius: 0px;
}

/* */
/* 予約フォーム イベント用カスタマイズ */
/* */
.event .hb-check-dates-wrapper {
	pointer-events : none;
}
.event .hb-check-dates-wrapper input[type="text"] {
	background: #eee;
	color: #aaa!important;
}
.event_expiration .hb-search-fields-and-submit *{
	opacity: 0;
	height: 1px;
}
.event_expiration .hb-search-fields-and-submit:before {
	opacity: 1;
	content: "定員に達しましたのでご予約の受付を終了いたしました。キャンセル待ちをご希望の場合は、下部のボタンよりお申込みください。";
}

/* */
/* ギャラリー */
/* */
#content .foogallery {
	margin-bottom: 20px;
}

/* */
/* Youtube */
/* */
#swipebox-overlay {
    background: rgba(0,0,0,.9)!important;
}

div#youtube {
	margin-bottom: 20px;
	padding: 20px;
	padding-top: 25px;
	padding-bottom: 0px;
}

ul#youtube {
	padding: 0px;
}

ul#youtube li {
	width: 100%;
	margin: 0;
	margin-bottom: 5px;
	position: relative;
}

ul#youtube li .cal-wrap{
	padding-top: 56.5%;
}

ul#youtube li .overwrap, ul#youtube li .underwrap,
ul#youtube li .overwrap_b, ul#youtube li .underwrap_b {
	position: absolute!important; 
	top: 0px;
	left: 0px;
}

ul#youtube li:nth-child(1n) {
	margin-bottom: 20px;
}

ul#youtube li .movie {
	display: inline-block;
	width: 100%;
	overflow: hidden;
	position: relative;
	transition: all 0.7s ease 0s;
}

ul#youtube li .movie:hover  {
	opacity: .7;
}

ul#youtube li .underwrap, ul#youtube li .underwrap_b {
	display: none;
}

ul#youtube li .play-icon {
	position: absolute;
	width: 100%;
	height: 100%;
	background: url('img/play.png');
	background-repeat: no-repeat;
	background-size: 20%;
	background-position: center;
	opacity: .3;
}

ul#youtube li .movie .tumbnail {
	width: 100%;
	padding-top: 56.25%;
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;
}

ul#youtube li .movie .caption {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	padding: 10px;
	color: #fff;
	background: rgba(0,0,0,0.3);
	display: block;
}

.youtube-iframe-wrapper {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube-iframe-wrapper iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

ul#youtube li.gl:hover, ul#youtube li.gl ul li:hover  {
	opacity: 1;
}

ul#youtube li.gl ul.movies li {
	width: 45.5%;
    	display: inline-block;
    	margin: 0px;
}

ul#youtube li.gl ul.movies li:nth-child(odd)  {
	margin-right: 6px;
}

ul#youtube li.gl ul.movies li.under  {
	margin-right: 0px;
}

ul#youtube li.gl ul li a.movie {
	width: 100%;
	overflow: hidden;
	position: relative;
	background: #fff;
}

ul#youtube li.gl ul li a.movie .play-icon {
	position: absolute;
	width: 100%;
	height: 100%;
	background: url('img/play.png');
	background-repeat: no-repeat;
	background-size: 20%;
	background-position: center;
	opacity: .3;
	transition: all 0.7s ease 0s;
}

ul#youtube li.gl ul li a.movie .triangle1, ul#youtube li.gl ul li a.movie .triangle2, ul#youtube li.gl ul li a.movie .triangle3, ul#youtube li.gl ul li a.movie .triangle4 {
	position: absolute;
	width: 30px;
	height: 30px;
	transition: all 0.2s ease 0s;
}

ul#youtube li.gl ul li a.movie .under-triangle3 {
	position: absolute;
	width: 46px;
    	right: 0;
    	left: 0;
	top: 0;
    	margin: auto;
    	transition: all 0.2s ease 0s;
    	border-top: 30px solid rgba(240, 248, 128, .5);
    	border-right: 31px solid transparent;
    	border-left: 31px solid transparent;
}

ul#youtube li.gl ul li a.movie .triangle1, ul#youtube li.gl ul li a.movie .triangle2, ul#youtube li.gl ul li a.movie .triangle3 {
	top: 0;
	right: 0;
	background: rgba(255, 60, 40, .8);
	border-radius: 50%;
	//background-image: linear-gradient(-45deg, rgba(255, 50, 101, .7) 20px, transparent 0);
}

ul#youtube li.gl ul li a.movie .triangle1_num, ul#youtube li.gl ul li a.movie .triangle2_num, ul#youtube li.gl ul li a.movie .triangle3_num, ul#youtube li.gl ul li a.movie .under-triangle3_num, ul#youtube li.gl ul li a.movie .triangle4_num {
	position: absolute;
	color: #fff;
	font-size: 1.2em;
}

ul#youtube li.gl ul li a.movie .triangle1_num, ul#youtube li.gl ul li a.movie .triangle2_num, ul#youtube li.gl ul li a.movie .triangle3_num {
	top: 4px;
	left: 8.5px;
}

ul#youtube li.gl ul li a.movie:hover  {
	opacity: .9;
}

ul#youtube li.gl ul li a.movie .play-icon:hover + div + div {
	transform: scale(1.3);
}

ul#youtube li.gl ul li a.movie .tumbnail {
	width: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

ul#youtube li .switch_button_1, ul#youtube li .switch_button_2 {
    position: absolute;
    border-radius: 11%;
    top: 4%;
    right: 2%;
    width: 70px;
    background: rgba(255, 165, 0, .8);
    color: #fff;
    padding-top: 20px;
    padding-left: 20px;
    cursor: pointer;
    transition: all 0.2s ease 0s;
    font-size: 14px;
    padding: 5px;
    padding-left: 14px;
}

ul#youtube li .switch_button_2 {
    top: 4%;
    right: 1.5%;
    display: none;	
}

ul#youtube li .switch_button_3, ul#youtube li .switch_button_4 {
    position: absolute;
    border-radius: 10%;
    top: 29%;
    right: 2.1%;
    width: 100px;
    background: rgba(255, 165, 0, .8);
    color: #fff;
    padding-top: 20px;
    padding-left: 20px;
    cursor: pointer;
    transition: all 0.2s ease 0s;
    font-size: 14px;
    padding: 5px;
    padding-left: 14px;
}

ul#youtube li .switch_button_4 {
    top: 44%;
    right: 1.1%;
    display: none;	
}


/*
ul#youtube li .switch_button_1, ul#youtube li .switch_button_2 {
	position: absolute;
	border-radius: 50%;
	top: 5px!important;
	/*left: 3px;*/
	width: 80px;
	height: 80px;
	background : rgba(255, 165, 0, .8);
	color: #fff;
	padding-top: 20px;
	padding-left: 20px;
	cursor: pointer;
	transition: all 0.2s ease 0s;
}
*/
ul#youtube li .switch_button_1:hover, ul#youtube li .switch_button_2:hover {
	transform: scale(1.1);
}
/* Colorbox */
#cboxWrapper #cboxTitle {
	margin-left: -.5em;
	bottom: 0px;
}

/* 回転するアニメーション */
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(8);
  }
  50% {
    transform: translateY(-8px);
  }
}

/* このクラスをつけると回転を無限に繰り返します */
.anime-fuwafuwa {
  animation: 3s fuwafuwa infinite;
}

/* */
/* 利用料金見本 */
/* */
#value-samples {
	margin-bottom: 20px;
	padding: 20px;
}

#value-samples ul {
	padding: 0;
}

#value-samples ul li {
	width: 100%;
	height: auto;
	margin: 0;
	margin-bottom: 5px;
	border: 1px solid #ccc;
	-webkit-box-shadow: 10px 10px 0px rgba(0,0,0,.2);
	-moz-box-shadow: 10px 10px 0px rgba(0,0,0,.2);
	box-shadow: 10px 10px 0px rgba(0,0,0,.2);
}

#value-samples ul li:nth-child(1n) {
	margin-bottom: 30px;
}

#value-samples ul li img {
	width: 100%;
	height: auto;
}

/* */
/* ブログ */
/* */
.home #blog {
    padding: 0px;
    margin-bottom: 30px;
}

.home #blog .bloghead {
    margin-bottom: 10px;
}

/* */
/* キャッチコピーエリア202207 */
/* */
#about202207 {
	margin-bottom: 50px;
}

.home #blog h3 {
    margin-bottom: 10px;
}

#blog .item-wrap .item h3 {
	font-size: 16px;
    	/* font-weight: bold; */
    	color: #555;
}

#blog .item-wrap .item .date, #blog .item-wrap .item .cat, #content .topic .date, #content .topic .cat,
#blog .lineup-carousel li .cat, #blog .lineup-carousel li .date  {
	padding: 1px 3px;
	font-size: .8em;
	display: inline-block;
}

#blog .item-wrap .item .date, #content .topic .date {
	color: #555;
	margin-bottom: 10px;
}

#blog .item-wrap .item .cat.news, #content .topic .cat.news,
#blog .lineup-carousel li .cat.news {
    color: #fff;
    background: #ea5757;
}

#blog .item-wrap .item .cat.dialy, #content .topic .cat.dialy,
#blog .lineup-carousel li .cat.dialy {
    color: #fff;
    background: #9ab599;
}

#blog .item-wrap .item .caption {
    padding: 10px;
}

#blog .item-wrap .item .caption p {
    position: absolute;
    width: 100%;
    bottom: 0px;
    right: 0px;
    margin: 0px;
    padding: 5px;
    text-align: center;
    color: #fff;
    background: #555;
}

#blog .item-wrap .item .caption h2, #blog .item-wrap .item .caption h3 {
	border: none;
}

#blog .item-wrap .item a {
    width: 100%;
    height: 100%;
    display: block;
    text-decoration: none;
}

#blog .item-wrap .item a .image {
    position: relative;
    overflow: hidden;
}

#blog .item-wrap .item a .image .image-inner {
    padding-top: 76%;
    background-size: cover;
    background-position: center center;
    transition: 0.3s all linear;
}

#blog .item-wrap .item a .image .image-inner:hover {
    transform: scale(1.1, 1.1);
}

/* */
/* マップ */
/* */
#map {
 text-align: center;
}

/* */
/* フッターバナーエリア */
/* */
ul.footer_bn {
	padding: 0;
	text-align: center;
	margin-top: 30px;
}

ul.footer_bn li {
	width: auto;
	height: 80px;
	margin: 8px;
}

ul.footer_bn:first-child {
	margin-top: 30px;
}

ul.footer_bn:last-child {
	margin-bottom: 80px;
}

ul.footer_bn li.he20 {
	height: 42px;
}

ul.footer_bn li.he40 {
	height: 70px;
	margin: 0 10px;
}

ul.footer_bn li.he40-b {
	height: 100px;
}

ul.footer_bn li.he50 {
	height: 40px;
}

ul.footer_bn li.he70 {
	height: 50px;
}

ul.footer_bn li.he100 {
	height: 140px;
}

ul.footer_bn li img {
	display: inline;
	width: auto;
	height: 100%;
}

ul.footer_bn {
	max-width: 800px;
	margin: 0 auto;
	margin-top: 10px;
	padding: 0;
}

ul.footer_bn li {
	display: inline-block;
	width: auto;
	height: 140px;
}

ul.footer_bn li.he40 {
	height: 70px;
}

ul.footer_bn li.he50 {
	height: 80px;
}

ul.footer_bn li img {
	width: auto;
	height: 100%;
	vertical-align: bottom;
}

ul#saku-group li {
font-size: 1.2em;
    font-weight: 600;
}

/* */
/* フッター */
/* */
#footer-content {
	positon: relative;
}

#footer-content, #footer-content a {
	color: #555;
}

#footer-content .footer-content-inner {
	positon: relative;
	margin: 0 auto;
	padding-top: 20px;
	overflow: hidden;
	max-width: 1080px;
}

#footer-content .info-column {
background: url(./img/footer-logo.png);
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: center top;
    width: 100%;
    padding: 20px 10px;
    padding-top: 45%;
}

#footer-content .info-column .head {
    font-size: 16px;
    background: url(img/topbar-logo-1.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position-x: 12px;
    padding-left: 0px;
    margin-bottom: 0px;
}

#footer-content .info-column .btn {
	display: block;
	max-width: 250px;
	margin: 0 auto;
	margin-bottom: 10px;
	color: #555;;
	background: #fff;
}

#footer-content .info-column .tel {
	font-size: 1.6em;
}

#footer-content .info-column .web {
	margin-bottom: 10px;
}

#footer-content .info-column .detail {
	display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
	position: relative;
    	align-items: center;
    	justify-content: center;
	font-size: 1.1em;
	margin: 20px;
}

#footer-content .info-column .detail i {
	padding-right: 5px;
}

#footer-content .nav-columns {
	margin: 0 auto;
    	padding: 20px 0;
   	overflow: hidden;
}

#footer-content .nav-columns .column {
	float: left;
	margin: 0 0 7% 5%;
}

#footer-content .nav-columns .column li {
	margin-bottom: 5px;
	text-align: left;
}

footer {
	overflow: hidden;
	height: auto;
	text-align: center;
	vertical-align: middle;
        background: #fff;
        border-top: 1px solid #eee;
	margin-top: 20px;
}

footer .sns-btn {
	font-size: 24px;
	margin-top: 15px;
}

footer .copyright {
    text-align: left;
    padding: 20px;
    margin: 0px 30px;
    border-top: 1px solid #eee
}

/* */
/* マイページ */
/* */
ul.mypagenavi {
	display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
	max-width: 450px;
	margin: 0 auto;
	font-size: .9em;
	padding-bottom: 10px;
}

ul.mypagenavi {
	padding-left: 0px;
}

.mypagenavi li {
	list-style: none;
	width: 25%;
	margin: 0px!important;
	height: 54px;
	position: relative;
	text-align: center;
}

.mypagenavi li a {
	color: #000;
	font-size: .9em;
	text-align: center;
	text-decoration: none;
}

.mypagenavi li a .edit-ico {
	margin-left: 3px;
}

.mypagenavi li a:hover {
	color: #aaa;
}

.mypage-nickname {
	text-align: center;
	padding-top: 20px;
}

.mypage-nickname::after {
	content: " 様";
}

.mypage_top_info {
	position: relative;
	width: 100%;
	margin-top: 20px;
	margin-bottom: 20px;
	z-index: 1060;
}

.mypage_top_info table {
	width: 100%;
}

.mypage_top_info table tbody tr th, .mypage_top_info table tbody tr td {
	width: 100%;
	margin-bottom: 5px;
	display: block;
	
}

.mypage_top_info table tbody tr th, .mypage_top_info table tbody tr td {
	text-align: left;
}

.mypage_top_info table tbody tr td {
	border-bottom: 1px solid #eee;
}

.booking_history {
	margin-top: 5px;
	padding: 10px;
}

.booking_history .booking_history_item {
	margin-bottom: 30px;
}

.booking_history .booking_history_item p:first-child {
	border-bottom: 1px solid #eee;
}

#profile-edit #wpmem_reg label[for="confirm_email"], #profile-edit #wpmem_reg label[for="confirm_email"]+.div_text {
	display: none;
}

#profile-edit #wpmem_reg .noinput {
	color: #aaa;
	background: #eee;
}

.mypage .buttons-wrap {
	margin: 30px 10px;
	text-align: center;
}

.mypage .go-booking, .mypage .go-waiting {
	border: 1px solid;
	padding: 10px 20px;
	margin: 5px;
	font-size: .9em;
	text-decoration: none;
}

/* */
/* 404ページ */
/* */
#p404 {
	margin-top: 160px;
}

/* */
/* H-BOOK カスタマイズ */
/* */
h3.hb-title, .hb-policies-area h3 {
    margin-bottom: 10px;
}

h3.hb-title {
	display: none;
}

.hb-searched-summary {
	border: 1px solid #ccc;
   	border-radius: 5px;
	padding: 15px;
}

.hb-input-datepicker {
	cursor: pointer;
}

.hb-accom-list {
	margin-bottom: 40px!important;
}

.hb-accom-title a {
	font-size: 1.4em;
}

.hb-search-fields-and-submit input[name="hb-check-in-date"], .hb-search-fields-and-submit input[name="hb-check-out-date"] {
	background-image: url(./img/cal.png);
	background-repeat: no-repeat;
	background-size: 18px;
	background-position: right 10px center;
	border-radius: 0px;
}

.hb-search-fields-and-submit {
    font-size: 12px;
}

#booking .hb-search-fields-and-submit .hb-people-wrapper {
    margin-bottom: 10px;
}

#booking p.hb-check-dates-wrapper, p.hb-people-wrapper, p.hb-search-button-wrapper {
    float: left;
    margin-right: 1%;
    position: relative;
}

.hb-people-wrapper-adults:after, .hb-people-wrapper-children:after {
	content: '\f107';
	font-weight: 900; 
	font-family: "Font Awesome 5 Free";
	right: 8px;
	top: 28px;
	height: 34px;
	position: absolute;
	pointer-events: none;
	color: #888;
}

#apc2025 .hb-datepick-popup-wrapper, #apc2025 .hb-datepick-wrapper {
    border-radius: 0px;
    /*box-shadow: 0 0 1px rgba(0,0,0,1);*/
}

#apc2025 .hb-dp-cmd-wrapper a {
    /* border-bottom: 0; */
    /* box-shadow: none; */
    border-radius: 3px;
    font-size: 20px;
    /* font-weight: bold; */
    height: 34px;
    line-height: 30px;
    outline: none;
    position: absolute;
    text-align: center;
    text-decoration: none;
    top: 10px;
    width: 34px;
}

.hbook-wrapper textarea[name="hb_address_1"] {
	height: 2.5em!important;
	min-height: 2.5em!important;
}

.hbook-wrapper textarea[name="hb_new_field"] {
	height: 5em!important;
	min-height: 5em!important;
}

.hb-options-form, .hb-details-fields {
	margin-top: 20px;
	margin-bottom: 20px;
}

.hb-details-fields p.caption {
	margin-left: 10px;
	margin-bottom: 20px;
}

.hb-details-fields.logged_in input, .hb-details-fields.logged_in label {
	cursor: pointer;
}

.hb-details-fields.logged_in .no-edit input, .hb-details-fields.logged_in .no-edit label {
	cursor: normal;
}

.hb-details-fields.logged_in input, .hb-details-fields.logged_in .no-edit input  {
	border: none;
	background: none;
}

.hb-details-fields.logged_in .no-edit input, .hb-details-fields.logged_in .no-edit label {
	pointer-events : none;
}

.hb-details-fields.logged_in .no-edit input {
	//color: #aaa;
}

.hb-details-fields.logged_in span.req, .hb-details-fields.logged_in .no-edit span.req {
	margin-right: 10px;
}

.hb-details-fields.logged_in span.req {
	color: #f00;
}

.hb-details-fields.logged_in .no-edit span.req {
	display: none;
	color: #aaa;
}

.hb-details-fields.logged_in span.edit {
	color: #0691e3;
}

.hb-details-fields.logged_in .no-edit span.edit {
	display: none;
	color: #aaa;
}

.hb-searched-summary {
	margin-bottom: 15px;
	background: #fff;
}

.hb-search-fields-and-submit .hb-people-wrapper {
	margin-bottom: 10px;
}

.hb-accom {
	padding-bottom: 15px!important;
}

.hb-confirm-area {
	margin-top: 30px;
	margin-bottom: 50px;
}

.hb-confirm-button {
	margin-top: 10px;
}
.hb-options-gap {
	positon: absolute;
}

.hb-searched-summary {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 15px;
}

.hb-search-fields-and-submit .hb-people-wrapper {
    margin-top: 0px;
}

.hb-searched-summary .hb-check-dates-wrapper {
    font-size: 14px;
}

.hb-searched-summary .hb-check-dates-wrapper, .hb-searched-summary .hb-people-wrapper {
    margin-top: 15px;
}

.hb-searched-summary .hb-people-wrapper {
	width: auto;
}

.hb-searched-summary {
	padding-bottom: 12px;
}

.hb-change-search-wrapper {
     margin-top: 4px;
}

/* デイキャンプの場合は、予約可能最終日の翌日がチェックアウト可能日として表示されないようにする */
#dp-daycamp .hb-day-no-check-in-min-stay {
	background: #ddd;
}

.hb-check-in-date, .hb-check-out-date {
	color: #333!important;
}

.hb-multiple-option {
	margin-bottom: 20px;
}

.hb-rental-open{
	display: inline-block;
	font-weight: bold;
	cursor: pointer;
	margin-bottom: 20px;
	border: 1px solid;
	padding: 10px;
	color: #0691e3;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.hb-rental-open::after {
	content: '＋';
}

.hb-rental-open.active::after  {
	content: '−';
}

.hb-quantity-option {
	padding: 10px;
}

.hb-quantity-option:last-child {
	padding-bottom: 15px;
}

.hb-rental-open + p + .hb-quantity-option {
	padding-top: 10px;
}

.hbook-wrapper input[type="submit"] {
	max-width: 100%;
	height: 44px;
	color: #fff;
	background: #deb887;
}

.hbook-wrapper .hb-vertical-search-form:not(.hb-narrow-search-form) .hb-search-button-wrapper input {
    width: 100%;
}

.hb-searched-summary .hb-check-dates-wrapper {
	width: auto;
}

.hb-searched-summary .hb-check-dates-wrapper span, .hb-searched-summary .hb-people-wrapper span {
	font-size: 1.2em;
	font-weight: bold;
}

.hb_details_form_editable {
	border-bottom: 1px solid #eee;
	margin: 15px 0px;
}

.hb_link_cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
}

.hb-dp-day .hb_link_cover+a {
	color: #aaa;
}

.hb-dp-day .hb-dp-day-no-check-in, .hb-dp-day .hb-day-no-check-in-min-stay {
	display: block;
	color: #888888;
	background: #dddddd;
	pointer-events: none;
}

#main-wrap .hb-availability-calendar-wrapper .hb-day-taken-start:before, .hb-datepick-popup-wrapper .hb-dp-day .hb-day-taken-start:before {
    ontent: '';
    height: 70px;
    left: 0px;
    position: absolute;
    top: 0px;
    width: 70px;
    -ms-transform: rotate(-47deg);
    transform: rotate(-0deg);
}

#main-wrap .hb-availability-calendar-wrapper .hb-day-taken-end:before, .hb-datepick-popup-wrapper .hb-dp-day .hb-day-taken-end:before {
    background: none;
}

/* */
/* contact form7 */
/* */
.wpcf7 {
	margin: 0;
}
.asterisk {
	margin: 0 0 0 0.2em;
	color: #f5637a;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
	background-color: #fff;
	color: #333;
	width: 100%;
	border: 1px solid #ddd;
	font-size: 100%;
	padding: 0.5em;
	border-radius: 4px;
}

.wpcf7 input[type="submit"], .button, .button-mgt {
	font-size: 10pt!important;
	color: #333;
	background: #fff;
	border: solid 1px #333;
	cursor: pointer;
}

.wpcf7 input[type="submit"] {
	padding: .6em 1em;
}

/* */
/* WP-Members */
/* */
#wpmem_reg label.text {
	padding: 0px;
}

#wpmem_reg label[for="number"], #wpmem_reg label[for="number"] + div {
	display: none;
}

#wpmem_reg .fields {
    margin: 15px 0;
}

/* */
/* HBook と　WP-Members 共用 */
/* */
.logged_in_class #wpmem_reg .fields {
    margin: 0;
}

.logged_in_class .logged_in_show, .logged_in #wpmem_reg.open, .logged_in .address-edit.open {
	position: relative;
	height: auto;
	opacity: 1;
	overflow: initial;
}

.logged_in_class #wpmem_reg, .logged_in_show, .logged_in .logged_in_hide, .logged_in .address-edit, .fix-address.close {
    position: absolute;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}

.logged_in .address-edit {
	padding: 0px;
    	border: 1px solid #ddd;
}

.logged_in .address-edit.open {
    	padding: 20px;
}

.address-edit-icon {
	text-align: right;
}

.fix-address {
	display: none;
}

.logged_in .fix-address {
	display: block;
}

.fix-address {
	cursor: pointer;
}

.booking_customer_edit_open {
	margin-left: 5px;
}

.logged_in_class #wpmem_reg {
  padding: 20px;
  border: 1px solid #ddd;
}

.logged_in_class #wpmem_reg::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 20px;
  top: -15px;
  border-right: 15px solid transparent;
  border-bottom: 15px solid #ddd;
  border-left: 15px solid transparent;
}

.logged_in_class #wpmem_reg::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 20px;
  top: -13px;
  border-right: 15px solid transparent;
  border-bottom: 15px solid #fff;
  border-left: 15px solid transparent;
}

.wpmem-new-reg {
	max-width: 400px;
    	margin-top: 30px;
}

#wpmem_reg .fields h3, .customer_info h3 {
	margin-bottom: 10px;
}

#wpmem_login input[type="submit"], #wpmem_reg input[type="submit"], .wpmem-new-reg a, .wpmem-new-reg a:hover {
	color: #fff;
	background: #555;
}

.wpmem-new-reg a {
	display: block;
	font-size: 16px;
	padding: 8px;
}

#wpmem_reg .fields .wpmem_half_left, #wpmem_reg .fields .wpmem_half_right {
	float: left;
	width: 49%;
	margin-right: 1%;
}

#wpmem_reg .fields .wpmem_half_right {
	margin-left: 1%;
	margin-right: 0%;
}

#wpmem_reg .fields .wpmem_full {
	width: 100%;
}

#wpmem_reg .fields .wpmem_dsnone {
	display: none;
}

#wpmem_reg .fields .div_text .noinput {
	width: 100%;
}

#profile-edit #wpmem_reg .wpmem_reg_only {
	display:none;
}

#wpmem_reg .wpmem_reg_only {
	display:block;
}

#profile-edit #wpmem_reg .wpmem_edit_only {
	display:initial;
}

#wpmem_reg .wpmem_edit_only {
	display:none;
}

#profile-edit #wpmem_reg .wpmem_edit_only {
	display:block;
}

.hb-details-fields #wpmem_reg .fields input, .hb-details-fields .logged_in #wpmem_reg .fields select {
	border: 1px solid #ccc;
}

.logged_in #wpmem_reg .fields input[type="text"], .logged_in #wpmem_reg .fields select {
	background: none;
	border: none;
	margin: 0;
}

.logged_in #wpmem_reg .fields input:focus, .logged_in #wpmem_reg .fields select:focus {
	border: 2px solid #0691e3;
}

#wpmem_reg .fields .wpmem_zip_left {
	float: left;
	width: 17%;
	margin-right: 1%;
}

.logged_in #wpmem_reg .fields .logged_in_hide {
	position: relative;
	height: 1px;
	opacity: 0;
	overflow: hidden;
}

.logged_in #wpmem_reg .fields .logged_in_show {
	position: relative;
	height: auto;
	opacity: 1;
	overflow: initial;
}

#wpmem_reg .fields p, .logged_in #wpmem_reg .fields label {
	margin-bottom: 0px;
}

#wpmem_reg .fields .lgbb {
	display: block;
	width: 100%;
}

.logged_in #wpmem_reg .fields .edit-guide {
	display: inline-block;
    	margin: 12% 8%;
	margin: 15px 0px 25px 0px;
	font-size: .9em;
	text-align: center;
}

#wpmem_reg .fields .edit-icon {
	display: none;
}

.logged_in #wpmem_reg .fields .edit-icon {
	display: inline-block;
	color:#0691e3;
}

.logged_in #wpmem_reg .fields .fix-record {
	margin-bottom: 10px;
}

.logged_in #wpmem_reg .fields .fix-record p:nth-child(2) {
	padding: 8px 10px 8px;
	border-bottom: solid 1px #ddd;
}

.logged_in #wpmem_reg .fields .div_text, .logged_in #wpmem_reg .fields .div_select {
	border-bottom: 1px solid #ddd;
}

.logged_in #wpmem_reg .fields .div_text.wpmem_zip_after, .logged_in #wpmem_reg .fields .div_text.wpmem_zip_center {
	border: none;
}

#wpmem_reg .fields .wpmem_zip_center {
	float: left;
	width: 3%;
	line-height: 36px;
	margin-right: 1%;
	margin-bottom: 0%;
	text-align: center;
}

#wpmem_reg .fields .wpmem_zip_right {
	float: left;
	width: 20%;
	margin-right: 3%;
}

#wpmem_reg .fields .wpmem_after {
	float: left;
	width: 10%;
	line-height: 36px;
	margin-right: 48%;
	margin-bottom: 0%;
	text-align: center;
}

#wpmem_reg .fields .wpmem_prefectures {
	width: 42%;
	margin-right: 58%;
}

#wpmem_reg .fields .wpmem_prefectures {
	width: 42%;
	margin-right: 58%;
}

#wpmem_reg .fields .wpmem_vehicle_number_left {
	width: 20%;
	margin-right: 75%;
}

#wpmem_reg .fields .wpmem_vehicle_number_right {
	width: 20%;
	margin-right: 75%;
}

.vehicle_info_wrap img {
	width: 200px;
}

.vehicle_info_visible_none {
	display: none;
}

/* */
/* slick */
/* */
.post-slider .slick-list {
  margin-right: 0px;  /* ガター分ネガティブマージン */
}

.post-slider .slick-slide {
  margin-right: 5px;  /* ガター */ 
}

.bn_slider .slick-slide {
  margin-right: 1px; 
  
}

.photo_frame_slider .slick-dots {
    bottom: 0px;
    display: none;
 }

.photo_frame_slider {
  opacity: 0;
  overflow: hidden;
}
.photo_frame_slider.slick-initialized {
  opacity: 1;
}

/* */
/* グリッド表示 */
/* */
ul#grid {
	display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
}

ul#grid li, ul#grid li .griditem {
	margin-bottom: 10px;
}

ul#grid .griditem {
	overflow: hidden;
	cursor: pointer;
	transition: .3s;
	position: relative;
	width: 100%;
	padding-top: 45%;
	transition: all 0.7s ease 0s;
	background-image: url(img/1.jpg);
	background-color: #aaa;
	background-size: cover;
	background-repeat: no-repeat;
}

ul#grid .griditem.ren {
	background-image: url(img/ren.jpg);
	background-color: #000;
	background-size: 40%;
	background-position: right bottom;
}

ul#grid .griditem.three {
	background-image: url(img/grid/1.jpg);
	background-color: #aaa;
	background-position: center center;
}

ul#grid li.griditem .cover {
position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.3);
}

ul#grid li.griditem .caption, ul#grid li.griditem.ren .caption {
    font-size: 1em;
    position: absolute;
    color: #fff;
    width: 430px;
    height: 100px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    transition: 0.3s;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}
 
ul#grid li.griditem .caption .grid-title {
    font-size: 1.2em;
}
 
ul#grid li.griditem .caption .grid-comment {
    font-size: 0.8em;
}
 
ul#grid li.griditem .btn {
    font-size: .8em;
    color: #fff;
    background: rgba(255,255,255,.3);
    border-radius: 10px;
    width: 120px;
    height: 47px;
    padding: 10px;
    margin-top: 10px;
    display: inline-block;
}

ul#grid li.griditem.ren .caption .btn {
width: 50%;
    padding-top: 20%;
    background: url(./img/coming-b.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: -7px;
    margin-left: 18px;
}

/* */
/* タブレット */
/* */
@media screen and (min-width: 768px) {

/* */
/* タグ */
/* */
h1 {
	font-size: 1.8em;
}

.topbar h1 {
    display: block;
 }

/* */
/* コンテンツテキスト */
/* */
.topic div.text {
	padding: 0px;
}

/* */
/* 予約フォーム */
/* */
.home #booking:before {
  height: 27px;
  margin-top: -27px;
}

/* */
/* キャッチコピーエリア */
/* */
#about {
	position: relative;
	margin-bottom: 50px;
	font-size: 1em;
	background-position: 0px 355px;
}

/* */
/* キャッチコピーエリア202207 */
/* */
#about202207 {
	position: relative;
	margin-bottom: 50px;
	font-size: 1em;
	background-position: 0px 355px;
}

#about202207 .about-more {
   	bottom: 3.5%;
}

/* */
/* Youtubeエリア */
/* */
ul#youtube {
	display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
}

ul#youtube li {
	width: 49.7%;
	margin-bottom: 5px;
	transition: all 0.7s ease 0s;
}

/* */
/* 利用料金見本 */
/* */
#value-samples ul {
	display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;;
	justify-content: center;
}

#value-samples ul li {
	width: 40%;
}

#value-samples ul li:nth-child(1n) {
	margin-bottom: 0px;
	margin-right: 2%;
	margin-left: 0%;
}

#value-samples ul li:nth-child(2n) {
	margin-left: 2%;
	margin-right: 0%;
}

/* */
/* ブログ */
/* */
.home #blog .item-wrap .item {
	width: 33%;
}

/* */
/* フッターバナーエリア */
/* */
ul.footer_bn li.he20 {
	height: 69px;
	margin: 0 15px;
}
ul.footer_bn li.he40 {
	height: 90px;
}

ul.footer_bn li.he40-b {
	height: 120px;
}

ul.footer_bn li.he50 {
	height: 60px;
}

ul.footer_bn li.he70 {
	height: 70px;
}

ul.footer_bn li.he100 {
	height: 160px;
}

/* */
/* フッター */
/* */
#footer-content .footer-content-inner {
	display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
}

#footer-content .info-column {
    width: 320px;
    margin: 0 auto;
    font-size: .9em;
    padding-top: 228px;
}

#footer-content .nav-columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-calc( 100% - 320px );
    width: calc( 100% - 320px );
    max-width: 600px;
    margin: 0 auto;
    font-size:.9em;
}

#footer-content .nav-columns .column {
	width: 100%;
	margin: 0;
	padding: 0;
}

#footer-content .nav-columns .column li {
	text-align: left;
}

/* */
/* マイページ */
/* */
.mypage_top_info {
	margin: 0 auto;
	padding-left: 30px;
	max-width: 450px;
}

.mypage_top_info table tbody tr td {
	text-align: center;
}

.mypage-nickname {
	padding-left: 2.4em;
}

/* */
/* 404ページ */
/* */
#p404 {
	margin-top: 0px;
}

/* */
/* HBook カスタマイズ */
/* */
.hb-previous-step, .hb-next-step, .hb-confirm-button {
	max-width: 200px;
}
}
/* */
/* パソコン */
/* */
@media screen and (min-width: 1024px) {

/* */
/* PC ヘッダー */
/* */
header {
	position: relative;
	width: 100%;
	min-height: 84px;;
	margin: 0 auto;
	overflow: hidden;
}

.photographer {
	position: absolute;
	bottom: 5px;
	right: 10px;
	color: #fff;
	z-index: 9999;
	
	display: none;
}

.photographer a {
	color: #fff;
}

.home #content_header .catch-copy-sp {
    display: none;
}


/* */
/* PC トップバー (ヘッダーロゴ + グローバルナビ) */
/* 差分は後で調整 */
/* */
.topbar {
    width: 100%; 
    position: fixed;
    text-align: right;
    top: 0;
    left: 0;
    z-index: 1055;
    padding-bottom: 5px;
    background: #fff;
    border-bottom: solid 1px #ddd;
}

.home .topbar {
    background: none;		
    webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    box-shadow: none;
    border-bottom: none;
}

.home .topbar.scroll {
    background: #fff;
    border-bottom: solid 1px #ddd!important;
}

.topbar {
    display: block;
    position: fixed;
}

.topbar h1 {
    font-size: initial;
    font-weight: normal;
    line-height: normal;
    text-align: initial;
    margin-top: 16px;
    overflow: auto;
    font-family: A1明朝, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
}

.topbar-logo-sq {
    position: relative;
    width: 280px;
    height: 42px;
    margin: 3px;
    margin-top: 4px;
    padding-left: 52px;
    background-repeat: no-repeat;
    background-position: left;
    background-size: contain;
    font-size: 14px;
    line-height: 42px;
    text-align: left;
    z-index: 1000;
    float: left;
    width: 400px;
    height: 74px;
    margin-top: 5px;
    padding-top: 11px;
    padding-left: 98px;
    padding-right: 0;
    font-size: 18px;
    line-height: 54px;
}

.topbar-logo a, .topbar-logo-sq a {
  display: block;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.photographer {
	bottom: 60px;
}

.catch-copy {
	top: 200px;
	left: auto;
	right: 90px;
	background: none;
	color: #fff;
	z-index: 1056;
	display: none;
}

.catch-copy .about-sub {
	font-size: 1.2em;
}

.header-booking-btn {
    display: none;
    position: absolute;
    width: 100px;
    height: 45px;
    top: 22px;
    right: 92px;
    line-height: 45px;
    z-index: 1057;
    text-align: center;
    transition: .5s;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -o-transition: .5s;
    cursor : pointer;
}

.home .header-booking-btn {
	display: block;
}

.header-booking-btn a {
	text-decoration: none;
}

.header-booking-btn:hover {
	transform: scale(1.1);
}

@keyframes liner {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  30% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

/* */
.home #content_header {
	height: 50px;
}
.home #content_header * {
	display: none;
}

/*  */
/* 新メニューボタン */
/*  */
button {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  border: 0;
  background: transparent;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
  margin: 10px;
}

button:hover {
  cursor: pointer;
}

/**************** 以下、ハンバーガーボタンのスタイリング ****************/
.menu-btn {
  /* ボタンの配置位置  */
  position: fixed;
   top: 0px;
    right: 0px;
  /* ボタンの大きさ  */
  width: 75px;
  height: 48px;
  /* バーガーの線をボタン範囲の中心に配置 */
  display: flex;
  justify-content: center;
  align-items: center;
  /* 最前面に */
  z-index: 1059;
}

/***** 真ん中のバーガー線 *****/
.menu-btn-line {
  /* 線の長さと高さ */
  width: 100%;
  height: 4px;
  /* バーガー線の色 */
  background-color: #fff;
  /* バーガー線の位置基準として設定 */
  position: relative;
  transition: .2s;
}

/***** 上下のバーガー線 *****/
.menu-btn-line::before,
.menu-btn-line::after {
  /* 基準線と同じ大きさと色 */
  position: absolute;
  transition: .5s;
}


.menu-btn-line::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  /* 上の線の位置 */
  transform: translateY(-16px);
}


.menu-btn-line::after {
  content: "menu";
  /* 下の線の位置 */
  display: block;
  width: 100%;
  text-align: center;
  transform: translateY(8px);
  color: #fff;
}

/***** メニューオープン時 *****/
.menu-btn-line.open {
  transition: .5s;
}

.menu-btn-line.open::before {
  content: "";
  transform: translateY(0);
  background-color: #655140;
}

.menu-btn-line.open::after {
  content: "close";
  color: #655140;
}
/* ここまでボタンアニメーション */

/**************** ここまで、ハンバーガーボタンのスタイリング ****************/

/**************** 以下、メニューのスタイリング ****************/
.menu {
    position: fixed;
    /* transform: translateX(130%); */
    width: 90%;
    max-width: 600px;
    max-height: 100vh;
    display: flex;
    padding: 50px;
    flex-direction: column;
    color: #555;
    border: 1px solid #ddd;
    border-top: none;
    background-color: rgba(255,255,255,.98);
    transition: transform .3s;
    z-index: 1058;
    top: -130%;
    right: 0;
    left: 0;
    margin: 0 auto;
    overflow-y: auto;
}
.menu-list {
    display: flex;
    padding: relateve;
    position: relative;
    font-size: 1.1em;
    padding: 10px 0px;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    color: #777;
    font-weight: 600;
}
nav ul li.menu-list a {
    color: #777;
}
nav .menu p {
margin-bottom: 30px;
}
.menu .mypage-nickname {
    padding-left: 1em;
}
.menu-user, .menu-close {
    position: relative;
    margin: auto;
    border: 1px solid #aaa;
    padding: 10px;
    border-radius: 20px;
    cursor: pointer;
}
.menu-close {
    border-radius: 0;
    font-size: .9em;
    margin-top: 20px;
}
.menu-user:hover, .menu-close:hover {
    background: #eee;
}

.menu-list:hover {
  background-color: #eee;
  transition: .3s;
  cursor: pointer;
}

/***** メニューオープン時位置0にして画面内に *****/
.menu.open {
  top: 0%;
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

/* */
/* スライドショー */
/* */
#photo_frame, .key_visual {
	padding-top: calc(100vh - 0px);
}

.kv_sp_tab {
	display: none;
}

.kv_pc {
	display: block;
}

/* */
/* 環境ガジェット */
/* */
.environment {
	position: absolute;
	display: none;
	top: 3px;
	left: auto;
    	right: 210px;
	width: 200px;
	height: 100px;
	font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	font-weight: bold;
	z-index: 1005;
	transform: none;
	background: rgba(0,0,0,0);
	padding: 5px 5px 5px 7px;
	transform: none;
}

.environment .today, .environment .weather {
	display: table-cell;
	width: 0%;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}

.environment .today {
	padding-top: 0px;
}

.environment .today p {
	margin-bottom: 3px;
}
.environment .today .md {
	font-size: 1.5em;
	transform: scale(1, 1.1);
}

.environment .today .y {
	font-size: 1em;
	margin-left: -3px;
}

.environment .today .w {
	font-size: .8em;
}

.environment .weather {
	padding-top: 0px;
	width: 0%;
}

.environment .weather .we-icon {
	margin-top: -15px;
}

.environment .weather .we-icon img {
	width: 64px;
	height: 64px;
}

.environment .weather .nowTemp {
	margin-top: -25px;
	margin-bottom: 0px;
	font-size: 1.1em;
}

.nowTemp .after {
	font-size: .9em;
}

.environment .weather .we-head, .environment .weather .we-detail {
	font-weight: normal;
	font-size: .8em;
}

.environment .weather .we-head {
	margin-top: 10px;
	margin-bottom: 0px;
}

.environment .weather .we-detail i {
	vertical-align: -5px;
	padding-left: 8px;
}

/* */
/* 汎用クラス */
/* */
.sp_only {
	display: none;
}

.pc_only {
	display: block;
}

.br_sp {
	display: none;
}

/* */
/* 予約フォーム  */
/* */
#dc_mode_change {
	margin: auto;
	margin-bottom: 0px;
}

.hb-details-fields #wpmem_reg .fields .hb-resa-summary-content {
	padding-right: 400px;
}

.booking_after a {
	display: inline-block;
	margin: 0 10px;
}

/* */
/* コンテンツエリア  */
/* */
#main-wrap {
	padding-top: auto;
	margin-top: 90px;
}

/* */
/* キャッチコピーエリア */
/* */
#about {
	position: relative;
}

#about h1 {
	margin-bottom: 20px;
}

#about .about-sub {
	margin-bottom: 20px;
}

#about .text {
	position: absolute;
        width: 500px;
        top: 50px;
        left: auto;
        right: -20px;
        font-size: .9em;
        color: #555;
}

#about .picture {
	width: 100%;
	padding-top: 70px;
}

#about .picture img.sp {
    	display: none;
}

#about .picture img.pc {
	width: 100%;
	height: auto;
    	display: block;
	margin-top: -30px;
}

#about .btn_center {
	margin-left: 0;
	margin-right: 0;
	margin: 0 auto;
	margin-top: 20px;
}

#about .about-more {
	position: absolute;
   	bottom: 92px;
	right: 40px;
}

/* */
/* フッターバナーエリア */
/* */
#footer-content .nav-columns {
    font-size: .9em;
}

ul.footer_bn li img {
	image-rendering: -webkit-optimize-contrast;
}

/* */
/* 404ページ */
/* */
#p404 {
	margin-top: 10px;
}

/* */
/* HBook カスタマイズ */
/* */
.vehicle_info_wrap img {
	width: auto;
}
.hb-search-fields {
        padding: 10px 30px 0px 30px;
}
#booking .hb-search-fields-and-submit .hb-people-wrapper {
    margin-bottom: 10px;
    margin-right: 1%;
}

/* */
/* Slick カスタマイズ */
/* */
.photo_frame_slider .slick-dots {
    bottom: -100px;
}

/* */
/* グリッド */
/* */ 
ul#grid .griditem {
width: 49.5%;
    padding-top: 33%;
}

ul#grid .griditem.three {
width: 33%;
}

ul#grid .griditem.ren {
    width: 100%;
    padding-top: 20.5%;
}

ul#grid li.griditem .caption .grid-title {
    font-size: 1.5em;
}
 
ul#grid li.griditem .caption .grid-comment {
    font-size: 0.9em;
} 

ul#grid li.griditem.ren .caption {
    font-size: 1.2em;
    width: auto;
    top: 40%;
    left: 30%;
}

ul#grid li.griditem.ren .caption .btn {
width: 380px;
    height: 135px;
    background: url(./img/coming-b.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: -7px;
    margin-left: 18px;
}

ul#grid li.griditem:hover .caption, ul#grid li.griditem.ren:hover .caption  {
    opacity: .5;
    top: 48%;
    transition: 0.3s;
}
ul#grid li.griditem.ren:hover .caption  {
    top: 37%;
}

/* ft */
#footer-content .info-column {
    background-repeat: no-repeat;
    background-size: 40%;
    background-position: center top;
    width: 100%;
    padding: 20px 10px;
    padding-top: 198px;
}
#footer-content .nav-columns {
    width: calc( 100% - 1px );
}
}