.text-0p7rem {
    font-size: 0.7rem;
}

.text-0p8rem {
	font-size: 0.8rem;
}

.text-0p9rem {
    font-size: 0.9rem;
}

.text-1p0rem {
    font-size: 1.0rem;
}

.text-1p5rem {
	font-size: 1.5rem;
}

.text-1p7rem {
	font-size: 1.7rem;
}

.text-1p4rem {
	font-size: 1.4rem;
}

.text-1p3rem {
    font-size: 1.3rem;
}

.text-1p2rem {
	font-size: 1.2rem;
}

@media (min-width: 576px) {
	.text-sm-1p0rem {
		font-size: 1.0rem;
	}
	.text-sm-1p1rem {
		font-size: 1.1rem;
	}
	.text-sm-1p3rem {
		font-size: 1.3rem !important;
	}
}


@media screen and (min-width: 992px) {
	.text-lg-0p8rem {
		font-size: 0.8rem;
	}
	.text-lg-0p83rem {
		font-size: 0.83rem;
	}
	.text-lg-0p87rem {
		font-size: 0.87rem;
	}
	.text-lg-0p89rem {
		font-size: 0.89rem;
	}
	.text-lg-0p95rem {
		font-size: 0.95rem;
	}
	.text-lg-0p92rem {
		font-size: 0.92rem;
	}
	.text-lg-1p1rem {
		font-size: 1.1rem;
	}
	.text-lg-1p2rem {
		font-size: 1.2rem;
	}
	.text-lg-1p4rem {
		font-size: 1.4rem;
	}
	.mw-lg-180px {
		width: 180px !important;
	}
}

@media (min-width: 1200px) {
	.text-xl-0p95rem {
		font-size: 0.95rem;
	}
	.text-xl-0p98rem {
		font-size: 0.98rem;
	}
}


@media (min-width: 576px) {
	.text-sm-1p0rem {
		font-size: 1.0rem;
	}
}

.text-1p1rem {
	font-size: 1.1rem;
}

.text-2rem {
	font-size: 2rem;
}

.text-3rem {
	font-size: 3rem;
}

.ls-0p15rem {
	letter-spacing: 0.15rem;
}

.ls-0p2rem {
	letter-spacing: 0.2rem;
}

.lh-2em {
	line-height: 2em;
}

.text-brown {
	color: #9a7c5d!important;
}

.text-darkbrown {
	color: #493610!important;
}

.text-lightbrown {
	color: #f2f1ea;
}

.border-brown-to-gray {
    position: relative;
}
.border-brown-to-gray:before {
    width: 17%;
    border-bottom: 3px solid #cbbc78;
    position: absolute;
    content: '';
    bottom: -1px;
    left: 0px;
}

.border-5px {
	border: 5px solid #dee2e6!important;
}

.border-color-brown {
	border-color: #9a7c5d!important;
}
.border-color-brown-sp-none {
	border-color: #9a7c5d!important;
}

.border-color-darkbrown {
	border-color: #493610!important;
}

.border-bottom-brown-bold {
	border-bottom: 2px solid #9a7c5d!important;
}

.border-bottom-bright-yellow-red-bold {
	border-bottom: 2px solid #fa9261!important;
}

.border-bottom-roof-tile-green {
	border-bottom: 1px solid #062c30!important;
}

.border-bottom-roof-tile-green-bold {
	border-bottom: 2px solid #062c30!important;
}

.border-darkgreen {
	border-color: #062c30!important;
}

.border-right-darkgreen-1px {
	border-right: 1px solid #062c30!important;
}

.border-vivid-green-3px {
	border: 3px solid #00552e!important;
	border-radius: 5px;
}

.border-left-darkgreen-1px {
	border-left: 1px solid #062c30!important;
}

.border-brown-bold {
	border: 3px solid #9a7c5d;
}

.border-bright-yellow-red {
	border-color: #fa9261 !important;
}

.border-left-bright-yellow-10px {
	border-left : 10px solid #fa9261;
}

.border-top-white-1px {
	border-top: 1px solid #ffffff!important;
}

.border-right-white-1px {
	border-right: 1px solid #ffffff!important;
}

.border-left-white-1px {
	border-left: 1px solid #ffffff!important;
}

.border-right-white-3px {
	border-right: 3px solid #ffffff!important;
}

.border-bottom-white-3px {
	border-bottom: 3px solid #ffffff!important;
}

.border-left-gray-1px {
	border-left: 1px solid #dee2e6!important;
}

.border-right-gray-1px {
	border-right: 1px solid #dee2e6!important;
}

.border-top-dashed-black-1px {
	border-top: 1px dashed #000000!important;
}

