@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

@import url('https://fonts.googleapis.com/css2?family=Jost:wght@100;200;300;400;500;600;700&display=swap');

:root {
	--theme-color-lightest: #E9F3D7; /* rgba(190, 221, 140) */
	--theme-color-lighter: #BEDD8C; /* rgba(190, 221, 140) */
	--theme-color-light: #A8D264; /* rgba(168, 210, 100) */
	--theme-color: #92C83E; /* rgba(146, 200, 62) */
	--theme-color-dark: #75A22F; /* rgba(117, 162, 47) */
	--theme-color-darker: #597A23; /* rgba(89, 122, 35) */
	--theme-color-darkest: #1A230A;


	--theme-color-pair-lightest: #FEF5F0; /* rgba(239, 232, 251) */
	--theme-color-pair-lighter: #F9BE94; /* rgba(186, 157, 240) */
	--theme-color-pair-light: #F6A163; /* rgba(155, 113, 233) */
	--theme-color-pair: #F58634; /* rgba(126, 71, 228) */
	--theme-color-pair-dark: #E8680C; /* rgba(95, 31, 212) */
	--theme-color-pair-darker: #B85209; /* rgba(75, 25, 168) */
	--theme-color-pair-darkest: #522404;
}

/* -------------------- 共通ルール ------------------------ */
body {
	font-family: Jost, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "メイリオ", YuGothic, Meiryo, sans-serif;	text-align: justify;
	text-justify: inter-ideograph;
}
div#container {
	overflow: hidden;
}
/* ページタイプ　1カラム（広い）の最大幅 */
/*.wrap {
max-width: 1256px;
}*/
#main{
	/* スクロール案内ボタンを縦方向にずらした（-20px）分必要 */
	margin-top:20px;
	padding: 20px 30px;
}
/*非表示オブジェクト*/
.header, header .date-tags, .single #header-in, .breadcrumb-item .fa-folder, .breadcrumb-item .fa-file, .post-update,
.page .entry-title, .page .date-tags, .page .author-info, div.appeal-content{
	display: none;
}
/* 見出し リセット */
.article h1, .article h2, .article h3, .article h4, .article h5, .article h6, .sidebar h1, .sidebar h2, .sidebar h3, .sidebar h4, .sidebar h5, .sidebar h6{
	font-family: Jost, "TBUDゴシック R";
	font-weight: normal;
	color: #333;
	border-radius: 0;
}
.article:matches(h1, h2, h3, h4, h5, h6) {
	font-family: Jost, "TBUDゴシック R";
	font-weight: normal;
	color: #333;
	border-radius: 0;
}
.article h1, .article h2, .article h3, .article h4, .article h5, .article h6 {
	margin-top: 80px 0 40px;
	padding: 0;
	background: none;
	border: none;
}
.catch_en {
	display: block;
	font-size: 1rem;
	color: var(--theme-color-dark);
}
.catch_jp {
	font-size: 2.1rem;
	color: #333;
	margin-top: 20px;
}
.rich_font {
	font-family: "リュウミン R-KL" !important;
}
.rich_font_bold {
	font-family: "リュウミン B-KL" !important;
}
.text-center {
	text-align: center;
}
.text-justify {
	text-align: justify;
	text-justify: inter-ideograph;
}
.full-wide {
	position: relative;
	width: 100vw;
	left: 50%;
	right: 50%;
	padding: 0;
	margin: 50px -50vw;
	background-repeat: no-repeat;
	background-position: center center;
}

/* ---------------------------------- display : flex 関連 ------------------------------ */

