/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* --- 全体 --- */

body {
	background: #dddddd !important;
}
.footer-menu i {
	color: #E75117;
}

.clearfix {
	clear: bothl
	height: 0;
	text-indent: -9999px;
}



/* --- ヘッダ部左端のサイト名 --- */
#main-name {
}

#main-name:hover {
	opacity: 0.7;
}

/* --- gnavi --- */
#gnavi {
}

#gnavi a:hover {
	opacity: 0.7;
}



/* --- ヘッダの固定化 --- */
header, .uae-header-el { /* UAEのクラス名に合わせて調整 */
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 9999;
}



/* --- 投稿記事 single.php --- */

.single-post main.post {
	background: #ffffff;
	margin:  0 auto;
	padding: 3.0em auto 0;
	width:  100%;
}

.post-grid-inner .title {
	font-size: 1.2em !important;
}

.post-grid-inner .title a {
	color: #000000;
}


.event-post-grid .post-grid-thumbnail img {
	aspect-ratio: 210 / 297;
	object-fit: cover;
	width: 100%;
}

.event-post-grid .title a {
	text-decoration: none;
}

.event-post-grid .title a:hover {
	text-decoration: underline;
}




@media screen and (min-width:768px) {
	article.wpcap-post:nth-child(3n) {
		padding-right: 50px;
	}

	article.wpcap-post:nth-child(3n+1),
	article.wpcap-post:nth-child(3n+2) {
		padding-right: 50px;
		border-right: 1px #666666 solid;
	}
}



.akb-menu-list {
	list-style: none;
	margin: 0 1.0em;
	padding: 0;
}

.akb-menu-list li {
	padding-bottom: 1.0em;
	width: 50%;
	float: left;
	font-size: 130%;
	font-weight: bold;
}

.akb-menu-list li i {
	color: #890F1A;
}

.akb-menu-list li {
	color: #E75217 !important;
}

.akb-menu-list li:last-child {
	
}

.akb-menu-list li a {
	color: #000000 !important;
}

@media screen and (max-width:767px) {
	.akb-menu-list {
		list-style: none;
		margin: 0 1.0em;
		padding: 0;
	}
	
	.akb-menu-list li {
		clear: both;
		float: none;
		padding-bottom: 1.0em;
		font-size: 80%;
		font-weight: bold;
		width: 100%;
	}
	
	.akb-menu-list li:nth-child(7) {
		display: none;
	}
	
	.akb-menu-list li i {
		color: #890F1A;
	}
	
	.akb-menu-list li {
		color: #E75217 !important;
	}
	
	.akb-menu-list li a {
		color: #000000 !important;
	}
}

.the_title {
	clear: both;
	margin:  0;
	padding: 1.0em 0 0.5em 2.0em;
	font-size: 200%;
	text-align: center;
}

#content {
	max-width: 1440px;
	width: 100%;
	margin:  0 auto;
}

.page-header h1 {
	clear: both;
	max-width: 1440px !important;
	width:  100%;
	margin:  0;
	padding: 1.0em 0 0.5em 2.0em;
	font-size: 200%;
	text-align: center;
	background: #fff;
}

#content.post {
	background: #ffffff;
}

#content .page-content {
	padding: 0;
	box-sizing: border-box;
	min-height: 35.0em;
	background: #ffffff;
}

@media screen and (max-width:767px) {
	#content .page-content {
		padding: 0;
		box-sizing: border-box;
	}
}



/* 投稿記事 */
#content.post .page-content {
	max-width:  1040px;
	width:  90%;
	margin:  3.0em auto 0;
	padding: 0;
	box-sizing: border-box;
	min-height: 35.0em;
	background: #ffffff;
}

/* ---
#content.post .page-content > *:not(.custom-post-header) {
	max-width: 820px;
	margin-inLine: auto;
}
--- */


@media screen and (max-width:767px) {
	#content.post .page-content {
		padding: 0;
		box-sizing: border-box;
	}
}

/* ------------
.single-post .elementor-widget-heading {
	display: none;
}


.contents-area a,
.page-content  a {
	text-decoration: none !important;
}

.contents-area a:hover,
.page-content  a:hover {
	text-decoration: underline !important;
}
------------ */



/* --- ニュース --- */
#the_date {
	font-size: 100%;
	text-align: left;
	margin:  0;
	padding: 0;
}

#the_catname {
	font-size: 100%;
	text-align: right;
	margin:  0;
	padding: 0;
}

#xxthe_eyecatch {
	max-width: 240px;
	width:  90%;
}

@media screen and (max-width:767px) {
	#the_title {
		font-size: 130%;
		margin:  0;
		padding: 1.5em 0.5em 0.5em;
	}
	
	#the_date,
	#the_catname {
		text-align: left;
		margin:  0 0 0 1.0em;
		padding: 0;
	}
}


@media screen and (max-width:767px) {
	#instagram-box {
		max-width: 450px;
	}
}



#the_eyecatch {
	margin:  0 auto;
	padding-left: 0;
}


/* ------------------
SNS 高さ揃え
------------------ */
#height-wrap {
	display: -webkit-flex; /* PC-Safari,iOS8.4	*/
	display:  -webkit-box; /* Android4.3		*/
	display:  -ms-flexbox; /* IE10				*/
	display:     -moz-box; /* Firefox21			*/
	display:         flex; /* others			*/
}

#height-wrap .e-child {
	background: #ff0000;
}



/* ------------------
トップページ
------------------ */
#index-gnavi {
	display: inline-block;
	padding: 3.75em 1.0em 0 0;
}

#index-gnavi li {
	display: inline-block;
	padding: 0.5em 2.0em 0.5em 2.5em;
	font-size: 0.8em;
	background: url(images/gnavi-arrow.png) no-repeat left center;
}

