/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 23 2026 | 06:31:15 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&family=Roboto:wght@500;900&display=swap');

/* variable */
:root {
	--base-color: #ff914f;
	--sub-color: #07105f;
	--load-bg-color: #e6d1b8;
	--border-color: #000;
	--border-color2: #eaebee;
	--ver_page_top_button_url: url(https://chibasekisan.com/wp-content/uploads/2023/05/arrow-top.png);
	--spn-nav-height: 72px;
}

@media (max-width: 767px) {
	body {
		padding-bottom: 50px;
	}
}

.p-splash__catch img {
	max-width: 294px;
}

@media (max-width: 767px) {
	.p-breadcrumb {
		margin-bottom: 24px;
	}
}

/* header */
.l-header {
	height: initial;
	line-height: initial;
}

.l-header__inner {
	align-items: center;
	padding: 16px 0;
}

.l-header__logo a {
	overflow: unset;
}

.c-logo img {
	width: 120px;
}

@media (max-width: 767px) {
	.l-header__logo {
		padding-left: 8px;
	}
	
	.c-logo img {
		height: 40px;
		object-fit: contain;
	}
}

.home .p-content01 {
	padding-top: 32px;
	padding-bottom: 0;
	margin-bottom: 32px;
}

/* .home .p-content01#cb_0 {
	margin-bottom: 0;
} */

.home .p-content01__desc {
	text-align: center;
}

.home .p-content01__desc  > * + * {
  margin-top: var(--flow-space, 1em);
}


#cb_0 {
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
}

#cb_2, #cb_4, #cb_6 {
	flex-direction: row-reverse;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto 56px auto;
}

/* #cb_6 {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}
 */

#cb_7 .p-main-image__desc {
	text-align: center;
}

@media (max-width: 767px) {
	#cb_5, #cb_6 {
		display: flex;
		flex-direction: column;
		width: auto;
	}
	
	#cb_5 {
		margin-top: 0;
		margin-bottom: 34.5px;
	}
	
	#cb_6 {
		flex-direction: column;
		border-top: 1px solid rgba(255, 255, 255, 0.7);
	}
}

.p-content02__item {
	flex: 1;
	aspect-ratio: 16/9;
}

.p-content02__item:nth-of-type(1) {
	order: 3;
}

.p-content02__item:nth-of-type(2) {
	order: 2;
}

.p-content02__item:nth-of-type(3) {
	order: 1;
}

.p-content02__item-content--t {
	top: 50%;
	transform: translateY(-50%);
	padding-top: 0;
}

@media (max-width: 767px) {
	.p-content02__item {
		flex: initial;
	}
	
	.p-content02__item:nth-of-type(2) {
		border-bottom: 1px solid #fff;
	}
}

#cb_4.p-content04 {
	flex-direction: row-reverse;
}

.p-content04__content {
	padding-right: 2.5%;
	padding-left: 2.5%;
}

@media (max-width: 767px) {
	.p-content04__content {
		padding-right: 4%;
		padding-left: 4%;
	}
}

@media (max-width: 767px) {
/* 	.tcd-pb-row {
		padding: 0 24px;
	} */
	
	.page-id-166 .tcd-pb-row.row2 {
		padding: 0;
	}
	
	.page-id-166 .tcd-pb-row.row2 .pb-widget-image,
	.page-id-166 .tcd-pb-row.row8 .pb-widget-image {
		padding-bottom: 88px;
	}
	
	.tcd-pb-row.row1 {
		margin: 0 -24px;
	}
	
	body.page-id-364 .tcd-pb-row.row1,
	body.single-news .tcd-pb-row.row1,
	body.single-post .tcd-pb-row.row1 {
		margin-right: 0;
		margin-left: 0;
	}
	
	.plan-template .tcd-pb-row-inner > .col1
	, .plan-template .tcd-pb-row-inner > .col3 {
		display: none;
	}
}

/* plan */
.plan-template .pb-widget-tab .slick-slider,
.plan-template .pb-widget-tab .slick-slide {
	aspect-ratio: 4/3;
}

.plan-template .pb-widget-tab .pb_tab_content-type3 .slick-slider img {
	height: 100%;
	object-fit: contain;
}

