@charset "UTF-8";

@import	url(https://cdnjs.cloudflare.com/ajax/libs/Swiper/14.0.5/swiper-bundle.css);
@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css);

:root {
	--pageFont_jpGothic01: "source-han-sans-jp-variable", sans-serif;
	--pageFont_engGothic01: "vinyl", sans-serif;
	--pageFont_icon: "Font Awesome 7 Free";
	--pageFont_brandIcon: "Font Awesome 7 Brands";

	--pageColor_base: #4661d9;
	--pageColor_base_light: color-mix(in srgb, var(--pageColor_base), #fff 65% );

	--pageColor_grad01_start: #6594fb;
	--pageColor_grad01_middle: #6ac5f4;
	--pageColor_grad01_end: #91d9c6;
}

main.main {
	font-family: var(--pageFont_jpGothic01);
	font-variation-settings: 'wght' 600;
	span.em {
		color: var(--pageColor_base);
	}
	*:has( > wbr ) {
		word-break: keep-all;
		overflow-wrap: anywhere;
	}
	[class*="contentsInner"] {
		width: min(100%, var(--contentsWidth, 1100px));
		margin-inline: auto;
		&[class*="contentsInner__large"] {
			--contentsWidth: 1400px;
		}
	}

	[class^="btnbox_cliplink"] {
		> a {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: min(3vw, 1rem);
			background: var(--btn_bg, #fff);
			color: var(--btn_text, var(--custom_btnColor, var(--pageColor_base)));
			border: 1px solid var(--custom_btnColor, var(--pageColor_base));
			border-radius: 100vmax;
			font-size: min(4.25vw, 1rem);
			padding-inline: min(3vw, 3rem) min(3vw, 2rem);
			padding-block: var(--custom_btnbox_pdY, min(2vw, 1rem));
			transition: background .3s, color .3s;
			&:after {
				font-family: var(--pageFont_icon);
				font-weight: 700;
				content: "\f061";
				color: var(--btnIcon_color, var(--custom_btnColor, var(--pageColor_base)));
				transition: color .3s;
			}
			&:hover {
				--btn_bg: var(--custom_btnColor, var(--pageColor_base));
				--btn_text: #fff;
				--btnIcon_color: #fff;
			}
		}
		&[class*="__black"] {
			--custom_btnColor: #333;
		}
	}
	[class^="btnbox_link"] > a,
	button[class^="btnbox"] {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: min(2vw, 0.5rem);
		background: var(--btn_bg, var(--eventColor_bd));
		color: var(--btn_text, var(--eventColor_text));
		border: 1px solid var(--eventColor_bd);
		border-radius: 100vmax;
		font-size: min(3.733vw, 0.85rem);
		text-align: center;
		align-content: center;
		padding: min(3vw, 0.75rem) min(5vw, 2.25rem);
		transition: background .3s, color .3s, border .3s;
		&:after {
			display: block;
			content: "";
			width: min(2vw, 8px);
			height: auto;
			aspect-ratio: 1;
			transform: var(--iconRotate, rotate(45deg));
			border-top: 1px solid var(--eventColor_text);
			border-right: 1px solid var(--eventColor_text);
			color: var(--btnIcon_color, #fff);
			transition: translate .3s;
		}
		&:hover {
			--btn_bg: #fff;
			--btn_text: var(--eventColor_bd);
			--btnIcon_color: var(--eventColor_bd);
			&:after {
				border-color: var(--eventColor_bg);
				translate: var(--iconPos_hover, 5px 0);
			}
		}
	}
	[class^="btnbox_link__entry"],
	button.btnbox_entry {
		--eventColor_bd: #fe595c;
		--eventColor_bg: #fe595c;
		--eventColor_text: #fff;
	}
	[class^="btnwrap__more"] {
		--eventColor_bd: var(--pageColor_base);
		--eventColor_bg: var(--pageColor_base);
		--eventColor_text: #fff;
		--iconRotate: rotate(135deg);
		--iconPos_hover: 0 5px;
		[data-type="open"] {
			--iconRotate: rotate(-45deg);
		}
	}

	[class^="btnbox_line"] > a {
		--lineColor: #06c755;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: min(3vw, 1rem);
		background: var(--btn_bg, var(--lineColor));
		color: var(--btn_text, #fff);
		border: 1px solid var(--lineColor);
		border-radius: 100vmax;
		font-size: min(4.25vw, 1rem);
		padding-inline: min(3vw, 3rem) min(3vw, 2rem);
		padding-block: min(2vw, 1rem);
		transition: background .3s, color .3s;
		&:before {
			font-family: var(--pageFont_brandIcon);
			font-weight: 300;
			content: "\f3c0";
			color: var(--btnIcon_color, #fff);
			font-size: 1.5em;
			line-height: 1;
			transition: color .3s;
		}
		&:hover {
			--btn_bg: #fff;
			--btn_text: var(--lineColor);
			--btnIcon_color: var(--lineColor);
		}
	}

	.txtColor_main {
		color: var(--pageColor_base);
	}
	.txtColor_red {
		color: red;
	}
	a.modText__link {
		text-decoration: underline;
	}
}

@media (min-width: 768px) {
	/*PC*/
	.dNoPc {
		display: none;
	}
}
@media (max-width: 767px) {
	/*SP*/
	.dNoMb {
		display: none;
	}
}



/*
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝ イベントページ共通 ＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
*/

.area_mv__under {
	/*
	* ＝＝＝＝＝＝＝＝＝＝ MV ＝＝＝＝＝＝＝＝＝＝
	*/
	&:not(:has(.mvbox)) {
		background: #f5f5f5;
		padding-block: min(10vw, 5rem) min(3vw, 1rem);
		padding-inline: min(6vw, 2.5rem);
		.titlebox_mv {
			> .title {
				font-size: min(7vw, 3rem);
			}
		}
		.modBreadCrumbs {
			.modBreadCrumbs__inner {
				justify-content: flex-end;
			}
		}
	}
	&:has(.mvbox) {
		padding-inline: min(3vw, 2.5rem);
		.titlebox_mv {
			position: relative;
			padding-block: min(12vw, 6.25rem);
			z-index: 2;
			> .title {
				font-size: min(5.5vw, 2.75rem);
				background: #fff;
				width: fit-content;
				padding-inline: min(3vw, 1rem);
			}
		}
		.modBreadCrumbs {
			margin-top: min(6vw, 1.5rem);
			.modBreadCrumbs__inner {
				justify-content: flex-start;
				li.modBreadCrumbs__item {
					font-weight: 700;
				}
			}
		}
	}
	.mvbox {
		position: relative;
		> .photo {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center top;
				border-radius: min(3vw, 1.5rem);
			}
		}
	}
	.titlebox_mv {
		width: min(100%, var(--contentsWidth, 1100px));
		margin-inline: auto;
		> .sub {
			display: flex;
			align-items: center;
			gap: min(3vw, 0.5rem);
			color: var(--pageColor_base);
			font-weight: 700;
			&:before {
				content: "ー";
			}
		}
		> .title {
			font-weight: 700;
		}
	}
	.modBreadCrumbs {
		width: min(100%, var(--contentsWidth, 1100px));
		margin-inline: auto;
		margin-top: min(6vw, 2.5rem);
		.modBreadCrumbs__inner {
			--itemSpace: min(3vw, 0.5rem);
			display: flex;
			align-items: center;
			gap: var(--itemSpace);
			> [class^="modBreadCrumbs__item"] {
				display: flex;
				gap: var(--itemSpace);
				font-weight: 400;
				font-size: min(3vw, 0.75rem);
				color: #555;
				&:not(:first-child) {
					&:before {
						font-family: var(--pageFont_icon);
						font-weight: 700;
						content: "\f105";
					}
				}
				> a {
					text-decoration: underline;
					transition: text-decoration .3s;
					&:hover {
						text-decoration: none;
					}
				}
			}
		}
	}
}

@media (min-width: 768px) {
	/*PC*/
}
@media (max-width: 767px) {
	/*SP*/
	.area_mv__under {
		/*
		* ＝＝＝＝＝＝＝＝＝＝ MV ＝＝＝＝＝＝＝＝＝＝
		*/
		&:has(.mvbox) {
			.titlebox_mv {
				padding-inline: 3vw;
			}
		}
	}
}


section[class^="section"] {
	.content_title {
		position: relative;
		font-size: min(4.5vw, 2.5rem);
		font-weight: 700;
		text-align: center;
		&:after {
			--letterPos: -4px;
			position: absolute;
			bottom: 0;
			left: 50%;
			transform: translate(calc(-50% + var(--letterPos)), min(3vw, 1rem));
			font-family: var(--pageFont_icon);
			font-weight: 700;
			content: "\f0c8　\f0c8　\f0c8";
			font-size: min(3vw, 1rem);
			line-height: 1;
			letter-spacing: var(--letterPos);
			width: min(10vw, 80px);
			height: min(3vw, 0.95rem);
			background: 
				linear-gradient( 
					90deg, 
					var(--pageColor_base) 33%, 
					color-mix(in srgb, var(--pageColor_base), #fff 45%) 33%,
					color-mix(in srgb, var(--pageColor_base), #fff 45%) 66%,
					color-mix(in srgb, var(--pageColor_base), #fff 75%) 66%,
					color-mix(in srgb, var(--pageColor_base), #fff 75%) 100%
				)
			;
			background-clip: text;
			color: rgba(0,0,0, 0);
		}
	}
	[class^="content_subtitle"] {
		position: relative;
		font-size: min(6vw, 1.875rem);
		font-weight: 700;
		margin-block: 0 min(6vw, 2.875rem);
		&:before,
		&:after {
			--iconSize: min(1vw, 6px);
			position: absolute;
			top: 0;
			left: 0;
			content: "";
			width: var(--iconSize);
			height: auto;
			aspect-ratio: 1;
			background: var(--titleIcon_bg, #333);
		}
		&:before {
			--titleIcon_bg: var(--pageColor_base);
			transform: translate( min(1vw, 0.25rem), calc( -1 * min(2vw, 0.5rem) - 100%) );
		}
		&:after {
			--titleIcon_bg: #fe595c;
			transform: translate( calc( var(--iconSize) * 2 + min(1vw, 0.25rem) ), calc( -1 * min(2vw, 0.5rem) - 100%));
		}
		> small {
			&.notes {
				display: inline-block;
				font-size: min(3vw, 1rem);
				line-height: 1.25;
			}
		}
	}
	> [class^="subtitle"] {
		position: relative;
		display: flex;
		align-items: center;
		gap: min(3vw, 1rem);
		font-size: min(4.5vw, 1.625rem);
		font-weight: 700;
		border-bottom: 1px solid #d7dbdf;
		margin-block: min(3vw, 1rem);
		padding-inline: min(3vw, 0.75rem) 0;
		padding-block: 0 5px;
		&:before {
			--iconSize: min(1vw, 6px);
			--titleIcon_bg: var(--pageColor_base);
			position: absolute;
			top: 0;
			left: 0;
			transform: translate( min(1vw, 0.25rem), -100% );
			content: "";
			width: var(--iconSize);
			height: auto;
			aspect-ratio: 1;
			background: var(--titleIcon_bg, #333);
		}
	}

	> [class^="section_inner"] {
		width: min(100%, var(--custom_maxWidth, 1200px));
		margin-inline: auto;
	}
}

@media (min-width: 768px) {
	/*PC*/
}
@media (max-width: 767px) {
	/*SP*/
}

.event_list {
	> [class^="event"] {
		display: grid;
		gap: min(1.5vw, 0.75rem);
		background: #fff;
		border-radius: min(3vw, 1rem);
		box-shadow: 2px 2px 5px 0 rgba(0,0,0, 0.25);
		overflow: hidden;
		> .photo {
			width: 100%;
			img {
				width: 100%;
				height: auto;
			}
		}
		.description {
			font-size: clamp(12px, calc(12 / 767 * 100vw), 12px);
			font-weight: 700;
		}
		.event_title {
			font-size: clamp(14px, calc(14 / 767 * 100vw), 1.10rem);
			font-weight: 700;
		}
		.date {
			font-size: clamp(12px, calc(12 / 767 * 100vw), 0.85rem);
		}
		.eventlink_list {
			display: flex;
			gap: min(3vw, 1rem);
			margin-top: auto;
			> [class^="eventlink"] {
				flex: 1;
				> a {
					position: relative;
					display: flex;
					justify-content: center;
					align-items: center;
					gap: min(2vw, 0.5rem);
					text-align: center;
					align-content: center;
					border-radius: 100vmax;
					border: 1px solid var(--eventColor_bd);
					background: var(--eventColor_bg);
					color: var(--eventColor_text);
					text-align: center;
					align-content: center;
					font-size: min(2.5vw, 0.85rem);
					padding: min(3vw, 0.5rem) min(1.5vw, 0.5rem);
					transition: background .3s, color .3s, border .3s;
					&:after {
						display: block;
						content: "";
						width: min(2vw, 8px);
						height: auto;
						aspect-ratio: 1;
						transform: rotate(45deg);
						border-top: 1px solid var(--eventColor_text);
						border-right: 1px solid var(--eventColor_text);
						transition: translate .3s;
					}
					&:hover {
						background: var(--eventColor_text);
						color: var(--eventColor_bg);
						&:after {
							border-color: var(--eventColor_bg);
							translate: 5px 0;
						}
					}
				}
				&[class^="eventlink__detail"] {
					--eventColor_bd: var(--pageColor_base);
					--eventColor_bg: #fff;
					--eventColor_text: var(--pageColor_base);
				}
				&[class^="eventlink__entry"] {
					--eventColor_bd: #fe595c;
					--eventColor_bg: #fe595c;
					--eventColor_text: #fff;
				}
			}
		}
	}
}

@media (min-width: 768px) {
	/*PC*/
	.event_list {
		> [class^="event"] {
			> * {
				grid-column: 1 / 2;
			}
			> .photo {
				grid-row: 1 / 2;
			}
			> .description {
				grid-row: 2 / 3;
				padding-inline: min(3vw, 1rem);
			}
			> .txtwrap {
				grid-row: var(--text_gridRow, 2 / 3);
				display: flex;
				flex-direction: column;
				gap: min(3vw, 0.75rem);
				padding-inline: min(3vw, 1rem);
			}
			> .eventlink_list {
				padding-inline: min(3vw, 1rem);

			}
			&:has( > .description ) {
				--text_gridRow: 3 / 4;
			}
		}
	}
}
@media (max-width: 767px) {
	/*SP*/
}



/*
* ＝＝＝＝＝＝＝＝＝＝ 分野・職業から探す ＝＝＝＝＝＝＝＝＝＝
*/
[class^="field__sports"] {
	/*スポーツ*/
	--fieldColor: #4D89DC;
}
[class^="field__child-care"] {
	/*保育・幼稚園教諭*/
	--fieldColor: #FF7274;
}
[class^="field__judo-therapy"] {
	/*柔道整復師*/
	--fieldColor: #2EBD5D;
}
[class^="field__acupuncture"] {
	/*鍼灸師*/
	--fieldColor: #2EBD5D;
}
[class^="field__physical-therapy"] {
	/*理学療法士*/
	--fieldColor: #FF7B08;
}
[class^="field__occupational-therapy"] {
	/*作業療法士*/
	--fieldColor: #FF7B08;
}
[class^="field__dental-hygiene"] {
	/*歯科衛生士*/
	--fieldColor: #20B5FF;
}

[class^="section_sub__searchField"] {
	.field_list {
		display: grid;
		grid-template-columns: var(--fieldGrid_clm, repeat(7, minmax(0, 1fr)));
		gap: min(3vw, 2.5rem) min(3vw, 1rem);
		margin-block: min(5vw, 2.5rem);
		> [class^="field"] {
			position: relative;
			border-radius: min(3vw, 0.5rem);
			overflow: hidden;
			transition: scale .3s;
			&:has( > a:hover ) {
				scale: 1.05;
			}
			> a {
				position: relative;
				display: flex;
				flex-direction: column;
				justify-content: space-between;
				height: 100%;
				z-index: 3;
			}
			.photo {
				img {
				}
			}
			.field_name {
				flex-grow: 1;
				position: relative;
				display: flex;
				flex-direction: column;
				color: #fff;
				text-stroke: 1px color-mix(in srgb, var(--fieldColor, var(--pageColor_base)), #000 2.5% );
				-webkit-text-stroke: 1px color-mix(in srgb, var(--fieldColor, var(--pageColor_base)), #000 2.5% );
				paint-order: stroke;
				padding-block: min(5vw, 2.5rem) min(3vw, 1rem);
				padding-inline: min(3vw, 1rem);
				margin-top: calc(-1 * min(3vw, 2rem));
				z-index: 2;
				> .jp {
					width: fit-content;
					font-size: min(4.25vw, 1.15rem);
					font-weight: 700;
				}
				> .eng {
					width: fit-content;
					font-size: min(3vw, 0.5rem);
				}
			}
			&:before {
				position: absolute;
				bottom: 0;
				left: 0;
				content: "";
				width: 100%;
				height: 90%;
				border: 1px solid var(--fieldColor, var(--pageColor_base));
				background: 
					url(../img/event/parts_circledot_a60.webp) -45% -10% / 60% auto no-repeat,
					color-mix(in srgb, var(--fieldColor, var(--pageColor_base)), #fff 80% )
				;
				border-radius: min(3vw, 0.5rem);
			}
		}
	}
}
@media (min-width: 800px) {
	/*PC*/
	[class^="section_sub__searchField"] {
		.field_list {
			> [class^="field"] {
				> a {
					flex-direction: column;
				}
				.photo {
					img {
						height: 225px;
						object-fit: cover;
						object-position: center top;
					}
				}
				.field_name {
					justify-content: center;
					align-items: center;
					background: 
						url(../img/event/parts_circledot_a20.webp) calc(100% + min(3vw, 2rem)) calc(100% + min(3vw, 2rem)) / 100% auto no-repeat,
						linear-gradient( 0deg, var(--fieldColor, var(--pageColor_base)) 75%, rgba(0,0,0, 0) )
					;
				}
				&:before {
					background: 
						url(../img/event/parts_circledot_a60.webp) -45% -10% / 60% auto no-repeat,
						color-mix(in srgb, var(--fieldColor, var(--pageColor_base)), #fff 80% )
					;
				}
			}
		}
	}
}
@media (max-width: 799px) {
	/*SP*/
	[class^="section_sub__searchField"] {
		.field_list {
			--fieldGrid_clm: repeat(2, minmax(0, 1fr));
			> [class^="field"] {
				&:before {
					content: none;
				}
				> a {
					display: grid;

				}
				.photo {
					grid-column: 1 / 2;
					grid-row: 1 / 2;
					img {
						width: 100%;
						height: 100%;
						object-fit: contain;
						object-position: right bottom;
					}
				}
				.field_name {
					grid-column: 1 / 2;
					grid-row: 1 / 2;
					justify-content: center;
					align-items: flex-start;
					background: none;
					padding-bottom: 3vw;
					padding-right: 40%;
					> .jp {
						padding-top: 4vw;
					}
					&:after {
						position: absolute;
						top: 50%;
						right: 35%;
						transform: tarnslate(0, -50%);
						content: "\f061";
						font-family: var(--pageFont_icon);
						font-size: 2.5vw;
						font-weight: 700;
						width: 5vw;
						height: auto;
						aspect-ratio: 1;
						border-radius: 50%;
						border: 1px solid #fff;
						color: #fff;
						text-align: center;
						align-content: center;
					}

				}
				&:before {
					background: 
						url(../img/event/parts_circledot_a20.webp) -50% calc(100% + min(3vw, 2rem)) / 100% auto no-repeat,
						linear-gradient( 90deg, var(--fieldColor, var(--pageColor_base)) 75%, var(--pageColor_base_light) )
					;
				}
			}
		}
	}
}











/*
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝ イベントTOP ＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
*/
.main--eventIndex {

	/*
	* ＝＝＝＝＝＝＝＝＝＝ MV ＝＝＝＝＝＝＝＝＝＝
	*/
	.area_mv {
		--mvTitle_color: #335381;
		display: flex;
		justify-content: space-between;
		background: var(--mvBg_path) center / cover no-repeat;
		> .txtwrap {
			display: flex;
			flex-direction: column;
			justify-content: center;
			gap: min(3vw, 2rem);
			.titlebox_mv {
				color: var(--mvTitle_color);
				> .sub {
					font-family: var(--pageFont_engGothic01);
					font-size: min(16vw, 8rem);
					line-height: 0.85;
					> .bg {
						position: relative;
						&:before {
							position: absolute;
							top: 0;
							left: 0;
							content: "";
							width: 100%;
							height: 100%;
							background: url(../img/event/index/parts_twincle.webp) 17.5% / contain no-repeat;
						}
					}
				}
				> .title {
					font-size: min(3.5vw, 1.25rem);
					font-weight: 800;
					text-decoration: underline var(--mvTitle_color);
					text-underline-offset: min(3vw, 0.5rem);
					text-decoration-thickness: 1px;
					letter-spacing: 0.25em;
				}
			}
			.point_list {
				display: flex;
				flex-wrap: wrap;
				gap: min(3vw, 1rem);
				> [class^="point"] {
					display: flex;
					gap: min(3vw, 0.75rem);
					background: #fff;
					border-radius: 100vmax;
					font-size: min(3vw, 1rem);
					box-shadow: 2px 2px 10px 0 color-mix(in srgb, var(--mvTitle_color), rgba(0,0,0, 0) 80% );
					padding: min(1vw, 0.25rem) min(3vw, 1rem);
					&:before {
						display: block;
						content: "";
						width: min(3vw, 1.5rem);
						height: auto;
						aspect-ratio: 1;
						background: color-mix(in srgb, #8599b4, rgba(0,0,0, 0) 60% );
						mask: var(--pointIcon) center / contain no-repeat;
					}
					.em {
						color: #3dade6;
					}
					&[class^="point__beginner"] {
						/*初めての方*/
						--pointIcon: url(../img/event/icon_beginner.webp);
					}
					&[class^="point__clothes"] {
						/*服装*/
						--pointIcon: url(../img/event/icon_cloth.webp);
					}
					&[class^="point__together"] {
						/*保護者･友達*/
						--pointIcon: url(../img/event/icon_togther.webp);
					}
				}
			}
		}
		> .photobox {
			display: grid;
			> [class^="photo"] {
				flex: 1;
				position: relative;
				> img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
				> .field {
					position: absolute;
					bottom: 0;
					left: 0;
					width: 100%;
					height: 50%;
					display: flex;
					flex-direction: column;
					justify-content: flex-end;
					background: linear-gradient(0deg, var(--fieldColor, var(--pageColor_base)), rgba(0,0,0, 0));
					font-weight: 700;
					font-style: italic;
					text-align: center;
					align-content: flex-end;
					color: #fff;
					padding-block: 0 min(3vw, 1.5rem);
					padding-inline: min(3vw, 2rem);
					> .jp {
						font-size: min(4vw, 1rem);
					}
					> .eng {
						font-size: min(2.75vw, 0.75rem);
						font-weight: 500;
						line-height: 1.25;
					}
				}
				--gap: min(2vw, 15px);
				&:not(:last-child) {
					clip-path: polygon(20% 0, calc(100% - var(--gap, 0px)) 0, calc(80% - var(--gap, 0px)) 100%, 0 100%);
				}
				&:last-child {
					clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
				}
				&:nth-child(1) {
					grid-column: 1 / 5;
					grid-row: 1 / 2;
				}
				&:nth-child(2) {
					grid-column: 4 / 8;
					grid-row: 1 / 2;
				}
				&:nth-child(3) {
					grid-column: 7 / 11;
					grid-row: 1 / 2;
				}
				&:nth-child(4) {
					grid-column: 10 / 14;
					grid-row: 1 / 2;
				}
				&:nth-child(5) {
					grid-column: 13 / 17;
					grid-row: 1 / 2;
				}

				&[class^="photo__sports"] {
					/*スポーツ分野*/
					--fieldColor: #4D89DC;
				}
				&[class^="photo__judo"] {
					/*柔道整復･鍼灸分野*/
					--fieldColor: #2EBD5D;
				}
				&[class^="photo__rehabilitation"] {
					/*リハビリ分野*/
					--fieldColor: #FF7B08;
				}
				&[class^="photo__dental"] {
					/*歯科衛生分野*/
					--fieldColor: #20B5FF;
				}
				&[class^="photo__childcare"] {
					/*保育分野*/
					--fieldColor: #FF7274;
				}
			}
		}
	}

	@media (min-width: 800px) and (max-width: 1600px) {
		.area_mv {
			> .txtwrap {
				width: 40vw;
				height: calc( (800px*60vw)/1612px );
				.titlebox_mv {
					> .sub {
						font-size: 8vw;
						line-height: 0.85;
					}
					> .title {
						font-size: 1.5vw;
					}
				}
				.point_list {
					> [class^="point"] {
						font-size: min(3vw, 0.75rem);
						&:before {
							width: min(3vw, 1rem);
						}
					}
				}
			}
			> .photo {
				width: 60vw;
				img {
				}
			}
		}
	}

	@media (min-width: 800px) {
		/*PC*/
		.area_mv {
			--mvBg_path: url(../img/event/index/mv_bg_hr.webp);
			> .txtwrap {
				width: 40vw;
				padding-block: min(10vw, 2.5rem);
				padding-left: max(3vw, calc((100vw - 1600px)/2));
				.titlebox_mv {
					> .sub {
					}
					> .title {
					}
				}
				.point_list {
					> [class^="point"] {

					}
				}
			}
			> .photobox {
				width: 60vw;
				> [class^="photo"] {
					> .field {
						> * {
							transform: translate(-15%, 0);
						}
						> .jp {

						}
						> .eng {

						}
					}
				}
			}
		}
	}
	@media (max-width: 799px) {
		/*SP*/
		.area_mv {
			--mvBg_path: url(../img/event/index/mv_bg_vr.webp);
			flex-direction: column;
			> .txtwrap {
				text-align: center;
				padding-inline: 6vw;
				padding-block: 6vw 3vw;
				.titlebox_mv {
					> .sub {

					}
					> .title {

					}
				}
				.point_list {
					justify-content: center;
					margin-block: 3vw 0;
					> [class^="point"] {

					}
				}
			}
			> .photobox {
				display: grid;
				width: 110vw;
				translate: calc(-1 * (10vw/2)) 0;
				> [class^="photo"] {
					> img {
						height: 40vw;
						object-position: center top;
					}
					> .field {
						> * {
							display: none;
						}
						> .jp {

						}
						> .eng {

						}
					}
				}
			}
		}
	}


	/*
	* ＝＝＝＝＝＝＝＝＝＝ セクション ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area"] {
		padding-block: min(10vw, 2.5rem);
		> .titlebox_section {
			text-align: center;
			> .sub {
				font-family: var(--pageFont_engGothic01);
				font-size: min(13vw, 6rem);
				.bg {
					background: linear-gradient(90deg, 
						color-mix(in srgb, var(--pageColor_grad01_start), #fff 70%),
						color-mix(in srgb, var(--pageColor_grad01_middle), #fff 70%),
						color-mix(in srgb, var(--pageColor_grad01_end), #fff 70%)
					);
					background-clip: text;
					color: rgba(0,0,0, 0);
				}
			}
			> .title {
				font-size: min(6.5vw, 2.5rem);
				font-weight: 700;
				margin-top: calc(-1 * min(4vw, 4rem));
				.bg {
					background: linear-gradient(90deg, var(--pageColor_grad01_start), var(--pageColor_grad01_middle), var(--pageColor_grad01_end));
					background-clip: text;
					color: rgba(0,0,0, 0);
				}
			}
		}
		> .titlebox_section_type2 {
			text-align: center;
			> .sub {
				font-family: var(--pageFont_engGothic01);
				font-size: min(16vw, 6rem);
				line-height: 1;
				.bg {
					background: linear-gradient(90deg, 
						var(--pageColor_grad01_start),
						var(--pageColor_grad01_middle),
						var(--pageColor_grad01_end)
					);
					background-clip: text;
					color: rgba(0,0,0, 0);
				}
			}
			> .title {
				font-size: min(4vw, 1.35rem);
				font-weight: 700;
				line-height: 1;
			}
		}
		> .leadbox {
			text-align: center;
			padding-block: min(4vw, 1rem);
			> .txt {
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area"] {
			> .titlebox_section {
				> .sub {
					line-height: 0.75;
				}
			}
			.leadbox {
				> .txt {
					font-size: 3.5vw;
				}
			}
		}
	}

	[class^="section_sub"] {
		margin-block: min(5vw, 2.5rem) 0;
		padding-block: min(5vw, 2.5rem);
		> .titlewrap_subSection {
			display: flex;
			align-items: center;
			gap: min(3vw, 1.5rem);
			&:before,
			&:after {
				display: block;
				content: "";
			}
			&:before {
				width: min(10vw, 2.5rem);
				height: auto;
				aspect-ratio: 1;
				background: var(--pageColor_base);
				mask: var(--titleIcon) center / contain no-repeat;
			}
			&:after {
				--bgColor: color-mix(in srgb, var(--pageColor_base), #fff 75% );
				--bgHeight: min(3vw, 0.75rem);
				flex-grow: 1;
				height: var(--bgHeight);
				background: 
					radial-gradient( circle at center, var(--bgColor) calc(var(--bgHeight)/2), rgba(0,0,0, 0) calc(var(--bgHeight)/2) ) left center / var(--bgHeight) var(--bgHeight) no-repeat,
					radial-gradient( circle at center, var(--bgColor) calc(var(--bgHeight)/4), rgba(0,0,0, 0) calc(var(--bgHeight)/4) ) calc(var(--bgHeight) + min(1vw, 0.25rem)) center / calc(var(--bgHeight)/2) calc(var(--bgHeight)/2) no-repeat,

					radial-gradient( circle at center, var(--bgColor) calc(var(--bgHeight)/2), rgba(0,0,0, 0) calc(var(--bgHeight)/2) ) right center / var(--bgHeight) var(--bgHeight) no-repeat,
					radial-gradient( circle at center, var(--bgColor) calc(var(--bgHeight)/4), rgba(0,0,0, 0) calc(var(--bgHeight)/4) ) calc(100% - var(--bgHeight) - min(1vw, 0.25rem)) center / calc(var(--bgHeight)/2) calc(var(--bgHeight)/2) no-repeat,
					linear-gradient(0deg, rgba(0,0,0, 0) calc(50% - 0.5px), var(--bgColor) calc(50% - 0.5px), var(--bgColor) calc(50% + 0.5px), rgba(0,0,0, 0) calc(50% + 0.5px) )
				;
			}
		}
		.titlebox_subSection {
			color: #555;
			> .sub {
				font-size: min(3vw, 0.85rem);
				font-weight: 700;
			}
			> .title {
				font-size: min(4.5vw, 2.25rem);
				font-weight: 700;
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_sub"] {
			> .titlewrap_subSection {
				&:after {
					content: none;
				}
			}
		}
	}



	/*
	* ＝＝＝＝＝＝＝＝＝＝ イベントを探す ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__serach"] {
		/*イベントを探す*/
		--titleIcon: url(../img/event/icon_glass.webp);
		background: 
			url(../img/event/index/bg_search_topR.webp) right top / min(25vw, 20rem) auto no-repeat,
			url(../img/event/index/bg_search_left.webp) left 35% / auto 35svh no-repeat,
			url(../img/event/index/bg_search_right.webp) right 55% / auto 35svh no-repeat,
			url(../img/event/index/bg_search_btmL.webp) left bottom / 50vw auto no-repeat,
			url(../img/event/index/bg_search_btmR.webp) right bottom / 45vw auto no-repeat
		;
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
	}

	/*
	* ＝＝＝＝＝＝＝＝＝＝ 分野・職業から探す ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_sub__searchField"] {
		margin-block: min(5vw, 2.5rem);

		.firstOC_bnrbox {
			> a.linkbox {
				--linkbox_gap: min(6vw, 3rem);
				display: flex;
				gap: var(--linkbox_gap);
				border: 1px solid var(--pageColor_base_light);
				border-radius: min(3vw, 1rem);
				box-shadow: var(--hoverShadow_size, 2px 2px 5px 0) color-mix(in srgb, var(--pageColor_base), rgba(0,0,0, 0) 60% );
				padding: min(3vw, 1rem);
				transition: box-shadow .3s;
				> .txtwrap {
					position: relative;
					display: flex;
					align-items: center;
					gap: min(3vw, 1.5rem);
					.bnr_title {
						display: flex;
						flex-direction: column;
						> .sub {

						}
						> .main {
							font-size: min(4vw, 1.3rem);
							font-weight: 700;
						}
					}
				}
				.want_list {
					flex-grow: 1;
					display: flex;
					align-items: center;
					gap: min(3vw, 2rem);
					> [class^="want"] {
						flex: 1;
						display: flex;
						flex-direction: column;
						align-items: center;
						&:before {
							content: "";
							width: 50%;
							height: auto;
							aspect-ratio: 1;
							background: var(--pageColor_base_light);
							mask: var(--wantIcon) center / contain no-repeat;
						}
						> .txt {
							text-align: center;
						}
						&[class^="want__job"] {
							--wantIcon: url(../img/event/icon_dir.webp);
						}
						&[class^="want__interest"] {
							--wantIcon: url(../img/event/icon_heart.webp);
						}
						&[class^="want__anxiety"] {
							--wantIcon: url(../img/event/icon_book.webp);
						}
					}
					&:after {
						flex: 1;
						display: block;
						font-family: var(--pageFont_icon);
						font-size: min(3.75vw, 1.75rem);
						font-weight: 700;
						text-align: center;
						align-content: center;
						color: #fff;
						line-height: 1;
						background: radial-gradient(circle at center, color-mix(in srgb, var(--pageColor_base), #fff 25% ) calc(50% - 1px), #fff 50%) center / 65% 65% no-repeat;
						content: "\f061";
						height: auto;
						aspect-ratio: 1;
						translate: var(--hoverPos_icon, 0 0);
						transition: translate .3s;
					}
				}
				&:hover {
					--hoverShadow_size: 3px 3px 10px 0;
					--hoverPos_icon: 25% 0;
				}
			}
		}
	}
	@media (min-width: 800px) {
		/*PC*/
		[class^="section_sub__searchField"] {

			.firstOC_bnrbox {
				> a.linkbox {
					> .txtwrap {
						&:before {
							content: "";
							width: min(5vw, 5rem);
							height: 100%;
							background: url(../img/event/index/icon_question.webp) center / contain no-repeat;
						}
						&:after {
							position: absolute;
							top: 50%;
							right: 0;
							transform: translate(calc(50% + var(--linkbox_gap)/2), -50%);
							content: "";
							width: min(2vw, 0.5rem);
							height: 100%;
							background: 
								radial-gradient(circle at center, var(--pageColor_base_light) calc(min(3vw, 0.5rem)/2), rgba(0,0,0, 0) calc(min(3vw, 0.5rem)/2) ) center top / min(3vw, 0.5rem) min(3vw, 0.5rem) no-repeat,
								radial-gradient(circle at center, var(--pageColor_base_light) calc(min(3vw, 0.5rem)/2), rgba(0,0,0, 0) calc(min(3vw, 0.5rem)/2) ) center bottom / min(3vw, 0.5rem) min(3vw, 0.5rem) no-repeat,
								linear-gradient(90deg, #fff calc(50% - 0.5px), var(--pageColor_base_light) calc(50% - 0.5px), var(--pageColor_base_light) calc(50% + 0.5px), #fff calc(50% + 0.5px))
							;
						}
					}
				}
			}
		}
	}
	@media (max-width: 799px) {
		/*SP*/
		[class^="section_sub__searchField"] {
			padding-inline: 3vw;
		}
		.firstOC_bnrbox {
			> a.linkbox {
				flex-direction: column;
				> .txtwrap {
					.bnr_title {
						> .sub {
							font-size: 3vw;
						}
					}
					&:after {
						position: absolute;
						bottom: 0;
						left: 50%;
						transform: translate(-50%, calc(50% + var(--linkbox_gap)/2));
						content: "";
						width: 100%;
						height: min(2vw, 0.5rem);
						background: 
							radial-gradient(circle at center, var(--pageColor_base_light) calc(min(3vw, 0.5rem)/2), rgba(0,0,0, 0) calc(min(3vw, 0.5rem)/2) ) left center / min(3vw, 0.5rem) min(3vw, 0.5rem) no-repeat,
							radial-gradient(circle at center, var(--pageColor_base_light) calc(min(3vw, 0.5rem)/2), rgba(0,0,0, 0) calc(min(3vw, 0.5rem)/2) ) right center / min(3vw, 0.5rem) min(3vw, 0.5rem) no-repeat,
							linear-gradient(0deg, #fff calc(50% - 0.5px), var(--pageColor_base_light) calc(50% - 0.5px), var(--pageColor_base_light) calc(50% + 0.5px), #fff calc(50% + 0.5px))
						;
					}
				}
				.want_list {
					font-size: 2.5vw;
					&:before {
						content: "";
						width: 15vw;
						height: auto;
						aspect-ratio: 1;
						background: url(../img/event/index/icon_question.webp) center / contain no-repeat;
					}
				}
			}
		}
	}


	/*
	* ＝＝＝＝＝＝＝＝＝＝ イベントの種類から探す ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_sub__searchType"] {
		.type_list {
			--typeSpace_clm: min(3vw, 2.5rem);
			--typeSpace_row: min(3vw, 2.5rem);
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: var(--typeSpace_row) var(--typeSpace_clm);
			margin-block: min(5vw, 2.5rem);
			> [class^="type"] {
				width: calc(100% / var(--typeSpace_wide, 2) - var(--typeSpace_clm) / var(--typeSpace_wide, 2) * (var(--typeSpace_wide, 2) - 1));
				> a.typebox {
					display: flex;
					align-items: center;
					gap: min(3vw, 0.75rem);
					border-radius: min(3vw, 0.75rem);
					border: 1px solid #efefef;
					box-shadow: var(--hoverShadow_pos, 2px 2px 5px 0) rgba(0,0,0, 0.1);
					padding: min(3vw, 1rem);
					> .photo {
						img {
							border-radius: min(2vw, 0.25rem);
						}
					}
					> .txtwrap {
						display: flex;
						flex-direction: column;
						gap: min(3vw, 0.5rem);
						color: #666;
						> .type_title {
							font-size: min(4.5vw, 1rem);
							font-weight: 700;
						}
						> .txt {
							font-size: min(3vw, 0.85rem);
						}
					}
					&:after {
						font-family: var(--pageFont_icon);
						font-size: min(2.5vw, 0.85rem);
						font-weight: 700;
						text-align: center;
						align-content: center;
						color: #666;
						background: 
							radial-gradient(circle at center, #fff 45%, rgba(0,0,0, 0) calc(45% + 0.5px)) center / 100% 100% no-repeat,
							radial-gradient(circle at center, #888 50%, rgba(0,0,0, 0) calc(50% + 0.5px)) center / 100% 100% no-repeat
						;
						content: "\f061";
						width: clamp(32px, 7vw, 2rem);
						height: auto;
						aspect-ratio: 1;
						translate: var(--hoverPos_icon, 0 0);
						transition: translate .3s;
					}
					&:hover {
						--hoverShadow_pos: 5px 5px 10px 0;
						--hoverPos_icon: 25% 0;
					}
				}
			}
		}
	}
	@media (min-width: 800px) {
		/*PC*/
		[class^="section_sub__searchType"] {
			.type_list {
				--typeSpace_wide: 3;
				> [class^="type"] {
					> a.typebox {
						> .photo {
							flex: 1;
						}
						> .txtwrap {
							flex: 1.5;
						}
					}
				}
			}
		}
	}
	@media (max-width: 799px) {
		/*SP*/
		[class^="section_sub__searchType"] {
			padding-inline: 3vw;
			.type_list {
				--typeSpace_wide: 1;
				flex-direction: column;
				> [class^="type"] {
					> a.typebox {
						> .photo {
							flex: 1;
						}
						> .txtwrap {
							flex: 2.5;
						}
					}
				}
			}
		}
	}



	/*
	* ＝＝＝＝＝＝＝＝＝＝ カレンダーから探す ＝＝＝＝＝＝＝＝＝＝
	*/
	.wrap_calendarlist {
		margin-top: min(6vw, 3.5rem);
		[class*="type__trial-lesson"] {
			/* 体験授業 */
			--event_genre_hex: #93d002;
		}
		[class*="type__special-event"] {
			/* スペシャルイベント */
			--event_genre_hex: #ff646f;
		}
		[class*="type__briefing"] {
			/* 説明会・相談会 */
			--event_genre_hex: #afabe5;
		}
		[class*="type__exam-counterplan"] {
			/* 入試対策 */
			--event_genre_hex: #20c4a7;
		}
		[class*="type__social"] {
			/* 社会人の方 */
			--event_genre_hex: #5d91e8;
		}
	}
	.area_eventCalendar {
		/*カレンダー*/
		position: relative;
		.calendar_table_wrap {
			display: flex;
			flex-direction: column;
			.month_title {
				font-family: var(--pageFont_jpGothic01);
				font-size: min(5vw, 2rem);
				font-weight: 700;
				color: #555;
				text-align: center;
				margin-bottom: min(3vw, 1rem);
			}
			table.calender_table {
				flex-grow: 1;
				thead {
					th.label_day {
						width: 12.5%;
						background: #fff;
						border: 1px solid #aaa;
						text-align: center;
						padding-block: min(3vw, 0.5rem);
					}
				}
				tbody {
					tr {
						> td:first-child {
							/*日曜*/
							--day_color: #FEEAEA;
						}
						> td:last-child {
							/*土曜*/
							--day_color: #EAF4FF;
							border: 1px solid #aaa;
						}
					}
					td {
						height: min(15vw, 125px);
						background: var(--day_color, #fff);
						text-align: center;
						border-left: 1px solid #aaa;
						border-bottom: 1px solid #aaa;
						&.cell_date_box {
							> a {
								display: block;
								width: 100%;
								height: 100%;
							}
						}
						.datebox {
							padding: min(1vw, 0.25rem) min(1vw, 0.75rem);
						}
						.schedule_list {
							display: flex;
							flex-direction: column;
							gap: min(1vw, 0.25rem);
							font-size: min(2vw, 0.8rem);
							font-weight: 500;
							> [class^="schedule"] {
								background: var(--event_genre_hex);
								color: #fff;
								border-radius: 4px;
								text-align: center;
								padding-block: min(0.5vw, 0.25rem);
							}
						}
						&.is_today {
							/*今日*/
							--day_color: #FCF8E3;
						}
						&.is_holiday:not(.is_today) {
							/*祝日*/
							--day_color: #FEEAEA;
						}
					}
				}
			}
			&.swiper-slide {
				height: auto;
			}
		}
		&.swiper {
			.swiper-wrapper {
				height: 100%;
			}
			[class*="calendarNavi"] {
				--navIcon_size: min(10vw, 4rem);
				top: 5%;
				width: var(--navIcon_size);
				height: auto;
				aspect-ratio: 2.25 / 1;
				background: #444;
				border: 2px solid #444;
				color: #fff;
				padding-block: min(1vw, 0.25rem);
				&:after {
					font-size: min(3vw, 2rem);
				}
				&[class*="calendarNavi_next"] {
					right: 0;
					transform: translate(0, 0);
				}
				&[class*="calendarNavi_prev"] {
					right: 0;
					left: initial;
					transform: translate( calc(-1 * var(--navIcon_size) - min(3vw, 1rem)), 0 );
				}
			}
		}
	}
	.genreLabel_list {
		--label_gapSpace: min(2vw, 1rem);
		display: flex;
		justify-content: center;
		gap: var(--label_gapSpace);
		margin-block: min(3vw, 1rem);
		> [class^="genreLabel"] {
			border-radius: min(1vw, 0.25rem);
			background: var(--event_genre_hex);
			color: #fff;
			text-align: center;
			padding-inline: min(2vw, 1rem);
		}
	}

	@media (min-width: 768px) {
		/*PC*/
	}

	@media (max-width: 799px) {
		/*TB*/
		[class^="section_sub__searchCalendar"] {
			padding-inline: 3vw;
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_sub__searchCalendar"] {
			padding-inline: 3vw;
		}
		.area_eventCalendar {
			[class*="calendarNavi"] {
				> svg {
					height: 3vw;
				}
			}
			table.calender_table {
				th.label_day {
					font-size: 3vw;
				}
				td.cell_date_box {
					font-size: 3vw;
					.schedule_list {
						line-height: 1.2;
					}
				}
			}
		}
		.genreLabel_list {
			flex-wrap: wrap;
			> [class^="genreLabel"] {
				font-size: 2.75vw;
				padding-block: 1vw;
			}
		}
	}




	/*
	* ＝＝＝＝＝＝＝＝＝＝ 内部アンカーリンクのリスト ＝＝＝＝＝＝＝＝＝＝
	*/
	.anchor_wrap {
		margin-block: min(10vw, 5rem);
		.anchor_list {
			display: grid;
			grid-template-columns: var(--anchorGrid_clm, repeat(4, minmax(0, 1fr)));
			gap: min(3vw, 2rem);
			> [class^="anchor"] {
				> a {
					display: flex;
					height: 100%;
					align-items: center;
					gap: min(2vw, 1.25rem);
					border-bottom: min(1vw, 0.25rem) solid color-mix(in srgb, var(--pageColor_base), #fff 40% );
					font-weight: 700;
					color: var(--pageColor_base);
					padding: min(2vw, 0.5rem) min(3vw, 1rem);
					&:after {
						display: block;
						width: min(5vw, 2rem);
						height: auto;
						aspect-ratio: 1;
						font-family: var(--pageFont_icon);
						font-weight: 700;
						content: "\f063";
						color: #fff;
						border-radius: 50%;
						background: color-mix(in srgb, var(--pageColor_base), #fff 40% );
						text-align: center;
						align-content: center;
						transition: translate .3s;
					}
					> .txt {
						flex-grow: 1;
					}
					&:hover {
						&:after {
							translate: 0 50%;
						}
					}
				}
			}
		}
	}

	@media (min-width: 768px) {
		/*PC*/
	}

	@media (max-width: 799px) {
		/*TB*/
		.anchor_wrap {
			padding-inline: 3vw;
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		.anchor_wrap {
			padding-inline: 3vw;
			.anchor_list {
				--anchorGrid_clm: repeat(3, minmax(0, 1fr));
				font-size: 3vw;
				.txt {
					width: 70%;
				}
			}
		}
	}

	/*
	* ＝＝＝＝＝＝＝＝＝＝ 大人気の限定イベント ＝＝＝＝＝＝＝＝＝＝
	*/
	.modSectionLv02#special-event {
		background: url(../img/event/index/bg_special.webp) center top / 100% auto repeat-y;
		border-radius: min(3vw, 2.5rem);
		width: calc(100% - min(6vw, 5rem));
		margin-inline: auto;
		margin-block: min(15vw, 10rem);
		padding-block: min(10vw, 2.5rem);
		.modSectionLv02__inner {
			--pd_posY: min(5vw, 2.5rem);
			position: relative;
			padding-block: var(--pd_posY) 0;
			z-index: 1;
			&:before {
				position: absolute;
				top: var(--pd_posY);
				left: 50%;
				transform: translate(-50%, -50%);
				content: "SPECIAL EVENT";
				font-family: var(--pageFont_engGothic01);
				font-size: min(13vw, 6rem);
				background: linear-gradient(90deg, 
					color-mix(in srgb, var(--pageColor_grad01_start), #fff 70%),
					color-mix(in srgb, var(--pageColor_grad01_middle), #fff 70%),
					color-mix(in srgb, var(--pageColor_grad01_end), #fff 70%)
				);
				background-clip: text;
				color: rgba(0,0,0, 0);
				width: max-content;
			}
		}
		.modHeadingLv02 {
			position: relative;
			font-size: min(6.5vw, 2.5rem);
			font-weight: 700;
			background: linear-gradient(90deg, var(--pageColor_grad01_start), var(--pageColor_grad01_middle), var(--pageColor_grad01_end));
			background-clip: text;
			color: rgba(0,0,0, 0);
			width: fit-content;
			margin-inline: auto;
			z-index: 3;
		}
		.modListCard {
			display: grid;
			grid-template-columns: var(--eventGrid_clm, repeat(3, minmax(0, 1fr)));
			gap: min(3vw, 2.5rem) min(3vw, 1.5rem);
			width: min(calc(100% - 6vw), 1000px);
			margin-inline: auto;
			margin-block: min(6vw, 2.5rem);
			> [class^="modListCard__item"] {
				.modListCard__item__section {
					display: flex;
					flex-direction: column;
					gap: min(1.5vw, 1rem);
					background: #fff;
					border-radius: min(3vw, 1rem);
					box-shadow: 2px 2px 5px 0 rgba(0,0,0, 0.25);
					overflow: hidden;
					> .image {
						width: 100%;
						img {
							width: 100%;
							height: auto;
						}
					}
					> .content {
						flex-grow: 1;
						display: flex;
						flex-direction: column;
						gap: min(2vw, 1rem);
						.content__title {
							font-size: clamp(14px, calc(14 / 767 * 100vw), 14px);
							font-weight: 700;
						}
						.content__time {
							font-size: clamp(12px, calc(12 / 767 * 100vw), 12px);
						}
					}
					.modBtn__wrapper {
						display: flex;
						gap: min(3vw, 1rem);
						margin-top: auto;
						> a {
							flex: 1;
							position: relative;
							display: flex;
							justify-content: center;
							align-items: center;
							gap: min(2vw, 0.5rem);
							text-align: center;
							align-content: center;
							border-radius: 100vmax;
							border: 1px solid var(--eventColor_bd);
							background: var(--eventColor_bg);
							color: var(--eventColor_text);
							text-align: center;
							align-content: center;
							font-size: min(2.5vw, 0.85rem);
							padding: min(3vw, 0.5rem) min(1.5vw, 0.5rem);
							transition: background .3s, color .3s, border .3s;
							&:after {
								display: block;
								content: "";
								width: min(2vw, 8px);
								height: auto;
								aspect-ratio: 1;
								transform: rotate(45deg);
								border-top: 1px solid var(--eventColor_text);
								border-right: 1px solid var(--eventColor_text);
								transition: translate .3s;
							}
							&:hover {
								background: var(--eventColor_text);
								color: var(--eventColor_bg);
								&:after {
									border-color: var(--eventColor_bg);
									translate: 5px 0;
								}
							}

							&[class*="modBtn--black"] {
								--eventColor_bd: var(--pageColor_base);
								--eventColor_bg: #fff;
								--eventColor_text: var(--pageColor_base);
							}
							&[class*="modBtn--red"] {
								--eventColor_bd: #fe595c;
								--eventColor_bg: #fe595c;
								--eventColor_text: #fff;
							}
						}
					}
				}
			}
		}
	}
	@media (min-width: 800px) {
		/*PC*/
		.modSectionLv02#special-event {
			.modListCard {
				> [class^="modListCard__item"] {
					.modListCard__item__section {
						> .content {
							padding-inline: min(3vw, 1rem);
						}
						.modBtn__wrapper {
							padding-bottom: min(3vw, 1.5rem);
						}
					}
				}
			}
		}
	}
	@media (max-width: 799px) {
		/*SP*/
		.modSectionLv02#special-event {
			.modListCard {
				--eventGrid_clm: 1fr;
				> [class^="modListCard__item"] {
					.modListCard__item__section {
						display: grid;
						grid-template-columns: repeat(5, minmax(0, 1fr));
						gap: 3vw;
						padding: 3vw;
						> .image {
							grid-column: 1 / 3;
							grid-row: 1 / 2;
							> img {
								width: 100%;
								height: auto;
								border-radius: 1.5vw;
							}
						}
						> .content {
							grid-column: 3 / 6;
							grid-row: 1 / 2;
							.content__title {
								font-size: 3.2vw;
							}
							.content__time {
								font-size: 2.6666666667vw;
							}
						}
						.modBtn__wrapper {
							grid-column: 1 / 3;
							grid-row: 2 / 3;
							> a {
								font-size: 2.5vw;
							}
						}
					}
				}
			}
		}
	}
	
	[class^="section_area__special"] {
		background: url(../img/event/index/bg_special.webp) center top / 100% auto repeat-y;
		border-radius: min(3vw, 2.5rem);
		width: calc(100% - min(6vw, 5rem));
		margin-inline: auto;
		.event_list {
			display: grid;
			grid-template-columns: var(--eventGrid_clm, repeat(3, minmax(0, 1fr)));
			gap: min(3vw, 2.5rem) min(3vw, 1.5rem);
			width: min(calc(100% - 6vw), 1000px);
			margin-inline: auto;
			margin-block: min(6vw, 2.5rem);
			> [class^="event"] {
				
			}
		}
	}

	@media (min-width: 800px) {
		/*PC*/
		[class^="section_area__special"] {
			.event_list {
				> [class^="event"] {
					> .txtwrap {
						padding: 0 min(3vw, 1rem);
					}
					.eventlink_list {
						padding-inline: min(3vw, 1rem);
						padding-bottom: min(3vw, 1rem);
					}
				}
			}
		}
	}
	@media (max-width: 799px) {
		/*SP*/
		[class^="section_area__special"] {
			.event_list {
				--eventGrid_clm: 1fr;
				> [class^="event"] {
					display: grid;
					grid-template-columns: repeat(2, minmax(0, 1fr));
					gap: 3vw;
					padding: 3vw;
					> .photo {
						grid-column: 1 / 2;
						grid-row: var(--photo_gridRow, 1 / 2);
						> img {
							width: 100%;
							height: auto;
							border-radius: 1.5vw;
						}
					}
					> .description {
						grid-column: 1 / 3;
						grid-row: 1 / 2;
						font-size: 3.2vw;
						padding-inline: min(3vw, 1rem);
					}
					> .txtwrap {
						grid-column: 2 / 3;
						grid-row: var(--text_gridRow, 1 / 2);
						display: flex;
						flex-direction: column;
						gap: 3vw;
						.event_title {
							font-size: 3.2vw;
							padding-inline: min(3vw, 1rem);
						}
						.date {
							font-size: 2.6666666667vw;
							padding-inline: min(3vw, 1rem);
						}
					}
					> .eventlink_list {
						grid-column: 1 / 3;
						padding-inline: min(3vw, 1rem);
						> [class^="eventlink"] {
							> a {
								font-size: 3.7333333333vw;
							}
						}
					}
					&:has( > .description ) {
						--photo_gridRow: 2 / 4;
						--text_gridRow: 2 / 3;
						--date_gridRow: 3 / 4;
					}
				}
			}
		}
	}
	


	/*
	* ＝＝＝＝＝＝＝＝＝＝ 〇〇のイベント ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_event"] {
		margin-block: min(15vw, 10rem);
		padding-left: calc((100vw - var(--contentsWidth, 1200px))/2);
		> [class^="section_title"] {
			font-size: min(7vw, 3.5rem);
			font-weight: 700;
			.field {
				font-size: 1.5em;
			}
			.bg {
				display: inline-block;
				background: 
					linear-gradient(
						90deg, 
						var(--fieldColor_grad01, var(--pageColor_grad01_start)), 
						var(--fieldColor_grad02, var(--pageColor_grad01_middle)),
						var(--fieldColor_grad03, var(--pageColor_grad01_end))
					)
				;
				background-clip: text;
				color: rgba(0,0,0, 0);
			}
		}
		.job_databox {
			margin-block: min(3vw, 1.5rem) 0;
			> [class^="databox_box"] {
				display: flex;
				gap: min(3vw, 2rem);
				> [class^="databox_title"] {
					position: relative;
					> .title {
						display: flex;
						align-items: center;
						gap: min(1.5vw, 1rem);
						font-size: min(3.75vw, 1.15rem);
						&:before {
							position: absolute;
							top: 50%;
							right: 0;
							transform: translate(0, -50%) rotate(-45deg);
							content: "";
							width: min(1vw, 0.5rem);
							height: auto;
							aspect-ratio: 1;
							border-right: 1px solid #000;
							border-bottom: 1px solid #000;
						}
						&:after {
							display: block;
							content: "";
							width: min(10vw, 3.5rem);
							height: 1px;
							background: #000;
						}
					}
					&:after {
						position: absolute;
						top: 50%;
						right: 0;
						transform: translate(40%, -50%) rotate(-45deg);
						content: "";
						width: min(6vw, 2rem);
						height: auto;
						aspect-ratio: 1;
						border: 1px solid #000;
						border-radius: 50%;
						clip-path: polygon(50% 0, 100% 0, 100% 100%, 0 100%, 0 50%, 50% 50%);
					}
				}
				> [class^="databox_content"] {
				}
			}
		}
		.eventlist_wrap {
			padding-inline: 0 min(30vw, 400px);
			.swiper-scrollbar {
				--swiper-scrollbar-sides-offset: 0%;
				background: #c9c9c9;
				height: 7px;
				.swiper-scrollbar-drag {
					background: var(--pageColor_base);
				}
			}
		}
		.event_list {
			display: flex;
			gap: min(3vw, 2.5rem) min(3vw, 1.5rem);
			margin-block: min(6vw, 2.5rem);
			padding-block: min(3vw, 1rem);
			> [class^="event"] {
				> .txtwrap {
					padding-block: 0 min(3vw, 1.25rem);
				}
			}
		}
		&[class^="section_event__sports"] {
			/*スポーツ*/
			--fieldColor_grad01: #6595fb;
			--fieldColor_grad02: #6dc9f0;
			--fieldColor_grad03: #91d9c6;
		}
		&[class^="section_event__child-care"] {
			/*保育・幼稚園教諭*/
			--fieldColor_grad01: #ff7476;
			--fieldColor_grad02: #aca1bc;
			--fieldColor_grad03: #6ac5f4;
		}
		&[class^="section_event__judo-therapy"] {
			/*柔道整復師*/
			--fieldColor_grad01: #36bf64;
			--fieldColor_grad02: #34c9a0;
			--fieldColor_grad03: #32d2d4;
		}
		&[class^="section_event__acupuncture"] {
			/*鍼灸師*/
			--fieldColor_grad01: #36bf65;
			--fieldColor_grad02: #34c99e;
			--fieldColor_grad03: #32d2d4;
		}
		&[class^="section_event__physical-therapy"] {
			/*理学療法士*/
			--fieldColor_grad01: #ff7e0e;
			--fieldColor_grad02: #c0b278;
			--fieldColor_grad03: #91d9c5;
		}
		&[class^="section_event__occupational-therapy"] {
			/*作業療法士*/
			--fieldColor_grad01: #ff7e0f;
			--fieldColor_grad02: #c0b277;
			--fieldColor_grad03: #91d9c6;
		}
		&[class^="section_event__dental-hygiene"] {
			/*歯科衛生士*/
			--fieldColor_grad01: #2ab6fc;
			--fieldColor_grad02: #64cade;
			--fieldColor_grad03: #91d9c6;
		}
	}

	@media (min-width: 768px) {
		/*PC*/
		[class^="section_event"] {
			.eventlist_wrap {
				.swiper-scrollbar {
					width: calc(100% - (100% - 1000px)/2);
				}
			}
			.event_list {
				> [class^="event"] {
					width: clamp(380px, 30vw, 400px);
				}
			}
		}
	}
	@media (max-width: 800px) {
		/*TB*/
		[class^="section_event"] {
			> [class^="section_title"] {
				padding-inline: 3vw;
			}
			.job_databox {
				padding-inline: 3vw;
				> [class^="databox_box"] {
					flex-direction: column;
					> [class^="databox_title"] {
						width: fit-content;
					}
				}
			}
			.eventlist_wrap {
				padding-left: 3vw;
			}
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_event"] {
			> [class^="section_title"] {
				padding-inline: 3vw;
			}
			.job_databox {
				padding-inline: 3vw;
				> [class^="databox_box"] {
					flex-direction: column;
					> [class^="databox_title"] {
						width: fit-content;
					}
					> [class^="databox_content"] {
						font-size: 2.85vw;
					}
				}
			}
			.eventlist_wrap {
				padding-left: 3vw;
				.swiper-scrollbar {
					width: calc(100% - 6vw);
					translate: 3vw 0;
				}
			}
			.event_list {
				> [class^="event"] {
					width: 60vw;
					> .txtwrap {
						padding-inline: 3vw;
					}
					.date {
						font-size: 3vw;
						padding-block: 2vw 3vw;
					}
				}
			}
		}
	}




	/*
	* ＝＝＝＝＝＝＝＝＝＝ よくある質問 ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__faq"] {
		--faq_color: #4661d9;
		.faq_list {
			display: flex;
			flex-direction: column;
			gap: min(3vw, 0.5rem);
			background: #f2f2f2;
			border-radius: min(3vw, 2rem);
			padding: min(3vw, 2.5rem);
			margin-block: min(6vw, 2.5rem);
			> [class^="faq"] {
				position: relative;
				background: var(--faqItem_bg, #fff);
				color: #555;
				transition: background .3s;
				.faq_details {
					--faqIcon_size: min(6vw, 2.5rem);
					--faqIcon_bg: var(--faq_color);
					--faqIcon_txt: #fff;
					--faqIcon_pdX: min(3vw, 1.5rem);
					--faqIcon_pdY: min(3vw, 1rem);
					position: relative;
					> [class^="item_summary"] {
						position: relative;
						display: flex;
						align-items: center;
						gap: min(3vw, 1rem);
						font-size: min(3.5vw, 1rem);
						font-weight: 700;
						cursor: pointer;
						padding: var(--faqIcon_pdY) var(--faqIcon_pdX);
						.q_txt {
							flex-grow: 1;
							display: flex;
							align-items: center;
							gap: min(3vw, 1rem);
							&:before {
								font-family: var(--pageFont_engGothic01);
								font-size: min(7vw, 3rem);
								font-weight: 500;
								content: "Q";
								color: var(--faq_color);
							}
						}
						&:before,
						&:after {
							width: calc( var(--faqIcon_size) - var(--faqIcon_diffSize, 0px) );
							height: calc( var(--faqIcon_size) - var(--faqIcon_diffSize, 0px) );
							aspect-ratio: 1;
							content: "";
						}
						&:before {
							--faqIcon_diffSize: min(3vw, 20px);
							position: absolute;
							top: 50%;
							/*right: calc(var(--faqIcon_pdX) + var(--faqIcon_diffSize));*/
							right: var(--faqIcon_pdX);
							transform: translate(calc( -1 * (var(--faqIcon_size) - var(--faqIcon_diffSize))/2  ), -50%);
							background: 
								linear-gradient(0deg, rgba(0,0,0, 0) calc(50% - 1px), #fff calc(50% - 1px), #fff calc(50% + 1px), rgba(0,0,0, 0) calc(50% + 1px)),
								linear-gradient(90deg, rgba(0,0,0, 0) calc(50% - 1px), #fff calc(50% - 1px), #fff calc(50% + 1px), rgba(0,0,0, 0) calc(50% + 1px))
							;
							z-index: 2;
							transition: background .3s;
						}
						&:after {
							border-radius: 50%;
							background: var(--toggle_faqIcon_bg, var(--faqIcon_bg, #fff));
							color: var(--toggle_faqIcon_txt, var(--faqIcon_txt, var(--faq_color)));
							transition: content .3s, background .3s, color .3s;
							z-index: 1;
						}
					}
					> [class^="item_content"] {
						display: flex;
						flex-direction: column;
						gap: min(3vw, 1rem);
						padding-inline: min(6vw, 4rem) min(6vw, 3rem);
						padding-bottom: min(4vw, 2rem);
						.txt {
							padding-right: min(5vw, 2.5rem);
						}
						.btnbox {
							> a {
								display: inline-block;
								border: 2px solid var(--pageColor_base);
								background: var(--hover_btnBg, var(--pageColor_base));
								color: var(--hover_btnTxt, #fff);
								border-radius: min(1vw, 0.25rem);
								padding: min(1vw, 0.5rem) min(3vw, 1.25rem);
								transition: background .3s, color .3s;
								&:hover {
									--hover_btnBg: #fff;
									--hover_btnTxt: var(--pageColor_base);
								}
							}
						}
					}
				}
				&:has( .faq_details[open] ) {
					--faqItem_bg: color-mix(in srgb, var(--pageColor_base), #fff 90%);
					--faqIcon_icon: "-";
					--toggle_faqIcon_bg: #fff;
					--toggle_faqIcon_txt: var(--faq_color);
					.faq_details {
						> [class^="item_summary"] {
							&:before {
								background: 
									linear-gradient(0deg, rgba(0,0,0, 0) calc(50% - 1px), var(--pageColor_base) calc(50% - 1px), var(--pageColor_base) calc(50% + 1px), rgba(0,0,0, 0) calc(50% + 1px))
								;
							}
						}
					}
				}
			}
		}
	}

	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__faq"] {
			padding-inline: 3vw;
			.faq_list {
				> [class^="faq"] {
					.faq_details {
						> [class^="item_summary"] {
							.q_txt {
								width: 80%;
							}
						}
						> [class^="item_content"] {
							font-size: 3.25vw;
							line-height: 1.5;
						}
					}
				}
			}
		}
	}
}










/*
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝ イベント一覧（results） ＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
*/
.main--eventListItem {


	/*
	* ＝＝＝＝＝＝＝＝＝＝ 絞り込み検索エリア ＝＝＝＝＝＝＝＝＝＝
	*/
	.area_search {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: min(6vw, 2.5rem);
		padding-block: min(10vw, 5rem);
		.downselect_databox {
			> [class^="databox_box"] {
				display: flex;
				gap: min(3vw, 1rem);
				> [class^="databox_title"] {
					align-content: center;
				}
				> [class^="databox_content"] {
					.downselect_list {
						display: flex;
						flex-wrap: wrap;
						gap: min(3vw, 1rem) min(3vw, 0.5rem);
						> [class^="downselect"] {
							display: flex;
							align-items: center;
							gap: min(1vw, 0.5rem);
							border: 1px solid #aaa;
							border-radius: min(1vw, 4px);
							padding: min(1vw, 0.25rem) min(3vw, 1rem);
							.name {
								align-content: center;
							}
							.icon_remove {
								font-size: min(4.5vw, 1.25rem);
								font-weight: 700;
								line-height: 1;
								translate: 0 -2px;
							}
						}
					}
				}
			}
		}
		> button[name^="downselectSelect_open"] {
			display: block;
			cursor: pointer;
			width: fit-content;
			font-size: min(4vw, 1rem);
			text-align: center;
			font-family: var(--pageFont_icon), var(--pageFont_jpGothic01);
			font-weight: 700;
			line-height: 1.5;
			letter-spacing: .04em;
			font-feature-settings: "palt";
			color: var(--btn_text, #333);
			border: 1px solid #333;
			border-radius: 100px;
			background: var(--btn_bg, #fff);
			padding: min(3vw, 1rem);
			transition: all .3s ease-in-out;
			&:hover {
				--btn_bg: #333;
				--btn_text: #fff;
			}
		}
		> dialog.areaDialogContents {
			width: min(100%, 1100px);
			border-radius: min(3vw, 1rem);
			padding: min(3vw, 2.5rem);
			overscroll-behavior: contain;
			&::backdrop {
				background: rgba(0,0,0,.5);
			}
			.areaDialog_inner {
				position: relative;
				> button.close_icon {
					position: absolute;
					top: 0;
					right: 0;
					font-size: min(6vw, 2rem);
					font-weight: 700;
				}
				> .title {
					font-size: min(6vw, 2rem);
					font-weight: 700;
				}
			}
			.terms_databox {
				--termbox_spaceRow: min(10vw, 2.5rem);
				display: flex;
				flex-direction: column;
				gap: var(--termbox_spaceRow);
				font-size: min(3.5vw, 0.85rem);
				> [class^="databox_box"] {
					position: relative;
					display: flex;
					gap: min(3vw, 2rem);
					> [class^="databox_title"] {
						flex: 1;
						font-size: min(4.25vw, 1rem);
					}
					> [class^="databox_content"] {
						flex: 2.5;
						align-content: center;
						label.checkbox_label {
							display: flex;
							align-items: center;
							gap: min(2vw, 0.5rem);
							border: 1px solid var(--checkLabel, #ccc);
							border-radius: min(1vw, 0.25rem);
							background: #f5f5f5;
							padding: min(2vw, 0.5rem) min(2vw, 0.75rem);
							cursor: pointer;
							> input[type="checkbox"] {
								position: relative;
								display: flex;
								align-items: center;
								gap: min(2vw, 0.5rem);
								&:before,
								&:after {
									width: min(5vw, 1rem);
									height: auto;
									aspect-ratio: 1;
								}
								&:before {
									display: block;
									content: "";
									background: var(--checkbox_bg, #fff);
									border: 1px solid var(--checkbox_bd, #ccc);
									border-radius: min(1vw, 3px);
								}
								&:after {
									position: absolute;
									top: 50%;
									left: 0;
									transform: translate(0, -50%);
									font-family: var(--pageFont_icon);
									font-weight: 700;
									content: var(--checkbox_icon, none);
									color: #fff;
									text-align: center;
									align-content: center;
								}
								&:checked {
								}
							}
							&:has( > input[type="checkbox"]:checked ) {
								--checkLabel: var(--pageColor_base);

								--checkbox_bg: var(--pageColor_base);
								--checkbox_bd: var(--pageColor_base);
								--checkbox_icon: "\f00c";
							}
						}
						.selectItem_list {
							display: flex;
							flex-wrap: wrap;
							gap: min(2vw, 1rem);
							> [class^="selectItem"] {

							}
						}
						.opendate_list {
							--opendate_spaceClm: min(6vw, 3rem);
							display: flex;
							gap: min(3vw, 1rem) var(--opendate_spaceClm);
							> [class^="opendate"] {
								position: relative;
								> .selectItem_list {
									> [class^="selectItem"] {
										display: flex;
										align-items: center;
										gap: min(3vw, 1rem);
										&:has( input[type="checkbox"]:checked ) {
											> .datebox {
												--open_selectPos: relative;
												--open_selectVisible: visible;
											}
										}
									}
								}
								&:not(:last-child) {
									&:after {
										position: absolute;
										top: 50%;
										right: 0;
										transform: translate(calc(var(--opendate_spaceClm)/2 + 50%), -50%);
										content: "";
										width: 1px;
										height: 100%;
										background: #ccc;
									}
								}
							}
							.datebox {
								position: var(--open_selectPos, absolute);
								visibility: var(--open_selectVisible, hidden);
								display: flex;
								align-items: center;
								gap: min(3vw, 1rem);
								> [class^="dateSelect"] {
									display: flex;
									align-items: center;
									gap: min(3vw, 0.5rem);
									.selectbox {
										position: relative;
										display: block;
										&:after {
											position: absolute;
											top: 50%;
											right: min(1vw, 0.5rem);
											transform: translate(0, -50%);
											font-family: var(--pageFont_icon);
											font-weight: 700;
											content: "\f107";
											pointer-events: none;
										}
									}
									select[name^="selectItem_date"] {
										border: 1px solid var(--checkLabel, #ccc);
										border-radius: min(1vw, 0.25rem);
										background: #f5f5f5;
										padding-block: min(2vw, 0.5rem);
										padding-inline: min(2vw, 0.75rem) min(5vw, 1.5rem);
										cursor: pointer;
									}
								}
							}
						}
					}
					&:after {
						position: absolute;
						bottom: 0;
						left: 50%;
						transform: translate(-50%, calc(var(--termbox_spaceRow)/2 + 50%));
						content: "";
						width: 100%;
						height: 1px;
						background: #aaa;
					}
				}
			}
			.submit_btnlist {
				display: flex;
				justify-content: center;
				gap: min(3vw, 1.5rem);
				margin-block: min(10vw, 3.5rem) 0;
				> [class^="submit_btn"] {
					align-content: center;
					> button {
						font-weight: 700;
						&[name="selectItem_submit"] {
							/*検索ボタン*/
							border-radius: 100vmax;
							border: 2px solid #333;
							background: var(--btn_bg, #333);
							color: var(--btn_text, #fff);
							text-align: center;
							padding-block: min(3vw, 0.5rem);
							padding-inline: min(3vw, 1rem);
							transition: background .3s, color .3s;
							&:hover {
								--btn_bg: #fff;
								--btn_text: #333;
							}
						}
						&[name="selectItem_reset"] {
							/*リセットボタン*/
							text-decoration: underline;
							&:hover {
								opacity: 0.75;
								text-decoration: none;
							}
						}
					}
				}
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
		.area_search {
			> dialog.areaDialogContents {
				.terms_databox {
					> [class^="databox_box"] {
						> [clss^="databox_title"] {
							padding-block: min(3vw, 1.5rem);
						}
					}
				}
			}
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		.area_search {
			flex-direction: column-reverse;
			padding-inline: 6vw;
			button[name^="downselectSelect_open"] {
				width: 100%;
			}
			.downselect_databox {
				width: 100%;
				> [class^="databox_box"] {
					flex-direction: column;
				}
			}
			> dialog.areaDialogContents {
				.terms_databox {
					margin-top: 6vw;
					> [class^="databox_box"] {
						flex-direction: column;
						> [class^="databox_content"] {
							.opendate_list {
								flex-direction: column;
								> [class^="opendate"] {
									> .selectItem_list {
										> [class^="selectItem"] {
											&:has( .datebox ) {
												flex-direction: column;
												align-items: flex-start;
												width: 100%;
											}
										}
									}
								}
							}
						}
					}
				}
				.submit_btnlist {
					flex-direction: column;
					align-items: center;
				}
			}
		}
	}



	.event_list {
		display: grid;
		grid-template-columns: var(--eventGrid_clm, repeat(3, minmax(0, 1fr)));
		gap: min(6vw, 2rem) min(3vw, 1.5rem);
		margin-bottom: min(10vw, 5rem);
		> [class^="event"] {
			> .eventlink_list {
				padding-bottom: min(3vw, 1rem);
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		.event_list {
			--eventGrid_clm: 1fr;
			padding-inline: 6vw;
			> [class^="event"] {
				box-shadow: none;
				> .txtwrap {
					> .event_title {
						font-size: 4.5vw;
					}
				}
				.eventlink_list {
					> [class^="eventlink"] {
						> a {
							font-size: 3.5vw;
						}
					}
				}
			}
		}
	}


	[class^="section_area"],
	.noEvent_box {
		margin-block: 0 min(10vw, 5rem);
		> .title {
			font-size: min(5vw, 2rem);
			font-weight: 700;
			margin-bottom: min(3vw, 1rem);
		}
		> .txt {

		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
	}

}










/*
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝ イベント詳細（single） ＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
*/
.main--eventDetailItem {

	/*
	* ＝＝＝＝＝＝＝＝＝＝ 共通 ＝＝＝＝＝＝＝＝＝＝
	*/
	.select_wrap {
		position: relative;
		&:has( > select ) {
			&:after {
				position: absolute;
				top: 50%;
				right: min(3vw, 1rem);
				transform: translate(0, -50%);
				font-family: var(--pageFont_icon);
				font-weight: 700;
				content: "\f107";
				pointer-events: none;
			}
		}
	}
	select.entry_select {
		background: #f5f5f5;
		border: 1px solid #ccc;
		border-radius: min(1vw, 0.25rem);
		font-weight: 400;
		padding-block: min(3vw, 0.75rem);
		padding-inline: min(3vw, 1rem) min(6vw, 2rem);
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
	}

	/*
	* ＝＝＝＝＝＝＝＝＝＝ MV ＝＝＝＝＝＝＝＝＝＝
	*/
	.area_mv {
		background: #f5f5f5;
		padding-block: min(10vw, 5rem) min(3vw, 1rem);
		padding-inline: min(6vw, 2.5rem);
		> .inner {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: min(6vw, 5rem);
			width: min(100%, 1200px);
			margin-inline: auto;
			> .photo {
				flex: 1;
				img {
					width: 100%;
					height: auto;
					border-radius: min(1vw, 0.25rem);
				}
			}
			> .txtwrap {
				flex: 1;
				> .phrase {
					font-size: min(3.5vw, 1rem);
					font-weight: 700;
				}
				> .event_title {
					font-size: min(5.5vw, 2rem);
					font-weight: 700;
				}
				.entry_databox {
					margin-block: min(6vw, 2.5rem);
					> [class^="databox_box"] {
						display: flex;
						flex-direction: column;
						align-items: center;
						gap: min(3vw, 1rem);
						background: #fff;
						border-radius: min(1vw, 0.5rem);
						padding: min(3vw, 2rem);
						> [class^="databox_title"] {
							font-size: min(3.75vw, 1rem);
							font-weight: 400;
						}
						> [class^="databox_content"] {
							display: flex;
							flex-direction: column;
							align-items: center;
							gap: min(3vw, 1.5rem);
							> [class^="btnbox_link__entry"] {
								width: min(100%, 320px);
								> a {
									width: 100%;
								}
							}
						}
					}
				}
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		.area_mv {
			> .inner {
				flex-direction: column;
				> .txtwrap {
					width: 100%;
					.entry_databox {
						> [class^="databox_box"] {
							> [class^="databox_content"] {
								width: 100%;
								.select_wrap,
								select {
									width: 100%;
								}
							}
						}
					}
				}
			}
		}
	}

	/*
	* ＝＝＝＝＝＝＝＝＝＝ メインコンテンツ ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__detailEvent"] {
		width: min(100%, 1200px);
		margin-inline: auto;
		margin-block: min(10vw, 5rem);
		.tag_field_list {
			display: flex;
			flex-wrap: wrap;
			gap: min(3vw, 0.5rem);
			margin-block: 0 min(6vw, 2.5rem);
			> [class^="field"] {
				background: var(--fieldColor, var(--pageColor_base));
				color: #fff;
				font-weight: 700;
				border-radius: min(1vw, 0.25rem);
				padding: min(1vw, 0.25rem) min(3vw, 1rem);
			}
		}
		.titlebox_event {
			position: relative;
			display: flex;
			flex-direction: column;
			font-size: min(6vw, 1.875rem);
			font-weight: 700;
			margin-block: min(6vw, 2.875rem);
			&:before,
			&:after {
				--iconSize: min(1vw, 6px);
				position: absolute;
				top: 0;
				left: 0;
				content: "";
				width: var(--iconSize);
				height: auto;
				aspect-ratio: 1;
				background: var(--titleIcon_bg, #333);
			}
			&:before {
				--titleIcon_bg: var(--pageColor_base);
				transform: translate( min(1vw, 0.25rem), calc( -1 * min(2vw, 0.5rem) - 100%) );
			}
			&:after {
				--titleIcon_bg: #fe595c;
				transform: translate( calc( var(--iconSize) * 2 + min(1vw, 0.25rem) ), calc( -1 * min(2vw, 0.5rem) - 100%));
			}
			> .sub {
				font-size: min(3.5vw, 0.95rem);
				font-weight: 700;
			}
			> .event_title {
				font-size: min(6vw, 1.875rem);
				font-weight: 700;
			}
		}
		.leadbox {
			display: flex;
			flex-direction: column;
			gap: min(3vw, 1rem);
			margin-block: 0 min(6vw, 2.5rem);
			> .sub {

			}
			> .notes {

			}
			> [class^="btnbox"] {
				--custom_btnbox_pdY: min(2vw, 0.45rem);
				width: fit-content;
				> a {
					font-size: min(4vw, 0.85rem);
				}
			}
			.bnr_wrap {
				> .bnrbox {
					text-align: center;
					margin-block: min(3vw, 1.5rem);
					img {
						width: min(85%, 750px);
						height: auto;
					}
				}
			}
		}
	}
	@media (max-width: 1200px) {
		/*PC*/
		[class^="section_area__detailEvent"] {
			padding-inline: 3vw;
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__detailEvent"] {
			padding-inline: 6vw;
			.tag_field_list {
				font-size: 3vw;
			}
			.leadbox {
				font-size: 3.25vw;
			}
		}
	}


	/*
	* ＝＝＝＝＝＝＝＝＝＝ 開催日程 ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_sub__opendate"] {
		.opendate_list {
			display: flex;
			flex-direction: column;
			gap: min(3vw, 1rem);
			background: #f5f5f5;
			border-radius: min(3vw, 0.5rem);
			padding-inline: min(3vw, 1.5rem);
			padding-block: min(3vw, 1.5rem);
			margin-block: min(3vw, 1.25rem) 0;
			> [class^="opendate"] {
				display: flex;
				align-items: center;
				gap: min(3vw, 1.5rem);
				background: #fff;
				border-radius: min(3vw, 0.5rem);
				font-size: min(4vw, 1.15rem);
				font-weight: 700;
				padding: min(3vw, 1rem) min(3vw, 2rem);
				&[data-show="false"] {
					display: none;
				}
			}
		}
		[class^="btnwrap__more"] {
			width: min(85%, 500px);
			margin-block: min(3vw, 1rem);
			margin-inline: auto;
			> button {
				margin-inline: auto;
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
		[class^="section_sub__opendate"] {
			.opendate_list {
				> [class^="opendate"] {
					> .date_txt {
						flex: 3;
					}
					> [class^="btnbox_link"] {
						flex: 1;
					}
				}
			}
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_sub__opendate"] {
			.opendate_list {
				> [class^="opendate"] {
					> .date_txt {
						flex-grow: 1;
					}
					> [class^="btnbox_link"] {
						> a {
							font-size: 3.7333vw;
						}
					}
				}
			}
		}
	}

	/*
	* ＝＝＝＝＝＝＝＝＝＝ 記事本文 ＝＝＝＝＝＝＝＝＝＝
	*/
	.detailbox {
		margin-block: min(10vw, 5rem);
		h2 {
			position: relative;
			font-size: min(6vw, 1.875rem);
			font-weight: 700;
			margin-block: min(6vw, 2.875rem);
			&:before,
			&:after {
				--iconSize: min(1vw, 6px);
				position: absolute;
				top: 0;
				left: 0;
				content: "";
				width: var(--iconSize);
				height: auto;
				aspect-ratio: 1;
				background: var(--titleIcon_bg, #333);
			}
			&:before {
				--titleIcon_bg: var(--pageColor_base);
				transform: translate( min(1vw, 0.25rem), calc( -1 * min(2vw, 0.5rem) - 100%) );
			}
			&:after {
				--titleIcon_bg: #fe595c;
				transform: translate( calc( var(--iconSize) * 2 + min(1vw, 0.25rem) ), calc( -1 * min(2vw, 0.5rem) - 100%));
			}
		}
		h3 {
			position: relative;
			display: flex;
			align-items: center;
			gap: min(3vw, 1rem);
			font-size: min(4.5vw, 1.625rem);
			font-weight: 700;
			border-bottom: 1px solid #d7dbdf;
			margin-block: min(3vw, 1rem);
			padding-inline: min(3vw, 0.75rem) 0;
			padding-block: 0 5px;
			&:before {
				--iconSize: min(1vw, 6px);
				--titleIcon_bg: var(--pageColor_base);
				position: absolute;
				top: 0;
				left: 0;
				transform: translate( min(1vw, 0.25rem), -100% );
				content: "";
				width: var(--iconSize);
				height: auto;
				aspect-ratio: 1;
				background: var(--titleIcon_bg, #333);
			}
		}
		h4 {
			position: relative;
			display: flex;
			align-items: center;
			gap: min(3vw, 1rem);
			font-size: min(3.75vw, 1.25rem);
			font-weight: 700;
			color: var(--pageColor_base);
			padding-block: min(1vw, 0.25rem);
			margin-block: min(3vw, 1rem);
			&:after {
				content: "";
				flex-grow: 1;
				height: 1px;
				background: #d7dbdf;
			}
		}

		[class^="wp-block"] {
			& + h2 {
				margin-top: min(6vw, 2rem);
			}
			& + h3 {
				margin-top: min(6vw, 2rem);
			}
		}
		> p {
			+ h2 {
				margin-top: min(6vw, 2rem);
			}
			+ h3 {
				margin-top: min(6vw, 2rem);
			}
			+ h4 {
				margin-top: min(6vw, 2rem);
			}
		}
		.modSectionLv03,
		figure.wp-block-table,
		figure.wp-block-image,
		figure.imageFull,
		.group,
		.modListCard,
		.modIframe {
			margin-bottom: clamp(40px, 6vw, 100px);
		}
		.flexRow {
			margin-bottom: clamp(40px, 6vw, 60px);
		}

		> ul.wp-block-list {
			> li {
				display: flex;
				align-items: flex-start;
				gap: min(3vw, 0.5rem);
				&:before {
					display: block;
					content: "";
					width: min(2vw, 0.35rem);
					height: auto;
					aspect-ratio: 1;
					background: var(--pageColor_base);
					margin-top: 0.75em;
					translate: 0 -50%;
				}
			}
		}
		> ol {
			list-style-type: decimal;
			margin-block: min(3vw, 1rem);
			margin-left: 1.25em;
		}
		img {
			border-radius: min(3vw, 1.5rem);
		}
		figure.wp-block-table {
			> table {
				border-color: #BCBEC2;
				th {
					text-align: center;
					vertical-align: middle;
					font-weight: 700;
					padding: min(3vw, 1rem);
				}
				td {
					font-weight: 700;
					text-align: center;
					padding: min(3vw, 1rem);
				}
				> thead {
					border-bottom: 0;
					th {
						background: #899098;
						color: #fff;
					}
				}
				> tbody {
					th {

					}
					td {

					}
				}
			}
		}
		figure[class^="image"] {
			text-align: center;
			+ h2 {
				margin-top: min(6vw, 3rem);
			}
			+ h3 {
				margin-top: min(6vw, 3rem);
			}
		}
		div.group {
			display: grid;
			grid-template-columns: var(--groupItemGrid_clm, repeat(3, minmax(0, 1fr)));
			gap: min(3vw, 35px);
			> .group__column {
				figure {
					display: flex;
					flex-direction: column;
					gap: min(3vw, 1rem);
				}
				img {
					border-radius: min(3vw, 0.75rem);
				}
				> ul {
					> li {
						display: flex;
						align-items: flex-start;
						gap: min(3vw, 0.5rem);
						&:before {
							display: block;
							content: "";
							width: min(2vw, 0.35rem);
							height: auto;
							aspect-ratio: 1;
							background: var(--pageColor_base);
							margin-top: 0.75em;
							translate: 0 -50%;
						}
					}
				}
			}
			+ h2 {
				margin-top: min(6vw, 3rem);
			}
			+ h3 {
				margin-top: min(6vw, 3rem);
			}
		}
		div.flexRow {
			.flexRow__content {
				> h4 {
					> span {
						background: #FAE805;
						padding-inline: min(1vw, 0.5rem);
					}
					&:after {
						content: none;
					}
				}
				> p {
					line-height: 1.8;
				}
			}
		}

		div.modFlexBox__wrapper {
			> [class*="modFlexBox--"] {
				display: grid;
				grid-template-columns: var(--flexGrid_clm, repeat(4, minmax(0, 1fr)));
				gap: min(3vw, 35px);
			}
			.modFlexBox--4rows {
			}
			.modFlexBox__section--reverse {
				display: flex;
				flex-direction: column-reverse;
			}
			.modFlexBox__section__content {
				flex-grow: 1;
				.title {
					flex-wrap: wrap;
				}
				> a.modBtn {
					margin-top: auto;
				}
			}
		}

		ul.modFlexRowBox {
			/*フロー（縦組み）*/
			&.modFlexRowBox--typeNum {
				display: flex;
				flex-direction: column;
				gap: min(6vw, 1.25rem);
				counter-reset: rowItemCounter 0;
				> [class^="modFlexRowBox__item"] {
					position: relative;
					background: #F2F2F2;
					counter-increment: rowItemCounter 1;
					padding: min(3vw, 1.5rem);
					.modFlexRowBox__item__content {
						display: flex;
						.txtbox {
							--iconSize: min(9vw, 2.5rem);
							display: flex;
							flex-direction: column;
							gap: min(3vw, 0.75rem);
							> .caption {
								display: flex;
								align-items: center;
								gap: min(3vw, 1rem);
								font-size: min(4.75vw, 1.25rem);
								font-weight: 700;
								&:before {
									display: block;
									content: counter(rowItemCounter, decimal-leading-zero);
									color: #fff;
									font-size: min(4.5vw, 1.25rem);
									font-weight: 300;
									text-align: center;
									align-content: center;
									background: var(--pageColor_base);
									border-radius: min(3vw, 0.5rem);
									width: var(--iconSize);
									height: auto;
									aspect-ratio: 1;
								}
							}
							> .modText {
								padding-left: calc(var(--iconSize) + min(3vw, 1rem));
							}
						}
						> a.modBtn {
						}
					}
				}
			}
		}
		ul.modListCard {
			&.modListCard--4cols {
				display: grid;
				grid-template-columns: var(--cardItemGrid_clm, repeat(4, minmax(0, 1fr)));
				gap: min(3vw, 35px);
				> [class^="modListCard__item"] {
					figure.image {
						img {
							width: auto;
							max-width: 100%;
							border-radius: min(3vw, 0.75rem);
						}
					}
					.content {
						display: flex;
						flex-direction: column;
						gap: min(3vw, 0.5rem);
						margin-block: min(3vw, 0.75rem) 0;
						> .content__title {
							font-size: 1.05em;
							font-weight: 700;
						}
					}
				}
			}
			&.modListCard--flowImages {
				display: grid;
				grid-template-columns: var(--cardItemGrid_clm, repeat(3, minmax(0, 1fr)));
				gap: min(3vw, 35px);
				counter-reset: flowCounter 0;
				> [class^="modListCard__item"] {
					background: #F2F2F2;
					counter-increment: flowCounter 1;
					padding: min(6vw, 1.5rem);
					.numTitle {
						--iconSize: min(9vw, 2.5rem);
						position: relative;
						border-bottom: 0;
						margin-top: 0;
						padding-left: calc(var(--iconSize) + min(3vw, 1rem));
						&:before {
							position: absolute;
							top: 0;
							left: 0;
							content: counter(flowCounter, decimal-leading-zero);
							color: #fff;
							font-weight: 300;
							text-align: center;
							align-content: center;
							background: var(--pageColor_base);
							border-radius: min(3vw, 0.5rem);
							width: var(--iconSize);
							height: auto;
							aspect-ratio: 1;
						}
					}
					figure.image {
						img {
							width: auto;
							max-width: 100%;
							border-radius: min(3vw, 0.75rem);
						}
					}
					.content {
						margin-block: min(3vw, 0.75rem) 0;
					}
				}
			}
			&.modListCard__trialMenu {
				> [class^="modListCard__item"] {
					.content__title {
						color: var(--itemColor, #333);
						border-left: 4px solid var(--itemColor, #333);
						padding-inline: min(3vw, 1rem) 0;
						padding-block: min(1vw, 0.25rem);
					}
				}
			}
		}
		ul.modProfile {
			/*プロフィール*/
			> [class^="modProfile__item"] {
				display: flex;
				align-items: center;
				gap: min(3vw, 5rem);
				background: #F5F5F5;
				border-radius: min(3vw, 1rem);
				padding: min(6vw, 2.5rem) min(3vw, 2.5rem);
				> .modProfile__item__image {
					img {
						border-radius: min(3vw, 1rem);
					}
				}
				> .modProfile__item__content {
					display: flex;
					flex-direction: column;
					gap: min(3vw, 0.75rem);
					.modText {

					}
					.name {
						font-size: min(5vw, 1.65rem);
						font-weight: 700;
					}
					.modText {

					}
				}
			}
		}
		div.modListAccordion {
			/*アコーディオン*/
			display: flex;
			flex-direction: column;
			gap: min(3vw, 0.5rem);
			background: #f2f2f2;
			border-radius: min(3vw, 2rem);
			padding: min(3vw, 2.5rem);
			margin-block: min(6vw, 2.5rem);
			> [class^="modListAccordion__item"] {
				position: relative;
				background: var(--faqItem_bg, #fff);
				color: #555;
				transition: background .3s;
				> .modListAccordion__item__title {
					--faqIcon_size: min(6vw, 2.5rem);
					--faqIcon_bg: var(--pageColor_base);
					--faqIcon_txt: #fff;
					--faqIcon_pdX: min(3vw, 1.5rem);
					--faqIcon_pdY: min(3vw, 1rem);
					position: relative;
					display: flex;
					justify-content: space-between;
					align-items: center;
					gap: min(3vw, 1rem);
					font-size: min(3.5vw, 1rem);
					font-weight: 700;
					cursor: pointer;
					padding: var(--faqIcon_pdY) var(--faqIcon_pdX);
					&:before,
					&:after {
						width: calc( var(--faqIcon_size) - var(--faqIcon_diffSize, 0px) );
						height: auto;
						aspect-ratio: 1;
						content: "";
					}
					&:before {
						--faqIcon_diffSize: min(3vw, 20px);
						position: absolute;
						top: 50%;
						right: var(--faqIcon_pdX);
						transform: translate(calc( -1 * (var(--faqIcon_size) - var(--faqIcon_diffSize))/2  ), -50%);
						background: 
							linear-gradient(0deg, rgba(0,0,0, 0) calc(50% - 1px), #fff calc(50% - 1px), #fff calc(50% + 1px), rgba(0,0,0, 0) calc(50% + 1px)),
							linear-gradient(90deg, rgba(0,0,0, 0) calc(50% - 1px), #fff calc(50% - 1px), #fff calc(50% + 1px), rgba(0,0,0, 0) calc(50% + 1px))
						;
						z-index: 2;
						transition: background .3s;
					}
					&:after {
						border-radius: 50%;
						background: var(--toggle_faqIcon_bg, var(--faqIcon_bg, #fff));
						color: var(--toggle_faqIcon_txt, var(--faqIcon_txt, var(--faq_color)));
						transition: content .3s, background .3s, color .3s;
						z-index: 1;
					}
				}
				> .modListAccordion__item__content {
					display: flex;
					flex-direction: column;
					gap: min(3vw, 1rem);
					padding-inline: min(3vw, 1.5rem);
					padding-bottom: min(4vw, 2rem);
					.txt {
						padding-right: min(5vw, 2.5rem);
					}
					.btnbox {
						> a {
							display: inline-block;
							border: 2px solid var(--pageColor_base);
							background: var(--hover_btnBg, var(--pageColor_base));
							color: var(--hover_btnTxt, #fff);
							border-radius: min(1vw, 0.25rem);
							padding: min(1vw, 0.5rem) min(3vw, 1.25rem);
							transition: background .3s, color .3s;
							&:hover {
								--hover_btnBg: #fff;
								--hover_btnTxt: var(--pageColor_base);
							}
						}
					}
				}
				&.is-open {
					--faqItem_bg: color-mix(in srgb, var(--pageColor_base), #fff 90%);
					--faqIcon_icon: "-";
					--toggle_faqIcon_bg: #fff;
					--toggle_faqIcon_txt: var(--faq_color);
					> .modListAccordion__item__title {
						&:before {
							background: 
								linear-gradient(0deg, rgba(0,0,0, 0) calc(50% - 1px), var(--pageColor_base) calc(50% - 1px), var(--pageColor_base) calc(50% + 1px), rgba(0,0,0, 0) calc(50% + 1px))
							;
						}
					}
				}
			}
		}
		div.modIframe {
			/*iframe系*/
			text-align: center;
			&.modIframe--map {
				> iframe {
					width: 100%;
				}
			}
		}
		div.wp-block-button {
			/*ボタン*/
			> a.wp-block-button__link {
				position: relative;
				background: #fff;
				border: 1px solid #000;
				color: #000;
				transition: background .3s, color .3s;
				&:after {
					position: absolute;
					top: 50%;
					right: min(3vw, 1.5rem);
					transform: translate(0, -50%) rotate(45deg);
					content: "";
					width: min(2vw, 0.65rem);
					height: auto;
					aspect-ratio: 1;
					border-top: 1px solid var(--bdColor, #000);
					border-right: 1px solid var(--bdColor, #000);
					transition: border .3s;
				}
				&:hover {
					--bdColor: #fff;
					background: #000;
					color: #fff;
				}
			}
		}
		a.modBtn {
			/*ボタン*/
			display: block;
			cursor: pointer;
			width: fit-content;
			font-weight: 700;
			line-height: 1.5;
			letter-spacing: 0.04em;
			min-width: 260px;
			padding: min(1.5vw, 1rem) min(3vw, 4rem);
			font-feature-settings: "palt";
			color: var(--btnColor_text, #000);
			border: 1px solid var(--btnColor_bd, #000);
			border-radius: 100px;
			background: var(--btnColor_bg, #fff);
			transition: all 0.3s ease-in-out;
			text-align: center;
			.modBtn__text {
				position: relative;
				display: flex;
				justify-content: center;
				align-items: center;
				gap: min(3vw, 8px);
			}
			&:hover {
				--btnColor_bg: #fff;
				--btnColor_bd: #000;
				--btnColor_text: #000;
			}
			&.modBtn--base {
				--btnColor_bg: var(--pageColor_base);
				--btnColor_bd: var(--pageColor_base);
				--btnColor_text: #fff;
				.modBtn__text {
					&:after {
						display: block;
						font-family: var(--pageFont_icon);
						font-weight: 700;
						content: "\f105";
						width: min(3vw, 1rem);
						height: auto;
						aspect-ratio: 1;
						align-content: center;
						
					}
				}
				&:hover {
					--btnColor_bg: #fff;
					--btnColor_bd: var(--pageColor_base);
					--btnColor_text: var(--pageColor_base);
				}
			}
			&.modBtn--line {
				--btnColor_line: #06C755;
				--btnColor_bg: var(--btnColor_line);
				--btnColor_bd: var(--btnColor_line);
				--btnColor_text: #fff;
				.modBtn__text {
					font-size: min(4.5vw, 1.15rem);
					&:before {
						display: block;
						font-family: var(--pageFont_brandIcon);
						font-size: min(5vw, 1.5rem);
						font-weight: 500;
						content: "\f3c0";
						width: min(6vw, 2rem);
						height: auto;
						aspect-ratio: 1;
						
					}
				}
				&:hover {
					--btnColor_bg: #fff;
					--btnColor_bd: var(--btnColor_line);
					--btnColor_text: var(--btnColor_line);
				}
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
		.detailbox {
			figure[class^="image"] {
				> img {
					width: auto;
				}
			}
			div.group {
				&:has( > div.group__column:nth-child(3):last-child ){
					--groupItemGrid_clm: repeat(3, minmax(0, 1fr));
					> .group__column {

					}
				}
				&:has( > div.group__column:nth-child(2):last-child ){
					--groupItemGrid_clm: repeat(2, minmax(0, 1fr));
					> .group__column {

					}
				}
			}

			div.flexRow {
				display: flex;
				gap: min(3vw, 35px);
				> .flexRow__image {
					flex: 1;
				}
				> .flexRow__content {
					flex: 1.5;
				}
				&.is-even {
					flex-direction: row-reverse;
				}
			}

			ul.modProfile {
				> [class^="modProfile__item"] {
					> .modProfile__item__image {
						flex: 1;
					}
					> .modProfile__item__content {
						flex: 2;
					}
				}
			}
			.modBpSp {
				display: none;
			}

			div.wp-block-button {
				/*ボタン*/
				> a.wp-block-button__link {
					width: clamp(350px, 40vw, 25rem);
				}
			}

			div.modFlexBox__wrapper {
				.modFlexBox--3rows {
					--flexGrid_clm: repeat(3, minmax(0, 1fr));
				}
				.modFlexBox--4rows {
					--flexGrid_clm: repeat(4, minmax(0, 1fr));
				}
			}

			ul.modFlexRowBox {
				/*フロー（縦組み）*/
				&.modFlexRowBox--typeNum {
					> [class^="modFlexRowBox__item"] {
						.modFlexRowBox__item__content {
							align-items: center;
							.txtbox {
								> .caption {
								}
								> .modText {
								}
							}
							> a.modBtn {
								margin-left: auto;
							}
						}
					}
				}
			}
			ul.modListCard {
				&.modListCard--flowImages {
					&.jsLoadWrap {
						> [class^="modListCard__item"] {
							display: block !important;
						}
					}
				}
			}
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		.detailbox {
			> p {
				font-size: 3vw;
			}
			figure.wp-block-table {
				> table {
					th {
						font-size: 3.25vw;
					}
					td {
						font-size: 3vw;
					}
				}
			}
			div.group {
				&:has( > div.group__column:nth-child(3):last-child ) {
					--groupItemGrid_clm: 1fr;
				}
				&:has( > div.group__column:nth-child(2):last-child ) {
					--groupItemGrid_clm: repeat(2, minmax(0, 1fr));
				}
			}

			ul.modProfile {
				/*プロフィール*/
				> [class^="modProfile__item"] {
					flex-direction: column;
					.modText {
						font-size: 3vw;
					}
				}
			}
			
			div.wp-block-button {
				/*ボタン*/
				width: 100%;
				> a.wp-block-button__link {
					width: 100%;
				}
			}

			div.modFlexBox__wrapper {
				.modFlexBox--3rows {
					--flexGrid_clm: repeat(2, minmax(0, 1fr));
				}
				.modFlexBox--4rows {
					--flexGrid_clm: repeat(2, minmax(0, 1fr));
				}
				.modFlexBox__section__content {
					> a.modBtn {
						min-width: 100%;
					}
				}
			}

			ul.modFlexRowBox {
				/*フロー（縦組み）*/
				&.modFlexRowBox--typeNum {
					> [class^="modFlexRowBox__item"] {
						.modFlexRowBox__item__content {
							flex-direction: column;
							align-items: flex-start;
							.txtbox {
								> .caption {
								}
								> .modText {
								}
							}
							> a.modBtn {
								margin-inline: auto;
								margin-top: 6vw;
							}
						}
					}
				}
			}
			ul.modListCard {
				&.modListCard--4cols {
					--cardItemGrid_clm: repeat(2, minmax(0, 1fr));
					.content__text {
						font-size: 3vw;
					}
				}
				&.modListCard--flowImages {
					--cardItemGrid_clm: repeat(1, minmax(0, 1fr));
					position: relative;
					.modListCard__item__section {
						> .numTitle {
							margin-bottom: 6vw;
						}
					}
					&.jsLoadWrap {
						&:not(.is-act) {
							&:after {
								position: absolute;
								bottom: 0;
								left: 0;
								content: "";
								width: 100%;
								height: min(300px, 50%);
								background: linear-gradient(0deg, #fff, rgba(0,0,0, 0) 75%);
							}
						}
					}
				}
			}
			.modBtn--loadmore {
				position: relative;
				display: flex;
				justify-content: center;
				align-items: center;
				gap: min(3vw, 1rem);
				cursor: pointer;
				width: fit-content;
				font-size: 4.5vw;
				text-align: center;
				border: 1px solid #000;
				border-radius: 100vmax;
				margin-inline: auto;
				margin-top: 3vw;
				padding: 1.5vw 6vw;
				.modBtn__text {
					position: relative;
					&:after {
						content: "+";
					}
				}
			}
			div.modIframe {
				/*iframe系*/
				> iframe {
					width: 100%;
					height: auto;
				}
			}
		}
	}



	/*
	* ＝＝＝＝＝＝＝＝＝＝ 他のイベントを探す ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_sub__searchField"] {
		.field_list {
			width: min(100%, 1200px);
			margin-inline: auto;
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_sub__searchField"] {
			padding-inline: 3vw;
		}
	}




	/*
	* ＝＝＝＝＝＝＝＝＝＝ 記事本文 ＝＝＝＝＝＝＝＝＝＝
	*/
	.entry_box {
		--itemSpace: min(3vw, 1.5rem);
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100vw;
		display: flex;
		align-items: center;
		gap: var(--itemSpace);
		background: #f5f5f5;
		border: 1px solid #ccc;
		padding-block: min(3vw, 1.5rem);
		padding-inline: min(3vw, 2.5rem) max(3vw, calc((100vw - 1400px)/2));
		z-index: 100;
		.event_title {
			font-size: min(4.25vw, 1.25rem);
			font-weight: 700;
		}
		.select_wrap {
			select[name^="entry_selectDate"] {
				background: #fff;
			}
		}
		> [class^="btnbox_link__entry"] {
			flex-shrink: 0;
			> a {
				white-space: nowrap;
			}
		}
		&.entry_box--anytime {
			justify-content: space-between;
		}
	}
	@media (min-width: 768px) {
		/*PC*/
		.entry_box {
			.event_title {
				flex-grow: 1;
			}
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		.entry_box {
			flex-wrap: wrap;
			.event_title {
				width: 100%;
				text-align: center;
			}
			.select_wrap {
				width: calc( 50% - var(--itemSpace)/2);
				select[name^="entry_selectDate"] {
					width: 100%;
					font-size: 3vw;
				}
			}
			button[name="entry_selectSubmit"] {
				width: calc( 50% - var(--itemSpace)/2);
			}
			&.entry_box--anytime {
				> [class^="btnbox_link__entry"] {
					width: 100%;
					> a {
						width: 100%;
						justify-content: center;
					}
				}
			}
		}
	}
}

body {
	&:has( main.main--eventDetailItem > .entry_box ) {
		padding-bottom: min(12svh, 50rem);
	}
}








/*
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝ 無料送迎バスページ ＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝ あなたの街で説明会 ＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
*/
[class*="main--moreEvent"] {
	[class^="section_area"] {
		h2[class^="content_subtitle"] {
			margin-bottom: min(6vw, 3rem);
		}
	}
	/*
	* ＝＝＝＝＝＝＝＝＝＝ あなたの住む街から〜 ／ 遠方にお住まいの方向け ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__about"] {
		margin-block: min(10vw, 5rem);
		.about_box {
			display: flex;
			gap: min(6vw, 5rem);
			> .txtwrap {
			}
			> .photo {
				img {
					width: 100%;
					border-radius: min(3vw, 0.5rem);
				}
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
		[class^="section_area__about"] {
			.txtwrap {
				flex: 1;
			}
			.photo {
				flex: 1;
			}
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__about"] {
			.about_box {
				flex-direction: column;
				padding-inline: 6vw;
			}
		}
	}



	/*
	* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ お知らせ ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__information"] {
		margin-block: min(10vw, 5rem);
		.txt {
			> .caution_txt {
				color: var(--pageColor_base);
				font-size: min(4.5vw, 1.15rem);
				font-weight: 700;
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__information"] {
			padding-inline: 6vw;
		}
	}



	/*
	* ＝＝＝＝＝＝＝＝＝＝ 運行スケジュール ／ 開催日程 ＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__schedule"] {
		margin-block: min(10vw, 5rem);
		.schedule_box {
			background: #f5f5f5;
			border-radius: min(3vw, 0.5rem);
			padding: min(3vw, 2.5rem);
			.area_list {
				display: grid;
				grid-template-columns: var(--schedule_areaGrid, repeat(7, minmax(0, 1fr)));
				gap: min(3vw, 1rem);
				> [class^="area"] {
					button[class^="tabPanel_trigger"] {
						width: 100%;
						height: 100%;
						background: var(--tabTrigger_bg, #fff);
						border: 2px solid var(--tabTrigger_bd, #fff);
						color: var(--tabTrigger_text, #555);
						border-radius: min(2vw, 0.25rem);
						font-size: min(3.5vw, 1rem);
						text-align: center;
						align-content: center;
						padding-block: min(3vw, 0.75rem);
						padding-inline: min(3vw, 0.5rem);
						transition: background .3s, border .3s, color .3s;
						&.active {
							--tabTrigger_bg: var(--pageColor_base);
							--tabTrigger_bd: var(--pageColor_base);
							--tabTrigger_text: #fff;
						}
						&:not(.active) {
							&:hover {
								--tabTrigger_bg: color-mix(in srgb, var(--pageColor_base), #fff 50%);
								--tabTrigger_bd: color-mix(in srgb, var(--pageColor_base), #fff 50%);
							}
						}
					}
				}
			}
			.schedule_list {
				display: grid;
				grid-template-columns: var(--schedule_busGrid, repeat(3, minmax(0, 1fr)));
				gap: min(5vw, 2rem);
				margin-block: min(6vw, 2rem);
				&:not(:has( > *.active )) {
					&:after {
						content: "該当する無料送迎バスはございません。";
					}
				}
				> [class^="schedule"] {
					position: var(--scheduleItem_pos, absolute);
					visibility: var(--scheduleItem_visible, hidden);
					display: flex;
					flex-direction: column;
					border-radius: min(3vw, 0.75rem) min(3vw, 0.75rem) min(2vw, 0.5rem) min(2vw, 0.5rem);
					overflow: hidden;
					background: #fff;
					&.active {
						--scheduleItem_pos: relative;
						--scheduleItem_visible: visible;
					}
					.area_name {
						display: flex;
						justify-content: space-between;
						align-items: center;
						gap: min(3vw, 1rem);
						background: var(--pageColor_base);
						padding-block: min(2vw, 0.5rem);
						padding-inline: min(5vw, 1rem);
						> .area {
							font-size: min(4.5vw, 1rem);
							color: #fff;
						}
						> .prefecture {
							background: #fff;
							color: var(--pageColor_base);
							border-radius: min(1vw, 0.25rem);
							padding: min(1vw, 0.25rem) min(2vw, 0.5rem);
						}
					}
					.detailbox {
						flex-grow: 1;
						display: flex;
						flex-direction: column;
						padding: min(3vw, 1rem);
						> .date {
							font-size: min(5vw, 1.25rem);
							font-weight: 700;
							> .day {
								font-size: 0.75em;
							}
						}
						.schedule_info_databox {
							display: flex;
							flex-direction: column;
							gap: min(2vw, 0.75rem);
							margin-block: min(3vw, 1.25rem);
							> [class^="databox_box"] {
								display: flex;
								align-items: flex-start;
								gap: min(3vw, 1rem);
								> [class^="databox_title"] {
									font-weight: 400;
									background: #f5f5f5;
									text-align: center;
									align-content: center;
									padding: min(1vw, 0.25rem) min(2vw, 0.5rem);
								}
								> [class^="databox_content"] {
									font-weight: 700;
									align-content: center;
									padding-block: min(1vw, 0.25rem);
								}
								/*個別*/
								&[class^="databox_box__map"] {
									> [class^="databox_content"] {
										> a {
											display: flex;
											align-items: center;
											gap: min(1vw, 0.25rem);
											&:after {
												font-family: var(--pageFont_icon);
												font-weight: 500;
												content: "\f2d2";
											}
										}
									}
								}
								&[class^="databox_box__notes"] {
									> [class^="databox_content"] {
										font-size: min(3vw, 0.85rem);
										font-weight: 400;
									}
									
								}
							}
						}
						> [class^="btnbox"] {
							--custom_btnbox_pdY: min(1.5vw, 0.5rem);
							margin-top: auto;
						}
					}
				}
			}
		}
		
	}
	@media (min-width: 768px) {
		/*PC*/
		[class^="section_area__schedule"] {
			.schedule_box {
				.area_list {
				}
				.schedule_list {
					> [class^="schedule"] {
						.schedule_info_databox {
							> [class^="databox_box"] {
								> [class^="databox_title"] {
									flex: 1;
								}
								> [class^="databox_content"] {
									flex: 3;
								}
							}
						}
					}
				}
			}
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__schedule"] {
			padding-inline: 6vw;
			.schedule_box {
				--schedule_busGrid: 1fr;
				.area_list {
					--schedule_areaGrid: repeat(4, minmax(0, 1fr));
				}
				.schedule_list {
					> [class^="schedule"] {
						.schedule_info_databox {
							> [class^="databox_box"] {
								> [class^="databox_title"] {
									flex: 1;
								}
								> [class^="databox_content"] {
									flex: 3;
								}
							}
						}
					}
				}
			}
		}
	}



	/*
	* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ 予約方法 ／ お問合せ ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__booking"] {
		margin-block: min(10vw, 5rem);
		.booking_list {
			display: grid;
			grid-template-columns: var(--bookingGrid_clm, repeat(3, minmax(0, 1fr)));
			gap: min(3vw, 2.5rem);
			margin-block: min(3vw, 1.5rem);
			> [class^="booking"] {
				background: #f5f5f5;
				border-radius: min(2vw, 0.5rem);
				padding: min(6vw, 1.5rem);
				> .title {
					--pdB: min(6vw, 2.5rem);
					position: relative;
					font-size: min(5vw, 1.5rem);
					font-weight: 700;
					text-align: center;
					padding-bottom: var(--pdB);
					&:after {
						position: absolute;
						bottom: 0;
						left: 50%;
						transform: translate(-50%, calc(-1 * var(--pdB)/2 - 50%));
						content: "";
						width: min(6vw, 4rem);
						height: 1px;
						background: #333;
					}
				}
				> [class^="btnbox"] {
					max-width: 20rem;
					text-align: center;
					margin-block: 0 min(3vw, 1.5rem);
					margin-inline: auto;
				}
				> a.phone {
					display: block;
					font-family: var(--pageFont_engGothic01);
					font-size: min(7vw, 2rem);
					font-weight: 700;
					text-align: center;
					margin-block: 0 min(3vw, 1rem);
					margin-inline: auto;
				}
				> .txt {
					font-size: min(3vw, 0.85rem);
					font-weight: 400;
				}
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__booking"] {
			padding-inline: 6vw;
			.booking_list {
				--bookingGrid_clm: 1fr;
			}
		}
	}



	/*
	* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ 確認・注意事項 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__precautions"] {
		margin-block: min(10vw, 5rem);
		.precations_databox {
			--bd_color: #ccc;
			--radius_size: min(2vw, 0.5rem);
			> [class^="databox_box"] {
				display: flex;
				border-top: 1px solid var(--bd_color);
				border-left: 1px solid var(--bd_color);
				border-right: 1px solid var(--bd_color);
				overflow: hidden;
				&:first-child {
					border-radius: var(--radius_size) var(--radius_size) 0 0;
				}
				&:last-child {
					border-bottom: 1px solid var(--bd_color);
					border-radius: 0 0 var(--radius_size) var(--radius_size);
				}
				> [class^="databox_title"] {
					flex: 1;
					background: #f5f5f5;
					font-weight: 700;
					text-align: center;
					align-content: center;
					padding-block: min(3vw, 1.25rem);
				}
				> [class^="databox_content"] {
					flex: var(--precaution_cotentSize, 4);
					align-content: center;
					border-left: 1px solid var(--bd_color);
					padding-block: min(3vw, 1.25rem);
					padding-inline: min(3vw, 1rem);
					.caution_list {
						list-style-type: disc;
						line-height: 1.75;
						padding-left: min(3vw, 1.25rem);
						> [class^="caution"] {
							list-style-type: disc;
							&::marker {
								color: var(--pageColor_base);
							}
						}
					}
				}
			}
		}
		
	}
	@media (min-width: 768px) {
		/*PC*/
		[class^="section_area__precautions"] {
			.precations_databox {
				> [class^="databox_box"] {
					> [class^="databox_title"] {
						
					}
					> [class^="databox_content"] {

					}
				}
			}
			
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__precautions"] {
			padding-inline: 6vw;
			.precations_databox {
				--precaution_cotentSize: 3;
				> [class^="databox_box"] {
					> [class^="databox_title"] {
						font-size: 3.5vw;
					}
					> [class^="databox_content"] {
						font-size: 3vw;
					}
				}
			}
		}
	}



	/*
	* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ その他の遠方の方向けのサポート ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__moreSupport"] {
		margin-block: min(10vw, 5rem);
		.bnr_list {
			display: grid;
			grid-template-columns: var(--supportBnrGrid_clm, repeat(2, minmax(0, 1fr)));
			gap: min(3vw, 2.5rem);
			> [class^="bnr"] {
				border: 2px solid var(--pageColor_base);
				border-radius: min(3vw, 0.5rem);
				overflow: hidden;
				> a {
					display: block;
					transition: scale .3s;
					&:hover {
						scale: 1.1;
					}
				}
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__moreSupport"] {
			padding-inline: 6vw;
			.bnr_list {
				--supportBnrGrid_clm: 1fr;
			}
		}
	}
}










/*
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝ 個別： 無料送迎バスページ ＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
*/
[class*="main--moreEvent_freeBus"] {

}










/*
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝ 個別： あなたの街で説明会 ＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
*/
[class*="main--moreEvent_guidance"] {
	/*
	* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ 予約方法 ／ お問合せ ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__booking"] {
	}
	@media (min-width: 768px) {
		/*PC*/
		[class^="section_area__booking"] {
			.booking_list {
				--bookingGrid_clm: repeat(2, minmax(0, 1fr));
			}
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__booking"] {
			.booking_list {
				--bookingGrid_clm: 1fr;
			}
		}
	}
}










/*
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝ 個別： 交通費サポート ＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
*/
[class*="main--moreEvent_carfareSupport"] {
	/*
	* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ 予約方法 ／ お問合せ ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__booking"] {
	}
	@media (min-width: 768px) {
		/*PC*/
		[class^="section_area__booking"] {
			.booking_list {
				--bookingGrid_clm: repeat(2, minmax(0, 1fr));
			}
		}
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__booking"] {
			.booking_list {
				--bookingGrid_clm: 1fr;
			}
		}
	}

	/*
	* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ サポート金額一覧 ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	*/
	[class^="section_area__schedule"] {
		.table_scroll {
			overflow-x: auto;
			-webkit-overflow-scrolling: touch;
		}
		table.support_price_table {
			width: 100%;
			min-width: 320px;
			border-collapse: collapse;
			thead {
				th {
					background: var(--pageColor_base);
					color: #fff;
					font-weight: 700;
					text-align: center;
					border: 1px solid var(--pageColor_base);
					padding: min(3vw, 1rem);
				}
			}
			tbody {
				th, td {
					border: 1px solid #ccc;
					text-align: center;
					vertical-align: middle;
					padding: min(3vw, 1rem);
				}
				th.prefecture {
					background: #f5f5f5;
					font-weight: 700;
				}
				td.price {
					font-weight: 700;
					color: var(--pageColor_base);
				}
			}
		}
	}
	@media (min-width: 768px) {
		/*PC*/
	}
	@media (max-width: 767px) {
		/*SP*/
		[class^="section_area__schedule"] {
			table.support_price_table {
				font-size: 3.5vw;
			}
		}
	}
}










		


/*
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝ フッターバナースライダー ＝＝＝＝＝＝＝＝＝＝
* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
*/
.p-footSlider {
	width: min(640px, 100%);
	margin: 0 auto;
	padding: 0 10px;
	.p-footSlider__bg {
		margin-bottom: 50px;
		background-color: #f6f6f6;
		padding: 15px 0;
		border-radius: 20px;
	}
	.p-footSlider__inner {
		overflow-x: scroll;
		padding-bottom: 10px;
		cursor: pointer;
		&::-webkit-scrollbar {
			display: block;
			width: 6px;
			height: 6px;
			margin-top: 10px;
		}
		&::-webkit-scrollbar-thumb {
			background: #4661d9;
		}
		&::-webkit-scrollbar-track {
			background: #d7dbdf;
		}
	}
	.p-footSlider__list {
		width: fit-content;
		display: flex;
	}
	.p-footSlider__item {
		width: 191px;
		margin-right: 10px;
	}
	.p-footSlider__container {
		display: none;
		width: 100%;
		height: 4px;
		background: #d7dbdf;
		overflow: hidden;
	}
	.p-footSlider__container-inner {
		width: 0;
		height: 100%;
		background: #4661d9;
	}
}
@media (min-width: 768px) {
	/*PC*/
}
@media (max-width: 767px) {
	/*SP*/
	.p-footSlider {
		.p-footSlider__inner {
			padding-bottom: 10px;
			&::-webkit-scrollbar {
				display: none;
			}
		}
		.p-footSlider__item {
			width: clsp(125);
		}
		.p-footSlider__container {
			display: block;
		}
	}
}