#index-gnavi li a {
	color: #183E86;
}

#index-gnavi li:hover {
	opacity: 0.75;
}



/* --- お知らせ一覧 --- */
@media screen and (min-width: 768px) {
	#ul_posts_list {
		list-style: none;
		margin:  0;
		padding: 0 0 3.0em;
	}
	
	#ul_posts_list li {
		clear: both;
		padding: 1.0em 0;
		background: url(images/news-arrow.png) no-repeat right center;
		border-bottom: 1px #707070 solid;
	}
	
	#ul_posts_list li div {
		display: inline-block;
		padding: 0.25em 0 0.15em;
	}
	
	#ul_posts_list li .ul_post_list_date {
		width:  6.0em;
		font-weight: bold;
		color: #002A7A;
	}
	
	#ul_posts_list li .ul_post_list_category {
		width:  8.0em;
		color: #ffffff;
		font-weight: bold;
		text-align: center;
		background: #002A7A;
		border-radius: 1.0em;
	}
	
	#ul_posts_list li .ul_post_list_title {
		padding-left: 1.0em;
	}
	
	#ul_posts_list li .ul_post_list_title a {
		color: #1A1311;
		text-decoration: none;
	}
	
	#ul_posts_list li .ul_post_list_title a:hover {
		text-decoration: underline;
	}
}


@media screen and (max-width: 767px) {
	#ul_posts_list {
		list-style: none;
		margin:  0;
		padding: 0 0 2.0em;
	}
	
	#ul_posts_list li {
		clear: both;
		margin:  0 0;
		padding: 2.0em 0 0.5em 1.0em;
		font-size: 80.0%;
		background: url(images/news-arrow.png) no-repeat right 0em bottom 0.75em;
		border-bottom: 1px #707070 solid;
		box-sizing: border-box;
	}
	
	#ul_posts_list li div {
		display: inline-block;
		padding: 0.25em 0 0.15em;
	}
	
	#ul_posts_list li .ul_post_list_date {
		width:  6.0em;
		font-weight: bold;
		color: #002A7A;
	}
	
	#ul_posts_list li .ul_post_list_category {
		width:  8.0em;
		color: #ffffff;
		font-weight: bold;
		text-align: center;
		background: #002A7A;
		border-radius: 1.0em;
	}
	
	#ul_posts_list li .ul_post_list_title {
		width:  100%;
		padding: 0.5em 3.0em 0 0;
	}
	
	#ul_posts_list li .ul_post_list_title a {
		color: #1A1311;
		text-decoration: none;
	}
	
	#ul_posts_list li .ul_post_list_title a:hover {
		text-decoration: underline;
	}
}



/* --- エリア内 主要公園の紹介 --- */
a.goto-download,
.park-introduction a,
.about-title       a {
	text-decoration: none;
}


a.goto-download:hover,
.park-introduction a:hover,
.about-title       a:hover {
	text-decoration: underline;
}


.about-title h3 {
	display: inline-block;
	padding: 0.15em 0 0 0;
	font-weight: bold;
	color: #002A7A;
	background: url(images/about-arrow.png) no-repeat left center;
}

.about-title-4 h3 {
	display: inline-block;
	padding: 0;
	font-weight: bold;
	color: #002A7A;
	line-height: 0.75 !important;
	background: url(images/about-arrow.png) no-repeat left center;
}

.about-title-4 span {
	font-size: 50%;
}




/* --- WPForms --- */
.wpforms-container {
	margin:  2.0em 1.0em;
}

.wpforms-container .wpforms-field-label {
	margin-top:    1.0em;
	margin-bottom: 0.5em;
}



/* --- wpcf7 --- */
.wpcf7 {
	color: #11384F;
}

.wpcf7 input[type=date],
.wpcf7 input[type=email],
.wpcf7 input[type=number],
.wpcf7 input[type=password],
.wpcf7 input[type=search],
.wpcf7 input[type=tel],
.wpcf7 input[type=text],
.wpcf7 input[type=url],
.wpcf7 select {
	width:  auto;
	margin:  0.15rem 0 0;
	padding: 0.25rem 0.5rem;
}

span.wpcf7-list-item {
	margin-top:0.25em !important;
	display: block    !important;
}

span.wpcf7-list-item-label {
	color: #11384F;
}


/* --- アンケート --- */
.sv-quest {
	color: #11384F;
	font-weight: bold;
}

.sv-quest span {
	margin:  0 1.0rem 0 0;
	padding: 0.15rem 1.0rem 0.25rem;
	color: #ffffff;
	font-weight: bold;
	background: #87001c;
	border-radius: 1.0em;
}