.d-flex{
	display: flex;
}
.d-center {
	justify-content: center;
	align-items: center;
}
.d-col {
	flex-direction: column;
}
.d-row {
	flex-direction: row;
}
.s-between {
	justify-content: space-between;
}
.w-100{
	width: 100%;
}
.w-800 {
	width: 800px;
}
.align-items-stretch{
	align-self: stretch;
	width: 100%;
}
.p-0 {
	padding: 0!important;
}
.article .p-0 {
	padding: 0 !important;
}
.article .p-1{
	padding: .5em 0 !important;
}
.article .p-2 {
	padding: 1em 0 !important;
}
.article .p-3 {
	padding: 1.5em 0 !important;
}
.article .p-4 {
	padding: 2em 0 !important;
}
.article .p-5 {
	padding: 2.5em 0 !important;
}
.article .p-6 {
	padding: 3em 0 !important;
}
.article .m-0 {
	margin: 0 !important;
}
.article .m-1 {
	margin: .5em 0 !important;
}
.article .m-2 {
	margin: 1em 0 !important;
}
.article .m-3 {
	margin: 1.5em 0 !important;
}
.article .m-4 {
	margin: 2em 0 !important;
}
.article .m-5 {
	margin: 2.5em 0 !important;
}
.article .m-6 {
	margin: 3em 0 !important;
}
.article .mt-0 {
	margin-top: 0 !important;
}
.article .mt-1 {
	margin-top: .5em !important;
}
.article .mt-2 {
	margin-top: 1em !important;
}
.article .mt-3 {
	margin-top: 1.5em !important;
}
.article .mt-4 {
	margin-top: 2em !important;
}
.article .mt-5 {
	margin-top: 2.5em !important;
}
.article .mt-6 {
	margin-top: 3em !important;
}
.article .mb-0 {
	margin-bottom: 0 !important;
}
.article .mb-1 {
	margin-bottom: .5em !important;
}
.article .mb-2 {
	margin-bottom: 1em !important;
}
.article .mb-3 {
	margin-bottom: 1.5em !important;
}
.article .mb-4 {
	margin-bottom: 2em !important;
}
.article .mb-5 {
	margin-bottom: 2.5em !important;
}
.article .mb-6 {
	margin-bottom: 3em !important;
}
.col-1{
	width: 8.333333333%;
}
.col-2{
	width: 16.66666666%;
}
.col-3{
	width: 25%;
}
.col-4{
	width: 33.33333333%;
}
.col-5{
	width: 41.66666666%;
}
.col-6{
	width: 50%;
}
.col-7{
	width: 58.33333333%;
}
.col-8{
	width: 66.66666666%;
}
.col-9{
	width: 75%;
}
.col-10{
	width: 83.33333333%;
}
.col-11{
	width: 91.66666666%;
}
.col-12{
	width: 100%;
}
.between {
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
}
.align-center {
	margin: 0 auto;
}
.desc {
	font-size: .95rem;
	letter-spacing: 1px;
}
a.phone{
	font-size: 1.6rem;
	font-family: Jost;
	font-weight: 600;
	text-decoration: none;
}
a.button {
	display: inline-block;
	height: 55px;
	line-height: 55px;
	text-decoration: none;
	font-family: "新ゴ R";
	font-size: .95rem;
	min-width: 220px;
	padding: 0 20px;
	margin: 30px 0;
	background: var(--theme-color);
	color: #fff;
	text-align: center;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	transition: 1s linear;
}
a.button:hover {
	font-weight: bold;
	background: var(--theme-color-darker);
	transition-duration: .5s;
	animation-timing-function: ease;
}
.round-button {
	display: inline-block;
	font-weight: bold;
	color: var(--theme-color-pair-dark);
	text-decoration: none;
	padding: 10px 30px;
	margin: .5rem 0;
	text-align: center;
	border: 2px solid;
	border-color: var(--theme-color-pair);
	background-color: white;
	transition: background-color 1s;
	border-radius: 1000px;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}

/* 汎用 フレックスボックス（画像付）*/
.flex-box .item {
	position: relative;
	overflow: hidden;
}
.item-1 .item {
	width: 100%;
}
.item-2 .item {
	width: calc( 100% / 2);
}
.item-3 .item {
	width: calc( 100% / 3);
}
.item-4 .item {
	width: calc( 100% / 4);
}
.item-5 .item {
	width: calc( 100% / 5);
}
.item-2.between .item {
	width: calc( 100% / 2 - 5px);
}
.item-3.between .item {
	width: calc( 100% / 3 - 5px);
}
.item-4.between.item {
	width: calc( 100% / 4 - 5px);
}
.item-5.between .item {
	width: calc( 100% / 5 - 5px);
}
.flex-box .item::before {
	content: "";
	display: block;
	padding-top: 100%;
}
.flex-box .item img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
}
.br::after {
	content: "\A" ;
	white-space: pre ;
}
.sp_show {
	display:none;
}
/*
.red-under {
border-bottom: 2px solid var(--theme-color-pair-dark);
}
.bold-red {
color: var(--theme-color-pair-dark);
}
*/
/* timeline ------------------- */
.timeline-item::before {
	background: var(--theme-color);
	left: 65px;
}
.timeline-item-label {
	font-family: Jost;
	font-size: 1.1rem;
	padding-top: 13px;
	width: 70px;
}
.timeline-no-border .timeline-item-content {
	border: none;
}
.timeline-no-label .timeline-item-label {
	color: white;
}

