@charset "utf-8";
/* *************************************
 * 子育て支援パスポート
 * *************************************/
* {
	box-sizing: border-box;
}
body {
	margin: 0;
/*	font-family: sans-serif;*/
	word-break: break-all;
}
header.site-header {
	position: fixed;
	/* ヘッダーを固定する */
	top: 0;
	/* 上部から配置の基準位置を決める */
	left: 0;
	/* 左から配置の基準位置を決める */
	width: 100%;
	/* ヘッダーの横幅を指定する */
	height: 100px;
	/* ヘッダーの高さを指定する */
	background: #fff;
	z-index: 9999;
}
.header-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	background: #fff;
	align-items: center;
	flex-wrap: wrap;
}
.logo img {
	height: 100px;
}
.main-nav {
	margin-left: auto;
	background: #fff;
}
.main-nav ul {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
.main-nav a {
	display: block;
	text-decoration: none;
	color: #333;
	font-weight: bold;
	font-family: 'Kosugi Maru';
	font-size: 1rem;
	height: 4em;
	line-height: 3em;
	padding: 10px;
	transition: all 0.5s ease 0s;
}
.main-nav a:hover {
	color: #fff;
	background: #f8b547;
}
@media (max-width: 768px) {
	.main-nav a {
		height: 3em;
		line-height: 2em;
	}
}
.search-box {
	position: relative;
	margin-left: 20px;
}
.search-toggle {
	font-size: 20px;
	background: none;
	border: none;
	cursor: pointer;
}
.hamburger {
	display: none;
	width: 30px;
	height: 25px;
	position: relative;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 1001;
}
.hamburger span {
	position: absolute;
	height: 3px;
	width: 100%;
	background: #f8b547;
	border-radius: 2px;
	left: 0;
	transition: all 0.3s ease;
}
.hamburger span:nth-child(1) {
	top: 0;
}
.hamburger span:nth-child(2) {
	top: 11px;
}
.hamburger span:nth-child(3) {
	top: 22px;
}
/* メニューが開いた状態でアイコン変形 */
.hamburger.active span:nth-child(1) {
	transform: rotate(45deg);
	top: 11px;
}
.hamburger.active span:nth-child(2) {
	opacity: 0;
}
.hamburger.active span:nth-child(3) {
	transform: rotate(-45deg);
	top: 11px;
}
@media (max-width: 768px) {
	.hamburger {
		display: block;
		margin-left: auto;
		margin-top: -4.5em;
		margin-bottom: 2.5em;
	}
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
	.header-inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.main-nav {
		display: none;
		width: 100%;
		overflow: hidden;
		max-height: 0;
		pointer-events: none;
		opacity: 0;
		transition: opacity .3s linear;
	}
	.main-nav.active {
		max-height: 500px;
		/* メニュー項目数に応じて調整 */
		pointer-events: auto;
		opacity: 1;
		display: flex;
		flex-direction: column;
	}
	.main-nav ul {
		flex-direction: column;
		width: 100%;
		gap: 10px;
		padding: 10px 0;
	}
	.search-box {
		position: absolute;
		top: 30px;
		right: 4em;
	}
	.search-form input[type="text"] {
		width: 70%;
	}
}
/* 検索ボタン（虫眼鏡）位置 */
.search-box {
	z-index: 1000;
}
/* 親ボタンのスタイル */
.search-button {
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background-color: #eee;
	cursor: pointer;
	position: relative;
	padding: 0;
	transition: background-color 0.3s ease;
}
.search-button:hover {
	background-color: #ccc;
}
/* 虫眼鏡アイコン部分 */
.search-button .icon {
	width: 20px;
	height: 20px;
	border: 3px solid #333;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	box-sizing: border-box;
}
/* 柄（ハンドル） */
.search-button .icon::after {
	content: "";
	position: absolute;
	width: 10px;
	height: 3px;
	background-color: #333;
	top: 14px;
	left: 14px;
	transform: rotate(45deg);
	transform-origin: top left;
}
/* 全画面検索フォーム */
.search-form {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
/*	padding: 40px 20px;*/
	padding: 20px;
	background: rgba(204, 204, 204, 1);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	opacity: 0;
	transform: translateY(-100%);
	transition: all 0.4s ease;
	z-index: 999;
	visibility: hidden;
	pointer-events: none;
	text-align: center;
	border-radius:30px;
}
@media (max-width: 768px) {
	.search-form {
		padding: 20px;
/*		padding: 100px 20px 40px 20px;*/
	}
}
.search-box.active .search-form {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
	pointer-events: auto;
	margin-top:100px;
}
/* 入力フィールドとボタンのサイズ調整 */
.search-form input[type="text"] {
	width: 60%;
	max-width: 400px;
	padding: 10px;
	font-size: 16px;
}
.search-form button {
	padding: 10px 20px;
	margin-top: 20px;
	margin-left: 10px;
	font-size: 16px;
}

.search-close {
	position: absolute;
	top: 15px;
	right: 20px;
	background: none;
	border: none;
	font-size: 24px;
	cursor: pointer;
	color: #333;
	z-index: 1001;
}
/* スマホ対応 */
@media (max-width: 768px) {
	.search-form button {
		margin-left: auto;
		margin-right: 10px;
		padding: 10px 20px 10px 10px;
	}
	.search-form input[type="text"] {
		width: 70%;
	}
	.search-close {
		top: 60px;
	}
}
.container {
	display: block;
	margin-top: 130px;
}
.pass_top {
	margin-top: 130px;
}
/* -----------------------------------------------
 * 背景画像
 * ----------------------------------------------- */
.floating-circles {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	z-index: -1;
	pointer-events: none;
}
.floating-circles .circle {
	position: absolute;
	border-radius: 50%;
	opacity: 0.3;
	mix-blend-mode: screen;
	transition: transform 3s ease-in-out, opacity 3s ease-in-out;
}
.floating-circles .circle:nth-child(1) {
	background: #cceeff;
	width: 80px;
	height: 80px;
}
.floating-circles .circle:nth-child(2) {
	background: #ffccff;
	width: 100px;
	height: 100px;
}
.floating-circles .circle:nth-child(3) {
	background: #ccffcc;
	width: 60px;
	height: 60px;
}
.floating-circles .circle:nth-child(4) {
	background: #ffeebb;
	width: 90px;
	height: 90px;
}
.floating-circles .circle:nth-child(5) {
	background: #e0ccff;
	width: 110px;
	height: 110px;
}
.floating-circles .circle:hover {
	transform: scale(1.5) !important;
	transition: transform 0.3s ease;
	z-index: 1;
}
.floating-marus {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	z-index: -1;
	pointer-events: none;
}
.floating-marus .maru {
	position: absolute;
	border-radius: 50%;
	opacity: 0.3;
	mix-blend-mode: screen;
	transition: transform 3s ease-in-out, opacity 3s ease-in-out;
}
.floating-marus .maru:nth-child(1) {
	background: #cceeff;
	width: 80px;
	height: 80px;
}
.floating-marus .maru:nth-child(2) {
	background: #ffccff;
	width: 100px;
	height: 100px;
}
.floating-marus .maru:nth-child(3) {
	background: #ccffcc;
	width: 60px;
	height: 60px;
}
.floating-marus .maru:nth-child(4) {
	background: #ffeebb;
	width: 90px;
	height: 90px;
}
.floating-marus .maru:nth-child(5) {
	background: #e0ccff;
	width: 110px;
	height: 110px;
}
.floating-marus .maru:hover {
	transform: scale(1.5) !important;
	transition: transform 0.3s ease;
	z-index: 1;
}
/* -----------------------------------------------
 * ボタン画像（子育て情報）
 * ----------------------------------------------- */
.refine {
	display: block;
	max-width: 1200px;
	margin: 2em auto;
	text-align: center;
}
input[name='refine-btn'] {
	position: relative;
	display: none;
}
.refine-btn {
	border-radius: 100px;
	display: inline-block;
	border: 1px solid;
	/*	width: 200px;*/
	width: 33%;
	padding: 15px;
	box-sizing: border-box;
	background: #fff;
	/*	color: #6fa1ff;*/
	text-decoration: none;
	text-align: center;
	margin: 0 0 10px 0;
	font-weight: 700;
	font-size: 20px;
}
@media (max-width: 768px) {
	.refine-btn {
		width: 49%;
	}
}
input[name='refine-btn']:checked+label {
	border-radius: 100px;
	display: inline-block;
	padding: 15px;
	box-sizing: border-box;
	filter: brightness(0.8);
	/*	color: #FFF;*/
	text-decoration: none;
	text-align: center;
	margin: 0 0 10px 0;
}
.refine-btn:hover {
	filter: brightness(1.1);
}
@media (max-width: 480px) {
	.refine-btn {
		width: 100%;
		margin: 2px 0;
	}
	input[name='refine-btn']:checked+label {
		margin: 2px 0;
	}
}
.ninsin {
	background: #ffd0d0;
	border-color: #ffd0d0;
}
.sigoto {
	background: #fff0a6;
	border-color: #fff0a6;
}
.azukeru {
	background: #cdf3c2;
	border-color: #fff0a6;
}
.kenkou {
	background: #C9EDFF;
	border-color: #fff0a6;
}
.mamoru {
	background: #e88b49;
	border-color: #fff0a6;
}
.refine-teims {
	border-radius: 10px;
	margin: 5px;
	padding: 10px 20px;
	min-widyth: 150px;
	width: auto;
	display: inline-block;
}
@media (max-width: 550px) {
	.refine-teims {
		display: block;
		width: auto;
	}
}
.refine-tag {
	display: none !important;
}
.refine-teims:hover {
	filter: brightness(1.1);
}
#refine-1:checked~.refine-teims:not(.ninsin),
#refine-2:checked~.refine-teims:not(.sigoto),
#refine-3:checked~.refine-teims:not(.azukeru),
#refine-4:checked~.refine-teims:not(.kenkou),
#refine-5:checked~.refine-teims:not(.mamoru),
#refine-6:checked~.refine-teims:not(.keizai) {
	display: none;
}
.sagasu02 {
	display: flex;
	width: 100%;
	text-align: center;
	margin-top: 2em;
	margin-bottom: 2em;
}
footer {
	background: #eee;
}
footer img {
	width: 240px;
}
.top_bnr li {
	list-style: none;
}
.footer {
	padding: 1em;
}
.footer p {
	margin: 0;
	padding: 0;
	line-height: 1.5;
}
.footer a {
	text-decoration: none;
}
.grid_footer_w {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	margin: auto;
	justify-content: center;
	align-items: center;
}
.footer_item {}
/* -----------------------------------------------
 * 装飾
 * ----------------------------------------------- */
