@charset "UTF-8";
/* CSS Document */


/* SP Menu */
@media screen and (max-width:1320px) {
	.content01 {
		width: calc(100% - 60px);
		margin-right: 30px;
		margin-left: 30px;
	}

	.sec02Cont__box01 {
		width: calc(100% - 690px);
	}

	.sec02Cont02__img {
		width: calc(100% - 640px);
	}

	.sec03Cont {
		padding: 0;
	}

	.sec03Cont li {
		margin-bottom: 30px;
	}

	.sec06Cont__box01 {
		width: calc(100% - 505px);
	}

}

@media screen and (max-width:1200px) {
	.sec03Cont {
		flex-wrap: wrap;
		width: 600px;
		margin: auto;
	}

	.sec04Cont li {
		width: calc((100% - 10px) / 2);
	}

	header {
		padding: 0;
	}

}

@media screen and (max-width:1050px) {
	.pc_tab {
		display: none;
	}

	.tab {
		display: block;
		text-align: center;
	}

	.sec02Cont__box01 {
		width: 100%;
		margin-bottom: 30px;
	}

	.sec02Cont02__img {
		width: 100%;
		position: inherit;
		text-align: center;
		margin-bottom: 30px;
	}

	.sec02Cont__box02 {
		width: 100%;
		padding-left: 0;
	}

	.sec02Cont02__inner {
		width: 100%;
	}

	.sec06Cont {
		display: block;
	}

	.sec06Cont__box01 {
		width: 505px;
		margin: auto;
		text-align: center;
		margin-bottom: 30px;
	}

	.sec06Cont__box02 {
		margin: auto;
		padding-right: 0;
	}




}

@media screen and (max-width:950px) {
	.pc_tab02 {
		display: none;
	}

	.header_wrap {
		width: auto;
	}

	.tab02 {
		display: block;
	}

	.main_wrap {
		/* position: absolute; */
		display: flex;
		justify-content: center;
		padding: 30px 0;
		background: #ffffff;
		width: 100%;
		left: 0;
		bottom: 0;
	}

	.header_wrap__cont02 {
		margin-right: 30px;
	}

	.navWrap {
		bottom: -160px;
		font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
	}

	.mainText {
		top: 300px;
	}



}