/* 本文リストをfontawesomeで飾る オリジナルの ul.timeline は適用外*/
ul:not(.timeline) {
	list-style: none;
	padding-left: 0;
}
/* 本文リストをfontawesomeで飾る オリジナルの ul.timeline は適用外*/
#content ul:not(.timeline) li{
	padding-left: 2em;
	text-indent: -1.6em;
}
/* 本文内 ul 共通設定 */
#content ul:not(.timeline) li::before {
	color: var(--theme-color);
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	padding-right: 0.6em;
}
/* リスト（>）をfontawesomeで飾る */
#content ul.chevron-right li::before {
	content: '\f054'; /* アイコンのunicode */
}
/* リスト（check）をfontawesomeで飾る */
#content ul.check li::before {
	content: '\f00c';
}
/* リスト（check-circle）をfontawesomeで飾る */
#content ul.check-circle li::before {
	content: '\f058';
}
/* div.d-border > div.item で構成された表*/
.d-border .item {
	border: 1px solid #333;
}
.d-border .item:not(:first-child){
	border-left:none;
}
.sp-show {
	display: none;
}
.border-gray {
	border: 1px solid #ddd!important;
	overflow: hidden;
}
/*--------------------- ここまで共通ルール ------------------------------*/

/* one day rental --------------- */

.card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-width: 0;
	word-wrap: break-word;
	background-color: #fff;
	background-clip: border-box;
	border: 1px solid rgba(0,0,0,.125);
	border-radius: .25rem;
	margin: 0.5rem;
	padding: 1rem;
}
.card:first-child {
	margin-left: 0;
}
.card:last-child {
	margin-right: 0;
	margin-bottom: .5rem!important; /* timeline 内バッティング対策 */
}
.card p {
	margin-bottom: 0;
}
.card .title {
	font-weight: bold;
	font-size: 1.4rem;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 0;
	color: var(--theme-color-green-dark);
}
.card p.sub-title {
	font-size: 1rem;
	margin-bottom : 2px;
	color: var(--theme-color-red);
}
.card div.desc{
	text-align: justify;
	font-size: .9rem;
	margin-bottom: 10px;
}
.charge {
	font-family:  Arial;
	font-weight: bold;
	font-size: 1.7rem;
	color: #444;
}
.card p.charge{
	text-align: center;
	width: 100%;
	background: #eee;
	margin-top: auto;
	padding: 6px;
	border-radius: 3px;
}
.tax {
	font-size: .9rem;
	font-weight: normal;
}
.card .tax, .tbl-dock-desc .tax {
	margin-left: 4px;
}
.card.blank {
	visibility: hidden;
}
#amenities .item {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80%;
}
/* side ボタン */
#side_menu {
	position: fixed;
	right: 0;
	top: calc(50% - 120px);
	background-color: var(--theme-color-darkest);
	z-index: 99999;
}
body:not(.home) #side_menu {
	top: 180px;
}
#side_menu .item {
	position: relative;
	color: white;
	width: 80px;
	height: 80px;
	border: 1px solid rgba(255,255,255, .8);
	transition: 1s linear;
}
#side_menu .item:hover {
	transition-duration: .5s;
	animation-timing-function: ease;
	background-color: var(--theme-color-darker);
}
#side_menu .item:nth-child(2) {
	border-top: none;
	border-bottom: none;
}
#side_menu .item i{
	display: block;
	font-size: 1rem;
	margin-bottom: 4px;
}
#side_menu .item a{
	display: block;
	height: 100%;
	width: 100%;
	padding-top: 22px;
	font-family: Jost;
	font-size: .75rem;
	font-weight: 500;
	text-decoration: none;
	color: white;
}