/* ----------------------------------------------
custom-post-list
---------------------------------------------- */
@media screen and (min-width:768px) {
	/* リスト全体のスタイル */
	.custom-post-list {
		list-style: none;
		padding: 0;
		margin:  0;
	}
	
	/* 各行の設定 */
	.post-item {
		border-bottom: 2px solid #707070;
		padding: 15px 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	/* 左側のグループ（日付・カテゴリ・タイトル） */
	.post-info-group {
		display: flex;
		align-items: center;
		flex: 1;
		min-width: 0; /* はみ出し防止 */
	}
	
	/* 日付 */
	.post-date {
		color: #11384F;
		font-size: 1.2rem;
		font-weight: bold;
		margin-right: 1.5em;
		flex-shrink: 0;
	}
	
	/* カテゴリー名 */
	.post-category {
		font-size: 0.85em;
		background: #11384F;
		color: #ffffff;
		line-height: 1.0;
		text-align: center;
		xwidth: 14.0em;
		padding: 0.25em 1.5em;
		border-radius: 0.75em;
		margin-right: 1.5em;
		flex-shrink: 0;
		white-space: nowrap;
	}
	
	/* 記事タイトル（リンク） */
	.post-title {
		font-size: 1.0rem;
		font-weight: bold;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis; /* 長い場合に...にする */
		transition: color 0.3s;
		margin-top: 0.75em;
	}
	
	.single .post-title {
		color: #183E86;
		font-size: 2.0rem;
		text-align: center;
	}
	
	body:has(.osaki-header) .post-title {
		color: #4B4A4A;
	}
	
	/* 右端のアイコン */
	.post-icon {
		margin-left: 1.0em;
	}
}


@media screen and (max-width:767px) {
	/* リスト全体のスタイル */
	.custom-post-list {
		list-style: none;
		padding: 0;
		margin: 0 0.75em;
	}
	
	/* 各行の設定 */
	.post-item {
		border-bottom: 2px solid #707070;
		padding: 15px 0;
		display: flex;
		justify-content: space-between; /* アイコンを右端に */
		align-items: center;
	}
	
	/* 左側のグループ（日付・カテゴリ・タイトルを包む） */
	.post-info-group {
		display: flex;
		flex-wrap: wrap; /* 中身の折り返しを許可 */
		flex: 1;
		min-width: 0;
	}
	
	/* 日付とカテゴリーを横並びで固定するための調整 */
	.post-date, .post-category {
		font-size: 0.8rem;
		margin-bottom: 0.25em; /* 下の表題との間隔 */
	}
	
	.post-date {
		color: #11384F;
		font-weight: bold;
		margin: 0.2em 1.0em 0 0;
	}
	
	.post-category {
		background: var(--e-global-color-b7b190f);
		color: #fff;
		font-size: 0.75em;
		padding: 0.15em 1.00em;
		border-radius: 2.0em;
		margin-right: auto; /* 右側に余白を作って表題を押し下げる準備 */
	}
	
	/* 記事タイトル（リンク）を強制的に改行させる */
	.post-title {
		display: block; /* ブロック要素にして横幅をいっぱいにする */
		width: 94%;	/* これで日付・カテゴリの後に改行が入る */
		text-decoration: none;
		color: #183E86;
		font-size: 1.2em;
		font-weight: 700;
		line-height: 1.5;
		text-align: center;
		transition: color 0.3s;
		margin-top: 0.5em;
	}
	
	body:has(.osaki-header) .post-title {
		color: #4B4A4A;
	}
	
	.post-info-group a.post-title {
		color: #333;
	}
	
	.post-title:hover {
		color: #0073aa;
	}
	
	/* 右端のアイコン */
	.post-icon {
		color: #11384F;
		font-size: 0.8rem;
		margin-left: 15px;
		flex-shrink: 0; /* アイコンが潰れないように固定 */
	}
	
		/* 1. 元のアイコン（＞）の形を消す */
	.js-post-icon {
		font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important; /* フォント指定 */
		font-weight: 900; /* Solidアイコンに必須 */
		visibility: hidden; /* 元の形を隠す */
		position: relative;
	}

	/* 2. 新しいアイコン（丸付き矢印）を重ねて表示 */
	.js-post-icon::before {
		content: "\f0a9"; /* fa-circle-arrow-right のユニコード */
		visibility: visible; /* これだけ表示させる */
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		font-size: 2.0rem; /* モバイルで見やすいよう少し大きく */
		color: #11384F;
	}
}


.post-meta {
	color: #002A7A;
	font-weight: bold;
}

.post-meta span {
	color: #FFFFFF;
	font-weight: bold;
	padding: 0.04em 0.75em 0.1em;
	background: #002A7A;
	border-radius: 1.0em;
}

hr.post-divider {
	border: none;
	border-top: 1px #000000 solid;
	height: 0;
}


body:has(.osaki-header) .post-meta {
	color: #4B4A4A;
	font-weight: bold;
}

body:has(.osaki-header) .post-meta span {
	color: #FFFFFF;
	font-weight: bold;
	padding: 0.04em 0.75em 0.1em;
	background: #E75117;
	border-radius: 1.0em;
}

body:has(.osaki-header) hr.post-divider {
	border: none;
	border-top: 1px #E75117 solid;
	height: 0;
}



/* --- もっと見る → --- */
.read-more-arrow p a {
	display: flex;
	align-items: center;	/* 上下中央揃え */
	gap: 0.5em;				/* テキストと画像のすき間 */
	text-decoration: none !important;
}

.read-more-arrow p a:hover {
	text-decoration: none !important;
}



/* ---------- */
.post-list-ultimate {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ult-post-item {
	border-bottom: 1px solid #eee;
	padding: 25px 0;
	display: flex;
	align-items: flex-start;
}

.ult-post-item img {
	   aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}

/* 左端アイキャッチ (PC時: 188px) */
.ult-thumb-link {
	flex-shrink: 0;
	width: 188px;
	height: 188px;
	margin-right: 25px;
}

.ult-thumb-img, .ult-thumb-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
	background-color: #fff;
}

.ult-thumb-placeholder {
	border: 1px solid #eee;
}

/* 中央テキストエリア */
.ult-info-group {
	flex: 1;
	min-width: 0;
}

.ult-meta {
	margin-top:  1.0em;
	margin-bottom: 8px;
}

.ult-date {
	font-size: 1.4rem;
	font-weight: bold;
	margin-right: 15px;
}

.ult-category {
	color: #ffffff;
	font-size: 1.0rem;
	background: #002A7A;
	padding: 3px 10px;
	border-radius: 1.0em;
}

body:has(.osaki-header) .ult-category {
	color: #4B4A4A;
	border: 1px solid #4B4A4A;
	background: #FFFFFF;
}

.ult-title {
	display: block;
	text-decoration: none;
	font-weight: bold;
	font-size: 1.1rem;
	line-height: 1.4;
	margin-bottom: 10px;
}

body:has(.osaki-header) .ult-title {
	color: #4B4A4A;
}

.ult-excerpt {
	line-height: 1.6;
}

/* 右端アイコン画像 (51px) */
.ult-right-icon {
	flex-shrink: 0;
	width: 51px;
	height: 51px;
	margin-left: 20px;
	align-self: center; /* アイコンのみ中央に配置 */
}

.ult-right-icon img {
	width: 100%;
	height: auto;
}

body:has(.osaki-header) .ult-right-icon img {
	filter: grayscale(100%);
}



/* モバイル対応 (max-width: 767px) */
@media (max-width: 767px) {
	/* 1. 全体のパディング調整 */
	.ult-post-item {
		padding: 15px 0;
	}
	
	/* 2. アイキャッチを 80px角に固定（はみ出しカット維持） */
	.ult-thumb-link {
		width:  80px !important;
		height: 80px !important;
		margin-right: 15px;
	}

	/* 3. 日付とカテゴリーを縦に並べる設定 */
	.ult-meta {
		display: flex;
		flex-direction: column; /* 縦並びに変更 */
		align-items: flex-start; /* 左揃え */
		margin-bottom: 5px;
	}

	.ult-date {
		margin-right: 0;	  /* 横の間隔を消す */
		margin-bottom: 4px;   /* 下（カテゴリー）との間隔を作る */
		font-size: 0.75rem;
	}

	.ult-category {
		display: inline-block; /* 幅をテキストに合わせる */
		font-size: 0.7rem;
	}

	/* 4. 表題と抜粋の調整 */
	.ult-title {
		font-size: 1rem;
		margin-bottom: 8px;
	}

	.ult-excerpt {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2; /* 2行で省略 */
		overflow: hidden;
		font-size: 0.85rem;
	}

	/* 5. 右端アイコンを非表示 */
	.ult-right-icon {
		display: none;
	}
}

/* PC・基本設定 */
.ult-thumb-link {
	flex-shrink: 0;
	width: 188px;
	height: 188px;
	margin-right: 25px;
	overflow: hidden; /* 枠外を隠す */
	display: block;
}

.ult-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;	/* アスペクト比を維持して枠を埋める */
	object-position: center; /* 中央を基準にする */
}