@media screen and (max-width:800px) {
	body * {
		animation-delay: 0;
		transition: 0.2s;
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.content01 {
		width: calc(100% - 20px);
		margin-right: 10px;
		margin-left: 10px;
	}

	.content01 h1 img {
		width: 120px;
	}

	header {
		height: 60px;
	}

	h1 {
		width: 165px;
	}

	.header_wrap__cont01 img {
		width: 155px;
	}

	.header_wrap {
		padding: 10px 20px;
		height: 60px;
	}

	.header_wrap__cont01 {
		padding-top: 5px;
		border-radius: 0 0 0 10px;
	}

	.mainText {
		top: 165px;
		color: #ffffff;
		font-size: 27px;
		line-height: 2em;
	}

	.mainimage {
		/* height: 490px;
		background: url("../images/top-view_sp.jpg") center top;
		background-size: 100%;
		background-repeat: none; */
	}

	.main_wrap {
		padding: 10px;
	}

	.header_wrap__cont02 {
		margin-right: 20px;
	}

	.navWrap ul {
		flex-wrap: wrap;
		background: none;
		height: auto;
	}

	.navWrap ul li:not(:last-child) a {
		border-right: none;
	}

	.navWrap ul li {
		width: calc((100% - 10px) / 3);
		background: #39B54A;
		margin-bottom: 5px;
		border-radius: 20px;
		height: 45px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.navWrap ul li a {
		font-size: 15px;
	}

	.contTitle01 {
		margin-bottom: 25px;
		font-size: 22px;
		margin-top: 30px;
		line-height: 35px;
	}

	.sec01Text {
		font-size: 15px;
	}


	.sec01 {
		padding-bottom: 75px;
	}

	.bx-shadow {
		margin: 0;
		width: 100%;
		border-radius: 0;
		box-shadow: none;
		padding: 50px 10px 70px;
	}

	.sec02 {
		padding-top: 0;
		padding-bottom: 40px;
	}

	.contTitle02 {
		margin-bottom: 80px;
	}

	.sec02Cont__text01 {
		text-align: justify;
	}

	.sec02Cont__box02 h3 {
		font-size: 22px;
		margin-bottom: 30px;
	}

	.sec02Cont__box01 img {
		width: 200px;
	}

	.bx-shadow.pt02 {
		margin-top: 40px;
	}

	.sec02Cont {
		padding: 0 1rem;
	}

	.sec02Cont02__text01 {
		text-align: justify;
		padding: 0 8px;
	}

	.sec02Cont02 {
		padding: 30px;
		position: relative;
		min-height: auto;
		margin-bottom: 15px;
	}

	.sec02Cont02 h3 {
		font-size: 32px;
		margin-bottom: 20px;
	}

	.sec03Text {
		font-size: 15px;
		margin-bottom: 30px;
	}

	.sec03Cont li {
		height: 110px;
		width: 110px;
		margin-bottom: 15px;
	}

	.sec03Cont li span.pt01 {
		font-size: 15px;
	}

	.sec03Cont li span.pt02 {
		font-size: 12px;
	}

	.bxslider li {
		width: 190px !important;
	}

	.sec04 {
		padding-bottom: 50px;
		padding-top: 50px;
	}

	.sec04Cont li {
		width: 100%;
		padding: 20px;
	}

	.sec03Text {
		margin-bottom: 40px;
	}

	.sec05Cont iframe {
		height: 225px;
	}

	.sec06 {
		padding-top: 40px;
	}

	.sec06Icon>div {
		letter-spacing: -1px;
	}

	.sec06Cont {
		padding: 0 30px;
	}


	.sec06Table * {
		vertical-align: top;
		line-height: 2em;
	}

	.sec06Table th {
		width: 80px;
	}

	.sec06Icon span {
		font-size: 12px;
	}

	.sec06Icon__box02 {
		margin-left: 0;
	}

	.sec06Icon {
		justify-content: space-between;
	}


	footer {
		padding-top: 40px;
		padding-bottom: 108px;
	}

	.copy {
		font-size: 12px;
	}

	.topBtn {
		display: none !important;
	}


	.sec03Cont {
		width: 100%;
		max-width: 420px;
	}

	.sec06Cont__box01,
	.sec06Cont__box02 {
		width: 100%;
	}

	.footNav {
		display: block;
		position: fixed;
		width: 100%;
		padding: 10px;
		background: #8CC63F;
		justify-content: space-between;
		bottom: -68px;
		transition: 1s;
	}

	.footNav__inner {
		display: flex;
		width: 360px;
		margin: auto;
		justify-content: space-between;
	}

	.footNav.on {
		bottom: 0;
	}

	.sec02 .pt01 {
		margin-top: 0;
	}

	.sec02Cont__box02 h3 {
		font-size: 18px;
	}

}

@media screen and (max-width:800px) {
	.sec02Cont02 {
		padding: 20px 10px;
	}

	.sec06Cont {
		padding: 0 10px;
	}

}

/* ▼▼▼ 固定フッターCVエリア（デフォルト設定＝PCでは非表示） ▼▼▼ */
.fixed-cv-footer {
	display: none;
	/* ★重要：PCでは隠す */

	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	/* 背景色（隙間用） */
	box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
	z-index: 1000;
	height: 70px;
	background-color: #ffffffa5;
	box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
	z-index: 1000;
	padding: 5px;
}

/* 共通ボタンスタイル */
.cv-button {
	flex: 1;
	/* 半々に分ける */
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	transition: opacity 0.3s;
	height: 100%;
	border-radius: 10px;
}

.cv-button:hover {
	opacity: 0.8;
}

/* 左側：電話ボタン（緑） */
.tel-button {
	background-color: #8cc63f;
	flex-direction: column;
}

.tel-label {
	font-size: 0.75rem;
	margin-bottom: 3px;
}

.tel-number {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	white-space: nowrap;
}

/* 右側：WEB予約ボタン（オレンジ） */
.web-button {
	background-color: #f39c12;
}

.web-icon {
	font-size: 2rem;
	margin-right: 10px;
}

.web-text {
	text-align: left;
	line-height: 1.2;
}

.web-sub {
	font-size: 1rem;
	display: block;
}

.web-main {
	font-size: 1.1rem;
	font-weight: bold;
}

/* 右端：トップへ戻るボタンエリア */
.pagetop-area {
	background-color: #8cc63f;
	/* 電話ボタンと同じ色で背景を埋める */
	display: flex;
	align-items: center;
	padding-right: 10px;
}

.pagetop-btn {
	width: 45px;
	height: 45px;
	background-color: #cddc39;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.5rem;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	flex-shrink: 0;
	margin-left: 10px;
}


/* ▼▼▼ スマホ表示のみの設定（画面幅768px以下） ▼▼▼ */
@media screen and (max-width: 768px) {

	/* フッターを表示させる（Flexboxにする） */
	.fixed-cv-footer {
		display: flex;
		gap: 6px;
		/* ★ここで表示！ */
	}

	/* フッターが被らないようにコンテンツ下部に余白を空ける */
	body {
		padding-bottom: 70px;
	}

	/* スマホ向けの微調整（文字サイズ等） */
	.tel-label {
		font-size: 0.7rem;
		color: #cddc39;
	}

	.tel-number {
		font-size: 1.2rem;
	}

	.web-icon {
		font-size: 1.8rem;
		margin-right: 8px;
	}

	.web-sub {
		font-size: 0.7rem;
	}

	.web-main {
		font-size: 1rem;
	}

	/* 画面が極端に狭いスマホ用 */
	@media screen and (max-width: 375px) {
		.pagetop-btn {
			width: 40px;
			height: 40px;
			font-size: 1.3rem;
		}

		.cv-button {
			padding: 5px;
		}

		.pagetop-area {
			padding-right: 5px;
		}
	}

	.fixed-cv-footer span {
		color: #fff !important;
	}

	.fixed-cv-footer a {
		text-decoration: none;
	}
}