body:not(.home) .p-main-image {
	display: flex;
}

body:not(.home) .p-main-image__img {
	width: 50%;
}

body:not(.home) .p-main-image--rev {
	flex-direction: row-reverse;
}

.post-type-archive-plan .p-main-image--rev .p-main-image__img--narrow {
	margin-left: 0;
}

body:not(.home) .p-main-image__content {
	position: static;
}

@media (max-width: 767px) {
	.p-main-image__img {
		padding-bottom: 56.25%;
	}
	
	
	body:not(.home) .p-main-image {
		flex-direction: column;
	}
	
	body:not(.home) .p-main-image__img {
		width: 100%;
		padding-bottom: 0;
		aspect-ratio: 3/2;
	}
	
	.pb-widget-tab .slick-slider .slick-arrow {
		width: 32px;
		height: 32px;
		line-height: 32px;
	}
	
	.pb-widget-tab .slick-slider .slick-prev {
		right: 32px;
	}
}

.p-content02__item a {
	position: relative;
	height: 100%;
}

@media (max-width: 767px) {
	.p-content02__item a {
		padding-bottom: 56.25%;
	}
	
	.p-content02__item a::before {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 10;
		width: 100%;
		height: 100%;
		content: '';
		background-color: rgba(0, 0, 0, 0.4);
	}
}

.p-hover-effect--type1 img {
	height: 100%;
	object-fit: cover;
}

.home .p-main-image__title,
.home .p-content04__catch {
	margin-bottom: 16px;
	font-size: clamp(1.625rem, 1.534rem + 0.45vw, 1.875rem) !important;
}

.p-entry__body .p-main-image__title {
	font-size: clamp(1.375rem, 1.239rem + 0.68vw, 1.75rem) !important;
}

.p-entry__body p:not(.p-main-image__desc) {
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem) !important;
}

.p-main-image__desc {
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem) !important;
	font-weight: 600;
}

@media (max-width: 767px) {
	.home .p-main-image__title {
		margin-bottom: 8px;
	}

	.home .p-main-image__content {
		position: static;
		padding-right: 8%;
		padding-left: 8%;
	}
	
/* 	.p-entry__body p:not(.p-main-image__desc) br {
		display: none;
	}
	
	.page-id-166 .p-entry__body p:not(.p-main-image__desc) br {
		display: block;
	} */

}

@media (max-width: 414px) {
	
	.p-main-image__img {
		padding-bottom: 100%;
	}
	
	.home .p-main-image__content {
		position: absolute;
	}
}

a[class*='o-button--'] {
	position: fixed;
	right: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 192px;
	padding: 8px;
	font-size: 18px;
	font-weight: 600;
	border-radius: 12px 0 0 12px;
	writing-mode: vertical-rl;
	letter-spacing: 3.2px;
}

.o-button--reserve {
	top: 112px;
	color: #fff;
	background-color: #bc925c;
}

.o-button--contact {
	top: 544px;
	color: #fff;
	background-color: #bc925c;
}

.o-button--calendar {
	top: 328px;
	color: #fff;
	background-color: #bc925c;
}

.o-button--reserve .far,
.o-button--contact .fa-solid {
	margin-bottom: 8px;
}

@media (max-width: 767px) {
	a[class*='o-button--'] {
		top: initial;
		right: initial;
		bottom: 0;
		width: 46.5%;
		height: 50px;
		padding: 0 8px;
		border-radius: 0;
		writing-mode: unset;
		transition: all 300ms ease;
	}
	
	body:has(.p-pagetop.is-active) a[class*='o-button--'] {
		width: calc(50% - 40px);
	}
	
	.o-button--contact {
		left: 0;
		border-right: 1px solid #fff;
	}
	
	.o-button--reserve {
		right: initial !important;
		left: 50% !important;
	}

	body:has(.p-pagetop.is-active) .o-button--reserve {
		left: calc(50% - 25px) !important;
	}

	.o-button--reserve .far,
	.o-button--contact .fa-solid {
		margin-right: 4px;
		margin-bottom: 0;
	}
}