/* モバイル対応 (max-width: 767px) */
@media (max-width: 767px) {
	.ult-thumb-link {
		/* 額縁そのものを80pxの正方形に固定 */
		width: 80px !important;
		height: 80px !important;
		margin-right: 15px;
	}

	.ult-thumb-img {
		/* 中身の画像は常に「枠いっぱい」かつ「はみ出しカット」を維持 */
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* アイコンは無し */
	.ult-right-icon {
		display: none;
	}
}

/* --- pagination --- */
.custom-pagination {
	margin-top: 40px;
	text-align: center;
}

.custom-pagination ul {
	display: inline-flex;
	list-style: none;
	padding: 0;
	gap: 8px;
}

.custom-pagination li a, 
.custom-pagination li span {
	display: block;
	padding: 0.5em 1.0em;
	border: #ffffff;
	text-decoration: none;
	color: #11384F;
	border-radius: 2.0em;
	transition: all 0.3s;
}

body:has(.osaki-header) .custom-pagination li a,
body:has(.osaki-header) .custom-pagination li span {
	color: #4B4A4A;
}


.custom-pagination li span.current {
	background-color: #C0CBD0; /* 現在のページの色 */
	border-color: #C0CBD0;
}

.custom-pagination li a:hover {
	background-color: #f0f0f0;
}

.custom-pagination ul {
	display: inline-flex;
	list-content: none;
	padding: 0;
	gap: 5px;
	flex-wrap: wrap; /* ボタンが増えても折り返して表示させる */
	justify-content: center;
}

.custom-pagination li span.dots {
	padding: 10px 8px; /* 「...」の部分はボタンより少し狭く */
	border: none;	  /* 枠線を消してスッキリさせる */
	color: #888;
}

/* モバイル時：ボタンを少し小さくして収まりを良くする */
@media (max-width: 767px) {
	.custom-pagination li a, 
	.custom-pagination li span {
		padding: 8px 12px;
		font-size: 0.85rem;
	}
}


.custom-list ul {
	margin:  0;
	padding-inline-start: 1.5em !important;
}



.app-grid p {
	margin-block-end: 0;
}




@media (min-width: 768px) {
	/* --- 右下に白い三角形のある青カコミ --- */
	.btn-outline .elementor-heading-title {
		display: inline-block;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative; /* 三角形の基準点にする */
		width:  8.70em;
		height: 4.50em;
		padding: 0;
		background-color: #294C8C;
		color: #ffffff;
		font-size: 1.3em;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
	}
	
	/* 右下の白い直角三角形 */
	.btn-outline .elementor-heading-title::after {
		content: "";
		position: absolute;
		right:  2px;
		bottom: 2px;
		
		/* ボーダーで直角三角形を作る */
		border-style: solid;
		border-width: 0 0 10px 10px; /* サイズ調整：左から「上 右 下 左」 */
		border-color: transparent transparent #ffffff transparent;
	}
}

@media (max-width: 767px) {
	.btn-outline .elementor-heading-title {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative; /* 三角形の基準点にする */
		width:  8.0em;
		height: 3.0em;
		padding: 0;
		background-color: #294C8C;
		color: #ffffff;
		font-size: 1.0em;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		border: 1px #294C8C solid;
		border-radius: 2.0em;
	}
}



/* --- お祭り関連の表 --- */
/* ■ 表１ */
#fes-table-1 table {
	border-collapse: collapse;
}