/* top page */
.img-box .item {
	position: relative;
	width: calc(100vw / 4);
	height: 25vh;
	min-height: 220px;
	max-height: 240px;
	overflow: hidden;
}
.img-box .item img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	/*	transition: 1s linear;*/
}
.img-box .item:hover img{
	/*	transform: scale(1.25);
	transition-duration: .5s;
	animation-timing-function: ease;*/
}
.column-wrap .item {
	position: relative;
	height: 350px;
	overflow: hidden;
}
.column-wrap .item .image {
	position: absolute;
	display: block;
	width: calc(100% - 20px);
	height: 100%;
}
.column-wrap .item .title {
	position: absolute;
	top: 0;
	left: 0;
	padding: 4px 10px;
	color: white;
	background-color: var(--theme-color-pair);
}
.column-wrap .item .title {
	position: absolute;
	top: 0;
	left: 0;
	padding: 4px 10px;
	color: white;
	background-color: var(--theme-color-pair);
}
.column-wrap .item .caption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	min-height: 90px;
	padding: 4px 10px;
	color: #222;
	filter: drop-shadow(1px 1px 3px rgba(255,255,255,.9));*/
	text-align: justify;
	font-size: .95rem;
	letter-spacing: -.5px;
	backdrop-filter: blur(6px);
	background-color: rgba(255, 255, 255, 0.5);
}
/* ------------------------ swiper ---------------------- body直下に設置 */
#top-container {
	top: -60px;
	z-index: 0;
}
.swiper {
	width: 100%;
	overflow: hidden;
}
.swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.swiper-slide img {
	filter: brightness(.95);
}
#top-container, .swiper-slide .slide-img, .swiper-slide img {
	width: 100vw;
	height: 100vh;
}
.slide-content {
	position: absolute;
	padding: 20px;
	color: #fff;
	z-index: 9;
}
/* スライドガラス状のエフェクト */
.slide-content.sld-1, .slide-content .slide-title {
	font-family: Jost;
	text-shadow: 
		#333 1px 1px 5px, #ccc -1px 1px 10px,
		#333 1px -1px 5px, #ccc -1px -1px 10px;
}
.slide-content .slide-title {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 2.6rem;
	line-height: 1.2;
}
/* 1枚目のスライドタイトルのみ */
.slide-content.sld-1 .slide-title {
	font-size: 5rem;
	font-weight: 500;
	margin-bottom: 20px;
}
.slide-content .text-logo{
	width: 80%;
	height: 80%;
	filter: drop-shadow(1px 1px 5px #333) drop-shadow(1px 1px 10px #ccc); 
}
.slide-content .subjects {
	font-family: "新ゴ B";
	font-size: 1.4rem;
}
.slide-content .sub-title {
	font-family: "新ゴ B"!important;
	font-weight: 500;
	font-size: 1.4rem;	
}
#top-container .scroll-icon-box {
	position: absolute;
	left: calc(50% - 30px);
	bottom: 5px;
	z-index: 99;
	transition: 1s linear;
}
#top-container .scroll-icon-box:hover {
	transform: scale(1.1);
	transition-duration: .5s;
	animation-timing-function: ease;
	filter: drop-shadow(1px 1px 5px #333) drop-shadow(1px 1px 10px #ccc); 
}

#top-container .scroll-icon {
	width: 60px;
	height: 60px;
}
#top-container .scroll-icon-box .text {
	font-size: .8rem;
	color: white;
	font-family: Jost;
}
#top-container .scroll-icon-box a {
	text-decoration: none;
}
/* サイトトップ以外 headline ｜ カテゴリー見出し用 */
#body_top_box{
	position: relative;
	max-width: 100vw; /* ここで幅を決めている 最大 100vw （ウィンドウ幅）*/
	margin: 100px auto 0;
	z-index: 1; /* 直下itemの被さり防止 */
}
.headline_box{
	display: table;
	position: absolute;
	padding: 0 20px;
	text-align: center;
	color: #fff;
	width: 200px;
	height: 200px;
	font-size: 1.8rem;
	line-height: 1.2;
	backdrop-filter: blur(6px);
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 6px;
	/*
	text-shadow: 
	#666 1px 1px 5px, #ccc -1px 1px 10px,
	#666 1px -1px 5px, #ccc -1px -1px 10px;
	*/
	z-index: 2;
}
.headline {
	display: table-cell;
	vertical-align: middle;
	padding: 0 4px;
	filter: drop-shadow(1px 1px 4px rgba(255,255,255,.7));
}

.headline h1.title-en{
	color: var(--theme-color-dark);
	font-size: 2.1rem;
	font-weight: 500;
	font-family: Jost;
	border: none;
	display: block;
}
.headline .title-jp{
	display: block;
	font-family: "新ゴ R";
	font-size: 1rem;
	font-weight: normal;
	margin-top: 6px;
	color: #333;
}
#body_top_overlay {
	content: '';
	background: rgba(0, 90, 135, 0.4);
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1;
}
img.w-100, #body_top_img {
	width: 100%;
	max-height: 400px;
	object-fit: cover;
}
img.head-img {
	height: 300px;
	object-fit: cover;
}