@media (max-width: 600px) {
	.o-button--calendar {
		right: 8px !important;
		bottom: 64px !important;
		flex-direction: column;
		gap: 4px;
		width: 64px !important;
		height: 64px !important;
		padding: 0 !important;
		border-radius: 100px !important;
		font-size: 12px !important;
		letter-spacing: -0.1em !important;
	}
	
	.o-button--calendar .fa-calendar {
		font-size: 22px;
	}
}

.o-video__wrapper {
	width: 100%;
	max-width: 1120px;
	margin: 56px auto 0 auto;
	aspect-ratio: 16/9;
}

.o-video__wrapper video {
	width: 100%;
}

@media (max-width: 767px) {
	.o-video__wrapper {
		margin-top: 0;
	}
}

.twitter-wrapper {
	width: 100%;
	max-width: 960px;
	margin: 0 auto 71px auto;
}

@media (max-width: 767px) {
	.twitter-wrapper {
		width: calc(100% - 32px);
		margin-bottom: 34.5px;
	}
}

/* 記事テンプレート全幅 */
.news-template-default .l-contents {
	background: #fff;
}

.news-template-default .l-secondary {
	display: none;
}

.news-template-default .l-primary {
	width: auto;
}

/* 施設紹介 */
.p-content02__item a:hover .p-content02__item-img {
	opacity: 0 !important;
}

/* 施設一覧 */
.post-type-archive-plan .p-page-header {
	background-position: center center;
}

/* WEST */
.postid-49 .p-page-header {
	background-position: bottom;
}

/* EAST */
.postid-89 .p-page-header {
	background-position: center center;
}

/* コンシェルジュ */
.page-id-166 .p-page-header__title {
	background: rgba(0, 67, 83, 0.8) !important;
}

/* @media (max-width: 768px) {
	.page-id-166 .tcd-pb-row-inner > .tcd-pb-col.col1,
	.page-id-166 .tcd-pb-row-inner > .tcd-pb-col.col4 {
		display: none;
	}
}
 */
/* 過ごし方 */
.page-id-364 .p-page-header {
	background-size: cover;
}

/* access */
.o-googlemap__frame {
width: 100%;
    aspect-ratio: 4/1;
    filter: grayscale(100%);
    border: none;
}

p:has(.o-googlemap__frame) {
	margin-bottom: 0;
}

.o-googlemap-access__box {
	display: flex;
	align-items: center;
}

.o-googlemap-access {
	flex: 1;
	padding: 32px 16px;
	text-align: center;
}

.o-googlemap-access h3 {
	margin-bottom: 16px;
	font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
	font-weight: 600;
	text-align: center;
}

.o-googlemap-access ul {
	margin: 0;
	list-style: none;
}

.o-googlemap-access li {
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
	line-height: 1.4;
}

.o-googlemap-access li + li {
	margin-top: 1em;
}

@media (max-width: 767px) {
	.o-googlemap-access__box {
		flex-direction: column;
	}
	
	.o-googlemap-access + .o-googlemap-access {
		border-top: 1px solid #f0f0f0;
	}
	
	.o-googlemap__frame {
		aspect-ratio: 4/3;
	}
}

/* フッターコンテンツ */
.l-footer-link__section {
	padding-top: 64px;
}

/* プライバシーポリシー */
.policy-item {
	margin-bottom: 48px;
	line-height: 1.8;
}

.privacy-policy .p-entry__body ol {
	padding-left: 8px;
}

/* ハウスルール */
.page-id-312 .p-entry__body li,
.page-id-308 .p-entry__body li {
	list-style: none;
}

/* footer */
.p-widget-area:has(.p-footer-widget) {
	padding: 72px 0;
}

.p-footer-widget {
	width: 100%;
}

.o-footer__link {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	list-style: none;
}

.o-footer__link-list {
	display: flex;
	justify-content: center;
	margin: 0;
}

.o-footer__link-list + .o-footer__link-list {
	margin-top: 32px;
}

.o-footer__link-list li {
	margin: 0 24px;
	text-align: center;
	list-style: none;
}

