/* ------------------------------------
   footer.css
   フッターのデザイン
   ------------------------------------ */
/*** フッターメニュー ***/
#footer_menu li {
    text-align: center;
}
/*** フッター ***/
#footer_CTA {
	    background: url(../img/footer/footerCTA_cloud.png), linear-gradient(to bottom, #fff 0%, #ace1ee 100%);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: cover;
	overflow: hidden;
	padding-top: 80px;
	position: relative;
	overflow: visible !important;
	z-index: 2;
	position: relative; /* 擬似要素を絶対配置するために必要 */
	overflow: hidden;   /* はみ出し防止（必要に応じて） */
}
/* 左側の葉っぱ */
#footer_CTA::before {
	content: "";
	position: absolute;
	top: -50px;
	left: -80px;
	width: 322px;  /* 画像の大きさに調整 */
	height: 284px;
	background: url("../img/footer/item_leaf_lg_l.png") no-repeat center/contain;
	pointer-events: none; /* 装飾がクリックを邪魔しないように */
	transform: translateX(-150%);      /* ←画面外へ */
	opacity: 0;
	transition: all 0.8s ease-out;
	z-index: 1;
}
/* 右側の葉っぱ */
#footer_CTA::after {
	content: "";
	position: absolute;
	top: -74px;
	right: -80px;
	width: 322px;
	height: 284px;
	background: url("../img/footer/item_leaf_lg_r.png") no-repeat center/contain;
	pointer-events: none; /* 装飾がクリックを邪魔しないように */
	transform: translateX(150%);      /* ←画面外へ */
	opacity: 0;
	transition: all 0.8s ease-out;
	z-index: 1;
}
/* ===== ビューポートに入ったら発火 ===== */
#footer_CTA.show::before,
#footer_CTA.show::after {
  transform: translateX(0);
  opacity: 1;
}

/** テーマ初期設定箇所を非表示 **/
#footer_info_area{
	display: none;
}
.footer_CTA--item{
	position: relative;
	z-index: 2 !important;
	max-width: 700px;
	margin: auto;
	text-align: center;
}
.footer_CTA--wrap p{
	text-align: center;
}	
.footer_CTA--catch{
	color: #ceab39 !important;
	font-size: 28px;
	line-height: 1.4;
	margin-bottom: 40px;
	text-align: center;
}
.footer_CTA--lead{
	font-size: 24px;
	margin-bottom: 32px;
	font-weight: 600;
	text-align: center;
}
/** フッターボタン **/
.footer_CTA--btn-wrap{
	margin-bottom: 20px;
	padding: 0 20px;
}
.footer_CTA--btn-left,
.footer_CTA--btn-right{
	width: 48%;
}
.footer_CTA--btn-wrap a.design_button{
	font-size: 20px;
	padding: 40px 0 !important;
	width: 100%;
	border-radius: 20px;
}
a.design_button{
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
a.design_button:hover {
	transform: translateY(-3px); /* ←ほんの少し上に */
	box-shadow: 0 4px 8px rgba(0,0,0,0.12); /* やわらかい影 */
}
.footer_CTA--btn-left a.design_button{
	background-color: #ceab39;
    border: 1px solid #ceab39;
}
.footer_CTA--btn-left a.design_button:hover{
	background-color: #dfc162;
    border: 1px solid #dfc162;
}
.footer_CTA--btn-right a.design_button{
	background-color: #ff807f;
    border: 1px solid #ff807f;
}
.footer_CTA--btn-right a.design_button:hover{
	background-color: #ffa3a2;
    border: 1px solid #ffa3a2;
}
.footer_CTA--btn-wrap{
	position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
/** ボタンアイコン **/
.footer_CTA--icon{
    padding-right: 8px;
}
.tel_lead{
	font-size: 0.7em;
	margin-right: -1em;
}
/** フッターイメージ **/
/* 施設画像ありバージョン*/
.footer_CTA--img{
	width: 100%;
	padding-top: 60px;
} 
.footer_CTA--img{
	width: 100%;
	padding-top: 60px;
	background:
		url("../img/footer/footerCTA_cloud.png");
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: cover;
	overflow: hidden;
}
/* 施設画像なしバージョン
.footer_CTA--img img{
	margin: auto;
	display: none;
	max-width: 1200px;
	width: 95%;
} */
.footer_CTA--img img{
	margin: auto;
	display: block;
	max-width: 900px;
	width: 95%;
}
#footer_gaikan {
	margin: auto;
	display: block;
	width: 85%;
	opacity: 0;
	transform: translateY(80px); /* 下に隠す */
	transition: all 1.2s ease-out; /* ゆっくりめ */
}
/* 表示トリガー */
#footer_gaikan.show {
  opacity: 1;
  transform: translateY(0);
}

/** フッターINFO **/
#footer_info{
	padding: 2em 0.5em;
	background-color: #f7fcf8;
}
#footer_info--item{
	margin: auto;
	text-align: center;
}
#footer_logo{
	margin: auto;
	width: 320px;
}
#footer_address p{
	margin-top: 16px;
	text-align: center;
}
/** トップへ戻るボタン **/
#return_top{
	border: solid 1px #62be6d; 
}
#return_top:before {
    color: #62be6d;
}
/** footer copylight **/
#footer_bottom{
	background-color: #62be6d;
}
#copyright a{
	color: #fff !important;
}
@media (max-width: 991px) {
	/* 左側の葉っぱ */	
	#footer_CTA::before {
		top: -70px;
		left: -80px;
		width: 240px;  /* 画像の大きさに調整 */
	}
	/* 右側の葉っぱ */
	#footer_CTA::after {
		top: -94px;
		right: -80px;
		width: 240px;
	}
}
/* タブレット */
@media (max-width: 800px) {
	#footer_CTA{
		padding-top: 80px;
	}
	/* 左側の葉っぱ */	
	#footer_CTA::before {
		top: 0;
		left: -100px;
		width: 200px;  /* 画像の大きさに調整 */
		height: 200px;
	}
	/* 右側の葉っぱ */
	#footer_CTA::after {
		top: -20px;
		right: -100px;
		width: 200px;
		height: 200px;
	}
	#footer_gaikan {
		transform: translateY(30px);
	  }
	}
/* 小さめタブレット・大きめスマホ */
@media (max-width: 600px) {
	#footer_CTA{
		padding-top: 40px;
	}
	/* 左側の葉っぱ */	
	#footer_CTA::before {
		top: 100px;
		left: -140px;
		width: 200px;  /* 画像の大きさに調整 */
		height: 200px;
	}
	/* 右側の葉っぱ */
	#footer_CTA::after {
		top: -100px;
		right: -140px;
		width: 200px;
		height: 200px;
	}
	.footer_CTA--catch{
		font-size: 22px;
		margin-bottom: 32px;
		font-weight: 600;
	}
	.footer_CTA--lead{
		font-size: 18px;
	}
	.footer_CTA--btn-wrap{
		display: block;
		padding: 0 1rem 0;
	}
	.footer_CTA--btn-left,
	.footer_CTA--btn-right{
		width: 100%;
	}
	.footer_CTA--btn-left a.design_button,
	.footer_CTA--btn-right a.design_button{
		font-size: 22px;
		width: 90%;
		margin-bottom: 16px;
		padding: 50px 0;
	}
	.footer_CTA--img{
		padding-top: 32px;
	}
	#footer_logo{
		width: 240px;
	}
	#footer_gaikan{
		width: 95%;
	}
}  