/* navi メニュー */
#header-container .navi {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	/* filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.5)); */
	background-color: rgba(0, 45, 51, 0);
	z-index: 999;
}
.fixed-header #navi{
	font-size: 1rem;
	width: 100%;
	background-color: rgba(255, 255, 255, .9);
	-webkit-transition: all .4s ease 0s,background .6s ease .2s;
	transition: all .4s ease 0s,background .6s ease .2s;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	border-bottom: solid 2px var(--theme-color-dark);
	box-shadow: 0 1px 2px -1px rgba(0,0,0,.1), 0 3px 4px 0 rgba(0,0,0,.1), 0 1px 10px 0 rgba(0,0,0,.1);
}
#navi .home-top-btn {
	position: absolute;
	width: 200px;
	height: 100%;
	padding: 10px 24px;
	background-color: var(--theme-color-dark);
}
#navi .home-top-btn a{
	vertical-align: middle;
}
.fixed-header #navi a, body:not(.home) #navi a{
	color: #000;
	text-shadow: none;
}
.home-top-btn .home_text_logo {
	transition: 0.5s linear;
}
.home-top-btn .home_text_logo:hover {
	transform: scale(1.15);
	filter: drop-shadow(1px 1px 1px rgba(0,0,0,.4)) drop-shadow(1px 1px 3px rgba(255,255,255,.8));
}
#navi .navi-in > ul > li > a{
	font-size: 1rem;
	font-family: Jost, Arial, "新ゴ R", YuGothic, "メイリオ", Meiryo, sans-serif!important;
	font-weight: 600;
	padding: 0 12px;
	transition: 0.5s linear;
}
.navi-in i {
	opacity: .4;
	transition: 0.5s linear;
}
.navi-in a .item-label{ /* メニュー */
	vertical-align: middle;
	transition: 0.5s linear;
}
#navi .navi-in > ul >li >  a:hover {
	background-color: var(--theme-color-dark); /*テーマカラーより若干濃く*/
}
.navi-in a:hover .item-label{ /* .home ホバー時のメニュー色 */
	color: white!important;
	font-weight: bold;
	/*transform: scale(1.05);*/
	filter: drop-shadow(1px 1px 1px rgba(0,0,0,.4)) drop-shadow(1px 1px 3px rgba(255,255,255,.8));
}
body:not(.home) #navi .navi-in > ul > li:hover a{
	color: white;
	font-weight: bold;
	background-color: var(--theme-color-dark); /*テーマカラーより若干濃く*/
}
body:not(.home) .navi-in a:hover .item-label { /* home 以外のメニュー */
	color: #333;
	filter: none;
}
body:not(.home) .navi-in .sub-menu a:hover .item-label { /* home 以外のホバー時のサブメニューの文字 */
	color: white;
}
.navi-in .sub-menu .item-label { /* サブメニューの文字*/
	color: white;
}
.navi-in .sub-menu a { /* サブメニューの背景色*/
	background-color: var(--theme-color-dark); /*テーマカラーより若干濃く*/
}
.navi-in .sub-menu a:hover { /* サブメニューホバー時の背景色 */
	background-color: var(--theme-color-darker)!important; /*テーマカラーより若干濃く*/
}
.navi-in a:hover i{
	filter: none;
}
.navi-in img {
	vertical-align: middle;
}
/* HOME 以外のページ ------------------------------- */
body:not(.home) #navi {
	background-color: white;
}
body:not(.home) #header-container .navi {
	text-shadow: none;
}
body:not(.home) #navi .navi-in a {
	color: #555;
}
body:not(.home) #navi .navi-in a:hover {
	color: var(--theme-color-dark)!important;
}
body:not(.home) #navi .navi-in > ul {
	padding: 20px 0;
}
body:not(.home) #navi .navi-in > ul > li{
	height: 100%;
}

/* navi メニュー内ホームボタン */
a.home_btn{
	position: absolute;
	width: 50px;
	height: 50px;
}
.naviFixed a.home_btn{
	display: block;
}
.home_logo {
	width: 40px;
	height: 40px;
	margin: 10px;
	filter: drop-shadow(1px 1px 1px rgba(255, 255, 255, .7));
	transition: 0.5s linear;
}
.home_logo:hover {
	filter: drop-shadow(1px 1px 1px #555) drop-shadow(1px 1px 5px #fff);
	transform: scale(1.2);
	animation-timing-function: ease;
}
/* footer ---------------------------------------------*/
#footer {
	margin-top: 0;
	padding: 0;
	background-color: var(--theme-color-dark);
}
.footer-bottom {
	padding: 0;
	width: 100vw;
	left: 50%;
	right: 50%;
	margin: 24px -50vw 0;
}
.navi-footer {
	background-color: #efefef;
}
#footer .copyright {
	padding: 18px 0;
	margin: 0;
}
#footer li {
	margin: 18px 0;
	border-left: none;
}
#footer a {
	color: #555;
	padding: 0 20px;
	transition: 0.5s linear;
}
#footer a:hover {
	transform: scale(1.1);
}
/* -------------------------- アクセス --------------------------- */
.map {
	position: relative;
	padding-top: 300px;
	height: 450px;
	width: 100%;
	overflow: hidden;
}
.map iframe {
	position: absolute;
	top: -150px;
	left: 0;
	width: 100%;
	height: calc(100% + 150px + 150px);
	pointer-events: none;
}
.map--gray iframe{
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);
}
.access-box {
	position: relative;
}