#fes-table-1 table tr th {
	border: 1px #ADADAD solid;
	background: #F3F3F3;
	text-align: center;
	vertical-align: middle;
}

#fes-table-1 table tr td {
	border: 1px #ADADAD solid;
	background: #ffffff;
	text-align: center;
	vertical-align: middle;
}

#fes-table-1 table tr.row-2 td {
	padding-top:    1.5em;
	padding-bottom: 1.5em;
}



/* ■ 表２ */
#fes-table-2 table {
	border-collapse: collapse;
}

#fes-table-2 table tr th {
	border: 1px #ADADAD solid;
	background: #F3F3F3;
	text-align: center;
	vertical-align: middle;
}

#fes-table-2 table tr td {
	border: 1px #ADADAD solid;;
	background: #ffffff;
	text-align: center;
	vertical-align: middle;
}

#fes-table-2 table tr.row-4 td.column-2,
#fes-table-2 table tr.row-7 td.column-2 {
	border-bottom: 1px #ADADAD dashed !important;
}

#fes-table-2 table tr.row-5 td.column-2,
#fes-table-2 table tr.row-8 td.column-2 {
	border-top: none !important;
}



/* ■ 表３ */
@media screen and (min-width:768px) {
	#fes-table-3 table {
		border-collapse: collapse;
	}
	
	#fes-table-3 table tr th {
		border: 1px #183E86 solid;
		background: #eeeeee;
	}
	
	#fes-table-3 table tr td {
		border: 1px #183E86 solid;;
		background: #ffffff;
		color: #183E86;
	}
	
	#fes-table-3 table td img {
		width:  min(413px, 100%);
		height: auto;
	}
	
	#fes-table-3 table tr td {
		padding-left: 4.0em;
	}
}


@media screen and (max-width:767px) {
	#fes-table-3 table {
		border-collapse: collapse;
	}
	
	#fes-table-3 table tr th {
		border: 1px #183E86 solid;
		background: #eeeeee;
	}
	
	#fes-table-3 table tr td {
		border: 1px #183E86 solid;;
		background: #ffffff;
		color: #183E86;
	}
	
	#fes-table-3 table td img {
		width:  100%;
		height: auto;
	}
	
	#fes-table-3 table tr td {
		font-size: 0.75em;
	}
}



/* ================================================================================================
　おおさき公園
================================================================================================ */
.header-name:hover, .gnavi-about:hover, .gnavi-event:hover, .gnavi-news:hover, .gnavi-zoo:hover, .gnavi-contact:hover, .gnavi-x:hover, .gnavi-instagram:hover {
	opacity: 0.7;
}



.footer-wrap {
	/* ellipse(横の半径 縦の半径 at 中心座標X 中心座標Y)
	   横幅いっぱい(100%)、高さもいっぱい(100%)の楕円を、
	   ボックスの下端中央(50% 100%)に配置して切り抜きます。
	*/
	clip-path: ellipse(90% 100% at 50% 100%);
}



/* 上部：お山部分 */
.footer-dome {
	height: 6.0vw;
	
	/* 下端中央を中心とした楕円で切り抜き */
	clip-path: ellipse(52% 100% at 50% 100%);
}

.phone-number .elementor-heading-title {
	position: relative;
}

.phone-number .elementor-heading-title i {
	position: relative;
	font-size: 65%;
	top:  -0.15em;
	left: +0.25em;
}


@media screen and (min-width:768px) {
	.footer-menu {
		font-size: min(16px, 1.11111vw);
		color: #414833;
		text-align: center;
	}
	
	.footer-menu a {
		color: #414833;
		text-decoration: none;
	}
	
	.footer-menu a:hover {
		text-decoration: underline;
	}
	
	.footer-menu i {
		color: #E75117;
	}
	
	
	.copyright-box {
		font-size: 0.8125em;
		font-weight: bold;
	}
}


@media screen and (max-width:767px) {
	.footer-menu {
		font-size: 3.1vw;
		color: #414833;
		line-height: 1.75;
		text-align: center;
	}
	
	.footer-menu a {
		color: #414833;
		text-decoration: none;
	}
	
	.footer-menu a:hover {
		text-decoration: underline;
	}
	
	.footer-menu i {
		color: #E75117;
	}
	
	
	.copyright-box {
		font-size: 0.6em;
		font-weight: bold;
	}
}