.box5 {
	padding: 1em 1.5em;
	margin: 2em auto;
	display: block;
	max-width: 1200px;
	background-color: #ffffe0;
	/*背景色*/
	border: dotted 6px #f8b547;
	/*線*/
	color: #000000;
	/*文字色*/
}
.box5 p {
	margin: 0;
	padding: 0;
	line-height:1.8;
	font-size: 1.1rem;
}

.midasi04 {
	font-family: 'Kosugi Maru';
	font-weight: 700;
}
/* -----------------------------------------------
 * パスポートトップページ
 * ----------------------------------------------- */
.grid-3col {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	/* 1:1:1の幅の3列 */
	grid-gap: 10px;
	/* アイテム間の間隔 */
}
@media (max-width: 980px) {
	.grid-3col {
		grid-template-columns: 1fr 1fr;
		/* 1:1:1の幅の3列 */
	}
}
@media (max-width: 768px) {
	.grid-3col {
		grid-template-columns: 1fr;
		/* 1:1:1の幅の3列 */
	}
}
.item-3col {
	padding: 10px;
	text-align: center;
}
.grid-3col-center {
	display: grid;
	gap: 20px;
	margin: 0 auto;
}
.grid-3col-center {
	grid-template-columns: repeat(auto-fit, minmax(420px, auto));
	justify-content: center;
	/* 余ったスペースを中央寄せ */
	max-width: calc(420px * 2 + 20px);
	/* 2個分の幅＋gap */
}
@media (max-width: 580px) {
	.grid-3col-center {
		grid-template-columns: 1fr;
		/* 1:1:1の幅の3列 */
	}
}
.grid-3col-center:has(.item:nth-child(3)) {
	grid-template-columns: repeat(3, 1fr);
	max-width: none;
	/* 全幅に広げる */
	justify-content: stretch;
}
.item-3col-center {
	padding: 10px;
	text-align: center;
}
.grid-2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	/* 1:2:1の幅の3列 */
	grid-gap: 10px;
	/* アイテム間の間隔 */
}
.item-2col {
	padding: 10px;
	text-align: center;
}
@media (max-width: 768px) {
	.grid-2col {
		grid-template-columns: 1fr;
		/* 1:1:1の幅の3列 */
	}
}