.balloon-pin{
	position: absolute;
	top: calc(50% - 115px);
	left: calc(50% - 55px);
	display: flex;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	background-color: var(--theme-color);
	font-family: Jost;
	font-size: 1.4rem;
	color: white;
	z-index: 999;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	animation-name: bounce-light-4s;
	animation-timing-function: cubic-bezier(0.280, 0.840, 0.420, 1);
}
@keyframes bounce-light { /* これを使うときは animation-duration を 2s で */
	0%   { transform: scale(1,1)      translateY(0); } /* scale(横,縦) */
	10%  { transform: scale(1.1,.9)   translateY(5px); } /* translateY +下方向 -上方向 */
	30%  { transform: scale(.9,1.1)   translateY(-50px); }
	50%  { transform: scale(1.2,.95) translateY(0); }
	57%  { transform: scale(1,1)      translateY(-7px); }
	64%  { transform: scale(1,1)      translateY(0); }
	100% { transform: scale(1,1)      translateY(0); }
}
@keyframes bounce-light-4s {
	0%   { transform: scale(1,1)      translateY(0); } /* scale(横,縦) */
	5%  { transform: scale(1.1,.9)   translateY(5px); } /* translateY +下方向 -上方向 */
	15%  { transform: scale(.9,1.1)   translateY(-50px); }
	25%  { transform: scale(1.2,.95) translateY(0); }
	27%  { transform: scale(1,1)      translateY(-7px); }
	32%  { transform: scale(1,1)      translateY(0); }
	50% { transform: scale(1,1)      translateY(0); }
}
.balloon-pin:after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	left: calc(50% - 10px);
	bottom: -20px;
	border-style: solid;
	border-width: 30px 8px 0 8px;
	border-color: var(--theme-color) transparent transparent transparent;
}

/* フッター手前のお問い合わせボックス */
.toiawase-box {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: .95rem;
	font-family: "新ゴ R";
}
.toiawase-box img.footer-text-logo {
	width: 18vw;
	height: auto;
	margin-bottom: 3px;
}
.toiawase-box .jp {
	font-size: 1.2rem;
	color: #4C3733;
}
.toiawase-box .address {
	font-size: 1rem;
	margin: 15px 0;
}
.go-to-top-button {
	width: 60px;
	height: 60px;
	border-radius: 0;
	filter: drop-shadow(1px 1px 2px rgba(0,0,0, .5));
}
.home_logo_large {
	width: 60px;
	height: 60px;
	margin: 10px;
	transition: 0.5s linear;
}
/* ---------------------------------- contact box ------------------------------ */
#contact-info {
	display: block;
	height: 140px;
	box-sizing: border-box;
	max-width: 1200px;
	margin: 0 auto 50px;
}
.info-first:hover, .info-second:hover, .info-third:hover{
	cursor: pointer;
	background-color: var(--theme-color-blue-lighter);
}
#contact-info p{
	margin: 0;
}
#contact-info .info-title {
	font-weight: 700;
	font-size: 1.3rem;
}
#contact-info .info-desc {
	font-size: .8rem;
	text-align: start; /* bodyでjustifyが宣言されているため */
}
#contact-info .container {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}
#contact-info .contact-wrapper {
	background: none;
	border-bottom-width: 0;
	box-shadow: none;
}
#contact-info .single-contact {
	align-items: center;     /*上下中央揃え*/
	height: 140px;
	padding: 26px;
	margin-bottom: 10px;
	border: none;
	box-shadow: 0 15px 40px -5px rgb(0 0 0 / 10%);
	flex: 1;
	position: relative;
	background: #fff;
	-webkit-transition: .3s;
	transition: .3s;
	cursor: pointer;
	z-index: 0;
}
#contact-info .single-contact:not(first-child){
	margin-left: 26px;
}
#contact-info .single-contact:not(last-child){
	margin-right: 26px;
}
#contact-info .single-contact:hover{
	color: white;
	background: var(--theme-color-orange-dark);
}
#contact-info .single-contact:hover .single-icon i {
	color: var(--theme-color-blue-dark);
	-webkit-transition: .3s;
	transition: .3s;
}
.single-contact:hover a{
	color: white;
}
#contact-info .single-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	margin-right: 16px;
	width: 65px;
	height: 65px;
	padding: 10px;
}
#contact-info .single-icon i {
	width: 45px;
	font-size: 45px;
	color: var(--theme-color-orange);
	z-index: 3;
	-webkit-transition: .3s;
	transition: .3s;
	transition-timing-function: ease-out;
}
#contact-info .single-icon .spin-circle {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: white;
	border-radius: 100%;
	transition: .3s;
	-webkit-transition: .3s;
	transition-timing-function: ease-out;
}
#contact-info .single-contact:hover .spin-circle {
	border-radius: 15%;
}
/* ------------------ 問い合わせフォーム｜contact form  ------------------------- */
.wpcf7 {
	font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}