@media (max-width: 767px) {
	.p-widget-area:has(.p-footer-widget) {
		padding: 36px 0 20px 0;
		background-color: rgba(255, 255, 255, 0.6) !important;
	}
	
	.o-footer__link {
		display: flex;
	}
	
	.o-footer__link-list {
		flex-direction: column;
		justify-content: flex-start;
		flex: 1;
	}
	
	.o-footer__link-list + .o-footer__link-list {
		margin-top: 0;
	}
	
	.o-footer__link-list li {
		margin: 0;
		font-size: 14px;
		text-align: left;
	}
	
	.o-footer__link-list li + li {
		margin-top: 16px;
	}
}

/* over write */
.p-page-header {
	background-position: center;
}

.l-header__logo a, .p-global-nav > li > a, .c-menu-button {
	line-height: 1.5;
}

.pb_slider .pb_slider_item img {
	aspect-ratio: 4/3;
	object-fit: cover;
}

@media (max-width: 768px) {
	.p-entry__body img[class*="attachment-"] {
		width: 100vw;
	    max-width: initial;
    	height: 100%;
    	margin: 0 calc((50vw - 50%) * -1);
    	object-fit: cover;
	}
	
	.pb-widget-tab .pb_tab_content-type3 .slick-slider img {
		margin: 0;
	}
	
	.l-main {
		overflow: hidden;
	}
	
	.p-content02__item-img--horizontal {
		width: 100%;
	}
	
	.pb-widget-tab .pb_tab_content-type3 .slick-slider .pb_tab_image_caption {
		display: block;
	}
}

.home .p-button {
	opacity: 0.8;
}

@media (max-width: 1024px) {
	.p-global-nav {
		top: var(--spn-nav-height);
	}
	
	.p-global-nav > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	.l-header--fixed .p-global-nav {
		position: absolute;
	}
}

@media (max-width: 767px) {
	.l-header {
		height: var(--spn-nav-height);
		background: #004353cc !important;
	}
	
	.c-logo--retina a {
		width: 25%;
	}
	
	.p-menu-button {
		display: flex;
		align-items: center;
		justify-content: center;
		height: var(--spn-nav-height);
	}
	
	.l-main {
		padding-top: var(--spn-nav-height);
	}
}

.page-id-166 .tcd-pb-row.row4 .attachment-large.size-large,
.page-id-166 .tcd-pb-row.row5 .attachment-large.size-large {
	aspect-ratio: 16/9;
	object-fit: cover;
}

.p-content02__item-sub {
	font-size: 16px;
}

@media (max-width: 767px) {
	.tcd-pb-row.row2 .tcd-pb-row-inner {
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

#js-hero-header__link {
	display: none;
}

.post-type-archive .p-main-image__desc {
	text-align: center;
}

.post-type-archive-news .p-article02__excerpt {
	display: none;
}

.p-social-nav__item--tiktok img {
	width: 19px;
	height: 19px;
}


/* カレンダーウィジェットの基本設定（右下固定・初期は非表示） */
.calendar-widget {
  position: fixed;
  bottom: 24px;
  right: 64px;
  width: 90%;
  max-width: 400px; /* PC閲覧時の最大幅 */
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  
  /* フェードアニメーションの設定 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

/* カレンダー表示時のクラス（ボタンクリック時） */
.calendar-widget.is-active {
  opacity: 1;
  visibility: visible;
}

/* トップページPCでの初期表示（769px以上で、閉じられていない場合のみ） */
@media (min-width: 769px) {
  .calendar-widget.is-top-page:not(.is-closed) {
    opacity: 1;
    visibility: visible;
  }
}

/* 閉じるボタンのスタイル */
.calendar-close {
  position: absolute;
  top: -15px;
  right: -15px;
  width: 32px;
  height: 32px;
  background-color: #333;
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0,0,0,0.3);
  transition: background-color 0.2s;
}

.calendar-close:hover {
  background-color: #555;
}

/* iframeのレスポンシブ化（アスペクト比を保ちつつ枠に収める） */
.calendar-iframe-wrapper {
  position: relative;
  padding-bottom: 150%; /* 高さの調整（正方形に近い形にする場合） */
  height: 0;
  overflow: hidden;
  border-radius: 8px;
}

.calendar-iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* スマホ表示時の微調整 */
@media (max-width: 768px) {
  .calendar-widget {
    bottom: 15px;
    right: 15px;
    max-width: calc(100% - 30px);
  }
}