.border-top-dashed-black-2px {
	border-top: 2px dashed #000000!important;
}

@media screen and (min-width: 992px) {
	.border-right-lg-white-3px {
		border-right: 3px solid #ffffff!important;
	}
}

.bg-gray {
	background-color: #303841;
}

.bg-darkbrown {
	background-color: #493610;
}

.bg-brown {
	background-color: #9a7c5d;
}
.bg-brown-link:hover {
	background-color: #ad9276;
}
/* Bootstrap4→5.3  リンク挙動調整 */
.btn-brown {
	--bs-btn-color: #fff;
	--bs-btn-bg: #9a7c5d;
	--bs-btn-active-bg: #c2b09d
}

.btn-brown:hover  {
	text-decoration: none;
	background-color: #9a7c5d;
	opacity: 0.6;
}

.bg-lightbrown {
	background-color: #f2f1ea;
}

.bg-btn-green {
	background-color: #198754;
}

.bg-darkgreen {
	background-color: #062c30;
}

.bg-vivid-green {
	background: #00552e;
}

.bg-intermediate-green {
	background: #146e37;
	--bs-btn-active-bg: #146e37
}
.bg-intermediate-green:hover  {
	text-decoration: none;
	background-color: #146e37;
}

.bg-bright-yellow-red {
	background-color: #fa9261;
}

.bg-lightgray {
	background-color: #e7e7e7;
}

.table-transparent {
  --bs-table-bg: transparent;
}

/* Bootstrap4→5.3  挙動調整 */
thead.bg-lightgray th {
	background-color: #e7e7e7;
}
tbody th.bg-lightgray {
    background-color: #e7e7e7;
}
/* tbody の td 背景色 */
tbody td.bg-lightbrown {
    background-color: #f2f1ea;
}
thead.bg-vivid-green th {
	background-color: #00552e;
}

.text-justify {
	text-align: justify;
}
.noto-serif-jp {
	font-family: 'Noto Serif JP', serif;
}

.yu-mincho {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.max-w-1140px {
	max-width: 1140px;
}

.min-vh-60 {
	min-height: 60vh;
}

.min-h-600px {
	min-height : 600px;
}

.h-40px {
	height: 40px;
}

.h-70px {
	height : 70px;
}

.h-455px {
	height : 455px;
}

@media (min-width: 576px) {
	.h-sm-106px {
		height : 106px;
	}
	.h-sm-670px {
		height : 670px;
	}
}

.w-14 {
	width : 14%;
}

@media screen and (min-width: 992px) {
	.w-lg-auto {
		width: auto!important;
	}
}

/* Bootstrap4→5.3  挙動調整 */
a {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
ol.breadcrumb {
	padding: 12px 16px;
}
.dropdown-item:active {
	background-color: transparent;
}

/* ヘッダーバーガーメニュー */
.openbtnWrap {
	z-index: 1001;
}

.openbtn {
	position: relative;
	width: 35px;
	height: 25px;
	border: none;
	background: none;
}

.openbtn span {
	position: absolute;
	width: 100%;
	height: 2px;
	background: #808080;
	left: 0;
	transition: transform 0.4s ease, opacity 0.3s ease;
}

.openbtn span:nth-of-type(1) {
	top: 0;
}

.openbtn span:nth-of-type(2) {
	top: 12px;
}

.openbtn span:nth-of-type(3) {
	top: 24px;
}

.openbtn.active span:nth-child(1) {
	transform: rotate(45deg);
	top: 12px;
}

.openbtn.active span:nth-child(2) {
	opacity: 0;
}

.openbtn.active span:nth-child(3) {
	transform: rotate(-45deg);
	top: 12px;
}
/* -----------------end */

/* BootstrapクラスのCollapse制御 */
#navMenu.collapsing {
  height: auto !important;
}
#navMenu.no-open-transition.collapsing {
  transition: none !important;
}

/* ヘッダーオーバーレイメニュー */
@media (max-width: 991px) {
	.sp-menu {
		position: fixed;
		top: 0;
		right: -100%;
		width: 40%;
		height: 100%;
		background: white;
		opacity: 0.9;
		z-index: 1000;
		transition: 0.4s cubic-bezier(0.77, 0, 0.175, 1);
		padding: 80px 30px;
	}
	.collapse.show .sp-menu {
		right: 0;
	}
	
	.border-color-brown-sp-none {
		border: none;
	}
}
@media (max-width: 767px) {
	.sp-menu {
		width: 80%;
	}
	.sp-menu li{
		font-size: 1.1em;
	}
}
/* -----------------end */