.wpcf7 {
	text-align: left;
}
.wpcf7 label {
	width: 100%;
}
.wpcf7 input, .wpcf7 textarea {
	border-radius: 0;
	font-size: 16px;
	width: 100%;
}
/* contact form confirm */
.wpcf7 .wpcf7c-conf {
	background-color: #ddd;
	border: 1px solid #333;
}
/* contact form confirm  [ 修正する ] */
.wpcf7 input[type="button"] {
	-webkit-appearance: none;
	border: 1px solid #ddd;
	background-color: #f5f8fa;
	padding: 11px;
	width: 100%;
	margin: 0;
	margin-bottom: 6px;
	cursor: pointer;
}
.wpcf7 input.wpcf7c-elm-step2[type="submit"] {
	font-weight: bold;
}
.wpcf7 .wpcf7-not-valid{
	border-color: red;
	background-color: #fdeff2; /* 薄桜 */
}
.wpcf7 .info-box {
	margin-top: 10px;
}
.wpcf7-not-valid-tip {
	font-size: .9rem !important;
	font-weight: bold !important;
}
/* アクセス ---------------------- */
.access-top-box {
	display: flex;
	flex-wrap: wrap;
}
.access-top-box .item{
	position: relative;
	width: calc( 100% / 3);
}
.access-top-box .item::before {
	content: "";
	display: block;
	padding-top: 100%;
}
.access-top-box .item img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
}
.park-box {
	margin: 80px 0;
	padding: 60px 80px 40px;
	justify-content: space-between;
	border: 1px solid #ccc;
}
.park-box .item {
	width: calc(50% - 50px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.park-box h2.title {
	font-family: "新ゴ R";
	color: #333;
	margin: 20px 0;
	font-size: 1.3rem;
}
.park-box p.desc {
	margin-bottom: auto;
	padding-bottom: 20px;
}
.park-box img {
	width: 100%;
	height: 350px;
	margin-top: auto;
	object-fit: cover;
}

/* 利用料金 -------------------------- */

#price-table {
	width: 100%;
	font-family: Jost;
}
#price-table .item {
	height: auto;
	padding: 10px;
	border: 1px solid var(--theme-color);
}
.border-gray-radius {
	border: 1px solid #ddd!important;
	border-radius: 6px!important;
	overflow: hidden;
}
.border-pair-radius {
	border: 1px solid var(--theme-color-pair-lighter)!important;
	border-radius: 6px;
	overflow: hidden;
}
.item.border-none {
	border: none!important;
} 
#price-table .item .title{
	font-family: "新ゴ R";
	font-size: 1.2rem;
	color: var(--theme-color-dark);
}
#price-table .item .price{
	font-size: 1.3rem;
	font-weight: 500;
	padding: 6px 0;
	margin-top: auto;
	background-color: #eee;
}
#price-table .item .en{
	margin-left: 2px;
	font-size: .95rem;
}
#price-table .fa-plus-square, #price-table .fa-arrow-alt-circle-down {
	font-size: 3rem;
	color: var(--theme-color);
	margin: 20px 0;
}

/* ベッドの空き状況 ----------------------------- */
#boshu-box {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	max-width: 400px;
	height: 300px;
}
#boshu-box .item {
	width: 100%;
}
#boshu-box .kind {
	position: relative;
	width: 100%;
	height: 120px;
	color: white;
}
.kind .text {
	position: absolute;
	top:16px;
	font-weight: bold;
}
#boshu-box .kind.man {
	background-color: var(--theme-color-dark);
}
#boshu-box .kind.woman {
	background-color: var(--theme-color-pair-dark);
}
#boshu-box .kind:after {
	position: absolute;
	display: flex;
	justify-content: center;
	bottom: -60px;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	width: 120px;
	height: 120px;
	font-size: 4rem;
	border-radius: 50%;
	background-color: white;
}
#boshu-box .kind.man:after {
	content: '\f183';
	color: var(--theme-color-dark);
}
#boshu-box .kind.woman:after {
	content: '\f182';
	color: var(--theme-color-pair-dark);
}
#boshu-box .number {
	height: calc(300px - 120px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-weight: 700;
	font-size: 4rem;
	padding-top: 20px;
	color: #333;
}
.boshu-unit {
	font-size: 1.6rem;
	color: #666;
}

/* ベッドの空き状況 カレンダー */

.calendar-box {
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	width: 120px;
	background-color: white;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}
.hyphen {
	margin: 0 4px;
}
.year-month {
	padding: 3px;
	color: white;
	font-size: 1rem;
	background-color: var(--theme-color-dark);
}
.day {
	/* padding: 20px; */
}
.date-day {
	font-size: 3rem;
	font-weight: 700;
	color: var(--theme-color-dark);
}