/* ----------------------------------------------
osaki-post-list
---------------------------------------------- */
@media screen and (min-width:768px) {
	/* リスト全体のスタイル */
	.osaki-post-list {
		list-style: none;
		padding: 0;
		margin:  0;
	}
	
	/* 各行の設定 */
	.osaki_post-item {
		border-bottom: 2px solid #707070;
		padding: 15px 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	/* 左側のグループ（日付・カテゴリ・タイトル） */
	.osaki_post-info-group {
		display: flex;
		align-items: center;
		flex: 1;
		min-width: 0; /* はみ出し防止 */
	}
	
	/* 日付 */
	.osaki_post-date {
		margin-right: 1.5em;
		flex-shrink: 0;
	}
	
	/* カテゴリー名 */
	.osaki_post-category {
		font-size: 0.85em;
		background: #ffffff;
		color: #4B4A4A;
		line-height: 1.0;
		text-align: center;
		xwidth: 14.0em;
		padding: 0.25em 1.5em;
		border: 1px #4B4A4A solid;
		border-radius: 0.75em;
		margin-right: 1.5em;
		flex-shrink: 0;
		white-space: nowrap;
	}
	
	/* 記事タイトル（リンク） */
	.osaki_post-title {
		font-size: 1.0rem;
		font-weight: bold;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis; /* 長い場合に...にする */
		transition: color 0.3s;
		margin-top: 0.25em;
	}
	
	.osaki_post-title {
		color: #4B4A4A !important;
		text-decoration: none !important;
	}
	
	.osaki_post-title:hover {
		text-decoration: underline !important;
	}
	
	.single .osaki_post-title {
		font-size: 2.0rem;
	}
	
	/* 右端のアイコン */
	.osaki_post-icon {
		margin-left: 1.0em;
	}
}

@media screen and (max-width:767px) {
	/* リスト全体のスタイル */
	.osaki-post-list {
		list-style: none;
		padding: 0;
		margin: 0 0.75em;
	}
	
	/* 各行の設定 */
	.osaki_post-item {
		border-bottom: 2px solid #707070;
		padding: 15px 0;
		display: flex;
		justify-content: space-between; /* アイコンを右端に */
		align-items: center;
	}
	
	/* 左側のグループ（日付・カテゴリ・タイトルを包む） */
	.osaki_post-info-group {
		display: flex;
		flex-wrap: wrap; /* 中身の折り返しを許可 */
		flex: 1;
		min-width: 0;
	}
	
	/* 日付とカテゴリーを横並びで固定するための調整 */
	.osaki_post-date, .osaki_post-category {
		font-size: 0.8rem;
		margin-bottom: 0.25em; /* 下の表題との間隔 */
	}
	
	.osaki_post-date {
		color: #4B4A4A;
		font-weight: bold;
		margin: 0.2em 1.0em 0 0;
	}
	
	.osaki_post-category {
		background: #ffffff;
		color: #4B4A4A;
		font-size: 0.75em;
		padding: 0.15em 1.00em;
		border: 1px #4B4A4A solid;
		border-radius: 2.0em;
		margin-right: auto; /* 右側に余白を作って表題を押し下げる準備 */
	}
	
	/* 記事タイトル（リンク）を強制的に改行させる */
	.osaki_post-title {
		display: block; /* ブロック要素にして横幅をいっぱいにする */
		width: 94%;	/* これで日付・カテゴリの後に改行が入る */
		text-decoration: none;
		color: #333;
		font-size: 0.8em;
		font-weight: 500;
		line-height: 1.5;
		transition: color 0.3s;
	}
	
	.osaki_post-title {
		color: #4B4A4A !important;
		text-decoration: none !important;
	}
	
	.osaki_post-info-group a.post-title {
		color: #333;
	}
	
	.osaki_post-title:hover {
		color: #0073aa;
	}
}



.osaki-about-dome {
	height: min(194px, 13.47222vw);
	width:  auto;
}



/* --- おおさき公園からのお知らせ --- */
.osaki-notice .post-grid-inner .title {
	font-size: 1.5em !important;
	font-weight: bold !important;
}

.osaki-notice  .post-grid-inner .post-grid-excerpt {
	font-size: 0.75em !important;
}

.osaki-notice img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

@media screen and (min-width:768px) {
	.osaki-notice article.wpcap-post:nth-child(3n) {
		padding-right: 50px;
	}
	
	.osaki-notice article.wpcap-post {
		padding-right: 1.0em;
		border-right:  none;
	}
}



/* --- こども動物園 --- */
@media screen and (min-width: 768px) {
	.zoo-table table {
		border-collapse: separate; 
		border-spacing: 0 3px; 
	}
	
	.zoo-table table td {
		border: 1px #E75217 solid;
	}
	
	.zoo-table table td:nth-child(1) {
		color: #ffffff;
		font-size: 1.4em;
		text-align: center;
		vertical-align: middle;
		padding-left:  1.5em;
		padding-right: 1.5em;
		background: #E75217;
	}
	
	.zoo-table table td:nth-child(2) {
		font-size: 1.4em;
		font-weight: bold;
		text-align: center;
		vertical-align: middle;
		background: #FFFFFF;
	}
	
	.zoo-table table td:nth-child(2) span {
		font-size: 0.5em;
		font-weight: normal;
	}
	
	.zoo-table table tr:nth-child(2) td:nth-child(2) {
		text-align: left;
	}
	
	
	.dobutsu-hiroba-time span {
		color: #E75217;
		font-size: 2.0em;
		padding-top: 0.25em;
	}
}

@media screen and (max-width: 767px) {
	.zoo-table table {
		border-collapse: separate; 
		border-spacing: 0 3px; 
	}
	
	.zoo-table table td {
		border: 1px #E75217 solid;
	}
	
	.zoo-table table td:nth-child(1) {
		color: #ffffff;
		font-size: 1.0em;
		text-align: center;
		vertical-align: middle;
		xpadding-left:  1.0em;
		xpadding-right: 1.0em;
		background: #E75217;
	}
	
	.zoo-table table td:nth-child(2) {
		font-size: 1.0em;
		font-weight: bold;
		text-align: center;
		vertical-align: middle;
		background: #FFFFFF;
	}
	
	.zoo-table table td:nth-child(2) span {
		font-size: 0.6em;
		font-weight: normal;
	}
	
	.zoo-table table tr:nth-child(2) td:nth-child(2) {
		text-align: left;
	}
	
	
	.dobutsu-hiroba-time span {
		color: #E75217;
		font-size: 2.0em;
		padding-top: 0.25em;
	}
}




/* --- どうぶつひろば --- */
@media screen and (min-width: 768px) {
	.hiroba-table table {
		border-collapse: collapse;
	}
	
	.hiroba-table table td {
		border: 1px #E75217 solid;
	}
	
	.hiroba-table table tr:nth-child(even) td {
		border-bottom: 7px #E75217 double;
	}
	
	.hiroba-table table tr:nth-child(even) td:nth-child(1) {
		border-bottom: 3px #FFF4E0 solid;
	}
	
	
	.hiroba-table table td:nth-child(1) {
		color: #ffffff;
		text-align: center;
		background: #E75217;
	}
	
	.hiroba-table table tr:nth-child(1) td:nth-child(1),
	.hiroba-table table tr:nth-child(3) td:nth-child(1) {
		vertical-align: bottom;
	}
	
	.hiroba-table table tr:nth-child(2) td:nth-child(1),
	.hiroba-table table tr:nth-child(4) td:nth-child(1) {
		vertical-align: top;
	}
	
	.hiroba-table table td:nth-child(2),
	.hiroba-table table td:nth-child(3) {
		vertical-align: middle;
		background: #FFFFFF;
	}
}


@media screen and (max-width: 767px) {
	.hiroba-table table {
		border-collapse: collapse;
	}
	
	.hiroba-table table td {
		border: 1px #E75217 solid;
		background: #FFFFFF;
	}
	
	.hiroba-table table tr:nth-child(3) td,
	.hiroba-table table tr:nth-child(6) td {
		border-bottom: 7px #E75217 double;
		background: #FFFFFF;
	}
	
	.hiroba-table table tr:nth-child(5) td {
		background: #FFFFFF;
	}
	
	.hiroba-table table tr:nth-child(1) td,
	.hiroba-table table tr:nth-child(4) td,
	.hiroba-table table tr:nth-child(7) td {
		color: #ffffff;
		text-align: center;
		background: #E75217;
	}
}



.access-text ol {
	margin:  0;
	padding-inline-start: 1.5em !important;
}



/* --- カテゴリーのリスト(PC) --- */
@media (min-width: 768px) {
	.custom-cat-container {
		display: flex;
		align-items: center;
	}
}

/* --- カテゴリーのリスト(MB) --- */
@media (max-width: 767px) {
	.custom-cat-container {
		display: flex;
		clear: both;
		xalign-items: center;
		font-size: 0.6em;
		margin-left:  1.0em;
		margin-right: 1.0em;
		flex-wrap: wrap;
	}
	
	.cat-label {
		display: block;
		width:  13%;
		white-space: nowrap;
		float: left;
	}
}
.custom-cat-list {
	float: right;
	width:  84%;
	list-style: none; /* 点を消す */
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

.custom-cat-list li {
	display: inline-block;
	margin:  0 0 0.5em 1.0em;
	padding: 0.25em 1.0em;
	font-size: 0.85em;
	white-space: nowrap;
	background: #c0cbd0;
	border: 1px #c0cbd0 solid;
	border-radius: 1.0em;
}

.custom-cat-list li:hover,
.custom-cat-list li.current {
	background: #ffffff;
	border: 1px #11384F solid;
}



.contents-area a,
.page-content  a {
	text-decoration: none !important;
}

.contents-area a:hover,
.page-content  a:hover {
	text-decoration: underline !important;
}



.elementor-heading-title a {
	text-decoration: none !important;
}

.elementor-heading-title a:hover {
	text-decoration: none !important;
}



/* --- figure タグの下部に 1em の隙間が空くelementorの仕様を抑止 --- */
:where(figure) {
	margin: 0 !important;
}

.c-kodomo:hover,
.c-more:hover {
	opacity: 0.7;
}



/* --- おおさき公園の「イベント」一件表示 --- */
/* お知らせショートコードの外枠 */
.custom-news-box {
	max-width: 47vw;
	margin: 0 auto;
	display: flex;
	gap: 20px;
	align-items: flex-start;
	padding: 0;
	border: 0px solid #ececec;
	background: #fff;
}

.custom-news-box .news-title {
	all: unset;
	font-size: 1.8em;
	font-weight: bold;
}

.custom-news-box .news-title::before {
	all: unset;
}


@media screen and (max-width: 767px) {
	.custom-news-box {
		max-width: 90vw;
	}
}


/* 左側：アイキャッチ画像 */
.news-image {
	flex: 0 0 270px; /* 画像の横幅を固定気味に */
}

.news-image img {
	width:   100%;
	height:  auto;
	display: block;
	aspect-ratio: 210 / 297;
	object-fit: cover;
}

/* 右側：テキストコンテンツ */
.news-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-self: stretch; 
}

.news-title {
	margin: 0 0 0.5em 0;
	font-size: 1.375rem;
	line-height: 1.4;
	font-weight: 700;
}


/* お問い合わせボタン */
@media screen and (min-width: 768px) {
	.news-excerpt {
		margin: 1.0em 0 0;
		font-size: 1.0rem;
		color: #666;
		line-height: 1.6;
	}
	
	.news-btn {
		display: inline-block;
		align-self: flex-start;
		background: #E75117;
		color: #ffffff !important;
		padding: 0.625em 1.25em 0.625em 3.0em;
		text-decoration: none;
		text-align: center;
		border-radius: 3.0em;
		font-size: clamp(8px, 1.32vw, 19px);
		font-weight: 700;
		
		/* 自分の上に自動で大きな余白を作ることで、一番下へ押し下げる */
		margin-top: auto; 
		/* 右寄せにする */
		align-self: flex-end; 
	}
}
@media screen and (max-width: 767px) {
	.news-excerpt {
		margin: 1.0 0 1.0em;
		font-size: 1.0rem;
		color: #666;
		line-height: 1.6;
	}
	
	.news-btn {
		display: inline-block;
		background: #E75117;
		color: #ffffff !important;
		padding: 0.625em 1.25em;
		text-decoration: none;
		text-align: center;
		border-radius: 3.0em;
		font-size: clamp(16px, 1.32vw, 19px);
		font-weight: 700;
		
		/* 自分の上に自動で大きな余白を作ることで、一番下へ押し下げる */
		margin-top: auto; 
		/* 右寄せにする */
		align-self: center;
	}
}

.page-content a.news-btn:hover {
	opacity: 0.7;
	text-decoration: none !important;
}

/* スマホ対応：480px以下で縦並び */
@media screen and (max-width: 480px) {
	.custom-news-box {
		flex-direction: column;
	}
	.news-image {
		flex: 0 0 100%;
		width: 100%;
	}
}



/* ============================
　GoTop アイコン 
============================ */
/* --- おおさき公園のヘッダが存在しないとき、MBではちいさいアイコンにする --- */
@media screen and (max-width: 767px) {
	body:has(:not(.osaki-header)) #wpfront-scroll-top-container img {
		content: url('https://www.saitama-park.co.jp/gr8/wp-content/uploads/2026/03/gotop_mb.png') !important;
		width: 60px;
		height: auto;
	}
}