/* フッターメニューアイコン */
.footer-item::before {
	content: url(/common/img/arrow.png);
	display: inline-flex;
	align-items: center;
	width: 15px;
	height: 33px;
	vertical-align: top;
}
/* -----------------end */

/* パンくず */
.breadcrumb-item+.breadcrumb-item::before {
	content: ">";
}
/* -----------------end */

/* タイトル装飾 */
.title::after {
	display: block;
	content: "";
	width: 40px;
	margin: 0 auto;
}
/* -----------------end */

/* ニュース 矢印アイコン */
.news {
	position: relative;
}

.news::after {
	position: absolute;
	right: 5px;
	bottom: 47%;
	content: ">";
	width: 15px;
	height: 15px;
	color: #9a7c5d;
	z-index: -1;
}
/* -----------------end */

.cursor-pointer {
	cursor : pointer;
}

.cursor-pointer:focus {
	outline: 0;
}

.cursor-pointer-opacity:hover {
	opacity : 0.8;
}

.cursor-pointer-opacity:active {
	opacity : 0.6;
}

@media screen and (min-width:768px) {
	.border-md-top {
		border-top:solid 1px #dee2e6;;
	}
}

.outline-none {
	outline: none !important;
}

.text-decoration-line-through {
	text-decoration: line-through;
}

.left-minus-100px {
	left: -100px;
}
@media (min-width: 992px) and (max-width: 1027px) {
	.nav-font {
		font-size: 14px;
	}
}

.top-reserve-img {
	position: absolute;
	top: 10px;
	left: 12px
}

.top-reserve-btn {
	position: relative;
	width: 130px;
	height: 44px;
	background: #198754 !important;
}
.top-reserve-btn:hover {
	opacity: 0.6;
	text-decoration:none;
}
.top-reserve-btn:active {
	opacity: 0.5;
	text-decoration:none;
}
.top-reserve-btn-text {
	position: absolute;
	left: 40px;
	top: 10px;
	display: block;
	color: #ffffff !important;
	font-size: 1.1rem;
}
@media (min-width: 1298px) {
	.top-reserve-img {
		top: 12px;
		left: 19px
	}
	.top-reserve-btn {
		width: 170px;
		height: 54px;
	}
	.top-reserve-btn-text {
		left: 53px;
		top: 12px;
		font-size: 1.4rem;
	}
}

.top-reserve-img-sp {
	position: absolute;
	top: 8px;
	left: 8px
}

.top-reserve-btn-sp {
	position: relative;
	width: 100px;
	height: 40px;
	background: #198754 !important;
}
.top-reserve-btn-sp:hover {
	opacity: 0.6;
	text-decoration:none;
}
.top-reserve-btn-sp:active {
	opacity: 0.5;
	text-decoration:none;
}

.top-reserve-btn-sp-text {
	position: absolute;
	left: 36px;
	top: 11px;
	display: block;
	color: #ffffff !important;
	font-size: 0.8rem;
}

.contact-reserve-btn {
	position: relative;
	width: 100%;
	height: 49px;
	background: #198754 !important;
}
.contact-reserve-btn:hover {
	opacity: 0.6;
	text-decoration:none;
}
.contact-reserve-btn:active {
	opacity: 0.5;
	text-decoration:none;
}
.contact-reserve-btn-text {
	display: block;
	color: #ffffff !important;
	font-size: 1.5rem;
}

.map iframe {
	width: 100%;
	height: 100%;
}

@media (max-width: 991px) {
	.map iframe {
		height: 300px;
	}
}

@media (min-width: 370px) {
	.lh-370-1p {
		line-height: 1;
	}

	.d-370-block {
		display: block !important;
	}

	.d-370-none {
		display: none !important;
	}

	.justify-content-370-end {
		-ms-flex-pack: end!important;
		justify-content: flex-end !important;
	}

	.mt-370-1 {
		margin-top: .25rem !important;
	}

	.mb-370-0 {
		margin-bottom: 0 !important;
	}
}

@media (min-width: 375px) {
	.contact-reserve-btn {
		width: 310px;
	}

	.text-sm-nowrap {
		white-space: nowrap;
	}
}

@media (min-width: 576px) {
	.top-reserve-btn-sp {
		width: 120px;
		height: 50px;
	}
	.top-reserve-btn-sp-text {
		position: absolute;
		left: 36px;
		top: 13px;
		display: block;
		color: #ffffff !important;
		font-size: 1.1rem;
	}
	.top-reserve-img-sp {
		top: 13px;
	}
}

@media (min-width: 1298px) {
	.d-1298-block {
		display: block !important;
	}
	.d-1298-none {
		display: none !important;
	}
}