/* Display Post plugin */
#content ul.display-posts-listing{
	display: flex;
	flex-direction: column;
}
#content ul.display-posts-listing li.listing-item{
	position: relative;
	padding-left: 0;
	padding-bottom: 10px;
	text-indent: 0;
	display: table-cell;
	line-height: 1.2;
	border-top: 2px dotted #ddd;
}
.display-posts-listing .title, .display-posts-listing .date, .display-posts-listing .excerpt{
	display: inline-block;
	margin: 4px;
}
.display-posts-listing .title{
	display: block;
	font-weight: bold;
	text-decoration: none;
}
.display-posts-listing .date {
	position: absolute;
	top: 0;
	right: 0;
	font-size: .85rem;
	background-color: #eee;
	margin-top: 0;
	padding: 3px 6px;
	border-radius: 4px;
}
.display-posts-listing .excerpt{
	font-size: .95rem;
}
.display-posts-listing .excerpt-more{
	display: none;
}

.category-news .content-in.wrap {
	max-width: 860px;
}

/* sidebar */
#sidebar .post-date{
	position: absolute;
	bottom: 0;
	right: 0;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
	/*必要ならばここにコードを書く*/

/*1500px以下*/
@media screen and (max-width: 1500px){
	#navi .navi-in > ul > li:first-child {
		display: none;
	}
}

/*1023px以下*/
@media screen and (max-width: 1023px){
	#price-table .item {
		width: 100%!important;
		margin-bottom: 10px;
	}
	#navi-menu-content img, .home-top-btn {
		display:none;
	}
	#top-container .scroll-icon-box {
		bottom: 20px;
	}
	#top-container .scroll-icon {
		width: 50px;
		height: 50px;
	}
}

/*834px以下*/
@media screen and (max-width: 834px){
	/*必要ならばここにコードを書く*/
	.column-wrap {
		flex-direction: column;
	}
	.column-wrap .item, .column-wrap .item .image {
		width: 100%;
	}
	.sp-show {
		display: inline-block;
	}
	.sp-justify {
		text-align: justify;
		text-justify: inter-ideograph;
	}
	.no_br br {
		display:none;
	}
	.d-row:not(.not-col) {
		flex-direction: column;
	}
	.d-row .item {
		width: 100%;
	}
	.text-center p {
		text-align: justify;
		text-justify: inter-ideograph;
	}
	.page-access .flex-box .item {
		height: 40vh;
	}
	.park-box .item {
		width: 100%!important;
	}
	.park-box {
		padding: 20px;
	}
	.tab-group .tab{
		width: 160px;
	}
	#body_top_box {
		margin-top: 0;
	}
	.headline_box{
		width: 50%;
		height: auto;
		padding: 30px 0;
	}
	#side_menu {
		position: absolute;
		top: 0!important;
		background-color: rgba(255,255,255,.1);
		opacity: .7;
	}
	.slide-content {
		width: 90%!important;
		padding: 6px;
	}
	.slide-content .subjects, .slide-content .sub-title{
		font-size:1.2rem;
	}
	.slide-content .slide-title{
		font-size: 3.4rem!important;
	}
	.slide-content .slide-title:not(.evergreen){
		font-family: "リュウミン B-KL";
		font-size: 1.6rem!important;		
	}
	.desc.text-center {
		text-align: justify;
	}
	.toiawase-box img.footer-text-logo {
		width: 40vw;
	}
	.catch_jp {
		font-size: 1.4rem;
	}
	/* div.d-border > div.item で構成された表*/
	.d-border .item:not(:first-child){
		border-left: 1px solid #333;
		border-top: none;
	}
	/* 入所セット --------------- */
	#one-day-rental .araiguma {
		width: 80%;
	}
	#one-day-rental .circle-b {
		width: 25vw;
		height: 25vw;
		padding: 10px;
	}
	#one-day-rental .taoru {
		top: -80px;
	}
	#one-day-rental .pajama {
		top: -90px;
	}
	#one-day-rental .hamigaki {
		bottom: 50px;
		right: 20px;
		z-index: 9;
	}
	.page-oneday-rental .card {
		margin: .5rem 0;
	}
	.toiawase-box {
		width: 100%;
	}
	.toiawase-box .item:nth-child(1) {
		padding-top: 30px!important;
	}
	.toiawase-box .item:nth-child(2) {
		padding-top: 0!important;
	}
}
/*480px以下*/
@media screen and (max-width: 480px){
	/*必要ならばここにコードを書く*/
	#top-container .scroll-icon {
		width: 40px;
		height: 40px;
	}
	.d-row {
		flex-direction: column;
	}
	.d-row .item {
		width: 100% !important;
	}
	.park-box {
		padding: 30px;
	}
	.park-box img {
		height: 200px;
	}
	.sp_show {
		display:inline;
	}
	.article h2 {
		font-size: 1.2rem;
	}
	#inquiry {

		padding: 0;
	}
	#inquiry div {
		width: 100%;
	}
	#inquiry div p{
		text-align: center;
	}
}