/* --- おおさき公園のヘッダが存在するとき、GoTopもおおさき色にする --- */
@media screen and (min-width: 768px) {
	body:has(.osaki-header) #wpfront-scroll-top-container img {
		content: url('https://www.saitama-park.co.jp/gr8/wp-content/uploads/2024/03/gotop.png') !important;
	}
}

@media screen and (max-width: 767px) {
	body:has(.osaki-header) #wpfront-scroll-top-container img {
		content: url('https://www.saitama-park.co.jp/gr8/wp-content/uploads/2026/03/gotop-osaki_mb.png') !important;
		width: 39px;
		height: auto;
	}
}





/* ブラウザ幅が767px以下のとき、「右から80px」→「右から20px」 */
@media screen and (max-width: 767px) {
	#wpfront-scroll-top-container {
		right: 20px !important;
	}
}



/* --- ページネーション --- */
.custom-post-pagination {
	margin:  0 auto;
	padding: 5.0em 10em 0;
	xborder-top: 1px solid #11384F;
	padding-top: 2.0em;
	background: #ffffff;
	max-width: 1440px;
}

.pagination-top {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-bottom: 30px;
}

.nav-box {
	flex: 1;
	padding: 10px 20px;
}

/* 中央の縦線 */
.nav-box.prev {
	text-align: left;
	border-right: 1px solid #002A7A; 
}

.nav-box.next {
	text-align: right;
}

.nav-label {
	display: block;
	font-size: 0.9em;
	color: #002A7A;
	margin-bottom: 8px;
}

body:has(.osaki-header) .nav-label {
	color: #4B4A4A;
}


.nav-title {
	display: block;
	font-weight: bold;
	text-align: left;
	color: #002A7A;
}

body:has(.osaki-header) .nav-title {
	color: #4B4A4A;
}

.pagination-bottom {
	text-align: center;
	margin-top: 20px;
	
	display: none !important;
}

.archive-link {
	display: inline-block;
	padding: 0.5em 1.25em;
	border: 1px solid #11384F;
	text-decoration: none;
	color: #FFFFFF !important;
	background: #11384F;
	border-radius: 2.0em;
}


body:has(.osaki-header) .archive-link  {
	border: 1px solid #E75117;
	background: #E75117;
}


.archive-link:active,
.archive-link:visited,
.archive-link:hover,
.archive-link:focus {
	color: #FFFFFF;
}

.archive-link:hover {
	opacity: 0.7;
}


.pagination-bottom {
	text-align: center; /* 親要素で中央寄せ */
	margin-top: 1.875em;
	padding-bottom: 4.0em;
}

.archive-link {
	display: inline-flex; /* inline-blockから変更 */
	align-items: center;
	justify-content: center; /* テキストを中央へ */
	position: relative; /* アイコンの絶対配置の基準にする */
	
	/* カコミのサイズ調整 */
	min-width: 20.0em; /* 最低限の幅を持たせる */
	padding: 0.75em 3.0em; /* 左右にアイコン用の広いスペースを確保 */
	
	text-decoration: none;
}

/* 一覧へテキスト */
.archive-text {
	font-weight: bold;
}

/* 右端の矢印アイコン */
.archive-icon {
	position: absolute;
	right: 1.5em;
}


@media screen and (max-width:767px) {
	.custom-post-pagination {
		padding: 3.0em 0 0;
	}
	.custom-post-header {
		margin:  0;
		padding: 5.0em 0 2.0em;
	}
}



.single .page-header {
	text-indent: -9999px;
}



.tag-links a {
	pointer-events: none;	/* クリックを無効化 */
	cursor: default;		/* カーソルを標準に戻す */
	text-decoration: none;	/* 下線を消す（任意） */
	color: inherit;			/* 文字色を周囲に合わせる（任意） */
}



/* --- シングル記事下部の「トップページへもどる」 --- */
#midoriku-gotop .back-to-list {
	width: fit-content;
	text-align: center;
	margin:  0 auto;
	padding: 0.5em 1.0em;
	background: #183E86;
	border: 1px #183E86 solid;
	border-radius: 2.0em;
}

#midoriku-gotop .back-to-list a {
	color: #ffffff;
	font-weight: bold;
}


#osaki-gotop .back-to-list {
	width: fit-content;
	text-align: center;
	margin:  0 auto 3.0em;
	padding: 0.5em 1.0em;
	background: #E75117;
	border: 1px #E75117 solid;
	border-radius: 2.0em;
}

#osaki-gotop .back-to-list a {
	color: #ffffff;
	font-weight: bold;
}


.back-to-list:hover {
	opacity: 0.7;
}
